@@ -12,6 +12,7 @@ import {
1212 type TraceApplicationFeatureRequest ,
1313 type TraceJavaScriptSemanticsRequest ,
1414} from "../contracts/applicationWorkflowInputContracts.js" ;
15+ import type { Evidence } from "../domain/evidence.js" ;
1516import { AnalysisInputError , type AnalysisError } from "../domain/errors.js" ;
1617import { projectInputIssues } from "../domain/inputIssueProjection.js" ;
1718import { compareApplicationVersionsInputSchema } from "../domain/javascriptApplicationVersionComparisonSchemas.js" ;
@@ -69,11 +70,7 @@ export const resolveTraceApplicationFeatureRequestValidated = (
6970 input : TraceApplicationFeatureRequest ,
7071 lookup ?: EvidenceLookup ,
7172) : Result < TraceInput , AnalysisError > => {
72- const application = graphEvidence (
73- input . application ,
74- input . application_evidence_id ,
75- lookup ,
76- ) ;
73+ const application = graphEvidence ( input , lookup ) ;
7774 if ( ! application . ok ) return application ;
7875 const native = resolveEvidenceReferences (
7976 lookup ,
@@ -109,11 +106,7 @@ export const resolveTraceJavaScriptSemanticsRequestValidated = (
109106 input : TraceJavaScriptSemanticsRequest ,
110107 lookup ?: EvidenceLookup ,
111108) : Result < SemanticTraceInput , AnalysisError > => {
112- const application = graphEvidence (
113- input . application ,
114- input . application_evidence_id ,
115- lookup ,
116- ) ;
109+ const application = graphEvidence ( input , lookup ) ;
117110 if ( ! application . ok ) return application ;
118111 const raw = { application : application . value , query : input . query } ;
119112 const parsed = traceJavaScriptSemanticsInputSchema . safeParse ( raw ) ;
@@ -138,9 +131,19 @@ export const resolveCompareApplicationVersionsRequestValidated = (
138131 input : CompareApplicationVersionsRequest ,
139132 lookup ?: EvidenceLookup ,
140133) : Result < ComparisonInput , AnalysisError > => {
141- const left = graphEvidence ( input . left , input . left_evidence_id , lookup ) ;
134+ const left = graphEvidence (
135+ "left" in input
136+ ? { application : input . left }
137+ : { application_evidence_id : input . left_evidence_id } ,
138+ lookup ,
139+ ) ;
142140 if ( ! left . ok ) return left ;
143- const right = graphEvidence ( input . right , input . right_evidence_id , lookup ) ;
141+ const right = graphEvidence (
142+ "right" in input
143+ ? { application : input . right }
144+ : { application_evidence_id : input . right_evidence_id } ,
145+ lookup ,
146+ ) ;
144147 if ( ! right . ok ) return right ;
145148 const leftNative = resolveEvidenceReferences (
146149 lookup ,
@@ -190,11 +193,7 @@ export const resolveCompareSourceToBundleRequestValidated = (
190193 input : CompareSourceToBundleRequest ,
191194 lookup ?: EvidenceLookup ,
192195) : Result < SourceToBundleInput , AnalysisError > => {
193- const application = graphEvidence (
194- input . application ,
195- input . application_evidence_id ,
196- lookup ,
197- ) ;
196+ const application = graphEvidence ( input , lookup ) ;
198197 if ( ! application . ok ) return application ;
199198 const raw = {
200199 reference : input . reference ,
@@ -226,9 +225,19 @@ export const resolveCompareJavaScriptExportShapesRequestValidated = (
226225 input : CompareJavaScriptExportShapesRequest ,
227226 lookup ?: EvidenceLookup ,
228227) : Result < ExportShapeComparisonInput , AnalysisError > => {
229- const left = graphEvidence ( input . left , input . left_evidence_id , lookup ) ;
228+ const left = graphEvidence (
229+ "left" in input
230+ ? { application : input . left }
231+ : { application_evidence_id : input . left_evidence_id } ,
232+ lookup ,
233+ ) ;
230234 if ( ! left . ok ) return left ;
231- const right = graphEvidence ( input . right , input . right_evidence_id , lookup ) ;
235+ const right = graphEvidence (
236+ "right" in input
237+ ? { application : input . right }
238+ : { application_evidence_id : input . right_evidence_id } ,
239+ lookup ,
240+ ) ;
232241 if ( ! right . ok ) return right ;
233242 const raw = {
234243 left : left . value ,
@@ -249,19 +258,15 @@ export const resolveCompareJavaScriptExportShapesRequestValidated = (
249258} ;
250259
251260const graphEvidence = (
252- evidence :
253- | TraceApplicationFeatureRequest [ "application" ]
254- | TraceJavaScriptSemanticsRequest [ "application" ]
255- | CompareApplicationVersionsRequest [ "left" ]
256- | CompareJavaScriptExportShapesRequest [ "left" ]
257- | CompareSourceToBundleRequest [ "application" ] ,
258- evidenceId : string | undefined ,
261+ source :
262+ | { readonly application : Evidence }
263+ | { readonly application_evidence_id : string } ,
259264 lookup : EvidenceLookup | undefined ,
260265) => {
261- if ( evidence !== undefined ) return ok ( evidence ) ;
266+ if ( "application" in source ) return ok ( source . application ) ;
262267 const resolved = resolveEvidenceReferences (
263268 lookup ,
264- evidenceId === undefined ? [ ] : [ evidenceId ] ,
269+ [ source . application_evidence_id ] ,
265270 APPLICATION_GRAPH_IDENTITIES ,
266271 ) ;
267272 return resolved . ok ? ok ( resolved . value [ 0 ] ) : resolved ;
0 commit comments