@euqns/nudge-mcp 1.37.0 → 1.39.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.
package/README.md CHANGED
@@ -682,25 +682,39 @@ TOML overrides. Desktop MCP servers remain isolated unless explicitly enabled.
682
682
 
683
683
  ### T3 Code desktop runner threads
684
684
 
685
- When T3 Code is running on the runner's machine, new jobs automatically create
686
- a thread under the matching checkout's T3 project (creating the project if
687
- needed). Look for **Nudge · running · Board · task …** in the T3 Code sidebar.
688
- Open that thread's **terminal drawer** to watch the task prompt and live runner
689
- output. The title changes to the final job status, including `needs human`;
690
- retries and resumed jobs reuse the same thread.
691
-
692
- This is a view of the external Nudge runner. Output appears in the terminal,
693
- not as messages in T3's conversation pane. Continue to answer questions, steer,
694
- or cancel the job in Nudge. The integration does not start a T3 agent turn or
695
- attach T3's composer to the runner's agent session.
685
+ When T3 Code is running on the runner's machine, new **Codex** jobs on macOS
686
+ and Linux execute through T3 itself. Look for **Nudge · running · Board · task …**
687
+ under the matching checkout's project. Open the thread to see the prompt,
688
+ streaming responses, and tool activity in the conversation pane. Nudge receives
689
+ the final answer and token usage, and updates the title with the job status.
690
+
691
+ Nudge resumes and steers these jobs in the same T3 conversation. Cancelling or
692
+ steering a job in Nudge interrupts its T3 turn. Keep using Nudge for job questions,
693
+ review, and scheduling; T3's composer also operates the underlying conversation,
694
+ but does not create or reopen a Nudge job. Completed conversations remain
695
+ readable in T3. Their dedicated Nudge provider is disabled after completion so
696
+ it disappears from the model picker; resume the job through Nudge to reactivate
697
+ it automatically. Active jobs and jobs waiting for human input keep their provider.
698
+
699
+ The Codex bridge preserves the runner's Nudge MCP tools and sandbox: intake and
700
+ question turns stay read-only, ordinary tasks use workspace-write, and jobs that
701
+ explicitly need repository/network actions retain their existing access. T3 gets
702
+ a separate Codex provider instance per conversation using Nudge's isolated Codex
703
+ home. Job credentials live in an owner-only context under `~/.nudge/t3-native`,
704
+ are removed when execution ends, and are never put in T3 titles or prompts.
705
+
706
+ Claude, Cursor, Windows, and conversations originally started by an external CLI
707
+ continue using the terminal log view. Their previous conversation IDs are kept
708
+ with the original engine. Existing log-only threads and jobs already running
709
+ are not converted or backfilled.
696
710
 
697
711
  Discovery reads `~/.t3/userdata/server-runtime.json` (or the `dev` variant) and
698
712
  only connects over loopback. On macOS it finds T3 Code or T3 Code (Nightly) in
699
713
  `/Applications` or `~/Applications`; other installs need a `t3` executable on
700
- the runner's `PATH`. The installed CLI issues a short-lived local session for
701
- each update and revokes it afterward; credentials are not saved by Nudge.
702
- The terminal log viewer supports macOS/Linux. Windows gets the thread and
703
- status updates, with its log saved locally.
714
+ the runner's `PATH`. The installed CLI issues an expiring local session and
715
+ revokes it afterward (24 hours maximum for native execution, five minutes for
716
+ status updates). T3 API credentials are held in memory. Windows gets the fallback
717
+ thread and status updates, with its log saved locally.
704
718
 
705
719
  | Runner environment variable | Purpose |
706
720
  | --- | --- |
@@ -708,11 +722,13 @@ status updates, with its log saved locally.
708
722
  | `T3CODE_HOME=/path/to/.t3` | Find a nonstandard T3 data directory. |
709
723
  | `NUDGE_T3_CLI=/path/to/t3` | Use a specific installed T3 CLI or executable wrapper. |
710
724
 
711
- T3 must be open before the job starts; jobs already in progress are not
712
- backfilled. Missing T3 is silently skipped. An incompatible or unreachable T3
713
- reports a warning and the runner continues. Verified against T3 Code Nightly
714
- `0.0.41-nightly.20260908.1400`; this requires its HTTP orchestration and terminal
715
- RPC interfaces. Local JSONL logs are owner-only under `~/.nudge/t3-logs` and
725
+ T3 must be open before the job starts. Missing T3 is silently skipped for new
726
+ jobs. A native conversation must resume in its original T3 environment; if that
727
+ environment is unavailable, the job reports an error. Once a native turn has
728
+ been submitted, the runner never falls back to a second CLI agent. Verified
729
+ against T3 Code Nightly `0.0.41-nightly.20260908.1400`; native execution requires
730
+ its HTTP orchestration and provider settings RPC interfaces. Fallback JSONL
731
+ logs are owner-only under `~/.nudge/t3-logs` and
716
732
  retain up to 8 MiB of live output per run, followed by its final result.
717
733
  They remain available after completion and can be removed when no longer needed.
718
734
 
