@shapeshift-labs/frontier-lang-compiler 0.2.103 → 0.2.105
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/README.md +14 -0
- package/dist/declarations/bidirectional-target-change-source-edit.d.ts +30 -0
- package/dist/declarations/bidirectional-target-change.d.ts +10 -0
- package/dist/declarations/js-ts-safe-member-merge.d.ts +86 -0
- package/dist/declarations/js-ts-safe-merge.d.ts +131 -0
- package/dist/declarations/js-ts-semantic-conflict-sidecars.d.ts +235 -0
- package/dist/declarations/js-ts-semantic-merge-contracts.d.ts +287 -0
- package/dist/declarations/js-ts-semantic-merge.d.ts +4 -0
- package/dist/declarations/native-import-losses.d.ts +3 -0
- package/dist/declarations/semantic-edit-replay-diagnostics.d.ts +12 -0
- package/dist/declarations/semantic-edit-script.d.ts +7 -4
- package/dist/declarations/semantic-patch-bundle-index.d.ts +45 -0
- package/dist/declarations/semantic-patch-bundle.d.ts +6 -4
- package/dist/declarations/semantic-sidecar-example.d.ts +18 -0
- package/dist/declarations/semantic-transform-identity.d.ts +3 -0
- package/dist/declarations/source-preservation.d.ts +72 -0
- package/dist/declarations/universal-capability.d.ts +4 -0
- package/dist/declarations/universal-conversion-artifacts.d.ts +61 -1
- package/dist/declarations/universal-conversion-compact-counts.d.ts +51 -0
- package/dist/declarations/universal-conversion-plan.d.ts +6 -1
- package/dist/declarations/universal-representation-coverage.d.ts +90 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +3 -0
- package/dist/internal/index-impl/bidirectionalExactSourceBackprojection.js +199 -0
- package/dist/internal/index-impl/bidirectionalSameLanguageSourceProjection.js +112 -0
- package/dist/internal/index-impl/bidirectionalSourceEditProjection.js +319 -0
- package/dist/internal/index-impl/bidirectionalSourceEditProjectionArtifacts.js +67 -0
- package/dist/internal/index-impl/bidirectionalTargetChangeRecordInternals.js +17 -5
- package/dist/internal/index-impl/bidirectionalTargetRoundtripEvidence.js +58 -20
- package/dist/internal/index-impl/createBidirectionalTargetChangeRecord.js +60 -7
- package/dist/internal/index-impl/createLightweightNativeImport.js +1 -0
- package/dist/internal/index-impl/createNativeSourcePreservation.js +28 -2
- package/dist/internal/index-impl/diffNativeSymbols.js +3 -3
- package/dist/internal/index-impl/nativeChangeProjectionSourceMapLinks.js +2 -0
- package/dist/internal/index-impl/projectSemanticEditScriptToSource.js +43 -8
- package/dist/internal/index-impl/replaySemanticEditLineEndings.js +34 -0
- package/dist/internal/index-impl/replaySemanticEditProjection.js +39 -19
- package/dist/internal/index-impl/semanticEditBundleAdmission.js +7 -3
- package/dist/internal/index-impl/semanticEditBundleIndex.js +47 -1
- package/dist/internal/index-impl/semanticEditExplicitSourceReplacement.js +40 -0
- package/dist/internal/index-impl/semanticEditOperationCoverage.js +33 -3
- package/dist/internal/index-impl/semanticEditProjectionRecord.js +29 -0
- package/dist/internal/index-impl/semanticEditReplayDiagnostics.js +39 -0
- package/dist/internal/index-impl/semanticEditReplaySourceReplacement.js +85 -0
- package/dist/internal/index-impl/semanticEditScripts.js +4 -0
- package/dist/internal/index-impl/semanticEditSourceRanges.js +27 -0
- package/dist/internal/index-impl/semanticIndexFromNativeDeclarations.js +1 -0
- package/dist/internal/index-impl/semanticPatchBundleAdmission.js +41 -7
- package/dist/internal/index-impl/semanticPatchBundleRecords.js +16 -0
- package/dist/internal/index-impl/semanticPatchBundleSourceRecords.js +2 -0
- package/dist/internal/index-impl/semanticSidecarQuality.js +111 -0
- package/dist/internal/index-impl/semanticSourceEditDedupe.js +69 -9
- package/dist/internal/index-impl/semanticTransformIdentityRecords.js +85 -9
- package/dist/js-ts-safe-member-merge-result.js +158 -0
- package/dist/js-ts-safe-member-merge.js +265 -0
- package/dist/js-ts-safe-merge-analyze.js +279 -0
- package/dist/js-ts-safe-merge-composed.js +170 -0
- package/dist/js-ts-safe-merge-constants.js +50 -0
- package/dist/js-ts-safe-merge-context.js +118 -0
- package/dist/js-ts-safe-merge-ledger-validation.js +92 -0
- package/dist/js-ts-safe-merge-ledger.js +85 -0
- package/dist/js-ts-safe-merge-parse-declarations.js +210 -0
- package/dist/js-ts-safe-merge-parse-statements.js +155 -0
- package/dist/js-ts-safe-merge-plan.js +190 -0
- package/dist/js-ts-safe-merge.js +175 -0
- package/dist/js-ts-semantic-conflict-sidecar-constants.js +77 -0
- package/dist/js-ts-semantic-conflict-sidecar-detectors.js +195 -0
- package/dist/js-ts-semantic-conflict-sidecar-normalize.js +203 -0
- package/dist/js-ts-semantic-conflict-sidecar-utils.js +190 -0
- package/dist/js-ts-semantic-conflict-sidecars.js +81 -0
- package/dist/js-ts-semantic-merge-contract-helpers.js +128 -0
- package/dist/js-ts-semantic-merge-contracts.js +217 -0
- package/dist/js-ts-semantic-merge-member-containers.js +100 -0
- package/dist/js-ts-semantic-merge-member-keys.js +142 -0
- package/dist/js-ts-semantic-merge-member-segments.js +185 -0
- package/dist/js-ts-semantic-merge-member-source.js +82 -0
- package/dist/js-ts-semantic-merge-member-utils.js +18 -0
- package/dist/js-ts-semantic-merge-parse.js +16 -0
- package/dist/js-ts-semantic-merge.js +24 -0
- package/dist/lightweight-dependency-effects.js +51 -0
- package/dist/lightweight-dependency-language.js +12 -1
- package/dist/lightweight-dependency-relations.js +14 -27
- package/dist/native-region-scanner-core.js +33 -1
- package/dist/native-region-scanner-csharp.js +151 -0
- package/dist/native-region-scanner-dart.js +91 -0
- package/dist/native-region-scanner-dynamic.js +21 -151
- package/dist/native-region-scanner-functional.js +40 -13
- package/dist/native-region-scanner-java.js +97 -0
- package/dist/native-region-scanner-js-class.js +100 -0
- package/dist/native-region-scanner-js-helpers.js +28 -86
- package/dist/native-region-scanner-js-imports.js +121 -1
- package/dist/native-region-scanner-js-nested.js +96 -8
- package/dist/native-region-scanner-js-structure.js +27 -0
- package/dist/native-region-scanner-js-types.js +99 -0
- package/dist/native-region-scanner-js.js +70 -118
- package/dist/native-region-scanner-kotlin.js +94 -0
- package/dist/native-region-scanner-main.js +15 -181
- package/dist/native-region-scanner-php.js +80 -0
- package/dist/native-region-scanner-python.js +62 -0
- package/dist/native-region-scanner-ruby.js +72 -0
- package/dist/native-region-scanner-scala.js +91 -0
- package/dist/native-region-scanner-spans.js +74 -0
- package/dist/native-region-scanner-swift.js +155 -0
- package/dist/native-region-scanner.js +14 -10
- package/dist/native-source-ledger-helpers.js +195 -0
- package/dist/native-source-ledger.js +306 -0
- package/dist/native-source-preservation-scanner.js +4 -0
- package/dist/semantic-import-callsite-regions.js +136 -0
- package/dist/semantic-import-effect-regions.js +283 -0
- package/dist/semantic-import-regions.js +11 -2
- package/dist/semantic-import-sidecar-entry.js +16 -2
- package/dist/semantic-import-sidecar-types.d.ts +2 -0
- package/dist/semantic-sidecar-example.js +68 -0
- package/dist/universal-capability-matrix.js +23 -0
- package/dist/universal-conversion-artifact-query.js +79 -2
- package/dist/universal-conversion-artifact-semantic-edit.js +103 -0
- package/dist/universal-conversion-artifact-summary.js +33 -1
- package/dist/universal-conversion-artifacts.js +13 -48
- package/dist/universal-conversion-plan-scoring.js +21 -1
- package/dist/universal-conversion-plan-summary.js +30 -0
- package/dist/universal-conversion-plan.js +25 -9
- package/dist/universal-conversion-route-metadata.js +96 -0
- package/dist/universal-conversion-route-operations.js +7 -0
- package/dist/universal-representation-coverage.js +193 -0
- package/package.json +1 -1
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
FrontierSourceLanguage,
|
|
3
|
+
SemanticMergeReadiness,
|
|
4
|
+
SourceSpan
|
|
5
|
+
} from '@shapeshift-labs/frontier-lang-kernel';
|
|
6
|
+
|
|
7
|
+
export type JsTsSemanticMergeLanguage = 'javascript' | 'typescript' | 'jsx' | 'tsx' | FrontierSourceLanguage | string;
|
|
8
|
+
export type JsTsSemanticMergeSourceTokenKind =
|
|
9
|
+
| 'identifier'
|
|
10
|
+
| 'keyword'
|
|
11
|
+
| 'literal'
|
|
12
|
+
| 'operator'
|
|
13
|
+
| 'punctuation'
|
|
14
|
+
| 'template'
|
|
15
|
+
| 'jsx-text'
|
|
16
|
+
| 'unknown'
|
|
17
|
+
| string;
|
|
18
|
+
export type JsTsSemanticMergeTriviaKind = 'whitespace' | 'newline' | 'line-comment' | 'block-comment' | 'directive' | 'shebang' | string;
|
|
19
|
+
export type JsTsSemanticMergeSemanticRegionKind =
|
|
20
|
+
| 'program'
|
|
21
|
+
| 'module'
|
|
22
|
+
| 'import'
|
|
23
|
+
| 'export'
|
|
24
|
+
| 'class'
|
|
25
|
+
| 'interface'
|
|
26
|
+
| 'type-alias'
|
|
27
|
+
| 'function'
|
|
28
|
+
| 'method'
|
|
29
|
+
| 'field'
|
|
30
|
+
| 'variable'
|
|
31
|
+
| 'statement'
|
|
32
|
+
| 'expression'
|
|
33
|
+
| 'jsx'
|
|
34
|
+
| 'unknown'
|
|
35
|
+
| string;
|
|
36
|
+
export type JsTsSemanticMergeThreeWaySide = 'base' | 'left' | 'right' | 'merged' | string;
|
|
37
|
+
export type JsTsSemanticMergeThreeWayMatchStatus =
|
|
38
|
+
| 'matched'
|
|
39
|
+
| 'base-only'
|
|
40
|
+
| 'left-only'
|
|
41
|
+
| 'right-only'
|
|
42
|
+
| 'moved'
|
|
43
|
+
| 'renamed'
|
|
44
|
+
| 'ambiguous'
|
|
45
|
+
| 'missing'
|
|
46
|
+
| string;
|
|
47
|
+
export type JsTsSemanticMergeStructuredEditKind =
|
|
48
|
+
| 'insert'
|
|
49
|
+
| 'delete'
|
|
50
|
+
| 'replace'
|
|
51
|
+
| 'move'
|
|
52
|
+
| 'rename'
|
|
53
|
+
| 'reorder'
|
|
54
|
+
| 'update-import'
|
|
55
|
+
| 'update-export'
|
|
56
|
+
| 'update-signature'
|
|
57
|
+
| 'update-body'
|
|
58
|
+
| 'update-type'
|
|
59
|
+
| 'update-jsx'
|
|
60
|
+
| 'update-trivia'
|
|
61
|
+
| string;
|
|
62
|
+
export type JsTsSemanticMergeConflictClass =
|
|
63
|
+
| 'same-token-edit'
|
|
64
|
+
| 'same-region-edit'
|
|
65
|
+
| 'delete-modify'
|
|
66
|
+
| 'move-edit'
|
|
67
|
+
| 'rename-rename'
|
|
68
|
+
| 'import-order'
|
|
69
|
+
| 'type-surface-drift'
|
|
70
|
+
| 'trivia-preservation'
|
|
71
|
+
| 'behavior-evidence-needed'
|
|
72
|
+
| string;
|
|
73
|
+
export type JsTsSemanticMergeConflictRisk = 'low' | 'medium' | 'high' | string;
|
|
74
|
+
export type JsTsSemanticMergeGateStatus = 'passed' | 'warning' | 'failed' | 'skipped' | 'blocked' | string;
|
|
75
|
+
|
|
76
|
+
/** Source-token evidence for JS/TS semantic merge without binding to a parser library. */
|
|
77
|
+
export interface JsTsSemanticMergeSourceToken {
|
|
78
|
+
readonly schema: 'frontier.lang.jsTsSemanticMergeSourceToken.v1';
|
|
79
|
+
readonly id: string;
|
|
80
|
+
readonly kind: JsTsSemanticMergeSourceTokenKind;
|
|
81
|
+
readonly language?: JsTsSemanticMergeLanguage;
|
|
82
|
+
readonly sourcePath?: string;
|
|
83
|
+
readonly sourceHash?: string;
|
|
84
|
+
readonly text?: string;
|
|
85
|
+
readonly textHash?: string;
|
|
86
|
+
readonly span: SourceSpan;
|
|
87
|
+
readonly triviaBeforeIds?: readonly string[];
|
|
88
|
+
readonly triviaAfterIds?: readonly string[];
|
|
89
|
+
readonly semanticRegionId?: string;
|
|
90
|
+
readonly metadata?: Record<string, unknown>;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** Trivia span evidence for comments, whitespace, directives, and JSX/source preservation. */
|
|
94
|
+
export interface JsTsSemanticMergeTriviaSpan {
|
|
95
|
+
readonly schema: 'frontier.lang.jsTsSemanticMergeTriviaSpan.v1';
|
|
96
|
+
readonly id: string;
|
|
97
|
+
readonly kind: JsTsSemanticMergeTriviaKind;
|
|
98
|
+
readonly language?: JsTsSemanticMergeLanguage;
|
|
99
|
+
readonly sourcePath?: string;
|
|
100
|
+
readonly sourceHash?: string;
|
|
101
|
+
readonly text?: string;
|
|
102
|
+
readonly textHash?: string;
|
|
103
|
+
readonly span: SourceSpan;
|
|
104
|
+
readonly attachesToTokenId?: string;
|
|
105
|
+
readonly attachesToRegionId?: string;
|
|
106
|
+
readonly metadata?: Record<string, unknown>;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/** Parser-neutral semantic region used to compare JS/TS declarations, statements, JSX, and type surfaces. */
|
|
110
|
+
export interface JsTsSemanticMergeSemanticRegion {
|
|
111
|
+
readonly schema: 'frontier.lang.jsTsSemanticMergeSemanticRegion.v1';
|
|
112
|
+
readonly id: string;
|
|
113
|
+
readonly kind: JsTsSemanticMergeSemanticRegionKind;
|
|
114
|
+
readonly regionKey: string;
|
|
115
|
+
readonly conflictKey: string;
|
|
116
|
+
readonly language?: JsTsSemanticMergeLanguage;
|
|
117
|
+
readonly sourcePath?: string;
|
|
118
|
+
readonly sourceHash?: string;
|
|
119
|
+
readonly stableHash?: string;
|
|
120
|
+
readonly symbolId?: string;
|
|
121
|
+
readonly symbolName?: string;
|
|
122
|
+
readonly symbolKind?: string;
|
|
123
|
+
readonly parentRegionId?: string;
|
|
124
|
+
readonly childRegionIds?: readonly string[];
|
|
125
|
+
readonly tokenIds?: readonly string[];
|
|
126
|
+
readonly triviaIds?: readonly string[];
|
|
127
|
+
readonly span?: SourceSpan;
|
|
128
|
+
readonly metadata?: Record<string, unknown>;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export interface JsTsSemanticMergeThreeWayEndpoint {
|
|
132
|
+
readonly side: JsTsSemanticMergeThreeWaySide;
|
|
133
|
+
readonly regionId?: string;
|
|
134
|
+
readonly tokenId?: string;
|
|
135
|
+
readonly sourcePath?: string;
|
|
136
|
+
readonly sourceHash?: string;
|
|
137
|
+
readonly span?: SourceSpan;
|
|
138
|
+
readonly semanticHash?: string;
|
|
139
|
+
readonly textHash?: string;
|
|
140
|
+
readonly metadata?: Record<string, unknown>;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/** Three-way match record connecting base, left, and right JS/TS merge evidence. */
|
|
144
|
+
export interface JsTsSemanticMergeThreeWayMatch {
|
|
145
|
+
readonly schema: 'frontier.lang.jsTsSemanticMergeThreeWayMatch.v1';
|
|
146
|
+
readonly id: string;
|
|
147
|
+
readonly matchKey: string;
|
|
148
|
+
readonly status: JsTsSemanticMergeThreeWayMatchStatus;
|
|
149
|
+
readonly confidence: number;
|
|
150
|
+
readonly base?: JsTsSemanticMergeThreeWayEndpoint;
|
|
151
|
+
readonly left?: JsTsSemanticMergeThreeWayEndpoint;
|
|
152
|
+
readonly right?: JsTsSemanticMergeThreeWayEndpoint;
|
|
153
|
+
readonly regionIds?: readonly string[];
|
|
154
|
+
readonly tokenIds?: readonly string[];
|
|
155
|
+
readonly reasonCodes: readonly string[];
|
|
156
|
+
readonly metadata?: Record<string, unknown>;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** Structured JS/TS edit evidence, separate from concrete parser or diff-library nodes. */
|
|
160
|
+
export interface JsTsSemanticMergeStructuredEdit {
|
|
161
|
+
readonly schema: 'frontier.lang.jsTsSemanticMergeStructuredEdit.v1';
|
|
162
|
+
readonly id: string;
|
|
163
|
+
readonly editKey: string;
|
|
164
|
+
readonly side: JsTsSemanticMergeThreeWaySide;
|
|
165
|
+
readonly kind: JsTsSemanticMergeStructuredEditKind;
|
|
166
|
+
readonly targetRegionId?: string;
|
|
167
|
+
readonly targetTokenId?: string;
|
|
168
|
+
readonly sourcePath?: string;
|
|
169
|
+
readonly beforeHash?: string;
|
|
170
|
+
readonly afterHash?: string;
|
|
171
|
+
readonly replacementTextHash?: string;
|
|
172
|
+
readonly insertedTextHash?: string;
|
|
173
|
+
readonly deletedTextHash?: string;
|
|
174
|
+
readonly matchIds?: readonly string[];
|
|
175
|
+
readonly regionIds?: readonly string[];
|
|
176
|
+
readonly tokenIds?: readonly string[];
|
|
177
|
+
readonly triviaIds?: readonly string[];
|
|
178
|
+
readonly conflictKey?: string;
|
|
179
|
+
readonly reasonCodes: readonly string[];
|
|
180
|
+
readonly evidenceIds?: readonly string[];
|
|
181
|
+
readonly metadata?: Record<string, unknown>;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export interface JsTsSemanticMergeConflictSide {
|
|
185
|
+
readonly side: JsTsSemanticMergeThreeWaySide;
|
|
186
|
+
readonly sourcePath?: string;
|
|
187
|
+
readonly sourceHash?: string;
|
|
188
|
+
readonly editIds?: readonly string[];
|
|
189
|
+
readonly regionIds?: readonly string[];
|
|
190
|
+
readonly tokenIds?: readonly string[];
|
|
191
|
+
readonly summary?: string;
|
|
192
|
+
readonly metadata?: Record<string, unknown>;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/** Normalized explanation for a JS/TS semantic merge conflict. */
|
|
196
|
+
export interface JsTsSemanticMergeConflictExplanation {
|
|
197
|
+
readonly kind: 'frontier.lang.jsTsSemanticMergeConflictExplanation';
|
|
198
|
+
readonly version: 1;
|
|
199
|
+
readonly schema: 'frontier.lang.jsTsSemanticMergeConflictExplanation.v1';
|
|
200
|
+
readonly id: string;
|
|
201
|
+
readonly stableId: string;
|
|
202
|
+
readonly hash: string;
|
|
203
|
+
readonly conflictClass: JsTsSemanticMergeConflictClass;
|
|
204
|
+
readonly risk: JsTsSemanticMergeConflictRisk;
|
|
205
|
+
readonly readiness: SemanticMergeReadiness | string;
|
|
206
|
+
readonly language?: JsTsSemanticMergeLanguage;
|
|
207
|
+
readonly sourcePath?: string;
|
|
208
|
+
readonly title?: string;
|
|
209
|
+
readonly summary?: string;
|
|
210
|
+
readonly conflictKeys: readonly string[];
|
|
211
|
+
readonly matchIds: readonly string[];
|
|
212
|
+
readonly editIds: readonly string[];
|
|
213
|
+
readonly regionIds: readonly string[];
|
|
214
|
+
readonly tokenIds: readonly string[];
|
|
215
|
+
readonly triviaIds: readonly string[];
|
|
216
|
+
readonly evidenceIds: readonly string[];
|
|
217
|
+
readonly reasonCodes: readonly string[];
|
|
218
|
+
readonly sides: {
|
|
219
|
+
readonly base?: JsTsSemanticMergeConflictSide;
|
|
220
|
+
readonly left?: JsTsSemanticMergeConflictSide;
|
|
221
|
+
readonly right?: JsTsSemanticMergeConflictSide;
|
|
222
|
+
};
|
|
223
|
+
readonly suggestedAction: 'merge' | 'manual-review' | 'rerun-gates' | 'block' | string;
|
|
224
|
+
readonly metadata?: Record<string, unknown>;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface JsTsSemanticMergeGateCheck {
|
|
228
|
+
readonly id: string;
|
|
229
|
+
readonly name?: string;
|
|
230
|
+
readonly status: JsTsSemanticMergeGateStatus;
|
|
231
|
+
readonly readiness?: SemanticMergeReadiness | string;
|
|
232
|
+
readonly reasonCodes: readonly string[];
|
|
233
|
+
readonly evidenceIds?: readonly string[];
|
|
234
|
+
readonly hash?: string;
|
|
235
|
+
readonly metadata?: Record<string, unknown>;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/** Merge gate result for deciding whether normalized JS/TS merge evidence can proceed. */
|
|
239
|
+
export interface JsTsSemanticMergeGateResult {
|
|
240
|
+
readonly kind: 'frontier.lang.jsTsSemanticMergeGateResult';
|
|
241
|
+
readonly version: 1;
|
|
242
|
+
readonly schema: 'frontier.lang.jsTsSemanticMergeGateResult.v1';
|
|
243
|
+
readonly id: string;
|
|
244
|
+
readonly stableId: string;
|
|
245
|
+
readonly hash: string;
|
|
246
|
+
readonly gateId: string;
|
|
247
|
+
readonly status: JsTsSemanticMergeGateStatus;
|
|
248
|
+
readonly readiness: SemanticMergeReadiness | string;
|
|
249
|
+
readonly mergeable: boolean;
|
|
250
|
+
readonly action: 'merge' | 'review' | 'skip' | 'block' | string;
|
|
251
|
+
readonly confidence: number;
|
|
252
|
+
readonly checks: readonly JsTsSemanticMergeGateCheck[];
|
|
253
|
+
readonly conflictExplanations: readonly JsTsSemanticMergeConflictExplanation[];
|
|
254
|
+
readonly conflictExplanationIds: readonly string[];
|
|
255
|
+
readonly structuredEditIds: readonly string[];
|
|
256
|
+
readonly semanticRegionIds: readonly string[];
|
|
257
|
+
readonly evidenceIds: readonly string[];
|
|
258
|
+
readonly reasonCodes: readonly string[];
|
|
259
|
+
readonly summary: {
|
|
260
|
+
readonly checks: number;
|
|
261
|
+
readonly conflicts: number;
|
|
262
|
+
readonly failedChecks: number;
|
|
263
|
+
readonly warningChecks: number;
|
|
264
|
+
readonly blockedChecks: number;
|
|
265
|
+
readonly evidenceIds: number;
|
|
266
|
+
readonly reasonCodes: readonly string[];
|
|
267
|
+
};
|
|
268
|
+
readonly metadata?: Record<string, unknown>;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
export type JsTsSemanticMergeConflictExplanationInput =
|
|
272
|
+
Partial<JsTsSemanticMergeConflictExplanation> & Record<string, unknown>;
|
|
273
|
+
export type JsTsSemanticMergeGateResultInput =
|
|
274
|
+
Partial<JsTsSemanticMergeGateResult> & Record<string, unknown>;
|
|
275
|
+
|
|
276
|
+
export interface CreateJsTsSemanticMergeConflictExplanationOptions extends JsTsSemanticMergeConflictExplanationInput {
|
|
277
|
+
readonly conflictKey?: string;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export interface CreateJsTsSemanticMergeGateResultOptions extends JsTsSemanticMergeGateResultInput {
|
|
281
|
+
readonly conflicts?: readonly JsTsSemanticMergeConflictExplanationInput[];
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
export declare const JsTsSemanticMergeConflictClasses: readonly JsTsSemanticMergeConflictClass[];
|
|
285
|
+
export declare const JsTsSemanticMergeGateStatuses: readonly JsTsSemanticMergeGateStatus[];
|
|
286
|
+
export declare function createJsTsSemanticMergeConflictExplanation(input?: JsTsSemanticMergeConflictExplanationInput, options?: CreateJsTsSemanticMergeConflictExplanationOptions): JsTsSemanticMergeConflictExplanation;
|
|
287
|
+
export declare function createJsTsSemanticMergeGateResult(input?: JsTsSemanticMergeGateResultInput, options?: CreateJsTsSemanticMergeGateResultOptions): JsTsSemanticMergeGateResult;
|
|
@@ -98,10 +98,13 @@ export type NativeImportRegionTaxonomyKind =
|
|
|
98
98
|
| 'symbol'
|
|
99
99
|
| 'declaration'
|
|
100
100
|
| 'import'
|
|
101
|
+
| 'export'
|
|
101
102
|
| 'body'
|
|
102
103
|
| 'call'
|
|
103
104
|
| 'type'
|
|
105
|
+
| 'controlFlow'
|
|
104
106
|
| 'effect'
|
|
107
|
+
| 'mutation'
|
|
105
108
|
| 'property'
|
|
106
109
|
| 'config'
|
|
107
110
|
| 'content'
|
|
@@ -12,6 +12,18 @@ export interface SemanticEditReplayDiagnostic {
|
|
|
12
12
|
readonly status?: SemanticEditReplayStatus | string;
|
|
13
13
|
readonly operationId?: string;
|
|
14
14
|
readonly sourcePath?: string;
|
|
15
|
+
readonly originalSourcePath?: string;
|
|
16
|
+
readonly targetSourcePath?: string;
|
|
17
|
+
readonly anchorKey?: string;
|
|
18
|
+
readonly targetAnchorKey?: string;
|
|
19
|
+
readonly sourceIdentityStatus?: 'same-source' | 'moved-source' | string;
|
|
20
|
+
readonly sourceIdentityAnchorKey?: string;
|
|
21
|
+
readonly targetIdentityAnchorKey?: string;
|
|
22
|
+
readonly sourceIdentitySourcePath?: string;
|
|
23
|
+
readonly targetIdentitySourcePath?: string;
|
|
24
|
+
readonly semanticIdentityHash?: string;
|
|
25
|
+
readonly sourceIdentityHash?: string;
|
|
26
|
+
readonly editContentHash?: string;
|
|
15
27
|
readonly symbolName?: string;
|
|
16
28
|
readonly symbolKind?: string;
|
|
17
29
|
readonly editKind?: 'replace' | 'insert' | 'delete' | string;
|
|
@@ -137,15 +137,18 @@ export interface SemanticEditProjectionEdit {
|
|
|
137
137
|
readonly semanticKey?: string;
|
|
138
138
|
readonly semanticIdentityHash?: string;
|
|
139
139
|
readonly sourceIdentityHash?: string;
|
|
140
|
+
readonly sourceIdentityStatus?: 'same-source' | 'moved-source' | string;
|
|
141
|
+
readonly sourceIdentityAnchorKey?: string; readonly targetIdentityAnchorKey?: string;
|
|
142
|
+
readonly sourceIdentitySourcePath?: string; readonly targetIdentitySourcePath?: string;
|
|
140
143
|
readonly operationContentHash?: string;
|
|
141
144
|
readonly editContentHash?: string;
|
|
142
|
-
readonly headStart: number;
|
|
143
|
-
readonly
|
|
144
|
-
readonly
|
|
145
|
-
readonly workerEnd?: number;
|
|
145
|
+
readonly headStart: number; readonly headEnd: number;
|
|
146
|
+
readonly workerStart?: number; readonly workerEnd?: number;
|
|
147
|
+
readonly headAnchorStart?: number; readonly headAnchorEnd?: number;
|
|
146
148
|
readonly deletedBytes: number;
|
|
147
149
|
readonly replacementBytes: number;
|
|
148
150
|
readonly deletedTextHash?: string;
|
|
151
|
+
readonly deletedText?: string;
|
|
149
152
|
readonly replacementTextHash?: string;
|
|
150
153
|
readonly deletedTextLineEndingStableHash?: string;
|
|
151
154
|
readonly replacementTextLineEndingStableHash?: string;
|
|
@@ -11,6 +11,12 @@ export interface SemanticPatchBundleRecordIndex {
|
|
|
11
11
|
readonly sourceMapLinkIds: readonly string[];
|
|
12
12
|
readonly evidenceIds: readonly string[];
|
|
13
13
|
readonly proofIds: readonly string[];
|
|
14
|
+
readonly lineageResolutionIds: readonly string[];
|
|
15
|
+
readonly lineageEventIds: readonly string[];
|
|
16
|
+
readonly lineageSourcePaths: readonly string[];
|
|
17
|
+
readonly lineageEvidenceIds: readonly string[];
|
|
18
|
+
readonly lineageProofIds: readonly string[];
|
|
19
|
+
readonly lineageReasonCodes: readonly string[];
|
|
14
20
|
readonly historyIds: readonly string[];
|
|
15
21
|
readonly semanticOperationIds: readonly string[];
|
|
16
22
|
readonly semanticEditScriptIds: readonly string[];
|
|
@@ -18,11 +24,13 @@ export interface SemanticPatchBundleRecordIndex {
|
|
|
18
24
|
readonly semanticEditReplayIds: readonly string[];
|
|
19
25
|
readonly semanticEditReplayStatuses: readonly string[];
|
|
20
26
|
readonly semanticEditReplayActions: readonly string[];
|
|
27
|
+
readonly semanticEditReplayReasonCodes: readonly string[];
|
|
21
28
|
readonly semanticEditAdmissionStatuses: readonly string[];
|
|
22
29
|
readonly semanticEditAdmissionActions: readonly string[];
|
|
23
30
|
readonly semanticEditAdmissionReadinesses: readonly string[];
|
|
24
31
|
readonly semanticEditReplayCurrentHashes: readonly string[];
|
|
25
32
|
readonly semanticEditReplayOutputHashes: readonly string[];
|
|
33
|
+
readonly sourceBackprojectionModes: readonly string[];
|
|
26
34
|
readonly semanticEditKeys: readonly string[];
|
|
27
35
|
readonly semanticIdentityHashes: readonly string[];
|
|
28
36
|
readonly sourceIdentityHashes: readonly string[];
|
|
@@ -33,12 +41,18 @@ export interface SemanticPatchBundleRecordIndex {
|
|
|
33
41
|
readonly semanticTransformIdentityHashes: readonly string[];
|
|
34
42
|
readonly semanticTransformContentHashes: readonly string[];
|
|
35
43
|
readonly projectionIdentityHashes: readonly string[];
|
|
44
|
+
readonly transformBaseHashes: readonly string[];
|
|
45
|
+
readonly transformTargetHashes: readonly string[];
|
|
36
46
|
readonly semanticTransformReadinesses: readonly string[];
|
|
37
47
|
readonly semanticTransformEvidenceIds: readonly string[];
|
|
38
48
|
readonly transformSourceLanguages: readonly string[];
|
|
39
49
|
readonly transformTargetLanguages: readonly string[];
|
|
40
50
|
readonly transformSourcePaths: readonly string[];
|
|
41
51
|
readonly transformTargetPaths: readonly string[];
|
|
52
|
+
readonly transformCrossLanguages: readonly string[];
|
|
53
|
+
readonly transformSourceMapIds: readonly string[];
|
|
54
|
+
readonly transformSourceMapLinkIds: readonly string[];
|
|
55
|
+
readonly transformSourceMapMappingIds: readonly string[];
|
|
42
56
|
readonly targetPortabilityStatuses: readonly string[];
|
|
43
57
|
readonly targetPortabilityActions: readonly string[];
|
|
44
58
|
readonly targetPortabilityReasonCodes: readonly string[];
|
|
@@ -47,3 +61,34 @@ export interface SemanticPatchBundleRecordIndex {
|
|
|
47
61
|
readonly readinesses: readonly string[];
|
|
48
62
|
readonly admissionStatuses: readonly string[];
|
|
49
63
|
}
|
|
64
|
+
|
|
65
|
+
export interface SemanticPatchBundleRecordQueryIndexFilters {
|
|
66
|
+
readonly lineageResolutionId?: string | readonly string[];
|
|
67
|
+
readonly lineageResolutionIds?: readonly string[];
|
|
68
|
+
readonly lineageEventId?: string | readonly string[];
|
|
69
|
+
readonly lineageEventIds?: readonly string[];
|
|
70
|
+
readonly lineageSourcePath?: string | readonly string[];
|
|
71
|
+
readonly lineageSourcePaths?: readonly string[];
|
|
72
|
+
readonly lineageEvidenceId?: string | readonly string[];
|
|
73
|
+
readonly lineageEvidenceIds?: readonly string[];
|
|
74
|
+
readonly lineageProofId?: string | readonly string[];
|
|
75
|
+
readonly lineageProofIds?: readonly string[];
|
|
76
|
+
readonly lineageReasonCode?: string | readonly string[];
|
|
77
|
+
readonly lineageReasonCodes?: readonly string[];
|
|
78
|
+
readonly sourceBackprojectionMode?: string | readonly string[];
|
|
79
|
+
readonly sourceBackprojectionModes?: readonly string[];
|
|
80
|
+
readonly semanticEditReplayReasonCode?: string | readonly string[];
|
|
81
|
+
readonly semanticEditReplayReasonCodes?: readonly string[];
|
|
82
|
+
readonly transformBaseHash?: string | readonly string[];
|
|
83
|
+
readonly transformBaseHashes?: readonly string[];
|
|
84
|
+
readonly transformTargetHash?: string | readonly string[];
|
|
85
|
+
readonly transformTargetHashes?: readonly string[];
|
|
86
|
+
readonly transformCrossLanguage?: boolean | string | readonly string[];
|
|
87
|
+
readonly transformCrossLanguages?: readonly string[];
|
|
88
|
+
readonly transformSourceMapId?: string | readonly string[];
|
|
89
|
+
readonly transformSourceMapIds?: readonly string[];
|
|
90
|
+
readonly transformSourceMapLinkId?: string | readonly string[];
|
|
91
|
+
readonly transformSourceMapLinkIds?: readonly string[];
|
|
92
|
+
readonly transformSourceMapMappingId?: string | readonly string[];
|
|
93
|
+
readonly transformSourceMapMappingIds?: readonly string[];
|
|
94
|
+
}
|
|
@@ -9,11 +9,11 @@ import type {
|
|
|
9
9
|
import type { NativeSourceChangeKind, NativeSourceChangeSet } from './native-diff.js';
|
|
10
10
|
import type { SemanticEditBundleAdmission } from './semantic-edit-bundle.js';
|
|
11
11
|
import type { SemanticEditProjection, SemanticEditReplay, SemanticEditScript } from './semantic-edit-script.js';
|
|
12
|
-
import type { SemanticPatchBundleRecordIndex } from './semantic-patch-bundle-index.js';
|
|
12
|
+
import type { SemanticPatchBundleRecordIndex, SemanticPatchBundleRecordQueryIndexFilters } from './semantic-patch-bundle-index.js';
|
|
13
13
|
import type { SemanticTransformIdentityRecord } from './semantic-transform-identity.js';
|
|
14
14
|
import type { BidirectionalTargetPortabilityRecord } from './bidirectional-target-change.js';
|
|
15
15
|
|
|
16
|
-
export type { SemanticPatchBundleRecordIndex } from './semantic-patch-bundle-index.js';
|
|
16
|
+
export type { SemanticPatchBundleRecordIndex, SemanticPatchBundleRecordQueryIndexFilters } from './semantic-patch-bundle-index.js';
|
|
17
17
|
|
|
18
18
|
export type SemanticPatchBundleAdmissionStatus = 'proposed' | 'queued' | 'admitted' | 'needs-review' | 'blocked' | 'rejected' | string;
|
|
19
19
|
|
|
@@ -78,6 +78,7 @@ export interface SemanticPatchBundleSourceMapLink {
|
|
|
78
78
|
readonly precision?: string;
|
|
79
79
|
readonly sourceSpan?: SourceSpan;
|
|
80
80
|
readonly generatedSpan?: SourceMapMappingRecord['generatedSpan'];
|
|
81
|
+
readonly sourceReplacementText?: string; readonly sourceReplacementTextHash?: string;
|
|
81
82
|
readonly regionKey?: string;
|
|
82
83
|
readonly regionKind?: string;
|
|
83
84
|
}
|
|
@@ -121,10 +122,12 @@ export interface SemanticPatchBundleTransformAdmission {
|
|
|
121
122
|
readonly transformKeys?: readonly string[];
|
|
122
123
|
readonly contentHashes?: readonly string[];
|
|
123
124
|
readonly projectionIdentityHashes?: readonly string[];
|
|
125
|
+
readonly baseHashes?: readonly string[]; readonly targetHashes?: readonly string[];
|
|
124
126
|
readonly sourceLanguages?: readonly string[];
|
|
125
127
|
readonly targetLanguages?: readonly string[];
|
|
126
128
|
readonly sourcePaths?: readonly string[];
|
|
127
129
|
readonly targetPaths?: readonly string[];
|
|
130
|
+
readonly sourceMapIds?: readonly string[]; readonly sourceMapLinkIds?: readonly string[]; readonly sourceMapMappingIds?: readonly string[];
|
|
128
131
|
readonly evidenceIds?: readonly string[];
|
|
129
132
|
}
|
|
130
133
|
|
|
@@ -214,7 +217,7 @@ export interface CreateSemanticPatchBundleRecordOptions {
|
|
|
214
217
|
|
|
215
218
|
export type CreateSemanticPatchBundleRecordInput = NativeSourceChangeSet | Partial<SemanticPatchBundleRecord> | Record<string, unknown>;
|
|
216
219
|
|
|
217
|
-
export interface SemanticPatchBundleRecordQuery {
|
|
220
|
+
export interface SemanticPatchBundleRecordQuery extends SemanticPatchBundleRecordQueryIndexFilters {
|
|
218
221
|
readonly id?: string | readonly string[];
|
|
219
222
|
readonly ids?: readonly string[];
|
|
220
223
|
readonly patchId?: string | readonly string[];
|
|
@@ -312,7 +315,6 @@ export interface SemanticPatchBundleRecordQuery {
|
|
|
312
315
|
readonly admissionStatus?: SemanticPatchBundleAdmissionStatus | readonly string[];
|
|
313
316
|
readonly admissionStatuses?: readonly string[];
|
|
314
317
|
}
|
|
315
|
-
|
|
316
318
|
export declare const SemanticPatchBundleAdmissionStatuses: readonly SemanticPatchBundleAdmissionStatus[];
|
|
317
319
|
export declare function createSemanticPatchBundleRecord(input?: CreateSemanticPatchBundleRecordInput, options?: CreateSemanticPatchBundleRecordOptions): SemanticPatchBundleRecord;
|
|
318
320
|
export declare function querySemanticPatchBundleRecords(records: SemanticPatchBundleRecord | readonly SemanticPatchBundleRecord[], query?: SemanticPatchBundleRecordQuery): readonly SemanticPatchBundleRecord[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SemanticImportSidecar } from './semantic-sidecar.js';
|
|
2
|
+
|
|
3
|
+
export interface SemanticImportSidecarSourceRevisionExample {
|
|
4
|
+
readonly path: string;
|
|
5
|
+
readonly hash: string;
|
|
6
|
+
readonly identityHash: string;
|
|
7
|
+
readonly text?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface SemanticImportSidecarCompactExample {
|
|
11
|
+
readonly schema: 'frontier.lang.semanticImportSidecar.example.compact.v1';
|
|
12
|
+
readonly baseSource: SemanticImportSidecarSourceRevisionExample;
|
|
13
|
+
readonly headSource: SemanticImportSidecarSourceRevisionExample;
|
|
14
|
+
readonly identityHashes: Readonly<Record<string, string>>;
|
|
15
|
+
readonly sidecar: SemanticImportSidecar;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export declare const compactSemanticSidecarExample: SemanticImportSidecarCompactExample;
|
|
@@ -20,6 +20,9 @@ export interface SemanticTransformIdentityRecord {
|
|
|
20
20
|
readonly transformIdentityHash?: string;
|
|
21
21
|
readonly projectionIdentityHash?: string;
|
|
22
22
|
readonly transformContentHash?: string;
|
|
23
|
+
readonly sourceMapIds?: readonly string[];
|
|
24
|
+
readonly sourceMapLinkIds?: readonly string[];
|
|
25
|
+
readonly sourceMapMappingIds?: readonly string[];
|
|
23
26
|
readonly readiness?: string;
|
|
24
27
|
readonly confidence?: number;
|
|
25
28
|
readonly evidenceIds?: readonly string[];
|
|
@@ -54,11 +54,16 @@ export type NativeSourceTokenKind =
|
|
|
54
54
|
| 'keyword'
|
|
55
55
|
| 'number'
|
|
56
56
|
| 'string'
|
|
57
|
+
| 'template'
|
|
58
|
+
| 'regex-like'
|
|
59
|
+
| 'jsx'
|
|
57
60
|
| 'operator'
|
|
58
61
|
| 'punctuation'
|
|
59
62
|
| 'comment'
|
|
63
|
+
| 'source-map-comment'
|
|
60
64
|
| 'whitespace'
|
|
61
65
|
| 'newline'
|
|
66
|
+
| 'shebang'
|
|
62
67
|
| 'directive'
|
|
63
68
|
| 'unknown'
|
|
64
69
|
| string;
|
|
@@ -81,6 +86,65 @@ export interface NativeSourcePreservedDirective {
|
|
|
81
86
|
readonly metadata?: Record<string, unknown>;
|
|
82
87
|
}
|
|
83
88
|
|
|
89
|
+
export type NativeSourceLedgerSpanRole =
|
|
90
|
+
| 'token'
|
|
91
|
+
| 'trivia'
|
|
92
|
+
| 'comment'
|
|
93
|
+
| 'directive'
|
|
94
|
+
| 'module-keyword'
|
|
95
|
+
| 'brace'
|
|
96
|
+
| 'protected'
|
|
97
|
+
| string;
|
|
98
|
+
|
|
99
|
+
export interface NativeSourceLedgerSpan {
|
|
100
|
+
readonly id: string;
|
|
101
|
+
readonly kind: string;
|
|
102
|
+
readonly role: NativeSourceLedgerSpanRole;
|
|
103
|
+
readonly text?: string;
|
|
104
|
+
readonly textHash: string;
|
|
105
|
+
readonly span: SourceSpan;
|
|
106
|
+
readonly metadata?: Record<string, unknown>;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface NativeSourceLedgerSummary {
|
|
110
|
+
readonly spans: number;
|
|
111
|
+
readonly tokens: number;
|
|
112
|
+
readonly trivia: number;
|
|
113
|
+
readonly comments: number;
|
|
114
|
+
readonly shebangs: number;
|
|
115
|
+
readonly directives: number;
|
|
116
|
+
readonly sourceMapComments: number;
|
|
117
|
+
readonly importExportSpans: number;
|
|
118
|
+
readonly braces: number;
|
|
119
|
+
readonly protectedRegions: number;
|
|
120
|
+
readonly stringRegions: number;
|
|
121
|
+
readonly templateRegions: number;
|
|
122
|
+
readonly regexLikeRegions: number;
|
|
123
|
+
readonly jsxRegions: number;
|
|
124
|
+
readonly triviaByKind?: Record<string, number>;
|
|
125
|
+
readonly tokenByKind?: Record<string, number>;
|
|
126
|
+
readonly directiveByKind?: Record<string, number>;
|
|
127
|
+
readonly truncated: boolean;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface NativeSourceLedger {
|
|
131
|
+
readonly kind: 'frontier.lang.jsTsSourceLedger';
|
|
132
|
+
readonly version: 1;
|
|
133
|
+
readonly language: FrontierSourceLanguage | string;
|
|
134
|
+
readonly sourcePath?: string;
|
|
135
|
+
readonly sourceHash: string;
|
|
136
|
+
readonly spans: readonly NativeSourceLedgerSpan[];
|
|
137
|
+
readonly tokens: readonly NativeSourceLedgerSpan[];
|
|
138
|
+
readonly trivia: readonly NativeSourceLedgerSpan[];
|
|
139
|
+
readonly comments: readonly NativeSourceLedgerSpan[];
|
|
140
|
+
readonly shebangs: readonly NativeSourceLedgerSpan[];
|
|
141
|
+
readonly directives: readonly NativeSourceLedgerSpan[];
|
|
142
|
+
readonly importExportSpans: readonly NativeSourceLedgerSpan[];
|
|
143
|
+
readonly braces: readonly NativeSourceLedgerSpan[];
|
|
144
|
+
readonly protectedRegions: readonly NativeSourceLedgerSpan[];
|
|
145
|
+
readonly summary: NativeSourceLedgerSummary;
|
|
146
|
+
}
|
|
147
|
+
|
|
84
148
|
export interface NativeSourcePreservation {
|
|
85
149
|
readonly kind: 'frontier.lang.nativeSourcePreservation';
|
|
86
150
|
readonly version: 1;
|
|
@@ -96,12 +160,18 @@ export interface NativeSourcePreservation {
|
|
|
96
160
|
readonly tokens: readonly NativeSourcePreservedToken[];
|
|
97
161
|
readonly trivia: readonly NativeSourcePreservedToken[];
|
|
98
162
|
readonly directives: readonly NativeSourcePreservedDirective[];
|
|
163
|
+
readonly ledger?: NativeSourceLedger;
|
|
99
164
|
readonly summary: {
|
|
100
165
|
readonly tokens: number;
|
|
101
166
|
readonly trivia: number;
|
|
102
167
|
readonly directives: number;
|
|
103
168
|
readonly comments: number;
|
|
104
169
|
readonly whitespace: number;
|
|
170
|
+
readonly ledger?: NativeSourceLedgerSummary;
|
|
171
|
+
readonly sourceMapComments?: number;
|
|
172
|
+
readonly protectedRegions?: number;
|
|
173
|
+
readonly importExportSpans?: number;
|
|
174
|
+
readonly braces?: number;
|
|
105
175
|
readonly exactSourceAvailable: boolean;
|
|
106
176
|
readonly truncated: boolean;
|
|
107
177
|
};
|
|
@@ -119,8 +189,10 @@ export interface CreateNativeSourcePreservationOptions {
|
|
|
119
189
|
readonly includeTokens?: boolean;
|
|
120
190
|
readonly includeTrivia?: boolean;
|
|
121
191
|
readonly includeDirectives?: boolean;
|
|
192
|
+
readonly includeSourceLedger?: boolean;
|
|
122
193
|
readonly maxTokens?: number;
|
|
123
194
|
readonly maxTrivia?: number;
|
|
124
195
|
readonly maxDirectives?: number;
|
|
196
|
+
readonly maxLedgerSpans?: number;
|
|
125
197
|
readonly metadata?: Record<string, unknown>;
|
|
126
198
|
}
|
|
@@ -49,6 +49,7 @@ import type { JavaAstNativeImporterAdapterOptions, KotlinPsiNativeImporterAdapte
|
|
|
49
49
|
import type { NativeTargetProjectionAdapterCoverageInput, NativeTargetProjectionAdapterSummary, NativeTargetProjectionAdapterInput, NativeTargetProjectionAdapterResult, NativeTargetProjectionAdapter, NativeTargetProjectionAdapterResolverInput, NativeTargetProjectionResult } from './target-adapters.js';
|
|
50
50
|
import type { NativeProjectSourceInput, ImportNativeProjectOptions, NativeProjectImportResult, NativeSourceProjectionMode, ProjectNativeImportToSourceOptions, NativeSourceProjectionDeclaration, NativeSourceProjectionResult, NativeSourceCompileOutputMode, CompileNativeSourceOptions, NativeSourceCompileResult } from './native-project.js';
|
|
51
51
|
import type { NativeImportRoundtripReadinessStatus, NativeImportRoundtripReadinessOptions, NativeImportRoundtripReadinessClassification } from './roundtrip.js';
|
|
52
|
+
import type { UniversalRepresentationCoverage } from './universal-representation-coverage.js';
|
|
52
53
|
|
|
53
54
|
export interface UniversalCapabilityLanguageRow {
|
|
54
55
|
readonly language: FrontierSourceLanguage | string;
|
|
@@ -89,6 +90,7 @@ export interface UniversalCapabilityLanguageRow {
|
|
|
89
90
|
readonly knownLossKinds: readonly NativeImportKnownLossKind[];
|
|
90
91
|
readonly sourceMapMappings: number;
|
|
91
92
|
};
|
|
93
|
+
readonly representation: UniversalRepresentationCoverage;
|
|
92
94
|
readonly blockers: readonly string[];
|
|
93
95
|
readonly review: readonly string[];
|
|
94
96
|
}
|
|
@@ -111,6 +113,8 @@ export interface UniversalCapabilityMatrix {
|
|
|
111
113
|
readonly unsupportedTargetFeatures: number;
|
|
112
114
|
readonly exactSourceProjection: number;
|
|
113
115
|
readonly nativeSourceStubs: number;
|
|
116
|
+
readonly representationConstructs: number;
|
|
117
|
+
readonly representationMissing: number;
|
|
114
118
|
readonly blockers: number;
|
|
115
119
|
readonly reviewReasons: number;
|
|
116
120
|
readonly readyLanguages: number;
|