@shapeshift-labs/frontier-lang-compiler 0.2.66 → 0.2.68
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 +6 -2
- package/bench/smoke.mjs +15 -1
- package/bench/universal-fixture-suite.mjs +183 -0
- package/dist/declarations/native-project-admission.d.ts +115 -0
- package/dist/declarations/roundtrip-audit.d.ts +186 -0
- package/dist/declarations/roundtrip.d.ts +2 -53
- package/dist/declarations/runtime.d.ts +0 -11
- package/dist/declarations/semantic-history-records.d.ts +277 -0
- package/dist/declarations/semantic-history.d.ts +45 -92
- package/dist/declarations/semantic-slice-admission.d.ts +111 -0
- package/dist/declarations/semantic-slice.d.ts +36 -1
- package/dist/declarations/universal-conversion-plan.d.ts +59 -0
- package/dist/declarations/universal-runtime-capabilities.d.ts +171 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/internal/index-impl/createNativeRoundtripEvidence.js +54 -49
- package/dist/internal/index-impl/createSemanticSlice.js +1 -1
- package/dist/internal/index-impl/createSemanticSliceAdmissionRecord.js +10 -1
- package/dist/internal/index-impl/expandSemanticSliceSelection.js +0 -1
- package/dist/internal/index-impl/nativeRoundtripAudit.js +217 -0
- package/dist/internal/index-impl/projectImportAdmissionImportEvidence.js +160 -0
- package/dist/internal/index-impl/projectImportAdmissionLanguageSummaries.js +247 -0
- package/dist/internal/index-impl/projectImportAdmissionRanks.js +52 -0
- package/dist/internal/index-impl/projectImportAdmissionSummaries.js +46 -111
- package/dist/internal/index-impl/projectImportAdmissionTasks.js +239 -0
- package/dist/internal/index-impl/semanticHistoryRecordNormalizers.js +151 -0
- package/dist/internal/index-impl/semanticHistoryRecordOverlaps.js +113 -0
- package/dist/internal/index-impl/semanticHistoryRecords.js +210 -149
- package/dist/internal/index-impl/semanticSliceAdmissionSurface.js +142 -0
- package/dist/internal/index-impl/semanticSliceExpectationAssertions.js +100 -0
- package/dist/internal/index-impl/semanticSliceExpectationRecords.js +75 -0
- package/dist/internal/index-impl/semanticSliceExpectedAssertions.js +5 -2
- package/dist/internal/index-impl/testSemanticSlice.js +4 -1
- package/dist/language-adapter-package-contracts.js +12 -57
- package/dist/language-adapter-package-rows.js +116 -0
- package/dist/universal-conversion-plan-summary.js +42 -0
- package/dist/universal-conversion-plan.js +46 -40
- package/dist/universal-runtime-capabilities.js +92 -0
- package/dist/universal-runtime-host-selectors.js +192 -0
- package/dist/universal-runtime-profiles.js +109 -0
- package/dist/universal-runtime-route-records.js +162 -0
- package/examples/js-frontier-rust-workbench-client.mjs +58 -1
- package/examples/js-frontier-rust-workbench-convert.mjs +161 -0
- package/examples/js-frontier-rust-workbench-route-styles.mjs +126 -0
- package/examples/js-frontier-rust-workbench-route.mjs +190 -0
- package/examples/js-frontier-rust-workbench-styles.mjs +3 -38
- package/examples/js-frontier-rust-workbench.mjs +22 -128
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -439,6 +439,8 @@ const imported = importNativeSource({
|
|
|
439
439
|
const slice = createSemanticSlice(imported, {
|
|
440
440
|
entryRefs: ['symbol:parseExpression'],
|
|
441
441
|
includeDependencies: true,
|
|
442
|
+
expectedSymbols: ['parseExpression'],
|
|
443
|
+
expectedSourceHashes: { 'src/parser.ts': imported.nativeSource.sourceHash },
|
|
442
444
|
focusedCommands: ['npm test -- parser-expression'],
|
|
443
445
|
fixtureHints: ['operator precedence corpus']
|
|
444
446
|
});
|
|
@@ -448,17 +450,19 @@ console.log(slice.mergeAdmission.conflictKeys); // semantic ownership keys
|
|
|
448
450
|
console.log(slice.sourceFiles[0].sourceHash); // stale-check input for admission
|
|
449
451
|
|
|
450
452
|
const gate = testSemanticSlice(slice, {
|
|
451
|
-
currentSources: { 'src/parser.ts': sourceText }
|
|
453
|
+
currentSources: { 'src/parser.ts': sourceText },
|
|
454
|
+
expectedRegions: [slice.ownershipRegions[0].key]
|
|
452
455
|
});
|
|
453
456
|
|
|
454
457
|
console.log(gate.status); // "passed", "needs-review", or "failed"
|
|
455
458
|
const admission = createSemanticSliceAdmissionRecord(slice, { testResult: gate });
|
|
456
459
|
console.log(admission.mergeScore.value); // sortable 0-100 semantic merge score
|
|
460
|
+
console.log(admission.selectedSurface.sourceHashes); // compact selected-surface evidence
|
|
457
461
|
console.log(admission.autoMergeClaim); // always false
|
|
458
462
|
console.log(writeSemanticSliceJson(slice)); // stable JSON for worker inputs
|
|
459
463
|
```
|
|
460
464
|
|
|
461
|
-
A semantic slice is the small unit a swarm can hand to a worker instead of copying a full repository. It carries the selected symbols, ownership regions, native nodes, relations, occurrences, source-map links, source spans, source excerpts, source hashes, focused verification commands, fixture hints, and merge-admission metadata. It does not claim the patch is correct; it makes the context and conflicts machine-readable so admission scoring can combine changed ownership, focused test status, stale/source-hash checks, evidence, and semantic risk in one sortable record.
|
|
465
|
+
A semantic slice is the small unit a swarm can hand to a worker instead of copying a full repository. It carries the selected symbols, ownership regions, native nodes, relations, occurrences, source-map links, source spans, source excerpts, source hashes, focused verification commands, fixture hints, and merge-admission metadata. Slice tests can assert exact selected symbols, regions, source-file hashes, and expected counts; admission records also include a compact `selectedSurface` plus `semantic-slice-selected-surface` evidence with hashes and spans but no whole-repository source copy. It does not claim the patch is correct; it makes the context and conflicts machine-readable so admission scoring can combine changed ownership, focused test status, stale/source-hash checks, evidence, and semantic risk in one sortable record.
|
|
462
466
|
|
|
463
467
|
Slice admission records add a compact `frontier.lang.semanticMergeScore.v1` score with semantic-selection, source-freshness, ownership-isolation, verification-evidence, and review-risk components. They are built for coordinator queues and dashboards: sort likely useful slices first, reject stale or empty slices early, and keep correctness proof separate from merge metadata.
|
|
464
468
|
|
package/bench/smoke.mjs
CHANGED
|
@@ -3,12 +3,14 @@ import { collectNativeImports } from './native-import-suite.mjs';
|
|
|
3
3
|
import { measureNativeMatrices } from './native-matrix-suite.mjs';
|
|
4
4
|
import { measureNativeTransformations } from './native-transform-suite.mjs';
|
|
5
5
|
import { measureSourceChangeSuites } from './source-change-suite.mjs';
|
|
6
|
+
import { measureUniversalFixtureSuite } from './universal-fixture-suite.mjs';
|
|
6
7
|
|
|
7
8
|
const compileMetrics = measureFrontierCompile();
|
|
8
9
|
const importMetrics = await collectNativeImports();
|
|
9
10
|
const matrixMetrics = measureNativeMatrices(importMetrics.nativeImportResults, importMetrics.adapters);
|
|
10
11
|
const transformMetrics = measureNativeTransformations(importMetrics.nativeImportResults);
|
|
11
12
|
const sourceChangeMetrics = measureSourceChangeSuites();
|
|
13
|
+
const universalFixtureMetrics = measureUniversalFixtureSuite(importMetrics.adapters);
|
|
12
14
|
|
|
13
15
|
console.log(JSON.stringify({
|
|
14
16
|
compiles: 250,
|
|
@@ -107,5 +109,17 @@ console.log(JSON.stringify({
|
|
|
107
109
|
externalSemanticImports: sourceChangeMetrics.externalSemanticImports,
|
|
108
110
|
externalSemanticSymbols: sourceChangeMetrics.externalSemanticSymbols,
|
|
109
111
|
externalSemanticMappings: sourceChangeMetrics.externalSemanticMappings,
|
|
110
|
-
externalSemanticDurationMs: Number(sourceChangeMetrics.externalSemanticDurationMs.toFixed(2))
|
|
112
|
+
externalSemanticDurationMs: Number(sourceChangeMetrics.externalSemanticDurationMs.toFixed(2)),
|
|
113
|
+
universalFixtureImports: universalFixtureMetrics.imports,
|
|
114
|
+
universalFixtureLanguages: universalFixtureMetrics.languages,
|
|
115
|
+
universalFixtureRoutes: universalFixtureMetrics.routes,
|
|
116
|
+
universalFixtureTargetAdapterRoutes: universalFixtureMetrics.targetAdapterRoutes,
|
|
117
|
+
universalFixtureSemanticIndexOnlyRoutes: universalFixtureMetrics.semanticIndexOnlyRoutes,
|
|
118
|
+
universalFixtureRouteScoreMin: universalFixtureMetrics.routeScoreMin,
|
|
119
|
+
universalFixtureRouteScoreMax: universalFixtureMetrics.routeScoreMax,
|
|
120
|
+
universalFixtureLossSummaries: universalFixtureMetrics.lossSummaries,
|
|
121
|
+
universalFixtureLossCategories: universalFixtureMetrics.lossCategories,
|
|
122
|
+
universalFixtureCandidateRecords: universalFixtureMetrics.candidateRecords,
|
|
123
|
+
universalFixtureBestCandidateSortKey: universalFixtureMetrics.bestCandidateSortKey,
|
|
124
|
+
universalFixtureDurationMs: Number(universalFixtureMetrics.durationMs.toFixed(2))
|
|
111
125
|
}));
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { performance } from 'node:perf_hooks';
|
|
2
|
+
import {
|
|
3
|
+
createSemanticMergeCandidateAdmissionRecord,
|
|
4
|
+
createUniversalCapabilityMatrix,
|
|
5
|
+
createUniversalConversionArtifacts,
|
|
6
|
+
createUniversalConversionPlan,
|
|
7
|
+
diffNativeSources,
|
|
8
|
+
importNativeSource,
|
|
9
|
+
sortSemanticMergeCandidateAdmissionRecords,
|
|
10
|
+
summarizeNativeImportLosses
|
|
11
|
+
} from '../dist/index.js';
|
|
12
|
+
import { createBenchMatrixAdapters } from './native-adapters.mjs';
|
|
13
|
+
|
|
14
|
+
const requiredFeatures = ['syntax', 'semantic', 'sourcePreservation'];
|
|
15
|
+
const targets = ['javascript', 'python', 'rust', 'c'];
|
|
16
|
+
const handledHighRiskLossKinds = [
|
|
17
|
+
'conditionalCompilation',
|
|
18
|
+
'dynamicDispatch',
|
|
19
|
+
'dynamicRuntime',
|
|
20
|
+
'generatedCode',
|
|
21
|
+
'macroExpansion',
|
|
22
|
+
'macroHygiene',
|
|
23
|
+
'metaprogramming',
|
|
24
|
+
'overloadResolution',
|
|
25
|
+
'preprocessor',
|
|
26
|
+
'reflection',
|
|
27
|
+
'typeInference',
|
|
28
|
+
'unsupportedSemantic',
|
|
29
|
+
'unsupportedSyntax'
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
export function measureUniversalFixtureSuite(adapters) {
|
|
33
|
+
const start = performance.now();
|
|
34
|
+
const imports = createImports();
|
|
35
|
+
const targetAdapters = createTargetAdapters();
|
|
36
|
+
const matrix = createUniversalCapabilityMatrix({
|
|
37
|
+
generatedAt: 1201,
|
|
38
|
+
imports,
|
|
39
|
+
adapters: createBenchMatrixAdapters(adapters),
|
|
40
|
+
targetAdapters,
|
|
41
|
+
targets,
|
|
42
|
+
requiredFeatures
|
|
43
|
+
});
|
|
44
|
+
const plan = createUniversalConversionPlan({
|
|
45
|
+
generatedAt: 1202,
|
|
46
|
+
imports,
|
|
47
|
+
adapters: createBenchMatrixAdapters(adapters),
|
|
48
|
+
targetAdapters,
|
|
49
|
+
targets,
|
|
50
|
+
requiredFeatures,
|
|
51
|
+
evidence: [{
|
|
52
|
+
id: 'bench_universal_fixture_replay',
|
|
53
|
+
kind: 'conversion-replay-proof',
|
|
54
|
+
status: 'passed'
|
|
55
|
+
}]
|
|
56
|
+
});
|
|
57
|
+
const artifacts = createUniversalConversionArtifacts(plan, { generatedAt: 1203 });
|
|
58
|
+
const lossSummaries = imports.map((imported) => summarizeNativeImportLosses(imported.losses, {
|
|
59
|
+
evidence: imported.evidence,
|
|
60
|
+
exactAst: imported.metadata?.nativeImportLossSummary?.exactAst
|
|
61
|
+
}));
|
|
62
|
+
const candidateRecords = sortSemanticMergeCandidateAdmissionRecords(createCandidateRecords());
|
|
63
|
+
const routeScores = plan.routes.map((route) => route.mergeScore.value);
|
|
64
|
+
return {
|
|
65
|
+
imports: imports.length,
|
|
66
|
+
languages: matrix.summary.languages,
|
|
67
|
+
routes: plan.routes.length,
|
|
68
|
+
targetAdapterRoutes: plan.summary.targetAdapterRoutes,
|
|
69
|
+
semanticIndexOnlyRoutes: plan.summary.semanticIndexOnlyRoutes,
|
|
70
|
+
routeScoreMin: Math.min(...routeScores),
|
|
71
|
+
routeScoreMax: Math.max(...routeScores),
|
|
72
|
+
lossSummaries: lossSummaries.length,
|
|
73
|
+
lossCategories: lossSummaries.reduce((sum, summary) => sum + summary.categories.length, 0),
|
|
74
|
+
candidateRecords: candidateRecords.length,
|
|
75
|
+
bestCandidateSortKey: candidateRecords[0]?.readinessSortKey ?? 0,
|
|
76
|
+
artifactAdmissionRecords: artifacts.summary.admissionRecords,
|
|
77
|
+
durationMs: performance.now() - start
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function createImports() {
|
|
82
|
+
return [{
|
|
83
|
+
language: 'javascript',
|
|
84
|
+
sourcePath: 'src/bench-universal.js',
|
|
85
|
+
sourceText: 'export function benchUniversal(value) { return value + 1; }\n'
|
|
86
|
+
}, {
|
|
87
|
+
language: 'python',
|
|
88
|
+
sourcePath: 'bench_universal.py',
|
|
89
|
+
sourceText: 'def bench_universal(value):\n return value + 1\n'
|
|
90
|
+
}, {
|
|
91
|
+
language: 'rust',
|
|
92
|
+
sourcePath: 'src/bench_universal.rs',
|
|
93
|
+
sourceText: 'pub fn bench_universal(value: i32) -> i32 { value + 1 }\nmacro_rules! bench_universal_macro { () => {} }\n'
|
|
94
|
+
}, {
|
|
95
|
+
language: 'c',
|
|
96
|
+
sourcePath: 'bench_universal.h',
|
|
97
|
+
sourceText: '#define BENCH_UNIVERSAL 1\ntypedef struct BenchUniversal { int value; } BenchUniversal;\nint bench_universal(void);\n'
|
|
98
|
+
}, {
|
|
99
|
+
language: 'go',
|
|
100
|
+
sourcePath: 'bench_universal.go',
|
|
101
|
+
sourceText: 'package bench\nfunc BenchUniversal(value int) int { return value + 1 }\n'
|
|
102
|
+
}, {
|
|
103
|
+
language: 'swift',
|
|
104
|
+
sourcePath: 'BenchUniversal.swift',
|
|
105
|
+
sourceText: 'struct BenchUniversal { var value: Int }\nfunc benchUniversal(_ value: Int) -> Int { value + 1 }\n'
|
|
106
|
+
}, {
|
|
107
|
+
language: 'r',
|
|
108
|
+
sourcePath: 'bench_universal.R',
|
|
109
|
+
sourceText: 'bench_universal <- function(value) { value + 1 }\neval(parse(text = "generated <- TRUE"))\n'
|
|
110
|
+
}].map((fixture) => importNativeSource(fixture));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function createTargetAdapters() {
|
|
114
|
+
return [{
|
|
115
|
+
id: 'bench-js-to-rust-universal-fixture',
|
|
116
|
+
sourceLanguage: 'javascript',
|
|
117
|
+
target: 'rust',
|
|
118
|
+
coverage: { readiness: 'ready', handledLossKinds: handledHighRiskLossKinds },
|
|
119
|
+
project() {
|
|
120
|
+
return { output: 'pub fn bench_js_to_rust() {}\n', readiness: 'ready' };
|
|
121
|
+
}
|
|
122
|
+
}, {
|
|
123
|
+
id: 'bench-python-to-rust-universal-fixture',
|
|
124
|
+
sourceLanguage: 'python',
|
|
125
|
+
target: 'rust',
|
|
126
|
+
coverage: { readiness: 'ready', handledLossKinds: handledHighRiskLossKinds },
|
|
127
|
+
project() {
|
|
128
|
+
return { output: 'pub fn bench_python_to_rust() {}\n', readiness: 'ready' };
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
id: 'bench-c-to-rust-universal-fixture',
|
|
132
|
+
sourceLanguage: 'c',
|
|
133
|
+
target: 'rust',
|
|
134
|
+
coverage: { readiness: 'ready', handledLossKinds: handledHighRiskLossKinds },
|
|
135
|
+
project() {
|
|
136
|
+
return { output: 'pub fn bench_c_to_rust() {}\n', readiness: 'ready' };
|
|
137
|
+
}
|
|
138
|
+
}];
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function createCandidateRecords() {
|
|
142
|
+
return [{
|
|
143
|
+
language: 'javascript',
|
|
144
|
+
sourcePath: 'src/bench-candidate.js',
|
|
145
|
+
beforeSourceText: 'export function benchCandidate(value) { return value + 1; }\n',
|
|
146
|
+
afterSourceText: 'export function benchCandidate(value) { return value + 2; }\n',
|
|
147
|
+
readiness: 'ready'
|
|
148
|
+
}, {
|
|
149
|
+
language: 'python',
|
|
150
|
+
sourcePath: 'bench_candidate.py',
|
|
151
|
+
beforeSourceText: 'def bench_candidate(value):\n return value + 1\n',
|
|
152
|
+
afterSourceText: 'def bench_candidate(value):\n return value + 2\n',
|
|
153
|
+
readiness: 'ready-with-losses'
|
|
154
|
+
}, {
|
|
155
|
+
language: 'rust',
|
|
156
|
+
sourcePath: 'src/bench_candidate.rs',
|
|
157
|
+
beforeSourceText: 'pub fn bench_candidate(value: i32) -> i32 { value + 1 }\n',
|
|
158
|
+
afterSourceText: 'pub fn bench_candidate(value: i32) -> i32 { value + 2 }\n',
|
|
159
|
+
readiness: 'needs-review'
|
|
160
|
+
}, {
|
|
161
|
+
language: 'c',
|
|
162
|
+
sourcePath: 'bench_candidate.c',
|
|
163
|
+
beforeSourceText: 'int bench_candidate(int value) { return value + 1; }\n',
|
|
164
|
+
afterSourceText: 'int bench_candidate(int value) { return value + 2; }\n',
|
|
165
|
+
readiness: 'blocked'
|
|
166
|
+
}].map((spec, index) => createSemanticMergeCandidateAdmissionRecord(diffNativeSources({
|
|
167
|
+
id: `bench_candidate_change_${index}`,
|
|
168
|
+
language: spec.language,
|
|
169
|
+
sourcePath: spec.sourcePath,
|
|
170
|
+
beforeSourceText: spec.beforeSourceText,
|
|
171
|
+
afterSourceText: spec.afterSourceText,
|
|
172
|
+
evidenceId: `bench_candidate_evidence_${index}`,
|
|
173
|
+
patchId: `bench_candidate_patch_${index}`,
|
|
174
|
+
mergeCandidateId: `bench_candidate_${index}`
|
|
175
|
+
}), {
|
|
176
|
+
readiness: spec.readiness,
|
|
177
|
+
evidence: [{
|
|
178
|
+
id: `bench_candidate_verification_${index}`,
|
|
179
|
+
kind: 'candidate-verification-proof',
|
|
180
|
+
status: 'passed'
|
|
181
|
+
}]
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
@@ -9,6 +9,107 @@ export type NativeProjectImportAdmissionPriority = 'low' | 'normal' | 'high' | '
|
|
|
9
9
|
export type NativeProjectImportAdmissionRisk = 'low' | 'medium' | 'high' | 'unknown';
|
|
10
10
|
export type NativeProjectSourcePreservationQuality = 'exact' | 'lossy' | 'missing' | 'stale' | 'empty';
|
|
11
11
|
|
|
12
|
+
export interface NativeProjectAdmissionParserEvidence {
|
|
13
|
+
readonly parser?: string;
|
|
14
|
+
readonly astFormat?: string;
|
|
15
|
+
readonly exactness?: string;
|
|
16
|
+
readonly semanticCoverageLevel?: string;
|
|
17
|
+
readonly exactAst: boolean;
|
|
18
|
+
readonly tokens: boolean;
|
|
19
|
+
readonly trivia: boolean;
|
|
20
|
+
readonly diagnostics: boolean;
|
|
21
|
+
readonly diagnosticCount: number;
|
|
22
|
+
readonly sourceRanges: boolean;
|
|
23
|
+
readonly generatedRanges: boolean;
|
|
24
|
+
readonly evidenceRecords: number;
|
|
25
|
+
readonly missing: boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface NativeProjectAdmissionParserEvidenceSummary {
|
|
29
|
+
readonly parsers: readonly string[];
|
|
30
|
+
readonly byParser: Readonly<Record<string, number>>;
|
|
31
|
+
readonly byExactness: Readonly<Record<string, number>>;
|
|
32
|
+
readonly semanticCoverageLevels: readonly string[];
|
|
33
|
+
readonly exactAstSources: number;
|
|
34
|
+
readonly tokenSources: number;
|
|
35
|
+
readonly triviaSources: number;
|
|
36
|
+
readonly sourceRangeSources: number;
|
|
37
|
+
readonly generatedRangeSources: number;
|
|
38
|
+
readonly diagnosticsSources: number;
|
|
39
|
+
readonly missingParserSources: number;
|
|
40
|
+
readonly evidenceRecords: number;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface NativeProjectAdmissionSemanticMergeScoreSummary {
|
|
44
|
+
readonly sourceCount: number;
|
|
45
|
+
readonly min: number;
|
|
46
|
+
readonly max: number;
|
|
47
|
+
readonly average: number;
|
|
48
|
+
readonly sortKey: number;
|
|
49
|
+
readonly lowestSourcePaths: readonly string[];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface NativeProjectAdmissionMissingEvidenceHint {
|
|
53
|
+
readonly evidenceKey?: string;
|
|
54
|
+
readonly task: string;
|
|
55
|
+
readonly count: number;
|
|
56
|
+
readonly sourcePaths: readonly string[];
|
|
57
|
+
readonly languages: readonly string[];
|
|
58
|
+
readonly lossIds: readonly string[];
|
|
59
|
+
readonly lossKinds: readonly string[];
|
|
60
|
+
readonly lossClasses: readonly string[];
|
|
61
|
+
readonly readiness: SemanticMergeReadiness;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface NativeProjectAdmissionTaskHint {
|
|
65
|
+
readonly id?: string;
|
|
66
|
+
readonly task: string;
|
|
67
|
+
readonly reason?: string;
|
|
68
|
+
readonly priority: NativeProjectImportAdmissionPriority;
|
|
69
|
+
readonly readiness: SemanticMergeReadiness;
|
|
70
|
+
readonly count: number;
|
|
71
|
+
readonly sourcePaths: readonly string[];
|
|
72
|
+
readonly languages: readonly string[];
|
|
73
|
+
readonly lossClasses: readonly string[];
|
|
74
|
+
readonly evidenceKeys: readonly string[];
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface NativeProjectAdmissionSourceSummary {
|
|
78
|
+
readonly id?: string;
|
|
79
|
+
readonly language: FrontierSourceLanguage | string;
|
|
80
|
+
readonly sourcePath?: string;
|
|
81
|
+
readonly sourceHash?: string;
|
|
82
|
+
readonly readiness: SemanticMergeReadiness;
|
|
83
|
+
readonly parser?: string;
|
|
84
|
+
readonly parserEvidence: NativeProjectAdmissionParserEvidence;
|
|
85
|
+
readonly semanticCounts: {
|
|
86
|
+
readonly symbols: number;
|
|
87
|
+
readonly occurrences: number;
|
|
88
|
+
readonly relations: number;
|
|
89
|
+
readonly facts: number;
|
|
90
|
+
};
|
|
91
|
+
readonly semanticSymbols: number;
|
|
92
|
+
readonly emptySemanticEvidence: boolean;
|
|
93
|
+
readonly sourcePreservationQuality: NativeProjectSourcePreservationQuality;
|
|
94
|
+
readonly lossClasses: readonly string[];
|
|
95
|
+
readonly semanticMergeScore: number;
|
|
96
|
+
readonly missingEvidence: readonly NativeProjectAdmissionMissingEvidenceHint[];
|
|
97
|
+
readonly nextMissingTask?: NativeProjectAdmissionTaskHint;
|
|
98
|
+
readonly nextMissingTasks: readonly NativeProjectAdmissionTaskHint[];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export interface NativeProjectAdmissionLanguageReadinessSummary {
|
|
102
|
+
readonly language: FrontierSourceLanguage | string;
|
|
103
|
+
readonly readiness: SemanticMergeReadiness;
|
|
104
|
+
readonly sourceCount: number;
|
|
105
|
+
readonly sourcePaths: readonly string[];
|
|
106
|
+
readonly byLossClass: Readonly<Record<string, number>>;
|
|
107
|
+
readonly parserEvidence: NativeProjectAdmissionParserEvidenceSummary;
|
|
108
|
+
readonly semanticMergeScore: NativeProjectAdmissionSemanticMergeScoreSummary;
|
|
109
|
+
readonly topMissingEvidence: readonly NativeProjectAdmissionMissingEvidenceHint[];
|
|
110
|
+
readonly nextMissingTasks: readonly NativeProjectAdmissionTaskHint[];
|
|
111
|
+
}
|
|
112
|
+
|
|
12
113
|
export interface NativeProjectAdmissionLanguageSummary {
|
|
13
114
|
readonly language: FrontierSourceLanguage | string;
|
|
14
115
|
readonly sourceCount: number;
|
|
@@ -20,12 +121,26 @@ export interface NativeProjectAdmissionLanguageSummary {
|
|
|
20
121
|
readonly staleSourcePaths: readonly string[];
|
|
21
122
|
readonly mergeCandidates: number;
|
|
22
123
|
readonly highestRisk: NativeProjectImportAdmissionRisk;
|
|
124
|
+
readonly byReadiness: Readonly<Record<string, number>>;
|
|
125
|
+
readonly byLossClass: Readonly<Record<string, number>>;
|
|
126
|
+
readonly parserEvidence: NativeProjectAdmissionParserEvidenceSummary;
|
|
127
|
+
readonly semanticMergeScore: NativeProjectAdmissionSemanticMergeScoreSummary;
|
|
128
|
+
readonly topMissingEvidence: readonly NativeProjectAdmissionMissingEvidenceHint[];
|
|
129
|
+
readonly nextMissingTasks: readonly NativeProjectAdmissionTaskHint[];
|
|
23
130
|
}
|
|
24
131
|
|
|
25
132
|
export interface NativeProjectAdmissionLanguages {
|
|
26
133
|
readonly total: number;
|
|
27
134
|
readonly byReadiness: Readonly<Record<string, number>>;
|
|
135
|
+
readonly bySourceReadiness: Readonly<Record<string, number>>;
|
|
136
|
+
readonly byLossClass: Readonly<Record<string, number>>;
|
|
28
137
|
readonly bySourcePreservationQuality: Readonly<Record<string, number>>;
|
|
138
|
+
readonly parserEvidence: NativeProjectAdmissionParserEvidenceSummary;
|
|
139
|
+
readonly semanticMergeScore: NativeProjectAdmissionSemanticMergeScoreSummary;
|
|
140
|
+
readonly topMissingEvidence: readonly NativeProjectAdmissionMissingEvidenceHint[];
|
|
141
|
+
readonly nextMissingTasks: readonly NativeProjectAdmissionTaskHint[];
|
|
142
|
+
readonly sourceRows: readonly NativeProjectAdmissionSourceSummary[];
|
|
143
|
+
readonly readinessRows: readonly NativeProjectAdmissionLanguageReadinessSummary[];
|
|
29
144
|
readonly rows: readonly NativeProjectAdmissionLanguageSummary[];
|
|
30
145
|
}
|
|
31
146
|
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
CompileTarget,
|
|
3
|
+
FrontierSourceLanguage,
|
|
4
|
+
SemanticMergeReadiness,
|
|
5
|
+
SourceMapMappingRecord
|
|
6
|
+
} from '@shapeshift-labs/frontier-lang-kernel';
|
|
7
|
+
import type { ProjectionTargetLossClass } from './projection-coverage.js';
|
|
8
|
+
import type { NativeSourceCompileOutputMode, NativeSourceProjectionMode } from './native-project.js';
|
|
9
|
+
|
|
10
|
+
export type NativeRoundtripSourceMapPrecision = SourceMapMappingRecord['precision'] | 'line' | 'declaration' | 'estimated' | 'unknown' | 'none' | string;
|
|
11
|
+
|
|
12
|
+
export type NativeRoundtripAuditDisposition =
|
|
13
|
+
| 'reversible'
|
|
14
|
+
| 'preserved-source'
|
|
15
|
+
| 'stub-only'
|
|
16
|
+
| 'adapter-projected'
|
|
17
|
+
| 'review-required';
|
|
18
|
+
|
|
19
|
+
export type NativeRoundtripAuditClaim =
|
|
20
|
+
| 'source-text-reversible'
|
|
21
|
+
| 'source-preserved'
|
|
22
|
+
| 'declaration-stubs-only'
|
|
23
|
+
| 'host-adapter-projected'
|
|
24
|
+
| 'review-required';
|
|
25
|
+
|
|
26
|
+
export interface NativeRoundtripSourceMapEvidence {
|
|
27
|
+
readonly total: number;
|
|
28
|
+
readonly ids: readonly string[];
|
|
29
|
+
readonly mappings: number;
|
|
30
|
+
readonly precision: NativeRoundtripSourceMapPrecision;
|
|
31
|
+
readonly byPrecision: Readonly<Record<string, number>>;
|
|
32
|
+
readonly byOrigin: Readonly<Record<string, number>>;
|
|
33
|
+
readonly withSourceSpan: number;
|
|
34
|
+
readonly withGeneratedSpan: number;
|
|
35
|
+
readonly withSemanticSymbol: number;
|
|
36
|
+
readonly targetPaths: readonly string[];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface NativeRoundtripRoutePathSignal {
|
|
40
|
+
readonly selected: boolean;
|
|
41
|
+
readonly available: boolean;
|
|
42
|
+
readonly reasonCodes: readonly string[];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface NativeRoundtripRoutePathsAudit {
|
|
46
|
+
readonly reversible: NativeRoundtripRoutePathSignal;
|
|
47
|
+
readonly preservedSource: NativeRoundtripRoutePathSignal;
|
|
48
|
+
readonly stubOnly: NativeRoundtripRoutePathSignal;
|
|
49
|
+
readonly adapterProjected: NativeRoundtripRoutePathSignal;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface NativeRoundtripSourcePreservationAudit {
|
|
53
|
+
readonly id?: string;
|
|
54
|
+
readonly exactSourceAvailable: boolean;
|
|
55
|
+
readonly sourceTextAvailable: boolean;
|
|
56
|
+
readonly recordCount: number;
|
|
57
|
+
readonly byLevel: Readonly<Record<string, number>>;
|
|
58
|
+
readonly exactRecords: number;
|
|
59
|
+
readonly declarationRecords: number;
|
|
60
|
+
readonly estimatedRecords: number;
|
|
61
|
+
readonly blockedRecords: number;
|
|
62
|
+
readonly sourcePaths: readonly string[];
|
|
63
|
+
readonly sourceMapIds: readonly string[];
|
|
64
|
+
readonly mappingPreservation: Readonly<Record<string, number>>;
|
|
65
|
+
readonly comments: number;
|
|
66
|
+
readonly trivia: number;
|
|
67
|
+
readonly directives: number;
|
|
68
|
+
readonly tokens: number;
|
|
69
|
+
readonly whitespace: number;
|
|
70
|
+
readonly truncated: boolean;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export interface NativeRoundtripGeneratedStubsAudit {
|
|
74
|
+
readonly available: boolean;
|
|
75
|
+
readonly selected: boolean;
|
|
76
|
+
readonly projectionMode?: NativeSourceProjectionMode;
|
|
77
|
+
readonly outputMode?: NativeSourceCompileOutputMode;
|
|
78
|
+
readonly declarationCount: number;
|
|
79
|
+
readonly emittedDeclarationCount: number;
|
|
80
|
+
readonly declarationKinds: Readonly<Record<string, number>>;
|
|
81
|
+
readonly declarationsWithSourceSpan: number;
|
|
82
|
+
readonly symbolIds: readonly string[];
|
|
83
|
+
readonly nativeAstNodeIds: readonly string[];
|
|
84
|
+
readonly lossCount: number;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export interface NativeRoundtripAdapterProjectionAudit {
|
|
88
|
+
readonly available: boolean;
|
|
89
|
+
readonly selected: boolean;
|
|
90
|
+
readonly id?: string;
|
|
91
|
+
readonly adapterId?: string;
|
|
92
|
+
readonly adapterVersion?: string;
|
|
93
|
+
readonly outputMode?: 'target-adapter';
|
|
94
|
+
readonly readiness?: SemanticMergeReadiness;
|
|
95
|
+
readonly lossCount: number;
|
|
96
|
+
readonly evidenceIds: readonly string[];
|
|
97
|
+
readonly sourceMaps: NativeRoundtripSourceMapEvidence;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export interface NativeRoundtripRouteSourceMapsAudit {
|
|
101
|
+
readonly hasOutputSourceMaps: boolean;
|
|
102
|
+
readonly output: NativeRoundtripSourceMapEvidence;
|
|
103
|
+
readonly universal: NativeRoundtripSourceMapEvidence;
|
|
104
|
+
readonly outputExact: boolean;
|
|
105
|
+
readonly outputEstimated: boolean;
|
|
106
|
+
readonly universalEstimated: boolean;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface NativeRoundtripHashChecksAudit {
|
|
110
|
+
readonly sourceHashPresent: boolean;
|
|
111
|
+
readonly declaredSourceHashPresent: boolean;
|
|
112
|
+
readonly declaredSourceHashVerified?: boolean;
|
|
113
|
+
readonly expectedSourceHashPresent: boolean;
|
|
114
|
+
readonly outputHashPresent: boolean;
|
|
115
|
+
readonly projectionOutputHashPresent: boolean;
|
|
116
|
+
readonly targetOutputHashPresent: boolean;
|
|
117
|
+
readonly sourceHashVerified: boolean;
|
|
118
|
+
readonly projectionOutputMatchesSourceHash: boolean;
|
|
119
|
+
readonly targetOutputMatchesSourceHash: boolean;
|
|
120
|
+
readonly outputMatchesSourceHash: boolean;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export interface NativeRoundtripCommentsTriviaAudit {
|
|
124
|
+
readonly comments: number;
|
|
125
|
+
readonly trivia: number;
|
|
126
|
+
readonly directives: number;
|
|
127
|
+
readonly tokens: number;
|
|
128
|
+
readonly whitespace: number;
|
|
129
|
+
readonly truncated: boolean;
|
|
130
|
+
readonly exactSourceAvailable: boolean;
|
|
131
|
+
readonly sourceTextAvailable: boolean;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface NativeRoundtripTargetCoverageAudit {
|
|
135
|
+
readonly target?: CompileTarget | string;
|
|
136
|
+
readonly supported?: boolean;
|
|
137
|
+
readonly readiness?: SemanticMergeReadiness;
|
|
138
|
+
readonly lossClass?: ProjectionTargetLossClass | string;
|
|
139
|
+
readonly adapterId?: string;
|
|
140
|
+
readonly adapterKind?: string;
|
|
141
|
+
readonly adapterVersion?: string;
|
|
142
|
+
readonly lossKinds: readonly string[];
|
|
143
|
+
readonly categories: readonly string[];
|
|
144
|
+
readonly reason?: string;
|
|
145
|
+
readonly notes: readonly string[];
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export interface NativeRoundtripSemanticEquivalenceAudit {
|
|
149
|
+
readonly claimed: false;
|
|
150
|
+
readonly proofAdapterId?: string;
|
|
151
|
+
readonly evidenceIds: readonly string[];
|
|
152
|
+
readonly reasonCode: string;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export interface NativeRoundtripAuditSignal {
|
|
156
|
+
readonly schema: 'frontier.lang.nativeRoundtripAuditSignal';
|
|
157
|
+
readonly version: 1;
|
|
158
|
+
readonly disposition: NativeRoundtripAuditDisposition;
|
|
159
|
+
readonly claim: NativeRoundtripAuditClaim;
|
|
160
|
+
readonly sourceLanguage?: FrontierSourceLanguage | string;
|
|
161
|
+
readonly target?: CompileTarget | string;
|
|
162
|
+
readonly sameLanguage: boolean;
|
|
163
|
+
readonly outputMode?: NativeSourceCompileOutputMode;
|
|
164
|
+
readonly projectionMode?: NativeSourceProjectionMode;
|
|
165
|
+
readonly sourceHashVerified: boolean;
|
|
166
|
+
readonly outputSourceMapPrecision: NativeRoundtripSourceMapPrecision;
|
|
167
|
+
readonly universalSourceMapPrecision: NativeRoundtripSourceMapPrecision;
|
|
168
|
+
readonly targetProjectionAdapterId?: string;
|
|
169
|
+
readonly targetCoverageLossClass?: ProjectionTargetLossClass | string;
|
|
170
|
+
readonly reviewRequired: boolean;
|
|
171
|
+
readonly semanticMergeReadiness: SemanticMergeReadiness;
|
|
172
|
+
readonly semanticEquivalenceClaim: false;
|
|
173
|
+
readonly autoMergeClaim: false;
|
|
174
|
+
readonly paths: NativeRoundtripRoutePathsAudit;
|
|
175
|
+
readonly sourcePreservation: NativeRoundtripSourcePreservationAudit;
|
|
176
|
+
readonly generatedStubs: NativeRoundtripGeneratedStubsAudit;
|
|
177
|
+
readonly adapterProjection: NativeRoundtripAdapterProjectionAudit;
|
|
178
|
+
readonly sourceMaps: NativeRoundtripRouteSourceMapsAudit;
|
|
179
|
+
readonly hashChecks: NativeRoundtripHashChecksAudit;
|
|
180
|
+
readonly commentsTrivia: NativeRoundtripCommentsTriviaAudit;
|
|
181
|
+
readonly targetCoverage: NativeRoundtripTargetCoverageAudit;
|
|
182
|
+
readonly semanticEquivalence: NativeRoundtripSemanticEquivalenceAudit;
|
|
183
|
+
readonly blockingLossCount: number;
|
|
184
|
+
readonly reviewLossCount: number;
|
|
185
|
+
readonly reasonCodes: readonly string[];
|
|
186
|
+
}
|
|
@@ -105,59 +105,8 @@ export interface NativeImportRoundtripReadinessClassification {
|
|
|
105
105
|
|
|
106
106
|
export type NativeRoundtripEvidenceStatus = NativeImportRoundtripReadinessStatus | 'target-adapter';
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
export type NativeRoundtripAuditDisposition =
|
|
111
|
-
| 'reversible'
|
|
112
|
-
| 'preserved-source'
|
|
113
|
-
| 'stub-only'
|
|
114
|
-
| 'adapter-projected'
|
|
115
|
-
| 'review-required';
|
|
116
|
-
|
|
117
|
-
export type NativeRoundtripAuditClaim =
|
|
118
|
-
| 'source-text-reversible'
|
|
119
|
-
| 'source-preserved'
|
|
120
|
-
| 'declaration-stubs-only'
|
|
121
|
-
| 'host-adapter-projected'
|
|
122
|
-
| 'review-required';
|
|
123
|
-
|
|
124
|
-
export interface NativeRoundtripSourceMapEvidence {
|
|
125
|
-
readonly total: number;
|
|
126
|
-
readonly ids: readonly string[];
|
|
127
|
-
readonly mappings: number;
|
|
128
|
-
readonly precision: NativeRoundtripSourceMapPrecision;
|
|
129
|
-
readonly byPrecision: Readonly<Record<string, number>>;
|
|
130
|
-
readonly byOrigin: Readonly<Record<string, number>>;
|
|
131
|
-
readonly withSourceSpan: number;
|
|
132
|
-
readonly withGeneratedSpan: number;
|
|
133
|
-
readonly withSemanticSymbol: number;
|
|
134
|
-
readonly targetPaths: readonly string[];
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
export interface NativeRoundtripAuditSignal {
|
|
138
|
-
readonly schema: 'frontier.lang.nativeRoundtripAuditSignal';
|
|
139
|
-
readonly version: 1;
|
|
140
|
-
readonly disposition: NativeRoundtripAuditDisposition;
|
|
141
|
-
readonly claim: NativeRoundtripAuditClaim;
|
|
142
|
-
readonly sourceLanguage?: FrontierSourceLanguage | string;
|
|
143
|
-
readonly target?: CompileTarget | string;
|
|
144
|
-
readonly sameLanguage: boolean;
|
|
145
|
-
readonly outputMode?: NativeSourceCompileOutputMode;
|
|
146
|
-
readonly projectionMode?: NativeSourceProjectionMode;
|
|
147
|
-
readonly sourceHashVerified: boolean;
|
|
148
|
-
readonly outputSourceMapPrecision: NativeRoundtripSourceMapPrecision;
|
|
149
|
-
readonly universalSourceMapPrecision: NativeRoundtripSourceMapPrecision;
|
|
150
|
-
readonly targetProjectionAdapterId?: string;
|
|
151
|
-
readonly targetCoverageLossClass?: ProjectionTargetLossClass | string;
|
|
152
|
-
readonly reviewRequired: boolean;
|
|
153
|
-
readonly semanticMergeReadiness: SemanticMergeReadiness;
|
|
154
|
-
readonly semanticEquivalenceClaim: false;
|
|
155
|
-
readonly autoMergeClaim: false;
|
|
156
|
-
readonly blockingLossCount: number;
|
|
157
|
-
readonly reviewLossCount: number;
|
|
158
|
-
readonly reasonCodes: readonly string[];
|
|
159
|
-
}
|
|
160
|
-
|
|
108
|
+
import type { NativeRoundtripSourceMapPrecision, NativeRoundtripAuditDisposition, NativeRoundtripAuditClaim, NativeRoundtripSourceMapEvidence, NativeRoundtripRoutePathSignal, NativeRoundtripRoutePathsAudit, NativeRoundtripSourcePreservationAudit, NativeRoundtripGeneratedStubsAudit, NativeRoundtripAdapterProjectionAudit, NativeRoundtripRouteSourceMapsAudit, NativeRoundtripHashChecksAudit, NativeRoundtripCommentsTriviaAudit, NativeRoundtripTargetCoverageAudit, NativeRoundtripSemanticEquivalenceAudit, NativeRoundtripAuditSignal } from './roundtrip-audit.js';
|
|
109
|
+
export type { NativeRoundtripSourceMapPrecision, NativeRoundtripAuditDisposition, NativeRoundtripAuditClaim, NativeRoundtripSourceMapEvidence, NativeRoundtripRoutePathSignal, NativeRoundtripRoutePathsAudit, NativeRoundtripSourcePreservationAudit, NativeRoundtripGeneratedStubsAudit, NativeRoundtripAdapterProjectionAudit, NativeRoundtripRouteSourceMapsAudit, NativeRoundtripHashChecksAudit, NativeRoundtripCommentsTriviaAudit, NativeRoundtripTargetCoverageAudit, NativeRoundtripSemanticEquivalenceAudit, NativeRoundtripAuditSignal } from './roundtrip-audit.js';
|
|
161
110
|
export interface NativeRoundtripEvidenceMetadata {
|
|
162
111
|
readonly status: NativeRoundtripEvidenceStatus;
|
|
163
112
|
readonly semanticMergeReadiness: SemanticMergeReadiness;
|
|
@@ -89,16 +89,6 @@ export declare function createNativeParserFeatureMatrix(options?: NativeParserFe
|
|
|
89
89
|
export declare function queryNativeParserFeatureMatrix(matrixOrOptions?: NativeParserFeatureMatrix | NativeParserFeatureMatrixOptions, query?: NativeParserFeatureMatrixQuery): NativeParserFeatureMatrixQueryResult;
|
|
90
90
|
export declare function createProjectionTargetLossMatrix(options?: ProjectionTargetLossMatrixOptions): ProjectionTargetLossMatrix;
|
|
91
91
|
export declare function createUniversalCapabilityMatrix(options?: UniversalCapabilityMatrixOptions): UniversalCapabilityMatrix;
|
|
92
|
-
export declare function createUniversalConversionArtifacts(input?: CreateUniversalConversionArtifactsInput, options?: CreateUniversalConversionArtifactsOptions): UniversalConversionArtifacts;
|
|
93
|
-
export declare function createUniversalConversionPlan(options?: UniversalConversionPlanOptions): UniversalConversionPlan;
|
|
94
|
-
export declare function queryUniversalConversionArtifacts(
|
|
95
|
-
records: UniversalConversionArtifacts | UniversalConversionRouteArtifact | readonly (UniversalConversionArtifacts | UniversalConversionRouteArtifact)[],
|
|
96
|
-
query?: UniversalConversionArtifactQuery
|
|
97
|
-
): readonly UniversalConversionRouteArtifact[];
|
|
98
|
-
export declare function queryUniversalConversionPlan(
|
|
99
|
-
planOrOptions?: UniversalConversionPlan | UniversalConversionPlanOptions,
|
|
100
|
-
query?: UniversalConversionPlanQuery
|
|
101
|
-
): UniversalConversionPlanQueryResult;
|
|
102
92
|
export declare function createNativeSourcePreservation(options: CreateNativeSourcePreservationOptions): NativeSourcePreservation;
|
|
103
93
|
export declare function createSemanticImportSidecar(importResult: NativeSourceImportResult | NativeProjectImportResult, options?: SemanticImportSidecarOptions): SemanticImportSidecar;
|
|
104
94
|
export declare function createNativeImportResultContract(importResult: NativeSourceImportResult | NativeProjectImportResult, options?: NativeImportResultContractOptions): NativeImportResultContract;
|
|
@@ -122,7 +112,6 @@ export declare function importNativeSource(input: ImportNativeSourceOptions): Na
|
|
|
122
112
|
export declare function diffNativeSources(input: DiffNativeSourcesOptions): NativeSourceChangeSet;
|
|
123
113
|
export declare function diffNativeSourceImports(input: DiffNativeSourceImportsOptions): NativeSourceChangeSet;
|
|
124
114
|
export declare function createSemanticSlice(input: SemanticSliceInput, options?: CreateSemanticSliceOptions): SemanticSlice;
|
|
125
|
-
export declare function createSemanticSliceAdmissionRecord(slice: SemanticSlice, options?: CreateSemanticSliceAdmissionRecordOptions): SemanticSliceAdmissionRecord;
|
|
126
115
|
export declare function testSemanticSlice(slice: SemanticSlice, options?: TestSemanticSliceOptions): SemanticSliceTestResult;
|
|
127
116
|
export declare function readSemanticSliceJson(source: string): SemanticSlice;
|
|
128
117
|
export declare function writeSemanticSliceJson(slice: SemanticSlice): string;
|