@straiffi/archon 1.11.2 → 1.11.4

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.
Files changed (118) hide show
  1. package/dist/client/assets/{ActivityView-DJq1H7eJ.js → ActivityView-Cj-JRM9h.js} +1 -1
  2. package/dist/client/assets/{GitHubActionsDialog-uhkY79FP.js → GitHubActionsDialog-Bz7x-EXk.js} +1 -1
  3. package/dist/client/assets/{VerificationDialog-B1fn5Xb_.js → VerificationDialog-C1g5teUk.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-BIJiODuH.js → architectureDiagram-3BPJPVTR-Czgp4_s_.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-zF74yReS.js → blockDiagram-GPEHLZMM-D_eKxSQA.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-Bhedpri8.js → c4Diagram-AAUBKEIU-D6nMuDM5.js} +1 -1
  7. package/dist/client/assets/channel-BsoUrvI0.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-Cii8qtH1.js → chunk-2J33WTMH-B6Mn8gmT.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-Hsh5MsIU.js → chunk-3OPIFGDE-BBoS7imT.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-B2H33geG.js → chunk-5ZQYHXKU-CdhOo0Gr.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-o3GIhJ7i.js → chunk-727SXJPM-Dq8Odwy5.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-DZGEJOYd.js → chunk-AQP2D5EJ-DsKFdfMh.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-D7-p3_zX.js → chunk-CSCIHK7Q-4Ol5HlMd.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-Dg344Qr2.js → chunk-KSCS5N6A-Ao7uFEEm.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-DTLPM19a.js → chunk-L5ZTLDWV-C9Gzx6GF.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-13gIpIRU.js → chunk-LZXEDZCA-Ceca_Ske.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-Bhl3l4MJ.js → chunk-ND2GUHAM-Cs2auQCc.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-BDZ0gHw4.js → chunk-NZK2D7GU-fssKuUqc.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-C1xjgaqI.js → chunk-O5CBEL6O-BdRwmtR1.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-DXrekGgA.js → chunk-WU5MYG2G-DnWsSIYg.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-D79OdDcf.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CyG7JUxO.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-ymk8yb4x.js → dagre-BM42HDAG-B71wyESx.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-BFKit5Xx.js → diagram-2AECGRRQ-D7Xht5lG.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-BLuEM5D6.js → diagram-5GNKFQAL-BIL2jzaH.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-_wS_dDU4.js → diagram-KO2AKTUF-CKLHtkTQ.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-DXIrjyQ-.js → diagram-LMA3HP47-CoTDrm1f.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-DquYa7lV.js → diagram-OG6HWLK6-a6qcioel.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-MKI9p3C-.js → erDiagram-TEJ5UH35-CUTe5tSP.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-DMZ4-2rY.js → flowDiagram-I6XJVG4X-CSDL4PU-.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-GgzwvVRo.js → ganttDiagram-6RSMTGT7-Ck4JCO9N.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-Br_tAiVM.js → gitGraphDiagram-PVQCEYII-D8h23S3l.js} +1 -1
  33. package/dist/client/assets/index-Ckj_syqH.js +287 -0
  34. package/dist/client/assets/index-RM0FaS4q.css +2 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-DbbDZQMC.js → infoDiagram-5YYISTIA-Bq1wj1vH.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CqZ2rJxu.js → ishikawaDiagram-YF4QCWOH-C6ry_1gD.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-B29_JOsJ.js → journeyDiagram-JHISSGLW-BCoSw_Ye.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-CESA-TYi.js → kanban-definition-UN3LZRKU-CvHdWXxq.js} +1 -1
  39. package/dist/client/assets/{line-DdPRuRKH.js → line-DDPHAHbi.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-vFFzvyX4.js → mermaid-parser.core-B7v3eJbR.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-DkyZ6FR3.js → mermaid.core-DoJjZ2zS.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-ChH-rvOD.js → mindmap-definition-RKZ34NQL-D8uwnlrG.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-BjrFBvU1.js → pieDiagram-4H26LBE5-B2zLClZg.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-2Si58cQa.js → quadrantDiagram-W4KKPZXB-DGGYHTHx.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-C7VJ8QDP.js → requirementDiagram-4Y6WPE33-JfCBqWur.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-Boka1d1I.js → sankeyDiagram-5OEKKPKP-D9nUF-4P.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-A2g_mJL3.js → sequenceDiagram-3UESZ5HK-DGnNkDzT.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-DZN-P8xp.js → stateDiagram-AJRCARHV-CFZlnYcA.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BB3Eu4sn.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-C_IatSHm.js → timeline-definition-PNZ67QCA-C-KYYKMX.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-CICUDBE3.js → vennDiagram-CIIHVFJN-C3MGIjT1.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BStcFc77.js → wardleyDiagram-YWT4CUSO-CUD7E4c3.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-Cby4OnB9.js → xychartDiagram-2RQKCTM6-CM2Q4-TE.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +1 -2
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +205 -12
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agent.js +76 -16
  60. package/dist/server/lib/agent.js.map +1 -1
  61. package/dist/server/lib/agentPreview.js +41 -0
  62. package/dist/server/lib/agentPreview.js.map +1 -0
  63. package/dist/server/lib/agentRuns.js +15 -0
  64. package/dist/server/lib/agentRuns.js.map +1 -1
  65. package/dist/server/lib/buildExecutionEnvironment.js +1 -1
  66. package/dist/server/lib/buildExecutionEnvironment.js.map +1 -1
  67. package/dist/server/lib/buildSequences.js +31 -0
  68. package/dist/server/lib/buildSequences.js.map +1 -1
  69. package/dist/server/lib/bundleBuildRecovery.js +110 -0
  70. package/dist/server/lib/bundleBuildRecovery.js.map +1 -0
  71. package/dist/server/lib/codexAgentProvider.js +192 -4
  72. package/dist/server/lib/codexAgentProvider.js.map +1 -1
  73. package/dist/server/lib/codexAppServer.js +169 -9
  74. package/dist/server/lib/codexAppServer.js.map +1 -1
  75. package/dist/server/lib/dockerSandboxExecutionEnvironment.js +124 -23
  76. package/dist/server/lib/dockerSandboxExecutionEnvironment.js.map +1 -1
  77. package/dist/server/lib/dockerSandboxExecutionProvider.js +6 -2
  78. package/dist/server/lib/dockerSandboxExecutionProvider.js.map +1 -1
  79. package/dist/server/lib/dockerSandboxNetworkPolicy.js +17 -3
  80. package/dist/server/lib/dockerSandboxNetworkPolicy.js.map +1 -1
  81. package/dist/server/lib/dockerSandboxReleaseProfiles.js +57 -3
  82. package/dist/server/lib/dockerSandboxReleaseProfiles.js.map +1 -1
  83. package/dist/server/lib/executionProfileStore.js +24 -23
  84. package/dist/server/lib/executionProfileStore.js.map +1 -1
  85. package/dist/server/lib/git.js +479 -2
  86. package/dist/server/lib/git.js.map +1 -1
  87. package/dist/server/lib/planModeQuestions.js +1 -1
  88. package/dist/server/lib/planModeQuestions.js.map +1 -1
  89. package/dist/server/lib/preview.js +37 -24
  90. package/dist/server/lib/preview.js.map +1 -1
  91. package/dist/server/lib/promptSkills.js +6 -4
  92. package/dist/server/lib/promptSkills.js.map +1 -1
  93. package/dist/server/lib/run.js +40 -5
  94. package/dist/server/lib/run.js.map +1 -1
  95. package/dist/server/lib/runPreviewCandidate.js +6 -0
  96. package/dist/server/lib/runPreviewCandidate.js.map +1 -0
  97. package/dist/server/lib/tickets.js +4 -1
  98. package/dist/server/lib/tickets.js.map +1 -1
  99. package/dist/server/lib/types.js.map +1 -1
  100. package/dist/server/workers/build.js +3 -3
  101. package/dist/server/workers/build.js.map +1 -1
  102. package/dist/server/workers/chat.js +15 -6
  103. package/dist/server/workers/chat.js.map +1 -1
  104. package/dist/server/workers/followUp.js +5 -1
  105. package/dist/server/workers/followUp.js.map +1 -1
  106. package/dist/server/workers/plan.js +40 -6
  107. package/dist/server/workers/plan.js.map +1 -1
  108. package/dist/server/workers/review.js +2 -2
  109. package/dist/server/workers/review.js.map +1 -1
  110. package/dist/server/workers/specSession.js +2 -2
  111. package/dist/server/workers/specSession.js.map +1 -1
  112. package/package.json +1 -1
  113. package/dist/client/assets/channel-DZI461ra.js +0 -1
  114. package/dist/client/assets/classDiagram-4FO5ZUOK-DWu6cWxw.js +0 -1
  115. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CAI_KWMC.js +0 -1
  116. package/dist/client/assets/index-4RQBXPuO.css +0 -2
  117. package/dist/client/assets/index-X5cdbVG5.js +0 -279
  118. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Cqrxk_FO.js +0 -1
@@ -0,0 +1,110 @@
1
+ import { startBuild } from '../workers/build.js';
2
+ import { compensateBuildSequenceAcceptance, enqueueBundledBuild, getRecoverableBundleBuildTicketIds, } from './buildSequences.js';
3
+ import { prepareTicketForBuild } from './buildFlow.js';
4
+ import { createExecutionProfileSelection } from './executionRunAuthority.js';
5
+ import { getProjectById } from './projects.js';
6
+ import { getBundle, getTicket } from './tickets.js';
7
+ import { getBundleBuildBlockerResponse } from './ticketWorkflowOperations.js';
8
+ export const resumeRemainingBundleBuilds = ({ projectId, bundleId, broadcaster }) => {
9
+ const project = getProjectById(projectId);
10
+ if (!project) {
11
+ return { ok: false, status: 404, error: 'Project not found' };
12
+ }
13
+ const bundle = getBundle(bundleId, project.id);
14
+ if (!bundle) {
15
+ return { ok: false, status: 404, error: 'Bundle not found' };
16
+ }
17
+ const recoverableTicketIds = getRecoverableBundleBuildTicketIds(project.id, bundle.id);
18
+ if (recoverableTicketIds.length === 0) {
19
+ return { ok: false, status: 409, error: 'No interrupted bundle builds are available to resume' };
20
+ }
21
+ const orderedTickets = recoverableTicketIds
22
+ .map(ticketId => getTicket(ticketId))
23
+ .filter((ticket) => ticket?.worktree_bundle_id === bundle.id);
24
+ if (orderedTickets.length !== recoverableTicketIds.length) {
25
+ return { ok: false, status: 409, error: 'Interrupted bundle build state changed before it could be resumed' };
26
+ }
27
+ const bundleBuildBlocker = orderedTickets.find(ticket => getBundleBuildBlockerResponse(ticket) !== null);
28
+ if (bundleBuildBlocker) {
29
+ const blockerResponse = getBundleBuildBlockerResponse(bundleBuildBlocker);
30
+ if (!blockerResponse) {
31
+ return { ok: false, status: 409, error: 'Unable to resume the bundle build right now.' };
32
+ }
33
+ return { ok: false, status: 409, error: blockerResponse.error, details: blockerResponse };
34
+ }
35
+ for (const ticket of orderedTickets) {
36
+ const validation = prepareTicketForBuild(ticket.id, {
37
+ ignoredBlockerTicketIds: recoverableTicketIds,
38
+ updateState: false,
39
+ });
40
+ if (!validation.ok) {
41
+ return {
42
+ ok: false,
43
+ status: validation.status,
44
+ error: validation.error,
45
+ ...(validation.blockers ? { details: { blockers: validation.blockers } } : {}),
46
+ };
47
+ }
48
+ }
49
+ const selection = createExecutionProfileSelection(project.id);
50
+ const acceptedTicketIds = [];
51
+ const acceptRecovery = () => {
52
+ const currentRecoverableTicketIds = getRecoverableBundleBuildTicketIds(project.id, bundle.id);
53
+ if (currentRecoverableTicketIds.length !== recoverableTicketIds.length
54
+ || currentRecoverableTicketIds.some((ticketId, index) => ticketId !== recoverableTicketIds[index])) {
55
+ throw new Error('Interrupted bundle build state changed before it could be resumed');
56
+ }
57
+ let sequenceId = null;
58
+ for (const [index, ticket] of orderedTickets.entries()) {
59
+ const transition = prepareTicketForBuild(ticket.id, {
60
+ ignoredBlockerTicketIds: recoverableTicketIds,
61
+ });
62
+ if (!transition.ok) {
63
+ throw new Error(transition.error);
64
+ }
65
+ acceptedTicketIds.push(transition.ticket.id);
66
+ const queuedBuild = enqueueBundledBuild({
67
+ ticketId: transition.ticket.id,
68
+ projectId: project.id,
69
+ worktreeBundleId: bundle.id,
70
+ activate: index === 0,
71
+ selection,
72
+ });
73
+ if (index === 0) {
74
+ sequenceId = queuedBuild.sequenceId;
75
+ }
76
+ }
77
+ return {
78
+ ticket: getTicket(orderedTickets[0].id) ?? orderedTickets[0],
79
+ sequenceId,
80
+ ...(sequenceId
81
+ ? { compensate: () => compensateBuildSequenceAcceptance(sequenceId, acceptedTicketIds) }
82
+ : {}),
83
+ };
84
+ };
85
+ const scheduling = startBuild(orderedTickets[0], broadcaster, { accept: acceptRecovery });
86
+ if (scheduling === undefined) {
87
+ acceptRecovery();
88
+ }
89
+ else if (!scheduling.accepted) {
90
+ return {
91
+ ok: false,
92
+ status: scheduling.reason === 'queue_failed' ? 503 : 409,
93
+ error: scheduling.error,
94
+ };
95
+ }
96
+ for (const ticketId of acceptedTicketIds) {
97
+ const ticket = getTicket(ticketId);
98
+ if (ticket) {
99
+ broadcaster.emit('ticket:updated', ticket);
100
+ }
101
+ }
102
+ return {
103
+ ok: true,
104
+ status: 200,
105
+ project,
106
+ bundle,
107
+ targetTicketId: orderedTickets[0].id,
108
+ };
109
+ };
110
+ //# sourceMappingURL=bundleBuildRecovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundleBuildRecovery.js","sourceRoot":"","sources":["../../../server/lib/bundleBuildRecovery.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { ExecutionEnvironmentFailure } from './executionEnvironment.js';
3
3
  import { CodexAppServer, CodexAppServerError, redactCodexDiagnostic } from './codexAppServer.js';
4
4
  import { resolveCodexSkillInputs } from './codexDiscovery.js';
5
5
  const ONE_SHOT_SHUTDOWN_TIMEOUT_MS = 1_000;
6
+ const SUBAGENT_REFRESH_INTERVAL_MS = 750;
7
+ const SUBAGENT_REFRESH_TIMEOUT_MS = 2_000;
6
8
  const buildStreamingInvocation = () => ({
7
9
  command: 'codex',
8
10
  args: ['app-server', '--listen', 'stdio://'],
@@ -48,8 +50,9 @@ const writeEvent = (output, event, getThreadId, toolLifecycle) => {
48
50
  return;
49
51
  }
50
52
  if (event.type === 'subagent') {
53
+ const streamType = event.status === 'running' ? 'tool_use' : 'tool_result';
51
54
  output.write(`${JSON.stringify({
52
- type: 'tool_use',
55
+ type: streamType,
53
56
  sessionID,
54
57
  part: {
55
58
  type: 'tool',
@@ -97,12 +100,192 @@ const writeEvent = (output, event, getThreadId, toolLifecycle) => {
97
100
  output.write(`${JSON.stringify({ type: 'tool_result', sessionID, part: { type: 'tool', tool: event.name, callID: event.id, state: { status, input: event.input, output: event.output } } })}\n`);
98
101
  }
99
102
  };
103
+ const writeSubagentSnapshot = (output, sessionID, id, label, snapshot) => {
104
+ output.write(`${JSON.stringify({
105
+ type: 'subagent_snapshot',
106
+ sessionID,
107
+ part: {
108
+ callID: id,
109
+ title: label,
110
+ state: {
111
+ status: snapshot.status,
112
+ log: snapshot.log,
113
+ response: snapshot.response,
114
+ metadata: { sessionId: snapshot.threadId },
115
+ },
116
+ },
117
+ })}\n`);
118
+ };
100
119
  export const connectCodexStreamingInvocation = (child, request, context) => {
101
120
  const stdout = new PassThrough();
102
121
  let threadId = null;
122
+ let ending = false;
103
123
  const toolLifecycle = { startedIds: new Set() };
104
- const appServer = new CodexAppServer(child, {
105
- onEvent: event => writeEvent(stdout, event, () => threadId, toolLifecycle),
124
+ const subagents = new Map();
125
+ let appServer;
126
+ const clearSubagentTimer = (subagent) => {
127
+ if (!subagent.timer) {
128
+ return;
129
+ }
130
+ clearTimeout(subagent.timer);
131
+ subagent.timer = null;
132
+ };
133
+ const writeSubagentTerminalEvent = (subagent) => {
134
+ if (subagent.status === 'running' || subagent.terminalEventWritten) {
135
+ return;
136
+ }
137
+ subagent.terminalEventWritten = true;
138
+ writeEvent(stdout, {
139
+ type: 'subagent',
140
+ id: subagent.id,
141
+ threadId: subagent.threadId,
142
+ label: subagent.label,
143
+ status: subagent.status,
144
+ output: null,
145
+ }, () => threadId, toolLifecycle);
146
+ };
147
+ const emitSubagentSnapshot = (subagent, snapshot) => {
148
+ const status = subagent.status !== 'running' && snapshot.status === 'running'
149
+ ? subagent.status
150
+ : snapshot.status;
151
+ const stableSnapshot = { ...snapshot, label: subagent.label, status };
152
+ const signature = JSON.stringify([status, stableSnapshot.log, stableSnapshot.response]);
153
+ subagent.status = status;
154
+ subagent.lastSnapshot = stableSnapshot;
155
+ if (signature !== subagent.lastSignature) {
156
+ subagent.lastSignature = signature;
157
+ writeSubagentSnapshot(stdout, threadId, subagent.id, subagent.label, stableSnapshot);
158
+ }
159
+ if (status !== 'running') {
160
+ clearSubagentTimer(subagent);
161
+ writeSubagentTerminalEvent(subagent);
162
+ }
163
+ };
164
+ const scheduleSubagentRefresh = (subagent) => {
165
+ if (ending || subagent.status !== 'running' || subagent.timer) {
166
+ return;
167
+ }
168
+ subagent.timer = setTimeout(() => {
169
+ subagent.timer = null;
170
+ void refreshSubagent(subagent);
171
+ }, SUBAGENT_REFRESH_INTERVAL_MS);
172
+ subagent.timer.unref?.();
173
+ };
174
+ const refreshSubagent = (subagent, final = false) => {
175
+ if (subagent.inFlight) {
176
+ subagent.refreshRequested = true;
177
+ return subagent.inFlight;
178
+ }
179
+ clearSubagentTimer(subagent);
180
+ const refresh = (async () => {
181
+ try {
182
+ const snapshot = await appServer.readSubagentThread(subagent.threadId, SUBAGENT_REFRESH_TIMEOUT_MS);
183
+ emitSubagentSnapshot(subagent, snapshot);
184
+ }
185
+ catch (error) {
186
+ if (final) {
187
+ const message = redactCodexDiagnostic(classifyExecutionFailure(error).message);
188
+ const previousLog = subagent.lastSnapshot?.log?.trim();
189
+ emitSubagentSnapshot(subagent, {
190
+ threadId: subagent.threadId,
191
+ label: subagent.label,
192
+ status: 'error',
193
+ log: [previousLog, `Unable to load final Codex subagent transcript: ${message}`].filter(Boolean).join('\n\n'),
194
+ response: subagent.lastSnapshot?.response ?? null,
195
+ });
196
+ }
197
+ }
198
+ })();
199
+ subagent.inFlight = refresh;
200
+ void refresh.finally(() => {
201
+ if (subagent.inFlight !== refresh) {
202
+ return;
203
+ }
204
+ subagent.inFlight = null;
205
+ const shouldRefreshAgain = subagent.refreshRequested;
206
+ subagent.refreshRequested = false;
207
+ if (!ending && shouldRefreshAgain) {
208
+ void refreshSubagent(subagent);
209
+ }
210
+ else if (!ending && subagent.status === 'running') {
211
+ scheduleSubagentRefresh(subagent);
212
+ }
213
+ });
214
+ return refresh;
215
+ };
216
+ const requestSubagentRefresh = (subagentThreadId) => {
217
+ const subagent = subagents.get(subagentThreadId);
218
+ if (!subagent || ending || subagent.status !== 'running') {
219
+ return;
220
+ }
221
+ clearSubagentTimer(subagent);
222
+ void refreshSubagent(subagent);
223
+ };
224
+ const registerSubagent = (event) => {
225
+ if (!event.threadId) {
226
+ writeEvent(stdout, event, () => threadId, toolLifecycle);
227
+ return;
228
+ }
229
+ let subagent = subagents.get(event.threadId);
230
+ if (!subagent) {
231
+ subagent = {
232
+ id: event.id,
233
+ threadId: event.threadId,
234
+ label: event.label,
235
+ status: 'running',
236
+ lastSnapshot: null,
237
+ lastSignature: null,
238
+ inFlight: null,
239
+ refreshRequested: false,
240
+ timer: null,
241
+ terminalEventWritten: false,
242
+ };
243
+ subagents.set(event.threadId, subagent);
244
+ writeEvent(stdout, { ...event, id: subagent.id, label: subagent.label, status: 'running' }, () => threadId, toolLifecycle);
245
+ requestSubagentRefresh(event.threadId);
246
+ }
247
+ if (event.status !== 'running' && subagent.status === 'running') {
248
+ subagent.status = event.status;
249
+ clearSubagentTimer(subagent);
250
+ writeSubagentTerminalEvent(subagent);
251
+ void refreshSubagent(subagent);
252
+ }
253
+ };
254
+ const finalizeSubagents = async (outcome) => {
255
+ ending = true;
256
+ for (const subagent of subagents.values()) {
257
+ clearSubagentTimer(subagent);
258
+ }
259
+ await Promise.all([...subagents.values()].map(async (subagent) => {
260
+ if (subagent.inFlight) {
261
+ await subagent.inFlight;
262
+ }
263
+ if (subagent.status === 'running') {
264
+ await refreshSubagent(subagent, true);
265
+ }
266
+ if (subagent.status === 'running') {
267
+ const terminalStatus = outcome.status === 'completed' || outcome.status === 'interrupted'
268
+ ? 'stopped'
269
+ : 'error';
270
+ emitSubagentSnapshot(subagent, {
271
+ threadId: subagent.threadId,
272
+ label: subagent.label,
273
+ status: terminalStatus,
274
+ log: subagent.lastSnapshot?.log ?? null,
275
+ response: subagent.lastSnapshot?.response ?? null,
276
+ });
277
+ }
278
+ }));
279
+ };
280
+ appServer = new CodexAppServer(child, {
281
+ onEvent: event => {
282
+ if (event.type === 'subagent') {
283
+ registerSubagent(event);
284
+ return;
285
+ }
286
+ writeEvent(stdout, event, () => threadId, toolLifecycle);
287
+ },
288
+ onThreadActivity: subagentThreadId => requestSubagentRefresh(subagentThreadId),
106
289
  });
107
290
  const startup = (async () => {
108
291
  await appServer.initialize();
@@ -145,7 +328,8 @@ export const connectCodexStreamingInvocation = (child, request, context) => {
145
328
  cwd: request.cwd,
146
329
  mode: request.mode,
147
330
  });
148
- void appServer.waitForTurn().then(outcome => {
331
+ void appServer.waitForTurn().then(async (outcome) => {
332
+ await finalizeSubagents(outcome);
149
333
  if (outcome.status !== 'completed') {
150
334
  const message = redactCodexDiagnostic(outcome.error ?? `Codex turn ${outcome.status}.`);
151
335
  stdout.write(`${JSON.stringify({ type: 'error', sessionID: threadId, error: { message } })}\n`);
@@ -156,6 +340,10 @@ export const connectCodexStreamingInvocation = (child, request, context) => {
156
340
  return started.threadId;
157
341
  })();
158
342
  void ready.catch(error => {
343
+ ending = true;
344
+ for (const subagent of subagents.values()) {
345
+ clearSubagentTimer(subagent);
346
+ }
159
347
  stdout.write(`${JSON.stringify({ type: 'error', error: { message: redactCodexDiagnostic(classifyExecutionFailure(error).message) } })}\n`);
160
348
  stdout.end();
161
349
  appServer.closeInput();
@@ -1 +1 @@
1
- {"version":3,"file":"codexAgentProvider.js","sourceRoot":"","sources":["../../../server/lib/codexAgentProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codexAgentProvider.js","sourceRoot":"","sources":["../../../server/lib/codexAgentProvider.ts"],"names":[],"mappings":"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"}