@euqns/nudge-mcp 0.7.0 → 0.9.0

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.
@@ -6,6 +6,7 @@ import { createRequire } from "node:module";
6
6
  import path from "node:path";
7
7
  import readline from "node:readline";
8
8
  import { fileURLToPath } from "node:url";
9
+ import { NUDGE_MCP_VERSION } from "./version.js";
9
10
  const DEFAULT_APP_URL = "https://funjitsu-nudge.vercel.app";
10
11
  const DEFAULT_PORT = 47653;
11
12
  const MAX_BODY_BYTES = 64 * 1024;
@@ -73,7 +74,7 @@ class CodexMetadataClient {
73
74
  clientInfo: {
74
75
  name: "nudge-companion",
75
76
  title: "Nudge Local Codex",
76
- version: "0.6.11",
77
+ version: NUDGE_MCP_VERSION,
77
78
  },
78
79
  capabilities: {
79
80
  experimentalApi: true,
@@ -393,7 +394,7 @@ export function subscriptionEnvironment() {
393
394
  ]);
394
395
  return Object.fromEntries(Object.entries(process.env).filter((entry) => entry[1] !== undefined && !blocked.has(entry[0])));
395
396
  }
396
- function companionMcpTransport() {
397
+ export function companionMcpTransport() {
397
398
  const companionFile = fileURLToPath(import.meta.url);
398
399
  const runningFromTypeScript = companionFile.endsWith(".ts");
399
400
  const entrypoint = path.join(path.dirname(companionFile), runningFromTypeScript ? "index.ts" : "index.js");
@@ -1 +1 @@
1
- {"version":3,"file":"codex-companion.js","sourceRoot":"","sources":["../src/codex-companion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-companion.js","sourceRoot":"","sources":["../src/codex-companion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ // Claude Code engine — drives the `claude` CLI in headless mode.
2
+ //
3
+ // Two output modes are used, deliberately:
4
+ // triage → --output-format json --json-schema … (one shot, structured)
5
+ // execute → --output-format stream-json --verbose (NDJSON, streamed to logs)
6
+ //
7
+ // Unlike Codex, Claude Code reports a dollar figure (`total_cost_usd`) on the
8
+ // terminal `result` event, so jobs on this engine carry a real measured cost
9
+ // rather than just token counts.
10
+ import { spawn, spawnSync } from "node:child_process";
11
+ import readline from "node:readline";
12
+ import { claudeMcpConfig } from "./isolation.js";
13
+ import { TRIAGE_SCHEMA, buildTriagePrompt, coerceVerdict, } from "./types.js";
14
+ const CLI = process.platform === "win32" ? "claude.cmd" : "claude";
15
+ function readUsage(usage) {
16
+ return {
17
+ inputTokens: usage?.input_tokens ?? 0,
18
+ outputTokens: usage?.output_tokens ?? 0,
19
+ cachedInputTokens: usage?.cache_read_input_tokens,
20
+ cacheCreationTokens: usage?.cache_creation_input_tokens,
21
+ };
22
+ }
23
+ // Run the CLI, feeding the prompt on stdin so a long task description can
24
+ // never collide with argv length limits or shell quoting.
25
+ function runClaude(args, options, onLine) {
26
+ return new Promise((resolve, reject) => {
27
+ const child = spawn(CLI, args, {
28
+ cwd: options.cwd,
29
+ stdio: ["pipe", "pipe", "pipe"],
30
+ env: process.env,
31
+ });
32
+ let stdout = "";
33
+ let stderr = "";
34
+ if (onLine) {
35
+ const lines = readline.createInterface({
36
+ input: child.stdout,
37
+ crlfDelay: Infinity,
38
+ });
39
+ lines.on("line", (line) => {
40
+ if (line.trim())
41
+ onLine(line);
42
+ });
43
+ }
44
+ else {
45
+ child.stdout.on("data", (chunk) => {
46
+ stdout += chunk.toString("utf8");
47
+ });
48
+ }
49
+ child.stderr.on("data", (chunk) => {
50
+ // Bounded — a chatty stderr must not grow without limit.
51
+ stderr = `${stderr}${chunk.toString("utf8")}`.slice(-8_000);
52
+ });
53
+ const onAbort = () => child.kill("SIGTERM");
54
+ options.signal.addEventListener("abort", onAbort, { once: true });
55
+ child.once("error", (err) => {
56
+ options.signal.removeEventListener("abort", onAbort);
57
+ reject(err);
58
+ });
59
+ child.once("close", (code) => {
60
+ options.signal.removeEventListener("abort", onAbort);
61
+ resolve({ stdout, code, stderr });
62
+ });
63
+ child.stdin.write(options.prompt);
64
+ child.stdin.end();
65
+ });
66
+ }
67
+ // Turn one stream-json event into a readable log line, or null for noise.
68
+ // `thinking_tokens` ticks and rate-limit pings are dropped — they'd bury the
69
+ // actual actions in a job log people read to see what happened.
70
+ function describeEvent(event) {
71
+ const type = event.type;
72
+ if (type === "system" && event.subtype === "init") {
73
+ const cwd = typeof event.cwd === "string" ? event.cwd : "";
74
+ return `Claude Code session started in ${cwd}`;
75
+ }
76
+ if (type === "assistant" || type === "user") {
77
+ const message = event.message;
78
+ const blocks = Array.isArray(message?.content) ? message.content : [];
79
+ const lines = [];
80
+ for (const raw of blocks) {
81
+ const block = raw;
82
+ if (block.type === "text" && typeof block.text === "string" && block.text.trim()) {
83
+ lines.push(`\n${block.text.trim()}\n`);
84
+ }
85
+ else if (block.type === "tool_use") {
86
+ lines.push(`▸ ${String(block.name)} ${compactInput(block.input)}`);
87
+ }
88
+ else if (block.type === "tool_result" && block.is_error) {
89
+ lines.push(` ↳ error: ${textOf(block.content).slice(0, 800)}`);
90
+ }
91
+ }
92
+ return lines.length ? lines.join("\n") : null;
93
+ }
94
+ return null;
95
+ }
96
+ function compactInput(input) {
97
+ if (!input || typeof input !== "object")
98
+ return "";
99
+ const entries = Object.entries(input)
100
+ .map(([k, v]) => `${k}=${String(v).replace(/\s+/g, " ").slice(0, 120)}`)
101
+ .join(" ");
102
+ return entries.slice(0, 300);
103
+ }
104
+ function textOf(content) {
105
+ if (typeof content === "string")
106
+ return content;
107
+ if (!Array.isArray(content))
108
+ return "";
109
+ return content
110
+ .map((b) => {
111
+ const block = b;
112
+ return typeof block.text === "string" ? block.text : "";
113
+ })
114
+ .join("\n");
115
+ }
116
+ export class ClaudeEngine {
117
+ id = "claude";
118
+ displayName = "Claude Code";
119
+ async detect() {
120
+ const result = spawnSync(CLI, ["--version"], {
121
+ encoding: "utf8",
122
+ stdio: ["ignore", "pipe", "pipe"],
123
+ });
124
+ if (result.error || result.status !== 0) {
125
+ return { available: false, detail: "claude CLI not found" };
126
+ }
127
+ return { available: true, detail: (result.stdout ?? "").trim() };
128
+ }
129
+ async triage(options) {
130
+ const args = [
131
+ "-p",
132
+ "--output-format",
133
+ "json",
134
+ "--json-schema",
135
+ JSON.stringify(TRIAGE_SCHEMA),
136
+ // Read-only by construction: the tools that mutate anything are denied
137
+ // outright, so a triage turn physically cannot edit the checkout.
138
+ "--disallowedTools",
139
+ "Edit",
140
+ "Write",
141
+ "NotebookEdit",
142
+ "Bash",
143
+ "--permission-mode",
144
+ "bypassPermissions",
145
+ // Exactly one MCP server, and nothing from the user's global Claude
146
+ // config. Without --strict-mcp-config a job inherits whatever servers
147
+ // that machine happens to have configured — an unreachable one fails the
148
+ // whole run before the agent does anything.
149
+ "--mcp-config",
150
+ claudeMcpConfig(),
151
+ "--strict-mcp-config",
152
+ ];
153
+ if (options.model)
154
+ args.push("--model", options.model);
155
+ if (options.effort)
156
+ args.push("--effort", options.effort);
157
+ const { stdout, stderr, code } = await runClaude(args, {
158
+ prompt: buildTriagePrompt(options.prompt),
159
+ cwd: options.cwd,
160
+ signal: options.signal,
161
+ });
162
+ if (code !== 0 && !stdout.trim()) {
163
+ throw new Error(`claude triage exited ${code}: ${stderr.trim().slice(-500)}`);
164
+ }
165
+ let parsed = null;
166
+ try {
167
+ parsed = JSON.parse(stdout);
168
+ }
169
+ catch {
170
+ parsed = null;
171
+ }
172
+ // Prefer the schema-validated object; fall back to parsing the text.
173
+ const raw = parsed?.structured_output ?? parsed?.result ?? stdout;
174
+ return { verdict: coerceVerdict(raw), usage: readUsage(parsed?.usage) };
175
+ }
176
+ async execute(options) {
177
+ const args = [
178
+ "-p",
179
+ "--output-format",
180
+ "stream-json",
181
+ // stream-json is rejected without --verbose in print mode.
182
+ "--verbose",
183
+ "--permission-mode",
184
+ "bypassPermissions",
185
+ // Exactly one MCP server, and nothing from the user's global Claude
186
+ // config. Without --strict-mcp-config a job inherits whatever servers
187
+ // that machine happens to have configured — an unreachable one fails the
188
+ // whole run before the agent does anything.
189
+ "--mcp-config",
190
+ claudeMcpConfig(),
191
+ "--strict-mcp-config",
192
+ ];
193
+ if (options.model)
194
+ args.push("--model", options.model);
195
+ if (options.effort)
196
+ args.push("--effort", options.effort);
197
+ // Resume the same conversation on a re-run so the agent keeps its context.
198
+ if (options.threadId)
199
+ args.push("--resume", options.threadId);
200
+ let result = null;
201
+ const { stderr, code } = await runClaude(args, { prompt: options.prompt, cwd: options.cwd, signal: options.signal }, (line) => {
202
+ let event;
203
+ try {
204
+ event = JSON.parse(line);
205
+ }
206
+ catch {
207
+ return;
208
+ }
209
+ if (event.type === "result") {
210
+ result = event;
211
+ return;
212
+ }
213
+ const text = describeEvent(event);
214
+ if (text)
215
+ options.log("event", text);
216
+ });
217
+ if (!result) {
218
+ throw new Error(`claude produced no result (exit ${code}): ${stderr.trim().slice(-500)}`);
219
+ }
220
+ // TS narrows `result` to never through the closure assignment; the guard
221
+ // above proves it is set, so re-widen explicitly.
222
+ const final = result;
223
+ const usage = readUsage(final.usage);
224
+ if (final.total_cost_usd !== undefined) {
225
+ options.log("event", `turn complete — ${usage.inputTokens} in / ${usage.outputTokens} out tokens · $${final.total_cost_usd.toFixed(4)}`);
226
+ }
227
+ return {
228
+ summary: typeof final.result === "string" ? final.result : "",
229
+ threadId: final.session_id,
230
+ usage,
231
+ costUsd: final.total_cost_usd,
232
+ // Claude Code computes the figure itself, so this is measured, not modelled.
233
+ costBasis: final.total_cost_usd === undefined ? "subscription" : "reported",
234
+ error: final.is_error
235
+ ? (final.subtype ?? "claude reported an error")
236
+ : undefined,
237
+ };
238
+ }
239
+ }
240
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/engines/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ // Codex engine — OpenAI's Codex CLI driven through @openai/codex-sdk, using the
2
+ // user's ChatGPT subscription. Shares its bootstrap (subscription-only auth,
3
+ // Nudge MCP wiring) with the browser companion in ../codex-companion.ts.
4
+ import { Codex, } from "@openai/codex-sdk";
5
+ import { spawnSync } from "node:child_process";
6
+ import { companionCodexConfig, subscriptionEnvironment, } from "../codex-companion.js";
7
+ import { ensureCodexShadowHome } from "./isolation.js";
8
+ import { estimateCostUsd } from "./pricing.js";
9
+ import { TRIAGE_SCHEMA, buildTriagePrompt, coerceVerdict, emptyUsage, } from "./types.js";
10
+ function threadOptions(options, mode, fallback) {
11
+ return {
12
+ sandboxMode: mode,
13
+ // Headless by design — nothing here can answer an approval prompt.
14
+ approvalPolicy: "never",
15
+ skipGitRepoCheck: true,
16
+ workingDirectory: options.cwd,
17
+ model: options.model ?? fallback?.model ?? undefined,
18
+ modelReasoningEffort: (options.effort ?? fallback?.effort ?? undefined),
19
+ };
20
+ }
21
+ // Reduce a Codex item to one readable log line. Reasoning is dropped on
22
+ // purpose — the job log records what the agent *did*.
23
+ function describeItem(item) {
24
+ switch (item.type) {
25
+ case "agent_message":
26
+ return item.text ? `\n${item.text}\n` : null;
27
+ case "command_execution":
28
+ return item.status === "failed" || (item.exit_code ?? 0) !== 0
29
+ ? `$ ${item.command}\n ↳ exit ${item.exit_code ?? "?"}\n${item.aggregated_output.slice(-2_000)}`
30
+ : `$ ${item.command}`;
31
+ case "file_change":
32
+ return `${item.status === "failed" ? "failed to edit" : "edited"} ${item.changes
33
+ .map((c) => `${c.kind} ${c.path}`)
34
+ .join(", ")}`;
35
+ case "mcp_tool_call":
36
+ return `tool ${item.server}.${item.tool} → ${item.status}`;
37
+ case "web_search":
38
+ return `search "${item.query}"`;
39
+ case "todo_list":
40
+ return item.items
41
+ .map((t) => ` [${t.completed ? "x" : " "}] ${t.text}`)
42
+ .join("\n");
43
+ case "error":
44
+ return `error: ${item.message}`;
45
+ default:
46
+ return null;
47
+ }
48
+ }
49
+ export class CodexEngine {
50
+ id = "codex";
51
+ displayName = "Codex";
52
+ codex = null;
53
+ home = null;
54
+ client() {
55
+ if (!this.codex) {
56
+ throw new Error("CodexEngine.prepare() must run before a turn");
57
+ }
58
+ return this.codex;
59
+ }
60
+ // Built once per job rather than once per process, so the shadow home's auth
61
+ // link is refreshed before every run.
62
+ async prepare() {
63
+ const codexHome = await ensureCodexShadowHome();
64
+ this.home = codexHome;
65
+ this.codex = new Codex({
66
+ config: companionCodexConfig(),
67
+ env: {
68
+ ...subscriptionEnvironment(),
69
+ // Point Codex at the runner's own home so `~/.codex/config.toml` — with
70
+ // whatever MCP servers, plugins, and notify hooks the user has for
71
+ // interactive use — is never loaded into a job.
72
+ CODEX_HOME: codexHome.path,
73
+ },
74
+ });
75
+ }
76
+ // Available only on a ChatGPT login. An API-key login would silently bill
77
+ // per token, which is exactly what the subscription-only design avoids.
78
+ async detect() {
79
+ const command = process.platform === "win32" ? "codex.cmd" : "codex";
80
+ const result = spawnSync(command, ["login", "status"], {
81
+ encoding: "utf8",
82
+ stdio: ["ignore", "pipe", "pipe"],
83
+ });
84
+ if (result.error) {
85
+ return { available: false, detail: "codex CLI not found" };
86
+ }
87
+ const status = `${result.stdout ?? ""}\n${result.stderr ?? ""}`.trim();
88
+ if (!status.includes("Logged in using ChatGPT")) {
89
+ return {
90
+ available: false,
91
+ detail: "codex is installed but not logged in with ChatGPT",
92
+ };
93
+ }
94
+ return { available: true, detail: "ChatGPT login" };
95
+ }
96
+ async triage(options) {
97
+ await this.prepare();
98
+ // read-only: triage must not be able to touch the checkout.
99
+ const thread = this.client().startThread(threadOptions(options, "read-only", this.home));
100
+ const usage = emptyUsage();
101
+ let text = "";
102
+ const streamed = await thread.runStreamed(buildTriagePrompt(options.prompt), {
103
+ signal: options.signal,
104
+ outputSchema: TRIAGE_SCHEMA,
105
+ });
106
+ for await (const event of streamed.events) {
107
+ if (event.type === "item.completed" && event.item.type === "agent_message") {
108
+ text = event.item.text;
109
+ }
110
+ else if (event.type === "turn.completed") {
111
+ usage.inputTokens += event.usage.input_tokens;
112
+ usage.outputTokens += event.usage.output_tokens;
113
+ usage.cachedInputTokens =
114
+ (usage.cachedInputTokens ?? 0) + event.usage.cached_input_tokens;
115
+ usage.reasoningTokens =
116
+ (usage.reasoningTokens ?? 0) + event.usage.reasoning_output_tokens;
117
+ }
118
+ }
119
+ return { verdict: coerceVerdict(text), usage };
120
+ }
121
+ async execute(options) {
122
+ await this.prepare();
123
+ const opts = threadOptions(options, "workspace-write", this.home);
124
+ const thread = options.threadId
125
+ ? this.client().resumeThread(options.threadId, opts)
126
+ : this.client().startThread(opts);
127
+ const usage = emptyUsage();
128
+ let summary = "";
129
+ let threadId = options.threadId ?? undefined;
130
+ let error;
131
+ const streamed = await thread.runStreamed(options.prompt, {
132
+ signal: options.signal,
133
+ });
134
+ for await (const event of streamed.events) {
135
+ if (event.type === "thread.started") {
136
+ threadId = event.thread_id;
137
+ }
138
+ else if (event.type === "item.completed") {
139
+ const line = describeItem(event.item);
140
+ if (line)
141
+ options.log("event", line);
142
+ if (event.item.type === "agent_message")
143
+ summary = event.item.text;
144
+ }
145
+ else if (event.type === "turn.failed") {
146
+ error = event.error.message;
147
+ options.log("stderr", `turn failed: ${event.error.message}`);
148
+ }
149
+ else if (event.type === "error") {
150
+ error = event.message;
151
+ options.log("stderr", event.message);
152
+ }
153
+ else if (event.type === "turn.completed") {
154
+ usage.inputTokens += event.usage.input_tokens;
155
+ usage.outputTokens += event.usage.output_tokens;
156
+ usage.cachedInputTokens =
157
+ (usage.cachedInputTokens ?? 0) + event.usage.cached_input_tokens;
158
+ usage.reasoningTokens =
159
+ (usage.reasoningTokens ?? 0) + event.usage.reasoning_output_tokens;
160
+ options.log("event", `turn complete — ${event.usage.input_tokens} in / ${event.usage.output_tokens} out tokens`);
161
+ }
162
+ }
163
+ // A ChatGPT-plan run isn't billed per token, but the tokens are real —
164
+ // price them at list rates so a job still shows what it was worth. Flagged
165
+ // `estimated` so the UI never presents it as an actual charge.
166
+ const model = options.model ?? this.home?.model ?? null;
167
+ const estimate = estimateCostUsd(model, usage);
168
+ if (estimate !== null) {
169
+ options.log("event", `estimated list-price cost for this run: $${estimate.toFixed(4)} (not billed — ChatGPT plan)`);
170
+ }
171
+ return {
172
+ summary,
173
+ threadId,
174
+ usage,
175
+ costUsd: estimate ?? undefined,
176
+ costBasis: estimate === null ? "subscription" : "estimated",
177
+ error,
178
+ };
179
+ }
180
+ }
181
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/engines/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ // Engine registry and startup detection.
2
+ import { ClaudeEngine } from "./claude.js";
3
+ import { CodexEngine } from "./codex.js";
4
+ export * from "./types.js";
5
+ export { CodexEngine } from "./codex.js";
6
+ export { ClaudeEngine } from "./claude.js";
7
+ export function allEngines() {
8
+ return [new CodexEngine(), new ClaudeEngine()];
9
+ }
10
+ // Probe every engine once at startup. The runner reports the available ids to
11
+ // the server, which then only offers this machine jobs it can actually run —
12
+ // so a box with Codex but no Claude Code never claims a Claude job and burns
13
+ // its retry budget failing.
14
+ export async function detectEngines() {
15
+ return await Promise.all(allEngines().map(async (engine) => {
16
+ try {
17
+ const { available, detail } = await engine.detect();
18
+ return { engine, available, detail };
19
+ }
20
+ catch (err) {
21
+ return {
22
+ engine,
23
+ available: false,
24
+ detail: err instanceof Error ? err.message : String(err),
25
+ };
26
+ }
27
+ }));
28
+ }
29
+ export function pickEngine(detected, id) {
30
+ const match = detected.find((d) => d.engine.id === id && d.available);
31
+ return match?.engine ?? null;
32
+ }
33
+ //# sourceMappingURL=index.js.map