@@ -0,0 +1,101 @@
1
+ // T3 owns the app-server connection. This transparent stdio bridge applies the
2
+ // runner's MCP identity and sandbox to that connection, preserving native events.
3
+ import { spawn } from "node:child_process";
4
+ import { readFile, writeFile } from "node:fs/promises";
5
+ import { createInterface } from "node:readline";
6
+ import { fileURLToPath } from "node:url";
7
+ import { bundledCodexCommand, companionCodexConfig, subscriptionEnvironment } from "./codex-companion.js";
8
+ import { addUsage, emptyUsage } from "./engines/types.js";
9
+ export function applyRunnerPolicy(message, context) {
10
+ if (!["thread/start", "thread/resume", "thread/fork", "turn/start"].includes(message.method))
11
+ return message;
12
+ const params = { ...message.params, approvalPolicy: "never", approvalsReviewer: "user" };
13
+ if (message.method === "turn/start") {
14
+ params.sandboxPolicy = { type: context.sandbox === "read-only" ? "readOnly"
15
+ : context.sandbox === "workspace-write" ? "workspaceWrite" : "dangerFullAccess" };
16
+ }
17
+ else {
18
+ const config = companionCodexConfig(context.env);
19
+ params.sandbox = context.sandbox;
20
+ params.config = { ...params.config, model_provider: config.model_provider, "mcp_servers.nudge": config.mcp_servers.nudge };
21
+ }
22
+ return { ...message, params };
23
+ }
24
+ export function usageDelta(previous, current, last) {
25
+ const keys = ["inputTokens", "outputTokens", "cachedInputTokens", "reasoningTokens"];
26
+ if (!previous || keys.some((key) => (current[key] ?? 0) < (previous[key] ?? 0)))
27
+ return last;
28
+ return Object.fromEntries(keys.map((key) => [key, (current[key] ?? 0) - (previous[key] ?? 0)]));
29
+ }
30
+ export async function runBridge() {
31
+ let context;
32
+ if (process.env.NUDGE_T3_CONTEXT) {
33
+ try {
34
+ context = JSON.parse(await readFile(process.env.NUDGE_T3_CONTEXT, "utf8"));
35
+ }
36
+ catch (error) {
37
+ // A completed job removes its identity. Manual T3 follow-ups still work,
38
+ // using the normal T3 policy and no credentials from the finished job.
39
+ if (error.code !== "ENOENT")
40
+ throw new Error("Cannot read Nudge T3 job context");
41
+ }
42
+ }
43
+ const invocation = bundledCodexCommand(...process.argv.slice(2));
44
+ const child = spawn(invocation.command, invocation.args, {
45
+ env: subscriptionEnvironment(process.env), stdio: ["pipe", "pipe", "inherit"],
46
+ });
47
+ const input = createInterface({ input: process.stdin });
48
+ input.on("line", (line) => {
49
+ try {
50
+ child.stdin.write(context ? JSON.stringify(applyRunnerPolicy(JSON.parse(line), context)) + "\n" : line + "\n");
51
+ }
52
+ catch {
53
+ child.kill();
54
+ process.exitCode = 1;
55
+ }
56
+ });
57
+ input.on("close", () => child.stdin.end());
58
+ child.stdin.on("error", () => undefined);
59
+ // Keep complete native notifications, including tool calls and assistant deltas.
60
+ // Record usage separately because the public thread read model omits it.
61
+ const output = createInterface({ input: child.stdout });
62
+ let usageWrite = Promise.resolve();
63
+ const baselineByThread = new Map();
64
+ let runUsage = emptyUsage();
65
+ output.on("line", (line) => {
66
+ process.stdout.write(line + "\n");
67
+ if (!context)
68
+ return;
69
+ try {
70
+ const event = JSON.parse(line);
71
+ if (event.method !== "thread/tokenUsage/updated")
72
+ return;
73
+ const last = event.params?.tokenUsage?.last;
74
+ if (!last || typeof event.params.turnId !== "string")
75
+ return;
76
+ const total = event.params.tokenUsage.total;
77
+ const normalize = (value) => ({
78
+ inputTokens: value.inputTokens ?? 0, outputTokens: value.outputTokens ?? 0,
79
+ cachedInputTokens: value.cachedInputTokens ?? 0, reasoningTokens: value.reasoningOutputTokens ?? 0,
80
+ });
81
+ const current = normalize(total);
82
+ runUsage = addUsage(runUsage, usageDelta(baselineByThread.get(event.params.threadId), current, normalize(last)));
83
+ baselineByThread.set(event.params.threadId, current);
84
+ const target = context.usagePath;
85
+ const serialized = JSON.stringify(runUsage);
86
+ usageWrite = usageWrite.then(() => writeFile(target, serialized, { mode: 0o600 })).catch(() => undefined);
87
+ }
88
+ catch { /* The provider stream is forwarded unchanged. */ }
89
+ });
90
+ for (const signal of ["SIGINT", "SIGTERM"])
91
+ process.on(signal, () => child.kill(signal));
92
+ await new Promise((resolve, reject) => {
93
+ child.once("error", () => reject(new Error("Could not start Codex for T3")));
94
+ child.once("close", (code) => { process.exitCode = code ?? 1; input.close(); resolve(); });
95
+ });
96
+ await usageWrite;
97
+ }
98
+ if (process.argv[1] === fileURLToPath(import.meta.url)) {
99
+ runBridge().catch(() => { process.stderr.write("Nudge T3 Codex bridge failed\n"); process.exitCode = 1; });
100
+ }
101
+ //# sourceMappingURL=runner-t3-codex-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-t3-codex-bridge.js","sourceRoot":"","sources":["../src/runner-t3-codex-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,288 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { access, mkdir, readFile, rm, writeFile } from "node:fs/promises";
3
+ import { createRequire } from "node:module";
4
+ import os from "node:os";
5
+ import path from "node:path";
6
+ import { setTimeout as delay } from "node:timers/promises";
7
+ import { fileURLToPath } from "node:url";
8
+ import { acquireInstallationLock } from "./runner-installation.js";
9
+ import { codexSandboxMode } from "./engines/codex.js";
10
+ import { ensureCodexShadowHome } from "./engines/isolation.js";
11
+ import { estimateCostUsd } from "./engines/pricing.js";
12
+ import { emptyUsage } from "./engines/types.js";
13
+ import { discoverT3, ensureT3JobThread, shellQuote, t3JobThreadId, t3JobTitle, withT3Client } from "./runner-t3.js";
14
+ const DIRECTORY = path.join(os.homedir(), ".nudge", "t3-native");
15
+ const PREFIX = "t3:";
16
+ export function t3ResumeId(environmentId, threadId) {
17
+ return `${PREFIX}${encodeURIComponent(environmentId)}:${encodeURIComponent(threadId)}`;
18
+ }
19
+ export function parseT3ResumeId(value) {
20
+ if (!value?.startsWith(PREFIX))
21
+ return null;
22
+ const parts = value.split(":");
23
+ if (parts.length !== 3 || !parts[1] || !parts[2])
24
+ throw new Error("Invalid T3 conversation reference");
25
+ const threadId = decodeURIComponent(parts[2]);
26
+ if (!/^nudge-[a-f0-9]{32}$/.test(threadId))
27
+ throw new Error("Invalid T3 runner thread ID");
28
+ return { environmentId: decodeURIComponent(parts[1]), threadId };
29
+ }
30
+ // server.updateSettings replaces the provider map. Serialize Nudge's read/merge/
31
+ // write across runner processes and preserve every unrelated (redacted) entry.
32
+ async function settingsLock(use) {
33
+ await mkdir(DIRECTORY, { recursive: true, mode: 0o700 });
34
+ const release = await acquireInstallationLock(path.join(DIRECTORY, "settings"), { timeoutMs: 15_000, retryMs: 100 });
35
+ try {
36
+ return await use();
37
+ }
38
+ finally {
39
+ await release();
40
+ }
41
+ }
42
+ // Disabled instances disappear from T3's model picker but retain the config
43
+ // needed to resume the conversation through Nudge. Never disable a provider
44
+ // while a turn (including a manual turn in another thread) is using it.
45
+ export async function hideCompletedT3Providers(client) {
46
+ return settingsLock(async () => {
47
+ const settings = await client.rpc("server.getSettings");
48
+ const snapshot = await client.request("/api/orchestration/snapshot");
49
+ const threads = snapshot.threads ?? [];
50
+ const providers = { ...settings.providerInstances };
51
+ let changed = 0;
52
+ for (const [instanceId, value] of Object.entries(providers)) {
53
+ const provider = value;
54
+ if (!/^nudge-nudge-[a-f0-9]{32}$/.test(instanceId) || provider.driver !== "codex" || provider.enabled === false)
55
+ continue;
56
+ const threadId = instanceId.slice("nudge-".length);
57
+ const owner = threads.find((thread) => thread.id === threadId);
58
+ if (!owner || !/^Nudge · (succeeded|failed|cancelled) · /.test(owner.title))
59
+ continue;
60
+ if (threads.some((thread) => (thread.id === threadId || thread.modelSelection?.instanceId === instanceId || thread.session?.providerInstanceId === instanceId)
61
+ && (thread.latestTurn?.state === "running" || ["starting", "running"].includes(thread.session?.status))))
62
+ continue;
63
+ const contextPath = path.join(DIRECTORY, `${threadId}.json`);
64
+ if (!provider.environment?.some((entry) => entry.name === "NUDGE_T3_CONTEXT" && entry.value === contextPath))
65
+ continue;
66
+ // A new run publishes its context BEFORE acquiring the settings lock.
67
+ // That also protects the interval before T3 projects its running title.
68
+ try {
69
+ await access(contextPath);
70
+ continue;
71
+ }
72
+ catch (error) {
73
+ if (error.code !== "ENOENT")
74
+ continue;
75
+ }
76
+ providers[instanceId] = { ...provider, enabled: false };
77
+ changed++;
78
+ }
79
+ if (changed)
80
+ await client.rpc("server.updateSettings", { patch: { providerInstances: providers } });
81
+ return changed;
82
+ });
83
+ }
84
+ async function configureProvider(client, threadId, contextPath) {
85
+ const home = await ensureCodexShadowHome();
86
+ let bridge = fileURLToPath(new URL("./runner-t3-codex-bridge.js", import.meta.url));
87
+ const args = [];
88
+ try {
89
+ await access(bridge);
90
+ }
91
+ catch {
92
+ bridge = fileURLToPath(new URL("./runner-t3-codex-bridge.ts", import.meta.url));
93
+ args.push("--import", createRequire(import.meta.url).resolve("tsx"));
94
+ }
95
+ const executable = path.join(DIRECTORY, "codex");
96
+ await writeFile(executable, `#!/bin/sh\nexec ${[process.execPath, ...args, bridge].map(shellQuote).join(" ")} "$@"\n`, { mode: 0o700 });
97
+ const instanceId = `nudge-${threadId}`;
98
+ await settingsLock(async () => {
99
+ const settings = await client.rpc("server.getSettings");
100
+ const instance = {
101
+ driver: "codex", displayName: "Nudge runner", enabled: true,
102
+ environment: [{ name: "NUDGE_T3_CONTEXT", value: contextPath, sensitive: false }],
103
+ config: { binaryPath: executable, homePath: home.path, shadowHomePath: "", launchArgs: "", customModels: [], enabled: true },
104
+ };
105
+ if (JSON.stringify(settings.providerInstances?.[instanceId]) !== JSON.stringify(instance)) {
106
+ await client.rpc("server.updateSettings", { patch: { providerInstances: { ...settings.providerInstances, [instanceId]: instance } } });
107
+ }
108
+ });
109
+ return instanceId;
110
+ }
111
+ export async function runT3Turn(client, threadId, modelSelection, options, pollMs = 1_000) {
112
+ const route = `/api/orchestration/threads/${encodeURIComponent(threadId)}`;
113
+ const detail = async () => (await client.request(route)).thread;
114
+ const before = await detail();
115
+ const previousTurnId = before.latestTurn?.turnId;
116
+ const commandId = randomUUID();
117
+ const messageId = randomUUID();
118
+ const createdAt = new Date().toISOString();
119
+ let dispatched = false;
120
+ let turnId;
121
+ const seenMessages = new Map();
122
+ const seenActivities = new Set((before.activities ?? []).map((a) => a.id));
123
+ let lastContact = Date.now();
124
+ let dispatchError;
125
+ try {
126
+ options.signal.throwIfAborted();
127
+ if (before.latestTurn?.state === "running") {
128
+ // Recover an in-flight turn after a runner restart. Never launch another
129
+ // agent alongside work already owned by this job's native thread.
130
+ turnId = previousTurnId;
131
+ dispatched = true;
132
+ options.log("event", "Reattached to the running T3 Code turn.");
133
+ }
134
+ else {
135
+ dispatched = true; // A timed-out POST may already have committed.
136
+ await client.dispatch({
137
+ type: "thread.turn.start", commandId, threadId,
138
+ message: { messageId, role: "user", text: options.prompt, attachments: [] },
139
+ modelSelection, runtimeMode: runtimeMode(options), interactionMode: "default", createdAt,
140
+ }).catch((error) => { dispatchError = error; });
141
+ }
142
+ for (;;) {
143
+ options.signal.throwIfAborted();
144
+ let thread;
145
+ try {
146
+ thread = await detail();
147
+ lastContact = Date.now();
148
+ }
149
+ catch {
150
+ if (Date.now() - lastContact > 30_000)
151
+ throw new Error("Lost connection to T3 Code. The conversation remains in T3; no CLI fallback was started.");
152
+ await delay(pollMs, undefined, { signal: options.signal });
153
+ continue;
154
+ }
155
+ const turn = thread.latestTurn;
156
+ if (!turnId && turn && turn.turnId !== previousTurnId)
157
+ turnId = turn.turnId;
158
+ // The public projection may take a moment to reflect accepted commands.
159
+ if (!turnId) {
160
+ if (thread.session?.status === "error" && thread.session.updatedAt >= createdAt)
161
+ throw new Error(thread.session.lastError || "T3 could not start the provider");
162
+ if (Date.now() - Date.parse(createdAt) > 30_000)
163
+ throw new Error(dispatchError
164
+ ? "T3 did not confirm the turn start. Inspect the thread before retrying."
165
+ : "T3 did not start the provider within 30 seconds");
166
+ }
167
+ else {
168
+ if (turn && turn.turnId !== turnId)
169
+ throw new Error("The T3 conversation advanced to another turn. Inspect its result before retrying the job.");
170
+ for (const activity of thread.activities ?? []) {
171
+ if (seenActivities.has(activity.id))
172
+ continue;
173
+ seenActivities.add(activity.id);
174
+ if (activity.summary)
175
+ options.log("event", activity.summary);
176
+ }
177
+ for (const message of thread.messages ?? []) {
178
+ if (message.role !== "assistant" || message.turnId !== turnId || !message.text)
179
+ continue;
180
+ const previous = seenMessages.get(message.id) ?? "";
181
+ if (message.text !== previous) {
182
+ options.log("stdout", message.text.startsWith(previous) ? message.text.slice(previous.length) : message.text);
183
+ seenMessages.set(message.id, message.text);
184
+ }
185
+ }
186
+ if (turn?.turnId === turnId && turn.state !== "running") {
187
+ const messages = (thread.messages ?? []).filter((m) => m.role === "assistant" && m.turnId === turnId);
188
+ const summary = messages.find((m) => m.id === turn.assistantMessageId)?.text ?? messages.at(-1)?.text ?? "";
189
+ return {
190
+ summary, usage: emptyUsage(), costBasis: "subscription", resolvedModel: options.model ?? undefined,
191
+ ...(turn.state !== "completed" ? { error: thread.session?.lastError || `T3 turn ${turn.state}` } : {}),
192
+ };
193
+ }
194
+ }
195
+ await delay(pollMs, undefined, { signal: options.signal });
196
+ }
197
+ }
198
+ finally {
199
+ if (dispatched) {
200
+ // Also stop a completed session: the next resume starts with fresh job
201
+ // credentials and cannot retain a stale runner token or sandbox policy.
202
+ if (options.signal.aborted || dispatchError) {
203
+ await client.dispatch({ type: "thread.turn.interrupt", threadId, ...(turnId ? { turnId } : {}), createdAt: new Date().toISOString() }).catch(() => undefined);
204
+ }
205
+ await client.dispatch({ type: "thread.session.stop", threadId, createdAt: new Date().toISOString() })
206
+ .catch(() => options.log("event", "Could not stop the T3 session. Check its thread before starting another run."));
207
+ }
208
+ }
209
+ }
210
+ function runtimeMode(options) {
211
+ return options.readOnly ? "approval-required" : codexSandboxMode(options) === "danger-full-access" ? "full-access" : "auto";
212
+ }
213
+ export async function createT3Engine(fallback, job, previousThreadId, warn) {
214
+ const resumed = parseT3ResumeId(previousThreadId);
215
+ if (resumed && (fallback.id !== "codex" || process.platform === "win32")) {
216
+ throw new Error("This T3 conversation requires the Codex runner on macOS or Linux");
217
+ }
218
+ // Raw CLI session IDs are not T3 IDs. Preserve their history via the original
219
+ // engine; newly started native conversations resume through T3 from then on.
220
+ if (!resumed && (fallback.id !== "codex" || previousThreadId || process.platform === "win32"))
221
+ return null;
222
+ let connection;
223
+ try {
224
+ connection = await discoverT3();
225
+ }
226
+ catch (error) {
227
+ if (resumed)
228
+ throw error;
229
+ warn("T3 Code is unavailable; using the local runner.");
230
+ return null;
231
+ }
232
+ if (!connection) {
233
+ if (resumed)
234
+ throw new Error("Open the local T3 Code app to resume this job's conversation");
235
+ return null;
236
+ }
237
+ if (resumed && resumed.environmentId !== connection.environmentId)
238
+ throw new Error("This job belongs to a different T3 Code environment");
239
+ const threadId = resumed?.threadId ?? t3JobThreadId(job.deployment, job.id);
240
+ const reference = t3ResumeId(connection.environmentId, threadId);
241
+ const view = {
242
+ threadId, logPath: "", log() { },
243
+ async finish(status) {
244
+ await withT3Client(connection, async (client) => {
245
+ await client.dispatch({ type: "thread.meta.update", threadId, title: t3JobTitle(job, status) });
246
+ await hideCompletedT3Providers(client);
247
+ })
248
+ .catch(() => warn("T3 thread status could not be updated."));
249
+ },
250
+ };
251
+ const engine = {
252
+ id: fallback.id, displayName: `${fallback.displayName} in T3 Code`, detect: () => fallback.detect(),
253
+ execute: (options) => withT3Client(connection, async (client) => {
254
+ options.signal.throwIfAborted();
255
+ await mkdir(DIRECTORY, { recursive: true, mode: 0o700 });
256
+ // Only opaque paths go into T3 settings. Runner credentials remain in an
257
+ // owner-only temporary context and never appear in titles or prompts.
258
+ const contextPath = path.join(DIRECTORY, `${threadId}.json`);
259
+ const usagePath = path.join(DIRECTORY, `${threadId}.usage.json`);
260
+ await writeFile(contextPath, JSON.stringify({ env: options.env, sandbox: codexSandboxMode(options), usagePath }), { mode: 0o600 });
261
+ try {
262
+ await rm(usagePath, { force: true });
263
+ if (resumed)
264
+ await client.request(`/api/orchestration/threads/${encodeURIComponent(threadId)}`);
265
+ const instanceId = await configureProvider(client, threadId, contextPath);
266
+ const modelSelection = { instanceId, model: options.model ?? job.model,
267
+ ...(options.effort ? { options: [{ id: "reasoningEffort", value: options.effort }] } : {}) };
268
+ await ensureT3JobThread(client, job, { threadId, modelSelection, runtimeMode: runtimeMode(options) });
269
+ options.onThreadId?.(reference);
270
+ options.log("event", "Running in T3 Code. Open the Nudge thread to see messages and tool activity.");
271
+ const result = await runT3Turn(client, threadId, modelSelection, options);
272
+ let usage = emptyUsage();
273
+ try {
274
+ usage = JSON.parse(await readFile(usagePath, "utf8"));
275
+ }
276
+ catch { /* Provider may fail before reporting usage. */ }
277
+ const costUsd = estimateCostUsd(options.model ?? job.model, usage);
278
+ return { ...result, threadId: reference, usage, ...(costUsd != null ? { costUsd, costBasis: "estimated" } : {}) };
279
+ }
280
+ finally {
281
+ await rm(contextPath, { force: true });
282
+ await rm(usagePath, { force: true });
283
+ }
284
+ }, "24h"),
285
+ };
286
+ return { engine, view };
287
+ }
288
+ //# sourceMappingURL=runner-t3-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-t3-engine.js","sourceRoot":"","sources":["../src/runner-t3-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+ import { randomUUID } from "node:crypto";
4
+ import { mkdir, rm, writeFile } from "node:fs/promises";
5
+ import os from "node:os";
6
+ import path from "node:path";
7
+ import { applyRunnerPolicy, usageDelta } from "./runner-t3-codex-bridge.js";
8
+ import { createT3Engine, hideCompletedT3Providers, parseT3ResumeId, runT3Turn, t3ResumeId } from "./runner-t3-engine.js";
9
+ import { T3Client, t3JobThreadId } from "./runner-t3.js";
10
+ test("completed provider cleanup preserves active, paused, resuming, and unrelated providers", async (t) => {
11
+ const directory = path.join(os.homedir(), ".nudge", "t3-native");
12
+ const providers = { codex: { driver: "codex", enabled: true, environment: [{ name: "SECRET", value: "", valueRedacted: true }] } };
13
+ const threads = [];
14
+ const add = (status, state = "completed", sessionStatus = "stopped") => {
15
+ const id = t3JobThreadId("cleanup-test", randomUUID());
16
+ const instanceId = `nudge-${id}`;
17
+ const contextPath = path.join(directory, `${id}.json`);
18
+ providers[instanceId] = { driver: "codex", enabled: true, config: { custom: "preserved" }, environment: [{ name: "NUDGE_T3_CONTEXT", value: contextPath }] };
19
+ threads.push({ id, title: `Nudge · ${status} · Board · task test`, modelSelection: { instanceId }, latestTurn: { state }, session: { status: sessionStatus } });
20
+ return { id, instanceId, contextPath };
21
+ };
22
+ const done = [add("succeeded"), add("failed", "error"), add("cancelled", "interrupted")];
23
+ const active = add("running", "running", "running");
24
+ const paused = add("needs human");
25
+ const stillStopping = add("succeeded", "running", "running");
26
+ const manual = add("succeeded");
27
+ threads.push({ id: "other-thread", modelSelection: { instanceId: manual.instanceId }, latestTurn: { state: "running" } });
28
+ const resuming = add("succeeded");
29
+ await mkdir(directory, { recursive: true, mode: 0o700 });
30
+ await writeFile(resuming.contextPath, "{}", { mode: 0o600 });
31
+ t.after(() => rm(resuming.contextPath, { force: true }));
32
+ let current = providers;
33
+ let writes = 0;
34
+ class CleanupClient extends T3Client {
35
+ async request() { return { threads }; }
36
+ async rpc(tag, payload = {}) {
37
+ if (tag === "server.getSettings")
38
+ return { providerInstances: current };
39
+ assert.equal(tag, "server.updateSettings");
40
+ current = payload.patch.providerInstances;
41
+ writes++;
42
+ return {};
43
+ }
44
+ }
45
+ const client = new CleanupClient("http://127.0.0.1", "test");
46
+ assert.equal(await hideCompletedT3Providers(client), 3);
47
+ for (const entry of done) {
48
+ assert.equal(current[entry.instanceId].enabled, false);
49
+ assert.deepEqual(current[entry.instanceId].config, { custom: "preserved" });
50
+ }
51
+ for (const entry of [active, paused, stillStopping, manual, resuming])
52
+ assert.equal(current[entry.instanceId].enabled, true);
53
+ assert.deepEqual(current.codex, providers.codex);
54
+ assert.equal(await hideCompletedT3Providers(client), 0);
55
+ assert.equal(writes, 1);
56
+ });
57
+ const options = () => ({ cwd: "/tmp", prompt: "New work", readOnly: true, signal: new AbortController().signal, log() { } });
58
+ const context = { env: { NUDGE_RUNNER_JOB: "job-a", NUDGE_RUNNER_TOKEN: "private-token" }, sandbox: "read-only", usagePath: "/tmp/unused" };
59
+ class FakeT3 extends T3Client {
60
+ commands = [];
61
+ snapshots;
62
+ commitThenTimeout = false;
63
+ afterRead;
64
+ constructor(snapshots) { super("http://127.0.0.1", "test"); this.snapshots = snapshots; }
65
+ async request() {
66
+ const thread = this.snapshots.length > 1 ? this.snapshots.shift() : this.snapshots[0];
67
+ this.afterRead?.();
68
+ return { thread };
69
+ }
70
+ async dispatch(command) {
71
+ this.commands.push(command);
72
+ if (this.commitThenTimeout && command.type === "thread.turn.start")
73
+ throw new Error("timeout after commit");
74
+ return {};
75
+ }
76
+ }
77
+ const previous = { latestTurn: { turnId: "old", state: "completed" }, messages: [{ id: "old-answer", role: "assistant", turnId: "old", text: "Old answer" }] };
78
+ const completed = { latestTurn: { turnId: "new", state: "completed", assistantMessageId: "final" }, messages: [
79
+ ...previous.messages,
80
+ { id: "progress", role: "assistant", turnId: "new", text: "Working" },
81
+ { id: "final", role: "assistant", turnId: "new", text: "Finished new work" },
82
+ ] };
83
+ test("native execution submits a real user message and returns only the new turn's final answer", async () => {
84
+ const client = new FakeT3([previous, completed]);
85
+ const result = await runT3Turn(client, "thread", { instanceId: "nudge", model: "model" }, options(), 1);
86
+ assert.equal(result.summary, "Finished new work");
87
+ assert.deepEqual(client.commands.map((c) => c.type), ["thread.turn.start", "thread.session.stop"]);
88
+ assert.deepEqual(client.commands[0].message, { messageId: client.commands[0].message.messageId, role: "user", text: "New work", attachments: [] });
89
+ assert.equal(client.commands[0].threadId, "thread");
90
+ });
91
+ test("an ambiguous start response never starts a duplicate turn", async () => {
92
+ const client = new FakeT3([previous, completed]);
93
+ client.commitThenTimeout = true;
94
+ assert.equal((await runT3Turn(client, "thread", {}, options(), 1)).summary, "Finished new work");
95
+ assert.equal(client.commands.filter((c) => c.type === "thread.turn.start").length, 1);
96
+ });
97
+ test("runner recovery reattaches to an existing running turn without dispatching another", async () => {
98
+ const client = new FakeT3([{ latestTurn: { turnId: "new", state: "running" } }, completed]);
99
+ assert.equal((await runT3Turn(client, "thread", {}, options(), 1)).summary, "Finished new work");
100
+ assert.deepEqual(client.commands.map((c) => c.type), ["thread.session.stop"]);
101
+ });
102
+ test("steering or cancellation interrupts and stops T3 before propagating the abort", async () => {
103
+ const abort = new AbortController();
104
+ const client = new FakeT3([previous, { latestTurn: { turnId: "new", state: "running" } }]);
105
+ let reads = 0;
106
+ client.afterRead = () => { if (++reads === 2)
107
+ abort.abort(); };
108
+ await assert.rejects(runT3Turn(client, "thread", {}, { ...options(), signal: abort.signal }, 1), { name: "AbortError" });
109
+ assert.deepEqual(client.commands.map((c) => c.type), ["thread.turn.start", "thread.turn.interrupt", "thread.session.stop"]);
110
+ });
111
+ test("a pre-aborted job starts no T3 turn", async () => {
112
+ const client = new FakeT3([previous]);
113
+ await assert.rejects(runT3Turn(client, "thread", {}, { ...options(), signal: AbortSignal.abort() }, 1));
114
+ assert.equal(client.commands.length, 0);
115
+ });
116
+ test("provider errors and interruption cannot be reported as success", async () => {
117
+ for (const state of ["error", "interrupted"]) {
118
+ const client = new FakeT3([previous, { ...completed, latestTurn: { ...completed.latestTurn, state }, session: { lastError: "Provider stopped" } }]);
119
+ assert.equal((await runT3Turn(client, "thread", {}, options(), 1)).error, "Provider stopped");
120
+ }
121
+ });
122
+ test("runner references preserve T3 environment and reject paths or raw CLI IDs", () => {
123
+ const threadId = t3JobThreadId("deployment", "job");
124
+ assert.deepEqual(parseT3ResumeId(t3ResumeId("environment", threadId)), { environmentId: "environment", threadId });
125
+ assert.equal(parseT3ResumeId("codex-session"), null);
126
+ assert.throws(() => parseT3ResumeId("t3:environment:..%2Fprivate"));
127
+ assert.throws(() => parseT3ResumeId("t3:broken"));
128
+ });
129
+ test("a native resume with T3 disabled fails instead of falling back to a new CLI session", async () => {
130
+ const prior = process.env.NUDGE_T3;
131
+ process.env.NUDGE_T3 = "0";
132
+ try {
133
+ const fallback = { id: "codex" };
134
+ assert.equal(await createT3Engine(fallback, {}, null, () => { }), null);
135
+ await assert.rejects(createT3Engine(fallback, {}, t3ResumeId("env", t3JobThreadId("d", "j")), () => { }), /Open the local T3/);
136
+ assert.equal(await createT3Engine(fallback, {}, "original-cli-session", () => { }), null);
137
+ }
138
+ finally {
139
+ if (prior === undefined)
140
+ delete process.env.NUDGE_T3;
141
+ else
142
+ process.env.NUDGE_T3 = prior;
143
+ }
144
+ });
145
+ test("the bridge enforces read-only and Nudge identity on both start and resume", () => {
146
+ for (const method of ["thread/start", "thread/resume", "thread/fork"]) {
147
+ const message = applyRunnerPolicy({ id: 7, method, params: { sandbox: "danger-full-access", config: { existing: true } } }, context);
148
+ assert.equal(message.params.sandbox, "read-only");
149
+ assert.equal(message.params.approvalPolicy, "never");
150
+ assert.equal(message.params.config.existing, true);
151
+ assert.deepEqual(message.params.config["mcp_servers.nudge"].env, context.env);
152
+ }
153
+ const turn = applyRunnerPolicy({ method: "turn/start", params: { sandboxPolicy: { type: "dangerFullAccess" } } }, context);
154
+ assert.deepEqual(turn.params.sandboxPolicy, { type: "readOnly" });
155
+ assert.equal(turn.params.approvalPolicy, "never");
156
+ const notification = { method: "initialize", params: { clientInfo: { name: "T3" } } };
157
+ assert.equal(applyRunnerPolicy(notification, context), notification);
158
+ });
159
+ test("task sandbox choices retain workspace-only and explicitly remote-capable execution", () => {
160
+ for (const [sandbox, type] of [["workspace-write", "workspaceWrite"], ["danger-full-access", "dangerFullAccess"]]) {
161
+ assert.deepEqual(applyRunnerPolicy({ method: "turn/start" }, { ...context, sandbox }).params.sandboxPolicy, { type });
162
+ }
163
+ });
164
+ test("usage counts only the new work on resume, deduplicates totals, and handles a reset", () => {
165
+ const total = { inputTokens: 1000, outputTokens: 100 };
166
+ const last = { inputTokens: 50, outputTokens: 5 };
167
+ assert.deepEqual(usageDelta(undefined, total, last), last);
168
+ assert.equal(usageDelta(total, total, last).inputTokens, 0);
169
+ assert.equal(usageDelta(total, { inputTokens: 1100, outputTokens: 110 }, last).inputTokens, 100);
170
+ assert.deepEqual(usageDelta(total, last, last), last);
171
+ });
172
+ //# sourceMappingURL=runner-t3-engine.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-t3-engine.test.js","sourceRoot":"","sources":["../src/runner-t3-engine.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAsB,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACzH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAKrE,IAAI,CAAC,wFAAwF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACzG,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjE,MAAM,SAAS,GAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;IACzI,MAAM,OAAO,GAAW,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,KAAK,GAAG,WAAW,EAAE,aAAa,GAAG,SAAS,EAAE,EAAE;QAC7E,MAAM,EAAE,GAAG,aAAa,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,SAAS,EAAE,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACvD,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7J,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,MAAM,sBAAsB,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAChK,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1H,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,IAAI,OAAO,GAAG,SAAS,CAAC;IACxB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,aAAc,SAAQ,QAAQ;QACzB,KAAK,CAAC,OAAO,KAAoB,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,UAAgB,EAAE;YAChD,IAAI,GAAG,KAAK,oBAAoB;gBAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACxE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC3C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC1C,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;KACF;IACD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,CAAC,KAAK,CAAC,MAAM,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC;QAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7H,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,MAAM,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,GAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,KAAI,CAAC,EAAE,CAAC,CAAC;AACxI,MAAM,OAAO,GAAkB,EAAE,GAAG,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAE3J,MAAM,MAAO,SAAQ,QAAQ;IAC3B,QAAQ,GAAW,EAAE,CAAC;IACtB,SAAS,CAAS;IAClB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,SAAS,CAAc;IACvB,YAAY,SAAiB,IAAI,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;IACxF,KAAK,CAAC,OAAO;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IACQ,KAAK,CAAC,QAAQ,CAAC,OAAa;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5G,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AACD,MAAM,QAAQ,GAAS,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AACrK,MAAM,SAAS,GAAS,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE;QAClH,GAAG,QAAQ,CAAC,QAAQ;QACpB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;QACrE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE;KAC7E,EAAE,CAAC;AAEJ,IAAI,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;IAC3G,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACxG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACnG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACnJ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;IAC3E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACjG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;IACpG,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5F,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACjG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;IAC/F,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC;QAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACzH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAC9H,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;IAChF,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;QACpJ,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAChG,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;IACrF,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;IACrG,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,OAAO,EAAY,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAW,EAAE,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChF,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAW,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACvI,MAAM,CAAC,KAAK,CAAC,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAW,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpG,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;;YAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IACpC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;IACrF,KAAK,MAAM,MAAM,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACrI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3H,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACtF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,GAAG,EAAE;IAC9F,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAU,EAAE,CAAC;QAC3H,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,GAAG,EAAE;IAC9F,MAAM,KAAK,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAClD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACjG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC"}
package/dist/runner-t3.js CHANGED
@@ -1,5 +1,5 @@
1
- // Optional local T3 view. Only public HTTP commands and terminal RPCs are used:
2
- // never write T3's database or start a second provider turn for a runner job.
1
+ // Local T3 transport and fallback log view. Native execution lives in
2
+ // runner-t3-engine.ts; neither integration writes T3's database.
3
3
  import { execFile } from "node:child_process";
