@deepagents/text2sql 0.30.0 → 0.32.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 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 indexFragments = (t.indexes ?? []).map(
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: "/",