@shapeshift-labs/frontier-lang-compiler 0.2.100 → 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-replay-diagnostics.d.ts +24 -0
- package/dist/declarations/semantic-edit-script.d.ts +20 -15
- package/dist/declarations/semantic-lineage.d.ts +3 -21
- package/dist/declarations/semantic-merge-candidates.d.ts +39 -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/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 +39 -13
- package/dist/internal/index-impl/replaySemanticEditProjection.js +65 -23
- 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 +94 -15
- package/dist/internal/index-impl/semanticHistoryLineageResolution.js +21 -2
- package/dist/internal/index-impl/semanticLineageHashEvidence.js +97 -0
- package/dist/internal/index-impl/semanticLineageInferenceMatching.js +8 -0
- package/dist/internal/index-impl/semanticLineageResolutionRecords.js +18 -1
- package/dist/internal/index-impl/semanticMergeCandidateRecords.js +22 -2
- package/dist/internal/index-impl/semanticMergeCandidateScoreFacets.js +221 -0
- package/dist/internal/index-impl/semanticPatchBundleOverlaps.js +23 -1
- package/dist/internal/index-impl/sourcePreservationFromProjectionContext.js +9 -2
- package/dist/native-import-language-profiles.js +10 -2
- package/dist/native-region-scanner-js-helpers.js +8 -2
- package/dist/native-region-scanner-js-imports.js +7 -0
- package/dist/native-region-scanner-js.js +4 -4
- package/dist/native-region-scanner.js +2 -1
- package/dist/semantic-import-regions.js +6 -4
- 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,24 @@
|
|
|
1
|
+
import type { SemanticEditReplayStatus } from './semantic-edit-script.js';
|
|
2
|
+
|
|
3
|
+
export type SemanticEditReplayDiagnosticCategory = 'stale-anchor' | 'overlap' | 'missing-source' | 'projection-mismatch' | 'matched-source' | 'reanchored' | 'replay' | string;
|
|
4
|
+
export type SemanticEditReplayDiagnosticSeverity = 'info' | 'warning' | 'error' | string;
|
|
5
|
+
export type SemanticEditReplayDiagnosticScope = 'replay' | 'edit' | string;
|
|
6
|
+
|
|
7
|
+
export interface SemanticEditReplayDiagnostic {
|
|
8
|
+
readonly code: string;
|
|
9
|
+
readonly category: SemanticEditReplayDiagnosticCategory;
|
|
10
|
+
readonly severity: SemanticEditReplayDiagnosticSeverity;
|
|
11
|
+
readonly scope: SemanticEditReplayDiagnosticScope;
|
|
12
|
+
readonly status?: SemanticEditReplayStatus | string;
|
|
13
|
+
readonly operationId?: string;
|
|
14
|
+
readonly sourcePath?: string;
|
|
15
|
+
readonly symbolName?: string;
|
|
16
|
+
readonly symbolKind?: string;
|
|
17
|
+
readonly editKind?: 'replace' | 'insert' | 'delete' | string;
|
|
18
|
+
readonly start?: number;
|
|
19
|
+
readonly end?: number;
|
|
20
|
+
readonly expectedHash?: string;
|
|
21
|
+
readonly actualHash?: string;
|
|
22
|
+
readonly replacementHash?: string;
|
|
23
|
+
readonly overlapOperationIds?: readonly string[];
|
|
24
|
+
}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import type { EvidenceRecord, FrontierSourceLanguage, SemanticMergeReadiness, SourceSpan } from '@shapeshift-labs/frontier-lang-kernel';
|
|
2
2
|
import type { ImportNativeSourceOptions, NativeSourceImportResult } from './import-adapter-core.js';
|
|
3
|
-
|
|
3
|
+
import type { SemanticEditReplayDiagnostic } from './semantic-edit-replay-diagnostics.js';
|
|
4
|
+
export type * from './semantic-edit-replay-diagnostics.js';
|
|
4
5
|
export type SemanticEditScriptOperationStatus = 'candidate' | 'portable' | 'already-applied' | 'covered' | 'needs-port' | 'conflict' | 'stale' | 'blocked';
|
|
5
6
|
export type SemanticEditScriptAdmissionStatus = 'auto-merge-candidate' | 'needs-port' | 'conflict' | 'stale' | 'blocked' | 'evidence-only';
|
|
6
|
-
|
|
7
|
+
export interface SemanticEditInsertionAnchorCandidate {
|
|
8
|
+
readonly mode?: 'before' | 'after' | 'file-start' | 'file-end' | string;
|
|
9
|
+
readonly anchorKey?: string;
|
|
10
|
+
readonly anchorSymbolId?: string;
|
|
11
|
+
readonly anchorSymbolName?: string;
|
|
12
|
+
readonly anchorSymbolKind?: string;
|
|
13
|
+
readonly baseSpan?: SourceSpan;
|
|
14
|
+
readonly workerAnchorSpan?: SourceSpan;
|
|
15
|
+
readonly headSpan?: SourceSpan;
|
|
16
|
+
readonly sourcePath?: string;
|
|
17
|
+
readonly reasonCodes?: readonly string[];
|
|
18
|
+
}
|
|
7
19
|
export interface SemanticEditScriptOperation {
|
|
8
20
|
readonly id: string;
|
|
9
21
|
readonly kind: string;
|
|
@@ -19,6 +31,7 @@ export interface SemanticEditScriptOperation {
|
|
|
19
31
|
readonly mode?: 'before' | 'after' | 'file-start' | 'file-end' | string;
|
|
20
32
|
readonly anchorKey?: string; readonly anchorSymbolId?: string; readonly anchorSymbolName?: string; readonly anchorSymbolKind?: string;
|
|
21
33
|
readonly baseSpan?: SourceSpan; readonly workerAnchorSpan?: SourceSpan; readonly headSpan?: SourceSpan; readonly sourcePath?: string;
|
|
34
|
+
readonly anchorCandidates?: readonly SemanticEditInsertionAnchorCandidate[];
|
|
22
35
|
readonly insertedSymbolId?: string; readonly insertedSymbolName?: string; readonly insertedSymbolKind?: string;
|
|
23
36
|
readonly insertedSourceSpan?: SourceSpan; readonly insertedSourcePath?: string;
|
|
24
37
|
readonly reasonCodes?: readonly string[];
|
|
@@ -52,7 +65,6 @@ export interface SemanticEditScriptOperation {
|
|
|
52
65
|
readonly evidenceIds?: readonly string[];
|
|
53
66
|
readonly metadata?: Record<string, unknown>;
|
|
54
67
|
}
|
|
55
|
-
|
|
56
68
|
export interface SemanticEditScriptSummary {
|
|
57
69
|
readonly operations: number;
|
|
58
70
|
readonly byStatus: Readonly<Record<string, number>>;
|
|
@@ -71,7 +83,6 @@ export interface SemanticEditScriptSummary {
|
|
|
71
83
|
readonly sourceIdentityHashes?: readonly string[];
|
|
72
84
|
readonly operationContentHashes?: readonly string[];
|
|
73
85
|
}
|
|
74
|
-
|
|
75
86
|
export interface SemanticEditScriptAdmission {
|
|
76
87
|
readonly status: SemanticEditScriptAdmissionStatus;
|
|
77
88
|
readonly action: 'run-gates-and-apply' | 'reanchor-or-human-port' | 'record-evidence' | 'block' | string;
|
|
@@ -83,7 +94,6 @@ export interface SemanticEditScriptAdmission {
|
|
|
83
94
|
readonly conflictKeys: readonly string[];
|
|
84
95
|
readonly evidenceIds: readonly string[];
|
|
85
96
|
}
|
|
86
|
-
|
|
87
97
|
export interface SemanticEditScript {
|
|
88
98
|
readonly kind: 'frontier.lang.semanticEditScript';
|
|
89
99
|
readonly version: 1;
|
|
@@ -105,7 +115,6 @@ export interface SemanticEditScript {
|
|
|
105
115
|
readonly evidence: readonly EvidenceRecord[];
|
|
106
116
|
readonly metadata?: Record<string, unknown>;
|
|
107
117
|
}
|
|
108
|
-
|
|
109
118
|
export interface SemanticEditProjectionEdit {
|
|
110
119
|
readonly operationId?: string;
|
|
111
120
|
readonly status: 'applied' | 'already-applied';
|
|
@@ -143,9 +152,9 @@ export interface SemanticEditProjectionEdit {
|
|
|
143
152
|
readonly insertionAnchorKey?: string;
|
|
144
153
|
readonly insertionAnchorSymbolName?: string;
|
|
145
154
|
readonly insertionAnchorSymbolKind?: string;
|
|
155
|
+
readonly insertionAnchorCandidates?: readonly SemanticEditInsertionAnchorCandidate[];
|
|
146
156
|
readonly replacementText?: string;
|
|
147
157
|
}
|
|
148
|
-
|
|
149
158
|
export interface SemanticEditProjection {
|
|
150
159
|
readonly kind: 'frontier.lang.semanticEditProjection';
|
|
151
160
|
readonly version: 1;
|
|
@@ -171,9 +180,7 @@ export interface SemanticEditProjection {
|
|
|
171
180
|
};
|
|
172
181
|
readonly metadata?: Record<string, unknown>;
|
|
173
182
|
}
|
|
174
|
-
|
|
175
183
|
export type SemanticEditReplayStatus = 'accepted-clean' | 'already-applied' | 'conflict' | 'stale' | 'blocked' | 'needs-port' | 'evidence-only';
|
|
176
|
-
|
|
177
184
|
export interface SemanticEditReplayEdit {
|
|
178
185
|
readonly operationId?: string;
|
|
179
186
|
readonly semanticKey?: string;
|
|
@@ -181,6 +188,8 @@ export interface SemanticEditReplayEdit {
|
|
|
181
188
|
readonly sourceIdentityHash?: string;
|
|
182
189
|
readonly editContentHash?: string;
|
|
183
190
|
readonly editKind?: 'replace' | 'insert' | 'delete' | string;
|
|
191
|
+
readonly editOrder?: number;
|
|
192
|
+
readonly sourceRangeKind?: string;
|
|
184
193
|
readonly sourcePath?: string;
|
|
185
194
|
readonly symbolName?: string;
|
|
186
195
|
readonly symbolKind?: string;
|
|
@@ -190,8 +199,8 @@ export interface SemanticEditReplayEdit {
|
|
|
190
199
|
readonly replacementBytes?: number;
|
|
191
200
|
readonly replacementText?: string;
|
|
192
201
|
readonly reasonCodes: readonly string[];
|
|
202
|
+
readonly diagnostics?: readonly SemanticEditReplayDiagnostic[];
|
|
193
203
|
}
|
|
194
|
-
|
|
195
204
|
export interface SemanticEditReplay {
|
|
196
205
|
readonly kind: 'frontier.lang.semanticEditReplay';
|
|
197
206
|
readonly version: 1;
|
|
@@ -209,6 +218,7 @@ export interface SemanticEditReplay {
|
|
|
209
218
|
readonly edits: readonly SemanticEditReplayEdit[];
|
|
210
219
|
readonly appliedOperations: readonly string[];
|
|
211
220
|
readonly skippedOperations: readonly string[];
|
|
221
|
+
readonly diagnostics?: readonly SemanticEditReplayDiagnostic[];
|
|
212
222
|
readonly admission: {
|
|
213
223
|
readonly status: SemanticEditReplayStatus;
|
|
214
224
|
readonly action: 'apply' | 'skip' | 'rerun-semantic-import' | 'human-review' | 'block' | string;
|
|
@@ -230,7 +240,6 @@ export interface SemanticEditReplay {
|
|
|
230
240
|
};
|
|
231
241
|
readonly metadata?: Record<string, unknown>;
|
|
232
242
|
}
|
|
233
|
-
|
|
234
243
|
export interface ProjectSemanticEditScriptToSourceOptions {
|
|
235
244
|
readonly id?: string;
|
|
236
245
|
readonly script: SemanticEditScript;
|
|
@@ -239,7 +248,6 @@ export interface ProjectSemanticEditScriptToSourceOptions {
|
|
|
239
248
|
readonly headSourcePath?: string;
|
|
240
249
|
readonly metadata?: Record<string, unknown>;
|
|
241
250
|
}
|
|
242
|
-
|
|
243
251
|
export interface ReplaySemanticEditProjectionOptions {
|
|
244
252
|
readonly id?: string;
|
|
245
253
|
readonly projection?: SemanticEditProjection;
|
|
@@ -253,7 +261,6 @@ export interface ReplaySemanticEditProjectionOptions {
|
|
|
253
261
|
readonly parser?: string;
|
|
254
262
|
readonly metadata?: Record<string, unknown>;
|
|
255
263
|
}
|
|
256
|
-
|
|
257
264
|
export interface CreateSemanticEditScriptOptions {
|
|
258
265
|
readonly id?: string;
|
|
259
266
|
readonly language?: FrontierSourceLanguage | string;
|
|
@@ -296,11 +303,9 @@ export interface CreateSemanticEditScriptOptions {
|
|
|
296
303
|
readonly evidenceId?: string;
|
|
297
304
|
readonly metadata?: Record<string, unknown>;
|
|
298
305
|
}
|
|
299
|
-
|
|
300
306
|
export interface CreateSemanticEditScriptRuntimeOptions {
|
|
301
307
|
readonly metadata?: Record<string, unknown>;
|
|
302
308
|
}
|
|
303
|
-
|
|
304
309
|
export declare const SemanticEditScriptAdmissionStatuses: readonly SemanticEditScriptAdmissionStatus[];
|
|
305
310
|
export declare function createSemanticEditScript(input?: CreateSemanticEditScriptOptions, options?: CreateSemanticEditScriptRuntimeOptions): SemanticEditScript;
|
|
306
311
|
export declare function projectSemanticEditScriptToSource(input: ProjectSemanticEditScriptToSourceOptions): SemanticEditProjection;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import type { EvidenceRecord, FrontierSourceLanguage, SemanticMergeReadiness, SourceSpan } from '@shapeshift-labs/frontier-lang-kernel';
|
|
2
2
|
import type { ImportNativeSourceOptions, NativeSourceImportResult } from './import-adapter-core.js';
|
|
3
|
-
|
|
4
3
|
export type SemanticLineageEventKind = 'unchanged' | 'moved' | 'renamed' | 'split' | 'merged' | 'deleted' | 'recreated' | 'unknown' | string;
|
|
5
4
|
export type SemanticLineageResolutionStatus = 'unchanged' | 'resolved' | 'ambiguous' | 'deleted' | 'recreated' | 'cycle' | 'max-depth' | 'not-found' | string;
|
|
6
|
-
|
|
7
5
|
export interface SemanticAnchor {
|
|
8
6
|
readonly id?: string; readonly key?: string; readonly kind?: string;
|
|
9
7
|
readonly language?: FrontierSourceLanguage | string; readonly sourcePath?: string; readonly sourceHash?: string;
|
|
@@ -17,7 +15,6 @@ export interface SemanticAnchor {
|
|
|
17
15
|
readonly lineageEventKinds?: readonly SemanticLineageEventKind[]; readonly lineageReasonCodes?: readonly string[];
|
|
18
16
|
readonly metadata?: Record<string, unknown>;
|
|
19
17
|
}
|
|
20
|
-
|
|
21
18
|
export interface CreateSemanticAnchorInput extends SemanticAnchor {
|
|
22
19
|
readonly ownershipKey?: string;
|
|
23
20
|
readonly conflictKey?: string;
|
|
@@ -30,7 +27,6 @@ export interface CreateSemanticAnchorInput extends SemanticAnchor {
|
|
|
30
27
|
readonly hash?: string;
|
|
31
28
|
readonly span?: SourceSpan;
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
export interface SemanticLineageCrdtClock {
|
|
35
31
|
readonly operationId?: string;
|
|
36
32
|
readonly actor?: string;
|
|
@@ -40,7 +36,6 @@ export interface SemanticLineageCrdtClock {
|
|
|
40
36
|
readonly stateVector?: Record<string, number>;
|
|
41
37
|
readonly versionFrame?: Record<string, unknown>;
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
export interface SemanticLineageCrdtClockInput {
|
|
45
40
|
readonly operationId?: string;
|
|
46
41
|
readonly id?: string;
|
|
@@ -53,7 +48,6 @@ export interface SemanticLineageCrdtClockInput {
|
|
|
53
48
|
readonly versionFrame?: Record<string, unknown>;
|
|
54
49
|
readonly frame?: Record<string, unknown>;
|
|
55
50
|
}
|
|
56
|
-
|
|
57
51
|
export interface SemanticLineageEvidence {
|
|
58
52
|
readonly pathMatch?: boolean;
|
|
59
53
|
readonly signatureHashMatch?: boolean;
|
|
@@ -63,11 +57,9 @@ export interface SemanticLineageEvidence {
|
|
|
63
57
|
readonly confidence?: number;
|
|
64
58
|
readonly command?: string;
|
|
65
59
|
}
|
|
66
|
-
|
|
67
60
|
export interface SemanticLineageEvidenceInput extends SemanticLineageEvidence {
|
|
68
61
|
readonly id?: string;
|
|
69
62
|
}
|
|
70
|
-
|
|
71
63
|
export interface SemanticLineageActor {
|
|
72
64
|
readonly id?: string;
|
|
73
65
|
readonly role?: string;
|
|
@@ -76,11 +68,9 @@ export interface SemanticLineageActor {
|
|
|
76
68
|
readonly runId?: string;
|
|
77
69
|
readonly metadata?: Record<string, unknown>;
|
|
78
70
|
}
|
|
79
|
-
|
|
80
71
|
export interface SemanticLineageActorInput extends SemanticLineageActor {
|
|
81
72
|
readonly actorId?: string;
|
|
82
73
|
}
|
|
83
|
-
|
|
84
74
|
export interface SemanticLineageEvent {
|
|
85
75
|
readonly kind: 'frontier.lang.semanticLineageEvent';
|
|
86
76
|
readonly version: 1;
|
|
@@ -100,7 +90,6 @@ export interface SemanticLineageEvent {
|
|
|
100
90
|
readonly conflictKeys: readonly string[];
|
|
101
91
|
readonly metadata?: Record<string, unknown>;
|
|
102
92
|
}
|
|
103
|
-
|
|
104
93
|
export interface CreateSemanticLineageEventInput {
|
|
105
94
|
readonly id?: string; readonly hash?: string; readonly createdAt?: number | string;
|
|
106
95
|
readonly eventKind?: SemanticLineageEventKind; readonly event?: SemanticLineageEventKind; readonly kind?: SemanticLineageEventKind;
|
|
@@ -136,7 +125,6 @@ export interface CreateSemanticLineageEventInput {
|
|
|
136
125
|
readonly conflictKeys?: readonly string[] | string;
|
|
137
126
|
readonly metadata?: Record<string, unknown>;
|
|
138
127
|
}
|
|
139
|
-
|
|
140
128
|
export interface SemanticLineageMap {
|
|
141
129
|
readonly kind: 'frontier.lang.semanticLineageMap';
|
|
142
130
|
readonly version: 1;
|
|
@@ -154,7 +142,6 @@ export interface SemanticLineageMap {
|
|
|
154
142
|
readonly eventKinds: readonly string[];
|
|
155
143
|
};
|
|
156
144
|
}
|
|
157
|
-
|
|
158
145
|
export interface SemanticLineageResolutionQuery {
|
|
159
146
|
readonly id?: string;
|
|
160
147
|
readonly anchor?: SemanticAnchor | string;
|
|
@@ -168,7 +155,6 @@ export interface SemanticLineageResolutionQuery {
|
|
|
168
155
|
readonly generatedAt?: number | string;
|
|
169
156
|
readonly metadata?: Record<string, unknown>;
|
|
170
157
|
}
|
|
171
|
-
|
|
172
158
|
export interface SemanticLineageResolution {
|
|
173
159
|
readonly kind: 'frontier.lang.semanticLineageResolution';
|
|
174
160
|
readonly version: 1;
|
|
@@ -199,7 +185,6 @@ export interface SemanticLineageResolution {
|
|
|
199
185
|
readonly reasonCodes: readonly string[];
|
|
200
186
|
readonly metadata?: Record<string, unknown>;
|
|
201
187
|
}
|
|
202
|
-
|
|
203
188
|
export interface SemanticLineageQuery {
|
|
204
189
|
readonly eventKind?: SemanticLineageEventKind | readonly string[];
|
|
205
190
|
readonly anchorKey?: string | readonly string[];
|
|
@@ -211,7 +196,6 @@ export interface SemanticLineageQuery {
|
|
|
211
196
|
readonly conflictKey?: string | readonly string[];
|
|
212
197
|
readonly evidenceId?: string | readonly string[];
|
|
213
198
|
}
|
|
214
|
-
|
|
215
199
|
export interface SemanticLineageInferredAnchorSummary {
|
|
216
200
|
readonly key?: string;
|
|
217
201
|
readonly id?: string;
|
|
@@ -220,24 +204,24 @@ export interface SemanticLineageInferredAnchorSummary {
|
|
|
220
204
|
readonly language?: FrontierSourceLanguage | string;
|
|
221
205
|
readonly sourcePath?: string;
|
|
222
206
|
readonly sourceHash?: string;
|
|
207
|
+
readonly identityHash?: string;
|
|
208
|
+
readonly semanticIdentityHash?: string;
|
|
209
|
+
readonly sourceIdentityHash?: string;
|
|
223
210
|
readonly sourceSpan?: SourceSpan;
|
|
224
211
|
readonly signatureHash?: string;
|
|
225
212
|
readonly bodyHash?: string;
|
|
226
213
|
readonly ownershipRegionKind?: string;
|
|
227
214
|
}
|
|
228
|
-
|
|
229
215
|
export interface SemanticLineageAmbiguousCandidate {
|
|
230
216
|
readonly after: SemanticLineageInferredAnchorSummary;
|
|
231
217
|
readonly confidence: number;
|
|
232
218
|
readonly reasons: readonly string[];
|
|
233
219
|
}
|
|
234
|
-
|
|
235
220
|
export interface SemanticLineageAmbiguousMatch {
|
|
236
221
|
readonly before: SemanticLineageInferredAnchorSummary;
|
|
237
222
|
readonly candidates: readonly SemanticLineageAmbiguousCandidate[];
|
|
238
223
|
readonly reasonCodes: readonly string[];
|
|
239
224
|
}
|
|
240
|
-
|
|
241
225
|
export interface SemanticLineageInferenceResult {
|
|
242
226
|
readonly kind: 'frontier.lang.semanticLineageInference';
|
|
243
227
|
readonly version: 1;
|
|
@@ -280,7 +264,6 @@ export interface SemanticLineageInferenceResult {
|
|
|
280
264
|
readonly [key: string]: unknown;
|
|
281
265
|
};
|
|
282
266
|
}
|
|
283
|
-
|
|
284
267
|
export interface InferSemanticLineageEventsOptions {
|
|
285
268
|
readonly id?: string;
|
|
286
269
|
readonly before?: NativeSourceImportResult | ImportNativeSourceOptions;
|
|
@@ -306,7 +289,6 @@ export interface InferSemanticLineageEventsOptions {
|
|
|
306
289
|
readonly stateVector?: Record<string, number>;
|
|
307
290
|
readonly metadata?: Record<string, unknown>;
|
|
308
291
|
}
|
|
309
|
-
|
|
310
292
|
export declare const SemanticLineageEventKinds: readonly SemanticLineageEventKind[];
|
|
311
293
|
export declare const SemanticLineageResolutionStatuses: readonly SemanticLineageResolutionStatus[];
|
|
312
294
|
export declare function createSemanticAnchor(input?: CreateSemanticAnchorInput | string, defaults?: Partial<SemanticAnchor>): SemanticAnchor | undefined;
|
|
@@ -9,6 +9,41 @@ import type { NativeSourceChangeKind, NativeSourceChangeSet } from './native-dif
|
|
|
9
9
|
import type { SemanticMergeConflictSummary } from './semantic-merge-conflicts.js';
|
|
10
10
|
|
|
11
11
|
export type SemanticMergeCandidateProjectionRisk = 'low' | 'medium' | 'high' | 'unknown';
|
|
12
|
+
export type SemanticMergeCandidateScoreFacetKey =
|
|
13
|
+
| 'ownership'
|
|
14
|
+
| 'staleStatus'
|
|
15
|
+
| 'testEvidence'
|
|
16
|
+
| 'overlap'
|
|
17
|
+
| 'size'
|
|
18
|
+
| 'semanticSidecarQuality';
|
|
19
|
+
export type SemanticMergeCandidateScoreFacetStatus = 'strong' | 'partial' | 'weak' | 'blocked';
|
|
20
|
+
|
|
21
|
+
export interface SemanticMergeCandidateScoreFacet {
|
|
22
|
+
readonly key: SemanticMergeCandidateScoreFacetKey;
|
|
23
|
+
readonly score: number;
|
|
24
|
+
readonly weight: number;
|
|
25
|
+
readonly weightedScore: number;
|
|
26
|
+
readonly status: SemanticMergeCandidateScoreFacetStatus;
|
|
27
|
+
readonly reasonCodes: readonly string[];
|
|
28
|
+
readonly signals: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface SemanticMergeCandidateScoreFacets {
|
|
32
|
+
readonly schema: 'frontier.lang.semanticMergeCandidateScoreFacets.v1';
|
|
33
|
+
readonly version: 1;
|
|
34
|
+
readonly higherIsBetter: true;
|
|
35
|
+
readonly value: number;
|
|
36
|
+
readonly risk: 'low' | 'medium' | 'high';
|
|
37
|
+
readonly components: Record<SemanticMergeCandidateScoreFacetKey, SemanticMergeCandidateScoreFacet>;
|
|
38
|
+
readonly summary: {
|
|
39
|
+
readonly value: number;
|
|
40
|
+
readonly risk: 'low' | 'medium' | 'high';
|
|
41
|
+
readonly lowestScore: number;
|
|
42
|
+
readonly weakFacets: readonly SemanticMergeCandidateScoreFacetKey[];
|
|
43
|
+
readonly blockedFacets: readonly SemanticMergeCandidateScoreFacetKey[];
|
|
44
|
+
readonly availableFacets: readonly SemanticMergeCandidateScoreFacetKey[];
|
|
45
|
+
};
|
|
46
|
+
}
|
|
12
47
|
|
|
13
48
|
export interface SemanticMergeCandidateChangedRegion {
|
|
14
49
|
readonly id?: string;
|
|
@@ -88,11 +123,13 @@ export interface SemanticMergeCandidateAdmissionRecord {
|
|
|
88
123
|
readonly conflictKeys: readonly string[];
|
|
89
124
|
readonly pairs: readonly SemanticMergeCandidateOverlapRecord[];
|
|
90
125
|
};
|
|
126
|
+
readonly scoreFacets: SemanticMergeCandidateScoreFacets;
|
|
91
127
|
readonly admission: {
|
|
92
128
|
readonly readiness: SemanticMergeReadiness | string;
|
|
93
129
|
readonly reviewRequired: boolean;
|
|
94
130
|
readonly action: 'admit' | 'prioritize-review' | 'block' | string;
|
|
95
131
|
readonly sortKey: number;
|
|
132
|
+
readonly scoreFacets: SemanticMergeCandidateScoreFacets;
|
|
96
133
|
readonly reasonCodes: readonly string[];
|
|
97
134
|
readonly conflictKeys: readonly string[];
|
|
98
135
|
};
|
|
@@ -122,6 +159,7 @@ export interface SemanticMergeCandidateAdmissionRecord {
|
|
|
122
159
|
readonly readiness: SemanticMergeReadiness | string;
|
|
123
160
|
readonly projectionRisk: SemanticMergeCandidateProjectionRisk;
|
|
124
161
|
readonly reviewRequired: boolean;
|
|
162
|
+
readonly scoreFacets: SemanticMergeCandidateScoreFacets['summary'];
|
|
125
163
|
};
|
|
126
164
|
readonly metadata?: Record<string, unknown> & {
|
|
127
165
|
readonly conflictSummary?: SemanticMergeConflictSummary;
|
|
@@ -166,6 +204,7 @@ export type SemanticMergeCandidateWithAdmission = SemanticMergeCandidateRecord &
|
|
|
166
204
|
readonly proofIds?: readonly string[];
|
|
167
205
|
readonly projectionRisk?: SemanticMergeCandidateProjectionRisk;
|
|
168
206
|
readonly readinessSortKey?: number;
|
|
207
|
+
readonly scoreFacets?: SemanticMergeCandidateScoreFacets;
|
|
169
208
|
readonly mergeAdmission?: SemanticMergeCandidateAdmissionRecord;
|
|
170
209
|
};
|
|
171
210
|
|
|
@@ -8,6 +8,16 @@ export interface SemanticImportSidecarQualityWarning {
|
|
|
8
8
|
readonly sourcePaths: readonly string[];
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
export type SemanticImportSidecarRecordClassification = 'useful' | 'expected-empty' | 'unexpectedly-empty' | 'missing' | string;
|
|
12
|
+
|
|
13
|
+
export interface SemanticImportSidecarQualityRecord {
|
|
14
|
+
readonly classification: SemanticImportSidecarRecordClassification;
|
|
15
|
+
readonly reasonCode: string;
|
|
16
|
+
readonly message: string;
|
|
17
|
+
readonly action: string;
|
|
18
|
+
readonly sourcePaths: readonly string[];
|
|
19
|
+
}
|
|
20
|
+
|
|
11
21
|
export interface SemanticImportSidecarProofAdmissionSummary {
|
|
12
22
|
readonly total: number;
|
|
13
23
|
readonly obligations: number;
|
|
@@ -26,12 +36,14 @@ export interface SemanticImportSidecarProofAdmissionSummary {
|
|
|
26
36
|
export interface SemanticImportSidecarQuality {
|
|
27
37
|
readonly schema: 'frontier.lang.semanticSidecarQuality.v1';
|
|
28
38
|
readonly expected: boolean;
|
|
39
|
+
readonly expectedEmpty: boolean;
|
|
29
40
|
readonly expectedSatisfied: boolean;
|
|
30
41
|
readonly expectedMissingReasonCodes: readonly string[];
|
|
31
42
|
readonly selected: boolean;
|
|
32
43
|
readonly eligible: boolean;
|
|
33
44
|
readonly imported: boolean;
|
|
34
45
|
readonly importCount: number;
|
|
46
|
+
readonly record: SemanticImportSidecarQualityRecord;
|
|
35
47
|
readonly symbolCount: number;
|
|
36
48
|
readonly ownershipRegionCount: number;
|
|
37
49
|
readonly patchHintCount: number;
|
|
@@ -45,6 +57,7 @@ export interface SemanticImportSidecarQuality {
|
|
|
45
57
|
export interface SemanticImportSidecarAdmission {
|
|
46
58
|
readonly schema: 'frontier.lang.semanticSidecarAdmission.v1';
|
|
47
59
|
readonly expected: boolean;
|
|
60
|
+
readonly expectedEmpty: boolean;
|
|
48
61
|
readonly expectedSatisfied: boolean;
|
|
49
62
|
readonly expectedMissingReasonCodes: readonly string[];
|
|
50
63
|
readonly selected: boolean;
|
|
@@ -53,6 +66,7 @@ export interface SemanticImportSidecarAdmission {
|
|
|
53
66
|
readonly importCount: number;
|
|
54
67
|
readonly readiness: SemanticMergeReadiness;
|
|
55
68
|
readonly action: string;
|
|
69
|
+
readonly record: SemanticImportSidecarQualityRecord;
|
|
56
70
|
readonly counts: {
|
|
57
71
|
readonly symbols: number;
|
|
58
72
|
readonly ownershipRegions: number;
|
|
@@ -24,7 +24,7 @@ import type {
|
|
|
24
24
|
UniversalAstLayerMap,
|
|
25
25
|
UniversalAstLayerRecord
|
|
26
26
|
} from '@shapeshift-labs/frontier-lang-kernel';
|
|
27
|
-
import type { SemanticImportSidecarAdmission, SemanticImportSidecarQuality } from './semantic-sidecar-admission.js';
|
|
27
|
+
import type { SemanticImportSidecarAdmission, SemanticImportSidecarQuality, SemanticImportSidecarQualityRecord } from './semantic-sidecar-admission.js';
|
|
28
28
|
import type { SemanticMergeCandidateAdmissionRecord, SemanticMergeCandidateProjectionRisk } from './semantic-merge-candidates.js';
|
|
29
29
|
import type { SemanticMergeConflictClass, SemanticMergeConflictSummary } from './semantic-merge-conflicts.js';
|
|
30
30
|
import type { SemanticImportImpactSummary } from './semantic-impact.js';
|
|
@@ -52,7 +52,6 @@ import type { JavaAstNativeImporterAdapterOptions, KotlinPsiNativeImporterAdapte
|
|
|
52
52
|
import type { NativeTargetProjectionAdapterCoverageInput, NativeTargetProjectionAdapterSummary, NativeTargetProjectionAdapterInput, NativeTargetProjectionAdapterResult, NativeTargetProjectionAdapter, NativeTargetProjectionAdapterResolverInput, NativeTargetProjectionResult } from './target-adapters.js';
|
|
53
53
|
import type { NativeProjectSourceInput, ImportNativeProjectOptions, NativeProjectImportResult, NativeSourceProjectionMode, ProjectNativeImportToSourceOptions, NativeSourceProjectionDeclaration, NativeSourceProjectionResult, NativeSourceCompileOutputMode, CompileNativeSourceOptions, NativeSourceCompileResult } from './native-project.js';
|
|
54
54
|
import type { NativeImportRoundtripReadinessStatus, NativeImportRoundtripReadinessOptions, NativeImportRoundtripReadinessClassification } from './roundtrip.js';
|
|
55
|
-
|
|
56
55
|
export interface SemanticImportOwnershipRegion {
|
|
57
56
|
readonly id: string;
|
|
58
57
|
readonly key: string;
|
|
@@ -71,7 +70,6 @@ export interface SemanticImportOwnershipRegion {
|
|
|
71
70
|
readonly mergePolicy?: string;
|
|
72
71
|
readonly metadata?: Record<string, unknown>;
|
|
73
72
|
}
|
|
74
|
-
|
|
75
73
|
export interface SemanticImportSidecarSymbol {
|
|
76
74
|
readonly id: string;
|
|
77
75
|
readonly name?: string;
|
|
@@ -87,7 +85,6 @@ export interface SemanticImportSidecarSymbol {
|
|
|
87
85
|
readonly ownershipRegionKind?: NativeImportRegionTaxonomyKind;
|
|
88
86
|
readonly readiness: SemanticMergeReadiness;
|
|
89
87
|
}
|
|
90
|
-
|
|
91
88
|
export interface SemanticImportRegionTaxonomySummary {
|
|
92
89
|
readonly kinds: readonly NativeImportRegionTaxonomyKind[];
|
|
93
90
|
readonly presentKinds: readonly NativeImportRegionTaxonomyKind[];
|
|
@@ -95,12 +92,12 @@ export interface SemanticImportRegionTaxonomySummary {
|
|
|
95
92
|
readonly keys: readonly string[];
|
|
96
93
|
readonly keysByKind: Readonly<Record<string, readonly string[]>>;
|
|
97
94
|
}
|
|
98
|
-
|
|
99
95
|
export interface SemanticImportPatchHint {
|
|
100
96
|
readonly id: string;
|
|
101
97
|
readonly kind: 'source-region-patch' | string;
|
|
102
98
|
readonly ownershipRegionId: string;
|
|
103
99
|
readonly ownershipKey: string;
|
|
100
|
+
readonly operation: string;
|
|
104
101
|
readonly sourcePath?: string;
|
|
105
102
|
readonly sourceHash?: string;
|
|
106
103
|
readonly sourceSpan?: SourceSpan;
|
|
@@ -113,7 +110,6 @@ export interface SemanticImportPatchHint {
|
|
|
113
110
|
readonly requiresSourceMap: boolean;
|
|
114
111
|
};
|
|
115
112
|
}
|
|
116
|
-
|
|
117
113
|
export interface SemanticImportSidecarImportEntry {
|
|
118
114
|
readonly id: string;
|
|
119
115
|
readonly language?: FrontierSourceLanguage | string;
|
|
@@ -135,11 +131,17 @@ export interface SemanticImportSidecarImportEntry {
|
|
|
135
131
|
readonly proofSpec: SemanticImportSidecarProofSpecSummary;
|
|
136
132
|
readonly paradigmSemantics: SemanticImportSidecarParadigmSemanticsSummary;
|
|
137
133
|
readonly dependencyRelationCount: number; readonly dependencyPredicates: readonly string[];
|
|
134
|
+
readonly semanticFactCount?: number;
|
|
135
|
+
readonly semanticFactPredicates?: readonly string[];
|
|
136
|
+
readonly semanticFactSummary?: Readonly<Record<string, number>>;
|
|
137
|
+
readonly patchHintCount?: number;
|
|
138
|
+
readonly patchHintOperations?: readonly string[];
|
|
139
|
+
readonly patchHints?: readonly SemanticImportPatchHint[];
|
|
138
140
|
readonly readiness: SemanticMergeReadiness;
|
|
139
141
|
readonly emptySemanticIndex: boolean;
|
|
142
|
+
readonly qualityRecord: SemanticImportSidecarQualityRecord;
|
|
140
143
|
readonly regionTaxonomy?: SemanticImportRegionTaxonomySummary;
|
|
141
144
|
}
|
|
142
|
-
|
|
143
145
|
export interface SemanticImportSidecarSourcePreservationRecord {
|
|
144
146
|
readonly id: string;
|
|
145
147
|
readonly level: SourcePreservationLevel;
|
|
@@ -157,7 +159,6 @@ export interface SemanticImportSidecarSourcePreservationRecord {
|
|
|
157
159
|
readonly evidenceIds: readonly string[];
|
|
158
160
|
readonly reasons: readonly string[];
|
|
159
161
|
}
|
|
160
|
-
|
|
161
162
|
export interface SemanticImportSidecarUniversalAstLayerSummary {
|
|
162
163
|
readonly total: number;
|
|
163
164
|
readonly names: readonly string[];
|
|
@@ -165,7 +166,6 @@ export interface SemanticImportSidecarUniversalAstLayerSummary {
|
|
|
165
166
|
readonly byName: Readonly<Record<string, number>>;
|
|
166
167
|
readonly empty: boolean;
|
|
167
168
|
}
|
|
168
|
-
|
|
169
169
|
export interface SemanticImportSidecarProofSpecSummary {
|
|
170
170
|
readonly total: number;
|
|
171
171
|
readonly ids: readonly string[];
|
|
@@ -194,7 +194,6 @@ export interface SemanticImportSidecarProofSpecSummary {
|
|
|
194
194
|
readonly byArtifactKind: Readonly<Record<string, number>>;
|
|
195
195
|
readonly empty: boolean;
|
|
196
196
|
}
|
|
197
|
-
|
|
198
197
|
export interface SemanticImportSidecarParadigmSemanticsSummary {
|
|
199
198
|
readonly total: number;
|
|
200
199
|
readonly ids: readonly string[];
|
|
@@ -230,14 +229,12 @@ export interface SemanticImportSidecarParadigmSemanticsSummary {
|
|
|
230
229
|
readonly hasLowering: boolean;
|
|
231
230
|
readonly empty: boolean;
|
|
232
231
|
}
|
|
233
|
-
|
|
234
232
|
export interface SemanticImportDependencySummary {
|
|
235
233
|
readonly total: number; readonly calls: number; readonly uses: number; readonly references: number;
|
|
236
234
|
readonly imports: number; readonly extends: number; readonly implements: number; readonly includes: number; readonly requires: number;
|
|
237
235
|
readonly byPredicate: Readonly<Record<string, number>>; readonly predicates: readonly string[];
|
|
238
236
|
readonly ids: readonly string[]; readonly sourceSymbolIds: readonly string[]; readonly targetSymbolIds: readonly string[];
|
|
239
237
|
}
|
|
240
|
-
|
|
241
238
|
export interface SemanticImportSidecar {
|
|
242
239
|
readonly kind: 'frontier.lang.semanticImportSidecar';
|
|
243
240
|
readonly version: 1;
|
|
@@ -313,8 +310,9 @@ export interface SemanticImportSidecar {
|
|
|
313
310
|
readonly semanticImpactRecords: number; readonly semanticImpactHighRiskRecords: number; readonly semanticImpactRequiredVerificationSteps: number;
|
|
314
311
|
readonly patchHints: number;
|
|
315
312
|
readonly evidenceWarnings: number;
|
|
316
|
-
readonly semanticImportExpected: boolean; readonly semanticImportExpectedSatisfied: boolean; readonly semanticImportExpectedMissingReasonCodes: readonly string[];
|
|
313
|
+
readonly semanticImportExpected: boolean; readonly semanticImportExpectedEmpty: boolean; readonly semanticImportExpectedSatisfied: boolean; readonly semanticImportExpectedMissingReasonCodes: readonly string[];
|
|
314
|
+
readonly semanticImportRecordClassification: string; readonly semanticImportRecordReasonCode: string; readonly semanticImportRecordAction: string;
|
|
317
315
|
readonly readiness: SemanticMergeReadiness; readonly emptySemanticIndex: boolean;
|
|
318
316
|
};
|
|
319
317
|
readonly metadata?: Record<string, unknown>; }
|
|
320
|
-
export interface SemanticImportSidecarOptions { readonly id?: string; readonly generatedAt?: number; readonly regionPrefix?: string; readonly targetPath?: string; readonly expected?: boolean; readonly semanticImportExpected?: boolean; readonly metadata?: Record<string, unknown>; }
|
|
318
|
+
export interface SemanticImportSidecarOptions { readonly id?: string; readonly generatedAt?: number; readonly regionPrefix?: string; readonly targetPath?: string; readonly expected?: boolean; readonly semanticImportExpected?: boolean; readonly expectedEmpty?: boolean; readonly semanticImportExpectedEmpty?: boolean; readonly metadata?: Record<string, unknown>; }
|