@straiffi/archon 1.7.2 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/ActivityView-BgMz3NNT.js +1 -0
- package/dist/client/assets/GitHubActionsDialog-CNqWDS3E.js +1 -0
- package/dist/client/assets/TestsDialog-Cll7xJe0.js +4 -0
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-Do9nbC8v.js → architectureDiagram-3BPJPVTR-BL5dYiul.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-DGGOLHF8.js → blockDiagram-GPEHLZMM-Bi5x2v80.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-Bz7tQybs.js → c4Diagram-AAUBKEIU-esEm54Ay.js} +1 -1
- package/dist/client/assets/channel-CqNHF3FD.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-CJO-GmWJ.js → chunk-2J33WTMH-DACfY8xM.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-DPAVagpC.js → chunk-3OPIFGDE-DZNUiaUs.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-Cof75Mu7.js → chunk-5ZQYHXKU-ClDfkMAp.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-COuPqQ8_.js → chunk-727SXJPM-CCwA3GWT.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-CFj5KabW.js → chunk-AQP2D5EJ-Byl4DRZ9.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-C4M6w5cT.js → chunk-CSCIHK7Q-CXymZQ7A.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-ByaiwVue.js → chunk-KSCS5N6A-VV3D8g6a.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-Cx5jeot9.js → chunk-L5ZTLDWV-BL9N5GRI.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-DmGtztud.js → chunk-LZXEDZCA-DKNN-zno.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-i3yuspqL.js → chunk-ND2GUHAM-CHCpQ1yr.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-CQ4E_jP4.js → chunk-NZK2D7GU-B0Dm74mt.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-D2g4VDCd.js → chunk-O5CBEL6O-DAa5z2xG.js} +1 -1
- package/dist/client/assets/{chunk-WU5MYG2G-exIu-zQ2.js → chunk-WU5MYG2G-DrVJWKVR.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BjEgQwKg.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-gGomH-F_.js +1 -0
- package/dist/client/assets/{dagre-BM42HDAG-DvF75yLZ.js → dagre-BM42HDAG-B0fsl8mE.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-DFv0HxLL.js → diagram-2AECGRRQ-Cx_VEbSS.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-C_LRir0-.js → diagram-5GNKFQAL-Cv7VVn5r.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-DGZxRDRy.js → diagram-KO2AKTUF-C8Sl5czV.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-UXt0uti4.js → diagram-LMA3HP47-C3dZaLz2.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-CFbZS4n5.js → diagram-OG6HWLK6-BAU9DtTr.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-CfAwZDdf.js → erDiagram-TEJ5UH35-DpNc-eBD.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-Cdgi5z3n.js → flowDiagram-I6XJVG4X-DGwTAT1S.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-DOrkFkhu.js → ganttDiagram-6RSMTGT7-MPZhEgzJ.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-cEox0peD.js → gitGraphDiagram-PVQCEYII-CY0tHL5N.js} +1 -1
- package/dist/client/assets/index-CJRgmWwY.js +273 -0
- package/dist/client/assets/index-mRkJWu70.css +2 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-gm51u2Nn.js → infoDiagram-5YYISTIA-BBZeKjf4.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CjnoOIja.js → ishikawaDiagram-YF4QCWOH-CM_iFrES.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-Dlg4DsiO.js → journeyDiagram-JHISSGLW-Do_lY94X.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-BU0XZaSd.js → kanban-definition-UN3LZRKU-brxg3j37.js} +1 -1
- package/dist/client/assets/{line-Bert22-_.js → line-PHHbm9rj.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-BvQSGDmL.js → mermaid-parser.core-CLxAkW69.js} +1 -1
- package/dist/client/assets/{mermaid.core--qSAHJRj.js → mermaid.core-CebvSmx9.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-BgFIvWWD.js → mindmap-definition-RKZ34NQL-CX_-ZaJF.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-DGcbXD0M.js → pieDiagram-4H26LBE5-BJuHvql_.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-ClkBUeia.js → quadrantDiagram-W4KKPZXB-DiJll7l9.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-B8CwGToU.js → requirementDiagram-4Y6WPE33-Bg-tXgcj.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DTk3jL6B.js → sankeyDiagram-5OEKKPKP-BoK2egfZ.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BQVrcnKf.js → sequenceDiagram-3UESZ5HK-DcrDWNzv.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-DD4yMZPB.js → stateDiagram-AJRCARHV-B995qt1S.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Dn8P7Sa1.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-BnCBVqcd.js → timeline-definition-PNZ67QCA-DqSVAhqL.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-BDmLMNXS.js → vennDiagram-CIIHVFJN-D9wVraVY.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DSLuQiEv.js → wardleyDiagram-YWT4CUSO-CLff9zVd.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-DAq_LA4r.js → xychartDiagram-2RQKCTM6-BuHUMMH2.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/db.js +472 -39
- package/dist/server/db.js.map +1 -1
- package/dist/server/index.js +1311 -212
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/agent.js +228 -71
- package/dist/server/lib/agent.js.map +1 -1
- package/dist/server/lib/agentRuns.js +205 -38
- package/dist/server/lib/agentRuns.js.map +1 -1
- package/dist/server/lib/attachments.js +24 -0
- package/dist/server/lib/attachments.js.map +1 -1
- package/dist/server/lib/automationProgression.js +464 -0
- package/dist/server/lib/automationProgression.js.map +1 -0
- package/dist/server/lib/automationReconciliation.js +498 -0
- package/dist/server/lib/automationReconciliation.js.map +1 -0
- package/dist/server/lib/automationStageDetails.js +232 -0
- package/dist/server/lib/automationStageDetails.js.map +1 -0
- package/dist/server/lib/buildOpenQuestionOperations.js +238 -0
- package/dist/server/lib/buildOpenQuestionOperations.js.map +1 -0
- package/dist/server/lib/buildOpenQuestions.js +44 -0
- package/dist/server/lib/buildOpenQuestions.js.map +1 -1
- package/dist/server/lib/buildSequences.js +130 -46
- package/dist/server/lib/buildSequences.js.map +1 -1
- package/dist/server/lib/bundleReviewOperations.js +91 -9
- package/dist/server/lib/bundleReviewOperations.js.map +1 -1
- package/dist/server/lib/chatOperations.js +67 -12
- package/dist/server/lib/chatOperations.js.map +1 -1
- package/dist/server/lib/executionReconciliation.js +518 -0
- package/dist/server/lib/executionReconciliation.js.map +1 -0
- package/dist/server/lib/executionRetry.js +694 -0
- package/dist/server/lib/executionRetry.js.map +1 -0
- package/dist/server/lib/executionRetryContext.js +489 -0
- package/dist/server/lib/executionRetryContext.js.map +1 -0
- package/dist/server/lib/executionRetryPredicates.js +74 -0
- package/dist/server/lib/executionRetryPredicates.js.map +1 -0
- package/dist/server/lib/executionRunRetention.js +141 -0
- package/dist/server/lib/executionRunRetention.js.map +1 -0
- package/dist/server/lib/executionRuns.js +1367 -0
- package/dist/server/lib/executionRuns.js.map +1 -0
- package/dist/server/lib/executionTimeline.js +45 -0
- package/dist/server/lib/executionTimeline.js.map +1 -0
- package/dist/server/lib/git.js +385 -6
- package/dist/server/lib/git.js.map +1 -1
- package/dist/server/lib/integrations/github.js +43 -0
- package/dist/server/lib/integrations/github.js.map +1 -1
- package/dist/server/lib/integrations/githubActions.js +1 -0
- package/dist/server/lib/integrations/githubActions.js.map +1 -1
- package/dist/server/lib/integrations/githubActionsSessions.js +337 -114
- package/dist/server/lib/integrations/githubActionsSessions.js.map +1 -1
- package/dist/server/lib/projectMemorySelections.js +7 -3
- package/dist/server/lib/projectMemorySelections.js.map +1 -1
- package/dist/server/lib/shutdown.js +2 -2
- package/dist/server/lib/shutdown.js.map +1 -1
- package/dist/server/lib/specArtifact.js +3 -0
- package/dist/server/lib/specArtifact.js.map +1 -1
- package/dist/server/lib/specFormatting.js +1 -1
- package/dist/server/lib/specFormatting.js.map +1 -1
- package/dist/server/lib/specOperations.js +78 -12
- package/dist/server/lib/specOperations.js.map +1 -1
- package/dist/server/lib/specReviewContext.js +54 -18
- package/dist/server/lib/specReviewContext.js.map +1 -1
- package/dist/server/lib/specReviewDraft.js +3 -2
- package/dist/server/lib/specReviewDraft.js.map +1 -1
- package/dist/server/lib/specReviewOperations.js +74 -9
- package/dist/server/lib/specReviewOperations.js.map +1 -1
- package/dist/server/lib/specReviewValidation.js +217 -0
- package/dist/server/lib/specReviewValidation.js.map +1 -0
- package/dist/server/lib/specReviews.js +30 -2
- package/dist/server/lib/specReviews.js.map +1 -1
- package/dist/server/lib/specs.js +18 -1
- package/dist/server/lib/specs.js.map +1 -1
- package/dist/server/lib/stageSnapshots.js +197 -0
- package/dist/server/lib/stageSnapshots.js.map +1 -0
- package/dist/server/lib/testSessions.js +160 -18
- package/dist/server/lib/testSessions.js.map +1 -1
- package/dist/server/lib/ticketAutomation.js +80 -4
- package/dist/server/lib/ticketAutomation.js.map +1 -1
- package/dist/server/lib/ticketAutomationCommit.js +466 -91
- package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
- package/dist/server/lib/ticketFollowUpOperations.js +270 -29
- package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
- package/dist/server/lib/ticketMessages.js +16 -0
- package/dist/server/lib/ticketMessages.js.map +1 -1
- package/dist/server/lib/ticketRunOperations.js +51 -6
- package/dist/server/lib/ticketRunOperations.js.map +1 -1
- package/dist/server/lib/ticketUndo.js +77 -168
- package/dist/server/lib/ticketUndo.js.map +1 -1
- package/dist/server/lib/ticketWorkflowOperations.js +132 -28
- package/dist/server/lib/ticketWorkflowOperations.js.map +1 -1
- package/dist/server/lib/tickets.js +41 -27
- package/dist/server/lib/tickets.js.map +1 -1
- package/dist/server/lib/transcriptRuns.js +3 -3
- package/dist/server/lib/transcriptRuns.js.map +1 -1
- package/dist/server/lib/turnExecutionErrors.js +12 -0
- package/dist/server/lib/turnExecutionErrors.js.map +1 -0
- package/dist/server/lib/types.js +58 -1
- package/dist/server/lib/types.js.map +1 -1
- package/dist/server/workers/build.js +596 -184
- package/dist/server/workers/build.js.map +1 -1
- package/dist/server/workers/chat.js +269 -132
- package/dist/server/workers/chat.js.map +1 -1
- package/dist/server/workers/followUp.js +731 -203
- package/dist/server/workers/followUp.js.map +1 -1
- package/dist/server/workers/plan.js +546 -188
- package/dist/server/workers/plan.js.map +1 -1
- package/dist/server/workers/planFollowUp.js +240 -75
- package/dist/server/workers/planFollowUp.js.map +1 -1
- package/dist/server/workers/review.js +790 -297
- package/dist/server/workers/review.js.map +1 -1
- package/dist/server/workers/specReview.js +212 -46
- package/dist/server/workers/specReview.js.map +1 -1
- package/dist/server/workers/specSession.js +434 -254
- package/dist/server/workers/specSession.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/GitHubActionsDialog-DAD5REmY.js +0 -1
- package/dist/client/assets/TestsDialog-B5NVrroq.js +0 -4
- package/dist/client/assets/TicketChangesModal-By-_gTGd.js +0 -1
- package/dist/client/assets/channel-Dd5Len0X.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-B7KUg6r8.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CQm-z5c4.js +0 -1
- package/dist/client/assets/index-BHq6-Eir.js +0 -270
- package/dist/client/assets/index-BxTc5qQT.css +0 -2
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-C8yO6POT.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executionRuns.js","sourceRoot":"","sources":["../../../server/lib/executionRuns.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { getExecutionRunsByIds, listExecutionRunLinksForRuns, listExecutionRuns, listLatestLifecycleEventsForRuns, toCanonicalLifecycleEvent, } from './executionRuns.js';
|
|
2
|
+
import { createExecutionRetryResolutionContext, resolveExecutionRetryEligibilityFromContext, } from './executionRetryContext.js';
|
|
3
|
+
const toParentSummary = (run) => ({
|
|
4
|
+
id: run.id,
|
|
5
|
+
kind: run.kind,
|
|
6
|
+
status: run.status,
|
|
7
|
+
domain_status: run.domain_status,
|
|
8
|
+
source_reference: run.source_reference,
|
|
9
|
+
attempt: run.attempt,
|
|
10
|
+
created_at: run.created_at,
|
|
11
|
+
completed_at: run.completed_at,
|
|
12
|
+
});
|
|
13
|
+
export const listExecutionTimeline = (query) => {
|
|
14
|
+
const page = listExecutionRuns({
|
|
15
|
+
projectId: query.project.id,
|
|
16
|
+
kind: query.kind,
|
|
17
|
+
statuses: query.statuses,
|
|
18
|
+
cursor: query.cursor,
|
|
19
|
+
limit: query.limit,
|
|
20
|
+
scopeEntity: query.scope,
|
|
21
|
+
});
|
|
22
|
+
const runIds = page.runs.map(run => run.id);
|
|
23
|
+
const links = listExecutionRunLinksForRuns(query.project.id, runIds);
|
|
24
|
+
const linksByRunId = new Map(runIds.map(runId => [runId, []]));
|
|
25
|
+
for (const link of links) {
|
|
26
|
+
linksByRunId.get(link.execution_run_id)?.push(link);
|
|
27
|
+
}
|
|
28
|
+
const latestEvents = listLatestLifecycleEventsForRuns(query.project.id, runIds);
|
|
29
|
+
const eventsByRunId = new Map(latestEvents.map(event => [event.execution_run_id, toCanonicalLifecycleEvent(event)]));
|
|
30
|
+
const parentIds = page.runs.map(run => run.parent_run_id).filter((id) => Boolean(id));
|
|
31
|
+
const parentsById = new Map(getExecutionRunsByIds(query.project.id, parentIds).map(run => [run.id, toParentSummary(run)]));
|
|
32
|
+
const retryContext = createExecutionRetryResolutionContext({ project: query.project, runs: page.runs, links });
|
|
33
|
+
return {
|
|
34
|
+
items: page.runs.map(run => ({
|
|
35
|
+
run,
|
|
36
|
+
latest_event: eventsByRunId.get(run.id) ?? null,
|
|
37
|
+
links: linksByRunId.get(run.id) ?? [],
|
|
38
|
+
retry_eligibility: resolveExecutionRetryEligibilityFromContext(retryContext, run.id),
|
|
39
|
+
source_available: run.source_reference?.available ?? false,
|
|
40
|
+
parent: run.parent_run_id ? parentsById.get(run.parent_run_id) ?? null : null,
|
|
41
|
+
})),
|
|
42
|
+
next_cursor: page.next_cursor,
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=executionTimeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executionTimeline.js","sourceRoot":"","sources":["../../../server/lib/executionTimeline.ts"],"names":[],"mappings":"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"}
|
package/dist/server/lib/git.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { execFile, execFileSync } from 'child_process';
|
|
2
|
-
import {
|
|
2
|
+
import { createHash } from 'crypto';
|
|
3
|
+
import { cpSync, existsSync, lstatSync, mkdirSync, mkdtempSync, rmSync, statSync, symlinkSync } from 'fs';
|
|
3
4
|
import { cp as cpAsync, lstat as lstatAsync, mkdir as mkdirAsync, symlink as symlinkAsync } from 'fs/promises';
|
|
5
|
+
import { tmpdir } from 'os';
|
|
4
6
|
import { dirname, isAbsolute, join, relative, resolve } from 'path';
|
|
5
7
|
import db from '../db.js';
|
|
6
8
|
import { getProjectWorktreeSync } from './projects.js';
|
|
7
9
|
const PROJECT_BRANCH_REMOTE_REFRESH_TTL_MS = 30_000;
|
|
10
|
+
const MAX_GIT_OUTPUT_BYTES = 512 * 1024 * 1024;
|
|
8
11
|
const lastProjectBranchRemoteRefreshAt = new Map();
|
|
9
12
|
const resolveCurrentBranchName = (cwd) => {
|
|
10
13
|
try {
|
|
@@ -40,6 +43,24 @@ const runGitText = (args, cwd) => {
|
|
|
40
43
|
return execFileSync('git', args, {
|
|
41
44
|
cwd,
|
|
42
45
|
encoding: 'utf8',
|
|
46
|
+
maxBuffer: MAX_GIT_OUTPUT_BYTES,
|
|
47
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
const runGitTextWithEnv = (args, cwd, env) => {
|
|
51
|
+
return execFileSync('git', args, {
|
|
52
|
+
cwd,
|
|
53
|
+
encoding: 'utf8',
|
|
54
|
+
env,
|
|
55
|
+
maxBuffer: MAX_GIT_OUTPUT_BYTES,
|
|
56
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
const runGitBuffer = (args, cwd) => {
|
|
60
|
+
return execFileSync('git', args, {
|
|
61
|
+
cwd,
|
|
62
|
+
encoding: 'buffer',
|
|
63
|
+
maxBuffer: MAX_GIT_OUTPUT_BYTES,
|
|
43
64
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
44
65
|
});
|
|
45
66
|
};
|
|
@@ -63,6 +84,7 @@ const runGitTextAsync = (args, cwd) => new Promise((resolvePromise, reject) => {
|
|
|
63
84
|
execFile('git', args, {
|
|
64
85
|
cwd,
|
|
65
86
|
encoding: 'utf8',
|
|
87
|
+
maxBuffer: MAX_GIT_OUTPUT_BYTES,
|
|
66
88
|
}, (error, stdout, stderr) => {
|
|
67
89
|
if (error) {
|
|
68
90
|
const failed = error;
|
|
@@ -72,6 +94,7 @@ const runGitTextAsync = (args, cwd) => new Promise((resolvePromise, reject) => {
|
|
|
72
94
|
nextError.stdout = failed.stdout ?? stdout;
|
|
73
95
|
nextError.stderr = failed.stderr ?? stderr;
|
|
74
96
|
nextError.status = failed.status ?? (typeof failed.code === 'number' ? failed.code : undefined);
|
|
97
|
+
nextError.code = typeof failed.code === 'string' ? failed.code : undefined;
|
|
75
98
|
reject(nextError);
|
|
76
99
|
return;
|
|
77
100
|
}
|
|
@@ -81,6 +104,10 @@ const runGitTextAsync = (args, cwd) => new Promise((resolvePromise, reject) => {
|
|
|
81
104
|
});
|
|
82
105
|
});
|
|
83
106
|
});
|
|
107
|
+
const isGitOutputLimitError = (error) => {
|
|
108
|
+
const failed = error;
|
|
109
|
+
return failed.code === 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER' || failed.message.includes('maxBuffer');
|
|
110
|
+
};
|
|
84
111
|
const runGitDiffTextAsync = async (args, cwd) => {
|
|
85
112
|
try {
|
|
86
113
|
return (await runGitTextAsync(args, cwd)).stdout;
|
|
@@ -551,7 +578,10 @@ const getDiffDataForBaseRef = (cwd, baseRef) => {
|
|
|
551
578
|
].join(''),
|
|
552
579
|
};
|
|
553
580
|
}
|
|
554
|
-
catch {
|
|
581
|
+
catch (error) {
|
|
582
|
+
if (isGitOutputLimitError(error)) {
|
|
583
|
+
throw error;
|
|
584
|
+
}
|
|
555
585
|
return {
|
|
556
586
|
files: [],
|
|
557
587
|
diff: '',
|
|
@@ -575,7 +605,10 @@ const getDiffDataForBaseRefAsync = async (cwd, baseRef) => {
|
|
|
575
605
|
diff: [trackedDiff, ...untrackedDiffs].join(''),
|
|
576
606
|
};
|
|
577
607
|
}
|
|
578
|
-
catch {
|
|
608
|
+
catch (error) {
|
|
609
|
+
if (isGitOutputLimitError(error)) {
|
|
610
|
+
throw error;
|
|
611
|
+
}
|
|
579
612
|
return {
|
|
580
613
|
files: [],
|
|
581
614
|
diff: '',
|
|
@@ -789,6 +822,14 @@ const listUntrackedFiles = (cwd) => {
|
|
|
789
822
|
.map(line => line.trim())
|
|
790
823
|
.filter(Boolean);
|
|
791
824
|
};
|
|
825
|
+
export const listGitSnapshotPaths = (cwd) => {
|
|
826
|
+
const output = runGitText(['ls-files', '--cached', '--others', '--exclude-standard', '-z'], cwd);
|
|
827
|
+
const paths = output.split('\0');
|
|
828
|
+
if (paths.at(-1) === '') {
|
|
829
|
+
paths.pop();
|
|
830
|
+
}
|
|
831
|
+
return [...new Set(paths.filter(Boolean))];
|
|
832
|
+
};
|
|
792
833
|
const listUntrackedFilesAsync = async (cwd) => {
|
|
793
834
|
return (await runGitTextAsync(['ls-files', '--others', '--exclude-standard'], cwd)).stdout
|
|
794
835
|
.split('\n')
|
|
@@ -855,7 +896,10 @@ const getSelectedDiffDataForCwd = (cwd, selectedPaths) => {
|
|
|
855
896
|
].join(''),
|
|
856
897
|
};
|
|
857
898
|
}
|
|
858
|
-
catch {
|
|
899
|
+
catch (error) {
|
|
900
|
+
if (isGitOutputLimitError(error)) {
|
|
901
|
+
throw error;
|
|
902
|
+
}
|
|
859
903
|
return {
|
|
860
904
|
files: [],
|
|
861
905
|
diff: '',
|
|
@@ -892,7 +936,10 @@ const getDiffDataForCwd = (cwd) => {
|
|
|
892
936
|
].join(''),
|
|
893
937
|
};
|
|
894
938
|
}
|
|
895
|
-
catch {
|
|
939
|
+
catch (error) {
|
|
940
|
+
if (isGitOutputLimitError(error)) {
|
|
941
|
+
throw error;
|
|
942
|
+
}
|
|
896
943
|
return {
|
|
897
944
|
files: [],
|
|
898
945
|
diff: '',
|
|
@@ -916,7 +963,10 @@ const getDiffDataForCwdAsync = async (cwd) => {
|
|
|
916
963
|
diff: [trackedDiff, ...untrackedDiffs].join(''),
|
|
917
964
|
};
|
|
918
965
|
}
|
|
919
|
-
catch {
|
|
966
|
+
catch (error) {
|
|
967
|
+
if (isGitOutputLimitError(error)) {
|
|
968
|
+
throw error;
|
|
969
|
+
}
|
|
920
970
|
return {
|
|
921
971
|
files: [],
|
|
922
972
|
diff: '',
|
|
@@ -1427,6 +1477,335 @@ export const getBoardWorktreeGitStatus = (branch, project = null) => {
|
|
|
1427
1477
|
const cwd = resolveWorktreePath(branch, project);
|
|
1428
1478
|
return getBoardGitStatus(cwd, branch, project);
|
|
1429
1479
|
};
|
|
1480
|
+
const normalizeAutomationSelectedPaths = (selectedPaths) => {
|
|
1481
|
+
const normalized = [...new Set(selectedPaths.map(path => path.trim()).filter(Boolean))];
|
|
1482
|
+
for (const path of normalized) {
|
|
1483
|
+
if (path.includes('\0') || path.startsWith('/') || path.split('/').includes('..')) {
|
|
1484
|
+
throw new Error(`Invalid repository-relative selected path: ${JSON.stringify(path)}`);
|
|
1485
|
+
}
|
|
1486
|
+
}
|
|
1487
|
+
return normalized;
|
|
1488
|
+
};
|
|
1489
|
+
export const getAutomationCommitPaths = (files) => [...new Set(files.flatMap(file => (file.original_path ? [file.original_path, file.path] : [file.path])))];
|
|
1490
|
+
const validateAutomationCommitSelection = (cwd, branch, project, selectedPaths) => {
|
|
1491
|
+
const status = getGitStatus(cwd, branch, project);
|
|
1492
|
+
const selectedPathSet = new Set(selectedPaths);
|
|
1493
|
+
const blockedReason = getStatusSelectionBlockedReason(status.files, selectedPathSet) ?? status.blocked_reason;
|
|
1494
|
+
if (blockedReason) {
|
|
1495
|
+
throw new Error(blockedReason);
|
|
1496
|
+
}
|
|
1497
|
+
const availablePaths = new Set(getAutomationCommitPaths(status.files));
|
|
1498
|
+
for (const path of selectedPaths) {
|
|
1499
|
+
if (!availablePaths.has(path)) {
|
|
1500
|
+
throw new Error(`"${path}" is no longer available to commit.`);
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1503
|
+
};
|
|
1504
|
+
const parseRawTreeDelta = (output) => {
|
|
1505
|
+
if (output.length === 0) {
|
|
1506
|
+
return [];
|
|
1507
|
+
}
|
|
1508
|
+
const fields = [];
|
|
1509
|
+
let start = 0;
|
|
1510
|
+
for (let index = 0; index < output.length; index += 1) {
|
|
1511
|
+
if (output[index] === 0) {
|
|
1512
|
+
fields.push(output.subarray(start, index));
|
|
1513
|
+
start = index + 1;
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
if (start !== output.length || fields.length % 2 !== 0) {
|
|
1517
|
+
throw new Error('Git returned an incomplete raw tree delta');
|
|
1518
|
+
}
|
|
1519
|
+
const records = [];
|
|
1520
|
+
for (let index = 0; index < fields.length; index += 2) {
|
|
1521
|
+
const metadata = fields[index]?.toString('ascii') ?? '';
|
|
1522
|
+
const pathBytes = fields[index + 1];
|
|
1523
|
+
const match = /^:([0-7]{6}) ([0-7]{6}) ([a-f0-9]{40}|[a-f0-9]{64}) ([a-f0-9]{40}|[a-f0-9]{64}) ([A-Z])$/.exec(metadata);
|
|
1524
|
+
if (!match || !pathBytes || pathBytes.length === 0) {
|
|
1525
|
+
throw new Error('Git returned an invalid raw tree delta record');
|
|
1526
|
+
}
|
|
1527
|
+
const path = pathBytes.toString('utf8');
|
|
1528
|
+
if (!Buffer.from(path, 'utf8').equals(pathBytes) || path.startsWith('/') || path.split('/').includes('..')) {
|
|
1529
|
+
throw new Error('Git returned a non-normalized repository path');
|
|
1530
|
+
}
|
|
1531
|
+
records.push({
|
|
1532
|
+
oldMode: match[1],
|
|
1533
|
+
newMode: match[2],
|
|
1534
|
+
oldBlobId: match[3],
|
|
1535
|
+
newBlobId: match[4],
|
|
1536
|
+
status: match[5],
|
|
1537
|
+
path,
|
|
1538
|
+
});
|
|
1539
|
+
}
|
|
1540
|
+
return records;
|
|
1541
|
+
};
|
|
1542
|
+
const encodeLengthDelimitedField = (value) => {
|
|
1543
|
+
const bytes = Buffer.from(value, 'utf8');
|
|
1544
|
+
const length = Buffer.allocUnsafe(4);
|
|
1545
|
+
length.writeUInt32BE(bytes.length);
|
|
1546
|
+
return Buffer.concat([length, bytes]);
|
|
1547
|
+
};
|
|
1548
|
+
export const computeGitTreeDeltaDigest = (cwd, parentTreeish, intendedTreeish) => {
|
|
1549
|
+
const output = runGitBuffer([
|
|
1550
|
+
'diff-tree', '--raw', '-z', '--no-renames', '--no-commit-id', parentTreeish, intendedTreeish,
|
|
1551
|
+
], cwd);
|
|
1552
|
+
const normalizedRecords = parseRawTreeDelta(output).map(record => Buffer.concat([
|
|
1553
|
+
Buffer.from('archon-selected-content-v1\0', 'ascii'),
|
|
1554
|
+
encodeLengthDelimitedField(record.oldMode),
|
|
1555
|
+
encodeLengthDelimitedField(record.newMode),
|
|
1556
|
+
encodeLengthDelimitedField(record.oldBlobId),
|
|
1557
|
+
encodeLengthDelimitedField(record.newBlobId),
|
|
1558
|
+
encodeLengthDelimitedField(record.status),
|
|
1559
|
+
encodeLengthDelimitedField(record.path),
|
|
1560
|
+
]));
|
|
1561
|
+
normalizedRecords.sort(Buffer.compare);
|
|
1562
|
+
const hash = createHash('sha256');
|
|
1563
|
+
for (const record of normalizedRecords) {
|
|
1564
|
+
hash.update(record);
|
|
1565
|
+
}
|
|
1566
|
+
return `sha256:${hash.digest('hex')}`;
|
|
1567
|
+
};
|
|
1568
|
+
export const getGitHeadIdentity = (cwd) => {
|
|
1569
|
+
const [headSha, treeSha] = runGitText(['show', '-s', '--format=%H%n%T', 'HEAD'], cwd).trim().split('\n');
|
|
1570
|
+
if (!headSha || !treeSha) {
|
|
1571
|
+
throw new Error('Git HEAD identity was incomplete');
|
|
1572
|
+
}
|
|
1573
|
+
return { headSha, treeSha };
|
|
1574
|
+
};
|
|
1575
|
+
export const getGitIndexTreeSha = (cwd) => runGitText(['write-tree'], cwd).trim();
|
|
1576
|
+
const normalizeGitRemoteUrl = (value, cwd) => {
|
|
1577
|
+
const trimmed = value.trim();
|
|
1578
|
+
const scpLike = /^(?:[^@/\s]+@)?([^:/\s]+):(.+)$/.exec(trimmed);
|
|
1579
|
+
if (scpLike && !trimmed.includes('://')) {
|
|
1580
|
+
const host = scpLike[1].toLowerCase();
|
|
1581
|
+
const path = scpLike[2].replace(/^\/+|\/+$/g, '').replace(/\.git$/i, '');
|
|
1582
|
+
return `${host}/${path}`;
|
|
1583
|
+
}
|
|
1584
|
+
try {
|
|
1585
|
+
const url = new URL(trimmed);
|
|
1586
|
+
const host = url.hostname.toLowerCase();
|
|
1587
|
+
const port = url.port ? `:${url.port}` : '';
|
|
1588
|
+
const path = decodeURIComponent(url.pathname).replace(/^\/+|\/+$/g, '').replace(/\.git$/i, '');
|
|
1589
|
+
return `${host}${port}/${path}`;
|
|
1590
|
+
}
|
|
1591
|
+
catch {
|
|
1592
|
+
return resolve(cwd, trimmed).replace(/\/+$/g, '');
|
|
1593
|
+
}
|
|
1594
|
+
};
|
|
1595
|
+
export const getAutomationRemoteIdentity = (cwd) => {
|
|
1596
|
+
const fetchUrl = runGitText(['remote', 'get-url', 'origin'], cwd).trim();
|
|
1597
|
+
const pushUrl = runGitText(['remote', 'get-url', '--push', 'origin'], cwd).trim();
|
|
1598
|
+
if (!fetchUrl || !pushUrl) {
|
|
1599
|
+
throw new Error('Automation origin remote identity is unavailable');
|
|
1600
|
+
}
|
|
1601
|
+
const fetchIdentity = normalizeGitRemoteUrl(fetchUrl, cwd);
|
|
1602
|
+
const pushIdentity = normalizeGitRemoteUrl(pushUrl, cwd);
|
|
1603
|
+
if (fetchIdentity !== pushIdentity) {
|
|
1604
|
+
throw new Error('Automation requires origin fetch and push URLs to identify the same repository');
|
|
1605
|
+
}
|
|
1606
|
+
return `sha256:${createHash('sha256').update(fetchIdentity, 'utf8').digest('hex')}`;
|
|
1607
|
+
};
|
|
1608
|
+
export const prepareAutomationCommit = (cwd, branch, project, selectedPaths) => {
|
|
1609
|
+
const normalizedPaths = normalizeAutomationSelectedPaths(selectedPaths);
|
|
1610
|
+
if (normalizedPaths.length === 0) {
|
|
1611
|
+
throw new Error('Select at least one file to commit.');
|
|
1612
|
+
}
|
|
1613
|
+
validateAutomationCommitSelection(cwd, branch, project, normalizedPaths);
|
|
1614
|
+
const preActionHeadSha = runGitText(['rev-parse', 'HEAD'], cwd).trim();
|
|
1615
|
+
const preActionIndexTreeSha = getGitIndexTreeSha(cwd);
|
|
1616
|
+
const temporaryDirectory = mkdtempSync(join(tmpdir(), 'archon-git-index-'));
|
|
1617
|
+
const indexPath = join(temporaryDirectory, 'index');
|
|
1618
|
+
const env = { ...process.env, GIT_INDEX_FILE: indexPath };
|
|
1619
|
+
try {
|
|
1620
|
+
runGitTextWithEnv(['read-tree', preActionHeadSha], cwd, env);
|
|
1621
|
+
runGitTextWithEnv(['add', '-A', '--', ...normalizedPaths], cwd, env);
|
|
1622
|
+
const intendedTreeSha = runGitTextWithEnv(['write-tree'], cwd, env).trim();
|
|
1623
|
+
return {
|
|
1624
|
+
preActionHeadSha,
|
|
1625
|
+
preActionIndexTreeSha,
|
|
1626
|
+
intendedTreeSha,
|
|
1627
|
+
selectedContentDigest: computeGitTreeDeltaDigest(cwd, preActionHeadSha, intendedTreeSha),
|
|
1628
|
+
selectedPaths: normalizedPaths,
|
|
1629
|
+
};
|
|
1630
|
+
}
|
|
1631
|
+
finally {
|
|
1632
|
+
rmSync(temporaryDirectory, { recursive: true, force: true });
|
|
1633
|
+
}
|
|
1634
|
+
};
|
|
1635
|
+
const repairAutomationCommitIndex = (cwd, commitSha, commitTreeSha, preActionIndexTreeSha) => {
|
|
1636
|
+
if (runGitText(['rev-parse', 'HEAD'], cwd).trim() !== commitSha) {
|
|
1637
|
+
return { ok: false, reason: 'HEAD changed before the automation index could be repaired' };
|
|
1638
|
+
}
|
|
1639
|
+
const indexTreeSha = getGitIndexTreeSha(cwd);
|
|
1640
|
+
if (indexTreeSha === commitTreeSha) {
|
|
1641
|
+
return { ok: true };
|
|
1642
|
+
}
|
|
1643
|
+
if (indexTreeSha !== preActionIndexTreeSha) {
|
|
1644
|
+
return { ok: false, reason: 'the real index changed after automation commit intent was persisted' };
|
|
1645
|
+
}
|
|
1646
|
+
runGitText(['read-tree', '--reset', commitSha], cwd);
|
|
1647
|
+
if (runGitText(['rev-parse', 'HEAD'], cwd).trim() !== commitSha
|
|
1648
|
+
|| getGitIndexTreeSha(cwd) !== commitTreeSha) {
|
|
1649
|
+
return { ok: false, reason: 'the real index could not be repaired to the automation commit' };
|
|
1650
|
+
}
|
|
1651
|
+
return { ok: true };
|
|
1652
|
+
};
|
|
1653
|
+
export const commitPreparedAutomationChanges = async (cwd, branch, project, message, prepared) => {
|
|
1654
|
+
const normalizedMessage = message.trim();
|
|
1655
|
+
if (!normalizedMessage) {
|
|
1656
|
+
throw new Error('Commit message is required.');
|
|
1657
|
+
}
|
|
1658
|
+
if (runGitText(['rev-parse', 'HEAD'], cwd).trim() !== prepared.preActionHeadSha) {
|
|
1659
|
+
throw new Error('HEAD changed after automation commit intent was prepared');
|
|
1660
|
+
}
|
|
1661
|
+
validateAutomationCommitSelection(cwd, branch, project, prepared.selectedPaths);
|
|
1662
|
+
const current = prepareAutomationCommit(cwd, branch, project, prepared.selectedPaths);
|
|
1663
|
+
if (current.preActionHeadSha !== prepared.preActionHeadSha
|
|
1664
|
+
|| current.preActionIndexTreeSha !== prepared.preActionIndexTreeSha
|
|
1665
|
+
|| current.intendedTreeSha !== prepared.intendedTreeSha
|
|
1666
|
+
|| current.selectedContentDigest !== prepared.selectedContentDigest) {
|
|
1667
|
+
throw new Error('Selected contents changed after automation commit intent was persisted');
|
|
1668
|
+
}
|
|
1669
|
+
const branchRef = runGitText(['symbolic-ref', '--quiet', 'HEAD'], cwd).trim();
|
|
1670
|
+
if (branchRef !== `refs/heads/${branch}`) {
|
|
1671
|
+
throw new Error('Automation commit branch changed after intent was prepared');
|
|
1672
|
+
}
|
|
1673
|
+
const temporaryDirectory = mkdtempSync(join(tmpdir(), 'archon-git-index-'));
|
|
1674
|
+
const indexPath = join(temporaryDirectory, 'index');
|
|
1675
|
+
const env = { ...process.env, GIT_INDEX_FILE: indexPath };
|
|
1676
|
+
try {
|
|
1677
|
+
runGitTextWithEnv(['read-tree', prepared.preActionHeadSha], cwd, env);
|
|
1678
|
+
runGitTextWithEnv(['add', '-A', '--', ...prepared.selectedPaths], cwd, env);
|
|
1679
|
+
if (runGitTextWithEnv(['write-tree'], cwd, env).trim() !== prepared.intendedTreeSha) {
|
|
1680
|
+
throw new Error('Selected contents changed before the automation commit could run');
|
|
1681
|
+
}
|
|
1682
|
+
runGitTextWithEnv(['commit', '-m', normalizedMessage], cwd, env);
|
|
1683
|
+
const commitSha = runGitText(['rev-parse', 'HEAD'], cwd).trim();
|
|
1684
|
+
const output = runGitBuffer(['show', '-s', '--format=%H%x00%P%x00%T%x00%B', commitSha], cwd);
|
|
1685
|
+
const fields = output.toString('utf8').split('\0');
|
|
1686
|
+
const observedCommitSha = fields[0]?.trim();
|
|
1687
|
+
const parentSha = fields[1]?.trim();
|
|
1688
|
+
const treeSha = fields[2]?.trim();
|
|
1689
|
+
const observedMessage = fields.slice(3).join('\0');
|
|
1690
|
+
if (!observedCommitSha || !parentSha || !treeSha) {
|
|
1691
|
+
throw new Error('Observed automation commit identity was incomplete');
|
|
1692
|
+
}
|
|
1693
|
+
const indexRepair = repairAutomationCommitIndex(cwd, commitSha, treeSha, prepared.preActionIndexTreeSha);
|
|
1694
|
+
if (!indexRepair.ok) {
|
|
1695
|
+
throw new Error(`Automation commit index repair failed: ${indexRepair.reason}`);
|
|
1696
|
+
}
|
|
1697
|
+
if (observedCommitSha !== commitSha
|
|
1698
|
+
|| parentSha !== prepared.preActionHeadSha
|
|
1699
|
+
|| treeSha !== prepared.intendedTreeSha
|
|
1700
|
+
|| digestCommitMessage(observedMessage) !== digestCommitMessage(normalizedMessage)) {
|
|
1701
|
+
throw new Error('Observed automation commit does not match its persisted intent');
|
|
1702
|
+
}
|
|
1703
|
+
return { commitSha, parentSha, treeSha };
|
|
1704
|
+
}
|
|
1705
|
+
finally {
|
|
1706
|
+
rmSync(temporaryDirectory, { recursive: true, force: true });
|
|
1707
|
+
}
|
|
1708
|
+
};
|
|
1709
|
+
export const pushAutomationTarget = async (cwd, branch, targetSha, expectedOriginIdentity) => {
|
|
1710
|
+
const branchRef = runGitText(['symbolic-ref', '--quiet', 'HEAD'], cwd).trim();
|
|
1711
|
+
if (branchRef !== `refs/heads/${branch}`) {
|
|
1712
|
+
throw new Error('Automation push branch no longer matches its persisted target');
|
|
1713
|
+
}
|
|
1714
|
+
if (runGitText(['rev-parse', 'HEAD'], cwd).trim() !== targetSha) {
|
|
1715
|
+
throw new Error('HEAD changed after push intent was persisted');
|
|
1716
|
+
}
|
|
1717
|
+
if (expectedOriginIdentity && getAutomationRemoteIdentity(cwd) !== expectedOriginIdentity) {
|
|
1718
|
+
throw new Error('Automation origin remote changed after push intent was persisted');
|
|
1719
|
+
}
|
|
1720
|
+
await runGitTextAsync(['push', '-u', 'origin', `${targetSha}:refs/heads/${branch}`], cwd);
|
|
1721
|
+
if (expectedOriginIdentity && getAutomationRemoteIdentity(cwd) !== expectedOriginIdentity) {
|
|
1722
|
+
throw new Error('Automation origin remote changed while push was running');
|
|
1723
|
+
}
|
|
1724
|
+
};
|
|
1725
|
+
const digestCommitMessage = (message) => {
|
|
1726
|
+
const normalized = message.replace(/\r\n/g, '\n').replace(/\r/g, '\n').replace(/\n+$/, '');
|
|
1727
|
+
return `sha256:${createHash('sha256').update(normalized, 'utf8').digest('hex')}`;
|
|
1728
|
+
};
|
|
1729
|
+
export const reconcileAutomationCommit = (cwd, intent) => {
|
|
1730
|
+
try {
|
|
1731
|
+
const head = runGitText(['rev-parse', 'HEAD'], cwd).trim();
|
|
1732
|
+
if (head === intent.preActionHeadSha) {
|
|
1733
|
+
return { outcome: 'absent' };
|
|
1734
|
+
}
|
|
1735
|
+
try {
|
|
1736
|
+
runGitText(['merge-base', '--is-ancestor', intent.preActionHeadSha, head], cwd);
|
|
1737
|
+
}
|
|
1738
|
+
catch (error) {
|
|
1739
|
+
const status = error.status;
|
|
1740
|
+
return status === 1
|
|
1741
|
+
? { outcome: 'ambiguous', reason: 'pre-action HEAD is not an ancestor of current HEAD' }
|
|
1742
|
+
: { outcome: 'ambiguous', reason: 'commit ancestry could not be observed' };
|
|
1743
|
+
}
|
|
1744
|
+
const candidates = runGitText([
|
|
1745
|
+
'rev-list', '--ancestry-path', '--reverse', '--max-count=101', `${intent.preActionHeadSha}..${head}`,
|
|
1746
|
+
], cwd).trim().split('\n').filter(Boolean);
|
|
1747
|
+
if (candidates.length > 100) {
|
|
1748
|
+
return { outcome: 'ambiguous', reason: 'commit candidate search exceeded 100 commits' };
|
|
1749
|
+
}
|
|
1750
|
+
const matches = [];
|
|
1751
|
+
for (const commitSha of candidates) {
|
|
1752
|
+
const output = runGitBuffer(['show', '-s', '--format=%P%x00%T%x00%B', commitSha], cwd);
|
|
1753
|
+
const first = output.indexOf(0);
|
|
1754
|
+
const second = output.indexOf(0, first + 1);
|
|
1755
|
+
if (first < 0 || second < 0) {
|
|
1756
|
+
return { outcome: 'ambiguous', reason: 'candidate commit identity was incomplete' };
|
|
1757
|
+
}
|
|
1758
|
+
const parentSha = output.subarray(0, first).toString('ascii').trim();
|
|
1759
|
+
const treeSha = output.subarray(first + 1, second).toString('ascii').trim();
|
|
1760
|
+
const message = output.subarray(second + 1).toString('utf8');
|
|
1761
|
+
if (parentSha === intent.preActionHeadSha
|
|
1762
|
+
&& treeSha === intent.intendedTreeSha
|
|
1763
|
+
&& digestCommitMessage(message) === intent.commitMessageDigest
|
|
1764
|
+
&& computeGitTreeDeltaDigest(cwd, parentSha, treeSha) === intent.selectedContentDigest) {
|
|
1765
|
+
matches.push({ commitSha, parentSha, treeSha });
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
if (matches.length === 1 && candidates.length === 1 && matches[0]?.commitSha === head) {
|
|
1769
|
+
return { outcome: 'matched', result: matches[0] };
|
|
1770
|
+
}
|
|
1771
|
+
if (matches.length === 1) {
|
|
1772
|
+
return { outcome: 'ambiguous', reason: 'additional commits followed the persisted commit intent' };
|
|
1773
|
+
}
|
|
1774
|
+
return matches.length === 0
|
|
1775
|
+
? { outcome: 'ambiguous', reason: 'intervening commits did not match persisted commit intent' }
|
|
1776
|
+
: { outcome: 'ambiguous', reason: 'multiple commits matched persisted commit intent' };
|
|
1777
|
+
}
|
|
1778
|
+
catch {
|
|
1779
|
+
return { outcome: 'ambiguous', reason: 'commit candidates could not be observed' };
|
|
1780
|
+
}
|
|
1781
|
+
};
|
|
1782
|
+
export const fetchRemoteBranchState = async (cwd, branch, expectedOriginIdentity) => {
|
|
1783
|
+
if (expectedOriginIdentity && getAutomationRemoteIdentity(cwd) !== expectedOriginIdentity) {
|
|
1784
|
+
throw new Error('Automation origin remote changed after push intent was persisted');
|
|
1785
|
+
}
|
|
1786
|
+
let output;
|
|
1787
|
+
try {
|
|
1788
|
+
output = await runGitTextAsync(['ls-remote', '--exit-code', 'origin', `refs/heads/${branch}`], cwd);
|
|
1789
|
+
}
|
|
1790
|
+
catch (error) {
|
|
1791
|
+
if (error.status === 2) {
|
|
1792
|
+
if (expectedOriginIdentity && getAutomationRemoteIdentity(cwd) !== expectedOriginIdentity) {
|
|
1793
|
+
throw new Error('Automation origin remote changed while observing push state');
|
|
1794
|
+
}
|
|
1795
|
+
return { state: 'absent' };
|
|
1796
|
+
}
|
|
1797
|
+
throw error;
|
|
1798
|
+
}
|
|
1799
|
+
const [sha, ref, extra] = output.stdout.trim().split(/\s+/);
|
|
1800
|
+
if (!sha || !ref || extra || ref !== `refs/heads/${branch}` || !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(sha)) {
|
|
1801
|
+
throw new Error('Remote branch observation was incomplete');
|
|
1802
|
+
}
|
|
1803
|
+
await runGitTextAsync(['fetch', '--quiet', '--no-tags', 'origin', sha], cwd);
|
|
1804
|
+
if (expectedOriginIdentity && getAutomationRemoteIdentity(cwd) !== expectedOriginIdentity) {
|
|
1805
|
+
throw new Error('Automation origin remote changed while observing push state');
|
|
1806
|
+
}
|
|
1807
|
+
return { state: 'observed', sha };
|
|
1808
|
+
};
|
|
1430
1809
|
export const commitGitChanges = async (cwd, branch, project, message, selectedPaths) => {
|
|
1431
1810
|
const normalizedMessage = message.trim();
|
|
1432
1811
|
if (!normalizedMessage) {
|