@supen-ai/cli 1.4.3 → 1.4.5
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 +1 -1
- package/daemon/dist/agent-sdk/drivers/codex-app-server-driver.d.ts +2 -0
- package/daemon/dist/agent-sdk/drivers/codex-app-server-driver.d.ts.map +1 -1
- package/daemon/dist/agent-sdk/drivers/codex-app-server-driver.js +33 -35
- package/daemon/dist/agent-sdk/drivers/codex-app-server-driver.js.map +1 -1
- package/daemon/dist/autonomy/{session-autonomy.d.ts → thread-autonomy.d.ts} +1 -1
- package/daemon/dist/autonomy/thread-autonomy.d.ts.map +1 -0
- package/daemon/dist/autonomy/{session-autonomy.js → thread-autonomy.js} +1 -1
- package/daemon/dist/autonomy/thread-autonomy.js.map +1 -0
- package/daemon/dist/channels/http-routes.d.ts.map +1 -1
- package/daemon/dist/channels/http-routes.js +1 -7
- package/daemon/dist/channels/http-routes.js.map +1 -1
- package/daemon/dist/commands/catalog.js +1 -1
- package/daemon/dist/commands/catalog.js.map +1 -1
- package/daemon/dist/core/codex-subscription.d.ts.map +1 -1
- package/daemon/dist/core/codex-subscription.js +5 -27
- package/daemon/dist/core/codex-subscription.js.map +1 -1
- package/daemon/dist/core/direct-http-access.d.ts +2 -0
- package/daemon/dist/core/direct-http-access.d.ts.map +1 -0
- package/daemon/dist/core/direct-http-access.js +6 -0
- package/daemon/dist/core/direct-http-access.js.map +1 -0
- package/daemon/dist/core/gateway-config.d.ts.map +1 -1
- package/daemon/dist/core/gateway-config.js +8 -0
- package/daemon/dist/core/gateway-config.js.map +1 -1
- package/daemon/dist/core/gateway.d.ts +4 -0
- package/daemon/dist/core/gateway.d.ts.map +1 -1
- package/daemon/dist/core/gateway.js +60 -11
- package/daemon/dist/core/gateway.js.map +1 -1
- package/daemon/dist/core/logger.d.ts +1 -0
- package/daemon/dist/core/logger.d.ts.map +1 -1
- package/daemon/dist/core/logger.js +18 -0
- package/daemon/dist/core/logger.js.map +1 -1
- package/daemon/dist/core/os-info.d.ts +12 -1
- package/daemon/dist/core/os-info.d.ts.map +1 -1
- package/daemon/dist/core/os-info.js +29 -0
- package/daemon/dist/core/os-info.js.map +1 -1
- package/daemon/dist/core/store.js +1 -8
- package/daemon/dist/core/store.js.map +1 -1
- package/daemon/dist/core/thread-context.d.ts +6 -0
- package/daemon/dist/core/thread-context.d.ts.map +1 -1
- package/daemon/dist/core/thread-context.js +33 -0
- package/daemon/dist/core/thread-context.js.map +1 -1
- package/daemon/dist/core/thread-runtime-state.d.ts.map +1 -1
- package/daemon/dist/core/thread-runtime-state.js +8 -0
- package/daemon/dist/core/thread-runtime-state.js.map +1 -1
- package/daemon/dist/core/tool-lookup.d.ts +4 -0
- package/daemon/dist/core/tool-lookup.d.ts.map +1 -0
- package/daemon/dist/core/tool-lookup.js +51 -0
- package/daemon/dist/core/tool-lookup.js.map +1 -0
- package/daemon/dist/http/context.d.ts.map +1 -1
- package/daemon/dist/http/context.js +20 -1
- package/daemon/dist/http/context.js.map +1 -1
- package/daemon/dist/http/routes/agents.js +4 -4
- package/daemon/dist/http/routes/agents.js.map +1 -1
- package/daemon/dist/http/routes/automations.d.ts.map +1 -1
- package/daemon/dist/http/routes/automations.js +0 -8
- package/daemon/dist/http/routes/automations.js.map +1 -1
- package/daemon/dist/http/routes/rpc.d.ts.map +1 -1
- package/daemon/dist/http/routes/rpc.js +18 -6
- package/daemon/dist/http/routes/rpc.js.map +1 -1
- package/daemon/dist/http/routes/system.d.ts.map +1 -1
- package/daemon/dist/http/routes/system.js +193 -52
- package/daemon/dist/http/routes/system.js.map +1 -1
- package/daemon/dist/http/routes/threads.d.ts.map +1 -1
- package/daemon/dist/http/routes/threads.js +196 -6
- package/daemon/dist/http/routes/threads.js.map +1 -1
- package/daemon/dist/http/thread-stream.d.ts +1 -1
- package/daemon/dist/http/thread-stream.d.ts.map +1 -1
- package/daemon/dist/http/thread-stream.js +12 -2
- package/daemon/dist/http/thread-stream.js.map +1 -1
- package/daemon/dist/mcp/client.d.ts +3 -8
- package/daemon/dist/mcp/client.d.ts.map +1 -1
- package/daemon/dist/mcp/client.js +3 -16
- package/daemon/dist/mcp/client.js.map +1 -1
- package/daemon/dist/task-executor.d.ts +7 -5
- package/daemon/dist/task-executor.d.ts.map +1 -1
- package/daemon/dist/task-executor.js +100 -4
- package/daemon/dist/task-executor.js.map +1 -1
- package/daemon/dist/tools/system.js +1 -1
- package/daemon/dist/tools/system.js.map +1 -1
- package/daemon/package.json +4 -3
- package/daemon/scripts/bench-message-history.ts +584 -0
- package/daemon/scripts/browser-smoke.mjs +14 -15
- package/dist/bootstrap.js +1 -1
- package/dist/bootstrap.js.map +1 -1
- package/dist/chat.js +1 -1
- package/dist/chat.js.map +1 -1
- package/dist/commands.js +6 -3
- package/dist/commands.js.map +1 -1
- package/dist/computer.js +1 -1
- package/dist/index.js +1 -1
- package/dist/pairing.d.ts +1 -1
- package/dist/pairing.js +2 -2
- package/dist/pairing.js.map +1 -1
- package/dist/repl.js +1 -1
- package/dist/repl.js.map +1 -1
- package/dist/thread.js +10 -7
- package/dist/thread.js.map +1 -1
- package/dist/ui/app.js +3 -3
- package/dist/ui/app.js.map +1 -1
- package/package.json +1 -1
- package/daemon/dist/autonomy/session-autonomy.d.ts.map +0 -1
- package/daemon/dist/autonomy/session-autonomy.js.map +0 -1
- package/daemon/dist/mcp/tools.d.ts +0 -19
- package/daemon/dist/mcp/tools.d.ts.map +0 -1
- package/daemon/dist/mcp/tools.js +0 -132
- package/daemon/dist/mcp/tools.js.map +0 -1
- package/daemon/dist/tools/skill-tools.d.ts +0 -20
- package/daemon/dist/tools/skill-tools.d.ts.map +0 -1
- package/daemon/dist/tools/skill-tools.js +0 -60
- package/daemon/dist/tools/skill-tools.js.map +0 -1
|
@@ -2,7 +2,7 @@ import { randomUUID } from 'crypto';
|
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import os from 'os';
|
|
4
4
|
import path from 'path';
|
|
5
|
-
import { ensureThread, getAllThreads, getThreadForAgent, getThreadUiEvents, getThreadsForAgent, } from '../../core/store.js';
|
|
5
|
+
import { ensureThread, getAllThreads, getThreadForAgent, getThreadUiEvents, getThreadsForAgent, updateThreadSdkSessionId, } from '../../core/store.js';
|
|
6
6
|
import { recordThreadControlCommand } from '../../core/control-commands.js';
|
|
7
7
|
import { listControlLogEntries } from '../../core/control-log.js';
|
|
8
8
|
import { appendThreadEvent } from '../../core/thread-event-log.js';
|
|
@@ -14,6 +14,7 @@ import { buildHttpThreadId } from '../stream.js';
|
|
|
14
14
|
import { buildWorkspaceAttachmentPrompt, persistUserMessageFiles } from './chat-input.js';
|
|
15
15
|
import { readCodexThreadHistory } from './system.js';
|
|
16
16
|
import { logger } from '../../core/logger.js';
|
|
17
|
+
import { createCodexAppServerThread } from '../../agent-sdk/drivers/codex-app-server-driver.js';
|
|
17
18
|
function success(id, result) {
|
|
18
19
|
return { jsonrpc: '2.0', id, result };
|
|
19
20
|
}
|
|
@@ -472,11 +473,6 @@ async function handleRpcRequest(request, context) {
|
|
|
472
473
|
if (!agentId)
|
|
473
474
|
return rpcError(id, -32602, 'agentId is required');
|
|
474
475
|
let threadId = threadIdFromParams(params);
|
|
475
|
-
if (!threadId) {
|
|
476
|
-
do {
|
|
477
|
-
threadId = `thread-${Date.now().toString(36)}-${randomUUID().slice(0, 8)}`;
|
|
478
|
-
} while (getThreadForAgent(agentId, threadId));
|
|
479
|
-
}
|
|
480
476
|
const environmentSnapshot = normalizeEnvironmentSnapshot(params.environmentSnapshot ?? params.environment_snapshot);
|
|
481
477
|
const taskWorkspaceFolder = normalizeTaskWorkspaceFolder(params.taskWorkspaceFolder ?? params.task_workspace_folder);
|
|
482
478
|
const taskWorkspaceError = validateTaskWorkspaceFolder(taskWorkspaceFolder);
|
|
@@ -486,11 +482,24 @@ async function handleRpcRequest(request, context) {
|
|
|
486
482
|
readString(params.environment_id) ||
|
|
487
483
|
environmentSnapshot.id ||
|
|
488
484
|
'default';
|
|
485
|
+
const isCodexAgent = agentId === 'codex';
|
|
486
|
+
if (!threadId && isCodexAgent) {
|
|
487
|
+
threadId = await createCodexAppServerThread({
|
|
488
|
+
agentId,
|
|
489
|
+
cwd: taskWorkspaceFolder ? resolveLocalWorkspaceFolder(taskWorkspaceFolder) : process.cwd(),
|
|
490
|
+
model: readString(params.model) || undefined,
|
|
491
|
+
env: environmentSnapshot.environment_variables,
|
|
492
|
+
});
|
|
493
|
+
}
|
|
494
|
+
if (!threadId) {
|
|
495
|
+
return rpcError(id, -32602, 'threadId is required');
|
|
496
|
+
}
|
|
489
497
|
const thread = ensureThread({
|
|
490
498
|
agent_id: agentId,
|
|
491
499
|
thread_id: threadId,
|
|
492
500
|
channel: 'http',
|
|
493
501
|
agent_name: agentId,
|
|
502
|
+
...(isCodexAgent ? { backend_driver_id: 'codex-app-server' } : {}),
|
|
494
503
|
source_ref: buildHttpThreadId(agentId, threadId),
|
|
495
504
|
knowledge_id: readString(params.knowledgeId) || readString(params.knowledge_id) || undefined,
|
|
496
505
|
knowledge_name: readString(params.knowledgeName) || readString(params.knowledge_name) || undefined,
|
|
@@ -499,6 +508,9 @@ async function handleRpcRequest(request, context) {
|
|
|
499
508
|
task_workspace_folder: taskWorkspaceFolder,
|
|
500
509
|
title: readString(params.title) || undefined,
|
|
501
510
|
});
|
|
511
|
+
if (isCodexAgent) {
|
|
512
|
+
updateThreadSdkSessionId(agentId, threadId, threadId);
|
|
513
|
+
}
|
|
502
514
|
recordThreadControlCommand({
|
|
503
515
|
agentId,
|
|
504
516
|
threadId: threadId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/http/routes/rpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/http/routes/rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/http/routes/system.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/http/routes/system.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAiP1B,KAAK,qBAAqB,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC1C,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAiaF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAyC,GAChD,MAAM,EAAE,CA8BV;AAqiCD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAgC,EACrC,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwQnD;AAiqCD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CA45BlB"}
|
|
@@ -40,6 +40,8 @@ const MIRRORED_THREAD_TEXT_LIMIT = 48_000;
|
|
|
40
40
|
const MIRRORED_THREAD_INLINE_DATA_URL_LIMIT = 120_000;
|
|
41
41
|
const MIRRORED_THREAD_STREAM_REPLAY_LIMIT = 500;
|
|
42
42
|
const MIRRORED_THREAD_STREAM_REPLAY_MAX_BYTES = 8 * 1024 * 1024;
|
|
43
|
+
const MIRRORED_THREAD_CONTEXT_EVENT_LIMIT = 1000;
|
|
44
|
+
const MIRRORED_THREAD_CONTEXT_EVENT_MAX_BYTES = 16 * 1024 * 1024;
|
|
43
45
|
const MIRRORED_THREAD_STREAM_JSONL_POLL_MS = 500;
|
|
44
46
|
const MIRRORED_THREAD_STREAM_JSONL_READ_MAX_BYTES = 2 * 1024 * 1024;
|
|
45
47
|
const MIRRORED_THREAD_STATUS_TAIL_MAX_BYTES = 256 * 1024;
|
|
@@ -879,26 +881,81 @@ function readThreadWorkspacePath(filePath) {
|
|
|
879
881
|
}
|
|
880
882
|
return null;
|
|
881
883
|
}
|
|
884
|
+
const CODEX_THREAD_OBSERVER_STDOUT_MAX_BYTES = 4 * 1024 * 1024;
|
|
882
885
|
function startCodexThreadObserver(input) {
|
|
883
|
-
const
|
|
886
|
+
const codexPath = resolveCliExecutablePath('codex');
|
|
887
|
+
if (!codexPath) {
|
|
888
|
+
input.write({
|
|
889
|
+
type: 'error',
|
|
890
|
+
message: 'codex executable was not found in the daemon tool lookup PATH',
|
|
891
|
+
});
|
|
892
|
+
return () => { };
|
|
893
|
+
}
|
|
894
|
+
const child = spawn(codexPath, ['app-server', '--listen', 'stdio://'], {
|
|
884
895
|
cwd: input.cwd,
|
|
885
896
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
886
|
-
env: withRuntimeSpaceEnv(
|
|
897
|
+
env: withRuntimeSpaceEnv(buildToolLookupEnv()),
|
|
887
898
|
});
|
|
888
899
|
let buffer = '';
|
|
889
900
|
let nextId = 1;
|
|
890
901
|
let observerEventIndex = 0;
|
|
891
902
|
let initialized = false;
|
|
903
|
+
let closed = false;
|
|
904
|
+
child.on('error', (err) => {
|
|
905
|
+
if (closed)
|
|
906
|
+
return;
|
|
907
|
+
input.write({
|
|
908
|
+
type: 'error',
|
|
909
|
+
message: err instanceof Error ? err.message : String(err),
|
|
910
|
+
});
|
|
911
|
+
});
|
|
912
|
+
child.on('close', () => {
|
|
913
|
+
closed = true;
|
|
914
|
+
});
|
|
915
|
+
child.stdin.on('error', (error) => {
|
|
916
|
+
closed = true;
|
|
917
|
+
if (error?.code === 'EPIPE' || error?.code === 'ECONNRESET')
|
|
918
|
+
return;
|
|
919
|
+
logger.debug({ err: error, threadId: input.threadId }, 'Codex thread observer stdin failed');
|
|
920
|
+
});
|
|
921
|
+
const closeObserver = (signal = 'SIGTERM') => {
|
|
922
|
+
if (closed)
|
|
923
|
+
return;
|
|
924
|
+
closed = true;
|
|
925
|
+
try {
|
|
926
|
+
child.stdin.destroy();
|
|
927
|
+
child.kill(signal);
|
|
928
|
+
}
|
|
929
|
+
catch {
|
|
930
|
+
// Observer cleanup is best-effort; the HTTP stream is already closing.
|
|
931
|
+
}
|
|
932
|
+
};
|
|
892
933
|
const send = (message) => {
|
|
893
|
-
if (!child.stdin.writable)
|
|
934
|
+
if (closed || child.stdin.destroyed || !child.stdin.writable)
|
|
894
935
|
return;
|
|
895
|
-
|
|
936
|
+
try {
|
|
937
|
+
child.stdin.write(`${JSON.stringify(message)}\n`);
|
|
938
|
+
}
|
|
939
|
+
catch (error) {
|
|
940
|
+
closed = true;
|
|
941
|
+
const code = error?.code;
|
|
942
|
+
if (code === 'EPIPE' || code === 'ECONNRESET')
|
|
943
|
+
return;
|
|
944
|
+
logger.debug({ err: error, threadId: input.threadId }, 'Codex thread observer write failed');
|
|
945
|
+
}
|
|
896
946
|
};
|
|
897
947
|
const request = (method, params) => {
|
|
898
948
|
send({ id: nextId++, method, ...(params ? { params } : {}) });
|
|
899
949
|
};
|
|
900
950
|
child.stdout.on('data', (chunk) => {
|
|
951
|
+
if (closed)
|
|
952
|
+
return;
|
|
901
953
|
buffer += String(chunk);
|
|
954
|
+
if (buffer.length > CODEX_THREAD_OBSERVER_STDOUT_MAX_BYTES) {
|
|
955
|
+
logger.debug({ threadId: input.threadId, bytes: buffer.length }, 'Codex thread observer stdout exceeded line buffer limit');
|
|
956
|
+
closeObserver('SIGKILL');
|
|
957
|
+
return;
|
|
958
|
+
}
|
|
902
959
|
while (true) {
|
|
903
960
|
const newlineIndex = buffer.indexOf('\n');
|
|
904
961
|
if (newlineIndex < 0)
|
|
@@ -956,12 +1013,7 @@ function startCodexThreadObserver(input) {
|
|
|
956
1013
|
capabilities: { experimentalApi: true },
|
|
957
1014
|
});
|
|
958
1015
|
return () => {
|
|
959
|
-
|
|
960
|
-
child.kill('SIGTERM');
|
|
961
|
-
}
|
|
962
|
-
catch {
|
|
963
|
-
// Observer cleanup is best-effort; the HTTP stream is already closing.
|
|
964
|
-
}
|
|
1016
|
+
closeObserver();
|
|
965
1017
|
};
|
|
966
1018
|
}
|
|
967
1019
|
function normalizeThreadStatusToken(value) {
|
|
@@ -1478,7 +1530,7 @@ export function readCodexThreadHistory(threadId, limit = MIRRORED_THREAD_HISTORY
|
|
|
1478
1530
|
const workspacePath = mirroredThreadWorkspacePath(threadPath, stateEntry);
|
|
1479
1531
|
const indexEntry = readThreadIndexEntry(threadId);
|
|
1480
1532
|
const eventLogHead = readThreadEventLogHead(eventLogThreadId);
|
|
1481
|
-
const historyLineTarget = Math.min(
|
|
1533
|
+
const historyLineTarget = Math.min(5_000, Math.max(3, safeLimit));
|
|
1482
1534
|
const lines = readRecentCodexHistoryLines(threadPath, historyLineTarget);
|
|
1483
1535
|
const messages = [];
|
|
1484
1536
|
const events = [];
|
|
@@ -1836,11 +1888,30 @@ function collectSpaceLogEntries(filters = {}) {
|
|
|
1836
1888
|
};
|
|
1837
1889
|
}
|
|
1838
1890
|
function writeSse(res, payload) {
|
|
1839
|
-
if (
|
|
1840
|
-
|
|
1841
|
-
|
|
1891
|
+
if (res.destroyed || res.writableEnded)
|
|
1892
|
+
return false;
|
|
1893
|
+
try {
|
|
1894
|
+
if (!payload) {
|
|
1895
|
+
res.write(': ping\n\n');
|
|
1896
|
+
return true;
|
|
1897
|
+
}
|
|
1898
|
+
res.write(`data: ${JSON.stringify(payload)}\n\n`);
|
|
1899
|
+
return true;
|
|
1900
|
+
}
|
|
1901
|
+
catch {
|
|
1902
|
+
return false;
|
|
1903
|
+
}
|
|
1904
|
+
}
|
|
1905
|
+
function writeSseControl(res, line) {
|
|
1906
|
+
if (res.destroyed || res.writableEnded)
|
|
1907
|
+
return false;
|
|
1908
|
+
try {
|
|
1909
|
+
res.write(`${line}\n`);
|
|
1910
|
+
return true;
|
|
1911
|
+
}
|
|
1912
|
+
catch {
|
|
1913
|
+
return false;
|
|
1842
1914
|
}
|
|
1843
|
-
res.write(`data: ${JSON.stringify(payload)}\n\n`);
|
|
1844
1915
|
}
|
|
1845
1916
|
function numericQueryParam(value) {
|
|
1846
1917
|
if (!value)
|
|
@@ -1903,13 +1974,7 @@ const CODING_CLI_INSTALL_COMMANDS = {
|
|
|
1903
1974
|
const MANAGED_CODING_CLI_INSTALL_COMMANDS = {
|
|
1904
1975
|
codex: CODING_CLI_INSTALL_COMMANDS.codex,
|
|
1905
1976
|
};
|
|
1906
|
-
function resolveManagedCodingCliInstallCommand(cli,
|
|
1907
|
-
if (cli === 'codex' && current.install_source === 'homebrew') {
|
|
1908
|
-
return {
|
|
1909
|
-
command: 'sh',
|
|
1910
|
-
args: ['-lc', 'brew upgrade codex || brew upgrade --cask codex || brew reinstall --cask codex'],
|
|
1911
|
-
};
|
|
1912
|
-
}
|
|
1977
|
+
function resolveManagedCodingCliInstallCommand(cli, _current) {
|
|
1913
1978
|
return MANAGED_CODING_CLI_INSTALL_COMMANDS[cli];
|
|
1914
1979
|
}
|
|
1915
1980
|
const CODING_CLI_NAMES = ['codex'];
|
|
@@ -1923,6 +1988,13 @@ const DETECTABLE_SPACE_APPS = [
|
|
|
1923
1988
|
{ id: 'gh', command: 'gh', managed: false },
|
|
1924
1989
|
{ id: 'git', command: 'git', managed: false },
|
|
1925
1990
|
];
|
|
1991
|
+
const TOOL_LOOKUP_PATH_ENTRIES = [
|
|
1992
|
+
'/opt/homebrew/bin',
|
|
1993
|
+
'/usr/local/bin',
|
|
1994
|
+
'/opt/homebrew/sbin',
|
|
1995
|
+
'/usr/local/sbin',
|
|
1996
|
+
'/Applications/Codex.app/Contents/Resources',
|
|
1997
|
+
];
|
|
1926
1998
|
const codexConnectRuntime = {
|
|
1927
1999
|
state: 'idle',
|
|
1928
2000
|
updatedAt: null,
|
|
@@ -2117,8 +2189,11 @@ function inferCliInstallSource(name, executablePath, resolvedPath) {
|
|
|
2117
2189
|
if (normalized.includes('/.local/share/pnpm/') || normalized.includes('/pnpm/')) {
|
|
2118
2190
|
return { install_source: 'pnpm', update_supported: false };
|
|
2119
2191
|
}
|
|
2192
|
+
if (name === 'codex' && normalized.includes('/applications/codex.app/contents/resources/codex')) {
|
|
2193
|
+
return { install_source: 'codex-app', update_supported: false };
|
|
2194
|
+
}
|
|
2120
2195
|
if (normalized.includes('/homebrew/') || normalized.includes('/opt/homebrew/') || normalized.includes('/cellar/')) {
|
|
2121
|
-
return { install_source: 'homebrew', update_supported:
|
|
2196
|
+
return { install_source: 'homebrew', update_supported: false };
|
|
2122
2197
|
}
|
|
2123
2198
|
if (name === 'codex') {
|
|
2124
2199
|
const npmRoot = detectGlobalNpmRoot();
|
|
@@ -2132,15 +2207,32 @@ function inferCliInstallSource(name, executablePath, resolvedPath) {
|
|
|
2132
2207
|
}
|
|
2133
2208
|
return { install_source: null, update_supported: false };
|
|
2134
2209
|
}
|
|
2135
|
-
function
|
|
2136
|
-
const
|
|
2210
|
+
function buildToolLookupEnv() {
|
|
2211
|
+
const existingPath = process.env.PATH || '';
|
|
2212
|
+
const entries = [
|
|
2213
|
+
...TOOL_LOOKUP_PATH_ENTRIES,
|
|
2214
|
+
...existingPath.split(path.delimiter),
|
|
2215
|
+
].filter((entry) => entry.trim().length > 0);
|
|
2216
|
+
return {
|
|
2217
|
+
...process.env,
|
|
2218
|
+
PATH: Array.from(new Set(entries)).join(path.delimiter),
|
|
2219
|
+
};
|
|
2220
|
+
}
|
|
2221
|
+
function resolveCliExecutablePath(name) {
|
|
2222
|
+
const detected = spawnSync('sh', ['-c', `command -v ${name}`], {
|
|
2137
2223
|
encoding: 'utf8',
|
|
2138
2224
|
timeout: 3000,
|
|
2225
|
+
env: buildToolLookupEnv(),
|
|
2139
2226
|
});
|
|
2140
|
-
if (
|
|
2227
|
+
if (detected.status !== 0)
|
|
2228
|
+
return null;
|
|
2229
|
+
return String(detected.stdout || '').split(/\r?\n/g).find(Boolean)?.trim() || null;
|
|
2230
|
+
}
|
|
2231
|
+
function detectCliInstalled(name) {
|
|
2232
|
+
const executablePath = resolveCliExecutablePath(name);
|
|
2233
|
+
if (!executablePath) {
|
|
2141
2234
|
return { installed: false, version: null, path: null, resolved_path: null, install_source: null, update_supported: false };
|
|
2142
2235
|
}
|
|
2143
|
-
const executablePath = String(cmd.stdout || '').split(/\r?\n/g).find(Boolean)?.trim() || null;
|
|
2144
2236
|
let resolvedPath = null;
|
|
2145
2237
|
if (executablePath) {
|
|
2146
2238
|
try {
|
|
@@ -2150,9 +2242,10 @@ function detectCliInstalled(name) {
|
|
|
2150
2242
|
resolvedPath = executablePath;
|
|
2151
2243
|
}
|
|
2152
2244
|
}
|
|
2153
|
-
const versionCmd = spawnSync(
|
|
2245
|
+
const versionCmd = spawnSync(executablePath, ['--version'], {
|
|
2154
2246
|
encoding: 'utf8',
|
|
2155
2247
|
timeout: 5000,
|
|
2248
|
+
env: buildToolLookupEnv(),
|
|
2156
2249
|
});
|
|
2157
2250
|
const output = versionCmd.status === 0
|
|
2158
2251
|
? trimLogNoise(`${versionCmd.stdout || ''}\n${versionCmd.stderr || ''}`) || ''
|
|
@@ -2170,21 +2263,22 @@ function detectCliInstalled(name) {
|
|
|
2170
2263
|
function detectCodexAuthStatus(installed) {
|
|
2171
2264
|
if (!installed)
|
|
2172
2265
|
return { authenticated: false, summary: 'codex not installed' };
|
|
2173
|
-
const
|
|
2266
|
+
const codexPath = resolveCliExecutablePath('codex');
|
|
2267
|
+
if (!codexPath)
|
|
2268
|
+
return { authenticated: false, summary: 'codex not found' };
|
|
2269
|
+
const result = spawnSync(codexPath, ['login', 'status'], {
|
|
2174
2270
|
encoding: 'utf8',
|
|
2175
2271
|
timeout: 8000,
|
|
2272
|
+
env: buildToolLookupEnv(),
|
|
2176
2273
|
});
|
|
2177
2274
|
const lines = `${result.stdout || ''}\n${result.stderr || ''}`
|
|
2178
2275
|
.split(/\r?\n/g)
|
|
2179
2276
|
.map((line) => trimLogNoise(line))
|
|
2180
2277
|
.filter(Boolean);
|
|
2181
2278
|
const text = lines.join('\n');
|
|
2182
|
-
const
|
|
2279
|
+
const cliAuthenticated = /logged in/i.test(text) && !/not logged in/i.test(text);
|
|
2183
2280
|
const email = text.match(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/i)?.[0] || null;
|
|
2184
2281
|
const accountLine = lines.find((line) => /logged in as|account|email|user/i.test(line) && !line.startsWith('file://')) || null;
|
|
2185
|
-
const summary = authenticated
|
|
2186
|
-
? email || accountLine || 'Authenticated'
|
|
2187
|
-
: null;
|
|
2188
2282
|
let accountId = null;
|
|
2189
2283
|
let tokenEmail = null;
|
|
2190
2284
|
let tokenName = null;
|
|
@@ -2199,6 +2293,7 @@ function detectCodexAuthStatus(installed) {
|
|
|
2199
2293
|
catch {
|
|
2200
2294
|
accountId = null;
|
|
2201
2295
|
}
|
|
2296
|
+
const authenticated = cliAuthenticated || Boolean(tokenEmail || tokenName || accountId);
|
|
2202
2297
|
return {
|
|
2203
2298
|
authenticated,
|
|
2204
2299
|
summary: authenticated ? tokenEmail || email || tokenName || accountLine || 'Authenticated' : null,
|
|
@@ -2626,9 +2721,16 @@ function startCodexConnectFlow() {
|
|
|
2626
2721
|
codexConnectRuntime.updatedAt = nowIso();
|
|
2627
2722
|
codexConnectRuntime.logs = [];
|
|
2628
2723
|
codexConnectRuntime.error = null;
|
|
2629
|
-
const
|
|
2724
|
+
const codexPath = resolveCliExecutablePath('codex');
|
|
2725
|
+
if (!codexPath) {
|
|
2726
|
+
codexConnectRuntime.state = 'failed';
|
|
2727
|
+
codexConnectRuntime.error = 'codex executable was not found in the daemon tool lookup PATH';
|
|
2728
|
+
codexConnectRuntime.updatedAt = nowIso();
|
|
2729
|
+
return codexConnectSnapshot();
|
|
2730
|
+
}
|
|
2731
|
+
const child = spawn(codexPath, ['login', '--device-auth'], {
|
|
2630
2732
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
2631
|
-
env:
|
|
2733
|
+
env: buildToolLookupEnv(),
|
|
2632
2734
|
});
|
|
2633
2735
|
codexConnectRuntime.child = child;
|
|
2634
2736
|
child.stdout.on('data', (chunk) => pushCodexConnectLog(String(chunk)));
|
|
@@ -2996,9 +3098,15 @@ export async function handleSystemRoutes(req, res, url, pathname, method) {
|
|
|
2996
3098
|
return true;
|
|
2997
3099
|
}
|
|
2998
3100
|
if (pathname === '/api/computers/{computer_id}/agents/codex/thread' && method === 'DELETE') {
|
|
2999
|
-
const
|
|
3101
|
+
const codexPath = resolveCliExecutablePath('codex');
|
|
3102
|
+
if (!codexPath) {
|
|
3103
|
+
writeProtocolError(res, 400, 'validation_error', 'codex_not_installed', 'codex CLI is not installed');
|
|
3104
|
+
return true;
|
|
3105
|
+
}
|
|
3106
|
+
const cmd = spawnSync(codexPath, ['logout'], {
|
|
3000
3107
|
encoding: 'utf8',
|
|
3001
3108
|
timeout: 15_000,
|
|
3109
|
+
env: buildToolLookupEnv(),
|
|
3002
3110
|
});
|
|
3003
3111
|
if (cmd.status !== 0) {
|
|
3004
3112
|
const output = `${cmd.stdout || ''}\n${cmd.stderr || ''}`.trim() || 'codex logout failed';
|
|
@@ -3095,20 +3203,46 @@ export async function handleSystemRoutes(req, res, url, pathname, method) {
|
|
|
3095
3203
|
let jsonlEventIndex = 0;
|
|
3096
3204
|
const workspacePath = readThreadWorkspacePath(threadPath) || process.cwd();
|
|
3097
3205
|
const withThreadContext = (chunk) => attachThreadContextToChunk(chunk, readThreadContext({ threadId, workspace: workspacePath }));
|
|
3098
|
-
|
|
3206
|
+
let streamClosed = false;
|
|
3207
|
+
let stopCodexObserver = () => { };
|
|
3208
|
+
let pingTimer = null;
|
|
3209
|
+
let jsonlPollTimer = null;
|
|
3210
|
+
const cleanup = () => {
|
|
3211
|
+
if (streamClosed)
|
|
3212
|
+
return;
|
|
3213
|
+
streamClosed = true;
|
|
3214
|
+
if (pingTimer)
|
|
3215
|
+
clearInterval(pingTimer);
|
|
3216
|
+
if (jsonlPollTimer)
|
|
3217
|
+
clearInterval(jsonlPollTimer);
|
|
3218
|
+
stopCodexObserver();
|
|
3219
|
+
removeThreadStreamClient(threadId, res);
|
|
3220
|
+
};
|
|
3221
|
+
stopCodexObserver = process.env.NODE_ENV === 'test'
|
|
3099
3222
|
? () => { }
|
|
3100
3223
|
: startCodexThreadObserver({
|
|
3101
3224
|
threadId,
|
|
3102
3225
|
cwd: workspacePath,
|
|
3103
|
-
write: (chunk, id) =>
|
|
3226
|
+
write: (chunk, id) => {
|
|
3227
|
+
if (streamClosed)
|
|
3228
|
+
return;
|
|
3229
|
+
const wrote = writeThreadStreamEvent(res, withThreadContext(chunk), id ? { id } : {});
|
|
3230
|
+
if (!wrote)
|
|
3231
|
+
cleanup();
|
|
3232
|
+
},
|
|
3104
3233
|
});
|
|
3105
|
-
|
|
3106
|
-
writeSse(res)
|
|
3234
|
+
pingTimer = setInterval(() => {
|
|
3235
|
+
if (!writeSse(res)) {
|
|
3236
|
+
cleanup();
|
|
3237
|
+
return;
|
|
3238
|
+
}
|
|
3107
3239
|
res.flush?.();
|
|
3108
3240
|
}, SPACE_LOG_STREAM_PING_MS);
|
|
3109
3241
|
pingTimer.unref?.();
|
|
3110
|
-
|
|
3242
|
+
jsonlPollTimer = threadPath
|
|
3111
3243
|
? setInterval(() => {
|
|
3244
|
+
if (streamClosed)
|
|
3245
|
+
return;
|
|
3112
3246
|
const read = readAppendedJsonlLines(threadPath, jsonlOffset);
|
|
3113
3247
|
jsonlOffset = read.offset;
|
|
3114
3248
|
for (const line of read.lines) {
|
|
@@ -3120,34 +3254,41 @@ export async function handleSystemRoutes(req, res, url, pathname, method) {
|
|
|
3120
3254
|
if (isCodexJsonlMessageRecord(parsed))
|
|
3121
3255
|
continue;
|
|
3122
3256
|
jsonlEventIndex += 1;
|
|
3123
|
-
writeThreadStreamEvent(res, withThreadContext(codexJsonlEventChunk(parsed)), {
|
|
3257
|
+
const wrote = writeThreadStreamEvent(res, withThreadContext(codexJsonlEventChunk(parsed)), {
|
|
3124
3258
|
id: `jsonl-${jsonlOffset}-${jsonlEventIndex}`,
|
|
3125
3259
|
});
|
|
3260
|
+
if (!wrote) {
|
|
3261
|
+
cleanup();
|
|
3262
|
+
return;
|
|
3263
|
+
}
|
|
3126
3264
|
}
|
|
3127
3265
|
res.flush?.();
|
|
3128
3266
|
}, MIRRORED_THREAD_STREAM_JSONL_POLL_MS)
|
|
3129
3267
|
: null;
|
|
3130
3268
|
jsonlPollTimer?.unref?.();
|
|
3131
|
-
const cleanup = () => {
|
|
3132
|
-
clearInterval(pingTimer);
|
|
3133
|
-
if (jsonlPollTimer)
|
|
3134
|
-
clearInterval(jsonlPollTimer);
|
|
3135
|
-
stopCodexObserver();
|
|
3136
|
-
removeThreadStreamClient(threadId, res);
|
|
3137
|
-
};
|
|
3138
3269
|
req.on('close', cleanup);
|
|
3270
|
+
req.on('aborted', cleanup);
|
|
3139
3271
|
res.on('close', cleanup);
|
|
3272
|
+
res.on('error', cleanup);
|
|
3140
3273
|
res.flushHeaders?.();
|
|
3141
|
-
res
|
|
3142
|
-
|
|
3274
|
+
if (!writeSseControl(res, 'retry: 1000') || !writeSse(res)) {
|
|
3275
|
+
cleanup();
|
|
3276
|
+
return true;
|
|
3277
|
+
}
|
|
3143
3278
|
for (const event of listRecentThreadEventsAfter(threadId, replayAfter, {
|
|
3144
3279
|
limit: MIRRORED_THREAD_STREAM_REPLAY_LIMIT,
|
|
3145
3280
|
maxBytes: MIRRORED_THREAD_STREAM_REPLAY_MAX_BYTES,
|
|
3146
3281
|
})) {
|
|
3282
|
+
if (streamClosed)
|
|
3283
|
+
break;
|
|
3147
3284
|
const chunk = threadStreamChunkForEvent(event);
|
|
3148
3285
|
if (!chunk)
|
|
3149
3286
|
continue;
|
|
3150
|
-
writeThreadStreamEvent(res, withThreadContext(chunk), { id: event.sequence });
|
|
3287
|
+
const wrote = writeThreadStreamEvent(res, withThreadContext(chunk), { id: event.sequence });
|
|
3288
|
+
if (!wrote) {
|
|
3289
|
+
cleanup();
|
|
3290
|
+
break;
|
|
3291
|
+
}
|
|
3151
3292
|
}
|
|
3152
3293
|
res.flush?.();
|
|
3153
3294
|
return true;
|