4
4
  import { createHash, randomUUID } from "node:crypto";
5
5
  import { access, appendFile, mkdir, readFile, realpath, writeFile } from "node:fs/promises";
@@ -88,6 +88,22 @@ export class T3Client {
88
88
  dispatch(command) {
89
89
  return this.request("/api/orchestration/dispatch", { commandId: randomUUID(), ...command });
90
90
  }
91
+ async rpc(tag, payload = {}) {
92
+ const socket = new WebSocket(`${this.origin.replace("http:", "ws:")}/ws`, {
93
+ headers: { authorization: `Bearer ${this.token}` }, handshakeTimeout: TIMEOUT,
94
+ });
95
+ socket.on("error", () => undefined);
96
+ try {
97
+ await new Promise((resolve, reject) => {
98
+ socket.once("open", resolve);
99
+ socket.once("error", () => reject(new Error("T3 socket failed")));
100
+ });
101
+ return await t3Rpc(socket, tag, payload);
102
+ }
103
+ finally {
104
+ socket.terminate();
105
+ }
106
+ }
91
107
  async terminalLog(threadId, cwd, logPath) {
92
108
  if (process.platform === "win32")
93
109
  return;
@@ -166,7 +182,7 @@ export function t3Rpc(socket, tag, payload) {
166
182
  }
167
183
  });
