@shapeshift-labs/frontier-lang-compiler 0.2.100 → 0.2.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/declarations/bidirectional-target-change-evidence.d.ts +299 -0
  2. package/dist/declarations/bidirectional-target-change.d.ts +19 -120
  3. package/dist/declarations/import-adapter-core.d.ts +6 -0
  4. package/dist/declarations/native-project-admission.d.ts +43 -22
  5. package/dist/declarations/semantic-edit-replay-diagnostics.d.ts +24 -0
  6. package/dist/declarations/semantic-edit-script.d.ts +20 -15
  7. package/dist/declarations/semantic-lineage.d.ts +3 -21
  8. package/dist/declarations/semantic-merge-candidates.d.ts +39 -0
  9. package/dist/declarations/semantic-sidecar-admission.d.ts +14 -0
  10. package/dist/declarations/semantic-sidecar.d.ts +12 -14
  11. package/dist/internal/index-impl/bidirectionalTargetRoundtripEvidence.js +200 -0
  12. package/dist/internal/index-impl/createBidirectionalTargetChangeRecord.js +62 -17
  13. package/dist/internal/index-impl/createLightweightNativeImport.js +9 -1
  14. package/dist/internal/index-impl/createNativeSourcePreservation.js +16 -1
  15. package/dist/internal/index-impl/createProjectImportAdmissionRecord.js +151 -1
  16. package/dist/internal/index-impl/createSemanticImportSidecar.js +5 -0
  17. package/dist/internal/index-impl/createSemanticImportSidecarAdmission.js +29 -11
  18. package/dist/internal/index-impl/importNativeSource.js +14 -14
  19. package/dist/internal/index-impl/nativeChangeProjectionEndpoint.js +56 -16
  20. package/dist/internal/index-impl/nativeImportSemanticIndex.js +33 -0
  21. package/dist/internal/index-impl/projectImportAdmissionMergeScore.js +26 -74
  22. package/dist/internal/index-impl/projectImportAdmissionProjectionCoverage.js +74 -0
  23. package/dist/internal/index-impl/projectSemanticEditScriptToSource.js +39 -13
  24. package/dist/internal/index-impl/replaySemanticEditProjection.js +65 -23
  25. package/dist/internal/index-impl/semanticEditInsertionAnchors.js +8 -5
  26. package/dist/internal/index-impl/semanticEditReplayDiagnostics.js +167 -0
  27. package/dist/internal/index-impl/semanticEditSourceRanges.js +94 -15
  28. package/dist/internal/index-impl/semanticHistoryLineageResolution.js +21 -2
  29. package/dist/internal/index-impl/semanticLineageHashEvidence.js +97 -0
  30. package/dist/internal/index-impl/semanticLineageInferenceMatching.js +8 -0
  31. package/dist/internal/index-impl/semanticLineageResolutionRecords.js +18 -1
  32. package/dist/internal/index-impl/semanticMergeCandidateRecords.js +22 -2
  33. package/dist/internal/index-impl/semanticMergeCandidateScoreFacets.js +221 -0
  34. package/dist/internal/index-impl/semanticPatchBundleOverlaps.js +23 -1
  35. package/dist/internal/index-impl/sourcePreservationFromProjectionContext.js +9 -2
  36. package/dist/native-import-language-profiles.js +10 -2
  37. package/dist/native-region-scanner-js-helpers.js +8 -2
  38. package/dist/native-region-scanner-js-imports.js +7 -0
  39. package/dist/native-region-scanner-js.js +4 -4
  40. package/dist/native-region-scanner.js +2 -1
  41. package/dist/semantic-import-regions.js +18 -5
  42. package/dist/semantic-import-sidecar-admission-types.d.ts +14 -0
  43. package/dist/semantic-import-sidecar-entry.js +151 -7
  44. package/dist/semantic-import-sidecar-types.d.ts +18 -13
  45. package/dist/semantic-import-source-preservation-utils.js +55 -0
  46. package/dist/semantic-import-source-preservation.js +98 -3
  47. 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
- SourceMapMappingRecord,
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 { NativeSourceChangeRegion, NativeSourceChangeSet } from './native-diff.js';
8
+ import type { NativeSourceChangeSet } from './native-diff.js';
11
9
  import type { SemanticHistoryRecord } from './semantic-history.js';
12
- import type { SemanticLineageEvent, SemanticLineageResolution } from './semantic-lineage.js';
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 BidirectionalTargetChangeAnchorStatus = 'matched' | 'unmatched' | 'ambiguous' | 'deleted' | string;
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
  }
@@ -98,6 +98,10 @@ export interface ImportNativeSourceOptions {
98
98
  readonly targetPath?: string;
99
99
  readonly targetHash?: string;
100
100
  readonly semanticIndex?: SemanticIndexRecord;
101
+ readonly ownershipRegions?: readonly SemanticImportOwnershipRegion[];
102
+ readonly semanticOwnershipRegions?: readonly SemanticImportOwnershipRegion[];
103
+ readonly patchHints?: readonly SemanticImportPatchHint[];
104
+ readonly semanticPatchHints?: readonly SemanticImportPatchHint[];
101
105
  readonly sourceMapId?: string;
102
106
  readonly sourceMaps?: readonly SourceMapRecord[];
103
107
  readonly universalAstId?: string;
@@ -112,6 +116,8 @@ export interface ImportNativeSourceOptions {
112
116
  export type NativeSourceImportResult = Omit<LanguageImportResult, 'metadata'> & {
113
117
  readonly nativeSource: NativeSourceNode;
114
118
  readonly semanticIndex?: SemanticIndexRecord;
119
+ readonly ownershipRegions: readonly SemanticImportOwnershipRegion[];
120
+ readonly patchHints: readonly SemanticImportPatchHint[];
115
121
  readonly universalAst: FrontierUniversalAstEnvelope;
116
122
  readonly metadata?: Record<string, unknown> & {
117
123
  readonly sourcePreservationRecords?: readonly SourcePreservationRecord[];