mirror of
https://github.com/Kaelio/ktx.git
synced 2026-07-01 08:59:39 +02:00
test(cli): verify solid dialect scan workflow closure
This commit is contained in:
parent
33356d38da
commit
7d79d4e38e
1 changed files with 9 additions and 6 deletions
|
|
@ -6,6 +6,7 @@ import { gunzipSync } from 'node:zlib';
|
||||||
import Database from 'better-sqlite3';
|
import Database from 'better-sqlite3';
|
||||||
import YAML from 'yaml';
|
import YAML from 'yaml';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
import { getDialectForDriver } from '../connections/dialects.js';
|
||||||
import type { KtxLlmRuntimePort } from '../llm/runtime-port.js';
|
import type { KtxLlmRuntimePort } from '../llm/runtime-port.js';
|
||||||
import type { KtxEnrichedRelationship, KtxEnrichedSchema, KtxRelationshipType } from './enrichment-types.js';
|
import type { KtxEnrichedRelationship, KtxEnrichedSchema, KtxRelationshipType } from './enrichment-types.js';
|
||||||
import { snapshotToKtxEnrichedSchema } from './local-enrichment.js';
|
import { snapshotToKtxEnrichedSchema } from './local-enrichment.js';
|
||||||
|
|
@ -536,6 +537,7 @@ export function ktxRelationshipBenchmarkDetectorWithLlm(
|
||||||
const formalLinks = formalMetadata.accepted.map((relationship) => relationshipToBenchmarkLink(relationship));
|
const formalLinks = formalMetadata.accepted.map((relationship) => relationshipToBenchmarkLink(relationship));
|
||||||
const acceptedKeys = new Set(formalLinks.map(fkKey));
|
const acceptedKeys = new Set(formalLinks.map(fkKey));
|
||||||
const sqliteDataAvailable = Boolean(input.dataPath && input.snapshot.driver === 'sqlite');
|
const sqliteDataAvailable = Boolean(input.dataPath && input.snapshot.driver === 'sqlite');
|
||||||
|
const dialect = getDialectForDriver(input.snapshot.driver);
|
||||||
const profilingExecutor =
|
const profilingExecutor =
|
||||||
sqliteDataAvailable && input.mode !== 'profiling_disabled'
|
sqliteDataAvailable && input.mode !== 'profiling_disabled'
|
||||||
? new KtxRelationshipBenchmarkSqliteExecutor(input.dataPath as string)
|
? new KtxRelationshipBenchmarkSqliteExecutor(input.dataPath as string)
|
||||||
|
|
@ -550,7 +552,7 @@ export function ktxRelationshipBenchmarkDetectorWithLlm(
|
||||||
})
|
})
|
||||||
: await profileKtxRelationshipSchema({
|
: await profileKtxRelationshipSchema({
|
||||||
connectionId: input.snapshot.connectionId,
|
connectionId: input.snapshot.connectionId,
|
||||||
driver: input.snapshot.driver,
|
dialect,
|
||||||
schema: input.schema,
|
schema: input.schema,
|
||||||
executor: profilingExecutor,
|
executor: profilingExecutor,
|
||||||
ctx: { runId: `relationship-benchmark:${input.fixtureId}:${input.mode}:profile` },
|
ctx: { runId: `relationship-benchmark:${input.fixtureId}:${input.mode}:profile` },
|
||||||
|
|
@ -580,7 +582,7 @@ export function ktxRelationshipBenchmarkDetectorWithLlm(
|
||||||
: Math.max(0, input.validationBudget - profiles.queryCount);
|
: Math.max(0, input.validationBudget - profiles.queryCount);
|
||||||
const validatedBroadCandidates = await validateKtxRelationshipDiscoveryCandidates({
|
const validatedBroadCandidates = await validateKtxRelationshipDiscoveryCandidates({
|
||||||
connectionId: input.snapshot.connectionId,
|
connectionId: input.snapshot.connectionId,
|
||||||
driver: input.snapshot.driver,
|
dialect,
|
||||||
candidates,
|
candidates,
|
||||||
profiles,
|
profiles,
|
||||||
executor: validationExecutor,
|
executor: validationExecutor,
|
||||||
|
|
@ -597,7 +599,7 @@ export function ktxRelationshipBenchmarkDetectorWithLlm(
|
||||||
input.mode !== 'validation_disabled'
|
input.mode !== 'validation_disabled'
|
||||||
? await discoverKtxCompositeRelationships({
|
? await discoverKtxCompositeRelationships({
|
||||||
connectionId: input.snapshot.connectionId,
|
connectionId: input.snapshot.connectionId,
|
||||||
driver: input.snapshot.driver,
|
dialect,
|
||||||
schema: input.schema,
|
schema: input.schema,
|
||||||
profiles,
|
profiles,
|
||||||
executor: validationExecutor,
|
executor: validationExecutor,
|
||||||
|
|
@ -671,6 +673,7 @@ export function currentKtxRelationshipBenchmarkDetector(): KtxRelationshipBenchm
|
||||||
const formalLinks = formalMetadata.accepted.map((relationship) => relationshipToBenchmarkLink(relationship));
|
const formalLinks = formalMetadata.accepted.map((relationship) => relationshipToBenchmarkLink(relationship));
|
||||||
const acceptedKeys = new Set(formalLinks.map(fkKey));
|
const acceptedKeys = new Set(formalLinks.map(fkKey));
|
||||||
const sqliteDataAvailable = Boolean(input.dataPath && input.snapshot.driver === 'sqlite');
|
const sqliteDataAvailable = Boolean(input.dataPath && input.snapshot.driver === 'sqlite');
|
||||||
|
const dialect = getDialectForDriver(input.snapshot.driver);
|
||||||
const profilingExecutor =
|
const profilingExecutor =
|
||||||
sqliteDataAvailable && input.mode !== 'profiling_disabled'
|
sqliteDataAvailable && input.mode !== 'profiling_disabled'
|
||||||
? new KtxRelationshipBenchmarkSqliteExecutor(input.dataPath as string)
|
? new KtxRelationshipBenchmarkSqliteExecutor(input.dataPath as string)
|
||||||
|
|
@ -685,7 +688,7 @@ export function currentKtxRelationshipBenchmarkDetector(): KtxRelationshipBenchm
|
||||||
})
|
})
|
||||||
: await profileKtxRelationshipSchema({
|
: await profileKtxRelationshipSchema({
|
||||||
connectionId: input.snapshot.connectionId,
|
connectionId: input.snapshot.connectionId,
|
||||||
driver: input.snapshot.driver,
|
dialect,
|
||||||
schema: input.schema,
|
schema: input.schema,
|
||||||
executor: profilingExecutor,
|
executor: profilingExecutor,
|
||||||
ctx: { runId: `relationship-benchmark:${input.fixtureId}:${input.mode}:profile` },
|
ctx: { runId: `relationship-benchmark:${input.fixtureId}:${input.mode}:profile` },
|
||||||
|
|
@ -702,7 +705,7 @@ export function currentKtxRelationshipBenchmarkDetector(): KtxRelationshipBenchm
|
||||||
: Math.max(0, input.validationBudget - profiles.queryCount);
|
: Math.max(0, input.validationBudget - profiles.queryCount);
|
||||||
const validatedBroadCandidates = await validateKtxRelationshipDiscoveryCandidates({
|
const validatedBroadCandidates = await validateKtxRelationshipDiscoveryCandidates({
|
||||||
connectionId: input.snapshot.connectionId,
|
connectionId: input.snapshot.connectionId,
|
||||||
driver: input.snapshot.driver,
|
dialect,
|
||||||
candidates: broadRelationshipCandidates,
|
candidates: broadRelationshipCandidates,
|
||||||
profiles,
|
profiles,
|
||||||
executor: validationExecutor,
|
executor: validationExecutor,
|
||||||
|
|
@ -719,7 +722,7 @@ export function currentKtxRelationshipBenchmarkDetector(): KtxRelationshipBenchm
|
||||||
input.mode !== 'validation_disabled'
|
input.mode !== 'validation_disabled'
|
||||||
? await discoverKtxCompositeRelationships({
|
? await discoverKtxCompositeRelationships({
|
||||||
connectionId: input.snapshot.connectionId,
|
connectionId: input.snapshot.connectionId,
|
||||||
driver: input.snapshot.driver,
|
dialect,
|
||||||
schema: input.schema,
|
schema: input.schema,
|
||||||
profiles,
|
profiles,
|
||||||
executor: validationExecutor,
|
executor: validationExecutor,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue