@deepagents/text2sql 0.9.0 → 0.10.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 +8 -1
- package/dist/index.js.map +3 -3
- package/dist/lib/adapters/spreadsheet/index.d.ts +4 -0
- package/dist/lib/adapters/spreadsheet/index.d.ts.map +1 -0
- package/dist/lib/adapters/spreadsheet/parser.d.ts +41 -0
- package/dist/lib/adapters/spreadsheet/parser.d.ts.map +1 -0
- package/dist/lib/adapters/spreadsheet/spreadsheet.d.ts +52 -0
- package/dist/lib/adapters/spreadsheet/spreadsheet.d.ts.map +1 -0
- package/dist/lib/sql.d.ts.map +1 -1
- package/package.json +11 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { columnStats, columnValues, info, rowCount, tables, } from '../sqlite/index.ts';
|
|
2
|
+
export { Spreadsheet, type SpreadsheetOptions } from './spreadsheet.ts';
|
|
3
|
+
export { parseFile, sanitizeIdentifier, sanitizeTableName, type Column, type ColumnType, type ParsedSheet, } from './parser.ts';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/spreadsheet/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,MAAM,GACP,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGxE,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Column type for SQLite.
|
|
3
|
+
*/
|
|
4
|
+
export type ColumnType = 'TEXT' | 'INTEGER' | 'REAL';
|
|
5
|
+
/**
|
|
6
|
+
* Column definition with name and inferred type.
|
|
7
|
+
*/
|
|
8
|
+
export interface Column {
|
|
9
|
+
/** Sanitized column name for SQL */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Original column name from spreadsheet (for data access) */
|
|
12
|
+
originalKey: string;
|
|
13
|
+
/** Inferred SQLite type */
|
|
14
|
+
type: ColumnType;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Parsed sheet with table name, columns, and row data.
|
|
18
|
+
*/
|
|
19
|
+
export interface ParsedSheet {
|
|
20
|
+
name: string;
|
|
21
|
+
columns: Column[];
|
|
22
|
+
rows: Record<string, unknown>[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse an Excel or CSV/TSV file into sheets.
|
|
26
|
+
*
|
|
27
|
+
* - Excel files: each sheet becomes a ParsedSheet
|
|
28
|
+
* - CSV/TSV files: single ParsedSheet with filename as table name
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseFile(filePath: string): ParsedSheet[];
|
|
31
|
+
/**
|
|
32
|
+
* Sanitize a name to be a valid SQL table/column identifier.
|
|
33
|
+
* - Lowercase for consistency
|
|
34
|
+
* - Replace invalid chars with underscores
|
|
35
|
+
* - Ensure it doesn't start with a number
|
|
36
|
+
* - Trim and collapse multiple underscores
|
|
37
|
+
* - Truncate to 64 characters
|
|
38
|
+
*/
|
|
39
|
+
export declare function sanitizeIdentifier(name: string): string;
|
|
40
|
+
export declare const sanitizeTableName: typeof sanitizeIdentifier;
|
|
41
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/spreadsheet/parser.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAmDzD;AAWD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyBvD;AAGD,eAAO,MAAM,iBAAiB,2BAAqB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { GroundingFn } from '../adapter.ts';
|
|
2
|
+
import { Sqlite } from '../sqlite/sqlite.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Options for creating a Spreadsheet adapter.
|
|
5
|
+
*/
|
|
6
|
+
export interface SpreadsheetOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Path to the spreadsheet file (Excel .xlsx/.xls or CSV/TSV).
|
|
9
|
+
*/
|
|
10
|
+
file: string;
|
|
11
|
+
/**
|
|
12
|
+
* Optional path to persist the SQLite database.
|
|
13
|
+
* If not provided, uses in-memory database (':memory:').
|
|
14
|
+
*/
|
|
15
|
+
database?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Grounding functions to use for schema introspection.
|
|
18
|
+
*/
|
|
19
|
+
grounding: GroundingFn[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Spreadsheet adapter that loads Excel/CSV files into SQLite.
|
|
23
|
+
*
|
|
24
|
+
* This adapter:
|
|
25
|
+
* 1. Parses the spreadsheet file (Excel or CSV/TSV)
|
|
26
|
+
* 2. Creates a SQLite database (in-memory or file-based)
|
|
27
|
+
* 3. Creates tables from sheets and loads data
|
|
28
|
+
* 4. Delegates all SQL operations to the SQLite adapter
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import { Spreadsheet, tables, info } from '@deepagents/text2sql/spreadsheet';
|
|
33
|
+
*
|
|
34
|
+
* const adapter = new Spreadsheet({
|
|
35
|
+
* file: './sales.xlsx',
|
|
36
|
+
* grounding: [tables(), info()]
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* const schema = await adapter.introspect();
|
|
40
|
+
* const results = await adapter.execute('SELECT * FROM Customers');
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare class Spreadsheet extends Sqlite {
|
|
44
|
+
#private;
|
|
45
|
+
constructor(options: SpreadsheetOptions);
|
|
46
|
+
/**
|
|
47
|
+
* Close the underlying SQLite database.
|
|
48
|
+
* Call this when done to release resources.
|
|
49
|
+
*/
|
|
50
|
+
close(): void;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=spreadsheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spreadsheet.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapters/spreadsheet/spreadsheet.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAY,SAAQ,MAAM;;gBAGzB,OAAO,EAAE,kBAAkB;IAwBvC;;;OAGG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/lib/sql.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/lib/sql.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/lib/sql.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepagents/text2sql",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -64,6 +64,12 @@
|
|
|
64
64
|
"types": "./dist/lib/synthesis/index.d.ts",
|
|
65
65
|
"import": "./dist/lib/synthesis/index.js",
|
|
66
66
|
"default": "./dist/lib/synthesis/index.js"
|
|
67
|
+
},
|
|
68
|
+
"./spreadsheet": {
|
|
69
|
+
"development": "./src/lib/adapters/spreadsheet/index.ts",
|
|
70
|
+
"types": "./dist/lib/adapters/spreadsheet/index.d.ts",
|
|
71
|
+
"import": "./dist/lib/adapters/spreadsheet/index.js",
|
|
72
|
+
"default": "./dist/lib/adapters/spreadsheet/index.js"
|
|
67
73
|
}
|
|
68
74
|
},
|
|
69
75
|
"files": [
|
|
@@ -76,8 +82,8 @@
|
|
|
76
82
|
},
|
|
77
83
|
"dependencies": {
|
|
78
84
|
"@ai-sdk/groq": "2.0.26",
|
|
79
|
-
"@deepagents/agent": "0.
|
|
80
|
-
"@deepagents/toolbox": "0.
|
|
85
|
+
"@deepagents/agent": "0.10.0",
|
|
86
|
+
"@deepagents/toolbox": "0.10.0",
|
|
81
87
|
"ai": "^5.0.102",
|
|
82
88
|
"autoevals": "^0.0.131",
|
|
83
89
|
"dedent": "1.7.0",
|
|
@@ -91,6 +97,7 @@
|
|
|
91
97
|
"@ai-sdk/openai": "2.0.76",
|
|
92
98
|
"nano-spawn": "^1.0.3",
|
|
93
99
|
"p-retry": "^7.1.1",
|
|
94
|
-
"pg": "^8.16.3"
|
|
100
|
+
"pg": "^8.16.3",
|
|
101
|
+
"xlsx": "^0.18.5"
|
|
95
102
|
}
|
|
96
103
|
}
|