@agent-link/agent 0.1.263 → 0.1.265

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ const require = createRequire(import.meta.url);
25
25
  const pkg = require('../package.json');
26
26
  const TEAM_SESSIONS_DIR = path.join(CONFIG_DIR, 'team-sessions');
27
27
  const LOOP_SESSIONS_DIR = path.join(CONFIG_DIR, 'loop-sessions');
28
- import { handleChat as claudeHandleChat, addSendFn, abort as abortClaude, abortAll as abortAllClaude, cancelExecution as claudeCancelExecution, handleUserAnswer, handleToolPermissionResponse, handleBtwQuestion, getConversation, getConversations, getIsCompacting, clearSessionId, evictByClaudeSessionId, rebindConversation, addOutputObserver, removeOutputObserver, addCloseObserver, removeCloseObserver, setOutputObserver, clearOutputObserver, setCloseObserver, clearCloseObserver, restartConversation, createPlaceholderConversation, getPendingQuestions, getPendingToolPermissions, setModel, addOnSessionStarted, getBackendType, setBackendType, isCopilotBackend, addCopilotSendFn, handleCopilotChat, cancelCopilotExecution, listCopilotSessionsPage, listAllCopilotSessionsPage, readCopilotSessionMessages, deleteCopilotSession, renameCopilotSession, getCopilotConversation, getCopilotConversations, createCopilotPlaceholder, restartCopilotConversation, rebindCopilotConversation, copilotCapabilities } from './runtime.js';
28
+ import { handleChat as claudeHandleChat, addSendFn, abort as abortClaude, abortAll as abortAllClaude, cancelExecution as claudeCancelExecution, handleUserAnswer, handleToolPermissionResponse, handleBtwQuestion, getConversation, getConversations, getIsCompacting, clearSessionId, evictByClaudeSessionId, rebindConversation, addOutputObserver, removeOutputObserver, addCloseObserver, removeCloseObserver, setOutputObserver, clearOutputObserver, setCloseObserver, clearCloseObserver, restartConversation, createPlaceholderConversation, getPendingQuestions, getPendingToolPermissions, setModel, addOnSessionStarted, getBackendType, setBackendType, isCopilotBackend, isCodexBackend, addCopilotSendFn, handleCopilotChat, cancelCopilotExecution, listCopilotSessionsPage, listAllCopilotSessionsPage, readCopilotSessionMessages, deleteCopilotSession, renameCopilotSession, getCopilotConversation, getCopilotConversations, createCopilotPlaceholder, restartCopilotConversation, rebindCopilotConversation, cleanupAllCopilotConversations, copilotCapabilities, addCodexSendFn, handleCodexChat, cancelCodexExecution, listCodexSessionsPage, listAllCodexSessionsPage, readCodexSessionMessages, deleteCodexSession, renameCodexSession, getCodexConversation, getCodexConversations, createCodexPlaceholder, restartCodexConversation, rebindCodexConversation, cleanupAllCodexConversations, evictByCodexSessionId, codexCapabilities } from './runtime.js';
29
29
  import { DEFAULT_SESSION_LIST_LIMIT, LEGACY_SESSION_LIST_CAP, listSessions, listSessionsPageAsync, readSessionMessages, deleteSession, renameSession, listAllRecentSessionsPage, getSessionCacheStats } from './history.js';
30
30
  import { claudeCapabilities } from './backends/types.js';
31
31
  import { searchSessions } from './search-sessions.js';
@@ -58,6 +58,7 @@ const state = {
58
58
  };
59
59
  let unsubscribeSend = null;
60
60
  let unsubscribeCopilotSend = null;
61
+ let unsubscribeCodexSend = null;
61
62
  let unsubscribeSessionStarted = null;
62
63
  let heartbeatInterval = null;
63
64
  let heartbeatTimeout = null;
@@ -67,6 +68,17 @@ initEntraTimers({
67
68
  setToken: (token) => { state.entraToken = token; },
68
69
  send: (msg) => send(msg),
69
70
  });
