@shapeshift-labs/frontier-lang-compiler 0.2.99 → 0.2.101
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/declarations/bidirectional-target-change-evidence.d.ts +299 -0
- package/dist/declarations/bidirectional-target-change.d.ts +19 -120
- package/dist/declarations/native-project-admission.d.ts +43 -22
- package/dist/declarations/semantic-edit-bundle.d.ts +13 -1
- package/dist/declarations/semantic-edit-replay-diagnostics.d.ts +24 -0
- package/dist/declarations/semantic-edit-script.d.ts +53 -51
- package/dist/declarations/semantic-lineage.d.ts +62 -51
- package/dist/declarations/semantic-merge-candidates.d.ts +39 -0
- package/dist/declarations/semantic-patch-bundle.d.ts +13 -0
- package/dist/declarations/semantic-sidecar-admission.d.ts +14 -0
- package/dist/declarations/semantic-sidecar.d.ts +12 -14
- package/dist/internal/index-impl/bidirectionalTargetRoundtripEvidence.js +200 -0
- package/dist/internal/index-impl/createBidirectionalTargetChangeRecord.js +62 -17
- package/dist/internal/index-impl/createNativeSourcePreservation.js +16 -1
- package/dist/internal/index-impl/createProjectImportAdmissionRecord.js +151 -1
- package/dist/internal/index-impl/createSemanticImportSidecar.js +5 -0
- package/dist/internal/index-impl/createSemanticImportSidecarAdmission.js +29 -11
- package/dist/internal/index-impl/declarationRecord.js +2 -2
- package/dist/internal/index-impl/inferSemanticLineageEvents.js +8 -0
- package/dist/internal/index-impl/nativeChangeProjectionEndpoint.js +56 -16
- package/dist/internal/index-impl/projectImportAdmissionMergeScore.js +26 -74
- package/dist/internal/index-impl/projectImportAdmissionProjectionCoverage.js +74 -0
- package/dist/internal/index-impl/projectSemanticEditScriptToSource.js +92 -74
- package/dist/internal/index-impl/replaySemanticEditProjection.js +114 -40
- package/dist/internal/index-impl/semanticEditBundleAdmission.js +95 -12
- package/dist/internal/index-impl/semanticEditBundleIndex.js +16 -10
- package/dist/internal/index-impl/semanticEditInsertionAnchors.js +8 -5
- package/dist/internal/index-impl/semanticEditReplayDiagnostics.js +167 -0
- package/dist/internal/index-impl/semanticEditSourceRanges.js +283 -0
- package/dist/internal/index-impl/semanticHistoryLineageResolution.js +56 -3
- package/dist/internal/index-impl/semanticIndexFromNativeDeclarations.js +2 -2
- package/dist/internal/index-impl/semanticLineageHashEvidence.js +97 -0
- package/dist/internal/index-impl/semanticLineageInferenceMatching.js +158 -13
- package/dist/internal/index-impl/semanticLineageResolutionRecords.js +46 -2
- package/dist/internal/index-impl/semanticMergeCandidateRecords.js +22 -2
- package/dist/internal/index-impl/semanticMergeCandidateScoreFacets.js +221 -0
- package/dist/internal/index-impl/semanticPatchBundleAdmission.js +122 -20
- package/dist/internal/index-impl/semanticPatchBundleLineageLinks.js +199 -0
- package/dist/internal/index-impl/semanticPatchBundleOverlaps.js +29 -3
- package/dist/internal/index-impl/semanticPatchBundleRecords.js +28 -104
- package/dist/internal/index-impl/semanticPatchBundleSourceRecords.js +127 -0
- package/dist/internal/index-impl/sourcePreservationFromProjectionContext.js +9 -2
- package/dist/internal/index-impl/sourceTextForSpan.js +4 -9
- package/dist/lightweight-dependency-relations.js +113 -7
- package/dist/native-import-language-profiles.js +10 -2
- package/dist/native-import-utils.js +15 -1
- package/dist/native-region-scanner-js-helpers.js +68 -18
- package/dist/native-region-scanner-js-imports.js +7 -0
- package/dist/native-region-scanner-js.js +16 -8
- package/dist/native-region-scanner.js +2 -1
- package/dist/semantic-import-regions.js +8 -6
- package/dist/semantic-import-sidecar-admission-types.d.ts +14 -0
- package/dist/semantic-import-sidecar-entry.js +151 -7
- package/dist/semantic-import-sidecar-types.d.ts +18 -13
- package/dist/semantic-import-source-preservation-utils.js +55 -0
- package/dist/semantic-import-source-preservation.js +98 -3
- package/package.json +1 -1
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
FrontierSourceLanguage,
|
|
3
|
+
SemanticMergeReadiness,
|
|
4
|
+
SourceMapMappingRecord,
|
|
5
|
+
SourceSpan
|
|
6
|
+
} from '@shapeshift-labs/frontier-lang-kernel';
|
|
7
|
+
import type { NativeSourceChangeRegion } from './native-diff.js';
|
|
8
|
+
import type { SemanticLineageResolution } from './semantic-lineage.js';
|
|
9
|
+
|
|
10
|
+
export type BidirectionalTargetChangeAnchorStatus = 'matched' | 'unmatched' | 'ambiguous' | 'deleted' | string;
|
|
11
|
+
export type BidirectionalTargetPortabilityStatus = 'portable' | 'needs-port' | 'stale' | 'conflict' | 'blocked' | 'evidence-only' | string;
|
|
12
|
+
export type BidirectionalTargetPortabilityAction =
|
|
13
|
+
| 'port-with-source-map-review'
|
|
14
|
+
| 'human-port'
|
|
15
|
+
| 'refresh-source-map'
|
|
16
|
+
| 'resolve-anchor-conflict'
|
|
17
|
+
| 'block'
|
|
18
|
+
| 'record-evidence'
|
|
19
|
+
| string;
|
|
20
|
+
|
|
21
|
+
export interface BidirectionalTargetChangeSourceAnchorMapping {
|
|
22
|
+
readonly targetAnchorKey?: string;
|
|
23
|
+
readonly targetRegionKey?: string;
|
|
24
|
+
readonly targetConflictKey?: string;
|
|
25
|
+
readonly targetKey?: string;
|
|
26
|
+
readonly targetSymbolName?: string;
|
|
27
|
+
readonly targetSymbolId?: string;
|
|
28
|
+
readonly sourceAnchorKey?: string;
|
|
29
|
+
readonly sourceRegionKey?: string;
|
|
30
|
+
readonly sourceConflictKey?: string;
|
|
31
|
+
readonly sourceKey?: string;
|
|
32
|
+
readonly sourceSymbolName?: string;
|
|
33
|
+
readonly sourceSymbolId?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface BidirectionalTargetChangeSourceMapLink {
|
|
37
|
+
readonly id: string;
|
|
38
|
+
readonly sourceMapId?: string;
|
|
39
|
+
readonly sourceMapMappingId?: string;
|
|
40
|
+
readonly sourcePath?: string;
|
|
41
|
+
readonly sourceHash?: string;
|
|
42
|
+
readonly targetPath?: string;
|
|
43
|
+
readonly targetHash?: string;
|
|
44
|
+
readonly semanticSymbolId?: string;
|
|
45
|
+
readonly semanticOccurrenceId?: string;
|
|
46
|
+
readonly semanticNodeId?: string;
|
|
47
|
+
readonly nativeSourceId?: string;
|
|
48
|
+
readonly nativeAstNodeId?: string;
|
|
49
|
+
readonly precision?: string;
|
|
50
|
+
readonly sourceSpan?: SourceSpan;
|
|
51
|
+
readonly generatedSpan?: SourceMapMappingRecord['generatedSpan'];
|
|
52
|
+
readonly regionKey?: string;
|
|
53
|
+
readonly regionKind?: string;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface BidirectionalTargetChangeAnchor {
|
|
57
|
+
readonly id?: string;
|
|
58
|
+
readonly key?: string;
|
|
59
|
+
readonly kind?: string;
|
|
60
|
+
readonly language?: FrontierSourceLanguage | string;
|
|
61
|
+
readonly sourcePath?: string;
|
|
62
|
+
readonly sourceHash?: string;
|
|
63
|
+
readonly symbolId?: string;
|
|
64
|
+
readonly symbolName?: string;
|
|
65
|
+
readonly sourceSpan?: SourceSpan;
|
|
66
|
+
readonly metadata?: Record<string, unknown>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface BidirectionalTargetMatchPortability {
|
|
70
|
+
readonly status: BidirectionalTargetPortabilityStatus;
|
|
71
|
+
readonly action: BidirectionalTargetPortabilityAction;
|
|
72
|
+
readonly readiness: SemanticMergeReadiness | string;
|
|
73
|
+
readonly confidence?: number;
|
|
74
|
+
readonly reviewRequired: true;
|
|
75
|
+
readonly autoMergeClaim: false;
|
|
76
|
+
readonly semanticEquivalenceClaim: false;
|
|
77
|
+
readonly reasonCodes: readonly string[];
|
|
78
|
+
readonly sourceMapLinkIds: readonly string[];
|
|
79
|
+
readonly sourceMapMappingIds: readonly string[];
|
|
80
|
+
readonly staleSourceMapLinkIds: readonly string[];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface BidirectionalTargetChangeSourceAnchorMatch {
|
|
84
|
+
readonly kind: 'frontier.lang.bidirectionalTargetChangeSourceAnchorMatch';
|
|
85
|
+
readonly version: 1;
|
|
86
|
+
readonly id: string;
|
|
87
|
+
readonly targetRegion: Partial<NativeSourceChangeRegion>;
|
|
88
|
+
readonly sourceAnchors: readonly BidirectionalTargetChangeAnchor[];
|
|
89
|
+
readonly lineageResolutions: readonly SemanticLineageResolution[];
|
|
90
|
+
readonly sourceMapLinks: readonly BidirectionalTargetChangeSourceMapLink[];
|
|
91
|
+
readonly portability?: BidirectionalTargetMatchPortability;
|
|
92
|
+
readonly status: BidirectionalTargetChangeAnchorStatus;
|
|
93
|
+
readonly confidence?: number;
|
|
94
|
+
readonly reasonCodes: readonly string[];
|
|
95
|
+
readonly reviewRequired: true;
|
|
96
|
+
readonly autoMergeClaim: false;
|
|
97
|
+
readonly semanticEquivalenceClaim: false;
|
|
98
|
+
readonly conflictKeys: readonly string[];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export interface BidirectionalTargetPortabilityRecord {
|
|
102
|
+
readonly kind: 'frontier.lang.bidirectionalTargetPortability';
|
|
103
|
+
readonly version: 1;
|
|
104
|
+
readonly id?: string;
|
|
105
|
+
readonly status: BidirectionalTargetPortabilityStatus;
|
|
106
|
+
readonly action: BidirectionalTargetPortabilityAction;
|
|
107
|
+
readonly readiness: SemanticMergeReadiness | string;
|
|
108
|
+
readonly confidence?: number;
|
|
109
|
+
readonly reviewRequired: true;
|
|
110
|
+
readonly autoMergeClaim: false;
|
|
111
|
+
readonly semanticEquivalenceClaim: false;
|
|
112
|
+
readonly reasonCodes: readonly string[];
|
|
113
|
+
readonly conflictKeys: readonly string[];
|
|
114
|
+
readonly sourceAnchorMatchIds: readonly string[];
|
|
115
|
+
readonly sourceMapLinkIds: readonly string[];
|
|
116
|
+
readonly sourceMapMappingIds: readonly string[];
|
|
117
|
+
readonly staleSourceMapLinkIds: readonly string[];
|
|
118
|
+
readonly targetChangedRegions: number;
|
|
119
|
+
readonly matchedTargetRegions: number;
|
|
120
|
+
readonly sourceMapBackedRegions: number;
|
|
121
|
+
readonly unmatchedTargetRegions: number;
|
|
122
|
+
readonly ambiguousTargetRegions: number;
|
|
123
|
+
readonly deletedSourceAnchors: number;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export interface BidirectionalTargetChangeEndpointIdentity {
|
|
127
|
+
readonly schema: 'frontier.lang.nativeChangeProjectionEndpointIdentity.v1';
|
|
128
|
+
readonly version: 1;
|
|
129
|
+
readonly side?: 'before' | 'after' | string;
|
|
130
|
+
readonly importId?: string;
|
|
131
|
+
readonly nativeSourceId?: string;
|
|
132
|
+
readonly nativeAstId?: string;
|
|
133
|
+
readonly semanticIndexId?: string;
|
|
134
|
+
readonly universalAstId?: string;
|
|
135
|
+
readonly sourcePath?: string;
|
|
136
|
+
readonly sourceHash?: string;
|
|
137
|
+
readonly sourcePreservationId?: string;
|
|
138
|
+
readonly exactSourceAvailable?: boolean;
|
|
139
|
+
readonly ownershipRegionId?: string;
|
|
140
|
+
readonly ownershipKey?: string;
|
|
141
|
+
readonly ownershipRegionKind?: string;
|
|
142
|
+
readonly sourceSpan?: SourceSpan;
|
|
143
|
+
readonly sourceMapIds?: readonly string[];
|
|
144
|
+
readonly sourceMapMappingIds?: readonly string[];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export interface BidirectionalTargetChangeSourceIdentity {
|
|
148
|
+
readonly importId?: string;
|
|
149
|
+
readonly language?: FrontierSourceLanguage | string;
|
|
150
|
+
readonly sourcePath?: string;
|
|
151
|
+
readonly sourceHash?: string;
|
|
152
|
+
readonly nativeSourceId?: string;
|
|
153
|
+
readonly nativeAstId?: string;
|
|
154
|
+
readonly semanticIndexId?: string;
|
|
155
|
+
readonly universalAstId?: string;
|
|
156
|
+
readonly sourceMapIds?: readonly string[];
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export interface BidirectionalTargetChangeTargetIdentity {
|
|
160
|
+
readonly changeSetId: string;
|
|
161
|
+
readonly language?: FrontierSourceLanguage | string;
|
|
162
|
+
readonly sourcePath?: string;
|
|
163
|
+
readonly beforeHash?: string;
|
|
164
|
+
readonly afterHash?: string;
|
|
165
|
+
readonly beforeImportId?: string;
|
|
166
|
+
readonly afterImportId?: string;
|
|
167
|
+
readonly beforeNativeSourceId?: string;
|
|
168
|
+
readonly afterNativeSourceId?: string;
|
|
169
|
+
readonly beforeNativeAstId?: string;
|
|
170
|
+
readonly afterNativeAstId?: string;
|
|
171
|
+
readonly beforeSemanticIndexId?: string;
|
|
172
|
+
readonly afterSemanticIndexId?: string;
|
|
173
|
+
readonly patchId?: string;
|
|
174
|
+
readonly mergeCandidateId?: string;
|
|
175
|
+
readonly sourceMapIds?: readonly string[];
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface BidirectionalTargetChangeTargetRegionEvidence {
|
|
179
|
+
readonly id?: string;
|
|
180
|
+
readonly key?: string;
|
|
181
|
+
readonly conflictKey?: string;
|
|
182
|
+
readonly changeKind?: string;
|
|
183
|
+
readonly regionKind?: string;
|
|
184
|
+
readonly language?: FrontierSourceLanguage | string;
|
|
185
|
+
readonly sourcePath?: string;
|
|
186
|
+
readonly sourceHash?: string;
|
|
187
|
+
readonly symbolId?: string;
|
|
188
|
+
readonly symbolName?: string;
|
|
189
|
+
readonly sourceSpan?: SourceSpan;
|
|
190
|
+
readonly changedRegionProjectionId?: string;
|
|
191
|
+
readonly beforeIdentity?: BidirectionalTargetChangeEndpointIdentity;
|
|
192
|
+
readonly afterIdentity?: BidirectionalTargetChangeEndpointIdentity;
|
|
193
|
+
readonly sourceMapLinkIds?: readonly string[];
|
|
194
|
+
readonly sourceMapIds?: readonly string[];
|
|
195
|
+
readonly sourceMapMappingIds?: readonly string[];
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export interface BidirectionalTargetChangeMatchEvidence {
|
|
199
|
+
readonly id?: string;
|
|
200
|
+
readonly status?: BidirectionalTargetChangeAnchorStatus;
|
|
201
|
+
readonly targetRegionKey?: string;
|
|
202
|
+
readonly targetRegionConflictKey?: string;
|
|
203
|
+
readonly sourceAnchorKeys?: readonly string[];
|
|
204
|
+
readonly sourceMapLinkIds?: readonly string[];
|
|
205
|
+
readonly sourceMapMappingIds?: readonly string[];
|
|
206
|
+
readonly lineageResolutionIds?: readonly string[];
|
|
207
|
+
readonly portabilityStatus?: BidirectionalTargetPortabilityStatus;
|
|
208
|
+
readonly portabilityAction?: BidirectionalTargetPortabilityAction;
|
|
209
|
+
readonly reasonCodes?: readonly string[];
|
|
210
|
+
readonly conflictKeys?: readonly string[];
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export interface BidirectionalTargetChangeSourceMapEvidence {
|
|
214
|
+
readonly sourceMapBackedMatches: number;
|
|
215
|
+
readonly sourceMapLinks: number;
|
|
216
|
+
readonly sourceMapIds: readonly string[];
|
|
217
|
+
readonly sourceMapMappingIds: readonly string[];
|
|
218
|
+
readonly sourceMapLinkIds: readonly string[];
|
|
219
|
+
readonly staleSourceMapLinkIds: readonly string[];
|
|
220
|
+
readonly targetProjectionSourceMapLinks: number;
|
|
221
|
+
readonly targetProjectionSourceMapLinkIds: readonly string[];
|
|
222
|
+
readonly targetProjectionSourceMapIds: readonly string[];
|
|
223
|
+
readonly targetProjectionSourceMapMappingIds: readonly string[];
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export interface BidirectionalTargetChangeLineageEvidence {
|
|
227
|
+
readonly lineageResolutionIds: readonly string[];
|
|
228
|
+
readonly lineageEventIds: readonly string[];
|
|
229
|
+
readonly lineageEvidenceIds: readonly string[];
|
|
230
|
+
readonly lineageProofIds: readonly string[];
|
|
231
|
+
readonly lineageReasonCodes: readonly string[];
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export interface BidirectionalTargetChangeSemanticMergeAdmissionEvidence {
|
|
235
|
+
readonly schema: 'frontier.lang.bidirectionalTargetChangeSemanticMergeAdmission.v1';
|
|
236
|
+
readonly version: 1;
|
|
237
|
+
readonly id: string;
|
|
238
|
+
readonly evidenceIds: readonly string[];
|
|
239
|
+
readonly sourcePatchBundleId: string;
|
|
240
|
+
readonly historyRecordId: string;
|
|
241
|
+
readonly targetChangeSetId: string;
|
|
242
|
+
readonly targetPatchId?: string;
|
|
243
|
+
readonly targetMergeCandidateId?: string;
|
|
244
|
+
readonly readiness: SemanticMergeReadiness | string;
|
|
245
|
+
readonly status: 'needs-review' | 'blocked' | string;
|
|
246
|
+
readonly action: BidirectionalTargetPortabilityAction;
|
|
247
|
+
readonly reasonCodes: readonly string[];
|
|
248
|
+
readonly conflictKeys: readonly string[];
|
|
249
|
+
readonly sourceAnchorMatchIds: readonly string[];
|
|
250
|
+
readonly sourceAnchorKeys: readonly string[];
|
|
251
|
+
readonly targetRegionKeys: readonly string[];
|
|
252
|
+
readonly sourceMapLinkIds: readonly string[];
|
|
253
|
+
readonly sourceMapIds: readonly string[];
|
|
254
|
+
readonly sourceMapMappingIds: readonly string[];
|
|
255
|
+
readonly staleSourceMapLinkIds: readonly string[];
|
|
256
|
+
readonly targetProjectionSourceMapLinkIds: readonly string[];
|
|
257
|
+
readonly targetProjectionSourceMapMappingIds: readonly string[];
|
|
258
|
+
readonly lineageResolutionIds: readonly string[];
|
|
259
|
+
readonly reviewRequired: true;
|
|
260
|
+
readonly autoMergeClaim: false;
|
|
261
|
+
readonly semanticEquivalenceClaim: false;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
export interface BidirectionalTargetChangeRoundtripEvidence {
|
|
265
|
+
readonly schema: 'frontier.lang.bidirectionalTargetChangeRoundtripEvidence.v1';
|
|
266
|
+
readonly version: 1;
|
|
267
|
+
readonly id: string;
|
|
268
|
+
readonly evidenceId: string;
|
|
269
|
+
readonly sourcePatchBundleId: string;
|
|
270
|
+
readonly historyRecordId: string;
|
|
271
|
+
readonly source: BidirectionalTargetChangeSourceIdentity;
|
|
272
|
+
readonly target: BidirectionalTargetChangeTargetIdentity;
|
|
273
|
+
readonly targetRegions: readonly BidirectionalTargetChangeTargetRegionEvidence[];
|
|
274
|
+
readonly sourceAnchorMatches: readonly BidirectionalTargetChangeMatchEvidence[];
|
|
275
|
+
readonly sourceAnchors: readonly BidirectionalTargetChangeAnchor[];
|
|
276
|
+
readonly sourceMapEvidence: BidirectionalTargetChangeSourceMapEvidence;
|
|
277
|
+
readonly lineageEvidence: BidirectionalTargetChangeLineageEvidence;
|
|
278
|
+
readonly targetPortability: {
|
|
279
|
+
readonly status: BidirectionalTargetPortabilityStatus;
|
|
280
|
+
readonly action: BidirectionalTargetPortabilityAction;
|
|
281
|
+
readonly readiness: SemanticMergeReadiness | string;
|
|
282
|
+
readonly reasonCodes: readonly string[];
|
|
283
|
+
readonly conflictKeys: readonly string[];
|
|
284
|
+
};
|
|
285
|
+
readonly admission: {
|
|
286
|
+
readonly status: 'needs-review' | 'blocked' | string;
|
|
287
|
+
readonly readiness: SemanticMergeReadiness | string;
|
|
288
|
+
readonly action: BidirectionalTargetPortabilityAction;
|
|
289
|
+
readonly reasonCodes: readonly string[];
|
|
290
|
+
readonly conflictKeys: readonly string[];
|
|
291
|
+
readonly evidenceIds: readonly string[];
|
|
292
|
+
readonly reviewRequired: true;
|
|
293
|
+
readonly autoMergeClaim: false;
|
|
294
|
+
readonly semanticEquivalenceClaim: false;
|
|
295
|
+
};
|
|
296
|
+
readonly reviewRequired: true;
|
|
297
|
+
readonly autoMergeClaim: false;
|
|
298
|
+
readonly semanticEquivalenceClaim: false;
|
|
299
|
+
}
|
|
@@ -2,131 +2,23 @@ import type {
|
|
|
2
2
|
EvidenceRecord,
|
|
3
3
|
FrontierSourceLanguage,
|
|
4
4
|
SemanticMergeReadiness,
|
|
5
|
-
|
|
6
|
-
SourceMapRecord,
|
|
7
|
-
SourceSpan
|
|
5
|
+
SourceMapRecord
|
|
8
6
|
} from '@shapeshift-labs/frontier-lang-kernel';
|
|
9
7
|
import type { ImportNativeSourceOptions, NativeSourceImportResult } from './import-adapter-core.js';
|
|
10
|
-
import type {
|
|
8
|
+
import type { NativeSourceChangeSet } from './native-diff.js';
|
|
11
9
|
import type { SemanticHistoryRecord } from './semantic-history.js';
|
|
12
|
-
import type { SemanticLineageEvent
|
|
10
|
+
import type { SemanticLineageEvent } from './semantic-lineage.js';
|
|
13
11
|
import type { SemanticPatchBundleRecord } from './semantic-patch-bundle.js';
|
|
12
|
+
import type {
|
|
13
|
+
BidirectionalTargetChangeRoundtripEvidence,
|
|
14
|
+
BidirectionalTargetChangeSemanticMergeAdmissionEvidence,
|
|
15
|
+
BidirectionalTargetChangeSourceAnchorMapping,
|
|
16
|
+
BidirectionalTargetChangeSourceAnchorMatch,
|
|
17
|
+
BidirectionalTargetPortabilityRecord,
|
|
18
|
+
BidirectionalTargetPortabilityStatus
|
|
19
|
+
} from './bidirectional-target-change-evidence.js';
|
|
14
20
|
|
|
15
|
-
export type
|
|
16
|
-
export type BidirectionalTargetPortabilityStatus = 'portable' | 'needs-port' | 'stale' | 'conflict' | 'blocked' | 'evidence-only' | string;
|
|
17
|
-
export type BidirectionalTargetPortabilityAction =
|
|
18
|
-
| 'port-with-source-map-review'
|
|
19
|
-
| 'human-port'
|
|
20
|
-
| 'refresh-source-map'
|
|
21
|
-
| 'resolve-anchor-conflict'
|
|
22
|
-
| 'block'
|
|
23
|
-
| 'record-evidence'
|
|
24
|
-
| string;
|
|
25
|
-
|
|
26
|
-
export interface BidirectionalTargetChangeSourceAnchorMapping {
|
|
27
|
-
readonly targetAnchorKey?: string;
|
|
28
|
-
readonly targetRegionKey?: string;
|
|
29
|
-
readonly targetConflictKey?: string;
|
|
30
|
-
readonly targetKey?: string;
|
|
31
|
-
readonly targetSymbolName?: string;
|
|
32
|
-
readonly targetSymbolId?: string;
|
|
33
|
-
readonly sourceAnchorKey?: string;
|
|
34
|
-
readonly sourceRegionKey?: string;
|
|
35
|
-
readonly sourceConflictKey?: string;
|
|
36
|
-
readonly sourceKey?: string;
|
|
37
|
-
readonly sourceSymbolName?: string;
|
|
38
|
-
readonly sourceSymbolId?: string;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface BidirectionalTargetChangeSourceMapLink {
|
|
42
|
-
readonly id: string;
|
|
43
|
-
readonly sourceMapId?: string;
|
|
44
|
-
readonly sourceMapMappingId?: string;
|
|
45
|
-
readonly sourcePath?: string;
|
|
46
|
-
readonly sourceHash?: string;
|
|
47
|
-
readonly targetPath?: string;
|
|
48
|
-
readonly targetHash?: string;
|
|
49
|
-
readonly semanticSymbolId?: string;
|
|
50
|
-
readonly semanticOccurrenceId?: string;
|
|
51
|
-
readonly semanticNodeId?: string;
|
|
52
|
-
readonly nativeSourceId?: string;
|
|
53
|
-
readonly nativeAstNodeId?: string;
|
|
54
|
-
readonly precision?: string;
|
|
55
|
-
readonly sourceSpan?: SourceSpan;
|
|
56
|
-
readonly generatedSpan?: SourceMapMappingRecord['generatedSpan'];
|
|
57
|
-
readonly regionKey?: string;
|
|
58
|
-
readonly regionKind?: string;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export interface BidirectionalTargetChangeAnchor {
|
|
62
|
-
readonly id?: string;
|
|
63
|
-
readonly key?: string;
|
|
64
|
-
readonly kind?: string;
|
|
65
|
-
readonly language?: FrontierSourceLanguage | string;
|
|
66
|
-
readonly sourcePath?: string;
|
|
67
|
-
readonly sourceHash?: string;
|
|
68
|
-
readonly symbolId?: string;
|
|
69
|
-
readonly symbolName?: string;
|
|
70
|
-
readonly sourceSpan?: SourceSpan;
|
|
71
|
-
readonly metadata?: Record<string, unknown>;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export interface BidirectionalTargetMatchPortability {
|
|
75
|
-
readonly status: BidirectionalTargetPortabilityStatus;
|
|
76
|
-
readonly action: BidirectionalTargetPortabilityAction;
|
|
77
|
-
readonly readiness: SemanticMergeReadiness | string;
|
|
78
|
-
readonly confidence?: number;
|
|
79
|
-
readonly reviewRequired: true;
|
|
80
|
-
readonly autoMergeClaim: false;
|
|
81
|
-
readonly semanticEquivalenceClaim: false;
|
|
82
|
-
readonly reasonCodes: readonly string[];
|
|
83
|
-
readonly sourceMapLinkIds: readonly string[];
|
|
84
|
-
readonly sourceMapMappingIds: readonly string[];
|
|
85
|
-
readonly staleSourceMapLinkIds: readonly string[];
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export interface BidirectionalTargetChangeSourceAnchorMatch {
|
|
89
|
-
readonly kind: 'frontier.lang.bidirectionalTargetChangeSourceAnchorMatch';
|
|
90
|
-
readonly version: 1;
|
|
91
|
-
readonly id: string;
|
|
92
|
-
readonly targetRegion: Partial<NativeSourceChangeRegion>;
|
|
93
|
-
readonly sourceAnchors: readonly BidirectionalTargetChangeAnchor[];
|
|
94
|
-
readonly lineageResolutions: readonly SemanticLineageResolution[];
|
|
95
|
-
readonly sourceMapLinks: readonly BidirectionalTargetChangeSourceMapLink[];
|
|
96
|
-
readonly portability?: BidirectionalTargetMatchPortability;
|
|
97
|
-
readonly status: BidirectionalTargetChangeAnchorStatus;
|
|
98
|
-
readonly confidence?: number;
|
|
99
|
-
readonly reasonCodes: readonly string[];
|
|
100
|
-
readonly reviewRequired: true;
|
|
101
|
-
readonly autoMergeClaim: false;
|
|
102
|
-
readonly semanticEquivalenceClaim: false;
|
|
103
|
-
readonly conflictKeys: readonly string[];
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export interface BidirectionalTargetPortabilityRecord {
|
|
107
|
-
readonly kind: 'frontier.lang.bidirectionalTargetPortability';
|
|
108
|
-
readonly version: 1;
|
|
109
|
-
readonly id?: string;
|
|
110
|
-
readonly status: BidirectionalTargetPortabilityStatus;
|
|
111
|
-
readonly action: BidirectionalTargetPortabilityAction;
|
|
112
|
-
readonly readiness: SemanticMergeReadiness | string;
|
|
113
|
-
readonly confidence?: number;
|
|
114
|
-
readonly reviewRequired: true;
|
|
115
|
-
readonly autoMergeClaim: false;
|
|
116
|
-
readonly semanticEquivalenceClaim: false;
|
|
117
|
-
readonly reasonCodes: readonly string[];
|
|
118
|
-
readonly conflictKeys: readonly string[];
|
|
119
|
-
readonly sourceAnchorMatchIds: readonly string[];
|
|
120
|
-
readonly sourceMapLinkIds: readonly string[];
|
|
121
|
-
readonly sourceMapMappingIds: readonly string[];
|
|
122
|
-
readonly staleSourceMapLinkIds: readonly string[];
|
|
123
|
-
readonly targetChangedRegions: number;
|
|
124
|
-
readonly matchedTargetRegions: number;
|
|
125
|
-
readonly sourceMapBackedRegions: number;
|
|
126
|
-
readonly unmatchedTargetRegions: number;
|
|
127
|
-
readonly ambiguousTargetRegions: number;
|
|
128
|
-
readonly deletedSourceAnchors: number;
|
|
129
|
-
}
|
|
21
|
+
export type * from './bidirectional-target-change-evidence.js';
|
|
130
22
|
|
|
131
23
|
export interface CreateBidirectionalTargetChangeRecordOptions {
|
|
132
24
|
readonly id?: string;
|
|
@@ -180,6 +72,7 @@ export interface BidirectionalTargetChangeRecord {
|
|
|
180
72
|
readonly targetChangeSet: NativeSourceChangeSet;
|
|
181
73
|
readonly sourceAnchorMatches: readonly BidirectionalTargetChangeSourceAnchorMatch[];
|
|
182
74
|
readonly targetPortability: BidirectionalTargetPortabilityRecord;
|
|
75
|
+
readonly roundtripEvidence: BidirectionalTargetChangeRoundtripEvidence;
|
|
183
76
|
readonly sourcePatchBundle: SemanticPatchBundleRecord;
|
|
184
77
|
readonly historyRecord: SemanticHistoryRecord;
|
|
185
78
|
readonly evidence: readonly EvidenceRecord[];
|
|
@@ -193,6 +86,9 @@ export interface BidirectionalTargetChangeRecord {
|
|
|
193
86
|
readonly deletedSourceAnchors: number;
|
|
194
87
|
readonly sourceChangedRegions: number;
|
|
195
88
|
readonly sourceMapBackedMatches: number;
|
|
89
|
+
readonly sourceMapLinks: number;
|
|
90
|
+
readonly sourceMapMappingIds: number;
|
|
91
|
+
readonly lineageResolutions: number;
|
|
196
92
|
readonly targetPortabilityStatus: BidirectionalTargetPortabilityStatus;
|
|
197
93
|
readonly portableTargetRegions: number;
|
|
198
94
|
readonly staleTargetRegions: number;
|
|
@@ -202,6 +98,9 @@ export interface BidirectionalTargetChangeRecord {
|
|
|
202
98
|
readonly autoMergeClaim: false;
|
|
203
99
|
readonly semanticEquivalenceClaim: false;
|
|
204
100
|
readonly reviewRequired: true;
|
|
101
|
+
readonly targetPortability?: BidirectionalTargetPortabilityRecord;
|
|
102
|
+
readonly roundtripEvidenceId?: string;
|
|
103
|
+
readonly semanticMergeAdmission?: BidirectionalTargetChangeSemanticMergeAdmissionEvidence;
|
|
205
104
|
readonly [key: string]: unknown;
|
|
206
105
|
};
|
|
207
106
|
}
|
|
@@ -3,12 +3,10 @@ import type { NativeImportLossSummary } from './native-import-losses.js';
|
|
|
3
3
|
import type { NativeImportResultContract } from './native-import-contracts.js';
|
|
4
4
|
import type { NativeProjectImportResult } from './native-project.js';
|
|
5
5
|
import type { SemanticMergeCandidateAdmissionRecord, SemanticMergeCandidateOverlapRecord, SemanticMergeCandidateProjectionRisk } from './semantic-merge-candidates.js';
|
|
6
|
-
|
|
7
6
|
export type NativeProjectImportAdmissionAction = 'admit' | 'prioritize' | 'reject';
|
|
8
7
|
export type NativeProjectImportAdmissionPriority = 'low' | 'normal' | 'high' | 'critical' | 'blocker';
|
|
9
8
|
export type NativeProjectImportAdmissionRisk = 'low' | 'medium' | 'high' | 'unknown';
|
|
10
9
|
export type NativeProjectSourcePreservationQuality = 'exact' | 'lossy' | 'missing' | 'stale' | 'empty';
|
|
11
|
-
|
|
12
10
|
export interface NativeProjectAdmissionParserEvidence {
|
|
13
11
|
readonly parser?: string;
|
|
14
12
|
readonly astFormat?: string;
|
|
@@ -24,7 +22,6 @@ export interface NativeProjectAdmissionParserEvidence {
|
|
|
24
22
|
readonly evidenceRecords: number;
|
|
25
23
|
readonly missing: boolean;
|
|
26
24
|
}
|
|
27
|
-
|
|
28
25
|
export interface NativeProjectAdmissionParserEvidenceSummary {
|
|
29
26
|
readonly parsers: readonly string[];
|
|
30
27
|
readonly byParser: Readonly<Record<string, number>>;
|
|
@@ -39,7 +36,6 @@ export interface NativeProjectAdmissionParserEvidenceSummary {
|
|
|
39
36
|
readonly missingParserSources: number;
|
|
40
37
|
readonly evidenceRecords: number;
|
|
41
38
|
}
|
|
42
|
-
|
|
43
39
|
export interface NativeProjectAdmissionSemanticMergeScoreSummary {
|
|
44
40
|
readonly sourceCount: number;
|
|
45
41
|
readonly min: number;
|
|
@@ -48,7 +44,6 @@ export interface NativeProjectAdmissionSemanticMergeScoreSummary {
|
|
|
48
44
|
readonly sortKey: number;
|
|
49
45
|
readonly lowestSourcePaths: readonly string[];
|
|
50
46
|
}
|
|
51
|
-
|
|
52
47
|
export interface NativeProjectAdmissionMissingEvidenceHint {
|
|
53
48
|
readonly evidenceKey?: string;
|
|
54
49
|
readonly task: string;
|
|
@@ -60,7 +55,6 @@ export interface NativeProjectAdmissionMissingEvidenceHint {
|
|
|
60
55
|
readonly lossClasses: readonly string[];
|
|
61
56
|
readonly readiness: SemanticMergeReadiness;
|
|
62
57
|
}
|
|
63
|
-
|
|
64
58
|
export interface NativeProjectAdmissionTaskHint {
|
|
65
59
|
readonly id?: string;
|
|
66
60
|
readonly task: string;
|
|
@@ -73,7 +67,6 @@ export interface NativeProjectAdmissionTaskHint {
|
|
|
73
67
|
readonly lossClasses: readonly string[];
|
|
74
68
|
readonly evidenceKeys: readonly string[];
|
|
75
69
|
}
|
|
76
|
-
|
|
77
70
|
export interface NativeProjectAdmissionSourceSummary {
|
|
78
71
|
readonly id?: string;
|
|
79
72
|
readonly language: FrontierSourceLanguage | string;
|
|
@@ -97,7 +90,6 @@ export interface NativeProjectAdmissionSourceSummary {
|
|
|
97
90
|
readonly nextMissingTask?: NativeProjectAdmissionTaskHint;
|
|
98
91
|
readonly nextMissingTasks: readonly NativeProjectAdmissionTaskHint[];
|
|
99
92
|
}
|
|
100
|
-
|
|
101
93
|
export interface NativeProjectAdmissionLanguageReadinessSummary {
|
|
102
94
|
readonly language: FrontierSourceLanguage | string;
|
|
103
95
|
readonly readiness: SemanticMergeReadiness;
|
|
@@ -109,7 +101,6 @@ export interface NativeProjectAdmissionLanguageReadinessSummary {
|
|
|
109
101
|
readonly topMissingEvidence: readonly NativeProjectAdmissionMissingEvidenceHint[];
|
|
110
102
|
readonly nextMissingTasks: readonly NativeProjectAdmissionTaskHint[];
|
|
111
103
|
}
|
|
112
|
-
|
|
113
104
|
export interface NativeProjectAdmissionLanguageSummary {
|
|
114
105
|
readonly language: FrontierSourceLanguage | string;
|
|
115
106
|
readonly sourceCount: number;
|
|
@@ -128,7 +119,6 @@ export interface NativeProjectAdmissionLanguageSummary {
|
|
|
128
119
|
readonly topMissingEvidence: readonly NativeProjectAdmissionMissingEvidenceHint[];
|
|
129
120
|
readonly nextMissingTasks: readonly NativeProjectAdmissionTaskHint[];
|
|
130
121
|
}
|
|
131
|
-
|
|
132
122
|
export interface NativeProjectAdmissionLanguages {
|
|
133
123
|
readonly total: number;
|
|
134
124
|
readonly byReadiness: Readonly<Record<string, number>>;
|
|
@@ -143,7 +133,6 @@ export interface NativeProjectAdmissionLanguages {
|
|
|
143
133
|
readonly readinessRows: readonly NativeProjectAdmissionLanguageReadinessSummary[];
|
|
144
134
|
readonly rows: readonly NativeProjectAdmissionLanguageSummary[];
|
|
145
135
|
}
|
|
146
|
-
|
|
147
136
|
export interface NativeProjectAdmissionSemanticEvidence {
|
|
148
137
|
readonly empty: boolean;
|
|
149
138
|
readonly emptySourceCount: number;
|
|
@@ -154,7 +143,42 @@ export interface NativeProjectAdmissionSemanticEvidence {
|
|
|
154
143
|
readonly facts: number;
|
|
155
144
|
readonly evidenceRecords: number;
|
|
156
145
|
}
|
|
157
|
-
|
|
146
|
+
export type NativeProjectAdmissionSourceStalenessReason =
|
|
147
|
+
| 'source-hash-mismatch'
|
|
148
|
+
| 'content-hash-mismatch'
|
|
149
|
+
| 'source-preservation-hash-mismatch'
|
|
150
|
+
| 'source-hash-unverified'
|
|
151
|
+
| 'base-hash-mismatch'
|
|
152
|
+
| 'dirty-workspace';
|
|
153
|
+
export interface NativeProjectAdmissionSourceStalenessRecord {
|
|
154
|
+
readonly sourcePath?: string;
|
|
155
|
+
readonly sourceHash?: string;
|
|
156
|
+
readonly declaredSourceHash?: string;
|
|
157
|
+
readonly contentHash?: string;
|
|
158
|
+
readonly declaredContentHash?: string;
|
|
159
|
+
readonly baseHash?: string;
|
|
160
|
+
readonly expectedBaseHash?: string;
|
|
161
|
+
readonly currentBaseHash?: string;
|
|
162
|
+
readonly staleByContentHash: boolean;
|
|
163
|
+
readonly staleByBaseHash: boolean;
|
|
164
|
+
readonly dirtyWorkspace: boolean;
|
|
165
|
+
readonly unverifiedSourceHash: boolean;
|
|
166
|
+
readonly reasonCodes: readonly NativeProjectAdmissionSourceStalenessReason[];
|
|
167
|
+
}
|
|
168
|
+
export interface NativeProjectAdmissionSourceStaleness {
|
|
169
|
+
readonly total: number;
|
|
170
|
+
readonly stale: number;
|
|
171
|
+
readonly contentHashStale: number;
|
|
172
|
+
readonly baseHashStale: number;
|
|
173
|
+
readonly dirtyWorkspace: number;
|
|
174
|
+
readonly unverified: number;
|
|
175
|
+
readonly staleSourcePaths: readonly string[];
|
|
176
|
+
readonly contentHashStaleSourcePaths: readonly string[];
|
|
177
|
+
readonly baseHashStaleSourcePaths: readonly string[];
|
|
178
|
+
readonly dirtyWorkspaceSourcePaths: readonly string[];
|
|
179
|
+
readonly unverifiedSourcePaths: readonly string[];
|
|
180
|
+
readonly records: readonly NativeProjectAdmissionSourceStalenessRecord[];
|
|
181
|
+
}
|
|
158
182
|
export interface NativeProjectAdmissionSourcePreservation {
|
|
159
183
|
readonly quality: NativeProjectSourcePreservationQuality;
|
|
160
184
|
readonly total: number;
|
|
@@ -168,11 +192,16 @@ export interface NativeProjectAdmissionSourcePreservation {
|
|
|
168
192
|
readonly stale: number;
|
|
169
193
|
readonly missing: number;
|
|
170
194
|
readonly lossy: number;
|
|
195
|
+
readonly contentHashStale: number;
|
|
196
|
+
readonly baseHashStale: number;
|
|
197
|
+
readonly dirtyWorkspace: number;
|
|
171
198
|
readonly staleSourcePaths: readonly string[];
|
|
199
|
+
readonly contentHashStaleSourcePaths: readonly string[];
|
|
200
|
+
readonly baseHashStaleSourcePaths: readonly string[];
|
|
201
|
+
readonly dirtyWorkspaceSourcePaths: readonly string[];
|
|
172
202
|
readonly lossySourcePaths: readonly string[];
|
|
173
203
|
readonly byQuality: Readonly<Record<string, number>>;
|
|
174
204
|
}
|
|
175
|
-
|
|
176
205
|
export interface NativeProjectAdmissionOwnership {
|
|
177
206
|
readonly total: number;
|
|
178
207
|
readonly changed: number;
|
|
@@ -187,7 +216,6 @@ export interface NativeProjectAdmissionOwnership {
|
|
|
187
216
|
readonly byPrecision: Readonly<Record<string, number>>;
|
|
188
217
|
readonly byLanguage: Readonly<Record<string, number>>;
|
|
189
218
|
}
|
|
190
|
-
|
|
191
219
|
export interface NativeProjectAdmissionMergeCandidates {
|
|
192
220
|
readonly total: number;
|
|
193
221
|
readonly readiness: SemanticMergeReadiness;
|
|
@@ -217,7 +245,6 @@ export interface NativeProjectAdmissionMergeCandidates {
|
|
|
217
245
|
readonly projectionRisk?: SemanticMergeCandidateProjectionRisk;
|
|
218
246
|
readonly patchRisk?: NativeProjectImportAdmissionRisk;
|
|
219
247
|
}
|
|
220
|
-
|
|
221
248
|
export type NativeProjectAdmissionScoreComponentKey =
|
|
222
249
|
| 'semanticEvidence'
|
|
223
250
|
| 'sourcePreservation'
|
|
@@ -225,9 +252,7 @@ export type NativeProjectAdmissionScoreComponentKey =
|
|
|
225
252
|
| 'ownershipChange'
|
|
226
253
|
| 'proofReadiness'
|
|
227
254
|
| 'targetProjectionCoverage';
|
|
228
|
-
|
|
229
255
|
export type NativeProjectAdmissionScoreComponentStatus = 'strong' | 'partial' | 'weak' | 'blocked';
|
|
230
|
-
|
|
231
256
|
export interface NativeProjectAdmissionScoreComponent {
|
|
232
257
|
readonly key: NativeProjectAdmissionScoreComponentKey;
|
|
233
258
|
readonly score: number;
|
|
@@ -237,7 +262,6 @@ export interface NativeProjectAdmissionScoreComponent {
|
|
|
237
262
|
readonly reasons: readonly string[];
|
|
238
263
|
readonly signals: Record<string, unknown>;
|
|
239
264
|
}
|
|
240
|
-
|
|
241
265
|
export interface NativeProjectAdmissionMergeScoreComponents {
|
|
242
266
|
readonly semanticEvidence: NativeProjectAdmissionScoreComponent;
|
|
243
267
|
readonly sourcePreservation: NativeProjectAdmissionScoreComponent;
|
|
@@ -246,7 +270,6 @@ export interface NativeProjectAdmissionMergeScoreComponents {
|
|
|
246
270
|
readonly proofReadiness: NativeProjectAdmissionScoreComponent;
|
|
247
271
|
readonly targetProjectionCoverage: NativeProjectAdmissionScoreComponent;
|
|
248
272
|
}
|
|
249
|
-
|
|
250
273
|
export interface NativeProjectAdmissionMergeScore {
|
|
251
274
|
readonly schema: 'frontier.lang.semanticMergeScore.v1';
|
|
252
275
|
readonly version: 1;
|
|
@@ -261,7 +284,6 @@ export interface NativeProjectAdmissionMergeScore {
|
|
|
261
284
|
readonly components: NativeProjectAdmissionMergeScoreComponents;
|
|
262
285
|
readonly penalties: readonly string[];
|
|
263
286
|
}
|
|
264
|
-
|
|
265
287
|
export interface NativeProjectImportAdmission {
|
|
266
288
|
readonly kind: 'frontier.lang.projectImportAdmission';
|
|
267
289
|
readonly version: 1;
|
|
@@ -274,6 +296,7 @@ export interface NativeProjectImportAdmission {
|
|
|
274
296
|
readonly sourceCount: number;
|
|
275
297
|
readonly languages: NativeProjectAdmissionLanguages;
|
|
276
298
|
readonly semanticEvidence: NativeProjectAdmissionSemanticEvidence;
|
|
299
|
+
readonly sourceStaleness: NativeProjectAdmissionSourceStaleness;
|
|
277
300
|
readonly sourcePreservation: NativeProjectAdmissionSourcePreservation;
|
|
278
301
|
readonly ownership: NativeProjectAdmissionOwnership;
|
|
279
302
|
readonly mergeCandidates: NativeProjectAdmissionMergeCandidates;
|
|
@@ -281,12 +304,10 @@ export interface NativeProjectImportAdmission {
|
|
|
281
304
|
readonly reasons: readonly string[];
|
|
282
305
|
readonly metadata: Record<string, unknown>;
|
|
283
306
|
}
|
|
284
|
-
|
|
285
307
|
export interface CreateProjectImportAdmissionRecordOptions {
|
|
286
308
|
readonly importResultContract?: NativeImportResultContract;
|
|
287
309
|
readonly lossSummary?: NativeImportLossSummary;
|
|
288
310
|
}
|
|
289
|
-
|
|
290
311
|
export declare function createProjectImportAdmissionRecord(
|
|
291
312
|
projectResult: NativeProjectImportResult,
|
|
292
313
|
options?: CreateProjectImportAdmissionRecordOptions
|