@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.
Files changed (176) hide show
  1. package/dist/client/assets/ActivityView-BgMz3NNT.js +1 -0
  2. package/dist/client/assets/GitHubActionsDialog-CNqWDS3E.js +1 -0
  3. package/dist/client/assets/TestsDialog-Cll7xJe0.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-Do9nbC8v.js → architectureDiagram-3BPJPVTR-BL5dYiul.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM-DGGOLHF8.js → blockDiagram-GPEHLZMM-Bi5x2v80.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-Bz7tQybs.js → c4Diagram-AAUBKEIU-esEm54Ay.js} +1 -1
  7. package/dist/client/assets/channel-CqNHF3FD.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-CJO-GmWJ.js → chunk-2J33WTMH-DACfY8xM.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-DPAVagpC.js → chunk-3OPIFGDE-DZNUiaUs.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-Cof75Mu7.js → chunk-5ZQYHXKU-ClDfkMAp.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-COuPqQ8_.js → chunk-727SXJPM-CCwA3GWT.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-CFj5KabW.js → chunk-AQP2D5EJ-Byl4DRZ9.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-C4M6w5cT.js → chunk-CSCIHK7Q-CXymZQ7A.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-ByaiwVue.js → chunk-KSCS5N6A-VV3D8g6a.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-Cx5jeot9.js → chunk-L5ZTLDWV-BL9N5GRI.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-DmGtztud.js → chunk-LZXEDZCA-DKNN-zno.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-i3yuspqL.js → chunk-ND2GUHAM-CHCpQ1yr.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-CQ4E_jP4.js → chunk-NZK2D7GU-B0Dm74mt.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-D2g4VDCd.js → chunk-O5CBEL6O-DAa5z2xG.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-exIu-zQ2.js → chunk-WU5MYG2G-DrVJWKVR.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-BjEgQwKg.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-gGomH-F_.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-DvF75yLZ.js → dagre-BM42HDAG-B0fsl8mE.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-DFv0HxLL.js → diagram-2AECGRRQ-Cx_VEbSS.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-C_LRir0-.js → diagram-5GNKFQAL-Cv7VVn5r.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-DGZxRDRy.js → diagram-KO2AKTUF-C8Sl5czV.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-UXt0uti4.js → diagram-LMA3HP47-C3dZaLz2.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-CFbZS4n5.js → diagram-OG6HWLK6-BAU9DtTr.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-CfAwZDdf.js → erDiagram-TEJ5UH35-DpNc-eBD.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-Cdgi5z3n.js → flowDiagram-I6XJVG4X-DGwTAT1S.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-DOrkFkhu.js → ganttDiagram-6RSMTGT7-MPZhEgzJ.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-cEox0peD.js → gitGraphDiagram-PVQCEYII-CY0tHL5N.js} +1 -1
  33. package/dist/client/assets/index-CJRgmWwY.js +273 -0
  34. package/dist/client/assets/index-mRkJWu70.css +2 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-gm51u2Nn.js → infoDiagram-5YYISTIA-BBZeKjf4.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CjnoOIja.js → ishikawaDiagram-YF4QCWOH-CM_iFrES.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-Dlg4DsiO.js → journeyDiagram-JHISSGLW-Do_lY94X.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-BU0XZaSd.js → kanban-definition-UN3LZRKU-brxg3j37.js} +1 -1
  39. package/dist/client/assets/{line-Bert22-_.js → line-PHHbm9rj.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-BvQSGDmL.js → mermaid-parser.core-CLxAkW69.js} +1 -1
  41. package/dist/client/assets/{mermaid.core--qSAHJRj.js → mermaid.core-CebvSmx9.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-BgFIvWWD.js → mindmap-definition-RKZ34NQL-CX_-ZaJF.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-DGcbXD0M.js → pieDiagram-4H26LBE5-BJuHvql_.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-ClkBUeia.js → quadrantDiagram-W4KKPZXB-DiJll7l9.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-B8CwGToU.js → requirementDiagram-4Y6WPE33-Bg-tXgcj.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DTk3jL6B.js → sankeyDiagram-5OEKKPKP-BoK2egfZ.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BQVrcnKf.js → sequenceDiagram-3UESZ5HK-DcrDWNzv.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-DD4yMZPB.js → stateDiagram-AJRCARHV-B995qt1S.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Dn8P7Sa1.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-BnCBVqcd.js → timeline-definition-PNZ67QCA-DqSVAhqL.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-BDmLMNXS.js → vennDiagram-CIIHVFJN-D9wVraVY.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DSLuQiEv.js → wardleyDiagram-YWT4CUSO-CLff9zVd.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DAq_LA4r.js → xychartDiagram-2RQKCTM6-BuHUMMH2.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +472 -39
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +1311 -212
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agent.js +228 -71
  60. package/dist/server/lib/agent.js.map +1 -1
  61. package/dist/server/lib/agentRuns.js +205 -38
  62. package/dist/server/lib/agentRuns.js.map +1 -1
  63. package/dist/server/lib/attachments.js +24 -0
  64. package/dist/server/lib/attachments.js.map +1 -1
  65. package/dist/server/lib/automationProgression.js +464 -0
  66. package/dist/server/lib/automationProgression.js.map +1 -0
  67. package/dist/server/lib/automationReconciliation.js +498 -0
  68. package/dist/server/lib/automationReconciliation.js.map +1 -0
  69. package/dist/server/lib/automationStageDetails.js +232 -0
  70. package/dist/server/lib/automationStageDetails.js.map +1 -0
  71. package/dist/server/lib/buildOpenQuestionOperations.js +238 -0
  72. package/dist/server/lib/buildOpenQuestionOperations.js.map +1 -0
  73. package/dist/server/lib/buildOpenQuestions.js +44 -0
  74. package/dist/server/lib/buildOpenQuestions.js.map +1 -1
  75. package/dist/server/lib/buildSequences.js +130 -46
  76. package/dist/server/lib/buildSequences.js.map +1 -1
  77. package/dist/server/lib/bundleReviewOperations.js +91 -9
  78. package/dist/server/lib/bundleReviewOperations.js.map +1 -1
  79. package/dist/server/lib/chatOperations.js +67 -12
  80. package/dist/server/lib/chatOperations.js.map +1 -1
  81. package/dist/server/lib/executionReconciliation.js +518 -0
  82. package/dist/server/lib/executionReconciliation.js.map +1 -0
  83. package/dist/server/lib/executionRetry.js +694 -0
  84. package/dist/server/lib/executionRetry.js.map +1 -0
  85. package/dist/server/lib/executionRetryContext.js +489 -0
  86. package/dist/server/lib/executionRetryContext.js.map +1 -0
  87. package/dist/server/lib/executionRetryPredicates.js +74 -0
  88. package/dist/server/lib/executionRetryPredicates.js.map +1 -0
  89. package/dist/server/lib/executionRunRetention.js +141 -0
  90. package/dist/server/lib/executionRunRetention.js.map +1 -0
  91. package/dist/server/lib/executionRuns.js +1367 -0
  92. package/dist/server/lib/executionRuns.js.map +1 -0
  93. package/dist/server/lib/executionTimeline.js +45 -0
  94. package/dist/server/lib/executionTimeline.js.map +1 -0
  95. package/dist/server/lib/git.js +385 -6
  96. package/dist/server/lib/git.js.map +1 -1
  97. package/dist/server/lib/integrations/github.js +43 -0
  98. package/dist/server/lib/integrations/github.js.map +1 -1
  99. package/dist/server/lib/integrations/githubActions.js +1 -0
  100. package/dist/server/lib/integrations/githubActions.js.map +1 -1
  101. package/dist/server/lib/integrations/githubActionsSessions.js +337 -114
  102. package/dist/server/lib/integrations/githubActionsSessions.js.map +1 -1
  103. package/dist/server/lib/projectMemorySelections.js +7 -3
  104. package/dist/server/lib/projectMemorySelections.js.map +1 -1
  105. package/dist/server/lib/shutdown.js +2 -2
  106. package/dist/server/lib/shutdown.js.map +1 -1
  107. package/dist/server/lib/specArtifact.js +3 -0
  108. package/dist/server/lib/specArtifact.js.map +1 -1
  109. package/dist/server/lib/specFormatting.js +1 -1
  110. package/dist/server/lib/specFormatting.js.map +1 -1
  111. package/dist/server/lib/specOperations.js +78 -12
  112. package/dist/server/lib/specOperations.js.map +1 -1
  113. package/dist/server/lib/specReviewContext.js +54 -18
  114. package/dist/server/lib/specReviewContext.js.map +1 -1
  115. package/dist/server/lib/specReviewDraft.js +3 -2
  116. package/dist/server/lib/specReviewDraft.js.map +1 -1
  117. package/dist/server/lib/specReviewOperations.js +74 -9
  118. package/dist/server/lib/specReviewOperations.js.map +1 -1
  119. package/dist/server/lib/specReviewValidation.js +217 -0
  120. package/dist/server/lib/specReviewValidation.js.map +1 -0
  121. package/dist/server/lib/specReviews.js +30 -2
  122. package/dist/server/lib/specReviews.js.map +1 -1
  123. package/dist/server/lib/specs.js +18 -1
  124. package/dist/server/lib/specs.js.map +1 -1
  125. package/dist/server/lib/stageSnapshots.js +197 -0
  126. package/dist/server/lib/stageSnapshots.js.map +1 -0
  127. package/dist/server/lib/testSessions.js +160 -18
  128. package/dist/server/lib/testSessions.js.map +1 -1
  129. package/dist/server/lib/ticketAutomation.js +80 -4
  130. package/dist/server/lib/ticketAutomation.js.map +1 -1
  131. package/dist/server/lib/ticketAutomationCommit.js +466 -91
  132. package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
  133. package/dist/server/lib/ticketFollowUpOperations.js +270 -29
  134. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  135. package/dist/server/lib/ticketMessages.js +16 -0
  136. package/dist/server/lib/ticketMessages.js.map +1 -1
  137. package/dist/server/lib/ticketRunOperations.js +51 -6
  138. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  139. package/dist/server/lib/ticketUndo.js +77 -168
  140. package/dist/server/lib/ticketUndo.js.map +1 -1
  141. package/dist/server/lib/ticketWorkflowOperations.js +132 -28
  142. package/dist/server/lib/ticketWorkflowOperations.js.map +1 -1
  143. package/dist/server/lib/tickets.js +41 -27
  144. package/dist/server/lib/tickets.js.map +1 -1
  145. package/dist/server/lib/transcriptRuns.js +3 -3
  146. package/dist/server/lib/transcriptRuns.js.map +1 -1
  147. package/dist/server/lib/turnExecutionErrors.js +12 -0
  148. package/dist/server/lib/turnExecutionErrors.js.map +1 -0
  149. package/dist/server/lib/types.js +58 -1
  150. package/dist/server/lib/types.js.map +1 -1
  151. package/dist/server/workers/build.js +596 -184
  152. package/dist/server/workers/build.js.map +1 -1
  153. package/dist/server/workers/chat.js +269 -132
  154. package/dist/server/workers/chat.js.map +1 -1
  155. package/dist/server/workers/followUp.js +731 -203
  156. package/dist/server/workers/followUp.js.map +1 -1
  157. package/dist/server/workers/plan.js +546 -188
  158. package/dist/server/workers/plan.js.map +1 -1
  159. package/dist/server/workers/planFollowUp.js +240 -75
  160. package/dist/server/workers/planFollowUp.js.map +1 -1
  161. package/dist/server/workers/review.js +790 -297
  162. package/dist/server/workers/review.js.map +1 -1
  163. package/dist/server/workers/specReview.js +212 -46
  164. package/dist/server/workers/specReview.js.map +1 -1
  165. package/dist/server/workers/specSession.js +434 -254
  166. package/dist/server/workers/specSession.js.map +1 -1
  167. package/package.json +1 -1
  168. package/dist/client/assets/GitHubActionsDialog-DAD5REmY.js +0 -1
  169. package/dist/client/assets/TestsDialog-B5NVrroq.js +0 -4
  170. package/dist/client/assets/TicketChangesModal-By-_gTGd.js +0 -1
  171. package/dist/client/assets/channel-Dd5Len0X.js +0 -1
  172. package/dist/client/assets/classDiagram-4FO5ZUOK-B7KUg6r8.js +0 -1
  173. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CQm-z5c4.js +0 -1
  174. package/dist/client/assets/index-BHq6-Eir.js +0 -270
  175. package/dist/client/assets/index-BxTc5qQT.css +0 -2
  176. 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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"}
@@ -1,10 +1,13 @@
1
1
  import { execFile, execFileSync } from 'child_process';
2
- import { cpSync, existsSync, lstatSync, mkdirSync, statSync, symlinkSync } from 'fs';
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) {