71
+ function capabilitiesForBackend(backend) {
72
+ switch (backend) {
73
+ case 'copilot':
74
+ return copilotCapabilities();
75
+ case 'codex':
76
+ return codexCapabilities();
77
+ case 'claude':
78
+ default:
79
+ return claudeCapabilities();
80
+ }
81
+ }
70
82
  /**
71
83
  * Set the Entra token for this connection. Called before connect()
72
84
  * after the CLI acquires the token (interactive browser flow or cache).
@@ -82,6 +94,7 @@ export function connect(config) {
82
94
  state.workDir = config.dir;
83
95
  state.config = config;
84
96
  state.shouldReconnect = true;
97
+ setBackendType(config.agent ?? 'claude');
85
98
  // Initialize E2E encryption key
86
99
  const ignoreConfig = !!process.env.AGENTLINK_NO_STATE;
87
100
  state.e2eKey = getOrCreateE2EKey(ignoreConfig);
@@ -109,6 +122,13 @@ export function connect(config) {
109
122
  catch { /* ignore */ }
110
123
  }
111
124
  unsubscribeCopilotSend = addCopilotSendFn(send);
125
+ if (unsubscribeCodexSend) {
126
+ try {
127
+ unsubscribeCodexSend();
128
+ }
129
+ catch { /* ignore */ }
130
+ }
131
+ unsubscribeCodexSend = addCodexSendFn(send);
112
132
  // Wire up action item session linkage
