@shapeshift-labs/frontier-swarm-codex 0.5.41 → 0.5.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.md +1 -1
  2. package/dist/apply.d.ts +3 -0
  3. package/dist/apply.d.ts.map +1 -0
  4. package/dist/apply.js +127 -0
  5. package/dist/apply.js.map +1 -0
  6. package/dist/cli.js +7 -1
  7. package/dist/cli.js.map +1 -1
  8. package/dist/codex-events.d.ts +15 -0
  9. package/dist/codex-events.d.ts.map +1 -0
  10. package/dist/codex-events.js +108 -0
  11. package/dist/codex-events.js.map +1 -0
  12. package/dist/codex-evidence.d.ts +33 -0
  13. package/dist/codex-evidence.d.ts.map +1 -0
  14. package/dist/codex-evidence.js +143 -0
  15. package/dist/codex-evidence.js.map +1 -0
  16. package/dist/codex-executor.d.ts +5 -0
  17. package/dist/codex-executor.d.ts.map +1 -0
  18. package/dist/codex-executor.js +160 -0
  19. package/dist/codex-executor.js.map +1 -0
  20. package/dist/codex-prompt.d.ts +20 -0
  21. package/dist/codex-prompt.d.ts.map +1 -0
  22. package/dist/codex-prompt.js +238 -0
  23. package/dist/codex-prompt.js.map +1 -0
  24. package/dist/codex-run-scheduler.d.ts +9 -0
  25. package/dist/codex-run-scheduler.d.ts.map +1 -0
  26. package/dist/codex-run-scheduler.js +145 -0
  27. package/dist/codex-run-scheduler.js.map +1 -0
  28. package/dist/codex-run.d.ts +5 -0
  29. package/dist/codex-run.d.ts.map +1 -0
  30. package/dist/codex-run.js +278 -0
  31. package/dist/codex-run.js.map +1 -0
  32. package/dist/codex-workspace-changes.d.ts +28 -0
  33. package/dist/codex-workspace-changes.d.ts.map +1 -0
  34. package/dist/codex-workspace-changes.js +147 -0
  35. package/dist/codex-workspace-changes.js.map +1 -0
  36. package/dist/codex-workspace.d.ts +10 -0
  37. package/dist/codex-workspace.d.ts.map +1 -0
  38. package/dist/codex-workspace.js +210 -0
  39. package/dist/codex-workspace.js.map +1 -0
  40. package/dist/collect-bundles.d.ts +14 -0
  41. package/dist/collect-bundles.d.ts.map +1 -0
  42. package/dist/collect-bundles.js +173 -0
  43. package/dist/collect-bundles.js.map +1 -0
  44. package/dist/collect-evidence.d.ts +13 -0
  45. package/dist/collect-evidence.d.ts.map +1 -0
  46. package/dist/collect-evidence.js +131 -0
  47. package/dist/collect-evidence.js.map +1 -0
  48. package/dist/collect.d.ts +5 -0
  49. package/dist/collect.d.ts.map +1 -0
  50. package/dist/collect.js +189 -0
  51. package/dist/collect.js.map +1 -0
  52. package/dist/common.d.ts +37 -0
  53. package/dist/common.d.ts.map +1 -0
  54. package/dist/common.js +191 -0
  55. package/dist/common.js.map +1 -0
  56. package/dist/constants.d.ts +25 -0
  57. package/dist/constants.d.ts.map +1 -0
  58. package/dist/constants.js +26 -0
  59. package/dist/constants.js.map +1 -0
  60. package/dist/dashboard.d.ts +9 -0
  61. package/dist/dashboard.d.ts.map +1 -0
  62. package/dist/dashboard.js +80 -0
  63. package/dist/dashboard.js.map +1 -0
  64. package/dist/handoff-artifacts.d.ts +4 -0
  65. package/dist/handoff-artifacts.d.ts.map +1 -0
  66. package/dist/handoff-artifacts.js +67 -0
  67. package/dist/handoff-artifacts.js.map +1 -0
  68. package/dist/index.d.ts +14 -843
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +14 -3717
  71. package/dist/index.js.map +1 -1
  72. package/dist/patch-score-semantic.d.ts +4 -0
  73. package/dist/patch-score-semantic.d.ts.map +1 -0
  74. package/dist/patch-score-semantic.js +154 -0
  75. package/dist/patch-score-semantic.js.map +1 -0
  76. package/dist/score.d.ts +3 -0
  77. package/dist/score.d.ts.map +1 -0
  78. package/dist/score.js +219 -0
  79. package/dist/score.js.map +1 -0
  80. package/dist/semantic-import-layers.d.ts +9 -0
  81. package/dist/semantic-import-layers.d.ts.map +1 -0
  82. package/dist/semantic-import-layers.js +143 -0
  83. package/dist/semantic-import-layers.js.map +1 -0
  84. package/dist/semantic-import-paradigm.d.ts +6 -0
  85. package/dist/semantic-import-paradigm.d.ts.map +1 -0
  86. package/dist/semantic-import-paradigm.js +159 -0
  87. package/dist/semantic-import-paradigm.js.map +1 -0
  88. package/dist/semantic-import-proof.d.ts +7 -0
  89. package/dist/semantic-import-proof.d.ts.map +1 -0
  90. package/dist/semantic-import-proof.js +142 -0
  91. package/dist/semantic-import-proof.js.map +1 -0
  92. package/dist/semantic-import-quality.d.ts +6 -0
  93. package/dist/semantic-import-quality.d.ts.map +1 -0
  94. package/dist/semantic-import-quality.js +108 -0
  95. package/dist/semantic-import-quality.js.map +1 -0
  96. package/dist/semantic-import-select.d.ts +36 -0
  97. package/dist/semantic-import-select.d.ts.map +1 -0
  98. package/dist/semantic-import-select.js +132 -0
  99. package/dist/semantic-import-select.js.map +1 -0
  100. package/dist/semantic-import-sidecar.d.ts +7 -0
  101. package/dist/semantic-import-sidecar.d.ts.map +1 -0
  102. package/dist/semantic-import-sidecar.js +169 -0
  103. package/dist/semantic-import-sidecar.js.map +1 -0
  104. package/dist/semantic-import.d.ts +13 -0
  105. package/dist/semantic-import.d.ts.map +1 -0
  106. package/dist/semantic-import.js +122 -0
  107. package/dist/semantic-import.js.map +1 -0
  108. package/dist/trace-summary.d.ts +6 -0
  109. package/dist/trace-summary.d.ts.map +1 -0
  110. package/dist/trace-summary.js +61 -0
  111. package/dist/trace-summary.js.map +1 -0
  112. package/dist/types-collection.d.ts +166 -0
  113. package/dist/types-collection.d.ts.map +1 -0
  114. package/dist/types-collection.js +2 -0
  115. package/dist/types-collection.js.map +1 -0
  116. package/dist/types-evidence.d.ts +158 -0
  117. package/dist/types-evidence.d.ts.map +1 -0
  118. package/dist/types-evidence.js +2 -0
  119. package/dist/types-evidence.js.map +1 -0
  120. package/dist/types-run.d.ts +161 -0
  121. package/dist/types-run.d.ts.map +1 -0
  122. package/dist/types-run.js +2 -0
  123. package/dist/types-run.js.map +1 -0
  124. package/dist/types-semantic.d.ts +192 -0
  125. package/dist/types-semantic.d.ts.map +1 -0
  126. package/dist/types-semantic.js +2 -0
  127. package/dist/types-semantic.js.map +1 -0
  128. package/dist/types-workspace.d.ts +122 -0
  129. package/dist/types-workspace.d.ts.map +1 -0
  130. package/dist/types-workspace.js +2 -0
  131. package/dist/types-workspace.js.map +1 -0
  132. package/dist/types.d.ts +6 -0
  133. package/dist/types.d.ts.map +1 -0
  134. package/dist/types.js +2 -0
  135. package/dist/types.js.map +1 -0
  136. package/dist/workspace-link-repair.d.ts +3 -0
  137. package/dist/workspace-link-repair.d.ts.map +1 -0
  138. package/dist/workspace-link-repair.js +164 -0
  139. package/dist/workspace-link-repair.js.map +1 -0
  140. package/package.json +2 -2
