@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.
- package/dist/client/assets/ActivityView-DTEenQas.js +1 -0
- package/dist/client/assets/GitHubActionsDialog-BKWHonUS.js +1 -0
- package/dist/client/assets/TestsDialog-cBaoffCs.js +4 -0
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-CJgwCv5O.js → architectureDiagram-3BPJPVTR-BzzGotac.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM--xjes8FA.js → blockDiagram-GPEHLZMM-DIcqLHKg.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-DHnp82NG.js → c4Diagram-AAUBKEIU-Hc1Sqmhs.js} +1 -1
- package/dist/client/assets/channel-Cym17waa.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-DAOyJCKy.js → chunk-2J33WTMH-CWSwjsgk.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-C9YI_tk4.js → chunk-3OPIFGDE-BnX3DljN.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-BW9khkin.js → chunk-5ZQYHXKU-EyyJlI-d.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-DL4t5Hpi.js → chunk-727SXJPM-Ci6CfxWj.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-C4VMKa_O.js → chunk-AQP2D5EJ-RKZNsJTm.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-DHP7zrZK.js → chunk-CSCIHK7Q-DBf0Euoj.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-CqZWek3t.js → chunk-KSCS5N6A-BmLQI_2S.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-D3q55pCI.js → chunk-L5ZTLDWV-DKwVAb8G.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-UDY_Lo6v.js → chunk-LZXEDZCA-axotKkbz.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-ZCiOxkYV.js → chunk-ND2GUHAM-BBlJ4nXC.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-CuryoBtd.js → chunk-NZK2D7GU-BKJGoZZt.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-PnPsz2TB.js → chunk-O5CBEL6O-C-Ghigo1.js} +1 -1
- package/dist/client/assets/{chunk-WU5MYG2G-BzOopX-U.js → chunk-WU5MYG2G-CCzVWYcd.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BcigvvIC.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-3AdSuE0N.js +1 -0
- package/dist/client/assets/{dagre-BM42HDAG-5LBwQ83I.js → dagre-BM42HDAG-rwIdPcjI.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-_4pckiGR.js → diagram-2AECGRRQ-DJWxOQsg.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-CqElv5rJ.js → diagram-5GNKFQAL-C-mQeFtd.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-DKv4zS4F.js → diagram-KO2AKTUF-BAu6u4sR.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-iLmTH4UP.js → diagram-LMA3HP47-U6CbvBn0.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-DpFYIa0o.js → diagram-OG6HWLK6-DNTwFcs1.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-DnfbvbKs.js → erDiagram-TEJ5UH35-DaHX6Xw5.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-C2MN70Qv.js → flowDiagram-I6XJVG4X-B9hKqL2l.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-yonpliOJ.js → ganttDiagram-6RSMTGT7-BQ1HPHVO.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CaKDWx7y.js → gitGraphDiagram-PVQCEYII-BBRcsmMK.js} +1 -1
- package/dist/client/assets/index-CEMaJCPS.js +273 -0
- package/dist/client/assets/index-lWftq65U.css +2 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-82-8njnx.js → infoDiagram-5YYISTIA-DUoNiSGC.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BMiyLWwK.js → ishikawaDiagram-YF4QCWOH-DJN1y2w8.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-C1qBnR37.js → journeyDiagram-JHISSGLW-BxLLMT70.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-zByEuCzn.js → kanban-definition-UN3LZRKU-BdCPistJ.js} +1 -1
- package/dist/client/assets/{line-EpLqyzw7.js → line-4mIgXsZd.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-o124REPN.js → mermaid-parser.core-Pu1QGWJ-.js} +1 -1
- package/dist/client/assets/{mermaid.core-DgiAn2-k.js → mermaid.core-DnH9DrgZ.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-UK6V0Bxq.js → mindmap-definition-RKZ34NQL-DqE4ba3C.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-B2s9oGFl.js → pieDiagram-4H26LBE5-Crjy9ejf.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-d5H7-zcc.js → quadrantDiagram-W4KKPZXB-BUSZ2VB7.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-DlwN9Vcv.js → requirementDiagram-4Y6WPE33-CBhFKEoV.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-9dGyAxu5.js → sankeyDiagram-5OEKKPKP-CgdbY41v.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-DKwRjEym.js → sequenceDiagram-3UESZ5HK-hkp_H7AE.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-D_6cuqsX.js → stateDiagram-AJRCARHV-C6x45RWp.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DVzPjRPN.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-ChqD4j8I.js → timeline-definition-PNZ67QCA-CjnZWttQ.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-CSAZk0IW.js → vennDiagram-CIIHVFJN-DU5ZyYju.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-BUE6IF4q.js → wardleyDiagram-YWT4CUSO-CaCEnCB0.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-MOkC53m_.js → xychartDiagram-2RQKCTM6-Ce3xa37U.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/db.js +471 -39
- package/dist/server/db.js.map +1 -1
- package/dist/server/index.js +1267 -213
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/agent.js +281 -76
- 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/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 +223 -0
- package/dist/server/lib/buildOpenQuestionOperations.js.map +1 -0
- package/dist/server/lib/buildOpenQuestions.js +52 -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 +82 -9
- package/dist/server/lib/bundleReviewOperations.js.map +1 -1
- package/dist/server/lib/chatOperations.js +31 -0
- 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/executionRunRetention.js +141 -0
- package/dist/server/lib/executionRunRetention.js.map +1 -0
- package/dist/server/lib/executionRuns.js +1264 -0
- package/dist/server/lib/executionRuns.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 +31 -0
- package/dist/server/lib/specOperations.js.map +1 -1
- package/dist/server/lib/specReviewContext.js +44 -14
- 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 +44 -7
- 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 +164 -19
- 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 +214 -20
- package/dist/server/lib/ticketFollowUpOperations.js.map +1 -1
- package/dist/server/lib/ticketOpenQuestions.js +30 -14
- package/dist/server/lib/ticketOpenQuestions.js.map +1 -1
- package/dist/server/lib/ticketRunOperations.js +75 -7
- 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 +46 -29
- 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 +57 -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 +261 -130
- package/dist/server/workers/chat.js.map +1 -1
- package/dist/server/workers/followUp.js +720 -195
- package/dist/server/workers/followUp.js.map +1 -1
- package/dist/server/workers/plan.js +527 -188
- package/dist/server/workers/plan.js.map +1 -1
- package/dist/server/workers/planFollowUp.js +231 -69
- package/dist/server/workers/planFollowUp.js.map +1 -1
- package/dist/server/workers/review.js +796 -239
- package/dist/server/workers/review.js.map +1 -1
- package/dist/server/workers/specReview.js +211 -45
- package/dist/server/workers/specReview.js.map +1 -1
- package/dist/server/workers/specSession.js +425 -252
- package/dist/server/workers/specSession.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/GitHubActionsDialog-BrUq-zO1.js +0 -1
- package/dist/client/assets/TestsDialog-D9N4GD77.js +0 -4
- package/dist/client/assets/TicketChangesModal-bYHJSO6d.js +0 -1
- package/dist/client/assets/channel-B4kCvLCt.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-C-eRRNNj.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-B3vxoc73.js +0 -1
- package/dist/client/assets/index-9q1GXkUw.js +0 -270
- package/dist/client/assets/index-BxTc5qQT.css +0 -2
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-BkMKz90T.js +0 -1
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { existsSync } from 'fs';
|
|
2
|
+
import { isAbsolute, relative, resolve, sep } from 'path';
|
|
3
|
+
import { IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS, } from './ticketDescriptionContract.js';
|
|
4
|
+
const extractMarkdownSection = (description, heading) => {
|
|
5
|
+
const escapedHeading = heading.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
6
|
+
const sectionPattern = new RegExp(`^##\\s+${escapedHeading}\\s*$\\n([\\s\\S]*?)(?=^##\\s+|(?![\\s\\S]))`, 'm');
|
|
7
|
+
return description.match(sectionPattern)?.[1]?.trim() ?? '';
|
|
8
|
+
};
|
|
9
|
+
const countChecklistItems = (section) => (section.match(/^[-*]\s+\[[ xX]\]\s+/gm) ?? []).length;
|
|
10
|
+
const countImplementationSteps = (section) => (section.match(/^(?:[-*]\s+|\d+\.\s+)/gm) ?? []).length;
|
|
11
|
+
const countConstraintBullets = (section) => (section.match(/^[-*]\s+/gm) ?? []).length;
|
|
12
|
+
const hasConcreteFileReference = (section) => /`[^`]+`|[A-Za-z0-9_./-]+\.(?:ts|tsx|js|jsx|json|md|css|scss|html|py|go|rb|java|kt|swift|sql)\b/.test(section);
|
|
13
|
+
const hasTestingGuidance = (description) => /\b(test|tests|testing|lint|typecheck|tsc|vitest|jest|pytest|verification|verify|run checks?)\b/i.test(description);
|
|
14
|
+
const validateTicketDescriptions = (snapshot) => {
|
|
15
|
+
const findings = [];
|
|
16
|
+
for (const ticket of snapshot.tickets) {
|
|
17
|
+
const headingMatches = [...ticket.description.matchAll(/^##\s+(.+?)\s*$/gm)];
|
|
18
|
+
const headings = headingMatches.map(match => match[1]);
|
|
19
|
+
const contractHeadings = headings.filter(heading => IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS.includes(heading));
|
|
20
|
+
const missingHeadings = IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS.filter(heading => !headings.includes(heading));
|
|
21
|
+
const duplicateHeadings = IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS.filter(heading => headings.filter(candidate => candidate === heading).length > 1);
|
|
22
|
+
const unexpectedHeadings = headings.filter(heading => !IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS.includes(heading));
|
|
23
|
+
const emptyHeadings = IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS.filter(heading => headings.includes(heading) && !extractMarkdownSection(ticket.description, heading));
|
|
24
|
+
const hasCorrectOrder = contractHeadings.length === IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS.length
|
|
25
|
+
&& contractHeadings.every((heading, index) => heading === IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS[index]);
|
|
26
|
+
const shapeProblems = [
|
|
27
|
+
missingHeadings.length > 0 ? `missing: ${missingHeadings.join(', ')}` : null,
|
|
28
|
+
duplicateHeadings.length > 0 ? `duplicated: ${duplicateHeadings.join(', ')}` : null,
|
|
29
|
+
unexpectedHeadings.length > 0 ? `unexpected: ${unexpectedHeadings.join(', ')}` : null,
|
|
30
|
+
emptyHeadings.length > 0 ? `empty: ${emptyHeadings.join(', ')}` : null,
|
|
31
|
+
!hasCorrectOrder && missingHeadings.length === 0 ? 'required sections are out of order' : null,
|
|
32
|
+
].filter((problem) => Boolean(problem));
|
|
33
|
+
if (shapeProblems.length > 0) {
|
|
34
|
+
findings.push({
|
|
35
|
+
ordinal: 0,
|
|
36
|
+
severity: 'high',
|
|
37
|
+
title: `Ticket ${ticket.key} violates the description contract`,
|
|
38
|
+
what_text: shapeProblems.join('; '),
|
|
39
|
+
why_text: 'Build agents depend on the shared five-section contract for complete, consistently located implementation context.',
|
|
40
|
+
suggestion_text: `Rewrite the description with these sections exactly once and in order: ${IMPLEMENTATION_READY_DESCRIPTION_SECTION_HEADINGS.join(' -> ')}.`,
|
|
41
|
+
});
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const detailProblems = [];
|
|
45
|
+
const acceptanceCriteria = extractMarkdownSection(ticket.description, 'Acceptance Criteria');
|
|
46
|
+
const implementationApproach = extractMarkdownSection(ticket.description, 'Implementation Approach');
|
|
47
|
+
const constraints = extractMarkdownSection(ticket.description, 'Constraints and Things to Avoid');
|
|
48
|
+
if (countChecklistItems(acceptanceCriteria) < 3) {
|
|
49
|
+
detailProblems.push('fewer than 3 acceptance checklist items');
|
|
50
|
+
}
|
|
51
|
+
if (countImplementationSteps(implementationApproach) < 2) {
|
|
52
|
+
detailProblems.push('fewer than 2 implementation steps');
|
|
53
|
+
}
|
|
54
|
+
if (!hasConcreteFileReference(implementationApproach)) {
|
|
55
|
+
detailProblems.push('no concrete file or code reference in the implementation approach');
|
|
56
|
+
}
|
|
57
|
+
if (countConstraintBullets(constraints) < 2) {
|
|
58
|
+
detailProblems.push('fewer than 2 implementation constraints');
|
|
59
|
+
}
|
|
60
|
+
if (!hasTestingGuidance(ticket.description)) {
|
|
61
|
+
detailProblems.push('no concrete testing or verification guidance');
|
|
62
|
+
}
|
|
63
|
+
if (detailProblems.length > 0) {
|
|
64
|
+
findings.push({
|
|
65
|
+
ordinal: 0,
|
|
66
|
+
severity: 'medium',
|
|
67
|
+
title: `Ticket ${ticket.key} is not implementation-ready`,
|
|
68
|
+
what_text: detailProblems.join('; '),
|
|
69
|
+
why_text: 'The ticket leaves material implementation or verification decisions to the build agent.',
|
|
70
|
+
suggestion_text: 'Add concrete, repository-specific criteria, implementation steps, constraints, code references, and verification guidance.',
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return findings;
|
|
75
|
+
};
|
|
76
|
+
const validateDependencies = (snapshot) => {
|
|
77
|
+
const findings = [];
|
|
78
|
+
const keys = snapshot.tickets.map(ticket => ticket.key);
|
|
79
|
+
const uniqueKeys = new Set(keys);
|
|
80
|
+
const duplicateKeys = [...uniqueKeys].filter(key => keys.filter(candidate => candidate === key).length > 1);
|
|
81
|
+
if (duplicateKeys.length > 0) {
|
|
82
|
+
findings.push({
|
|
83
|
+
ordinal: 0,
|
|
84
|
+
severity: 'high',
|
|
85
|
+
title: 'Ticket keys are duplicated',
|
|
86
|
+
what_text: `Duplicate ticket keys: ${duplicateKeys.join(', ')}.`,
|
|
87
|
+
why_text: 'Dependency resolution and ticket materialization require each work item key to be unique.',
|
|
88
|
+
suggestion_text: 'Assign a unique stable key to every ticket and update dependency references.',
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
const invalidDependencies = snapshot.dependencies.filter(dependency => !uniqueKeys.has(dependency.blocker_key) || !uniqueKeys.has(dependency.dependent_key));
|
|
92
|
+
if (invalidDependencies.length > 0) {
|
|
93
|
+
findings.push({
|
|
94
|
+
ordinal: 0,
|
|
95
|
+
severity: 'high',
|
|
96
|
+
title: 'Dependencies reference unknown ticket keys',
|
|
97
|
+
what_text: invalidDependencies.map(dependency => `${dependency.blocker_key} -> ${dependency.dependent_key}`).join(', '),
|
|
98
|
+
why_text: 'Unknown dependency keys cannot be materialized into board relationships.',
|
|
99
|
+
suggestion_text: 'Correct the dependency keys or add the missing tickets.',
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
const selfDependencies = snapshot.dependencies.filter(dependency => dependency.blocker_key === dependency.dependent_key);
|
|
103
|
+
if (selfDependencies.length > 0) {
|
|
104
|
+
findings.push({
|
|
105
|
+
ordinal: 0,
|
|
106
|
+
severity: 'high',
|
|
107
|
+
title: 'Dependencies contain self-references',
|
|
108
|
+
what_text: `Self-dependent ticket keys: ${[...new Set(selfDependencies.map(dependency => dependency.blocker_key))].join(', ')}.`,
|
|
109
|
+
why_text: 'A ticket cannot be completed before itself.',
|
|
110
|
+
suggestion_text: 'Remove each self-dependency.',
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const adjacency = new Map([...uniqueKeys].map(key => [key, []]));
|
|
114
|
+
const indegree = new Map([...uniqueKeys].map(key => [key, 0]));
|
|
115
|
+
for (const dependency of snapshot.dependencies) {
|
|
116
|
+
if (dependency.blocker_key === dependency.dependent_key
|
|
117
|
+
|| !uniqueKeys.has(dependency.blocker_key)
|
|
118
|
+
|| !uniqueKeys.has(dependency.dependent_key)) {
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
adjacency.get(dependency.blocker_key)?.push(dependency.dependent_key);
|
|
122
|
+
indegree.set(dependency.dependent_key, (indegree.get(dependency.dependent_key) ?? 0) + 1);
|
|
123
|
+
}
|
|
124
|
+
const queue = [...indegree.entries()].filter(([, count]) => count === 0).map(([key]) => key);
|
|
125
|
+
let visitedCount = 0;
|
|
126
|
+
while (queue.length > 0) {
|
|
127
|
+
const key = queue.shift();
|
|
128
|
+
if (!key) {
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
visitedCount += 1;
|
|
132
|
+
for (const dependentKey of adjacency.get(key) ?? []) {
|
|
133
|
+
const nextIndegree = (indegree.get(dependentKey) ?? 0) - 1;
|
|
134
|
+
indegree.set(dependentKey, nextIndegree);
|
|
135
|
+
if (nextIndegree === 0) {
|
|
136
|
+
queue.push(dependentKey);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (visitedCount < uniqueKeys.size) {
|
|
141
|
+
const cyclicKeys = [...indegree.entries()].filter(([, count]) => count > 0).map(([key]) => key);
|
|
142
|
+
findings.push({
|
|
143
|
+
ordinal: 0,
|
|
144
|
+
severity: 'high',
|
|
145
|
+
title: 'Ticket dependencies contain a cycle',
|
|
146
|
+
what_text: `Tickets participating in or blocked by the cycle: ${cyclicKeys.join(', ')}.`,
|
|
147
|
+
why_text: 'Cyclic dependencies prevent the affected work from reaching a buildable state.',
|
|
148
|
+
suggestion_text: 'Remove or reverse dependency edges until the graph is acyclic.',
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
return findings;
|
|
152
|
+
};
|
|
153
|
+
const validateLikelyFiles = (snapshot, repoPath) => {
|
|
154
|
+
const repoRoot = resolve(repoPath);
|
|
155
|
+
const findings = [];
|
|
156
|
+
for (const file of snapshot.likely_files) {
|
|
157
|
+
const resolvedPath = resolve(repoRoot, file.path);
|
|
158
|
+
const relativePath = relative(repoRoot, resolvedPath);
|
|
159
|
+
if (isAbsolute(file.path) || relativePath === '..' || relativePath.startsWith(`..${sep}`) || isAbsolute(relativePath)) {
|
|
160
|
+
findings.push({
|
|
161
|
+
ordinal: 0,
|
|
162
|
+
severity: 'high',
|
|
163
|
+
title: `Likely file escapes the repository: ${file.path}`,
|
|
164
|
+
what_text: `The likely_files path "${file.path}" does not resolve inside the project repository.`,
|
|
165
|
+
why_text: 'The build agent cannot safely use an out-of-repository path as implementation context.',
|
|
166
|
+
suggestion_text: 'Replace it with a repository-relative path.',
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
else if (!file.is_new && !existsSync(resolvedPath)) {
|
|
170
|
+
findings.push({
|
|
171
|
+
ordinal: 0,
|
|
172
|
+
severity: 'high',
|
|
173
|
+
title: `Likely file does not exist: ${file.path}`,
|
|
174
|
+
what_text: `The named likely_files path "${file.path}" does not exist in the repository working tree.`,
|
|
175
|
+
why_text: 'The implementation approach depends on a path that cannot be inspected or modified as claimed.',
|
|
176
|
+
suggestion_text: 'Correct the path, or explicitly describe it as a new file to create instead of an existing implementation anchor.',
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
else if (file.is_new && existsSync(resolvedPath)) {
|
|
180
|
+
findings.push({
|
|
181
|
+
ordinal: 0,
|
|
182
|
+
severity: 'medium',
|
|
183
|
+
title: `File marked new already exists: ${file.path}`,
|
|
184
|
+
what_text: `The likely_files path "${file.path}" is marked as a new file but already exists in the repository working tree.`,
|
|
185
|
+
why_text: 'An incorrect creation marker can mislead the implementation agent about whether to extend or replace existing code.',
|
|
186
|
+
suggestion_text: 'Mark the path as an existing file to modify, or correct the path if a different file should be created.',
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return findings;
|
|
191
|
+
};
|
|
192
|
+
const validateVisualizationReferences = (snapshot) => {
|
|
193
|
+
const missingReferences = snapshot.tickets.flatMap(ticket => (ticket.relevant_visualizations ?? []).flatMap(visualization => {
|
|
194
|
+
const exists = visualization === 'visualization' ? Boolean(snapshot.mermaid) : Boolean(snapshot.mockup);
|
|
195
|
+
return exists ? [] : [`${ticket.key}: ${visualization}`];
|
|
196
|
+
}));
|
|
197
|
+
if (missingReferences.length === 0) {
|
|
198
|
+
return [];
|
|
199
|
+
}
|
|
200
|
+
return [{
|
|
201
|
+
ordinal: 0,
|
|
202
|
+
severity: 'medium',
|
|
203
|
+
title: 'Tickets reference missing visual artifacts',
|
|
204
|
+
what_text: `Missing visualization references: ${missingReferences.join(', ')}.`,
|
|
205
|
+
why_text: 'The referenced context will not be appended when the ticket is materialized.',
|
|
206
|
+
suggestion_text: 'Add the referenced visual artifact or remove the stale ticket visualization tag.',
|
|
207
|
+
}];
|
|
208
|
+
};
|
|
209
|
+
export const validateSpecSnapshotForReview = ({ snapshot, repoPath, }) => {
|
|
210
|
+
return [
|
|
211
|
+
...validateTicketDescriptions(snapshot),
|
|
212
|
+
...validateDependencies(snapshot),
|
|
213
|
+
...validateLikelyFiles(snapshot, repoPath),
|
|
214
|
+
...validateVisualizationReferences(snapshot),
|
|
215
|
+
].map((finding, index) => ({ ...finding, ordinal: index + 1 }));
|
|
216
|
+
};
|
|
217
|
+
//# sourceMappingURL=specReviewValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specReviewValidation.js","sourceRoot":"","sources":["../../../server/lib/specReviewValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ const updateSpecReviewRunStreamingStatement = db.prepare(`
|
|
|
24
24
|
const updateSpecReviewRunStatusStatement = db.prepare(`
|
|
25
25
|
UPDATE spec_review_runs
|
|
26
26
|
SET agent_status = ?, response_text = ?, streaming_response = NULL, completed_at = CURRENT_TIMESTAMP
|
|
27
|
-
WHERE id = ?
|
|
27
|
+
WHERE id = ? AND agent_status = 'running'
|
|
28
28
|
`);
|
|
29
29
|
const updateSpecReviewRunUsageStatement = db.prepare(`
|
|
30
30
|
UPDATE spec_review_runs
|
|
@@ -301,11 +301,39 @@ export const updateSpecReviewRunStreaming = (runId, streamingResponse) => {
|
|
|
301
301
|
updateSpecReviewRunStreamingStatement.run(streamingResponse, runId);
|
|
302
302
|
};
|
|
303
303
|
export const updateSpecReviewRunStatus = (runId, status, responseText) => {
|
|
304
|
-
updateSpecReviewRunStatusStatement.run(status, responseText, runId);
|
|
304
|
+
return updateSpecReviewRunStatusStatement.run(status, responseText, runId).changes === 1;
|
|
305
305
|
};
|
|
306
306
|
export const updateSpecReviewRunUsage = (runId, usage) => {
|
|
307
307
|
updateSpecReviewRunUsageStatement.run(usage.usage_snapshot_context_window, usage.usage_snapshot_max_output_tokens, usage.usage_snapshot_total_tokens, usage.usage_snapshot_input_tokens, usage.usage_snapshot_output_tokens, usage.usage_snapshot_cache_read_tokens, usage.usage_snapshot_reasoning_tokens, usage.usage_snapshot_cost, runId);
|
|
308
308
|
};
|
|
309
|
+
export const finalizeSpecReviewRun = ({ runId, status, responseText, usage, findings = [], }) => {
|
|
310
|
+
if (!updateSpecReviewRunStatus(runId, status, responseText)) {
|
|
311
|
+
return false;
|
|
312
|
+
}
|
|
313
|
+
updateSpecReviewRunUsage(runId, usage);
|
|
314
|
+
insertSpecReviewFindings(runId, findings);
|
|
315
|
+
return true;
|
|
316
|
+
};
|
|
317
|
+
export const reconcileInterruptedSpecReviewRuns = () => {
|
|
318
|
+
return db.prepare(`
|
|
319
|
+
UPDATE spec_review_runs
|
|
320
|
+
SET agent_status = 'error',
|
|
321
|
+
response_text = COALESCE(response_text, 'Interrupted by server restart'),
|
|
322
|
+
streaming_response = NULL,
|
|
323
|
+
completed_at = CURRENT_TIMESTAMP
|
|
324
|
+
WHERE agent_status = 'running'
|
|
325
|
+
AND NOT EXISTS (
|
|
326
|
+
SELECT 1
|
|
327
|
+
FROM execution_run_links result_link
|
|
328
|
+
JOIN execution_runs owner_run ON owner_run.id = result_link.execution_run_id
|
|
329
|
+
WHERE result_link.project_id = spec_review_runs.project_id
|
|
330
|
+
AND result_link.entity_type = 'spec_review_run'
|
|
331
|
+
AND result_link.entity_id = spec_review_runs.id
|
|
332
|
+
AND result_link.relationship = 'result'
|
|
333
|
+
AND owner_run.status IN ('queued', 'running', 'waiting')
|
|
334
|
+
)
|
|
335
|
+
`).run().changes;
|
|
336
|
+
};
|
|
309
337
|
export const getSpecReviewRun = (runId) => {
|
|
310
338
|
return serializeSpecReviewRun(getSpecReviewRunStatement.get(runId));
|
|
311
339
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specReviews.js","sourceRoot":"","sources":["../../../server/lib/specReviews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,MAAM,UAAU,CAAA;AA8BzB,MAAM,iCAAiC,GAAG,yEAAyE,CAAA;AACnH,MAAM,iCAAiC,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAU,CAAA;AAEpG,MAAM,4BAA4B,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;CAa/C,CAAC,CAAA;AAEF,MAAM,qCAAqC,GAAG,EAAE,CAAC,OAAO,CAAC;;;;CAIxD,CAAC,CAAA;AAEF,MAAM,kCAAkC,GAAG,EAAE,CAAC,OAAO,CAAC;;;;CAIrD,CAAC,CAAA;AAEF,MAAM,iCAAiC,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;CAWpD,CAAC,CAAA;AAEF,MAAM,gCAAgC,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;CAYnD,CAAC,CAAA;AAEF,MAAM,+BAA+B,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;CAKlD,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;CAS5C,CAAC,CAAA;AAEF,MAAM,0CAA0C,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;CAW7D,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,EAAE;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAE,EAAE;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACxE,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,KAAc,EAAsC,EAAE;IACxE,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,KAAgC,EAAE,EAAE;IACjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAA;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAA;QACX,CAAC;QAED,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;aAC7D,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAiC,EAAwB,EAAE;IAChG,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,CAAC,IAAgB;QAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;QAC5B,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC;QAC9C,YAAY,EAAE,GAAG,CAAC,YAAmC;QACrD,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,IAAI,IAAI;QAClD,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;QACxC,6BAA6B,EAAE,GAAG,CAAC,6BAA6B,IAAI,IAAI;QACxE,gCAAgC,EAAE,GAAG,CAAC,gCAAgC,IAAI,IAAI;QAC9E,2BAA2B,EAAE,GAAG,CAAC,2BAA2B,IAAI,IAAI;QACpE,2BAA2B,EAAE,GAAG,CAAC,2BAA2B,IAAI,IAAI;QACpE,4BAA4B,EAAE,GAAG,CAAC,4BAA4B,IAAI,IAAI;QACtE,gCAAgC,EAAE,GAAG,CAAC,gCAAgC,IAAI,IAAI;QAC9E,+BAA+B,EAAE,GAAG,CAAC,+BAA+B,IAAI,IAAI;QAC5E,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,IAAI,IAAI;QACpD,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;KACvC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,4BAA4B,GAAG,CAAC,MAAc,EAAE,EAAE;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAE,KAAa,EAAkC,EAAE;IAC/F,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAA;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;IAE/D,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA;IAErF,OAAO;QACL,OAAO;QACP,QAAQ;QACR,KAAK;QACL,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC;QAC9D,eAAe,EAAE,qBAAqB,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,CAAC;KACpF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,2BAA2B,GAAG,CAAC,KAAa,EAAoC,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAA2B,CAAA;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QAC5F,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,KAAK,EAAoC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;aACnE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,8BAA8B,GAAG,CAAC,UAAkB,EAAE,IAAY,EAAE,KAAa,EAAkC,EAAE;IACzH,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;IAC1C,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACzD,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,MAAM,iBAAiB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,iBAAiB;QACrC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACjD,CAAC,CAAC,IAAI,CAAA;IACR,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;IACnF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;IAEzE,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAA0C,CAAA;IACxG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,OAAO;QACP,QAAQ;QACR,KAAK;QACL,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtC,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,eAAe,EAAE,qBAAqB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;KAC7D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,+BAA+B,GAAG,CAAC,KAAa,EAAoC,EAAE;IAC1F,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACtD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACzD,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAA;IAE/D,IAAI,2CAA2C,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,cAAc,GAAa,EAAE,CAAA;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACjD,CAAC;YAED,cAAc,GAAG,CAAC,IAAI,CAAC,CAAA;YACvB,SAAQ;QACV,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7D,OAAO,8BAA8B,CAAC,UAAU,IAAI,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;IACtF,CAAC,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,OAAO,EAAsC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;SACzE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAA0B,EAAE;IAC9E,MAAM,eAAe,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAA;IAC5D,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAElE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;gBACL,eAAe;gBACf,QAAQ,EAAE,gBAAgB;gBAC1B,MAAM,EAAE,WAAW;aACpB,CAAA;QACH,CAAC;QAED,OAAO;YACL,eAAe;YACf,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,cAAc;SACvB,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACzE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,eAAe;YACf,QAAQ;YACR,MAAM,EAAE,WAAW;SACpB,CAAA;IACH,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO;YACL,eAAe;YACf,QAAQ,EAAE,gBAAgB;YAC1B,MAAM,EAAE,WAAW;SACpB,CAAA;IACH,CAAC;IAED,OAAO;QACL,eAAe;QACf,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,cAAc;KACvB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,aAAa,EACb,cAAc,EACd,SAAS,EACT,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,GASP,EAAU,EAAE;IACX,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;IACvB,4BAA4B,CAAC,GAAG,CAC9B,EAAE,EACF,aAAa,EACb,cAAc,EACd,SAAS,EACT,IAAI,EACJ,KAAK,EACL,OAAO,EACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EACtB,SAAS,CACV,CAAA;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,eAAuB,EAAE,QAAmC,EAAE,EAAE;IACvG,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,gCAAgC,CAAC,GAAG,CAClC,UAAU,EAAE,EACZ,eAAe,EACf,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,eAAe,CACxB,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAa,EAAE,iBAAgC,EAAE,EAAE;IAC9F,qCAAqC,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAa,EACb,MAA2B,EAC3B,YAA2B,EAC3B,EAAE;IACF,kCAAkC,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,KAAwB,EAAE,EAAE;IAClF,iCAAiC,CAAC,GAAG,CACnC,KAAK,CAAC,6BAA6B,EACnC,KAAK,CAAC,gCAAgC,EACtC,KAAK,CAAC,2BAA2B,EACjC,KAAK,CAAC,2BAA2B,EACjC,KAAK,CAAC,4BAA4B,EAClC,KAAK,CAAC,gCAAgC,EACtC,KAAK,CAAC,+BAA+B,EACrC,KAAK,CAAC,mBAAmB,EACzB,KAAK,CACN,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAwB,EAAE;IACtE,OAAO,sBAAsB,CAAC,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAiC,CAAC,CAAA;AACrG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,UAAkB,EAAwB,EAAE;IAC5F,OAAO,sBAAsB,CAAC,0CAA0C,CAAC,GAAG,CAAC,UAAU,CAAiC,CAAC,CAAA;AAC3H,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,eAAuB,EAAuB,EAAE;IACrF,OAAO,+BAA+B,CAAC,GAAG,CAAC,eAAe,CAAwB,CAAA;AACpF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,UAAkB,EAA8B,EAAE;IAChG,MAAM,SAAS,GAAG,iCAAiC,CAAC,UAAU,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtE,OAAO;QACL,GAAG,EAAE,SAAS;QACd,QAAQ;QACR,oBAAoB,EAAE,SAAS;YAC7B,CAAC,CAAC,iCAAiC,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAgE,CAAC;YACxH,CAAC,CAAC,KAAK;KACV,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"specReviews.js","sourceRoot":"","sources":["../../../server/lib/specReviews.ts"],"names":[],"mappings":"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"}
|
package/dist/server/lib/specs.js
CHANGED
|
@@ -319,7 +319,7 @@ export const getSpecSnapshot = (snapshotId) => {
|
|
|
319
319
|
summary: row.summary ?? '',
|
|
320
320
|
assumptions: parseSnapshotJsonArray(row.assumptions_json),
|
|
321
321
|
open_questions: parseSnapshotJsonArray(row.open_questions_json),
|
|
322
|
-
likely_files:
|
|
322
|
+
likely_files: parseSnapshotLikelyFiles(row.likely_files_json),
|
|
323
323
|
tickets: parseSnapshotJsonArray(row.tickets_json),
|
|
324
324
|
dependencies: parseSnapshotJsonArray(row.dependencies_json),
|
|
325
325
|
mermaid: row.mermaid,
|
|
@@ -362,4 +362,21 @@ const parseSnapshotJsonArray = (value) => {
|
|
|
362
362
|
return [];
|
|
363
363
|
}
|
|
364
364
|
};
|
|
365
|
+
const parseSnapshotLikelyFiles = (value) => {
|
|
366
|
+
return parseSnapshotJsonArray(value).flatMap(item => {
|
|
367
|
+
if (typeof item !== 'object' ||
|
|
368
|
+
item === null ||
|
|
369
|
+
typeof item.path !== 'string' ||
|
|
370
|
+
typeof item.reason !== 'string') {
|
|
371
|
+
return [];
|
|
372
|
+
}
|
|
373
|
+
return [{
|
|
374
|
+
path: item.path,
|
|
375
|
+
reason: item.reason,
|
|
376
|
+
is_new: typeof item.is_new === 'boolean'
|
|
377
|
+
? item.is_new
|
|
378
|
+
: false,
|
|
379
|
+
}];
|
|
380
|
+
});
|
|
381
|
+
};
|
|
365
382
|
//# sourceMappingURL=specs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../server/lib/specs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../server/lib/specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { cpSync, existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, readlinkSync, rmSync, symlinkSync, writeFileSync } from 'fs';
|
|
2
|
+
import { cp, lstat, mkdir, readlink, rm, symlink, writeFile } from 'fs/promises';
|
|
3
|
+
import { dirname, isAbsolute, join, parse, win32 } from 'path';
|
|
4
|
+
import { listGitSnapshotPaths } from './git.js';
|
|
5
|
+
const MANIFEST_NAME = '.archon-stage-manifest.json';
|
|
6
|
+
const isSafeRelativePath = (path) => {
|
|
7
|
+
if (!path || path.includes('\0') || isAbsolute(path) || win32.isAbsolute(path) || parse(path).root !== '') {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
return !path.split(/[\\/]/).some(segment => segment === '..');
|
|
11
|
+
};
|
|
12
|
+
const readManifest = (snapshotRoot) => {
|
|
13
|
+
const manifestPath = join(snapshotRoot, MANIFEST_NAME);
|
|
14
|
+
if (!existsSync(snapshotRoot) || !existsSync(manifestPath)) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const parsed = JSON.parse(readFileSync(manifestPath, 'utf8'));
|
|
19
|
+
if (!Array.isArray(parsed.files) || !parsed.files.every(path => typeof path === 'string' && isSafeRelativePath(path))) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
if (parsed.version !== undefined && parsed.version !== 2) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
version: parsed.version === 2 ? 2 : null,
|
|
27
|
+
files: [...new Set(parsed.files)],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const getExistingSnapshotEntry = (snapshotRoot, relativePath) => {
|
|
35
|
+
const path = join(snapshotRoot, relativePath);
|
|
36
|
+
try {
|
|
37
|
+
return { path, stat: lstatSync(path) };
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const validateManifestEntries = (snapshotRoot, manifest) => {
|
|
44
|
+
return manifest.files.every(relativePath => getExistingSnapshotEntry(snapshotRoot, relativePath) !== null);
|
|
45
|
+
};
|
|
46
|
+
export const isStageSnapshotValid = (snapshotRoot) => {
|
|
47
|
+
const manifest = readManifest(snapshotRoot);
|
|
48
|
+
return manifest !== null && validateManifestEntries(snapshotRoot, manifest);
|
|
49
|
+
};
|
|
50
|
+
export const isStageSnapshotAvailable = (snapshotRoot) => readManifest(snapshotRoot) !== null;
|
|
51
|
+
const clearDirectory = (path) => {
|
|
52
|
+
rmSync(path, { recursive: true, force: true });
|
|
53
|
+
mkdirSync(path, { recursive: true });
|
|
54
|
+
};
|
|
55
|
+
const clearDirectoryAsync = async (path) => {
|
|
56
|
+
await rm(path, { recursive: true, force: true });
|
|
57
|
+
await mkdir(path, { recursive: true });
|
|
58
|
+
};
|
|
59
|
+
const copySnapshotEntry = (sourcePath, targetPath) => {
|
|
60
|
+
const stat = lstatSync(sourcePath);
|
|
61
|
+
if (stat.isDirectory()) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
mkdirSync(dirname(targetPath), { recursive: true });
|
|
65
|
+
if (stat.isSymbolicLink()) {
|
|
66
|
+
symlinkSync(readlinkSync(sourcePath), targetPath);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
cpSync(sourcePath, targetPath, { force: true });
|
|
70
|
+
}
|
|
71
|
+
return true;
|
|
72
|
+
};
|
|
73
|
+
const copySnapshotEntryAsync = async (sourcePath, targetPath) => {
|
|
74
|
+
const stat = await lstat(sourcePath);
|
|
75
|
+
if (stat.isDirectory()) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
await mkdir(dirname(targetPath), { recursive: true });
|
|
79
|
+
if (stat.isSymbolicLink()) {
|
|
80
|
+
await symlink(await readlink(sourcePath), targetPath);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
await cp(sourcePath, targetPath, { force: true });
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
};
|
|
87
|
+
export const captureStageSnapshot = (sourceRoot, snapshotRoot) => {
|
|
88
|
+
clearDirectory(snapshotRoot);
|
|
89
|
+
const files = [];
|
|
90
|
+
for (const relativePath of listGitSnapshotPaths(sourceRoot)) {
|
|
91
|
+
if (!isSafeRelativePath(relativePath)) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
if (copySnapshotEntry(join(sourceRoot, relativePath), join(snapshotRoot, relativePath))) {
|
|
96
|
+
files.push(relativePath);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
const failure = error;
|
|
101
|
+
if (failure.code !== 'ENOENT') {
|
|
102
|
+
throw error;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
writeFileSync(join(snapshotRoot, MANIFEST_NAME), JSON.stringify({ version: 2, files }, null, 2), 'utf8');
|
|
107
|
+
};
|
|
108
|
+
export const captureStageSnapshotAsync = async (sourceRoot, snapshotRoot) => {
|
|
109
|
+
await clearDirectoryAsync(snapshotRoot);
|
|
110
|
+
const files = [];
|
|
111
|
+
for (const relativePath of listGitSnapshotPaths(sourceRoot)) {
|
|
112
|
+
if (!isSafeRelativePath(relativePath)) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
if (await copySnapshotEntryAsync(join(sourceRoot, relativePath), join(snapshotRoot, relativePath))) {
|
|
117
|
+
files.push(relativePath);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
const failure = error;
|
|
122
|
+
if (failure.code !== 'ENOENT') {
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
await writeFile(join(snapshotRoot, MANIFEST_NAME), JSON.stringify({ version: 2, files }, null, 2), 'utf8');
|
|
128
|
+
};
|
|
129
|
+
const removeGitRelevantFiles = (targetRoot) => {
|
|
130
|
+
const paths = listGitSnapshotPaths(targetRoot)
|
|
131
|
+
.filter(isSafeRelativePath)
|
|
132
|
+
.sort((left, right) => right.split(/[\\/]/).length - left.split(/[\\/]/).length);
|
|
133
|
+
for (const relativePath of paths) {
|
|
134
|
+
const targetPath = join(targetRoot, relativePath);
|
|
135
|
+
try {
|
|
136
|
+
const stat = lstatSync(targetPath);
|
|
137
|
+
if (!stat.isDirectory()) {
|
|
138
|
+
rmSync(targetPath, { force: true });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
const failure = error;
|
|
143
|
+
if (failure.code !== 'ENOENT') {
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
const restoreSparseSnapshot = (snapshotRoot, targetRoot, manifest) => {
|
|
150
|
+
removeGitRelevantFiles(targetRoot);
|
|
151
|
+
for (const relativePath of manifest.files) {
|
|
152
|
+
const sourcePath = join(snapshotRoot, relativePath);
|
|
153
|
+
const targetPath = join(targetRoot, relativePath);
|
|
154
|
+
rmSync(targetPath, { recursive: true, force: true });
|
|
155
|
+
copySnapshotEntry(sourcePath, targetPath);
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const clearLegacyTarget = (targetRoot) => {
|
|
159
|
+
mkdirSync(targetRoot, { recursive: true });
|
|
160
|
+
for (const entry of readdirSync(targetRoot, { withFileTypes: true })) {
|
|
161
|
+
if (entry.name !== '.git') {
|
|
162
|
+
rmSync(join(targetRoot, entry.name), { recursive: true, force: true });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
const restoreLegacySnapshot = (snapshotRoot, targetRoot, manifest) => {
|
|
167
|
+
clearLegacyTarget(targetRoot);
|
|
168
|
+
for (const relativePath of manifest.files) {
|
|
169
|
+
const sourcePath = join(snapshotRoot, relativePath);
|
|
170
|
+
const targetPath = join(targetRoot, relativePath);
|
|
171
|
+
const stat = lstatSync(sourcePath);
|
|
172
|
+
mkdirSync(dirname(targetPath), { recursive: true });
|
|
173
|
+
if (stat.isDirectory()) {
|
|
174
|
+
mkdirSync(targetPath, { recursive: true });
|
|
175
|
+
}
|
|
176
|
+
else if (stat.isSymbolicLink()) {
|
|
177
|
+
symlinkSync(readlinkSync(sourcePath), targetPath);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
cpSync(sourcePath, targetPath, { force: true });
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
export const restoreStageSnapshot = (snapshotRoot, targetRoot) => {
|
|
185
|
+
const manifest = readManifest(snapshotRoot);
|
|
186
|
+
if (!manifest || !validateManifestEntries(snapshotRoot, manifest)) {
|
|
187
|
+
throw new Error('Saved undo state is missing or invalid for this ticket');
|
|
188
|
+
}
|
|
189
|
+
mkdirSync(targetRoot, { recursive: true });
|
|
190
|
+
if (manifest.version === 2) {
|
|
191
|
+
restoreSparseSnapshot(snapshotRoot, targetRoot, manifest);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
restoreLegacySnapshot(snapshotRoot, targetRoot, manifest);
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
//# sourceMappingURL=stageSnapshots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stageSnapshots.js","sourceRoot":"","sources":["../../../server/lib/stageSnapshots.ts"],"names":[],"mappings":"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"}
|