113
133
  if (unsubscribeSessionStarted) {
114
134
  try {
@@ -374,6 +394,8 @@ export function disconnect() {
374
394
  stopEntraRetryTimer();
375
395
  cancelEntraRefresh();
376
396
  abortAllClaude();
397
+ cleanupAllCopilotConversations();
398
+ cleanupAllCodexConversations();
377
399
  if (unsubscribeSend) {
378
400
  try {
379
401
  unsubscribeSend();
@@ -381,6 +403,20 @@ export function disconnect() {
381
403
  catch { /* ignore */ }
382
404
  unsubscribeSend = null;
383
405
  }
406
+ if (unsubscribeCopilotSend) {
407
+ try {
408
+ unsubscribeCopilotSend();
409
+ }
410
+ catch { /* ignore */ }
411
+ unsubscribeCopilotSend = null;
412
+ }
413
+ if (unsubscribeCodexSend) {
414
+ try {
415
+ unsubscribeCodexSend();
416
+ }
417
+ catch { /* ignore */ }
418
+ unsubscribeCodexSend = null;
419
+ }
384
420
  if (unsubscribeSessionStarted) {
385
421
  try {
386
422
  unsubscribeSessionStarted();
@@ -587,7 +623,7 @@ function handleServerMessage(msg) {
587
623
  if (requiredBt !== getBackendType()) {
588
624
  setBackendType(requiredBt);
589
625
  console.log(`[AgentLink] Backend auto-switched to ${requiredBt} (chat providerId=${effectiveProviderId})`);
590
- const caps = requiredBt === 'copilot' ? copilotCapabilities() : claudeCapabilities();
626
+ const caps = capabilitiesForBackend(requiredBt);
591
627
  send({
592
628
  type: 'backend_info',
593
629
  backend: requiredBt,
@@ -595,8 +631,16 @@ function handleServerMessage(msg) {
595
631
  });
596
632
  }
597
633
  }
598
- // Route to copilot or claude based on current backend
599
- if (isCopilotBackend()) {
634
+ // Route to the selected backend.
635
+ if (isCodexBackend()) {
636
+ const codexMsg = msg;
637
+ handleCodexChat(chatConvId || '', codexMsg.prompt, chatDir, {
638
+ resumeSessionId: chatOptions.resumeSessionId,
639
+ providerId: effectiveProviderId,
640
+ codexOptions: codexMsg.codexOptions,
641
+ }, codexMsg.files);
642
+ }
643
+ else if (isCopilotBackend()) {
600
644
  const copilotMsg = msg;
601
645
  handleCopilotChat(chatConvId || '', copilotMsg.prompt, chatDir, {
602
646
  resumeSessionId: chatOptions.resumeSessionId,
@@ -610,7 +654,10 @@ function handleServerMessage(msg) {
610
654
  break;
611
655
  }
612
656
  case 'cancel_execution':
613
- if (isCopilotBackend()) {
657
+ if (isCodexBackend()) {
658
+ cancelCodexExecution(msg.conversationId || '');
659
+ }
660
+ else if (isCopilotBackend()) {
614
661
  cancelCopilotExecution(msg.conversationId || '');
615
662
  }
616
663
  else {
@@ -624,7 +671,17 @@ function handleServerMessage(msg) {
624
671
  const sessionBackend = m.providerId
625
672
  ? getBackendTypeForProvider(m.providerId)
626
673
  : getBackendType();
627
- if (sessionBackend === 'copilot') {
674
+ if (sessionBackend === 'codex') {
675
+ handleListCodexSessionsFn(dir, {
676
+ limit: m.limit,
677
+ cursor: m.cursor,
678
+ mode: m.mode,
679
+ requestId: m.requestId,
680
+ providerId: m.providerId,
681
+ legacy: m.limit == null && !m.cursor && !m.mode && !m.requestId,
682
+ });
683
+ }
684
+ else if (sessionBackend === 'copilot') {
628
685
  handleListCopilotSessionsFn(dir, {
629
686
  limit: m.limit,
630
687
  cursor: m.cursor,
@@ -654,7 +711,21 @@ function handleServerMessage(msg) {
654
711
  const recentBackend = m.providerId
655
712
  ? getBackendTypeForProvider(m.providerId)
656
713
  : getBackendType();
657
- if (recentBackend === 'copilot') {
714
+ if (recentBackend === 'codex') {
715
+ const page = listAllCodexSessionsPage({ limit: m.limit, cursor: m.cursor });
716
+ console.log(`[AgentLink] → recent_sessions_list (${page.sessions.length} codex sessions) hasMore=${page.hasMore}`);
717
+ send({
718
+ type: 'recent_sessions_list',
719
+ sessions: page.sessions,
720
+ hasMore: page.hasMore,
721
+ nextCursor: page.nextCursor,
722
+ indexState: page.indexState,
723
+ ...(m.mode ? { mode: m.mode } : {}),
724
+ ...(m.requestId ? { requestId: m.requestId } : {}),
725
+ ...(m.providerId ? { providerId: m.providerId } : {}),
726
+ });
727
+ }
728
+ else if (recentBackend === 'copilot') {
658
729
  const page = listAllCopilotSessionsPage({ limit: m.limit, cursor: m.cursor });
659
730
  console.log(`[AgentLink] → recent_sessions_list (${page.sessions.length} copilot sessions) hasMore=${page.hasMore}`);
660
731
  send({
@@ -769,6 +840,37 @@ function handleServerMessage(msg) {
769
840
  const resumeBackend = m.providerId
770
841
  ? getBackendTypeForProvider(m.providerId)
771
842
  : getBackendType();
843
+ if (resumeBackend === 'codex') {
844
+ if (convId) {
845
+ rebindCodexConversation(m.claudeSessionId, convId);
846
+ }
847
+ if (convId) {
848
+ createCodexPlaceholder(convId, { providerId: m.providerId || 'codex' });
849
+ const placeholder = getCodexConversation(convId);
850
+ if (placeholder) {
851
+ placeholder.codexSessionId = m.claudeSessionId;
852
+ placeholder.workDir = explicitWorkDir || state.workDir;
853
+ }
854
+ }
855
+ const resolvedWorkDir = explicitWorkDir || state.workDir;
856
+ const history = readCodexSessionMessages(resolvedWorkDir, m.claudeSessionId);
857
+ const codexState = getCodexConversation(convId || '');
858
+ const isCodexProcessing = !!(codexState?.turnActive && codexState?.child);
859
+ console.log(`[AgentLink] → conversation_resumed (${history.length} codex messages, session ${m.claudeSessionId.slice(0, 8)})`);
860
+ send({
861
+ type: 'conversation_resumed',
862
+ conversationId: convId,
863
+ claudeSessionId: m.claudeSessionId,
864
+ history,
865
+ isCompacting: false,
866
+ isProcessing: isCodexProcessing,
867
+ planMode: false,
868
+ permissionMode: 'normal',
869
+ ...(typeof m.scrollToMessageIdx === 'number' ? { scrollToMessageIdx: m.scrollToMessageIdx } : {}),
870
+ ...(m.searchQuery ? { searchQuery: m.searchQuery } : {}),
871
+ });
872
+ break;
873
+ }
772
874
  // Route to copilot backend
773
875
  if (resumeBackend === 'copilot') {
774
876
  // Rebind running copilot process to new conversationId (handles page refresh)
@@ -911,7 +1013,20 @@ function handleServerMessage(msg) {
911
1013
  const dir = m.workDir?.trim()
912
1014
  ? path.resolve(m.workDir)
913
1015
  : (m.providerId === 'brain' ? BRAIN_DATA_DIR : state.workDir);
914
- if (sessionBackend === 'copilot') {
1016
+ if (sessionBackend === 'codex') {
1017
+ if (evictByCodexSessionId(m.sessionId)) {
1018
+ send({ type: 'error', message: 'Cannot delete a session while it is processing.' });
1019
+ break;
1020
+ }
1021
+ const ok = deleteCodexSession(dir, m.sessionId);
1022
+ console.log(`[AgentLink] delete codex session ${m.sessionId}: ${ok}`);
1023
+ if (ok)
1024
+ send({ type: 'session_deleted', sessionId: m.sessionId });
1025
+ else
1026
+ send({ type: 'error', message: 'Session not found or could not be deleted.' });
1027
+ handleListCodexSessionsFn(dir);
1028
+ }
1029
+ else if (sessionBackend === 'copilot') {
915
1030
  const ok = deleteCopilotSession(dir, m.sessionId);
916
1031
  console.log(`[AgentLink] delete copilot session ${m.sessionId}: ${ok}`);
917
1032
  handleListCopilotSessionsFn(dir);
@@ -929,7 +1044,16 @@ function handleServerMessage(msg) {
929
1044
  const dir = m.workDir?.trim()
930
1045
  ? path.resolve(m.workDir)
931
1046
  : (m.providerId === 'brain' ? BRAIN_DATA_DIR : state.workDir);
932
- if (sessionBackend === 'copilot') {
1047
+ if (sessionBackend === 'codex') {
1048
+ const ok = renameCodexSession(dir, m.sessionId, m.newTitle);
1049
+ console.log(`[AgentLink] rename codex session ${m.sessionId}: ${ok}`);
1050
+ if (ok)
1051
+ send({ type: 'session_renamed', sessionId: m.sessionId, newTitle: m.newTitle });
1052
+ else
1053
+ send({ type: 'error', message: 'Session not found or could not be renamed.' });
1054
+ handleListCodexSessionsFn(dir);
1055
+ }
1056
+ else if (sessionBackend === 'copilot') {
933
1057
  const ok = renameCopilotSession(dir, m.sessionId, m.newTitle);
934
1058
  console.log(`[AgentLink] rename copilot session ${m.sessionId}: ${ok}`);
935
1059
  handleListCopilotSessionsFn(dir);
@@ -951,7 +1075,10 @@ function handleServerMessage(msg) {
951
1075
  break;
952
1076
  }
953
1077
  let readResult;
954
- if (exportBackend === 'copilot') {
1078
+ if (exportBackend === 'codex') {
1079
+ readResult = { history: readCodexSessionMessages(dir, m.sessionId), workDir: dir };
1080
+ }
1081
+ else if (exportBackend === 'copilot') {
955
1082
  readResult = { history: readCopilotSessionMessages(dir, m.sessionId), workDir: dir };
956
1083
  }
957
1084
  else if (exportBackend === 'claude') {
@@ -994,7 +1121,7 @@ function handleServerMessage(msg) {
994
1121
  case 'query_active_conversations': {
995
1122
  const active = [];
996
1123
  const pushActive = (convId, conv) => {
997
- const sessionId = conv.claudeSessionId ?? conv.copilotSessionId ?? null;
1124
+ const sessionId = conv.claudeSessionId ?? conv.copilotSessionId ?? conv.codexSessionId ?? null;
998
1125
  if (conv.turnActive) {
999
1126
  active.push({
1000
1127
  conversationId: convId,
@@ -1024,6 +1151,9 @@ function handleServerMessage(msg) {
1024
1151
  for (const [convId, conv] of getCopilotConversations()) {
1025
1152
  pushActive(convId, conv);
1026
1153
  }
1154
+ for (const [convId, conv] of getCodexConversations()) {
1155
+ pushActive(convId, conv);
1156
+ }
1027
1157
  const activeTeamState = getActiveTeam();
1028
1158
  // Collect running loop executions for status recovery
1029
1159
  const runningLoops = [];
@@ -1049,7 +1179,7 @@ function handleServerMessage(msg) {
1049
1179
  return {
1050
1180
  type: 'turn_status',
1051
1181
  conversationId: convId,
1052
- claudeSessionId: conv.claudeSessionId ?? conv.copilotSessionId ?? null,
1182
+ claudeSessionId: conv.claudeSessionId ?? conv.copilotSessionId ?? conv.codexSessionId ?? null,
1053
1183
  turnId: conv.turnId,
1054
1184
  status,
1055
1185
  isProcessing: isProc,
@@ -1075,6 +1205,15 @@ function handleServerMessage(msg) {
1075
1205
  }
1076
1206
  }
1077
1207
  }
1208
+ if (!found) {
1209
+ for (const [convId, conv] of getCodexConversations()) {
1210
+ if (conv.turnId === m.turnId) {
1211
+ send(buildTurnStatus(convId, conv));
1212
+ found = true;
1213
+ break;
1214
+ }
1215
+ }
1216
+ }
1078
1217
  if (!found) {
1079
1218
  send({ type: 'turn_status', turnId: m.turnId, status: 'unknown', isProcessing: false, isCompacting: false, stateVersion: 0 });
1080
1219
  }
@@ -1090,7 +1229,13 @@ function handleServerMessage(msg) {
1090
1229
  send(buildTurnStatus(m.conversationId, copilotConv));
1091
1230
  }
1092
1231
  else {
1093
- send({ type: 'turn_status', conversationId: m.conversationId, status: 'unknown', isProcessing: false, isCompacting: false, stateVersion: 0 });
1232
+ const codexConv = getCodexConversation(m.conversationId);
1233
+ if (codexConv) {
1234
+ send(buildTurnStatus(m.conversationId, codexConv));
1235
+ }
1236
+ else {
1237
+ send({ type: 'turn_status', conversationId: m.conversationId, status: 'unknown', isProcessing: false, isCompacting: false, stateVersion: 0 });
1238
+ }
1094
1239
  }
1095
1240
  }
1096
1241
  }
@@ -1289,6 +1434,21 @@ function handleServerMessage(msg) {
1289
1434
  setBackendType(newBackendType);
1290
1435
  console.log(`[AgentLink] Backend switched: ${oldBackendType} → ${newBackendType}`);
1291
1436
  }
1437
+ else if (oldBackendType === 'codex') {
1438
+ const existingCodexConv = conversationId ? getCodexConversation(conversationId) : undefined;
1439
+ if (existingCodexConv?.turnActive) {
1440
+ existingCodexConv.providerId = providerId;
1441
+ }
1442
+ else if (conversationId && existingCodexConv) {
1443
+ const result = restartCodexConversation(conversationId, { providerId });
1444
+ if (result.wasTurnActive) {
1445
+ send({ type: 'execution_cancelled', conversationId });
1446
+ }
1447
+ }
1448
+ else if (conversationId) {
1449
+ createCodexPlaceholder(conversationId, { providerId });
1450
+ }
1451
+ }
1292
1452
  else if (oldBackendType === 'copilot') {
1293
1453
  // Same backend (copilot): provider sync during reconnect must not
1294
1454
  // restart an active subprocess.
@@ -1322,13 +1482,10 @@ function handleServerMessage(msg) {
1322
1482
  send({ type: 'provider_changed', providerId, conversationId });
1323
1483
  // Send backend_info when backend type changed
1324
1484
  if (backendChanged) {
1325
- const caps = newBackendType === 'copilot'
1326
- ? copilotCapabilities()
1327
- : claudeCapabilities();
1328
1485
  send({
1329
1486
  type: 'backend_info',
1330
1487
  backend: newBackendType,
1331
- capabilities: caps,
1488
+ capabilities: capabilitiesForBackend(newBackendType),
1332
1489
  });
1333
1490
  }
1334
1491
  break;
@@ -1341,7 +1498,7 @@ function handleServerMessage(msg) {
1341
1498
  send({
1342
1499
  type: 'backend_info',
1343
1500
  backend: getBackendType(),
1344
- capabilities: getBackendType() === 'copilot' ? copilotCapabilities() : claudeCapabilities(),
1501
+ capabilities: capabilitiesForBackend(getBackendType()),
1345
1502
  });
1346
1503
  break;
1347
1504
  }
@@ -1889,6 +2046,45 @@ function handleListCopilotSessionsFn(dir, options = {}) {
1889
2046
  });
1890
2047
  }
1891
2048
  }
2049
+ function handleListCodexSessionsFn(dir, options = {}) {
2050
+ try {
2051
+ const page = options.legacy
2052
+ ? { ...listCodexSessionsPage(dir, { limit: Number.POSITIVE_INFINITY }), hasMore: false }
2053
+ : listCodexSessionsPage(dir, {
2054
+ limit: options.limit ?? DEFAULT_SESSION_LIST_LIMIT,
2055
+ cursor: options.cursor,
2056
+ });
2057
+ if (options.legacy && page.sessions.length > LEGACY_SESSION_LIST_CAP) {
2058
+ page.sessions = page.sessions.slice(0, LEGACY_SESSION_LIST_CAP);
2059
+ }
2060
+ console.log(`[AgentLink] → sessions_list (${page.sessions.length} codex sessions for ${dir}) hasMore=${page.hasMore}`);
2061
+ send({
2062
+ type: 'sessions_list',
2063
+ sessions: page.sessions,
2064
+ workDir: dir,
2065
+ hasMore: page.hasMore,
2066
+ nextCursor: page.nextCursor,
2067
+ indexState: 'ready',
2068
+ ...(options.mode ? { mode: options.mode } : {}),
2069
+ ...(options.requestId ? { requestId: options.requestId } : {}),
2070
+ ...(options.providerId ? { providerId: options.providerId } : {}),
2071
+ });
2072
+ }
2073
+ catch (err) {
2074
+ console.error(`[AgentLink] listCodexSessions failed:`, err);
2075
+ send({
2076
+ type: 'sessions_list',
2077
+ sessions: [],
2078
+ workDir: dir,
2079
+ hasMore: false,
2080
+ indexState: 'ready',
2081
+ error: err.message,
2082
+ ...(options.mode ? { mode: options.mode } : {}),
2083
+ ...(options.requestId ? { requestId: options.requestId } : {}),
2084
+ ...(options.providerId ? { providerId: options.providerId } : {}),
2085
+ });
2086
+ }
2087
+ }
1892
2088
  function sendSessionExportResult(requestId, sessionId, result) {
1893
2089
  const totalChunks = Math.max(1, Math.ceil(result.content.length / SESSION_EXPORT_CHUNK_SIZE));
1894
2090
  console.log(`[AgentLink] → session_exported (${result.format}, ${Buffer.byteLength(result.content, 'utf8')} bytes, ${totalChunks} chunks)`);