168
184
  }
169
- async function discover() {
185
+ export async function discoverT3() {
170
186
  if (process.env.NUDGE_T3 === "0")
171
187
  return null;
172
188
  const home = path.resolve(process.env.T3CODE_HOME ?? path.join(os.homedir(), ".t3"));
@@ -198,11 +214,11 @@ async function discover() {
198
214
  const cli = await findCli();
199
215
  if (!cli)
200
216
  throw new Error("T3 CLI not found; set NUDGE_T3_CLI to its executable");
201
- return { origin, cli, home, dev: variant === "dev" };
217
+ return { origin, cli, home, dev: variant === "dev", environmentId: descriptor.environmentId };
202
218
  }
203
219
  return null;
204
220
  }
205
- async function withClient(connection, use) {
221
+ export async function withT3Client(connection, use, ttl = "5m") {
206
222
  const { cli, home, dev } = connection;
207
223
  const location = ["--base-dir", home, ...(dev ? ["--dev-url", "http://localhost"] : [])];
208
224
  const run = async (args) => {
@@ -215,7 +231,7 @@ async function withClient(connection, use) {
215
231
  throw new Error("T3 local session command failed");
216
232
  }
217
233
  };
218
- const { stdout } = await run(["issue", "--ttl", "5m", "--label", "Nudge runner view", "--json"]);
234
+ const { stdout } = await run(["issue", "--ttl", ttl, "--label", "Nudge runner", "--json"]);
219
235
  let session;
220
236
  try {
221
237
  session = JSON.parse(stdout);
@@ -232,7 +248,7 @@ async function withClient(connection, use) {
232
248
  await run(["revoke", session.sessionId]).catch(() => undefined);
233
249
  }
234
250
  }
235
- export async function ensureT3JobThread(client, job) {
251
+ export async function ensureT3JobThread(client, job, native) {
236
252
  const snapshot = await client.request("/api/orchestration/snapshot");
237
253
  const cwd = await realpath(job.cwd);
238
254
  let project = snapshot.projects.find((p) => path.resolve(p.workspaceRoot) === cwd && !p.deletedAt);
@@ -249,14 +265,14 @@ export async function ensureT3JobThread(client, job) {
249
265
  }
250
266
  project = { id: projectId };
251
267
  }
252
- const threadId = t3JobThreadId(job.deployment, job.id);
268
+ const threadId = native?.threadId ?? t3JobThreadId(job.deployment, job.id);
253
269
  const title = t3JobTitle(job, "running");
254
270
  const existing = snapshot.threads.find((t) => t.id === threadId && !t.deletedAt);
255
271
  if (!existing) {
256
272
  await client.dispatch({
257
273
  type: "thread.create", threadId, projectId: project.id, title,
258
- modelSelection: project.defaultModelSelection ?? { instanceId: job.engine === "claude" ? "claudeAgent" : job.engine, model: job.model },
259
- runtimeMode: "approval-required", interactionMode: "default",
274
+ modelSelection: native?.modelSelection ?? project.defaultModelSelection ?? { instanceId: job.engine === "claude" ? "claudeAgent" : job.engine, model: job.model },
275
+ runtimeMode: native?.runtimeMode ?? "approval-required", interactionMode: "default",
260
276
  branch: null, worktreePath: null, createdAt: new Date().toISOString(),
261
277
  });
262
278
  }
@@ -272,7 +288,7 @@ export async function ensureT3JobThread(client, job) {
272
288
  }
273
289
  export async function startT3JobView(job, warn) {
274
290
  try {
275
- const connection = await discover();
291
+ const connection = await discoverT3();
276
292
  if (!connection)
277
293
  return null;
278
294
  const threadId = t3JobThreadId(job.deployment, job.id);
@@ -283,7 +299,7 @@ export async function startT3JobView(job, warn) {
283
299
  const encode = (text, done = false) => `${JSON.stringify({ text, done })}\n`;
284
300
  const heading = `Nudge runner · ${job.boardTitle}\nJob: ${job.id} · attempt ${job.attempt}\nAgent: ${job.engine} · ${job.model}\n\nThis terminal displays the external runner. Reply or steer in Nudge.\n\n${job.prompt}\n\n`;
285
301
  await writeFile(logPath, encode(heading), { mode: 0o600 });
286
- await withClient(connection, async (client) => {
302
+ await withT3Client(connection, async (client) => {
287
303
  await ensureT3JobThread(client, job);
288
304
  // A terminal failure must not discard a successfully created thread.
289
305
  await client.terminalLog(threadId, job.cwd, logPath).catch(() => warn(`T3 thread created; its log viewer could not open. Log: ${logPath}`));
@@ -314,7 +330,7 @@ export async function startT3JobView(job, warn) {
314
330
  finished = true;
315
331
  append(`\nNudge job: ${status}\n${summary ?? ""}\n${error ?? ""}\n`, true);
316
332
  await queued;
317
- await withClient(connection, (client) => client.dispatch({ type: "thread.meta.update", threadId, title: t3JobTitle(job, status) }))
333
+ await withT3Client(connection, (client) => client.dispatch({ type: "thread.meta.update", threadId, title: t3JobTitle(job, status) }))
318
334
  .catch(() => warn("T3 thread status could not be updated; the job result is recorded in Nudge."));
319
335
  },
320
336
  };
@@ -1 +1 @@
1
- {"version":3,"file":"runner-t3.js","sourceRoot":"","sources":["../src/runner-t3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-t3.js","sourceRoot":"","sources":["../src/runner-t3.ts"],"names":[],"mappings":"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"}
package/dist/runner.js CHANGED
@@ -36,6 +36,7 @@
36
36
  import { spawnSync } from "node:child_process";
37
37
  import { readArtifactManifest, uploadRunnerArtifacts } from "./runner-artifacts.js";
38
38
  import { startT3JobView } from "./runner-t3.js";
39
+ import { createT3Engine } from "./runner-t3-engine.js";
39
40
  import { access, mkdtemp, rm } from "node:fs/promises";
40
41
  import { constants as fsConstants } from "node:fs";
41
42
  import os from "node:os";
@@ -701,9 +702,9 @@ export async function runNudgeRunner(argv) {
701
702
  logs.push("event", `⚠ ${credentialsIssue}`);
702
703
  if (proxyIssue)
703
704
  logs.push("event", `⚠ ${proxyIssue}`);
704
- const engine = pickEngine(detected, job.engine);
705
+ let engine = pickEngine(detected, job.engine);
705
706
  const profile = job.kind === "task" ? phaseProfiles(job.engine).coding : phaseProfiles(job.engine).analysis;
706
- logs.localView = await startT3JobView({
707
+ const t3Job = {
707
708
  id: job.id,
708
709
  deployment: options.convexUrl,
709
710
  cwd: options.cwd,
@@ -713,10 +714,23 @@ export async function runNudgeRunner(argv) {
713
714
  engine: job.engine,
714
715
  model: profile.model,
715
716
  attempt: job.attempt,
716
- }, (message) => {
717
+ };
718
+ const t3Warn = (message) => {
717
719
  console.warn(`[runner] ${message}`);
718
720
  logs.push("event", message);
719
- });
721
+ };
722
+ const native = engine ? await createT3Engine(engine, t3Job, job.resuming ? job.threadId : null, t3Warn)
723
+ .catch((error) => ({
724
+ // A stored T3 reference must never reach a CLI resume command. Report
725
+ // unavailable/mismatched T3 through the normal job failure lifecycle.
726
+ engine: { ...engine, execute: async () => { throw error; } }, view: null,
727
+ })) : null;
728
+ if (native) {
729
+ engine = native.engine;
730
+ logs.localView = native.view;
731
+ }
732
+ else
733
+ logs.localView = await startT3JobView(t3Job, t3Warn);
720
734
  console.log(`[runner] ▶ job ${job.id} on ${job.engine} (attempt ${job.attempt}/${job.maxAttempts})`);
721
735
  // Should be unreachable — the server filters on our reported engines — but
722
736
  // a runner that lost an engine since registering would otherwise loop.
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -5,5 +5,5 @@
5
5
  // reported the same number, which made "why is my runner not starting?"
6
6
  // needlessly hard to diagnose. `npm run mcp:bump -- <release>` keeps this,
7
7
  // package.json, and package-lock.json synchronized.
8
- export const NUDGE_MCP_VERSION = "1.37.0";
8
+ export const NUDGE_MCP_VERSION = "1.39.0";
9
9
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@euqns/nudge-mcp",
3
- "version": "1.37.0",
3
+ "version": "1.39.0",
4
4
  "type": "module",
5
5
  "description": "Model Context Protocol server for the Nudge board (the in-house Trello).",
6
6
  "repository": {