@deepagents/text2sql 0.30.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +18 -2
- package/dist/index.js.map +3 -3
- package/dist/lib/adapters/adapter.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/index.js +62 -5
- package/dist/lib/adapters/bigquery/index.js.map +3 -3
- package/dist/lib/adapters/groundings/abstract.grounding.d.ts +23 -0
- package/dist/lib/adapters/groundings/abstract.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/groundings/index.js +48 -5
- package/dist/lib/adapters/groundings/index.js.map +2 -2
- package/dist/lib/adapters/groundings/table.grounding.d.ts +9 -1
- package/dist/lib/adapters/groundings/table.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/groundings/view.grounding.d.ts +7 -1
- package/dist/lib/adapters/groundings/view.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/mysql/index.js +62 -5
- package/dist/lib/adapters/mysql/index.js.map +3 -3
- package/dist/lib/adapters/postgres/index.js +62 -5
- package/dist/lib/adapters/postgres/index.js.map +3 -3
- package/dist/lib/adapters/spreadsheet/index.js +57 -4
- package/dist/lib/adapters/spreadsheet/index.js.map +3 -3
- package/dist/lib/adapters/sqlite/index.js +62 -5
- package/dist/lib/adapters/sqlite/index.js.map +3 -3
- package/dist/lib/adapters/sqlserver/index.js +62 -5
- package/dist/lib/adapters/sqlserver/index.js.map +3 -3
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -328,7 +328,18 @@ var Adapter = class {
|
|
|
328
328
|
fragments.push(this.#viewToFragment(v));
|
|
329
329
|
}
|
|
330
330
|
const tableMap = new Map(ctx.tables.map((t) => [t.name, t]));
|
|
331
|
+
const tableColumnSets = new Map(
|
|
332
|
+
ctx.tables.map((t) => [t.name, new Set(t.columns.map((c) => c.name))])
|
|
333
|
+
);
|
|
331
334
|
for (const rel of ctx.relationships) {
|
|
335
|
+
const sourceColumns = tableColumnSets.get(rel.table);
|
|
336
|
+
const targetColumns = tableColumnSets.get(rel.referenced_table);
|
|
337
|
+
if (sourceColumns && rel.from.some((column2) => !sourceColumns.has(column2))) {
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
if (targetColumns && rel.to.some((column2) => !targetColumns.has(column2))) {
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
332
343
|
const sourceTable = tableMap.get(rel.table);
|
|
333
344
|
const targetTable = tableMap.get(rel.referenced_table);
|
|
334
345
|
fragments.push(
|
|
@@ -383,7 +394,10 @@ var Adapter = class {
|
|
|
383
394
|
stats: col.stats
|
|
384
395
|
})
|
|
385
396
|
);
|
|
386
|
-
const
|
|
397
|
+
const presentColumns = new Set(t.columns.map((c) => c.name));
|
|
398
|
+
const indexFragments = (t.indexes ?? []).filter(
|
|
399
|
+
(idx) => idx.columns.every((column2) => presentColumns.has(column2))
|
|
400
|
+
).map(
|
|
387
401
|
(idx) => index({
|
|
388
402
|
name: idx.name,
|
|
389
403
|
columns: idx.columns,
|
|
@@ -393,6 +407,8 @@ var Adapter = class {
|
|
|
393
407
|
);
|
|
394
408
|
const constraintFragments = (t.constraints ?? []).filter(
|
|
395
409
|
(c) => c.type === "CHECK" || c.type === "UNIQUE" && (c.columns?.length ?? 0) > 1
|
|
410
|
+
).filter(
|
|
411
|
+
(c) => !c.columns?.length || c.columns.every((column2) => presentColumns.has(column2))
|
|
396
412
|
).map(
|
|
397
413
|
(c) => constraint({
|
|
398
414
|
name: c.name,
|
|
@@ -1607,8 +1623,8 @@ async function createResultTools(options) {
|
|
|
1607
1623
|
customCommands: [sqlCommand],
|
|
1608
1624
|
fs: filesystem
|
|
1609
1625
|
});
|
|
1610
|
-
bashInstance.registerTransformPlugin(new SqlProxyEnforcementPlugin());
|
|
1611
1626
|
bashInstance.registerTransformPlugin(new SqlBacktickRewritePlugin());
|
|
1627
|
+
bashInstance.registerTransformPlugin(new SqlProxyEnforcementPlugin());
|
|
1612
1628
|
const { sandbox, tools } = await createBashTool({
|
|
1613
1629
|
sandbox: bashInstance,
|
|
1614
1630
|
destination: "/",
|