package/dist/score.js ADDED
@@ -0,0 +1,219 @@
1
+ import fs from 'node:fs/promises';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import { matchesGlob } from '@shapeshift-labs/frontier-swarm';
5
+ import { FRONTIER_SWARM_CODEX_PATCH_SCORE_KIND, FRONTIER_SWARM_CODEX_PATCH_SCORE_VERSION } from './constants.js';
6
+ import { copyWorkspacePath, findFilesByName, pathExists, pathHasIgnoredSegment, resolveBundlePatchPath, runLoggedProcess, slug, uniqueStrings, uniqueWorkspacePaths } from './common.js';
7
+ import { collectCodexSwarmRun } from './collect.js';
8
+ import { summarizePatchScoreSemanticEvidence } from './patch-score-semantic.js';
9
+ export async function scoreCodexSwarmPatches(input) {
10
+ const generatedAt = Date.now();
11
+ const cwd = path.resolve(input.cwd ?? process.cwd());
12
+ if (!input.collection && !input.run)
13
+ throw new Error('score requires --collection <dir> or --run <run-dir>');
14
+ const collectionDir = input.collection
15
+ ? path.resolve(cwd, input.collection)
16
+ : (await collectCodexSwarmRun({ run: String(input.run ?? ''), cwd, outDir: input.outDir })).outDir;
17
+ const outDir = path.resolve(cwd, input.outDir ?? path.join(collectionDir, 'patch-scores'));
18
+ const bucket = input.bucket ?? 'all';
19
+ const roots = bucket === 'all'
20
+ ? collectBuckets().map((entry) => path.join(collectionDir, entry))
21
+ : [path.join(collectionDir, bucket)];
22
+ const wanted = new Set(input.jobIds ?? []);
23
+ const mergePaths = await scoreMergePaths(collectionDir, roots, bucket);
24
+ const entries = [];
25
+ for (const mergePath of mergePaths.slice(0, input.limit ? Math.max(0, Math.floor(input.limit)) : undefined)) {
26
+ const bundle = JSON.parse(await fs.readFile(mergePath, 'utf8'));
27
+ if (wanted.size && !wanted.has(bundle.jobId))
28
+ continue;
29
+ entries.push(await scoreCodexMergeBundle({ cwd, mergePath, bundle, outDir, input }));
30
+ }
31
+ const statuses = ['accepted-clean', 'accepted-needs-port', 'conflict', 'test-fail', 'stale', 'evidence-only'];
32
+ const summary = Object.fromEntries(statuses.map((status) => [status, entries.filter((entry) => entry.status === status).length]));
33
+ const result = {
34
+ kind: FRONTIER_SWARM_CODEX_PATCH_SCORE_KIND,
35
+ version: FRONTIER_SWARM_CODEX_PATCH_SCORE_VERSION,
36
+ ok: entries.every((entry) => entry.status === 'accepted-clean' || entry.status === 'accepted-needs-port' || entry.status === 'evidence-only'),
37
+ cwd,
38
+ collectionDir,
39
+ outDir,
40
+ generatedAt,
41
+ entries: entries.sort((left, right) => right.score - left.score || left.jobId.localeCompare(right.jobId)),
42
+ summary: { ...summary, total: entries.length }
43
+ };
44
+ await fs.mkdir(outDir, { recursive: true });
45
+ await fs.writeFile(path.join(outDir, 'patch-score.json'), JSON.stringify(result, null, 2) + '\n');
46
+ return result;
47
+ }
48
+ async function scoreMergePaths(collectionDir, roots, bucket) {
49
+ const paths = new Set();
50
+ for (const mergePath of (await Promise.all(roots.map((root) => findFilesByName(root, 'merge.json')))).flat()) {
51
+ paths.add(mergePath);
52
+ }
53
+ const indexed = await readCollectionMergePaths(collectionDir, bucket ?? 'all');
54
+ for (const mergePath of indexed)
55
+ paths.add(mergePath);
56
+ return Array.from(paths).sort();
57
+ }
58
+ async function readCollectionMergePaths(collectionDir, bucket) {
59
+ const file = path.join(collectionDir, 'collection.json');
60
+ const parsed = await fs.readFile(file, 'utf8')
61
+ .then((text) => JSON.parse(text))
62
+ .catch(() => undefined);
63
+ if (!parsed?.buckets)
64
+ return [];
65
+ const buckets = bucket === 'all' ? collectBuckets() : [bucket];
66
+ const out = [];
67
+ for (const name of buckets) {
68
+ for (const entry of parsed.buckets[name] ?? []) {
69
+ const mergePath = path.isAbsolute(entry.mergePath) ? entry.mergePath : path.resolve(collectionDir, entry.mergePath);
70
+ if (await pathExists(mergePath))
71
+ out.push(mergePath);
72
+ else {
73
+ const fallback = path.join(path.isAbsolute(entry.outputDir) ? entry.outputDir : path.resolve(collectionDir, entry.outputDir), 'merge.json');
74
+ if (await pathExists(fallback))
75
+ out.push(fallback);
76
+ }
77
+ }
78
+ }
79
+ return out;
80
+ }
81
+ function collectBuckets() {
82
+ return ['ready-to-apply', 'needs-human-port', 'failed-evidence', 'stale-against-head'];
83
+ }
84
+ async function scoreCodexMergeBundle(input) {
85
+ const commands = [];
86
+ const patchPath = await resolveApplyPatchPath(input.bundle, input.mergePath);
87
+ const semanticEvidence = summarizePatchScoreSemanticEvidence(input.bundle);
88
+ const base = {
89
+ jobId: input.bundle.jobId,
90
+ bundlePath: input.mergePath,
91
+ ...(patchPath ? { patchPath } : {}),
92
+ changedPaths: [...input.bundle.changedPaths],
93
+ semanticEvidence,
94
+ commands
95
+ };
96
+ if (!patchPath || input.bundle.disposition === 'discovery-only' || input.bundle.changedPaths.length === 0) {
97
+ return {
98
+ ...base,
99
+ status: 'evidence-only',
100
+ score: clampPatchScore(20 + Math.min(0, semanticEvidence.scoreAdjustment)),
101
+ reasons: uniqueStrings(['no patch to apply', ...semanticEvidence.reasons])
102
+ };
103
+ }
104
+ if (input.bundle.staleAgainstHead || input.bundle.disposition === 'stale-against-head') {
105
+ return { ...base, status: 'stale', score: 0, reasons: uniqueStrings(['stale-against-head', ...semanticEvidence.reasons]) };
106
+ }
107
+ const workspacePath = await createScoreWorkspace(input.cwd, input.bundle.jobId, input.input);
108
+ try {
109
+ const check = await runLoggedProcess('git', ['apply', '--check', patchPath], workspacePath);
110
+ commands.push(check);
111
+ if (check.status !== 0) {
112
+ return { ...base, workspacePath, status: 'conflict', score: 0, reasons: uniqueStrings(['git apply --check failed', ...semanticEvidence.reasons]) };
113
+ }
114
+ const apply = await runLoggedProcess('git', ['apply', patchPath], workspacePath);
115
+ commands.push(apply);
116
+ if (apply.status !== 0)
117
+ return { ...base, workspacePath, status: 'conflict', score: 0, reasons: uniqueStrings(['git apply failed', ...semanticEvidence.reasons]) };
118
+ const gates = scoreCommands(input.bundle, input.input);
119
+ for (const gate of gates) {
120
+ const run = await runLoggedProcess(gate.command, gate.args, gate.cwd ? path.resolve(workspacePath, gate.cwd) : workspacePath);
121
+ commands.push(run);
122
+ if (run.status !== 0 && gate.required !== false) {
123
+ return {
124
+ ...base,
125
+ workspacePath,
126
+ status: 'test-fail',
127
+ score: clampPatchScore(10 + Math.min(0, semanticEvidence.scoreAdjustment)),
128
+ reasons: uniqueStrings([`gate failed: ${gate.name}`, ...semanticEvidence.reasons])
129
+ };
130
+ }
131
+ }
132
+ const clean = input.bundle.disposition === 'auto-mergeable' && input.bundle.autoMergeable && semanticEvidence.cleanEligible;
133
+ const reasons = uniqueStrings([
134
+ ...(input.bundle.disposition === 'auto-mergeable' && input.bundle.autoMergeable ? [] : ['patch applies but bundle is not auto-mergeable']),
135
+ ...semanticEvidence.reasons
136
+ ]);
137
+ return {
138
+ ...base,
139
+ workspacePath,
140
+ status: clean ? 'accepted-clean' : 'accepted-needs-port',
141
+ score: clampPatchScore((clean ? 100 : 70) + semanticEvidence.scoreAdjustment),
142
+ reasons
143
+ };
144
+ }
145
+ finally {
146
+ if (!input.input.keepWorkspaces)
147
+ await fs.rm(workspacePath, { recursive: true, force: true }).catch(() => { });
148
+ }
149
+ }
150
+ function clampPatchScore(score) {
151
+ if (!Number.isFinite(score))
152
+ return 0;
153
+ return Math.max(0, Math.min(100, Math.round(score)));
154
+ }
155
+ async function createScoreWorkspace(cwd, jobId, input) {
156
+ const workspacePath = await fs.mkdtemp(path.join(os.tmpdir(), `frontier-swarm-score-${slug(jobId)}-`));
157
+ const excludes = uniqueWorkspacePaths([
158
+ '.git',
159
+ 'node_modules',
160
+ 'dist',
161
+ 'coverage',
162
+ 'agent-runs',
163
+ '.frontier-framework',
164
+ ...(input.workspaceExcludes ?? [])
165
+ ]);
166
+ const includes = uniqueWorkspacePaths(input.workspaceIncludes ?? []);
167
+ if (includes.length) {
168
+ for (const include of includes)
169
+ await copyWorkspacePath(cwd, workspacePath, include, excludes);
170
+ }
171
+ else {
172
+ await fs.cp(cwd, workspacePath, {
173
+ recursive: true,
174
+ force: true,
175
+ filter: (source) => {
176
+ if (source === cwd)
177
+ return true;
178
+ const relative = path.relative(cwd, source).replace(/\\/g, '/');
179
+ if (!relative)
180
+ return true;
181
+ if (pathHasIgnoredSegment(relative, excludes))
182
+ return false;
183
+ return !excludes.some((entry) => relative === entry || relative.startsWith(entry.replace(/\/$/, '') + '/'));
184
+ }
185
+ });
186
+ }
187
+ return workspacePath;
188
+ }
189
+ function scoreCommands(bundle, input) {
190
+ const focused = normalizeScoreCommands(input.focusedCommands ?? []);
191
+ const global = bundle.changedPaths.some((file) => (input.globalGlobs ?? []).some((glob) => matchesGlob(file, glob)))
192
+ ? normalizeScoreCommands(input.globalCommands ?? [])
193
+ : [];
194
+ return [...focused, ...global];
195
+ }
196
+ function normalizeScoreCommands(input) {
197
+ return input.map((entry) => {
198
+ if (typeof entry === 'string')
199
+ return { name: entry, command: 'sh', args: ['-c', entry], required: true };
200
+ return {
201
+ name: entry.name,
202
+ command: entry.command,
203
+ args: [...entry.args],
204
+ required: entry.required,
205
+ ...(entry.cwd ? { cwd: entry.cwd } : {}),
206
+ ...(entry.metadata ? { metadata: entry.metadata } : {})
207
+ };
208
+ }).filter((entry) => entry.command.length > 0);
209
+ }
210
+ async function resolveApplyPatchPath(bundle, mergePath) {
211
+ const sibling = path.join(path.dirname(mergePath), 'changes.patch');
212
+ if (await pathExists(sibling))
213
+ return sibling;
214
+ const patchPath = resolveBundlePatchPath(bundle, mergePath);
215
+ if (patchPath && await pathExists(patchPath))
216
+ return patchPath;
217
+ return undefined;
218
+ }
219
+ //# sourceMappingURL=score.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score.js","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { FrontierCodexSemanticImportRecord, FrontierCodexUniversalAstLayerSummary } from './index.js';
2
+ export declare function semanticImportUniversalAstLayerSummary(summary: unknown): FrontierCodexUniversalAstLayerSummary;
3
+ export declare function summarizeSemanticImportUniversalAstLayers(records: FrontierCodexSemanticImportRecord[]): FrontierCodexUniversalAstLayerSummary;
4
+ export declare function summarizeUniversalAstLayers(universalAst: any, semanticSidecar: any): FrontierCodexUniversalAstLayerSummary;
5
+ export declare function summarizeNativeSourceProjection(value: any): unknown;
6
+ export declare function summarizeNativeSourceCompile(value: any): unknown;
7
+ export declare function summarizeSemanticLosses(value: any): unknown;
8
+ export declare function summarizeSemanticMergeCandidate(value: any): unknown;
9
+ //# sourceMappingURL=semantic-import-layers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-import-layers.d.ts","sourceRoot":"","sources":["../src/semantic-import-layers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iCAAiC,EAAE,qCAAqC,EAAE,MAAM,YAAY,CAAC;AAI3G,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,GAAG,qCAAqC,CAiB9G;AAGD,wBAAgB,yCAAyC,CAAC,OAAO,EAAE,iCAAiC,EAAE,GAAG,qCAAqC,CAoB7I;AAGD,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,GAAG,qCAAqC,CA0B1H;AAWD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAenE;AAGD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAoBhE;AAGD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAW3D;AAGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAWnE"}
@@ -0,0 +1,143 @@
1
+ import { isObject, nonNegativeNumber, numberRecord, uniqueStrings } from './common.js';
2
+ export function semanticImportUniversalAstLayerSummary(summary) {
3
+ const input = isObject(summary) && isObject(summary.universalAstLayers) ? summary.universalAstLayers : undefined;
4
+ const names = Array.isArray(input?.names)
5
+ ? uniqueStrings(input.names.map((entry) => String(entry)).filter(Boolean))
6
+ : [];
7
+ const ids = Array.isArray(input?.ids)
8
+ ? uniqueStrings(input.ids.map((entry) => String(entry)).filter(Boolean))
9
+ : [];
10
+ const byName = isObject(input?.byName) ? numberRecord(input.byName) : {};
11
+ const total = nonNegativeNumber(input?.total ?? ids.length);
12
+ return {
13
+ total,
14
+ names,
15
+ ids,
16
+ byName,
17
+ empty: input?.empty === true || total === 0
18
+ };
19
+ }
20
+ export function summarizeSemanticImportUniversalAstLayers(records) {
21
+ const byName = {};
22
+ const names = [];
23
+ const ids = [];
24
+ for (const record of records) {
25
+ for (const name of record.universalAstLayers?.names ?? []) {
26
+ names.push(name);
27
+ byName[name] = (byName[name] ?? 0) + 1;
28
+ }
29
+ ids.push(...(record.universalAstLayers?.ids ?? []));
30
+ }
31
+ const uniqueNames = uniqueStrings(names);
32
+ const uniqueIds = uniqueStrings(ids);
33
+ return {
34
+ total: records.reduce((sum, record) => sum + (record.universalAstLayers?.total ?? 0), 0),
35
+ names: uniqueNames,
36
+ ids: uniqueIds,
37
+ byName,
38
+ empty: uniqueIds.length === 0
39
+ };
40
+ }
41
+ export function summarizeUniversalAstLayers(universalAst, semanticSidecar) {
42
+ const layers = collectUniversalAstLayerRecords(universalAst?.layers);
43
+ const sidecarNames = Array.isArray(semanticSidecar?.summary?.universalAstLayerNames)
44
+ ? semanticSidecar.summary.universalAstLayerNames
45
+ : Array.isArray(semanticSidecar?.universalAstLayers?.names)
46
+ ? semanticSidecar.universalAstLayers.names
47
+ : [];
48
+ const sidecarIds = Array.isArray(semanticSidecar?.universalAstLayers?.ids) ? semanticSidecar.universalAstLayers.ids : [];
49
+ const byName = {};
50
+ for (const layer of layers) {
51
+ if (!layer?.layer)
52
+ continue;
53
+ byName[String(layer.layer)] = (byName[String(layer.layer)] ?? 0) + 1;
54
+ }
55
+ for (const [name, count] of Object.entries(semanticSidecar?.universalAstLayers?.byName ?? {})) {
56
+ byName[name] = Math.max(byName[name] ?? 0, Number(count) || 0);
57
+ }
58
+ const names = uniqueStrings([
59
+ ...layers.map((layer) => String(layer?.layer ?? '')).filter(Boolean),
60
+ ...sidecarNames.map((name) => String(name)).filter(Boolean)
61
+ ]);
62
+ const ids = uniqueStrings([
63
+ ...layers.map((layer) => String(layer?.id ?? '')).filter(Boolean),
64
+ ...sidecarIds.map((id) => String(id)).filter(Boolean)
65
+ ]);
66
+ const total = Math.max(layers.length, Number(semanticSidecar?.universalAstLayers?.total ?? 0) || 0, ids.length);
67
+ return { total, names, ids, byName, empty: total === 0 };
68
+ }
69
+ function collectUniversalAstLayerRecords(layers) {
70
+ if (!layers)
71
+ return [];
72
+ if (Array.isArray(layers))
73
+ return layers.filter(Boolean);
74
+ if (typeof layers !== 'object')
75
+ return [];
76
+ return Object.values(layers).flatMap((value) => Array.isArray(value) ? value : [value]).filter(Boolean);
77
+ }
78
+ export function summarizeNativeSourceProjection(value) {
79
+ if (!value || typeof value !== 'object')
80
+ return undefined;
81
+ return {
82
+ kind: value.kind,
83
+ id: value.id,
84
+ language: value.language,
85
+ sourcePath: value.sourcePath,
86
+ mode: value.mode,
87
+ outputHash: value.outputHash,
88
+ declarationCount: Array.isArray(value.declarations) ? value.declarations.length : 0,
89
+ lossCount: Array.isArray(value.losses) ? value.losses.length : 0,
90
+ readiness: value.readiness?.readiness,
91
+ sourceHashVerified: value.metadata?.sourceHashVerified,
92
+ exactSourceAvailable: value.metadata?.exactSourceAvailable
93
+ };
94
+ }
95
+ export function summarizeNativeSourceCompile(value) {
96
+ if (!value || typeof value !== 'object')
97
+ return undefined;
98
+ return {
99
+ kind: value.kind,
100
+ id: value.id,
101
+ ok: value.ok,
102
+ language: value.language,
103
+ target: value.target,
104
+ sourcePath: value.sourcePath,
105
+ outputMode: value.outputMode,
106
+ outputHash: value.outputHash,
107
+ lossCount: Array.isArray(value.losses) ? value.losses.length : 0,
108
+ readiness: value.readiness?.readiness,
109
+ targetCoverage: value.targetCoverage ? {
110
+ target: value.targetCoverage.target,
111
+ lossClass: value.targetCoverage.lossClass,
112
+ supported: value.targetCoverage.supported,
113
+ readiness: value.targetCoverage.readiness
114
+ } : undefined
115
+ };
116
+ }
117
+ export function summarizeSemanticLosses(value) {
118
+ if (!Array.isArray(value) || value.length === 0)
119
+ return undefined;
120
+ return value.slice(0, 12).map((loss) => ({
121
+ id: loss?.id,
122
+ severity: loss?.severity,
123
+ phase: loss?.phase,
124
+ kind: loss?.kind,
125
+ message: loss?.message,
126
+ nodeId: loss?.nodeId,
127
+ span: loss?.span
128
+ }));
129
+ }
130
+ export function summarizeSemanticMergeCandidate(value) {
131
+ if (!value || typeof value !== 'object')
132
+ return undefined;
133
+ return {
134
+ kind: value.kind,
135
+ readiness: value.readiness,
136
+ touchedSymbols: Array.isArray(value.touchedSymbols) ? value.touchedSymbols.slice(0, 50) : [],
137
+ touchedSemanticNodes: Array.isArray(value.touchedSemanticNodes) ? value.touchedSemanticNodes.slice(0, 50) : [],
138
+ nativeSpans: Array.isArray(value.nativeSpans) ? value.nativeSpans.slice(0, 50) : [],
139
+ conflictKeys: Array.isArray(value.conflictKeys) ? value.conflictKeys.slice(0, 100) : [],
140
+ reasons: Array.isArray(value.reasons) ? value.reasons.slice(0, 50) : []
141
+ };
142
+ }
143
+ //# sourceMappingURL=semantic-import-layers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-import-layers.js","sourceRoot":"","sources":["../src/semantic-import-layers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { FrontierCodexParadigmSemanticsSummary, FrontierCodexSemanticImportRecord } from './index.js';
2
+ export declare function semanticImportParadigmSemanticsSummary(summary: unknown): FrontierCodexParadigmSemanticsSummary;
3
+ export declare function summarizeSemanticImportParadigmSemantics(records: FrontierCodexSemanticImportRecord[]): FrontierCodexParadigmSemanticsSummary;
4
+ export declare function summarizeParadigmSemantics(paradigmSemantics?: any, semanticSidecar?: any): FrontierCodexParadigmSemanticsSummary;
5
+ export declare function normalizeParadigmSemanticsSummary(input: any): FrontierCodexParadigmSemanticsSummary;
6
+ //# sourceMappingURL=semantic-import-paradigm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-import-paradigm.d.ts","sourceRoot":"","sources":["../src/semantic-import-paradigm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qCAAqC,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAI3G,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,GAAG,qCAAqC,CAK9G;AAyBD,wBAAgB,wCAAwC,CAAC,OAAO,EAAE,iCAAiC,EAAE,GAAG,qCAAqC,CAO5I;AAGD,wBAAgB,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,GAAG,GAAG,qCAAqC,CAgChI;AAGD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,GAAG,GAAG,qCAAqC,CAKnG"}
@@ -0,0 +1,159 @@
1
+ import { isObject, nonNegativeNumber, numberRecord, uniqueStrings } from './common.js';
2
+ import { proofStringList } from './semantic-import-proof.js';
3
+ export function semanticImportParadigmSemanticsSummary(summary) {
4
+ const input = isObject(summary) && isObject(summary.paradigmSemantics)
5
+ ? summary.paradigmSemantics
6
+ : undefined;
7
+ return input ? normalizeParadigmSemanticsSummary(input) : emptyParadigmSemanticsSummary();
8
+ }
9
+ const paradigmSemanticsSummaryGroups = [
10
+ 'bindingScopes',
11
+ 'bindings',
12
+ 'patterns',
13
+ 'typeConstraints',
14
+ 'evaluationModels',
15
+ 'memoryLocations',
16
+ 'effectRegions',
17
+ 'controlRegions',
18
+ 'logicPrograms',
19
+ 'actorSystems',
20
+ 'stackEffects',
21
+ 'arrayShapes',
22
+ 'numericKernels',
23
+ 'dataflowNetworks',
24
+ 'clockModels',
25
+ 'objectModels',
26
+ 'macroExpansions',
27
+ 'reflectionBoundaries',
28
+ 'loweringRecords'
29
+ ];
30
+ export function summarizeSemanticImportParadigmSemantics(records) {
31
+ const summary = emptyParadigmSemanticsSummary();
32
+ for (const record of records) {
33
+ mergeParadigmSemanticsSummary(summary, record.paradigmSemantics);
34
+ }
35
+ summary.empty = summary.total === 0;
36
+ return summary;
37
+ }
38
+ export function summarizeParadigmSemantics(paradigmSemantics, semanticSidecar) {
39
+ const sidecarSummary = semanticSidecar?.paradigmSemantics ?? semanticSidecar?.summary?.paradigmSemantics;
40
+ if (sidecarSummary && typeof sidecarSummary === 'object' && hasParadigmSemanticsSummaryShape(sidecarSummary)) {
41
+ return normalizeParadigmSemanticsSummary(sidecarSummary);
42
+ }
43
+ const raw = paradigmSemantics && typeof paradigmSemantics === 'object' ? paradigmSemantics : {};
44
+ const summary = emptyParadigmSemanticsSummary();
45
+ summary.ids = uniqueStrings([raw.id].filter(Boolean).map(String));
46
+ for (const group of paradigmSemanticsSummaryGroups) {
47
+ const records = Array.isArray(raw[group]) ? raw[group] : [];
48
+ summary[group] += records.length;
49
+ summary.total += records.length;
50
+ if (records.length > 0)
51
+ summary.byGroup[group] = (summary.byGroup[group] ?? 0) + records.length;
52
+ for (const record of records) {
53
+ if (record?.id)
54
+ summary.ids.push(String(record.id));
55
+ if (record?.kind) {
56
+ const kind = String(record.kind);
57
+ summary.kinds.push(kind);
58
+ summary.byKind[kind] = (summary.byKind[kind] ?? 0) + 1;
59
+ }
60
+ }
61
+ }
62
+ summary.evidence = Array.isArray(raw.evidence) ? raw.evidence.length : 0;
63
+ summary.ids = uniqueStrings([
64
+ ...summary.ids,
65
+ ...(Array.isArray(raw.evidence) ? raw.evidence.map((record) => record?.id).filter(Boolean).map(String) : [])
66
+ ]);
67
+ summary.groups = uniqueStrings(Object.keys(summary.byGroup));
68
+ summary.kinds = uniqueStrings(summary.kinds);
69
+ fillParadigmSemanticsBooleans(summary);
70
+ summary.empty = summary.total === 0;
71
+ return summary;
72
+ }
73
+ export function normalizeParadigmSemanticsSummary(input) {
74
+ const summary = emptyParadigmSemanticsSummary();
75
+ mergeParadigmSemanticsSummary(summary, input);
76
+ summary.empty = summary.total === 0;
77
+ return summary;
78
+ }
79
+ function hasParadigmSemanticsSummaryShape(value) {
80
+ return typeof value.total === 'number' ||
81
+ typeof value.loweringRecords === 'number' ||
82
+ typeof value.logicPrograms === 'number' ||
83
+ typeof value.stackEffects === 'number';
84
+ }
85
+ function emptyParadigmSemanticsSummary() {
86
+ return {
87
+ total: 0,
88
+ ids: [],
89
+ groups: [],
90
+ kinds: [],
91
+ evidence: 0,
92
+ bindingScopes: 0,
93
+ bindings: 0,
94
+ patterns: 0,
95
+ typeConstraints: 0,
96
+ evaluationModels: 0,
97
+ memoryLocations: 0,
98
+ effectRegions: 0,
99
+ controlRegions: 0,
100
+ logicPrograms: 0,
101
+ actorSystems: 0,
102
+ stackEffects: 0,
103
+ arrayShapes: 0,
104
+ numericKernels: 0,
105
+ dataflowNetworks: 0,
106
+ clockModels: 0,
107
+ objectModels: 0,
108
+ macroExpansions: 0,
109
+ reflectionBoundaries: 0,
110
+ loweringRecords: 0,
111
+ byGroup: {},
112
+ byKind: {},
113
+ hasRuntimeSemantics: false,
114
+ hasLogicSemantics: false,
115
+ hasStackSemantics: false,
116
+ hasArraySemantics: false,
117
+ hasMacroOrReflection: false,
118
+ hasLowering: false,
119
+ empty: true
120
+ };
121
+ }
122
+ function mergeParadigmSemanticsSummary(target, input) {
123
+ if (!input || typeof input !== 'object')
124
+ return;
125
+ const declaredTotal = nonNegativeNumber(input.total);
126
+ let groupedTotal = 0;
127
+ target.evidence += nonNegativeNumber(input.evidence);
128
+ for (const group of paradigmSemanticsSummaryGroups) {
129
+ const count = nonNegativeNumber(input[group]);
130
+ target[group] += count;
131
+ groupedTotal += count;
132
+ }
133
+ target.total += declaredTotal || groupedTotal;
134
+ target.ids = uniqueStrings([...target.ids, ...proofStringList(input.ids)]);
135
+ target.groups = uniqueStrings([...target.groups, ...proofStringList(input.groups)]);
136
+ target.kinds = uniqueStrings([...target.kinds, ...proofStringList(input.kinds)]);
137
+ for (const [group, count] of Object.entries(numberRecord(input.byGroup))) {
138
+ target.byGroup[group] = (target.byGroup[group] ?? 0) + count;
139
+ }
140
+ for (const [kind, count] of Object.entries(numberRecord(input.byKind))) {
141
+ target.byKind[kind] = (target.byKind[kind] ?? 0) + count;
142
+ }
143
+ target.hasRuntimeSemantics ||= input.hasRuntimeSemantics === true;
144
+ target.hasLogicSemantics ||= input.hasLogicSemantics === true;
145
+ target.hasStackSemantics ||= input.hasStackSemantics === true;
146
+ target.hasArraySemantics ||= input.hasArraySemantics === true;
147
+ target.hasMacroOrReflection ||= input.hasMacroOrReflection === true;
148
+ target.hasLowering ||= input.hasLowering === true;
149
+ fillParadigmSemanticsBooleans(target);
150
+ }
151
+ function fillParadigmSemanticsBooleans(summary) {
152
+ summary.hasRuntimeSemantics ||= summary.evaluationModels > 0 || summary.memoryLocations > 0 || summary.effectRegions > 0 || summary.controlRegions > 0 || summary.actorSystems > 0 || summary.clockModels > 0;
153
+ summary.hasLogicSemantics ||= summary.logicPrograms > 0;
154
+ summary.hasStackSemantics ||= summary.stackEffects > 0;
155
+ summary.hasArraySemantics ||= summary.arrayShapes > 0 || summary.numericKernels > 0;
156
+ summary.hasMacroOrReflection ||= summary.macroExpansions > 0 || summary.reflectionBoundaries > 0;
157
+ summary.hasLowering ||= summary.loweringRecords > 0;
158
+ }
159
+ //# sourceMappingURL=semantic-import-paradigm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-import-paradigm.js","sourceRoot":"","sources":["../src/semantic-import-paradigm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { FrontierCodexProofSpecSummary, FrontierCodexSemanticImportRecord } from './index.js';
2
+ export declare function semanticImportProofSpecSummary(summary: unknown): FrontierCodexProofSpecSummary;
3
+ export declare function summarizeSemanticImportProofSpec(records: FrontierCodexSemanticImportRecord[]): FrontierCodexProofSpecSummary;
4
+ export declare function summarizeProofSpec(proof?: any, semanticSidecar?: any): FrontierCodexProofSpecSummary;
5
+ export declare function normalizeProofSpecSummary(value: Record<string, unknown>): FrontierCodexProofSpecSummary;
6
+ export declare function proofStringList(value: unknown): string[];
7
+ //# sourceMappingURL=semantic-import-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-import-proof.d.ts","sourceRoot":"","sources":["../src/semantic-import-proof.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAGnG,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,6BAA6B,CAG9F;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,iCAAiC,EAAE,GAAG,6BAA6B,CAO5H;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,GAAG,GAAG,6BAA6B,CAgEpG;AAWD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,6BAA6B,CAKvG;AAoDD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAGxD"}