@straiffi/archon 1.10.10 → 1.10.12
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/dist/client/assets/{ActivityView-CRkM5TeN.js → ActivityView-BFn_Nhj4.js} +1 -1
- package/dist/client/assets/GitHubActionsDialog-iZD86Yju.js +1 -0
- package/dist/client/assets/VerificationDialog-CqKE8t1d.js +4 -0
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-u0PSZlNP.js → architectureDiagram-3BPJPVTR-C8KefY67.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-DFXLHRIk.js → blockDiagram-GPEHLZMM-BO2Q_Osr.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-Dvic8tCt.js → c4Diagram-AAUBKEIU-DGPkhbrK.js} +1 -1
- package/dist/client/assets/channel-DXKn3TOv.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-t5CxhRXJ.js → chunk-2J33WTMH-Dtb7Xu8C.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-YHT1dP8Q.js → chunk-3OPIFGDE-Bnf4GbOF.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-DcxuI7lb.js → chunk-5ZQYHXKU-BWGid3g7.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-D1F6DmrT.js → chunk-727SXJPM-ScA8IRGP.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-BIx6Ohbk.js → chunk-AQP2D5EJ-Bygg04Ip.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-B355h6HA.js → chunk-CSCIHK7Q-CxdDDtfN.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-CLHGYOLQ.js → chunk-KSCS5N6A-BgpZFsB5.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-DFLYcMx8.js → chunk-L5ZTLDWV-CKSew0OL.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-DtljFujX.js → chunk-LZXEDZCA-DVG9Rx0K.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-CIuUQ86K.js → chunk-ND2GUHAM-CHBqNmuF.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-CIwqlxek.js → chunk-NZK2D7GU-DvZYWn7V.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-W42BEPu4.js → chunk-O5CBEL6O-BL7lRTSe.js} +1 -1
- package/dist/client/assets/{chunk-WU5MYG2G-C_zuaNxV.js → chunk-WU5MYG2G-C-il2wHZ.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-U0fU20hT.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C6bQNSxL.js +1 -0
- package/dist/client/assets/{dagre-BM42HDAG-UKfIUJTP.js → dagre-BM42HDAG-B00l5tLi.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-Xn6yojqq.js → diagram-2AECGRRQ-Tum6g1_5.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-BzpY1ZEl.js → diagram-5GNKFQAL-BK1GX5jc.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-Dyrvzvsg.js → diagram-KO2AKTUF-BrzmD5NB.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-AqImKwAr.js → diagram-LMA3HP47-BhrlgXiJ.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-CaQQ46mi.js → diagram-OG6HWLK6-K-fWsJ3a.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-Dkw4Aa5u.js → erDiagram-TEJ5UH35-Der6PjHE.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-CJTuGX9h.js → flowDiagram-I6XJVG4X-BVWgGhXe.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-CidgOdS-.js → ganttDiagram-6RSMTGT7-DcoZ5ggj.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-Bj02mIQj.js → gitGraphDiagram-PVQCEYII-BhhbMTBu.js} +1 -1
- package/dist/client/assets/index-B6BltHSr.css +2 -0
- package/dist/client/assets/index-CFOYm3j9.js +276 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-GwJWfo_r.js → infoDiagram-5YYISTIA-Lwc-agyc.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-rbrlWbUn.js → ishikawaDiagram-YF4QCWOH-B95U1Xcl.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-BLi_uzQM.js → journeyDiagram-JHISSGLW-xFpigy5D.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-ynlywm-_.js → kanban-definition-UN3LZRKU-D3mudQnR.js} +1 -1
- package/dist/client/assets/{line-BNyTZBB4.js → line-DtTL3ZI2.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-CzUOsZAD.js → mermaid-parser.core-Dau7K6zV.js} +1 -1
- package/dist/client/assets/{mermaid.core-K0QR6SzN.js → mermaid.core-B8qtvATu.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-BKcgqXm0.js → mindmap-definition-RKZ34NQL-Cus04Yq3.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-Bjx0lvDI.js → pieDiagram-4H26LBE5-BCMGpBnn.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-CmUlgyUv.js → quadrantDiagram-W4KKPZXB-CAmOr-PJ.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-Dj2mzg1y.js → requirementDiagram-4Y6WPE33-kisD3jc4.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DC--H6qf.js → sankeyDiagram-5OEKKPKP-CsCedmM0.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BkNrt6Ra.js → sequenceDiagram-3UESZ5HK-B-dAi954.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-BuxxRu1Y.js → stateDiagram-AJRCARHV-X0BnedIW.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-6B8YH8Y2.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-Db3pCVSp.js → timeline-definition-PNZ67QCA-DfFoSjhr.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-BgBSGThQ.js → vennDiagram-CIIHVFJN-CKSCBwhG.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BJhPdjYS.js → wardleyDiagram-YWT4CUSO-DNIBQmHO.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-BY4Ra0kX.js → xychartDiagram-2RQKCTM6-FvB55TQN.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/db.js +28 -2
- package/dist/server/db.js.map +1 -1
- package/dist/server/index.js +25 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/executionEnvironmentReconciliation.js +15 -2
- package/dist/server/lib/executionEnvironmentReconciliation.js.map +1 -1
- package/dist/server/lib/executionEnvironments.js +15 -0
- package/dist/server/lib/executionEnvironments.js.map +1 -1
- package/dist/server/lib/projectTargets.js +10 -2
- package/dist/server/lib/projectTargets.js.map +1 -1
- package/dist/server/lib/run.js +30 -12
- package/dist/server/lib/run.js.map +1 -1
- package/dist/server/lib/runProcesses.js +13 -1
- package/dist/server/lib/runProcesses.js.map +1 -1
- package/dist/server/lib/runServices.js +5 -3
- package/dist/server/lib/runServices.js.map +1 -1
- package/dist/server/lib/runSessionLifecycle.js +10 -1
- package/dist/server/lib/runSessionLifecycle.js.map +1 -1
- package/dist/server/lib/runStatus.js +2 -1
- package/dist/server/lib/runStatus.js.map +1 -1
- package/dist/server/lib/serviceRunCleanup.js +70 -0
- package/dist/server/lib/serviceRunCleanup.js.map +1 -0
- package/dist/server/lib/serviceRuns.js +194 -12
- package/dist/server/lib/serviceRuns.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/GitHubActionsDialog-KFUiR00H.js +0 -1
- package/dist/client/assets/VerificationDialog-BIDttgiW.js +0 -4
- package/dist/client/assets/channel-Dhv_uSKx.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-9XKvSSLq.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Dbr5_49Y.js +0 -1
- package/dist/client/assets/index-ClRB9YWJ.css +0 -2
- package/dist/client/assets/index-DBMdsTvy.js +0 -276
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Cyo85GPN.js +0 -1
|
@@ -4,6 +4,7 @@ import { randomUUID } from 'node:crypto';
|
|
|
4
4
|
import { captureHostServiceProcessIdentity, cleanupHostServiceProcess, isHostServiceProcessIdentity } from './hostServiceRecovery.js';
|
|
5
5
|
import { createExecutionProfileSelection, executionProfileSelectionMetadata, validateExecutionProfileSelection, } from './executionRunAuthority.js';
|
|
6
6
|
import { appendLifecycleEvent, createExecutionRun, getExecutionRun, transitionExecutionRun } from './executionRuns.js';
|
|
7
|
+
import { appendExecutionEnvironmentEvent, getExecutionEnvironment, releaseExecutionRunFromEnvironment, requestExecutionEnvironmentRetirement, } from './executionEnvironments.js';
|
|
7
8
|
const MAX_SERVICE_SNAPSHOT_BYTES = 16 * 1024;
|
|
8
9
|
export const hasActiveProjectServiceRun = (projectId) => {
|
|
9
10
|
if (projectId === undefined) {
|
|
@@ -11,6 +12,57 @@ export const hasActiveProjectServiceRun = (projectId) => {
|
|
|
11
12
|
}
|
|
12
13
|
return Boolean(db.prepare('SELECT 1 FROM active_project_service_authorities WHERE project_id = ? LIMIT 1').get(projectId));
|
|
13
14
|
};
|
|
15
|
+
export const getActiveProjectServiceAuthority = (projectId) => {
|
|
16
|
+
try {
|
|
17
|
+
return db.prepare(`
|
|
18
|
+
SELECT active.execution_run_id, run.source_kind, details.target_kind,
|
|
19
|
+
COALESCE(details.provider_kind, environment.provider_kind) AS provider_kind,
|
|
20
|
+
details.cleanup_attempts, details.cleanup_retry_at, details.cleanup_error_message,
|
|
21
|
+
details.cleanup_claim_id, COALESCE(details.environment_id, binding.environment_id) AS environment_id,
|
|
22
|
+
COALESCE(details.environment_revision, binding.environment_revision) AS environment_revision
|
|
23
|
+
FROM active_project_service_authorities active
|
|
24
|
+
JOIN execution_runs run ON run.id = active.execution_run_id
|
|
25
|
+
LEFT JOIN service_run_details details ON details.execution_run_id = active.execution_run_id
|
|
26
|
+
LEFT JOIN execution_environment_run_bindings binding
|
|
27
|
+
ON binding.execution_run_id = active.execution_run_id AND binding.project_id = active.project_id
|
|
28
|
+
AND binding.relationship = 'execution' AND binding.released_at IS NULL
|
|
29
|
+
LEFT JOIN execution_environments environment
|
|
30
|
+
ON environment.id = binding.environment_id AND environment.project_id = binding.project_id
|
|
31
|
+
WHERE active.project_id = ?
|
|
32
|
+
LIMIT 1
|
|
33
|
+
`).get(projectId) ?? null;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
const legacy = db.prepare(`SELECT active.execution_run_id, run.source_kind, details.target_kind, details.provider_kind
|
|
37
|
+
FROM active_project_service_authorities active
|
|
38
|
+
JOIN execution_runs run ON run.id = active.execution_run_id
|
|
39
|
+
LEFT JOIN service_run_details details ON details.execution_run_id = active.execution_run_id
|
|
40
|
+
WHERE active.project_id = ? LIMIT 1`).get(projectId);
|
|
41
|
+
return legacy ? {
|
|
42
|
+
...legacy,
|
|
43
|
+
cleanup_attempts: 0,
|
|
44
|
+
cleanup_retry_at: null,
|
|
45
|
+
cleanup_error_message: 'Stored cleanup details are incomplete and cannot be verified automatically.',
|
|
46
|
+
cleanup_claim_id: null,
|
|
47
|
+
environment_id: null,
|
|
48
|
+
environment_revision: null,
|
|
49
|
+
} : null;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
export const getProjectServiceCleanupStatus = (projectId) => {
|
|
53
|
+
const authority = getActiveProjectServiceAuthority(projectId);
|
|
54
|
+
if (!authority) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
execution_run_id: authority.execution_run_id,
|
|
59
|
+
provider: authority.provider_kind,
|
|
60
|
+
attempts: authority.cleanup_attempts,
|
|
61
|
+
retry_at: authority.cleanup_retry_at,
|
|
62
|
+
error: authority.cleanup_error_message,
|
|
63
|
+
can_force_release: authority.cleanup_claim_id === null,
|
|
64
|
+
};
|
|
65
|
+
};
|
|
14
66
|
const serializeBounded = (value, label) => {
|
|
15
67
|
const serialized = JSON.stringify(value);
|
|
16
68
|
if (Buffer.byteLength(serialized, 'utf8') > MAX_SERVICE_SNAPSHOT_BYTES) {
|
|
@@ -196,7 +248,20 @@ export const completeServiceRun = (input) => db.transaction(() => {
|
|
|
196
248
|
`).run(input.executionRunId, input.projectId);
|
|
197
249
|
return transitioned;
|
|
198
250
|
})();
|
|
199
|
-
export const
|
|
251
|
+
export const recordServiceRunFinalizationIntent = (input) => {
|
|
252
|
+
const updated = db.prepare(`
|
|
253
|
+
UPDATE service_run_details
|
|
254
|
+
SET intended_status = COALESCE(intended_status, ?),
|
|
255
|
+
intended_event_type = COALESCE(intended_event_type, ?),
|
|
256
|
+
intended_message = COALESCE(intended_message, ?),
|
|
257
|
+
updated_at = CURRENT_TIMESTAMP
|
|
258
|
+
WHERE project_id = ? AND execution_run_id = ? AND completed_at IS NULL
|
|
259
|
+
`).run(input.intendedStatus, input.intendedEventType, input.intendedMessage ?? null, input.projectId, input.executionRunId);
|
|
260
|
+
if (updated.changes !== 1) {
|
|
261
|
+
throw new Error('Active durable service run was not found');
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
export const recordServiceRunReleaseFailure = (input) => db.transaction(() => {
|
|
200
265
|
const current = getExecutionRun(input.projectId, input.executionRunId);
|
|
201
266
|
if (current && (current.kind !== 'service' || !getServiceRunDetails(input.projectId, input.executionRunId))) {
|
|
202
267
|
throw new Error('Durable service run was not found');
|
|
@@ -209,6 +274,11 @@ export const recordServiceRunReleaseFailure = (input) => {
|
|
|
209
274
|
intended_event_type: input.intendedEventType,
|
|
210
275
|
lease_retained: true,
|
|
211
276
|
};
|
|
277
|
+
recordServiceRunFinalizationIntent(input);
|
|
278
|
+
db.prepare(`UPDATE service_run_details
|
|
279
|
+
SET cleanup_error_message = ?, cleanup_retry_at = datetime('now', '+30 seconds'), updated_at = CURRENT_TIMESTAMP
|
|
280
|
+
WHERE project_id = ? AND execution_run_id = ? AND completed_at IS NULL`)
|
|
281
|
+
.run(input.message.slice(0, 4000), input.projectId, input.executionRunId);
|
|
212
282
|
if (current.status === 'waiting' && current.domain_status === 'environment_release_pending') {
|
|
213
283
|
appendLifecycleEvent({
|
|
214
284
|
projectId: input.projectId,
|
|
@@ -229,7 +299,7 @@ export const recordServiceRunReleaseFailure = (input) => {
|
|
|
229
299
|
eventMessage: input.message,
|
|
230
300
|
eventMetadata: metadata,
|
|
231
301
|
});
|
|
232
|
-
};
|
|
302
|
+
}).immediate();
|
|
233
303
|
export const getServiceRunDetails = (projectId, executionRunId) => {
|
|
234
304
|
const row = db.prepare(`
|
|
235
305
|
SELECT * FROM service_run_details WHERE project_id = ? AND execution_run_id = ?
|
|
@@ -288,7 +358,7 @@ export const prepareHostServiceProcessLaunch = (projectId, executionRunId) => {
|
|
|
288
358
|
update(identity);
|
|
289
359
|
};
|
|
290
360
|
};
|
|
291
|
-
export const retryInterruptedHostServiceRun = (projectId, executionRunId) =>
|
|
361
|
+
export const retryInterruptedHostServiceRun = (projectId, executionRunId) => {
|
|
292
362
|
const details = getServiceRunDetails(projectId, executionRunId);
|
|
293
363
|
if (!details || details.completed_at !== null || (details.provider_kind !== null && details.provider_kind !== 'host')) {
|
|
294
364
|
return false;
|
|
@@ -358,13 +428,17 @@ export const retryInterruptedHostServiceRun = (projectId, executionRunId) => db.
|
|
|
358
428
|
}
|
|
359
429
|
return false;
|
|
360
430
|
}
|
|
431
|
+
const finalDetails = getServiceRunDetails(projectId, executionRunId);
|
|
361
432
|
completeServiceRun({
|
|
362
|
-
projectId,
|
|
363
|
-
|
|
364
|
-
|
|
433
|
+
projectId,
|
|
434
|
+
executionRunId,
|
|
435
|
+
status: finalDetails.intended_status ?? 'interrupted',
|
|
436
|
+
code: finalDetails.intended_status === 'failed' ? 'service_run_failed' : 'server_restarted',
|
|
437
|
+
message: finalDetails.intended_message ?? 'The server restarted; all recorded host service process sessions were verifiably cleaned up.',
|
|
438
|
+
eventType: finalDetails.intended_event_type ?? 'service_run_interrupted',
|
|
365
439
|
});
|
|
366
440
|
return true;
|
|
367
|
-
}
|
|
441
|
+
};
|
|
368
442
|
// The existing Stop action can use this only after finding no live in-memory owner.
|
|
369
443
|
export const retryInterruptedHostServiceRunForContext = (contextKey, options = {}) => {
|
|
370
444
|
const row = db.prepare(`SELECT details.project_id, details.execution_run_id
|
|
@@ -386,7 +460,7 @@ export const retryInterruptedHostServiceRunForContext = (contextKey, options = {
|
|
|
386
460
|
}
|
|
387
461
|
return true;
|
|
388
462
|
};
|
|
389
|
-
export const reconcileInterruptedServiceRuns = () =>
|
|
463
|
+
export const reconcileInterruptedServiceRuns = () => {
|
|
390
464
|
// Neither a missing binding nor a terminal envelope proves that service processes stopped.
|
|
391
465
|
// Docker requires release evidence for the exact recorded environment.
|
|
392
466
|
const rows = db.prepare(`
|
|
@@ -438,13 +512,14 @@ export const reconcileInterruptedServiceRuns = () => db.transaction(() => {
|
|
|
438
512
|
}
|
|
439
513
|
for (const row of rows) {
|
|
440
514
|
const isTerminal = ['completed', 'failed', 'cancelled', 'interrupted'].includes(row.status);
|
|
515
|
+
const details = getServiceRunDetails(row.project_id, row.execution_run_id);
|
|
441
516
|
completeServiceRun({
|
|
442
517
|
projectId: row.project_id,
|
|
443
518
|
executionRunId: row.execution_run_id,
|
|
444
|
-
status: 'interrupted',
|
|
445
|
-
code: 'server_restarted',
|
|
446
|
-
message: 'The server restarted while this service run was active. Docker Sandbox interruption applies to the whole environment and every attached service.',
|
|
447
|
-
eventType: 'service_run_interrupted',
|
|
519
|
+
status: details.intended_status ?? 'interrupted',
|
|
520
|
+
code: details.intended_status === 'failed' ? 'service_run_failed' : 'server_restarted',
|
|
521
|
+
message: details.intended_message ?? 'The server restarted while this service run was active. Docker Sandbox interruption applies to the whole environment and every attached service.',
|
|
522
|
+
eventType: details.intended_event_type ?? 'service_run_interrupted',
|
|
448
523
|
});
|
|
449
524
|
if (isTerminal) {
|
|
450
525
|
repaired += 1;
|
|
@@ -454,5 +529,112 @@ export const reconcileInterruptedServiceRuns = () => db.transaction(() => {
|
|
|
454
529
|
}
|
|
455
530
|
}
|
|
456
531
|
return { interrupted, repaired };
|
|
532
|
+
};
|
|
533
|
+
export const claimProjectServiceCleanup = (projectId, ignoreRetryAt = false) => db.transaction(() => {
|
|
534
|
+
const authority = getActiveProjectServiceAuthority(projectId);
|
|
535
|
+
if (!authority) {
|
|
536
|
+
return null;
|
|
537
|
+
}
|
|
538
|
+
const claimId = randomUUID();
|
|
539
|
+
if (authority.provider_kind === 'docker_sandbox') {
|
|
540
|
+
db.prepare(`UPDATE service_run_details
|
|
541
|
+
SET provider_kind = 'docker_sandbox', environment_id = ?, environment_revision = ?,
|
|
542
|
+
interruption_scope = 'whole_environment', updated_at = CURRENT_TIMESTAMP
|
|
543
|
+
WHERE project_id = ? AND execution_run_id = ? AND completed_at IS NULL AND provider_kind IS NULL`)
|
|
544
|
+
.run(authority.environment_id, authority.environment_revision, projectId, authority.execution_run_id);
|
|
545
|
+
}
|
|
546
|
+
const updated = db.prepare(`UPDATE service_run_details
|
|
547
|
+
SET cleanup_claim_id = ?, cleanup_claimed_at = CURRENT_TIMESTAMP,
|
|
548
|
+
cleanup_attempts = cleanup_attempts + 1, cleanup_retry_at = NULL, updated_at = CURRENT_TIMESTAMP
|
|
549
|
+
WHERE project_id = ? AND execution_run_id = ? AND completed_at IS NULL
|
|
550
|
+
AND (cleanup_claim_id IS NULL OR cleanup_claimed_at < datetime('now', '-5 minutes'))
|
|
551
|
+
AND (? = 1 OR cleanup_retry_at IS NULL OR cleanup_retry_at <= CURRENT_TIMESTAMP)`)
|
|
552
|
+
.run(claimId, projectId, authority.execution_run_id, ignoreRetryAt ? 1 : 0);
|
|
553
|
+
return updated.changes === 1 ? { ...authority, claimId } : null;
|
|
554
|
+
}).immediate();
|
|
555
|
+
export const finishProjectServiceCleanupAttempt = (projectId, executionRunId, claimId) => {
|
|
556
|
+
db.prepare(`UPDATE service_run_details
|
|
557
|
+
SET cleanup_claim_id = NULL, cleanup_claimed_at = NULL, cleanup_retry_at = NULL,
|
|
558
|
+
cleanup_error_message = NULL, updated_at = CURRENT_TIMESTAMP
|
|
559
|
+
WHERE project_id = ? AND execution_run_id = ? AND cleanup_claim_id = ?`)
|
|
560
|
+
.run(projectId, executionRunId, claimId);
|
|
561
|
+
};
|
|
562
|
+
export const failProjectServiceCleanupAttempt = (projectId, executionRunId, claimId, message) => {
|
|
563
|
+
const details = getServiceRunDetails(projectId, executionRunId);
|
|
564
|
+
const delaySeconds = Math.min(300, 15 * (2 ** Math.max(0, (details?.cleanup_attempts ?? 1) - 1)));
|
|
565
|
+
db.prepare(`UPDATE service_run_details
|
|
566
|
+
SET cleanup_claim_id = NULL, cleanup_claimed_at = NULL,
|
|
567
|
+
cleanup_retry_at = datetime('now', ?), cleanup_error_message = ?, updated_at = CURRENT_TIMESTAMP
|
|
568
|
+
WHERE project_id = ? AND execution_run_id = ? AND cleanup_claim_id = ?`)
|
|
569
|
+
.run(`+${delaySeconds} seconds`, message.slice(0, 4000), projectId, executionRunId, claimId);
|
|
570
|
+
};
|
|
571
|
+
export const forceReleaseProjectServiceAuthority = (projectId) => db.transaction(() => {
|
|
572
|
+
const authority = getActiveProjectServiceAuthority(projectId);
|
|
573
|
+
if (!authority) {
|
|
574
|
+
return false;
|
|
575
|
+
}
|
|
576
|
+
if (authority.cleanup_claim_id) {
|
|
577
|
+
throw new Error('Service cleanup is already in progress. Wait for it to finish before force releasing the lock.');
|
|
578
|
+
}
|
|
579
|
+
const message = 'Service cleanup authority was force released without positive process termination proof.';
|
|
580
|
+
const bindings = db.prepare(`SELECT environment_id FROM execution_environment_run_bindings
|
|
581
|
+
WHERE project_id = ? AND execution_run_id = ? AND relationship = 'execution' AND released_at IS NULL`)
|
|
582
|
+
.all(projectId, authority.execution_run_id);
|
|
583
|
+
for (const binding of bindings) {
|
|
584
|
+
const environment = getExecutionEnvironment(projectId, binding.environment_id);
|
|
585
|
+
if (!environment) {
|
|
586
|
+
db.prepare(`UPDATE execution_environments
|
|
587
|
+
SET retirement_requested_at = COALESCE(retirement_requested_at, CURRENT_TIMESTAMP),
|
|
588
|
+
lifecycle_state = CASE
|
|
589
|
+
WHEN lifecycle_state IN ('retired', 'retiring', 'cleanup_pending') THEN lifecycle_state
|
|
590
|
+
ELSE 'retiring'
|
|
591
|
+
END,
|
|
592
|
+
updated_at = CURRENT_TIMESTAMP
|
|
593
|
+
WHERE project_id = ? AND id = ?`)
|
|
594
|
+
.run(projectId, binding.environment_id);
|
|
595
|
+
db.prepare(`UPDATE execution_environment_run_bindings SET released_at = CURRENT_TIMESTAMP
|
|
596
|
+
WHERE project_id = ? AND environment_id = ? AND execution_run_id = ?
|
|
597
|
+
AND relationship = 'execution' AND released_at IS NULL`)
|
|
598
|
+
.run(projectId, binding.environment_id, authority.execution_run_id);
|
|
599
|
+
continue;
|
|
600
|
+
}
|
|
601
|
+
requestExecutionEnvironmentRetirement({ projectId, environmentId: binding.environment_id });
|
|
602
|
+
appendExecutionEnvironmentEvent({
|
|
603
|
+
projectId,
|
|
604
|
+
environmentId: binding.environment_id,
|
|
605
|
+
eventType: 'execution_run_force_released',
|
|
606
|
+
fromState: environment.lifecycle_state,
|
|
607
|
+
toState: environment.lifecycle_state,
|
|
608
|
+
message,
|
|
609
|
+
metadata: { executionRunId: authority.execution_run_id, forceReleased: true },
|
|
610
|
+
});
|
|
611
|
+
releaseExecutionRunFromEnvironment({
|
|
612
|
+
projectId,
|
|
613
|
+
environmentId: binding.environment_id,
|
|
614
|
+
executionRunId: authority.execution_run_id,
|
|
615
|
+
relationship: 'execution',
|
|
616
|
+
});
|
|
617
|
+
}
|
|
618
|
+
appendLifecycleEvent({
|
|
619
|
+
projectId,
|
|
620
|
+
runId: authority.execution_run_id,
|
|
621
|
+
eventType: 'service_cleanup_abandoned',
|
|
622
|
+
message,
|
|
623
|
+
metadata: { force_released: true, provider_kind: authority.provider_kind },
|
|
624
|
+
});
|
|
625
|
+
db.prepare(`UPDATE service_run_details SET force_released_at = CURRENT_TIMESTAMP,
|
|
626
|
+
cleanup_claim_id = NULL, cleanup_claimed_at = NULL, cleanup_retry_at = NULL,
|
|
627
|
+
cleanup_error_message = ?, updated_at = CURRENT_TIMESTAMP
|
|
628
|
+
WHERE project_id = ? AND execution_run_id = ? AND completed_at IS NULL`)
|
|
629
|
+
.run(message, projectId, authority.execution_run_id);
|
|
630
|
+
completeServiceRun({
|
|
631
|
+
projectId,
|
|
632
|
+
executionRunId: authority.execution_run_id,
|
|
633
|
+
status: 'interrupted',
|
|
634
|
+
code: 'service_cleanup_abandoned',
|
|
635
|
+
message,
|
|
636
|
+
eventType: 'service_run_interrupted',
|
|
637
|
+
});
|
|
638
|
+
return true;
|
|
457
639
|
}).immediate();
|
|
458
640
|
//# sourceMappingURL=serviceRuns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceRuns.js","sourceRoot":"","sources":["../../../server/lib/serviceRuns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serviceRuns.js","sourceRoot":"","sources":["../../../server/lib/serviceRuns.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./chunk-BNv3lrIs.js";import{A as t,D as n,E as r,G as i,H as a,K as o,L as s,O as c,Q as l,R as u,St as d,T as f,U as p,W as m,X as h,Z as g,dt as _,et as v,ft as ee,gt as y,ht as b,k as x,m as S,mt as te,pt as ne,q as re,vt as ie,w as C}from"./index-DBMdsTvy.js";var w=e(d(),1),T=b(),E=`https://docs.github.com/en/actions`,ae=5e3,D=(e,t)=>x.t(`common:githubActions.${e}`,t),O=e=>D(`status.${e}`),k=e=>e?D(`conclusion.${e}`):null,A=e=>e.status===`completed`?e.conclusion===`success`?`border-emerald-400/40 bg-emerald-500/10 text-emerald-200`:e.conclusion===`failure`||e.conclusion===`timed_out`?`border-rose-400/40 bg-rose-500/10 text-rose-200`:e.conclusion===`cancelled`?`border-amber-400/40 bg-amber-500/10 text-amber-200`:`border-border/70 bg-background/60 text-muted-foreground`:e.status===`in_progress`?`border-sky-400/40 bg-sky-500/10 text-sky-200`:e.status===`queued`?`border-violet-400/40 bg-violet-500/10 text-violet-200`:`border-border/70 bg-background/60 text-muted-foreground`,j=e=>e.status===`completed`?e.conclusion===`success`?`border-emerald-400/30 bg-emerald-500/10 text-emerald-200`:e.conclusion===`failure`?`border-rose-400/30 bg-rose-500/10 text-rose-200`:`border-border/70 bg-background/60 text-muted-foreground`:e.status===`in_progress`?`border-sky-400/30 bg-sky-500/10 text-sky-200`:`border-border/70 bg-background/60 text-muted-foreground`,M=e=>{let t=e.run_started_at??e.created_at,n=e.updated_at;if(!t||!n)return null;let r=Date.parse(t),i=Date.parse(n);if(!Number.isFinite(r)||!Number.isFinite(i)||i<r)return null;let a=i-r;if(a<1e3)return`${a} ms`;let o=Math.floor(a/1e3),s=Math.floor(o/3600),c=Math.floor(o%3600/60),l=o%60;return s>0?`${s}h ${c}m ${l}s`:c>0?`${c}m ${l}s`:`${(a/1e3).toFixed(a>=1e4?0:1)} s`},N=e=>e.status===`completed`?k(e.conclusion)??D(`status.completed`):O(e.status),P=e=>{let t={};for(let n of e){if(n.type===`boolean`){t[n.name]=n.default===!0;continue}typeof n.default==`string`&&n.default!==``&&(t[n.name]=n.default)}return t},oe=({workflow:e,inputsState:t,isSelected:n,onSelect:r})=>{let i=e.state===`active`,a=t?.dispatchable??!0,o=i&&a&&!t?.isLoading,c=e.path.split(`/`).pop();return(0,T.jsxs)(`div`,{className:l(`flex flex-col gap-3 rounded-2xl border px-4 py-3 transition-colors`,n?`border-sky-400/45 bg-sky-500/10`:`border-border/60 bg-background/20 hover:bg-accent/20`),children:[(0,T.jsx)(`p`,{className:`line-clamp-2 break-words text-sm font-medium text-foreground`,children:e.name}),(0,T.jsx)(`p`,{className:`min-w-0 break-words text-[11px] text-muted-foreground`,children:c}),(0,T.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,T.jsx)(C,{variant:`outline`,className:l(`px-2 py-0.5 text-[10px] uppercase tracking-[0.18em]`,i?`border-emerald-400/30 bg-emerald-500/10 text-emerald-200`:`border-border/70 bg-background/60 text-muted-foreground`),children:D(i?`workflows.stateActive`:`workflows.stateDisabled`)}),(0,T.jsxs)(g,{type:`button`,variant:n?`secondary`:`outline`,size:`sm`,className:`h-8 gap-1.5 px-3 text-xs`,disabled:!o,"aria-label":D(`workflows.runAriaLabel`,{name:e.name}),title:!a&&t?D(`inputs.notDispatchable`):void 0,onClick:r,children:[t?.isLoading?(0,T.jsx)(u,{className:`h-3.5 w-3.5 animate-spin`}):(0,T.jsx)(s,{className:`h-3.5 w-3.5`}),(0,T.jsx)(`span`,{children:D(`actions.run`)})]})]})]})},F=({workflow:e,inputsState:t,refValue:n,onRefChange:r,values:i,onValueChange:o,isDispatching:l,onDispatch:d,onCancel:f})=>{let m=t.inputs.filter(e=>e.required&&!I(i[e.name],e)),h=t.dispatchable&&!t.isLoading&&!t.error&&n.trim()!==``&&m.length===0&&!l;return(0,T.jsxs)(`div`,{className:`space-y-4 rounded-2xl border border-border/70 bg-background/20 p-4`,children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,T.jsxs)(`div`,{className:`min-w-0`,children:[(0,T.jsx)(`p`,{className:`text-xs uppercase tracking-[0.22em] text-muted-foreground`,children:D(`inputs.title`)}),(0,T.jsx)(`p`,{className:`mt-0.5 truncate text-sm font-medium text-foreground`,children:e.name})]}),(0,T.jsx)(g,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":D(`actions.cancel`),onClick:f,children:(0,T.jsx)(c,{className:`h-4 w-4`})})]}),(0,T.jsxs)(`div`,{className:`space-y-2`,children:[(0,T.jsx)(a,{htmlFor:`github-actions-ref`,children:D(`inputs.refLabel`)}),(0,T.jsx)(p,{id:`github-actions-ref`,type:`text`,value:n,onChange:e=>{r(e.target.value)},placeholder:D(`inputs.refPlaceholder`),"aria-label":D(`inputs.refAriaLabel`)})]}),t.isLoading&&(0,T.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,T.jsx)(u,{className:`h-3.5 w-3.5 animate-spin`}),(0,T.jsx)(`span`,{children:D(`inputs.loading`)})]}),t.error&&(0,T.jsx)(`p`,{className:`text-xs text-rose-200`,children:t.error}),!t.dispatchable&&!t.isLoading&&!t.error&&(0,T.jsx)(`p`,{className:`text-xs text-amber-200`,children:D(`inputs.notDispatchable`)}),t.inputs.map(e=>(0,T.jsx)(L,{input:e,value:i[e.name],onChange:t=>{o(e.name,t)}},e.name)),m.length>0&&(0,T.jsx)(`p`,{className:`text-xs text-rose-200`,children:D(`inputs.requiredValidationError`)}),(0,T.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,T.jsx)(g,{type:`button`,variant:`ghost`,onClick:f,disabled:l,children:D(`actions.cancel`)}),(0,T.jsxs)(g,{type:`button`,variant:`success`,onClick:d,disabled:!h,children:[l?(0,T.jsx)(u,{className:`h-4 w-4 animate-spin`}):(0,T.jsx)(s,{className:`h-4 w-4`}),(0,T.jsx)(`span`,{children:D(`actions.dispatch`)})]})]})]})},I=(e,t)=>t.type===`boolean`?typeof e==`boolean`:typeof e==`string`&&e.trim()!==``,L=({input:e,value:t,onChange:n})=>{let r=`github-actions-input-${e.name}`;return(0,T.jsxs)(`div`,{className:`space-y-2`,children:[(0,T.jsxs)(a,{htmlFor:r,className:`flex items-center gap-2`,children:[(0,T.jsx)(`span`,{children:e.name}),e.required&&(0,T.jsx)(`span`,{className:`text-[10px] uppercase tracking-[0.18em] text-rose-200/80`,children:D(`inputs.requiredLabel`)})]}),e.description&&(0,T.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e.description}),R(e,r,t,n)]})},R=(e,t,n,r)=>{if(e.type===`boolean`){let i=typeof n==`boolean`?n:e.default===!0;return(0,T.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,T.jsx)(S,{id:t,checked:i,onCheckedChange:e=>{r(e)}}),(0,T.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:D(i?`inputs.booleanYes`:`inputs.booleanNo`)})]})}if(e.type===`choice`){let i=e.options??[],a=typeof n==`string`?n:typeof e.default==`string`?e.default:``;return(0,T.jsxs)(`select`,{id:t,className:`h-9 w-full rounded-lg border border-border/70 bg-background/60 px-3 text-sm text-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,value:a,onChange:e=>{r(e.target.value)},children:[a===``&&(0,T.jsx)(`option`,{value:``,children:D(`inputs.selectPlaceholder`)}),i.map(e=>(0,T.jsx)(`option`,{value:e,children:e},e))]})}return(0,T.jsx)(p,{id:t,type:`text`,value:typeof n==`string`?n:typeof e.default==`string`?e.default:``,onChange:e=>{r(e.target.value)}})},z=({job:e})=>e.steps.length===0?null:(0,T.jsx)(`div`,{className:`mt-2 ml-4 space-y-1 border-l border-border/60 pl-4`,children:e.steps.map(t=>(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(C,{variant:`outline`,className:l(`px-2 py-0 text-[10px] uppercase tracking-[0.16em]`,j(t)),children:t.status===`completed`?k(t.conclusion)??D(`status.completed`):O(t.status)}),(0,T.jsx)(`span`,{className:`truncate text-[11px] text-muted-foreground`,children:t.name})]},`${e.id}-${t.number}`))}),B=({run:e})=>{let t=M(e),n=N(e);return(0,T.jsxs)(`div`,{className:`rounded-2xl border border-border/60 bg-background/20 px-4 py-3`,children:[(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,T.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,T.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:e.name??`#${e.id}`}),(0,T.jsx)(C,{variant:`outline`,className:l(`px-2 py-0.5 text-[10px] uppercase tracking-[0.18em]`,A(e)),children:n})]}),(0,T.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[t&&(0,T.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:t}),e.html_url&&(0,T.jsxs)(`a`,{href:e.html_url,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-[11px] text-sky-200 hover:text-sky-100`,children:[D(`actions.openOnGithub`),(0,T.jsx)(f,{className:`h-3 w-3`})]})]})]}),e.head_branch&&(0,T.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:e.head_branch}),e.jobs.map(e=>(0,T.jsxs)(`div`,{className:`mt-2`,children:[(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(C,{variant:`outline`,className:l(`px-2 py-0 text-[10px] uppercase tracking-[0.16em]`,A(e)),children:e.status===`completed`?k(e.conclusion)??D(`status.completed`):O(e.status)}),(0,T.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:e.name})]}),(0,T.jsx)(z,{job:e})]},e.id))]})},V=({tracked:e})=>{let t=e.state===`resolving`,n=e.failure?.message??D(`runs.trackingState.${e.state}`);return(0,T.jsxs)(`div`,{className:l(`flex items-start gap-2 rounded-2xl border px-4 py-3`,t?`border-border/60 bg-background/20`:`border-red-400/25 bg-red-500/8`),children:[t&&(0,T.jsx)(u,{className:`mt-0.5 h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,T.jsxs)(`div`,{className:`min-w-0`,children:[(0,T.jsx)(`span`,{className:l(`block break-words text-xs`,t?`text-muted-foreground`:`text-red-200`),children:n}),(0,T.jsx)(`span`,{className:`mt-1 block text-[11px] text-muted-foreground`,children:e.ref??D(`runs.unknownRef`)})]})]})},H=(e,t)=>{let n=new Map(e.map(e=>[e.id,e]));for(let e of t){let t=n.get(e.id);(!t||(e.updated_at??``)>=(t.updated_at??``))&&n.set(e.id,e)}return[...n.values()]},U=(e,t)=>{let n=new Map(e.map(e=>[e.execution_run_id,e]));for(let e of t){let t=n.get(e.execution_run_id),r=t&&![`queued`,`waiting`,`running`].includes(t.execution_status),i=[`queued`,`waiting`,`running`].includes(e.execution_status);(!r||!i)&&n.set(e.execution_run_id,e)}return[...n.values()]},W=(e,t,n)=>{let r=t.filter(e=>e.run===null),i=new Set(r.map(e=>e.tracking_key));return U(e.filter(e=>i.has(e.tracking_key)||n.get(e.tracking_key)?.run===null),r.filter(e=>!n.has(e.tracking_key)))},se=e=>({ref:e??`main`}),G=({projectId:e,defaultBranch:a,onClose:s})=>{let[l,d]=(0,w.useState)([]),[p,b]=(0,w.useState)(!0),[x,S]=(0,w.useState)(null),[C,O]=(0,w.useState)([]),[k,A]=(0,w.useState)([]),[j,M]=(0,w.useState)({}),[N,I]=(0,w.useState)(null),[L,R]=(0,w.useState)(!1),[z]=(0,w.useState)(()=>se(a)),U=(0,w.useRef)({}),G=(0,w.useRef)({}),K=(0,w.useRef)(null),q=(0,w.useRef)(!1),J=(0,w.useRef)(0),Y=(0,w.useRef)(new Map),X=(0,w.useCallback)(async t=>{M(e=>{let n=e[t.id];return n?.isLoading?e:{...e,[t.id]:{inputs:n?.inputs??[],dispatchable:n?.dispatchable??!0,isLoading:!0,error:null}}});try{let n=await ee(e,t.id,t.path);return M(e=>({...e,[t.id]:{inputs:n.inputs,dispatchable:n.dispatchable,isLoading:!1,error:null}})),n}catch(e){return M(n=>({...n,[t.id]:{inputs:[],dispatchable:!0,isLoading:!1,error:e instanceof y?e.message:D(`workflows.loadError`)}})),null}},[e]),Z=(0,w.useCallback)(async()=>{b(!0),S(null);try{let t=await te(e);d(t.workflows),Promise.allSettled(t.workflows.map(e=>X(e)))}catch(e){S(e instanceof y?e.message:D(`workflows.loadError`))}finally{b(!1)}},[X,e]),Q=(0,w.useCallback)(async t=>{if(q.current)return;q.current=!0;let n=J.current;try{let r=await ne(e,t);O(e=>H(e,r.runs)),A(e=>{let t=new Map([...Y.current.entries()].filter(([,e])=>e.revision>n).map(([e,t])=>[e,t.event]));return W(e,r.tracked_runs??[],t)})}catch(e){ie(e)||console.warn(`[github-actions] unable to load runs`,e)}finally{q.current=!1}},[e]);(0,w.useEffect)(()=>{Z()},[Z]),(0,w.useEffect)(()=>{let e=new AbortController,t=()=>{document.visibilityState===`visible`&&Q(e.signal)};t();let r=window.setInterval(t,ae),i=n(t);return()=>{e.abort(),window.clearInterval(r),i()}},[Q]);let ce=(0,w.useCallback)(async e=>{if(N?.workflow.id===e.id)return;K.current=e.id,I({workflow:e,ref:z.ref,values:{}});let t=j[e.id];if(t&&!t.isLoading&&!t.error){I(n=>!n||n.workflow.id!==e.id?n:{...n,values:P(t.inputs)});return}let n=await X(e);n&&I(t=>!t||t.workflow.id!==e.id?t:{...t,values:P(n.inputs)})},[z.ref,j,X,N]),le=(0,w.useCallback)(async()=>{if(!N)return;let t=j[N.workflow.id];if(!t||!t.dispatchable)return;R(!0);let n={};for(let e of t.inputs){let t=N.values[e.name];e.type===`boolean`?n[e.name]=typeof t==`boolean`?t:e.default===!0:typeof t==`string`&&t!==``?n[e.name]=t:typeof e.default==`string`&&e.default!==``&&(n[e.name]=e.default)}try{await _(e,N.workflow.id,{ref:N.ref,workflowName:N.workflow.name,workflowUrl:N.workflow.url,inputs:n}),v.success(D(`messages.dispatched`)),I(null),Q()}catch(e){v.error(e instanceof y?e.message:D(`messages.dispatchError`))}finally{R(!1)}},[j,Q,e,N]);(0,w.useEffect)(()=>{let t=t=>{!t||t.project_id!==e||(J.current+=1,Y.current.set(t.tracking_key,{revision:J.current,event:t}),A(e=>{let n=e.filter(e=>e.tracking_key!==t.tracking_key);return t.run?n:[...n,t]}),t.run&&O(e=>H(e,[t.run])))};return r.on(`github-actions:updated`,t),()=>{r.off(`github-actions:updated`,t)}},[e]),(0,w.useEffect)(()=>{let e=N?.workflow.id;!e||K.current!==e||(U.current[e]?.scrollIntoView({block:`nearest`}),G.current[e]?.scrollIntoView({block:`nearest`}),K.current=null)},[N?.workflow.id]);let $=(0,w.useMemo)(()=>[...C].sort((e,t)=>{let n=e.updated_at?Date.parse(e.updated_at):0;return(t.updated_at?Date.parse(t.updated_at):0)-n}),[C]);return(0,T.jsx)(m,{open:!0,onOpenChange:e=>{e||s()},children:(0,T.jsxs)(o,{showCloseButton:!1,overlayClassName:`bg-black/70`,className:`flex h-[calc(100vh-2rem)] max-h-[58rem] w-full max-w-[calc(100%-1rem)] flex-col gap-0 overflow-hidden rounded-3xl border border-[#2a2a38] bg-[#16161f] p-0 shadow-2xl sm:max-w-5xl`,onInteractOutside:e=>e.preventDefault(),children:[(0,T.jsx)(h,{className:`sr-only`,children:D(`dialog.srTitle`)}),(0,T.jsx)(re,{className:`sr-only`,children:D(`dialog.srDescription`)}),(0,T.jsxs)(`div`,{className:`flex items-start justify-between gap-4 border-b border-border px-6 py-4`,children:[(0,T.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,T.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-2xl border border-border/70 bg-background/60 text-violet-200`,children:(0,T.jsx)(t,{className:`h-5 w-5`})}),(0,T.jsx)(`div`,{children:(0,T.jsx)(`h2`,{className:`text-2xl font-semibold text-foreground`,children:D(`dialog.title`)})})]}),(0,T.jsx)(i,{asChild:!0,children:(0,T.jsx)(g,{type:`button`,"aria-label":D(`dialog.closeAriaLabel`),variant:`ghost`,size:`icon-sm`,className:`cursor-pointer text-muted-foreground hover:text-foreground`,children:(0,T.jsx)(c,{className:`h-4 w-4`})})})]}),(0,T.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-0 overflow-hidden lg:grid-cols-[22rem_minmax(0,1fr)]`,children:[(0,T.jsxs)(`aside`,{"aria-label":D(`workflows.ariaLabel`),className:`flex min-h-0 flex-col gap-3 overflow-y-auto border-b border-border/70 px-4 py-4 lg:border-r lg:border-b-0`,children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,T.jsx)(`p`,{className:`text-xs uppercase tracking-[0.22em] text-muted-foreground`,children:D(`workflows.title`)}),(0,T.jsx)(g,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 px-2 text-xs text-muted-foreground hover:text-foreground`,onClick:()=>{Z(),Q()},children:D(`actions.refresh`)})]}),p&&(0,T.jsxs)(`div`,{className:`flex items-center gap-2 px-2 text-xs text-muted-foreground`,children:[(0,T.jsx)(u,{className:`h-3.5 w-3.5 animate-spin`}),(0,T.jsx)(`span`,{children:D(`workflows.loading`)})]}),x&&(0,T.jsx)(`div`,{className:`rounded-2xl border border-rose-500/30 bg-rose-500/10 px-4 py-3 text-sm text-rose-200`,children:x}),!p&&l.length===0&&!x&&(0,T.jsxs)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:[(0,T.jsx)(`p`,{children:D(`workflows.empty`)}),(0,T.jsx)(`p`,{className:`mt-1`,children:D(`workflows.emptyHint`)}),(0,T.jsxs)(`a`,{href:E,target:`_blank`,rel:`noreferrer`,className:`mt-2 inline-flex items-center gap-1 text-xs text-sky-200 hover:text-sky-100`,children:[D(`workflows.docsLink`),(0,T.jsx)(f,{className:`h-3 w-3`})]})]}),(0,T.jsx)(`div`,{className:`space-y-2`,children:l.map(e=>{let t=N?.workflow.id===e.id;return(0,T.jsxs)(`div`,{className:`space-y-2`,children:[(0,T.jsx)(`div`,{ref:t=>{U.current[e.id]=t},children:(0,T.jsx)(oe,{workflow:e,inputsState:j[e.id]??null,isSelected:t,onSelect:()=>{ce(e)}})}),t&&N&&(0,T.jsx)(`div`,{ref:t=>{G.current[e.id]=t},children:(0,T.jsx)(F,{workflow:e,inputsState:j[e.id]??{inputs:[],dispatchable:!0,isLoading:!1,error:null},refValue:N.ref,onRefChange:e=>{I(t=>t&&{...t,ref:e})},values:N.values,onValueChange:(e,t)=>{I(n=>n&&{...n,values:{...n.values,[e]:t}})},isDispatching:L,onDispatch:()=>{le()},onCancel:()=>{I(null)}})})]},e.id)})})]}),(0,T.jsxs)(`section`,{className:`flex min-h-0 flex-col gap-3 overflow-y-auto px-4 py-4`,children:[(0,T.jsx)(`p`,{className:`text-xs uppercase tracking-[0.22em] text-muted-foreground`,children:D(`runs.title`)}),k.map(e=>(0,T.jsx)(V,{tracked:e},e.tracking_key)),$.map(e=>(0,T.jsx)(B,{run:e},e.id)),$.length===0&&k.length===0&&(0,T.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:D(`runs.empty`)})]})]})]})})};export{G as GitHubActionsDialog};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./chunk-BNv3lrIs.js";import{$ as t,B as n,C as r,E as i,F as a,I as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,S as g,St as _,U as v,V as y,W as ee,X as te,Y as b,Z as x,_ as S,_t as C,a as ne,at as w,b as T,bt as E,c as D,ct as re,d as O,f as ie,g as ae,gt as k,h as oe,ht as A,i as se,it as ce,j,k as le,l as ue,lt as de,n as fe,nt as pe,o as me,ot as he,p as ge,q as _e,rt as ve,s as M,st as ye,t as be,tt as xe,ut as Se,v as N,vt as P,w as F,x as Ce,xt as I,y as we,yt as Te,z as L}from"./index-DBMdsTvy.js";var R=e(_(),1),z=A(),B=e=>{if(!e.file_path)return null;if(!e.start_line)return e.file_path;let t=`${e.start_line}${e.start_column?`:${e.start_column}`:``}`,n=e.end_line?`-${e.end_line}${e.end_column?`:${e.end_column}`:``}`:``;return`${e.file_path}:${t}${n}`},V=[`error`,`warning`,`info`,`unknown`],H=e=>{let t={error:0,warning:0,info:0,unknown:0};return e.forEach(e=>{t[e.severity]+=1}),t},U=({counts:e,totalCount:t})=>{let{t:n}=I(`common`,{keyPrefix:`checksDialog.diagnostics`}),r=V.filter(t=>e[t]>0);return(0,z.jsxs)(`div`,{"aria-label":n(`severitySummaryLabel`),className:`mt-3 flex flex-wrap items-center gap-2`,children:[r.map(t=>(0,z.jsx)(`span`,{className:`rounded-full border border-border/70 bg-background/45 px-2 py-1 text-[11px] text-muted-foreground`,children:n(`severityCount`,{count:e[t],severity:n(`severity.${t}`)})},t)),t>0&&t!==r.reduce((t,n)=>t+e[n],0)&&(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:n(`totalAvailable`,{count:t})})]})},W=({attempt:e,parser:t,repair:n,ticketRequired:i,selectedTicketId:a,onSelectedTicketChange:o})=>{let{t:s}=I(`common`,{keyPrefix:`checksDialog.diagnostics`}),c=e.currency??`unavailable`;return(0,z.jsxs)(Ce,{className:`mt-4 rounded-xl border border-border/60 bg-background/25`,children:[(0,z.jsx)(r,{asChild:!0,children:(0,z.jsxs)(`button`,{type:`button`,"aria-label":s(`technicalDetails`),className:`group flex w-full items-center gap-2 rounded-xl px-3 py-2.5 text-left outline-none transition-colors hover:bg-accent/40 focus-visible:ring-2 focus-visible:ring-ring/60`,children:[(0,z.jsx)(`span`,{className:`text-xs font-semibold text-foreground`,children:s(`technicalDetails`)}),(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-muted-foreground`,children:s(`technicalDetailsHint`)}),(0,z.jsx)(y,{className:`size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-180`})]})}),(0,z.jsxs)(g,{className:`border-t border-border/60 px-3 py-3`,children:[(0,z.jsxs)(`dl`,{className:`grid gap-3 text-xs sm:grid-cols-2`,children:[t&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:s(`parserLabel`)}),(0,z.jsx)(`dd`,{className:`mt-1 text-foreground`,children:s(`parser.${t.parser_kind}`)})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:s(`parserStateLabel`)}),(0,z.jsx)(`dd`,{className:`mt-1 text-foreground`,children:s(`state.${t.status}`)})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:s(`parserRetentionLabel`)}),(0,z.jsx)(`dd`,{className:`mt-1 text-foreground`,children:s(`retentionState.${t.retention_state}`)})]})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:s(`outputRetentionLabel`)}),(0,z.jsx)(`dd`,{className:`mt-1 text-foreground`,children:s(`retentionState.${e.output_retention_state}`)})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:s(`applicabilityLabel`)}),(0,z.jsx)(`dd`,{className:`mt-1 text-foreground`,children:s(`applicability`,{state:s(`applicabilityState.${c}`)})})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:s(`sourceLabel`)}),(0,z.jsx)(`dd`,{className:`mt-1 break-words text-foreground`,children:e.command_snapshot.name})]}),n&&(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-muted-foreground`,children:s(`destinationTitle`)}),(0,z.jsx)(`dd`,{className:`mt-1 text-foreground`,children:s(`destination.${n.destination}`)}),(0,z.jsx)(`dd`,{className:`mt-1 text-muted-foreground`,children:s(`destinationHint`)})]})]}),i&&n&&(0,z.jsxs)(`label`,{className:`mt-3 block text-xs text-muted-foreground`,children:[s(`ticketLabel`),(0,z.jsxs)(`select`,{value:a,onChange:e=>o(e.target.value),className:`mt-1 h-10 w-full rounded-xl border border-border bg-card px-3 text-sm text-foreground`,children:[(0,z.jsx)(`option`,{value:``,children:s(`ticketPlaceholder`)}),n.candidate_tickets.map(e=>(0,z.jsx)(`option`,{value:e.id,children:e.title},e.id))]})]})]})]})},Ee=({attempt:e,diagnostics:t,repair:n,selectedDiagnosticIds:r,selectedRawOutputAttemptRunIds:i,selectedAttemptRunIds:a,selectedTicketId:o,pending:s,activeRepair:c,autoFix:l,onSelectedTicketChange:u,onToggleDiagnostic:d,onToggleRawOutput:f,onStartRepair:p,onStopRepair:m})=>{let{t:h}=I(`common`,{keyPrefix:`checksDialog.diagnostics`}),{t:g}=I(`common`,{keyPrefix:`checksDialog`});if(e.execution_status!==`failed`)return null;let _=t?.parser??null,v=t?.diagnostics??[],y=H(v),ee=!!(l&&!l.terminal_reason),te=l?.attempts[l.attempts.length-1]??null,b=c?.terminal_result===null||ee,S=!!(n?.eligibility.eligible&&n.eligible_attempt_run_ids.includes(e.execution_run_id)&&_?.status===`complete`&&_.retention_state===`retained`),C=!!(n?.eligibility.eligible&&n.eligible_raw_output_attempt_run_ids.includes(e.execution_run_id)&&e.output_retention_state===`retained`&&e.retained_output),ne=i.has(e.execution_run_id),w=r.size,T=w>=32,E=a.size>=8&&!a.has(e.execution_run_id),D=T?h(`diagnosticLimit`,{count:32}):E?h(`attemptLimit`,{count:8}):null,re=!!(n?.accepts_ticket_id&&n.candidate_tickets.length>1),O=w+i.size,ie=O>0&&(!re||o!==``),ae=n&&!n.eligibility.eligible?h(`disabled.${n.eligibility.reason}`):null,k=_&&t&&(_.status===`interrupted`||v.length===0&&[`unsupported`,`malformed`].includes(_.status))?_.status:null,oe=!!(_&&t&&v.length===0&&_.status===`complete`&&_.retention_state===`retained`&&_.diagnostic_count===0),A=!!(_&&t&&v.length===0&&_.status===`complete`&&_.retention_state===`retained`&&_.diagnostic_count>0),se=_?.diagnostic_count??v.length;return(0,z.jsxs)(`section`,{"aria-labelledby":`diagnostics-${e.execution_run_id}`,className:`mt-5 rounded-2xl border border-border/70 bg-background/25 p-4`,children:[(0,z.jsx)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h3`,{id:`diagnostics-${e.execution_run_id}`,className:`text-sm font-semibold text-foreground`,children:h(`title`)}),(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:_&&_.status===`pending`?h(`loading`):_&&se>0?A||_.retention_state===`expired`?h(`totalAvailable`,{count:se}):h(`availableCount`,{count:se}):h(t?`noneAvailable`:`loading`)}),(0,z.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:h(`failureOutcome`,{outcome:e.outcome?g(`outcomeValue.${e.outcome}`):g(`status.${e.execution_status}`)})}),t&&v.length>0&&(0,z.jsx)(U,{counts:y,totalCount:se})]})}),_?.retention_state===`expired`&&(0,z.jsx)(`p`,{className:`mt-3 text-sm text-amber-200`,children:h(`expired`)}),_?.truncated&&(0,z.jsx)(`p`,{className:`mt-3 text-sm text-amber-200`,children:h(`truncated`)}),k&&(0,z.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:h(`fallback.${k}`)}),oe&&(0,z.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:h(`noStructuredDiagnostics`)}),A&&(0,z.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:h(`structuredDetailsUnavailable`)}),C&&(0,z.jsxs)(`label`,{className:`mt-4 flex items-start gap-3 rounded-xl border border-amber-400/25 bg-amber-500/5 p-3`,children:[(0,z.jsx)(`input`,{type:`checkbox`,className:`mt-1 size-4 accent-primary`,"aria-label":h(`rawOutputSelect`),checked:ne,disabled:b||!ne&&E,onChange:e=>f(e.target.checked)}),(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block text-sm font-medium text-foreground`,children:h(`rawOutputSelect`)}),(0,z.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:h(`rawOutputHint`)}),e.retained_start_offset>0&&(0,z.jsx)(`span`,{className:`mt-1 block text-xs text-amber-200`,children:h(`rawOutputTruncated`)})]})]}),t&&v.length>0&&(0,z.jsxs)(`fieldset`,{className:`mt-4`,children:[(0,z.jsx)(`legend`,{className:`text-xs font-medium text-muted-foreground`,children:h(`selectLegend`)}),(0,z.jsx)(`ul`,{className:`mt-2 space-y-2`,children:v.map(e=>{let t=B(e),n=r.has(e.id);return(0,z.jsx)(`li`,{children:(0,z.jsxs)(`label`,{className:`flex items-start gap-3 rounded-xl border border-border/60 bg-background/35 p-3`,children:[(0,z.jsx)(`input`,{type:`checkbox`,className:`mt-1 size-4 accent-primary`,checked:n,disabled:!S||b||!n&&D!==null,onChange:t=>d(e.id,t.target.checked)}),(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsxs)(`span`,{className:`flex flex-wrap gap-2 text-xs text-muted-foreground`,children:[(0,z.jsx)(`span`,{className:`font-semibold uppercase text-foreground`,children:h(`severity.${e.severity}`)}),e.code&&(0,z.jsx)(`code`,{children:e.code})]}),(0,z.jsx)(`span`,{className:`mt-1 block break-words text-sm text-foreground`,children:e.message}),t&&(0,z.jsx)(`span`,{className:`mt-1 block break-all font-mono text-xs text-muted-foreground`,children:t})]})]})},e.id)})})]}),ae&&(0,z.jsx)(`p`,{className:`mt-3 text-xs text-amber-200`,children:ae}),D&&(0,z.jsx)(`p`,{className:`mt-3 text-xs text-amber-200`,children:D}),c&&(0,z.jsxs)(`div`,{className:`mt-4 rounded-xl border border-sky-400/25 bg-sky-500/10 p-3 text-sm`,children:[(0,z.jsx)(`p`,{className:`font-medium text-sky-100`,children:h(c.terminal_result?`repairResult.${c.terminal_result}`:`repairRunning`)}),c.terminal_message&&(0,z.jsx)(`p`,{className:`mt-1 text-xs text-sky-100/80`,children:c.terminal_message})]}),l&&(0,z.jsxs)(`div`,{className:`mt-4 rounded-xl border border-sky-400/25 bg-sky-500/10 p-3 text-sm`,role:`status`,children:[(0,z.jsx)(`p`,{className:`font-medium text-sky-100`,children:l.terminal_reason?h(`autoFix.terminal.${l.terminal_reason}`):te?.fallback_used?h(`autoFix.phase.fallback`):h(`autoFix.phase.${l.phase}`)}),!l.terminal_reason&&l.attempt_count>0&&(0,z.jsx)(`p`,{className:`mt-1 text-xs text-sky-100/80`,children:h(`autoFix.attempt`,{current:l.attempt_count,total:l.max_attempts})})]}),(0,z.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center justify-between gap-3`,children:[(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:h(`selectedEvidence`,{count:O})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsx)(x,{type:`button`,size:`sm`,disabled:n?.eligibility.eligible!==!0||!ie||s||b,title:ae??void 0,onClick:p,children:s?h(`starting`):h(`repairSelectedEvidence`,{count:O})}),b&&(0,z.jsx)(x,{type:`button`,variant:`destructive`,size:`sm`,disabled:s||l?.phase===`stopping`,onClick:m,children:h(ee?`autoFix.stop`:`stopRepair`)})]})]}),(0,z.jsx)(W,{attempt:e,parser:_,repair:n,ticketRequired:re,selectedTicketId:o,onSelectedTicketChange:u})]})},G=({attempt:e})=>{let{t}=I(`common`,{keyPrefix:`checksDialog`}),n=e.retained_output?se(e.retained_output):``;return(0,z.jsxs)(ge,{title:t(`rawOutput`),defaultOpen:!0,children:[e.output_retention_state===`expired`&&(0,z.jsx)(`p`,{className:`rounded-xl border border-border bg-background/30 p-4 text-sm text-muted-foreground`,children:t(`outputExpired`)}),e.output_retention_state===`retained`&&!n&&(0,z.jsx)(`p`,{className:`rounded-xl border border-border bg-background/30 p-4 text-sm text-muted-foreground`,children:t(`outputEmpty`)}),e.output_retention_state===`retained`&&n&&(0,z.jsx)(`pre`,{className:`max-h-80 overflow-auto whitespace-pre-wrap break-words rounded-xl border border-border bg-[#090b12] p-4 font-mono text-xs text-slate-200`,children:n}),e.retained_start_offset>0&&(0,z.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:t(`outputTruncated`)})]})},K=({definition:e,policy:t})=>{let{t:n}=I(`common`,{keyPrefix:`checksDialog`});return(0,z.jsxs)(`article`,{"aria-labelledby":`configured-check-${e.id}`,children:[(0,z.jsx)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`h2`,{id:`configured-check-${e.id}`,className:`text-lg font-semibold text-foreground`,children:e.name}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:n(`status.notRun`)})]})}),(0,z.jsx)(`p`,{className:`mt-4 rounded-xl border border-dashed border-border px-3 py-2 text-sm text-muted-foreground`,children:n(`notRunDescription`)}),(0,z.jsxs)(`dl`,{className:`mt-4 grid gap-3 text-sm sm:grid-cols-2`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:n(`command`)}),(0,z.jsx)(`dd`,{className:`mt-0.5 break-words font-mono text-xs text-foreground`,children:e.command})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:n(`directory`)}),(0,z.jsx)(`dd`,{className:`mt-0.5 text-foreground`,children:e.cwd??n(`targetRoot`)})]}),t&&(0,z.jsxs)(`div`,{className:`sm:col-span-2`,children:[(0,z.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:n(`policyLabel`)}),(0,z.jsxs)(`dd`,{className:`mt-0.5 break-words text-foreground`,children:[n(t.required?`required`:`optional`),` · `,n(t.preReview?`preReview`:`finalOnly`)]})]})]})]})},De=({attempt:e,batch:t,definition:n,diagnostics:r,repair:i,selectedDiagnosticIds:a,selectedRawOutputAttemptRunIds:o,selectedAttemptRunIds:s,selectedTicketId:c,pending:l,activeRepair:u,autoFix:d,onSelectedTicketChange:f,onToggleDiagnostic:p,onToggleRawOutput:m,onStartRepair:h,onStopRepair:g,policy:_,projectId:v})=>{let{t:y}=I(`common`,{keyPrefix:`checksDialog`}),{t:ee}=I(`common`,{keyPrefix:`activityView`}),te=t?O(t,e):null;return e?(0,z.jsxs)(`article`,{"aria-labelledby":`selected-check-${e.execution_run_id}`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`h2`,{id:`selected-check-${e.execution_run_id}`,className:`text-lg font-semibold text-foreground`,children:e.command_snapshot.name}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:y(`status.${e.execution_status}`)})]}),e.outcome&&(0,z.jsx)(`span`,{className:`rounded-full border border-border px-2 py-1 text-xs text-muted-foreground`,children:y(`outcomeValue.${e.outcome}`)})]}),(0,z.jsxs)(`dl`,{className:`mt-4 grid gap-3 text-sm sm:grid-cols-2`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:y(`command`)}),(0,z.jsx)(`dd`,{className:`mt-0.5 break-words font-mono text-xs text-foreground`,children:e.command_snapshot.command})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:y(`directory`)}),(0,z.jsx)(`dd`,{className:`mt-0.5 text-foreground`,children:e.command_snapshot.cwd??y(`targetRoot`)})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:y(`outcome`)}),(0,z.jsx)(`dd`,{className:`mt-0.5 text-foreground`,children:e.outcome?y(`outcomeValue.${e.outcome}`):y(`status.${e.execution_status}`)})]}),e.currency&&(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:y(`currencyLabel`)}),(0,z.jsx)(`dd`,{className:`mt-0.5 text-foreground`,children:ee(`currency.${e.currency}`)})]}),_&&(0,z.jsxs)(`div`,{className:`sm:col-span-2`,children:[(0,z.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:y(`policyLabel`)}),(0,z.jsxs)(`dd`,{className:`mt-0.5 break-words text-foreground`,children:[y(_.required?`required`:`optional`),` · `,y(_.preReview?`preReview`:`finalOnly`)]})]})]}),te&&(0,z.jsxs)(`div`,{className:`mt-4 space-y-2 rounded-xl border border-border/60 bg-background/30 p-3`,children:[(0,z.jsx)(ie,{evidence:te}),(0,z.jsx)(`p`,{className:`break-words text-xs text-muted-foreground`,children:e.placement?y(`environment.attemptPlacementRecorded`,{target:e.placement.targetKey}):y(`environment.attemptPlacementPending`)})]}),(0,z.jsx)(M,{projectId:v,executionRunId:e.execution_run_id}),e.execution_status===`failed`&&(0,z.jsx)(Ee,{attempt:e,diagnostics:r,repair:i,selectedDiagnosticIds:a,selectedRawOutputAttemptRunIds:o,selectedAttemptRunIds:s,selectedTicketId:c,pending:l,activeRepair:u,autoFix:d,onSelectedTicketChange:f,onToggleDiagnostic:p,onToggleRawOutput:m,onStartRepair:h,onStopRepair:g}),(0,z.jsx)(G,{attempt:e},e.execution_run_id)]}):n?(0,z.jsx)(K,{definition:n,policy:_}):(0,z.jsxs)(`section`,{"aria-labelledby":`selected-check-heading`,className:`rounded-2xl border border-dashed border-border p-6`,children:[(0,z.jsx)(`h2`,{id:`selected-check-heading`,className:`font-medium text-foreground`,children:y(`selectAttemptTitle`)}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:y(`selectAttemptDescription`)})]})},q={current:`border-emerald-400/30 bg-emerald-500/10 text-emerald-200`,stale:`border-amber-400/30 bg-amber-500/10 text-amber-200`,failed:`border-red-400/30 bg-red-500/10 text-red-200`,missing:`border-border bg-muted/40 text-muted-foreground`,interrupted:`border-orange-400/30 bg-orange-500/10 text-orange-200`,blocked:`border-amber-400/30 bg-amber-500/10 text-amber-200`},Oe=(e,t)=>e.presentApplicability.appliesToCurrentState===!1?`stale`:t?t.execution_status===`interrupted`||t.execution_status===`cancelled`?`interrupted`:t.execution_status===`failed`?`failed`:t.currency===`stale`?`stale`:t.outcome&&t.outcome!==`passed`?`failed`:t.outcome===`passed`&&t.currency===`current`?`current`:e.decision===`blocked`?`blocked`:`current`:`missing`,ke=e=>e===!0?`gateApplicability.overallCurrent`:e===!1?`gateApplicability.overallStale`:`gateApplicability.overallUnverifiable`,Ae=({evaluation:e})=>{let{t}=I(`common`,{keyPrefix:`checksDialog`}),n=e.presentApplicability.appliesToCurrentState===!1?`gateStale`:e.presentApplicability.appliesToCurrentState===null?`gateUnverifiable`:e.decision===`passed`?`gatePassed`:`gateBlocked`,r=e.reasonCodes[0],i=r?t(`gateReasonSummary`,{reason:t(`reason.${r}`)}):e.decision===`passed`?t(`gatePassedSummary`):t(`gateBlockedSummary`);return(0,z.jsxs)(`section`,{"aria-labelledby":`automated-delivery-gate-heading`,className:`mb-5 rounded-2xl border border-border/70 bg-background/30 p-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`h2`,{id:`automated-delivery-gate-heading`,className:`font-semibold text-foreground`,children:t(`gateTitle`)}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:i})]}),(0,z.jsx)(`span`,{className:m(`shrink-0 rounded-full border px-2.5 py-1 text-xs font-medium`,e.decision===`passed`&&e.presentApplicability.appliesToCurrentState===!0?q.current:q.blocked),children:t(n)})]}),(0,z.jsx)(ge,{title:t(`gateDetails`),children:(0,z.jsxs)(`div`,{className:`space-y-3 text-xs text-muted-foreground`,children:[(0,z.jsx)(`p`,{children:t(`gateScope`)}),(0,z.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,z.jsx)(`p`,{children:t(`gateBoundary.label`,{boundary:t(`gateBoundary.${e.boundaryKind}`)})}),(0,z.jsx)(`p`,{className:`break-all`,children:t(`gatePolicy`,{fingerprint:e.policy.fingerprint.slice(0,12)})}),(0,z.jsx)(`p`,{children:t(`gatePolicyStatus`,{status:t(e.policy.status===`valid`?`gatePolicyValid`:`gatePolicyInvalid`)})}),(0,z.jsx)(`p`,{className:`break-all`,children:e.sourceBatchRunId?t(`gateSourceBatch`,{batchId:e.sourceBatchRunId}):t(`gateNoBatch`)}),(0,z.jsx)(`p`,{className:`break-words`,children:t(`gateApplicability.label`,{workspace:t(`gateApplicability.${e.presentApplicability.workspace}`),policy:t(`gateApplicability.${e.presentApplicability.policy}`),overall:t(ke(e.presentApplicability.appliesToCurrentState))})})]}),e.reasonCodes.length>0&&(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h3`,{className:`font-medium text-foreground`,children:t(`gateReasonsTitle`)}),(0,z.jsx)(`ul`,{className:`mt-1 space-y-1`,children:e.reasonCodes.map(e=>(0,z.jsx)(`li`,{children:t(`reason.${e}`)},e))})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h3`,{className:`font-medium text-foreground`,children:t(`gateEvidenceTitle`)}),(0,z.jsx)(`div`,{className:`mt-2 space-y-2`,children:e.policy.definitions.map(n=>{let r=Oe(e,e.evaluatedAttempts.find(e=>e.definition_id===n.id));return(0,z.jsxs)(`div`,{className:`flex items-start justify-between gap-3 rounded-xl border border-border/60 p-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`break-words text-sm font-medium text-foreground`,children:n.name}),(0,z.jsx)(`code`,{className:`mt-1 block break-all text-xs text-muted-foreground`,children:n.command})]}),(0,z.jsx)(`span`,{className:m(`shrink-0 rounded-full border px-2 py-1 text-xs`,q[r]),children:t(`evidence.${r}`)})]},n.id)})})]}),e.policy.status===`invalid`&&(0,z.jsx)(`p`,{className:`break-words text-amber-200`,children:e.policy.error})]})})]})},je=e=>e.execution_status===`completed`?`border-emerald-400/30 bg-emerald-500/10 text-emerald-200`:e.execution_status===`failed`||e.execution_status===`interrupted`?`border-red-400/30 bg-red-500/10 text-red-200`:e.execution_status===`running`||e.execution_status===`queued`?`border-sky-400/30 bg-sky-500/10 text-sky-200`:`border-border bg-muted/40 text-muted-foreground`,Me=e=>e.execution_status===`completed`&&e.outcome&&e.outcome!==`passed`?`outcomeValue.${e.outcome}`:`status.${e.execution_status}`,Ne=(e,t,n,r)=>((t?.attempts.find(t=>t.attempt_run_id===e.execution_run_id))?.diagnostics.filter(e=>n.has(e.id)).length??0)+ +!!r.has(e.execution_run_id),Pe=({definitions:e,attempts:t,requiredDefinitionIds:n,preReviewDefinitionIds:r,selectedDefinitionIds:i,selectedCheckId:a,diagnostics:o,selectedDiagnosticIds:s,selectedRawOutputAttemptRunIds:c,onToggleDefinition:l,onSelectCheck:u})=>{let{t:d}=I(`common`,{keyPrefix:`checksDialog`}),f=new Set(n),p=new Set(r),h=new Set(e.map(e=>e.id)),g=[...e.map(e=>({definition:e,attempt:t.find(t=>t.definition_id===e.id),historical:!1})),...t.filter(e=>!h.has(e.definition_id)).map(e=>({definition:e.command_snapshot,attempt:e,historical:!0}))];return(0,z.jsxs)(`section`,{"aria-labelledby":`configured-checks-heading`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,z.jsxs)(`header`,{className:`shrink-0 border-b border-border/60 px-4 py-4 sm:px-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col items-start gap-1`,children:[(0,z.jsx)(`h2`,{id:`configured-checks-heading`,className:`text-sm font-semibold text-foreground`,children:d(`configured`)}),(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:d(`selectionHint`)})]}),(0,z.jsxs)(`div`,{className:`mt-3 rounded-xl border border-border/70 bg-background/35 p-3 text-xs text-muted-foreground`,children:[(0,z.jsx)(`p`,{className:`font-medium text-foreground`,children:d(`policySummary.title`)}),(0,z.jsx)(`p`,{className:`mt-1`,children:d(`policySummary.counts`,{requiredCount:n.length,preReviewCount:r.length})})]})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-5 md:max-h-none md:py-5 max-md:max-h-[min(35vh,18rem)]`,children:(0,z.jsx)(`ul`,{"aria-label":d(`configured`),className:`space-y-2`,children:g.map(({definition:e,attempt:t,historical:n})=>{let r=a===e.id,h=t?Ne(t,o,s,c):0,g=f.has(e.id),_=p.has(e.id),v=`${d(`category.${e.category}`)} · ${d(g?`required`:`optional`)} · ${d(_?`preReview`:`finalOnly`)}`;return(0,z.jsx)(`li`,{className:`rounded-xl border border-border/60 bg-background/30 p-2.5`,children:(0,z.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[!n&&(0,z.jsx)(`input`,{type:`checkbox`,className:`mt-1 size-4 shrink-0 accent-primary`,checked:i.has(e.id),"aria-label":d(`selectForRun`,{name:e.name}),onChange:t=>l(e.id,t.target.checked)}),t?(0,z.jsxs)(`button`,{type:`button`,className:m(`min-w-0 flex-1 cursor-pointer rounded-lg px-1.5 py-1 text-left outline-none transition-colors hover:bg-accent/60 focus-visible:ring-2 focus-visible:ring-ring/60`,r&&`bg-accent/60`),"aria-label":d(`inspectAttempt`,{name:e.name,status:d(Me(t))}),"aria-pressed":r,"aria-current":r?`true`:void 0,onClick:()=>u(e.id),children:[(0,z.jsxs)(`span`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,z.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-foreground`,children:e.name}),(0,z.jsx)(`span`,{className:m(`shrink-0 rounded-full border px-2 py-0.5 text-[11px] font-medium`,je(t)),children:d(Me(t))})]}),(0,z.jsx)(`span`,{className:`mt-1 block truncate text-[11px] text-muted-foreground`,children:v}),h>0&&(0,z.jsx)(`span`,{"data-evidence-selected":`true`,className:`mt-1.5 inline-flex rounded-full border border-amber-400/30 bg-amber-500/10 px-2 py-0.5 text-[11px] text-amber-200`,children:d(`evidenceSelected`,{count:h})})]}):(0,z.jsxs)(`button`,{type:`button`,className:m(`min-w-0 flex-1 cursor-pointer rounded-lg px-1.5 py-1 text-left outline-none transition-colors hover:bg-accent/60 focus-visible:ring-2 focus-visible:ring-ring/60`,r&&`bg-accent/60`),"aria-label":d(`inspectAttempt`,{name:e.name,status:d(`status.notRun`)}),"aria-pressed":r,"aria-current":r?`true`:void 0,onClick:()=>u(e.id),children:[(0,z.jsx)(`span`,{className:`flex min-w-0 items-center justify-between gap-2`,children:(0,z.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-foreground`,children:e.name})}),(0,z.jsx)(`span`,{className:`mt-1 block truncate text-[11px] text-muted-foreground`,children:v})]})]})},t?.execution_run_id??e.id)})})})]})},Fe=(e,t)=>{let n=new Set(t?.attempts.filter(e=>e.parser.status===`complete`&&e.parser.retention_state===`retained`&&e.diagnostics.length>0).map(e=>e.attempt_run_id)??[]);return e.find(e=>e.execution_status===`failed`&&n.has(e.execution_run_id))??e.find(e=>e.execution_status===`failed`)??e.find(e=>e.execution_status===`running`)??e[0]??null},Ie=new Set([`queued`,`running`,`waiting`]),Le=75,Re=32,ze=64,Be=3,Ve=32,He=8,J=(e,t)=>e instanceof k?e.message:t,Ue=e=>{let t=new Set(e.repair.eligibility.eligible?e.repair.eligible_attempt_run_ids:[]);return new Set(e.attempts.filter(e=>t.has(e.attempt_run_id)).flatMap(e=>e.diagnostics.map(e=>e.id)))},We=e=>new Set(e.repair.eligibility.eligible?e.repair.eligible_raw_output_attempt_run_ids:[]),Ge=({projectId:e,targetKind:t,targetBundleId:n,definitions:r,requiredDefinitionIds:i=[],preReviewDefinitionIds:a=[],gateEvaluationId:o=null,directBatchRunId:s=null,directAttemptRunId:c=null,onSelectionChange:l,onUnavailable:u,onStatusChange:d})=>{let{t:f}=I(`common`,{keyPrefix:`checksDialog`}),p=ue(),[m,h]=(0,R.useState)(()=>new Set(r.map(e=>e.id))),[g,_]=(0,R.useState)(null),[v,y]=(0,R.useState)(null),[ee,te]=(0,R.useState)(null),[b,S]=(0,R.useState)(null),[C,T]=(0,R.useState)(!0),[E,ae]=(0,R.useState)(null),[oe,A]=(0,R.useState)(null),[se,j]=(0,R.useState)(new Set),[le,fe]=(0,R.useState)(new Set),[ge,_e]=(0,R.useState)(``),[M,be]=(0,R.useState)(null),[N,F]=(0,R.useState)(!1),[Ce,we]=(0,R.useState)(0),[Te,L]=(0,R.useState)(null),B=(0,R.useRef)(g),V=(0,R.useRef)(null),H=(0,R.useRef)(new Set),U=(0,R.useRef)(new Map),W=(0,R.useRef)(0),Ee=(0,R.useRef)(0),G=(0,R.useRef)(null),K=(0,R.useRef)(!1),q=(0,R.useRef)(!0),Oe=(0,R.useRef)(null),ke=(0,R.useRef)(`automatic`),je=(0,R.useRef)(null),Me=(0,R.useRef)(async()=>void 0),Ne=(0,R.useRef)(async()=>void 0),Ge=(0,R.useRef)(()=>void 0),Ke=(0,R.useRef)(0),qe=(0,R.useRef)(oe);B.current=g,qe.current=oe,q.current=C||E!==null;let Y=(0,R.useCallback)((e,t)=>{Oe.current=e,ke.current=t,te(e)},[]),Je=(0,R.useCallback)(e=>{A(e),be(e.latest_repair?.source_batch_run_id===e.batch_run_id?e.latest_repair:null),j(t=>{let n=Ue(e);return new Set([...t].filter(e=>n.has(e)))}),fe(t=>{let n=We(e);return new Set([...t].filter(e=>n.has(e)))}),_e(t=>e.repair.candidate_tickets.some(e=>e.id===t)?t:e.repair.candidate_tickets.length===1&&e.repair.accepts_ticket_id?e.repair.candidate_tickets[0].id:``);let t=B.current;ke.current===`automatic`&&t?.batch.execution_run_id===e.batch_run_id&&Y(Fe(t.attempts,e)?.execution_run_id??null,`automatic`)},[Y]),Ye=(0,R.useCallback)(e=>{let t=U.current;if(!t.has(e.attempt_run_id)&&t.size>=Re){let e=t.keys().next().value;e&&(t.delete(e),H.current.delete(e))}let n=t.get(e.attempt_run_id)??[];t.set(e.attempt_run_id,[...n.slice(-(ze-1)),e])},[]),Xe=(0,R.useCallback)((e,t,n=`route`)=>{let r=B.current?.batch.execution_run_id===e.batch.execution_run_id?B.current:null,i=!1,a=new Set(e.attempts.map(e=>e.execution_run_id));for(let e of U.current.keys())a.has(e)||(U.current.delete(e),H.current.delete(e));let o=e.attempts.map(e=>{let t=!1,n=r?.attempts.find(t=>t.execution_run_id===e.execution_run_id),a=n&&n.output_revision>e.output_revision?n:e,o=U.current.get(e.execution_run_id)??[];for(let e of[...o].sort((e,t)=>e.revision-t.revision)){let n=me(ne(a),e);if(n.status===`refetch`){t=!0,i=!0;continue}n.status===`applied`&&(a={...a,output_revision:n.snapshot.revision,retained_start_offset:n.snapshot.retainedStartOffset,retained_end_offset:n.snapshot.totalByteCount,total_persisted_bytes:n.snapshot.totalByteCount,retained_output:n.snapshot.retainedText})}return t?H.current.add(e.execution_run_id):(H.current.delete(e.execution_run_id),U.current.delete(e.execution_run_id)),a}),s={...e,attempts:o};G.current=e.batch.execution_run_id,B.current=s,_(s);let c=t?s.attempts.find(e=>e.execution_run_id===t):null,d=Oe.current,p=ke.current,m=!!(d&&s.attempts.some(e=>e.execution_run_id===d)),h=Fe(s.attempts,qe.current?.batch_run_id===s.batch.execution_run_id?qe.current:null),g=je.current,v=!!(g&&g.batchRunId===s.batch.execution_run_id&&g.attemptRunId===t),y=!!(g&&g.previousBatchRunId===s.batch.execution_run_id&&g.previousAttemptRunId===t);if(n===`reset`)Y(h?.execution_run_id??null,`automatic`);else if(t)if(c)if(v)Y(c.execution_run_id,`manual`);else if(y&&p===`manual`)Y(m?d:h?.execution_run_id??null,m?`manual`:`automatic`);else{let e=p!==`external`||d!==c.execution_run_id;Y(c.execution_run_id,`external`),e&&l?.(s.batch.execution_run_id,c.execution_run_id)}else v||y?p===`manual`&&m?Y(d,`manual`):Y(h?.execution_run_id??null,`automatic`):(Y(t,`external`),u?.());else n===`preserve`?p===`external`&&d?m?Y(d,`external`):(Y(d,`external`),u?.()):p===`manual`&&m?Y(d,`manual`):Y(p===`automatic`&&m?d:h?.execution_run_id??null,`automatic`):p===`manual`&&m?Y(d,`manual`):Y(h?.execution_run_id??null,`automatic`);i?Ge.current(e.batch.execution_run_id):Ke.current=0,K.current&&!V.current&&(K.current=!1,V.current=setTimeout(()=>{V.current=null,Ne.current().catch(e=>L(J(e,f(`errors.load`))))},Le))},[l,u,f,Y]),X=(0,R.useCallback)(async(t,n)=>{let r=++W.current,i=await xe(e,t,n);if(r!==W.current||i.batch.execution_run_id!==t||G.current!==null&&G.current!==t){i.batch.execution_run_id!==t&&u?.();return}Xe(i,t===s?c:null)},[c,s,Xe,u,e]);Me.current=X,Ge.current=(0,R.useCallback)(e=>{if(V.current)return;if(Ke.current>=Be){Ke.current=0,H.current.clear(),U.current.clear();return}let t=Le*2**Ke.current;V.current=setTimeout(()=>{V.current=null,Ke.current+=1,Me.current(e).catch(t=>{L(J(t,f(`errors.load`))),H.current.size>0&&Ge.current(e)})},t)},[f]);let Ze=(0,R.useCallback)(async r=>{let i=++W.current,a=await w(e,t,n,r);if(i===W.current){if(a.batch_run_id){G.current=a.batch_run_id,await X(a.batch_run_id,r);return}!r?.aborted&&i===W.current&&(G.current=null,B.current=null,_(null),Y(null,`automatic`))}},[X,e,n,t,Y]),Z=(0,R.useCallback)(async()=>{if(o||s){let e=G.current;e&&await X(e);return}await Ze()},[s,o,X,Ze]);Ne.current=Z;let Qe=(0,R.useCallback)(e=>{V.current||=setTimeout(()=>{V.current=null,X(e).catch(e=>L(J(e,f(`errors.load`))))},Le)},[X,f]);(0,R.useEffect)(()=>{let t=new AbortController;return T(!0),L(null),(async()=>{if(s){if(y(null),c){let n=await D(e,c,t.signal);if(n.run.kind!==`check_attempt`||n.details.kind!==`check_attempt`||!n.details.available||!n.details.attempt||n.details.attempt.batch_run_id!==s){u?.();return}}G.current=s,await X(s,t.signal);return}if(!o){y(null),await Ze(t.signal);return}let n=await ve(e,o,t.signal);if(y(n),n.sourceBatchRunId){G.current=n.sourceBatchRunId,await X(n.sourceBatchRunId,t.signal);return}G.current=null,B.current=null,_(null),Y(null,`automatic`)})().catch(e=>{P(e)||(e instanceof k&&e.status===404&&u?.(),L(J(e,f(`errors.load`))))}).finally(()=>{t.signal.aborted||(T(!1),q.current=!1,K.current&&!V.current&&(K.current=!1,V.current=setTimeout(()=>{V.current=null,Ne.current().catch(e=>L(J(e,f(`errors.load`))))},Le)))}),()=>t.abort()},[c,s,o,X,Ze,u,e,f,Y]),(0,R.useEffect)(()=>{let t=g?.batch.execution_run_id;if(!t){Ee.current+=1,A(null),j(new Set),fe(new Set),_e(``),be(null);return}qe.current?.batch_run_id!==t&&(A(null),j(new Set),fe(new Set),_e(``),be(null));let n=++Ee.current,r=new AbortController;return pe(e,t,r.signal).then(e=>{n===Ee.current&&e.batch_run_id===t&&G.current===t&&Je(e)}).catch(e=>{P(e)||L(J(e,f(`errors.diagnostics`)))}),()=>r.abort()},[g?.batch.execution_run_id,Ce,Je,e,f]),(0,R.useEffect)(()=>{let t=t=>{if(t.project_id!==e)return;let n=G.current;if(n!==null&&t.batch_run_id!==n)return;let r=B.current;if(!r||H.current.has(t.attempt_run_id)){Ye(t),r&&H.current.has(t.attempt_run_id)&&Ge.current(r.batch.execution_run_id);return}let i=r.attempts.findIndex(e=>e.execution_run_id===t.attempt_run_id);if(i<0){Ye(t),Qe(r.batch.execution_run_id);return}let a=r.attempts[i],o=me(ne(a),t);if(o.status===`ignored`)return;if(o.status===`refetch`){H.current.add(t.attempt_run_id),Ye(t),Ge.current(r.batch.execution_run_id);return}let s=[...r.attempts];s[i]={...a,output_revision:o.snapshot.revision,retained_start_offset:o.snapshot.retainedStartOffset,retained_end_offset:o.snapshot.totalByteCount,total_persisted_bytes:o.snapshot.totalByteCount,retained_output:o.snapshot.retainedText};let c={...r,attempts:s};B.current=c,_(c)},n=t=>{if(t.project_id&&t.project_id!==e)return;if(q.current){K.current=!0;return}let n=B.current,r=t.execution_run_id??t.id;if(we(e=>e+1),M&&r===M.execution_run_id&&M.source_batch_run_id===G.current&&ce(e,M.execution_run_id).then(be).catch(()=>void 0),n&&(r===n.batch.execution_run_id||n.attempts.some(e=>e.execution_run_id===r))){W.current+=1,Qe(n.batch.execution_run_id);return}K.current=!0,!q.current&&!V.current&&(K.current=!1,V.current=setTimeout(()=>{V.current=null,Ne.current().catch(e=>L(J(e,f(`errors.load`))))},Le))},r=()=>{we(e=>e+1),Z().catch(e=>L(J(e,f(`errors.load`))))};return p.on(`check-attempt:output`,t),p.on(`execution-run:updated`,n),p.on(`lifecycle-event:created`,n),p.on(`connect`,r),()=>{p.off(`check-attempt:output`,t),p.off(`execution-run:updated`,n),p.off(`lifecycle-event:created`,n),p.off(`connect`,r)}},[M,Ye,e,Z,Qe,p,f]),(0,R.useEffect)(()=>()=>{V.current&&clearTimeout(V.current),H.current.clear(),U.current.clear()},[]);let $e=(e,t)=>{W.current+=1,G.current=e.batch.execution_run_id,Xe(e,null,t)},et=async(e,t)=>{W.current+=1,q.current=!0,ae(e),L(null);try{let n=await t();e!==`stop`&&(je.current=null),$e(n,e===`stop`?`preserve`:`reset`),e!==`stop`&&l?.(n.batch.execution_run_id,void 0)}catch(t){L(J(t,f(`errors.${e}`))),t instanceof k&&t.status===409&&await Z().catch(()=>void 0)}finally{ae(null),q.current=C,K.current&&!V.current&&(K.current=!1,V.current=setTimeout(()=>{V.current=null,Ne.current().catch(e=>L(J(e,f(`errors.load`))))},Le))}},tt=g?Ie.has(g.batch.execution_status):!1,nt=g?tt?`running`:g.batch.execution_status===`completed`?`finished`:g.batch.execution_status===`cancelled`||g.batch.execution_status===`interrupted`?`interrupted`:`error`:`inactive`,rt=g?.batch.execution_run_id??null,Q=oe?.batch_run_id===rt?oe:null,it=M?.source_batch_run_id===rt?M:null,$=Q?.auto_fix??null,at=!!($&&!$.terminal_reason),ot=Q?Ue(Q):new Set,st=Q?We(Q):new Set,ct=new Set([...se].filter(e=>ot.has(e))),lt=new Set([...le].filter(e=>st.has(e))),ut=[...m],dt=g?.attempts.filter(e=>e.execution_status!==`completed`).length??0,ft=async()=>{let t=[...ct],n=[...lt];if(!(!Q||!rt||G.current!==rt||Q.repair.eligibility.eligible!==!0||it?.terminal_result===null||$&&!$.terminal_reason||t.length===0&&n.length===0)){F(!0),L(null);try{let r=await re(e,t,n,Q.repair.accepts_ticket_id?Q.repair.candidate_tickets.some(e=>e.id===ge)?ge:Q.repair.candidate_tickets[0]?.id||null:null);be(r.source_batch_run_id===rt?r:null)}catch(t){if(L(J(t,f(`errors.repair`))),t instanceof k&&t.status===409&&g){let t=g.batch.execution_run_id,n=++Ee.current;pe(e,t).then(e=>{n===Ee.current&&e.batch_run_id===t&&G.current===t&&Je(e)}).catch(()=>void 0)}}finally{F(!1)}}},pt=async()=>{let t=$&&!$.terminal_reason?$.execution_run_id:it?.execution_run_id;if(t){F(!0),L(null);try{let n=await Se(e,t);`source_batch_run_id`in n&&be(n),we(e=>e+1)}catch(e){L(J(e,f(`errors.repairStop`)))}finally{F(!1)}}},mt=new Set([...Q?.attempts.filter(e=>e.diagnostics.some(e=>ct.has(e.id))).map(e=>e.attempt_run_id)??[],...lt]),ht=(e,t,n)=>{j(r=>{let i=new Set(r);if(!n)return i.delete(t),i;if(i.size>=Ve||!Q||!ot.has(t))return r;let a=new Set(Q.attempts.filter(e=>e.diagnostics.some(e=>i.has(e.id))).map(e=>e.attempt_run_id)??[]);return!a.has(e)&&a.size>=He?r:(i.add(t),i)})},gt=(e,t)=>{fe(n=>{let r=new Set(n);return t?!mt.has(e)&&mt.size>=He||!st.has(e)?n:(r.add(e),r):(r.delete(e),r)})},_t=(e,t)=>{h(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r})},vt=e=>{g&&(S(null),je.current={batchRunId:g.batch.execution_run_id,attemptRunId:e,previousBatchRunId:s===g.batch.execution_run_id?s:null,previousAttemptRunId:s===g.batch.execution_run_id?c:null},Y(e,`manual`),l?.(g.batch.execution_run_id,e))},yt=e=>{let t=g?.attempts.find(t=>t.definition_id===e);if(t){vt(t.execution_run_id);return}S(e)},bt=b?g?.attempts.find(e=>e.definition_id===b)??null:g?.attempts.find(e=>e.execution_run_id===ee)??null,xt=bt?.command_snapshot??r.find(e=>e.id===b)??null,St=b??bt?.definition_id??null,Ct=xt?{required:i.includes(xt.id),preReview:a.includes(xt.id)}:null,wt=g?O(g.batch):null,Tt=g?g.batch.running_count+g.batch.queued_count:0;return(0,R.useEffect)(()=>{d?.(nt)},[nt,d]),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:[Te&&(0,z.jsx)(`p`,{role:`alert`,className:`mx-4 mt-3 rounded-xl border border-red-400/25 bg-red-500/10 px-3 py-2 text-sm text-red-200 sm:mx-6`,children:Te}),(0,z.jsxs)(`div`,{role:`toolbar`,"aria-label":f(`runActions`),className:`flex shrink-0 flex-wrap items-center justify-between gap-3 border-y border-border/70 bg-background/30 px-4 py-3 sm:px-6`,children:[(0,z.jsx)(`div`,{className:`min-w-0`,children:(0,z.jsx)(`h2`,{className:`text-sm font-semibold text-foreground`,children:f(`runActions`)})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(x,{type:`button`,size:`sm`,disabled:ut.length===0||tt||at||E!==null,onClick:()=>void et(`run`,()=>ye(e,{targetKind:t,targetBundleId:n,definitionIds:ut})),children:f(E===`run`?`starting`:`runSelected`)}),g&&tt&&(0,z.jsx)(x,{type:`button`,variant:`destructive`,size:`sm`,disabled:E!==null||N,onClick:()=>void(at?pt():et(`stop`,()=>de(e,g.batch.execution_run_id))),children:f(E===`stop`||N?`stopping`:`stop`)}),g&&!tt&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(x,{type:`button`,variant:`outline`,size:`xs`,disabled:at||E!==null,onClick:()=>void et(`rerun`,()=>he(e,g.batch.execution_run_id,{mode:`all`})),children:f(`rerunAll`)}),(0,z.jsx)(x,{type:`button`,variant:`outline`,size:`xs`,disabled:at||E!==null||dt===0,onClick:()=>void et(`rerun`,()=>he(e,g.batch.execution_run_id,{mode:`failed_only`})),children:f(`rerunFailed`)})]})]})]}),(0,z.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-rows-[minmax(0,auto)_minmax(0,1fr)] overflow-hidden md:grid-cols-[19rem_minmax(0,1fr)] md:grid-rows-1`,children:[(0,z.jsx)(`aside`,{className:`flex min-h-0 flex-col border-b border-border/70 md:border-r md:border-b-0`,children:(0,z.jsx)(Pe,{definitions:r,attempts:g?.attempts??[],requiredDefinitionIds:i,preReviewDefinitionIds:a,selectedDefinitionIds:m,selectedCheckId:St,diagnostics:Q,selectedDiagnosticIds:ct,selectedRawOutputAttemptRunIds:lt,onToggleDefinition:_t,onSelectCheck:yt})}),(0,z.jsxs)(`main`,{className:`min-h-0 overflow-y-auto p-4 sm:p-6`,children:[o&&!v&&C&&(0,z.jsx)(`p`,{role:`status`,className:`mb-4 text-sm text-muted-foreground`,children:f(`gateLoading`)}),v&&(0,z.jsx)(Ae,{evaluation:v}),C&&(0,z.jsx)(`p`,{role:`status`,className:`text-sm text-muted-foreground`,children:f(`loading`)}),!C&&!g&&!xt&&(0,z.jsxs)(`div`,{className:`rounded-2xl border border-dashed border-border p-6 text-center`,children:[(0,z.jsx)(`h2`,{className:`font-medium text-foreground`,children:f(`emptyTitle`)}),(0,z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:f(`emptyDescription`)})]}),g&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`rounded-full border border-border px-2 py-1 text-xs text-muted-foreground`,children:f(`status.${g.batch.execution_status}`)}),(0,z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:f(`summary`,{passed:g.batch.passed_count,failed:g.batch.failed_count,running:g.batch.running_count,queued:g.batch.queued_count})}),g.batch.stop_requested&&(0,z.jsx)(`span`,{className:`text-xs text-amber-200`,children:f(`stopRequested`)}),wt&&(0,z.jsx)(ie,{evidence:wt})]}),wt?.provider===`docker_sandbox`&&tt&&(0,z.jsxs)(`p`,{className:`mb-4 max-w-3xl text-xs text-amber-100`,children:[f(`environment.batchOwnership`,{count:Tt}),` `,f(`environment.wholeSandboxStop`)]})]}),(g||xt)&&(0,z.jsx)(z.Fragment,{children:(0,z.jsx)(De,{projectId:e,attempt:bt,batch:g?.batch??null,definition:xt,diagnostics:Q?.attempts.find(e=>e.attempt_run_id===bt?.execution_run_id)??null,repair:Q?.repair??null,selectedDiagnosticIds:ct,selectedRawOutputAttemptRunIds:lt,selectedAttemptRunIds:mt,selectedTicketId:ge,pending:N,activeRepair:it,autoFix:$,policy:Ct,onSelectedTicketChange:_e,onToggleDiagnostic:(e,t)=>bt&&ht(bt.execution_run_id,e,t),onToggleRawOutput:e=>bt&>(bt.execution_run_id,e),onStartRepair:()=>void ft(),onStopRepair:()=>void pt()})})]})]})]})},Ke=(e,t)=>E(C(`/projects/${e}/test-sessions`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to open the test runner right now.`}),qe=(e,t)=>E(C(`/tickets/${e}/test-sessions${t?`?project_id=${encodeURIComponent(t)}`:``}`),{method:`POST`,fallbackErrorMessage:`Unable to open the test runner right now.`}),Y=(e,t={})=>E(C(`/test-sessions/${e}/discovery${t.commandId?`?command_id=${encodeURIComponent(t.commandId)}`:``}`),{signal:t.signal,fallbackErrorMessage:`Unable to discover tests right now.`}),Je=(e,t)=>E(C(`/test-sessions/${e}/run`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to start the selected tests right now.`}),Ye=e=>E(C(`/test-sessions/${e}/stop`),{method:`POST`,fallbackErrorMessage:`Unable to stop the test run right now.`}),Xe=e=>Te(C(`/test-sessions/${e}`),{method:`DELETE`,fallbackErrorMessage:`Unable to close the test runner right now.`}),X=256*1024,Ze=24,Z=(e,t)=>le.t(`common:testsDialog.${e}`,t),Qe=(e,t)=>{let n=`${e}${t}`;return n.length<=X?n:n.slice(-X)},$e=(e,t)=>e?e.run_id&&t.run_id&&e.run_id!==t.run_id?e.status===`running`||t.status!==`running`?e:t:e.status!==`idle`&&e.status!==`running`&&t.status===`running`?e:e.run_id===t.run_id&&e.output.length>t.output.length?{...t,output:e.output,output_truncated:e.output_truncated||t.output_truncated}:t:t,et=e=>e.scrollHeight-e.scrollTop-e.clientHeight<=Ze,tt=e=>{e.scrollTop=e.scrollHeight},nt=(e,t=!1)=>{tt(e);let n=0,r=0;return n=window.requestAnimationFrame(()=>{tt(e),t&&(r=window.requestAnimationFrame(()=>{tt(e)}))}),()=>{window.cancelAnimationFrame(n),r!==0&&window.cancelAnimationFrame(r)}},rt=e=>e===`running`?`border-sky-400/40 bg-sky-500/10 text-sky-200`:e===`passed`?`border-emerald-400/40 bg-emerald-500/10 text-emerald-200`:e===`failed`||e===`error`?`border-rose-400/40 bg-rose-500/10 text-rose-200`:e===`stopped`?`border-amber-400/40 bg-amber-500/10 text-amber-200`:`border-border/70 bg-background/60 text-muted-foreground`,Q=e=>{if(e==null)return null;if(e<1e3)return`${e} ms`;let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m ${i}s`:r>0?`${r}m ${i}s`:`${(e/1e3).toFixed(e>=1e4?0:1)} s`},it=e=>{let t=e.split(`/`);return t[t.length-1]||e},$=e=>e.toLowerCase().trim().split(/\s+/).filter(Boolean),at=(e,t)=>e.length===0?!0:e.every(e=>t.some(t=>t.includes(e))),ot=(e,t)=>{let n=$(t);return n.length===0?e:e.flatMap(e=>{let t=it(e.path);if(at(n,[t.toLowerCase(),e.path.toLowerCase()]))return[e];let r=e.cases.filter(r=>at(n,[t.toLowerCase(),e.path.toLowerCase(),r.name.toLowerCase()]));return r.length===0?[]:[{...e,cases:r}]})},st=e=>Z(e===`passed`?`status.passed`:e===`failed`?`status.failed`:e===`running`?`status.running`:e===`error`?`status.error`:e===`stopped`?`status.stopped`:`status.idle`),ct=e=>e?.selection?e.selection.kind===`all`?Z(`selection.allTests`):e.selection.kind===`case`?e.selection.name:it(e.selection.path):Z(`selection.noRunYet`),lt=e=>/(^|\s)(?:FAIL|✗)(\s|$)|\b(?:failed|error|stderr|Expected:|Received:)\b/i.test(e)?`failure`:/(^|\s)(?:PASS|✓)(\s|$)|\bpassed\b/i.test(e)?`success`:/\b(?:WARN|warning|skipped|todo|pending)\b/i.test(e)?`warning`:`default`,ut=e=>e===`failure`?`text-rose-200`:e===`success`?`text-emerald-200`:e===`warning`?`text-amber-200`:`text-slate-200`,dt=(e,t)=>e===t?!0:e.length===t.length?e.every((e,n)=>{let r=t[n];return r!=null&&e.id===r.id&&e.name===r.name&&e.command===r.command&&e.cwd===r.cwd&&e.runner===r.runner}):!1,ft=`min-w-24 justify-center shadow-none transition-none disabled:opacity-100`,pt=({line:e,tone:t})=>(0,z.jsx)(`div`,{"data-tone":t,className:m(`whitespace-pre-wrap break-words`,ut(t)),children:e===``?` `:e}),mt=(0,R.memo)(({canRunGranular:e,filePath:t,isActive:n,name:r,onRunCase:i})=>(0,z.jsxs)(`button`,{type:`button`,"aria-label":Z(`caseRow.runAriaLabel`,{name:r}),title:r,className:m(`flex w-full min-w-0 items-center gap-2.5 rounded-xl px-2.5 py-1.5 text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,e?`cursor-pointer hover:bg-sky-500/10`:`cursor-not-allowed opacity-60`,n&&`bg-sky-500/10`),disabled:!e,onClick:()=>{i(t,r)},children:[(0,z.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-sky-300/80`}),(0,z.jsx)(`span`,{className:`truncate text-xs text-foreground`,children:r})]}));mt.displayName=`TestCaseRow`;var ht=(0,R.memo)(({activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,canRunGranular:i,file:a,isExpanded:o,onRunCase:s,onRunFile:c,onToggleFile:l})=>{let u=e===`file`&&n===a.path,d=e===`case`&&n===a.path;return(0,z.jsx)(Ce,{open:o,onOpenChange:e=>{l(a.path,e)},children:(0,z.jsxs)(`div`,{className:`space-y-1`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(r,{asChild:!0,children:(0,z.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":Z(o?`fileRow.collapseAriaLabel`:`fileRow.expandAriaLabel`,{path:a.path}),className:`mt-1 shrink-0 text-muted-foreground hover:text-foreground`,children:(0,z.jsx)(y,{className:m(`h-4 w-4 transition-transform`,o&&`rotate-180`)})})}),(0,z.jsx)(`button`,{type:`button`,"aria-label":Z(`fileRow.runAriaLabel`,{path:a.path}),className:m(`min-w-0 flex-1 rounded-xl border border-border/60 bg-background/20 px-2.5 py-2 text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,i?`cursor-pointer hover:border-sky-400/35 hover:bg-sky-500/10`:`cursor-not-allowed opacity-60`,(u||d)&&`border-sky-400/45 bg-sky-500/10`),disabled:!i,onClick:()=>{c(a.path)},children:(0,z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,z.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-md border border-border/70 bg-background/60 text-sky-200`,children:(0,z.jsx)(L,{className:`h-3.5 w-3.5`})}),(0,z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-start justify-between gap-3`,children:[(0,z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`span`,{className:`block truncate text-xs font-medium text-foreground`,children:it(a.path)}),(0,z.jsx)(`span`,{className:`mt-0.5 block truncate text-[11px] text-muted-foreground`,children:a.path})]}),(0,z.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:Z(`fileRow.testCount`,{count:a.cases.length})})]})]})})]}),(0,z.jsx)(g,{children:(0,z.jsx)(`div`,{className:`ml-4 border-l border-border/60 pl-6`,children:a.cases.length===0?(0,z.jsx)(`p`,{className:`px-2.5 py-1.5 text-xs text-muted-foreground`,children:Z(`fileRow.noNamedTests`)}):(0,z.jsx)(`div`,{className:`space-y-1`,children:a.cases.map(r=>{let o=e===`case`&&n===a.path&&t===r.name;return(0,z.jsx)(mt,{canRunGranular:i,filePath:a.path,isActive:o,name:r.name,onRunCase:s},r.id)})})})})]})})});ht.displayName=`DiscoveryFileRow`;var gt=(0,R.memo)(({activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,availableCommands:r,canRunGranular:i,discovery:o,expandedFiles:s,fullSuiteOnlyNotice:c,isLoading:l,selectedCommandId:g,selectedCommandName:_,sessionError:ee,sessionStatus:te,shouldShowCommandSelector:b,onRunCase:S,onRunFile:C,onSelectCommand:ne,onToggleFile:w})=>{let[T,E]=(0,R.useState)(``),D=(0,R.useMemo)(()=>ot(o,T),[o,T]),re=(0,R.useMemo)(()=>D.reduce((e,t)=>e+t.cases.length,0),[D]),O=$(T).length>0;return(0,z.jsx)(`aside`,{className:`min-h-0 border-b border-border/70 px-4 py-4 lg:border-r lg:border-b-0`,children:(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[b&&(0,z.jsxs)(`div`,{className:`space-y-2`,children:[(0,z.jsx)(`p`,{className:`text-xs uppercase tracking-[0.22em] text-muted-foreground`,children:Z(`scope.label`)}),(0,z.jsxs)(u,{children:[(0,z.jsx)(a,{asChild:!0,children:(0,z.jsxs)(x,{type:`button`,variant:`outline`,className:`w-full justify-between rounded-xl border-border/70 bg-background/60`,"aria-label":Z(`scope.selectedCommandAriaLabel`),disabled:r.length===0||te===`running`,children:[(0,z.jsx)(`span`,{className:`truncate`,children:_??Z(`scope.selectTestScope`)}),(0,z.jsx)(y,{className:`h-4 w-4 text-muted-foreground`})]})}),(0,z.jsx)(d,{align:`start`,className:`w-72`,children:r.map(e=>(0,z.jsx)(p,{className:m(g===e.id&&`bg-accent text-accent-foreground`),onSelect:()=>{ne(e.id)},children:(0,z.jsx)(`span`,{className:`truncate`,children:e.name})},e.id))})]})]}),c&&(0,z.jsx)(`div`,{className:`rounded-2xl border border-border/70 bg-background/30 px-4 py-3 text-sm text-muted-foreground`,children:c}),(o.length>0||T.length>0)&&(0,z.jsxs)(`div`,{className:`relative mt-1 shrink-0`,children:[(0,z.jsx)(v,{type:`search`,value:T,onChange:e=>{E(e.target.value)},placeholder:Z(`filter.placeholder`),"aria-label":Z(`filter.ariaLabel`),className:`pr-10`}),T.length>0&&(0,z.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":Z(`filter.clearAriaLabel`),className:`absolute right-1 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:()=>{E(``)},children:(0,z.jsx)(f,{className:`size-4`})})]}),!r.length&&(0,z.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-4 text-sm text-muted-foreground`,children:Z(`discovery.noCommands`)}),ee&&(0,z.jsx)(`div`,{className:`rounded-2xl border border-rose-500/30 bg-rose-500/10 px-4 py-3 text-sm text-rose-200`,children:ee}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-hidden rounded-2xl border border-border/70 bg-background/20 p-4`,children:[(0,z.jsxs)(`div`,{className:`shrink-0 flex items-start justify-between gap-3`,children:[(0,z.jsx)(`div`,{className:`min-w-0`,children:(0,z.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[Z(`discovery.fileCount`,{count:D.length}),`, `,Z(`discovery.caseCount`,{count:re})]})}),l&&(0,z.jsx)(h,{className:`h-4 w-4 animate-spin text-muted-foreground`})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto pr-1`,children:o.length===0&&!l?(0,z.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:Z(`discovery.noFilesDetected`)}):D.length===0?(0,z.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:Z(`discovery.noFilterMatches`)}):D.map(r=>(0,z.jsx)(ht,{activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,canRunGranular:i,file:r,isExpanded:O||(s[r.path]??!1),onRunCase:S,onRunFile:C,onToggleFile:w},r.path))})]})]})})});gt.displayName=`DiscoveryPane`;var _t=(0,R.memo)(({durationMs:e,output:t,outputTruncated:n,selectionLabel:r,status:i,summaryCounts:a,viewportRef:o,onScroll:s})=>{let c=(0,R.useMemo)(()=>t?se(t).replace(/\r\n/g,`
|
|
2
|
-
`).replace(/\r/g,`
|
|
3
|
-
`).split(`
|
|
4
|
-
`).map(e=>({line:e,tone:lt(e)})):[],[t]);return(0,z.jsx)(`section`,{className:`min-h-0 px-4 py-4`,children:(0,z.jsxs)(`div`,{className:`flex h-full flex-col gap-3`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm`,children:[(0,z.jsx)(`span`,{className:`font-medium text-foreground`,children:r}),i&&(0,z.jsx)(F,{variant:`outline`,className:m(`px-3 py-1 text-xs uppercase tracking-[0.2em]`,rt(i)),children:st(i)}),a&&(0,z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-xs font-medium uppercase tracking-[0.18em]`,children:[(0,z.jsxs)(`span`,{className:`text-rose-200`,children:[a.failed.count,` `,a.failed.label]}),(0,z.jsxs)(`span`,{className:`text-emerald-200`,children:[a.passed.count,` `,a.passed.label]})]}),e!=null&&(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:Q(e)}),n&&(0,z.jsx)(F,{variant:`outline`,className:`border-amber-400/30 bg-amber-500/10 text-amber-200`,children:Z(`output.trimmed`)})]}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden rounded-2xl border border-border/70 bg-[#0d1017]`,children:(0,z.jsx)(`div`,{ref:o,"aria-label":Z(`output.ariaLabel`),className:`h-full overflow-auto px-4 py-4`,onScroll:s,children:(0,z.jsx)(`div`,{className:`font-mono text-xs leading-5`,children:c.length>0?c.map((e,t)=>(0,z.jsx)(pt,{line:e.line,tone:e.tone},`${t}:${e.line}`)):(0,z.jsx)(`div`,{className:`text-slate-200`,children:Z(`output.empty`)})})})})]})})});_t.displayName=`OutputPane`;var vt=(0,R.forwardRef)(({testCommands:e,onStatusChange:n,onTargetLabelChange:r,onClose:a,...u},d)=>{let f=u.scope,p=u.projectId,m=u.scope===`ticket`?u.ticketId:null,h=u.scope===`project`?u.targetKind:null,g=u.scope===`project`?u.targetBundleId:null,[_,v]=(0,R.useState)(e),[y,S]=(0,R.useState)(null),[C,ne]=(0,R.useState)([]),[w,T]=(0,R.useState)(``),[E,D]=(0,R.useState)({}),[re,O]=(0,R.useState)(!0),[ie,ae]=(0,R.useState)(!1),[A,se]=(0,R.useState)(!1),[ce,j]=(0,R.useState)(null),[le,ue]=(0,R.useState)(!1),[de,pe]=(0,R.useState)(!1),me=(0,R.useRef)(null),he=(0,R.useRef)(!1),ge=(0,R.useRef)(null),ve=(0,R.useRef)(!0),M=(0,R.useRef)(null),ye=(0,R.useRef)(null),be=y?.selection?.kind??null,xe=y?.selection?.kind===`all`?null:y?.selection?.path??null,Se=y?.selection?.kind===`case`?y.selection.name:null,N=y?.id??null,P=y?.status??null,F=(0,R.useMemo)(()=>_.find(e=>e.id===w)??null,[_,w]),Ce=(0,R.useMemo)(()=>{if(y?.summary?.failed_count==null&&y?.summary?.passed_count==null&&y?.summary?.failed_file_count==null&&y?.summary?.passed_file_count==null)return null;let e=y?.summary?.failed_count==null&&y?.summary?.passed_count==null;return{failed:P===`failed`&&y?.summary?.failed_count==null&&y?.summary?.failed_file_count!=null||e?{count:y?.summary?.failed_file_count??0,label:Z(`summaryCounts.filesFailed`)}:{count:y?.summary?.failed_count??0,label:Z(`summaryCounts.failed`)},passed:e?{count:y?.summary?.passed_file_count??0,label:Z(`summaryCounts.filesPassed`)}:{count:y?.summary?.passed_count??y?.summary?.passed_file_count??0,label:Z(`summaryCounts.passed`)}}},[y?.summary?.failed_count,y?.summary?.passed_count,y?.summary?.failed_file_count,y?.summary?.passed_file_count,P]),I=F?.runner===`unknown`?Z(`scope.fullSuiteOnlyNotice`):null,we=!!(F&&y?.status!==`running`&&!ie&&!A),Te=we,L=we&&de,B=_.length>1,{runs:V}=fe(p),H=y?.run_id?V.find(e=>e.id===y.run_id)??null:null;(0,R.useEffect)(()=>{w||_.length===0||T(_[0]?.id??``)},[_,w]),(0,R.useEffect)(()=>{e.length>0&&v(t=>dt(t,e)?t:e)},[e]),(0,R.useEffect)(()=>{if(_.length>0||!p)return;let e=new AbortController;return t(e.signal).then(e=>{let t=e.find(e=>e.id===p);t&&v(e=>{let n=oe(t);return dt(e,n)?e:n})}).catch(()=>{}),()=>{e.abort()}},[_.length,p]),(0,R.useEffect)(()=>{let e=e=>{!e||e.id!==me.current||S(t=>$e(t,e))},t=e=>{!e||e.session_id!==me.current||S(t=>!t||t.id!==e.session_id||e.run_id&&t.run_id&&e.run_id!==t.run_id?t:{...t,output:Qe(t.output,e.chunk),output_truncated:e.output_truncated})};return i.on(`test-session:updated`,e),i.on(`test-session:output`,t),()=>{i.off(`test-session:updated`,e),i.off(`test-session:output`,t)}},[]),(0,R.useEffect)(()=>{let e=ge.current;if(!e){M.current=y?.output??null,ye.current=y?.status??null;return}let t=M.current!==(y?.output??null),n=ye.current!==`running`&&y?.status===`running`,r=ye.current===`running`&&y?.status!==`running`;if(n&&(ve.current=!0),n||t&&y?.status===`running`&&ve.current||r&&ve.current){let t=nt(e,r);return M.current=y?.output??null,ye.current=y?.status??null,t}M.current=y?.output??null,ye.current=y?.status??null},[y?.output,y?.status]),(0,R.useEffect)(()=>{let e=!1;return(async()=>{try{let t;if(f===`project`){if(!p)return;t=await Ke(p,{target_kind:h??`repo_root`,target_bundle_id:g??null})}else t=await qe(m??``,p);if(e){Xe(t.id).catch(()=>{});return}me.current=t.id,S(t)}catch(t){e||j(t instanceof k?t.message:Z(`messages.loadRunnerError`))}finally{!e&&me.current==null&&O(!1)}})(),()=>{e=!0}},[p,f,g,h,m]),(0,R.useEffect)(()=>{H&&S(e=>{if(!e||e.run_id!==H.id)return e;let t=H.status===`completed`?`passed`:H.status===`failed`?`failed`:H.status===`cancelled`||H.status===`interrupted`?`stopped`:`running`;return e.status===t&&e.error===(H.failure?.message??e.error)?e:{...e,status:t,error:H.failure?.message??e.error,started_at:H.started_at??e.started_at,completed_at:H.completed_at??e.completed_at}})},[H]),(0,R.useEffect)(()=>{if(!y?.id){pe(!1);return}if(_.length>0&&!w){pe(!1);return}let e=new AbortController,t=!1;return O(!0),pe(!1),Y(y.id,{commandId:w||null,signal:e.signal}).then(e=>{t||(ne(e.files),pe(e.supports_granular_selection))}).catch(n=>{t||e.signal.aborted||j(n instanceof k?n.message:Z(`messages.discoverError`))}).finally(()=>{t||O(!1)}),()=>{t=!0,e.abort()}},[_.length,w,y?.id]),(0,R.useEffect)(()=>()=>{let e=me.current;!e||he.current||(he.current=!0,Xe(e).catch(()=>{}))},[]);let U=(0,R.useCallback)(async e=>{if(!(!N||P===`running`||!F||ie||A)){j(null),ae(!0);try{let t=await Je(N,{command_id:F.id,selection:e});S(e=>$e(e,t))}catch(e){j(e instanceof k?e.message:Z(`messages.startError`))}finally{ae(!1)}}},[ie,A,F,N,P]),W=(0,R.useCallback)(async()=>{if(!(!N||P!==`running`||A)){j(null),se(!0);try{let e=await Ye(N);S(t=>$e(t,e))}catch(e){j(e instanceof k?e.message:Z(`messages.stopError`))}finally{se(!1)}}},[A,N,P]),Ee=(0,R.useCallback)(()=>{let e=me.current;if(!e||he.current){a();return}he.current=!0,a(),Xe(e).catch(()=>{})},[a]),G=(0,R.useCallback)(()=>{if(P===`running`){ue(!0);return}Ee()},[Ee,P]);(0,R.useImperativeHandle)(d,()=>({requestClose:G}),[G]),(0,R.useEffect)(()=>{n?.(P===`running`?`running`:P===`passed`?`finished`:P===`failed`||P===`error`?`error`:P===`stopped`?`interrupted`:`inactive`)},[n,P]),(0,R.useEffect)(()=>{y?.target_label&&r?.(y.target_label)},[r,y?.target_label]);let K=(0,R.useCallback)(()=>{let e=ge.current;e&&(ve.current=et(e))},[]),De=(0,R.useCallback)(e=>{T(e)},[]),q=(0,R.useCallback)((e,t)=>{D(n=>(n[e]??!1)===t?n:{...n,[e]:t})},[]),Oe=(0,R.useCallback)(e=>{U({kind:`file`,path:e})},[U]),ke=(0,R.useCallback)((e,t)=>{U({kind:`case`,path:e,name:t})},[U]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,"data-testid":`tests-panel-layout`,children:[(0,z.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-rows-[minmax(0,1fr)_minmax(0,1fr)] gap-0 lg:grid-cols-[22rem_minmax(0,1fr)] lg:grid-rows-1`,children:[(0,z.jsx)(gt,{activeSelectionKind:be,activeSelectionName:Se,activeSelectionPath:xe,availableCommands:_,canRunGranular:L,discovery:C,expandedFiles:E,fullSuiteOnlyNotice:I,isLoading:re,selectedCommandId:w,selectedCommandName:F?.name??null,sessionError:ce,sessionStatus:P,shouldShowCommandSelector:B,onRunCase:ke,onRunFile:Oe,onSelectCommand:De,onToggleFile:q}),(0,z.jsx)(_t,{durationMs:y?.duration_ms??null,output:y?.output??``,outputTruncated:y?.output_truncated??!1,selectionLabel:ct(y),status:P,summaryCounts:Ce,viewportRef:ge,onScroll:K})]}),(0,z.jsx)(s,{className:`shrink-0 border-t border-border/70 px-6 py-4 sm:flex-row sm:items-center sm:justify-end`,children:(0,z.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:y?.status===`running`?(0,z.jsxs)(x,{type:`button`,variant:`destructive`,className:ft,onClick:()=>{W()},disabled:A,children:[(0,z.jsx)(o,{className:`h-4 w-4`}),(0,z.jsx)(`span`,{children:Z(`actions.stop`)})]}):(0,z.jsxs)(x,{type:`button`,variant:`success`,className:ft,disabled:!Te,onClick:()=>{U({kind:`all`})},children:[(0,z.jsx)(l,{className:`h-4 w-4`}),(0,z.jsx)(`span`,{children:Z(`actions.run`)})]})})})]}),(0,z.jsx)(ee,{open:le,onOpenChange:ue,children:(0,z.jsxs)(c,{showCloseButton:!1,overlayClassName:`z-[60] bg-black/60`,className:`z-[60] max-w-md rounded-2xl border border-border bg-card p-6 shadow-2xl`,children:[(0,z.jsxs)(b,{children:[(0,z.jsx)(te,{className:`text-sm font-semibold uppercase tracking-widest text-muted-foreground`,children:Z(`closeConfirmation.title`)}),(0,z.jsx)(_e,{className:`text-sm text-foreground whitespace-pre-line`,children:Z(`closeConfirmation.description`)})]}),(0,z.jsxs)(s,{className:`sm:flex-row sm:justify-end`,children:[(0,z.jsx)(x,{type:`button`,variant:`ghost`,onClick:()=>ue(!1),children:Z(`closeConfirmation.keepRunning`)}),(0,z.jsx)(x,{type:`button`,variant:`destructive`,onClick:()=>{ue(!1),Ee()},children:Z(`closeConfirmation.stopAndClose`)})]})]})})]})});vt.displayName=`TestsPanel`;var yt=`archon.verification-tab`,bt=()=>{try{let e=window.localStorage.getItem(yt);return e===`checks`||e===`tests`?e:null}catch{return null}},xt=e=>{try{window.localStorage.setItem(yt,e)}catch{}},St=({targetLabel:e,definitions:t,requiredDefinitionIds:r=[],preReviewDefinitionIds:i=[],checksTarget:a,testsTarget:o,onClose:s,onOpenActivity:l,requestedInitialTab:u,directBatchRunId:d,directAttemptRunId:p,onCheckSelectionChange:m,onUnavailable:h})=>{let{t:g}=I(`common`,{keyPrefix:`verificationDialog`}),_=ae(t),v=a!==null&&(t.length>0||!!a.gateEvaluationId||!!d),y=o!==null&&_.length>0,[b,C]=(0,R.useState)(()=>{if(u===`checks`&&v||u===`tests`&&y)return u;let e=bt();return e===`checks`&&v||e===`tests`&&y?e:v?`checks`:`tests`}),[ne,w]=(0,R.useState)(()=>new Set([b])),[E,D]=(0,R.useState)(`inactive`),[re,O]=(0,R.useState)(`inactive`),ie=(0,R.useRef)(null),k=(0,R.useRef)(null);(0,R.useEffect)(()=>{if(b===`checks`&&!v||b===`tests`&&!y){let e=v?`checks`:`tests`;C(e),w(t=>new Set(t).add(e))}},[b,v,y]);let oe=e=>{if(k.current=e??null,o){let e=ie.current;if(e){e.requestClose();return}}(e??s)()},A=()=>{let e=k.current??s;k.current=null,e()};return(0,z.jsx)(ee,{open:!0,onOpenChange:e=>{e||oe()},children:(0,z.jsxs)(c,{showCloseButton:!1,className:`flex h-[calc(100vh-1rem)] max-h-[58rem] w-full max-w-[calc(100%-1rem)] flex-col gap-0 overflow-hidden rounded-3xl p-0 sm:h-[calc(100vh-2rem)] sm:max-w-7xl`,onInteractOutside:e=>e.preventDefault(),onEscapeKeyDown:e=>e.stopPropagation(),children:[(0,z.jsx)(te,{className:`sr-only`,children:g(`title`)}),(0,z.jsx)(_e,{className:`sr-only`,children:g(`description`)}),(0,z.jsxs)(`header`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-border/70 px-4 py-4 sm:px-6`,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 gap-3`,children:[(0,z.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-2xl border border-border bg-background/60 text-sky-200`,children:(0,z.jsx)(n,{className:`size-5`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`h1`,{className:`text-xl font-semibold text-foreground`,children:g(`title`)}),(0,z.jsx)(`p`,{className:`truncate text-sm text-muted-foreground`,children:e})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[l&&(0,z.jsx)(x,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>oe(l),children:g(`openActivity`)}),(0,z.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":g(`close`),onClick:()=>oe(),children:(0,z.jsx)(f,{className:`size-4`})})]})]}),(0,z.jsxs)(S,{value:b,onValueChange:e=>{e!==`checks`&&e!==`tests`||(C(e),w(t=>new Set(t).add(e)),xt(e))},className:`flex min-h-0 flex-1 flex-col`,children:[(0,z.jsxs)(`div`,{className:`shrink-0 border-b border-border/70 px-4 py-3 sm:px-6`,children:[(0,z.jsxs)(we,{"aria-label":g(`tabsAriaLabel`),children:[v&&(0,z.jsxs)(T,{value:`checks`,className:`gap-2`,children:[(0,z.jsx)(n,{className:`size-4`}),(0,z.jsx)(`span`,{children:g(`tabs.checks.label`)}),(0,z.jsx)(`span`,{className:`inline-flex shrink-0`,role:`status`,"aria-label":g(`status.checks.${E}`),children:(0,z.jsx)(j,{state:E})})]}),y&&(0,z.jsxs)(T,{value:`tests`,className:`gap-2`,children:[(0,z.jsx)(be,{className:`size-4`}),(0,z.jsx)(`span`,{children:g(`tabs.tests.label`)}),(0,z.jsx)(`span`,{className:`inline-flex shrink-0`,role:`status`,"aria-label":g(`status.tests.${re}`),children:(0,z.jsx)(j,{state:re})})]})]}),(0,z.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:g(`tabs.${b}.description`)})]}),v&&a&&ne.has(`checks`)&&(0,z.jsx)(N,{value:`checks`,forceMount:!0,className:`mt-0 flex min-h-0 flex-1 flex-col overflow-hidden data-[state=inactive]:hidden`,children:(0,z.jsx)(Ge,{...a,definitions:t,requiredDefinitionIds:r,preReviewDefinitionIds:i,directBatchRunId:d,directAttemptRunId:p,onSelectionChange:b===`checks`?m:void 0,onUnavailable:h,onStatusChange:D})}),o&&_.length>0&&ne.has(`tests`)&&(0,z.jsx)(N,{value:`tests`,forceMount:!0,className:`mt-0 flex min-h-0 flex-1 flex-col overflow-hidden data-[state=inactive]:hidden`,children:(0,z.jsx)(vt,{ref:ie,...o,testCommands:_,onStatusChange:O,onClose:A})})]})]})})};export{St as VerificationDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{at as e,ot as t}from"./chunk-CSCIHK7Q-B355h6HA.js";var n=(n,r)=>t.lang.round(e.parse(n)[r]);export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as e}from"./src-BRjoYtUW.js";import"./chunk-CSCIHK7Q-B355h6HA.js";import"./chunk-5ZQYHXKU-DcxuI7lb.js";import"./chunk-O5CBEL6O-W42BEPu4.js";import"./chunk-FMBD7UC4-CEo2wZMx.js";import"./chunk-BSJP7CBP-DJ57XcV5.js";import"./chunk-L5ZTLDWV-DFLYcMx8.js";import"./chunk-ND2GUHAM-CIuUQ86K.js";import"./chunk-55IACEB6-74CcJaub.js";import"./chunk-2J33WTMH-t5CxhRXJ.js";import"./chunk-NZK2D7GU-CIwqlxek.js";import"./chunk-3OPIFGDE-YHT1dP8Q.js";import"./chunk-KSCS5N6A-CLHGYOLQ.js";import"./chunk-LZXEDZCA-DtljFujX.js";import{i as t,n,r,t as i}from"./chunk-727SXJPM-D1F6DmrT.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as e}from"./src-BRjoYtUW.js";import"./chunk-CSCIHK7Q-B355h6HA.js";import"./chunk-5ZQYHXKU-DcxuI7lb.js";import"./chunk-O5CBEL6O-W42BEPu4.js";import"./chunk-FMBD7UC4-CEo2wZMx.js";import"./chunk-BSJP7CBP-DJ57XcV5.js";import"./chunk-L5ZTLDWV-DFLYcMx8.js";import"./chunk-ND2GUHAM-CIuUQ86K.js";import"./chunk-55IACEB6-74CcJaub.js";import"./chunk-2J33WTMH-t5CxhRXJ.js";import"./chunk-NZK2D7GU-CIwqlxek.js";import"./chunk-3OPIFGDE-YHT1dP8Q.js";import"./chunk-KSCS5N6A-CLHGYOLQ.js";import"./chunk-LZXEDZCA-DtljFujX.js";import{i as t,n,r,t as i}from"./chunk-727SXJPM-D1F6DmrT.js";var a={parser:n,get db(){return new i},renderer:r,styles:t,init:e(e=>{e.class||={},e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
|