@straiffi/archon 1.7.1 → 1.7.3

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 (166) hide show
  1. package/dist/client/assets/ActivityView-DTEenQas.js +1 -0
  2. package/dist/client/assets/GitHubActionsDialog-BKWHonUS.js +1 -0
  3. package/dist/client/assets/TestsDialog-cBaoffCs.js +4 -0
  4. package/dist/client/assets/{architectureDiagram-3BPJPVTR-CJgwCv5O.js → architectureDiagram-3BPJPVTR-BzzGotac.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-GPEHLZMM--xjes8FA.js → blockDiagram-GPEHLZMM-DIcqLHKg.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-AAUBKEIU-DHnp82NG.js → c4Diagram-AAUBKEIU-Hc1Sqmhs.js} +1 -1
  7. package/dist/client/assets/channel-Cym17waa.js +1 -0
  8. package/dist/client/assets/{chunk-2J33WTMH-DAOyJCKy.js → chunk-2J33WTMH-CWSwjsgk.js} +1 -1
  9. package/dist/client/assets/{chunk-3OPIFGDE-C9YI_tk4.js → chunk-3OPIFGDE-BnX3DljN.js} +1 -1
  10. package/dist/client/assets/{chunk-5ZQYHXKU-BW9khkin.js → chunk-5ZQYHXKU-EyyJlI-d.js} +1 -1
  11. package/dist/client/assets/{chunk-727SXJPM-DL4t5Hpi.js → chunk-727SXJPM-Ci6CfxWj.js} +1 -1
  12. package/dist/client/assets/{chunk-AQP2D5EJ-C4VMKa_O.js → chunk-AQP2D5EJ-RKZNsJTm.js} +1 -1
  13. package/dist/client/assets/{chunk-CSCIHK7Q-DHP7zrZK.js → chunk-CSCIHK7Q-DBf0Euoj.js} +1 -1
  14. package/dist/client/assets/{chunk-KSCS5N6A-CqZWek3t.js → chunk-KSCS5N6A-BmLQI_2S.js} +1 -1
  15. package/dist/client/assets/{chunk-L5ZTLDWV-D3q55pCI.js → chunk-L5ZTLDWV-DKwVAb8G.js} +1 -1
  16. package/dist/client/assets/{chunk-LZXEDZCA-UDY_Lo6v.js → chunk-LZXEDZCA-axotKkbz.js} +2 -2
  17. package/dist/client/assets/{chunk-ND2GUHAM-ZCiOxkYV.js → chunk-ND2GUHAM-BBlJ4nXC.js} +1 -1
  18. package/dist/client/assets/{chunk-NZK2D7GU-CuryoBtd.js → chunk-NZK2D7GU-BKJGoZZt.js} +1 -1
  19. package/dist/client/assets/{chunk-O5CBEL6O-PnPsz2TB.js → chunk-O5CBEL6O-C-Ghigo1.js} +1 -1
  20. package/dist/client/assets/{chunk-WU5MYG2G-BzOopX-U.js → chunk-WU5MYG2G-CCzVWYcd.js} +1 -1
  21. package/dist/client/assets/classDiagram-4FO5ZUOK-BcigvvIC.js +1 -0
  22. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-3AdSuE0N.js +1 -0
  23. package/dist/client/assets/{dagre-BM42HDAG-5LBwQ83I.js → dagre-BM42HDAG-rwIdPcjI.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-_4pckiGR.js → diagram-2AECGRRQ-DJWxOQsg.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-CqElv5rJ.js → diagram-5GNKFQAL-C-mQeFtd.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-DKv4zS4F.js → diagram-KO2AKTUF-BAu6u4sR.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-iLmTH4UP.js → diagram-LMA3HP47-U6CbvBn0.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-DpFYIa0o.js → diagram-OG6HWLK6-DNTwFcs1.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-DnfbvbKs.js → erDiagram-TEJ5UH35-DaHX6Xw5.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-C2MN70Qv.js → flowDiagram-I6XJVG4X-B9hKqL2l.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-yonpliOJ.js → ganttDiagram-6RSMTGT7-BQ1HPHVO.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CaKDWx7y.js → gitGraphDiagram-PVQCEYII-BBRcsmMK.js} +1 -1
  33. package/dist/client/assets/index-CEMaJCPS.js +273 -0
  34. package/dist/client/assets/index-lWftq65U.css +2 -0
  35. package/dist/client/assets/{infoDiagram-5YYISTIA-82-8njnx.js → infoDiagram-5YYISTIA-DUoNiSGC.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BMiyLWwK.js → ishikawaDiagram-YF4QCWOH-DJN1y2w8.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-JHISSGLW-C1qBnR37.js → journeyDiagram-JHISSGLW-BxLLMT70.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-UN3LZRKU-zByEuCzn.js → kanban-definition-UN3LZRKU-BdCPistJ.js} +1 -1
  39. package/dist/client/assets/{line-EpLqyzw7.js → line-4mIgXsZd.js} +1 -1
  40. package/dist/client/assets/{mermaid-parser.core-o124REPN.js → mermaid-parser.core-Pu1QGWJ-.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-DgiAn2-k.js → mermaid.core-DnH9DrgZ.js} +3 -3
  42. package/dist/client/assets/{mindmap-definition-RKZ34NQL-UK6V0Bxq.js → mindmap-definition-RKZ34NQL-DqE4ba3C.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-4H26LBE5-B2s9oGFl.js → pieDiagram-4H26LBE5-Crjy9ejf.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-d5H7-zcc.js → quadrantDiagram-W4KKPZXB-BUSZ2VB7.js} +1 -1
  45. package/dist/client/assets/{requirementDiagram-4Y6WPE33-DlwN9Vcv.js → requirementDiagram-4Y6WPE33-CBhFKEoV.js} +1 -1
  46. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-9dGyAxu5.js → sankeyDiagram-5OEKKPKP-CgdbY41v.js} +1 -1
  47. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-DKwRjEym.js → sequenceDiagram-3UESZ5HK-hkp_H7AE.js} +1 -1
  48. package/dist/client/assets/{stateDiagram-AJRCARHV-D_6cuqsX.js → stateDiagram-AJRCARHV-C6x45RWp.js} +1 -1
  49. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DVzPjRPN.js +1 -0
  50. package/dist/client/assets/{timeline-definition-PNZ67QCA-ChqD4j8I.js → timeline-definition-PNZ67QCA-CjnZWttQ.js} +1 -1
  51. package/dist/client/assets/{vennDiagram-CIIHVFJN-CSAZk0IW.js → vennDiagram-CIIHVFJN-DU5ZyYju.js} +1 -1
  52. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BUE6IF4q.js → wardleyDiagram-YWT4CUSO-CaCEnCB0.js} +1 -1
  53. package/dist/client/assets/{xychartDiagram-2RQKCTM6-MOkC53m_.js → xychartDiagram-2RQKCTM6-Ce3xa37U.js} +1 -1
  54. package/dist/client/index.html +2 -2
  55. package/dist/server/db.js +471 -39
  56. package/dist/server/db.js.map +1 -1
  57. package/dist/server/index.js +1267 -213
  58. package/dist/server/index.js.map +1 -1
  59. package/dist/server/lib/agent.js +281 -76
  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/automationProgression.js +464 -0
  64. package/dist/server/lib/automationProgression.js.map +1 -0
  65. package/dist/server/lib/automationReconciliation.js +498 -0
  66. package/dist/server/lib/automationReconciliation.js.map +1 -0
  67. package/dist/server/lib/automationStageDetails.js +232 -0
  68. package/dist/server/lib/automationStageDetails.js.map +1 -0
  69. package/dist/server/lib/buildOpenQuestionOperations.js +223 -0
  70. package/dist/server/lib/buildOpenQuestionOperations.js.map +1 -0
  71. package/dist/server/lib/buildOpenQuestions.js +52 -0
  72. package/dist/server/lib/buildOpenQuestions.js.map +1 -1
  73. package/dist/server/lib/buildSequences.js +130 -46
  74. package/dist/server/lib/buildSequences.js.map +1 -1
  75. package/dist/server/lib/bundleReviewOperations.js +82 -9
  76. package/dist/server/lib/bundleReviewOperations.js.map +1 -1
  77. package/dist/server/lib/chatOperations.js +31 -0
  78. package/dist/server/lib/chatOperations.js.map +1 -1
  79. package/dist/server/lib/executionReconciliation.js +518 -0
  80. package/dist/server/lib/executionReconciliation.js.map +1 -0
  81. package/dist/server/lib/executionRunRetention.js +141 -0
  82. package/dist/server/lib/executionRunRetention.js.map +1 -0
  83. package/dist/server/lib/executionRuns.js +1264 -0
  84. package/dist/server/lib/executionRuns.js.map +1 -0
  85. package/dist/server/lib/git.js +385 -6
  86. package/dist/server/lib/git.js.map +1 -1
  87. package/dist/server/lib/integrations/github.js +43 -0
  88. package/dist/server/lib/integrations/github.js.map +1 -1
  89. package/dist/server/lib/integrations/githubActions.js +1 -0
  90. package/dist/server/lib/integrations/githubActions.js.map +1 -1
  91. package/dist/server/lib/integrations/githubActionsSessions.js +337 -114
  92. package/dist/server/lib/integrations/githubActionsSessions.js.map +1 -1
  93. package/dist/server/lib/projectMemorySelections.js +7 -3
  94. package/dist/server/lib/projectMemorySelections.js.map +1 -1
  95. package/dist/server/lib/shutdown.js +2 -2
  96. package/dist/server/lib/shutdown.js.map +1 -1
  97. package/dist/server/lib/specArtifact.js +3 -0
  98. package/dist/server/lib/specArtifact.js.map +1 -1
  99. package/dist/server/lib/specFormatting.js +1 -1
  100. package/dist/server/lib/specFormatting.js.map +1 -1
  101. package/dist/server/lib/specOperations.js +31 -0
  102. package/dist/server/lib/specOperations.js.map +1 -1
  103. package/dist/server/lib/specReviewContext.js +44 -14
  104. package/dist/server/lib/specReviewContext.js.map +1 -1
  105. package/dist/server/lib/specReviewDraft.js +3 -2
  106. package/dist/server/lib/specReviewDraft.js.map +1 -1
  107. package/dist/server/lib/specReviewOperations.js +44 -7
  108. package/dist/server/lib/specReviewOperations.js.map +1 -1
  109. package/dist/server/lib/specReviewValidation.js +217 -0
  110. package/dist/server/lib/specReviewValidation.js.map +1 -0
  111. package/dist/server/lib/specReviews.js +30 -2
  112. package/dist/server/lib/specReviews.js.map +1 -1
  113. package/dist/server/lib/specs.js +18 -1
  114. package/dist/server/lib/specs.js.map +1 -1
  115. package/dist/server/lib/stageSnapshots.js +197 -0
  116. package/dist/server/lib/stageSnapshots.js.map +1 -0
  117. package/dist/server/lib/testSessions.js +164 -19
  118. package/dist/server/lib/testSessions.js.map +1 -1
  119. package/dist/server/lib/ticketAutomation.js +80 -4
  120. package/dist/server/lib/ticketAutomation.js.map +1 -1
  121. package/dist/server/lib/ticketAutomationCommit.js +466 -91
  122. package/dist/server/lib/ticketAutomationCommit.js.map +1 -1
  123. package/dist/server/lib/ticketFollowUpOperations.js +214 -20
  124. package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
  125. package/dist/server/lib/ticketOpenQuestions.js +30 -14
  126. package/dist/server/lib/ticketOpenQuestions.js.map +1 -1
  127. package/dist/server/lib/ticketRunOperations.js +75 -7
  128. package/dist/server/lib/ticketRunOperations.js.map +1 -1
  129. package/dist/server/lib/ticketUndo.js +77 -168
  130. package/dist/server/lib/ticketUndo.js.map +1 -1
  131. package/dist/server/lib/ticketWorkflowOperations.js +132 -28
  132. package/dist/server/lib/ticketWorkflowOperations.js.map +1 -1
  133. package/dist/server/lib/tickets.js +46 -29
  134. package/dist/server/lib/tickets.js.map +1 -1
  135. package/dist/server/lib/transcriptRuns.js +3 -3
  136. package/dist/server/lib/transcriptRuns.js.map +1 -1
  137. package/dist/server/lib/turnExecutionErrors.js +12 -0
  138. package/dist/server/lib/turnExecutionErrors.js.map +1 -0
  139. package/dist/server/lib/types.js +57 -1
  140. package/dist/server/lib/types.js.map +1 -1
  141. package/dist/server/workers/build.js +596 -184
  142. package/dist/server/workers/build.js.map +1 -1
  143. package/dist/server/workers/chat.js +261 -130
  144. package/dist/server/workers/chat.js.map +1 -1
  145. package/dist/server/workers/followUp.js +720 -195
  146. package/dist/server/workers/followUp.js.map +1 -1
  147. package/dist/server/workers/plan.js +527 -188
  148. package/dist/server/workers/plan.js.map +1 -1
  149. package/dist/server/workers/planFollowUp.js +231 -69
  150. package/dist/server/workers/planFollowUp.js.map +1 -1
  151. package/dist/server/workers/review.js +796 -239
  152. package/dist/server/workers/review.js.map +1 -1
  153. package/dist/server/workers/specReview.js +211 -45
  154. package/dist/server/workers/specReview.js.map +1 -1
  155. package/dist/server/workers/specSession.js +425 -252
  156. package/dist/server/workers/specSession.js.map +1 -1
  157. package/package.json +1 -1
  158. package/dist/client/assets/GitHubActionsDialog-BrUq-zO1.js +0 -1
  159. package/dist/client/assets/TestsDialog-D9N4GD77.js +0 -4
  160. package/dist/client/assets/TicketChangesModal-bYHJSO6d.js +0 -1
  161. package/dist/client/assets/channel-B4kCvLCt.js +0 -1
  162. package/dist/client/assets/classDiagram-4FO5ZUOK-C-eRRNNj.js +0 -1
  163. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-B3vxoc73.js +0 -1
  164. package/dist/client/assets/index-9q1GXkUw.js +0 -270
  165. package/dist/client/assets/index-BxTc5qQT.css +0 -2
  166. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BkMKz90T.js +0 -1
@@ -1,168 +1,391 @@
1
- import { randomUUID } from 'crypto';
1
+ import { appendLifecycleEvent, getGitHubActionsExecutionDetails, listGitHubActionsExecutionDetails, toGitHubActionsRun, transitionExecutionRun, updateGitHubActionsRunDetails, } from '../executionRuns.js';
2
+ import { GitHubApiError } from './github.js';
2
3
  import { getGitHubWorkflowRun, getGitHubWorkflowRunJobs, listGitHubWorkflowRuns, } from './githubActions.js';
3
4
  const POLL_INTERVAL_MS = 5_000;
4
5
  const TRACKED_RUN_TTL_MS = 60 * 60 * 1000;
5
6
  const MAX_RESOLVE_ATTEMPTS = 6;
6
- const trackedRuns = new Map();
7
+ const MAX_PROVIDER_ERRORS = 3;
8
+ const CORRELATION_EARLY_TOLERANCE_MS = 1_000;
9
+ const CORRELATION_WINDOW_MS = 10 * 60 * 1000;
10
+ const activePolls = new Map();
11
+ const inFlightPolls = new Set();
7
12
  let pollInterval = null;
8
13
  let ioReference = null;
9
- const isTerminalStatus = (run) => {
10
- return Boolean(run && run.status === 'completed');
11
- };
12
- const serializeTrackedRun = (record) => ({
13
- tracking_key: record.trackingKey,
14
- project_id: record.projectId,
15
- workflow_id: record.workflowId,
16
- dispatched_at: new Date(record.dispatchedAtMs).toISOString(),
17
- run: record.run,
18
- state: record.resolveState,
14
+ const stateForDetails = (details) => {
15
+ if (details.failure?.code === 'github_actions_ambiguous_match') {
16
+ return 'ambiguous';
17
+ }
18
+ if (details.failure?.code === 'github_actions_run_not_visible') {
19
+ return 'not_visible';
20
+ }
21
+ if (details.execution_status === 'failed' || details.execution_status === 'interrupted') {
22
+ return 'failed';
23
+ }
24
+ return details.provider_run_id === null ? 'resolving' : 'resolved';
25
+ };
26
+ const serializeTrackedRun = (details) => ({
27
+ tracking_key: details.execution_run_id,
28
+ execution_run_id: details.execution_run_id,
29
+ project_id: details.project_id,
30
+ workflow_id: details.workflow_id,
31
+ ref: details.ref,
32
+ dispatched_at: details.dispatched_at ?? '',
33
+ run: toGitHubActionsRun(details),
34
+ state: stateForDetails(details),
35
+ execution_status: details.execution_status,
36
+ failure: details.failure,
19
37
  });
20
- const emitTrackedRunUpdate = (record) => {
21
- if (!ioReference) {
38
+ const emitTrackedRunUpdate = (details) => {
39
+ ioReference?.emit('github-actions:updated', serializeTrackedRun(details));
40
+ };
41
+ const removePoll = (executionRunId) => {
42
+ activePolls.delete(executionRunId);
43
+ };
44
+ const failRun = (poll, code, message, eventType, eventMetadata) => {
45
+ const details = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
46
+ if (!details || ['completed', 'failed', 'cancelled', 'interrupted'].includes(details.execution_status)) {
47
+ removePoll(poll.executionRunId);
48
+ return;
49
+ }
50
+ transitionExecutionRun({
51
+ projectId: poll.projectId,
52
+ runId: poll.executionRunId,
53
+ status: 'failed',
54
+ domainStatus: code,
55
+ failure: { code, message },
56
+ eventType,
57
+ eventMessage: message,
58
+ eventMetadata,
59
+ }, ioReference ?? undefined);
60
+ const failed = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
61
+ if (failed) {
62
+ emitTrackedRunUpdate(failed);
63
+ }
64
+ removePoll(poll.executionRunId);
65
+ };
66
+ const classifyProviderError = (error, hasProviderRunId) => {
67
+ if (error instanceof GitHubApiError) {
68
+ if (error.status === 404 && hasProviderRunId) {
69
+ return { code: 'github_actions_provider_run_deleted', message: 'The GitHub Actions run is no longer available.', immediate: true };
70
+ }
71
+ if (error.status === 429 || error.publicMessage.toLowerCase().includes('rate limit')) {
72
+ return { code: 'github_actions_rate_limit_exhausted', message: 'GitHub rate limits prevented run reconciliation.', immediate: false };
73
+ }
74
+ if (error.status === 401 || error.status === 403) {
75
+ return { code: 'github_actions_authentication_unavailable', message: 'GitHub authentication is unavailable for this run.', immediate: false };
76
+ }
77
+ }
78
+ return { code: 'github_actions_provider_unavailable', message: 'GitHub remained unavailable while reconciling this run.', immediate: false };
79
+ };
80
+ const handleProviderError = (poll, error) => {
81
+ console.warn(`[github-actions] provider request failed execution_run=${poll.executionRunId}`, error);
82
+ const latest = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
83
+ if (!latest || ['completed', 'failed', 'cancelled', 'interrupted'].includes(latest.execution_status)) {
84
+ removePoll(poll.executionRunId);
22
85
  return;
23
86
  }
24
- ioReference.emit('github-actions:updated', serializeTrackedRun(record));
87
+ const failure = classifyProviderError(error, latest.provider_run_id !== null);
88
+ const providerErrorCount = latest.provider_error_count + 1;
89
+ updateGitHubActionsRunDetails({
90
+ projectId: poll.projectId,
91
+ runId: poll.executionRunId,
92
+ providerErrorCount,
93
+ lastSyncedAt: new Date().toISOString(),
94
+ });
95
+ if (failure.immediate || providerErrorCount >= MAX_PROVIDER_ERRORS) {
96
+ failRun(poll, failure.code, failure.message, 'github_actions_provider_unavailable', {
97
+ provider_error_count: providerErrorCount,
98
+ });
99
+ }
100
+ };
101
+ const finishFromProvider = (poll, details) => {
102
+ const conclusion = details.conclusion;
103
+ const status = conclusion === 'cancelled'
104
+ ? 'cancelled'
105
+ : conclusion === 'success' || conclusion === 'neutral' || conclusion === 'skipped'
106
+ ? 'completed'
107
+ : 'failed';
108
+ const message = conclusion
109
+ ? `GitHub Actions run concluded with ${conclusion}.`
110
+ : 'GitHub Actions run completed without a conclusion.';
111
+ transitionExecutionRun({
112
+ projectId: poll.projectId,
113
+ runId: poll.executionRunId,
114
+ status,
115
+ domainStatus: conclusion ?? 'completed_without_conclusion',
116
+ failure: status === 'failed' ? {
117
+ code: `github_actions_${conclusion ?? 'unknown'}_conclusion`,
118
+ message,
119
+ } : null,
120
+ eventType: 'github_actions_completed',
121
+ eventMessage: message,
122
+ eventMetadata: { provider_run_id: details.provider_run_id, conclusion },
123
+ }, ioReference ?? undefined);
124
+ const terminal = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
125
+ if (terminal) {
126
+ emitTrackedRunUpdate(terminal);
127
+ }
128
+ removePoll(poll.executionRunId);
25
129
  };
26
- const resolveRunId = async (record) => {
27
- if (record.runId !== null || record.resolveAttempts >= MAX_RESOLVE_ATTEMPTS) {
130
+ const applyProviderObservation = (poll, run, jobs = run.jobs) => {
131
+ const latest = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
132
+ if (!latest || ['completed', 'failed', 'cancelled', 'interrupted'].includes(latest.execution_status)) {
133
+ removePoll(poll.executionRunId);
28
134
  return;
29
135
  }
30
- record.resolveAttempts += 1;
136
+ const details = updateGitHubActionsRunDetails({
137
+ projectId: poll.projectId,
138
+ runId: poll.executionRunId,
139
+ providerErrorCount: 0,
140
+ workflowName: run.name,
141
+ providerRunId: run.id,
142
+ providerStatus: run.status,
143
+ conclusion: run.conclusion,
144
+ htmlUrl: run.html_url,
145
+ headSha: run.head_sha ?? null,
146
+ headBranch: run.head_branch,
147
+ providerCreatedAt: run.created_at,
148
+ providerUpdatedAt: run.updated_at,
149
+ providerStartedAt: run.run_started_at,
150
+ lastSyncedAt: new Date().toISOString(),
151
+ jobs,
152
+ });
153
+ if (run.status === 'completed') {
154
+ finishFromProvider(poll, details);
155
+ return;
156
+ }
157
+ if (run.status === 'in_progress' && latest.execution_status === 'waiting') {
158
+ transitionExecutionRun({
159
+ projectId: poll.projectId,
160
+ runId: poll.executionRunId,
161
+ status: 'running',
162
+ domainStatus: 'in_progress',
163
+ eventType: 'github_actions_started',
164
+ eventMessage: 'GitHub Actions started running the workflow.',
165
+ eventMetadata: { provider_run_id: run.id },
166
+ }, ioReference ?? undefined);
167
+ }
168
+ const current = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
169
+ if (current) {
170
+ emitTrackedRunUpdate(current);
171
+ }
172
+ };
173
+ const resolveRunId = async (poll, details) => {
174
+ if (details.resolution_attempts >= MAX_RESOLVE_ATTEMPTS) {
175
+ failRun(poll, 'github_actions_run_not_visible', 'The dispatched workflow did not become visible on GitHub.', 'github_actions_resolution_failed');
176
+ return;
177
+ }
178
+ const resolutionAttempts = details.resolution_attempts + 1;
179
+ updateGitHubActionsRunDetails({
180
+ projectId: poll.projectId,
181
+ runId: poll.executionRunId,
182
+ resolutionAttempts,
183
+ lastSyncedAt: new Date().toISOString(),
184
+ });
31
185
  try {
32
- const runs = await listGitHubWorkflowRuns(record.config, record.workflowId);
33
- const matchingRun = runs.find(candidate => {
34
- if (!candidate.created_at) {
35
- return false;
36
- }
37
- const createdAtMs = Date.parse(candidate.created_at);
38
- if (!Number.isFinite(createdAtMs)) {
39
- return false;
40
- }
41
- return createdAtMs >= record.dispatchedAtMs - 1_000;
186
+ const runs = await listGitHubWorkflowRuns(poll.config, details.workflow_id);
187
+ const latest = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
188
+ if (!latest || ['completed', 'failed', 'cancelled', 'interrupted'].includes(latest.execution_status)) {
189
+ removePoll(poll.executionRunId);
190
+ return;
191
+ }
192
+ const dispatchedAtMs = Date.parse(details.dispatched_at ?? '');
193
+ const candidates = runs.filter(candidate => {
194
+ const createdAtMs = Date.parse(candidate.created_at ?? '');
195
+ return candidate.workflow_id === details.workflow_id
196
+ && candidate.head_branch === details.ref
197
+ && Number.isFinite(dispatchedAtMs)
198
+ && Number.isFinite(createdAtMs)
199
+ && createdAtMs >= dispatchedAtMs - CORRELATION_EARLY_TOLERANCE_MS
200
+ && createdAtMs <= dispatchedAtMs + CORRELATION_WINDOW_MS;
42
201
  });
43
- if (matchingRun) {
44
- record.runId = matchingRun.id;
45
- record.run = matchingRun;
46
- record.resolveState = 'resolved';
202
+ if (candidates.length > 1) {
203
+ failRun(poll, 'github_actions_ambiguous_match', 'Multiple GitHub Actions runs matched this dispatch; no provider run was selected.', 'github_actions_resolution_ambiguous', { candidate_run_ids: candidates.map(candidate => candidate.id).slice(0, 20) });
47
204
  return;
48
205
  }
49
- if (record.resolveAttempts >= MAX_RESOLVE_ATTEMPTS) {
50
- record.resolveState = 'not_visible';
206
+ const candidate = candidates[0];
207
+ if (!candidate) {
208
+ if (resolutionAttempts >= MAX_RESOLVE_ATTEMPTS) {
209
+ failRun(poll, 'github_actions_run_not_visible', 'The dispatched workflow did not become visible on GitHub.', 'github_actions_resolution_failed');
210
+ }
211
+ return;
212
+ }
213
+ updateGitHubActionsRunDetails({
214
+ projectId: poll.projectId,
215
+ runId: poll.executionRunId,
216
+ providerRunId: candidate.id,
217
+ workflowName: candidate.name,
218
+ providerStatus: candidate.status,
219
+ conclusion: candidate.conclusion,
220
+ htmlUrl: candidate.html_url,
221
+ headSha: candidate.head_sha ?? null,
222
+ headBranch: candidate.head_branch,
223
+ providerCreatedAt: candidate.created_at,
224
+ providerUpdatedAt: candidate.updated_at,
225
+ providerStartedAt: candidate.run_started_at,
226
+ providerErrorCount: 0,
227
+ lastSyncedAt: new Date().toISOString(),
228
+ });
229
+ appendLifecycleEvent({
230
+ projectId: poll.projectId,
231
+ runId: poll.executionRunId,
232
+ eventType: 'github_actions_run_resolved',
233
+ message: 'Resolved the dispatched workflow to a GitHub Actions run.',
234
+ metadata: { provider_run_id: candidate.id, resolution_attempts: resolutionAttempts },
235
+ }, ioReference ?? undefined);
236
+ const resolvedDetails = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
237
+ if (candidate.status === 'completed' && resolvedDetails) {
238
+ await refreshTrackedRun(poll, resolvedDetails);
239
+ }
240
+ else {
241
+ applyProviderObservation(poll, candidate);
51
242
  }
52
243
  }
53
244
  catch (error) {
54
- console.warn(`[github-actions] run resolution failed workflow=${record.workflowId}`, error);
245
+ handleProviderError(poll, error);
55
246
  }
56
247
  };
57
- const refreshTrackedRun = async (record) => {
58
- if (record.runId === null) {
248
+ const refreshTrackedRun = async (poll, details) => {
249
+ if (details.provider_run_id === null) {
59
250
  return;
60
251
  }
61
252
  try {
62
253
  const [run, jobs] = await Promise.all([
63
- getGitHubWorkflowRun(record.config, record.runId),
64
- getGitHubWorkflowRunJobs(record.config, record.runId),
254
+ getGitHubWorkflowRun(poll.config, details.provider_run_id),
255
+ getGitHubWorkflowRunJobs(poll.config, details.provider_run_id),
65
256
  ]);
66
- record.run = { ...run, jobs };
257
+ applyProviderObservation(poll, run, jobs);
67
258
  }
68
259
  catch (error) {
69
- console.warn(`[github-actions] run refresh failed run=${record.runId}`, error);
260
+ handleProviderError(poll, error);
70
261
  }
71
262
  };
72
- const tick = async () => {
73
- if (trackedRuns.size === 0) {
263
+ const pollOne = async (poll) => {
264
+ const details = getGitHubActionsExecutionDetails(poll.projectId, poll.executionRunId);
265
+ if (!details || ['completed', 'failed', 'cancelled', 'interrupted'].includes(details.execution_status)) {
266
+ removePoll(poll.executionRunId);
74
267
  return;
75
268
  }
76
- const records = [...trackedRuns.values()];
77
- for (const record of records) {
78
- if (Date.now() - record.dispatchedAtMs > TRACKED_RUN_TTL_MS) {
79
- trackedRuns.delete(record.trackingKey);
80
- continue;
81
- }
82
- if (isTerminalStatus(record.run)) {
83
- continue;
84
- }
85
- try {
86
- if (record.runId === null) {
87
- await resolveRunId(record);
88
- }
89
- else {
90
- await refreshTrackedRun(record);
91
- }
92
- emitTrackedRunUpdate(record);
93
- if (isTerminalStatus(record.run) || record.resolveState === 'not_visible') {
94
- trackedRuns.delete(record.trackingKey);
95
- }
96
- }
97
- catch (error) {
98
- console.warn(`[github-actions] poll tick failed tracking_key=${record.trackingKey}`, error);
99
- }
269
+ const dispatchedAtMs = Date.parse(details.dispatched_at ?? '');
270
+ if (Number.isFinite(dispatchedAtMs) && Date.now() - dispatchedAtMs > TRACKED_RUN_TTL_MS) {
271
+ failRun(poll, 'github_actions_polling_timeout', 'GitHub Actions run tracking exceeded one hour.', 'github_actions_tracking_timed_out');
272
+ return;
273
+ }
274
+ if (details.provider_run_id === null) {
275
+ await resolveRunId(poll, details);
276
+ }
277
+ else {
278
+ await refreshTrackedRun(poll, details);
100
279
  }
101
280
  };
102
- const ensurePolling = () => {
103
- if (pollInterval) {
281
+ const runPoll = async (poll) => {
282
+ if (inFlightPolls.has(poll.executionRunId)) {
104
283
  return;
105
284
  }
106
- pollInterval = setInterval(() => {
107
- void tick();
108
- }, POLL_INTERVAL_MS);
285
+ inFlightPolls.add(poll.executionRunId);
286
+ try {
287
+ await pollOne(poll);
288
+ }
289
+ catch (error) {
290
+ console.warn(`[github-actions] polling failed execution_run=${poll.executionRunId}`, error);
291
+ }
292
+ finally {
293
+ inFlightPolls.delete(poll.executionRunId);
294
+ }
109
295
  };
110
- const stopPolling = () => {
296
+ const tick = async () => {
297
+ for (const poll of [...activePolls.values()]) {
298
+ await runPoll(poll);
299
+ }
300
+ };
301
+ const ensurePolling = () => {
111
302
  if (!pollInterval) {
112
- return;
303
+ pollInterval = setInterval(() => void tick(), POLL_INTERVAL_MS);
304
+ }
305
+ };
306
+ const addPoll = (poll, startPolling = true) => {
307
+ activePolls.set(poll.executionRunId, poll);
308
+ if (startPolling) {
309
+ ensurePolling();
310
+ void runPoll(poll);
113
311
  }
114
- clearInterval(pollInterval);
115
- pollInterval = null;
116
312
  };
117
313
  export const trackGitHubActionsRun = (input) => {
118
314
  ioReference = input.io;
119
- const dispatchedAtMs = input.dispatchedAt ?? Date.now();
120
- const record = {
121
- trackingKey: randomUUID(),
122
- projectId: input.projectId,
123
- workflowId: input.workflowId,
124
- dispatchedAtMs,
125
- config: input.config,
126
- runId: null,
127
- run: null,
128
- resolveAttempts: 0,
129
- resolveState: 'resolving',
130
- };
131
- trackedRuns.set(record.trackingKey, record);
132
- ensurePolling();
133
- void resolveRunId(record).then(() => {
134
- emitTrackedRunUpdate(record);
135
- if (record.runId !== null && isTerminalStatus(record.run)) {
136
- trackedRuns.delete(record.trackingKey);
315
+ const details = getGitHubActionsExecutionDetails(input.projectId, input.executionRunId);
316
+ if (!details) {
317
+ throw new Error(`GitHub Actions execution run ${input.executionRunId} was not found`);
318
+ }
319
+ addPoll({ executionRunId: input.executionRunId, projectId: input.projectId, config: input.config });
320
+ return serializeTrackedRun(details);
321
+ };
322
+ export const reconcileGitHubActionsRuns = (input) => {
323
+ ioReference = input.io ?? null;
324
+ const records = listGitHubActionsExecutionDetails(undefined, ['queued', 'waiting', 'running']);
325
+ let failed = 0;
326
+ let reattached = 0;
327
+ let resolving = 0;
328
+ for (const details of records) {
329
+ const config = input.getConfig(details.project_id);
330
+ if (!config) {
331
+ const placeholder = { executionRunId: details.execution_run_id, projectId: details.project_id, config: {} };
332
+ failRun(placeholder, 'github_actions_configuration_unavailable', 'GitHub connection configuration is unavailable for this run.', 'github_actions_provider_unavailable');
333
+ failed += 1;
334
+ continue;
137
335
  }
138
- }).catch(error => {
139
- console.warn(`[github-actions] initial run resolution failed workflow=${input.workflowId}`, error);
140
- });
141
- return serializeTrackedRun(record);
336
+ if (details.execution_status === 'queued') {
337
+ transitionExecutionRun({
338
+ projectId: details.project_id,
339
+ runId: details.execution_run_id,
340
+ status: 'waiting',
341
+ domainStatus: 'reconciling_interrupted_dispatch',
342
+ eventType: 'github_actions_reconciliation_started',
343
+ eventMessage: 'Reconciling a dispatch whose provider acceptance was not durably recorded.',
344
+ }, ioReference ?? undefined);
345
+ }
346
+ addPoll({ executionRunId: details.execution_run_id, projectId: details.project_id, config }, input.startPolling ?? true);
347
+ if (details.provider_run_id === null) {
348
+ resolving += 1;
349
+ }
350
+ else {
351
+ reattached += 1;
352
+ }
353
+ }
354
+ return { reattached, resolving, failed };
142
355
  };
143
- export const untrackGitHubActionsRun = (trackingKey) => {
144
- return trackedRuns.delete(trackingKey);
356
+ export const startGitHubActionsPolling = (emitter) => {
357
+ if (emitter) {
358
+ ioReference = emitter;
359
+ }
360
+ if (activePolls.size === 0) {
361
+ return;
362
+ }
363
+ ensurePolling();
364
+ for (const poll of activePolls.values()) {
365
+ void runPoll(poll);
366
+ }
145
367
  };
368
+ export const untrackGitHubActionsRun = (trackingKey) => activePolls.delete(trackingKey);
146
369
  export const getTrackedGitHubActionsRuns = (projectId) => {
147
- return [...trackedRuns.values()]
148
- .filter(record => record.projectId === projectId)
370
+ return listGitHubActionsExecutionDetails(projectId, ['queued', 'waiting', 'running', 'failed', 'interrupted'])
371
+ .filter(details => {
372
+ if (['queued', 'waiting', 'running'].includes(details.execution_status)) {
373
+ return true;
374
+ }
375
+ return details.provider_run_id === null;
376
+ })
149
377
  .map(serializeTrackedRun);
150
378
  };
151
379
  export const getActiveTrackedRunCount = (projectId) => {
152
- let activeCount = 0;
153
- for (const record of trackedRuns.values()) {
154
- if (record.projectId !== projectId) {
155
- continue;
156
- }
157
- if (record.run === null || !isTerminalStatus(record.run)) {
158
- activeCount += 1;
159
- }
160
- }
161
- return activeCount;
380
+ return listGitHubActionsExecutionDetails(projectId, ['queued', 'waiting', 'running']).length;
162
381
  };
163
382
  export const clearAllGitHubActionsSessions = () => {
164
- trackedRuns.clear();
165
- stopPolling();
383
+ activePolls.clear();
384
+ inFlightPolls.clear();
385
+ if (pollInterval) {
386
+ clearInterval(pollInterval);
387
+ pollInterval = null;
388
+ }
166
389
  return Promise.resolve();
167
390
  };
168
391
  //# sourceMappingURL=githubActionsSessions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"githubActionsSessions.js","sourceRoot":"","sources":["../../../../server/lib/integrations/githubActionsSessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"githubActionsSessions.js","sourceRoot":"","sources":["../../../../server/lib/integrations/githubActionsSessions.ts"],"names":[],"mappings":"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"}
@@ -36,19 +36,23 @@ export const persistProjectMemorySelection = ({ projectId, parentType, parentId,
36
36
  `).run(id, projectId, agentRunId, agentRunId, parentType, parentId, stage, selection.revision, JSON.stringify(selectedItems), JSON.stringify(selection.omitted_items), JSON.stringify(selection.conflicts), selection.character_count, generatedContext == null ? null : JSON.stringify(generatedContext));
37
37
  return id;
38
38
  };
39
- export const attachProjectMemorySelectionAgentRun = (selectionId, agentRunId) => {
39
+ export const attachProjectMemorySelectionAgentRun = (selectionId, agentRunId, executionRunId) => {
40
40
  const result = db.prepare(`
41
41
  UPDATE project_memory_selections
42
42
  SET agent_run_id = ?, durable_agent_run_id = ?
43
43
  WHERE id = ?
44
44
  AND (agent_run_id IS NULL OR agent_run_id = ?)
45
45
  AND EXISTS (
46
- SELECT 1 FROM agent_runs
46
+ SELECT 1
47
+ FROM agent_runs
48
+ JOIN execution_runs ON execution_runs.id = agent_runs.execution_run_id
47
49
  WHERE agent_runs.id = ?
50
+ AND agent_runs.execution_run_id = ?
51
+ AND execution_runs.project_id = project_memory_selections.project_id
48
52
  AND agent_runs.parent_type = project_memory_selections.parent_type
49
53
  AND agent_runs.parent_id = project_memory_selections.parent_id
50
54
  )
51
- `).run(agentRunId, agentRunId, selectionId, agentRunId, agentRunId);
55
+ `).run(agentRunId, agentRunId, selectionId, agentRunId, agentRunId, executionRunId);
52
56
  return result.changes === 1;
53
57
  };
54
58
  export const getProjectMemorySelectionForAgentRun = (projectId, agentRunId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"projectMemorySelections.js","sourceRoot":"","sources":["../../../server/lib/projectMemorySelections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectMemorySelections.js","sourceRoot":"","sources":["../../../server/lib/projectMemorySelections.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,12 @@ const closeHttpServer = (httpServer) => {
20
20
  });
21
21
  });
22
22
  };
23
- export const shutdownRealtimeServer = async ({ signal, io, httpServer, closeAllTerminalSessions, clearAllPreviewProxies, stopAllBuildAgents, stopAllTickets, }) => {
23
+ export const shutdownRealtimeServer = async ({ signal, io, httpServer, closeAllTerminalSessions, clearAllPreviewProxies, stopAllBuildAgents, stopAllReviewAgents, stopAllPlanAgents, stopAllTickets, }) => {
24
24
  if (signal) {
25
25
  console.log(`\nReceived ${signal}, shutting down...`);
26
26
  }
27
27
  closeAllTerminalSessions();
28
- await Promise.all([clearAllPreviewProxies(), stopAllBuildAgents(), stopAllTickets()]);
28
+ await Promise.all([clearAllPreviewProxies(), stopAllBuildAgents(), stopAllReviewAgents(), stopAllPlanAgents(), stopAllTickets()]);
29
29
  if (!httpServer.listening) {
30
30
  return;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../../server/lib/shutdown.ts"],"names":[],"mappings":"AAaA,MAAM,iBAAiB,GAAG,CAAC,EAAgB,EAAE,EAAE;IAC7C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACf,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAA;gBACb,OAAM;YACR,CAAC;YAED,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,UAAsB,EAAE,EAAE;IACjD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAA;gBACb,OAAM;YACR,CAAC;YAED,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,EAC3C,MAAM,EACN,EAAE,EACF,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,GACO,EAAE,EAAE;IACzB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,oBAAoB,CAAC,CAAA;IACvD,CAAC;IAED,wBAAwB,EAAE,CAAA;IAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE,kBAAkB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;IAErF,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAM;IACR,CAAC;IAED,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAC3B,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;AACnC,CAAC,CAAA"}
1
+ {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../../server/lib/shutdown.ts"],"names":[],"mappings":"AAeA,MAAM,iBAAiB,GAAG,CAAC,EAAgB,EAAE,EAAE;IAC7C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACf,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAA;gBACb,OAAM;YACR,CAAC;YAED,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,UAAsB,EAAE,EAAE;IACjD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAA;gBACb,OAAM;YACR,CAAC;YAED,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,EAC3C,MAAM,EACN,EAAE,EACF,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACO,EAAE,EAAE;IACzB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,oBAAoB,CAAC,CAAA;IACvD,CAAC;IAED,wBAAwB,EAAE,CAAA;IAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE,kBAAkB,EAAE,EAAE,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;IAEjI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAM;IACR,CAAC;IAED,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAC3B,MAAM,eAAe,CAAC,UAAU,CAAC,CAAA;AACnC,CAAC,CAAA"}
@@ -28,6 +28,9 @@ const normalizeLikelyFiles = (value) => {
28
28
  .map(item => ({
29
29
  path: item.path.trim(),
30
30
  reason: item.reason.trim(),
31
+ is_new: typeof item.is_new === 'boolean'
32
+ ? item.is_new
33
+ : false,
31
34
  }))
32
35
  .filter(item => item.path && item.reason);
33
36
  };