@deepagents/text2sql 0.39.0 → 2.1.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/README.md +157 -74
- package/dist/bin/sql.js +795 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3376 -3309
- package/dist/index.js.map +4 -4
- package/dist/lib/adapter-index.d.ts +35 -0
- package/dist/lib/adapter-index.d.ts.map +1 -0
- package/dist/lib/agents/question.agent.d.ts.map +1 -1
- package/dist/lib/agents/sql-transform-plugins.d.ts +3 -3
- package/dist/lib/agents/sql-transform-plugins.d.ts.map +1 -1
- package/dist/lib/agents/sql.agent.d.ts.map +1 -1
- package/dist/lib/instructions.d.ts +1 -1
- package/dist/lib/instructions.d.ts.map +1 -1
- package/dist/lib/sql-hooks.d.ts +15 -0
- package/dist/lib/sql-hooks.d.ts.map +1 -0
- package/dist/lib/sql-meta-hook.d.ts +20 -0
- package/dist/lib/sql-meta-hook.d.ts.map +1 -0
- package/dist/lib/sql-repair.d.ts +2 -0
- package/dist/lib/sql-repair.d.ts.map +1 -0
- package/dist/lib/sql-transform.d.ts +2 -0
- package/dist/lib/sql-transform.d.ts.map +1 -0
- package/dist/lib/sql.d.ts +5 -38
- package/dist/lib/sql.d.ts.map +1 -1
- package/dist/lib/synthesis/extractors/base-contextual-extractor.d.ts.map +1 -1
- package/dist/lib/synthesis/extractors/segmented-context-extractor.d.ts.map +1 -1
- package/dist/lib/synthesis/extractors/sql-extractor.d.ts.map +1 -1
- package/dist/lib/synthesis/index.js +59 -2
- package/dist/lib/synthesis/index.js.map +4 -4
- package/dist/lib/synthesis/synthesizers/breadth-evolver.d.ts.map +1 -1
- package/dist/lib/synthesis/synthesizers/depth-evolver.d.ts.map +1 -1
- package/dist/lib/synthesis/synthesizers/persona-generator.d.ts.map +1 -1
- package/package.json +9 -5
- package/dist/lib/agents/sql-command.d.ts +0 -11
- package/dist/lib/agents/sql-command.d.ts.map +0 -1
- package/dist/lib/demo.d.ts +0 -2
- package/dist/lib/demo.d.ts.map +0 -1
- package/dist/lib/sandbox.d.ts +0 -21
- package/dist/lib/sandbox.d.ts.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ContextFragment } from '@deepagents/context';
|
|
2
|
+
import { type Adapter, type IntrospectionPhase } from './adapters/adapter.ts';
|
|
3
|
+
export declare const TEXT2SQL_INDEX_PROGRESS_CHUNK = "data-text2sql-index-progress";
|
|
4
|
+
export type Text2SqlIndexProgressEventType = 'index:start' | 'index:end' | 'adapter:start' | 'adapter:end' | 'adapter:cache-hit' | 'adapter:cache-miss' | 'phase:start' | 'phase:progress' | 'phase:end' | 'adapter:error' | 'index:error';
|
|
5
|
+
export interface Text2SqlIndexProgressEvent {
|
|
6
|
+
type: Text2SqlIndexProgressEventType;
|
|
7
|
+
adapter?: string;
|
|
8
|
+
phase?: IntrospectionPhase;
|
|
9
|
+
table?: string;
|
|
10
|
+
message: string;
|
|
11
|
+
current?: number;
|
|
12
|
+
total?: number;
|
|
13
|
+
cached?: boolean;
|
|
14
|
+
timestampMs?: number;
|
|
15
|
+
}
|
|
16
|
+
export type Text2SqlIndexProgressHandler = (event: Text2SqlIndexProgressEvent) => void;
|
|
17
|
+
export interface AdapterIndexerOptions {
|
|
18
|
+
adapters: Record<string, Adapter>;
|
|
19
|
+
version?: string;
|
|
20
|
+
cacheKey?: (adapterName: string) => string | undefined;
|
|
21
|
+
}
|
|
22
|
+
export interface AdapterIndexerIndexOptions {
|
|
23
|
+
adapterNames?: readonly string[];
|
|
24
|
+
onProgress?: Text2SqlIndexProgressHandler;
|
|
25
|
+
}
|
|
26
|
+
export interface AdapterIndexerAdapterOptions {
|
|
27
|
+
onProgress?: Text2SqlIndexProgressHandler;
|
|
28
|
+
}
|
|
29
|
+
export declare class AdapterIndexer {
|
|
30
|
+
#private;
|
|
31
|
+
constructor(options: AdapterIndexerOptions);
|
|
32
|
+
index(options?: AdapterIndexerIndexOptions): Promise<ContextFragment[]>;
|
|
33
|
+
indexAdapter(name: string, options?: AdapterIndexerAdapterOptions): Promise<ContextFragment[]>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=adapter-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-index.d.ts","sourceRoot":"","sources":["../../src/lib/adapter-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAY,MAAM,qBAAqB,CAAC;AAGrE,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAI/B,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAE5E,MAAM,MAAM,8BAA8B,GACtC,aAAa,GACb,WAAW,GACX,eAAe,GACf,aAAa,GACb,mBAAmB,GACnB,oBAAoB,GACpB,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,4BAA4B,GAAG,CACzC,KAAK,EAAE,0BAA0B,KAC9B,IAAI,CAAC;AAEV,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACxD;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C;AAgBD,qBAAa,cAAc;;gBAKb,OAAO,EAAE,qBAAqB;IAYpC,KAAK,CACT,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,eAAe,EAAE,CAAC;IA+CvB,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,eAAe,EAAE,CAAC;CAiH9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/question.agent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"question.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/question.agent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAYpD,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,UAAU,GACV,SAAS,GACT,cAAc,CAAC;AAgDnB,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,UAAU,EAAE,kBAAkB,CAAC;IAC/B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CA6DlC"}
|
|
@@ -12,11 +12,11 @@ export declare class SqlProxyEnforcementPlugin implements TransformPlugin<SqlPro
|
|
|
12
12
|
name: string;
|
|
13
13
|
transform(context: TransformContext): TransformResult<SqlProxyEnforcementMetadata>;
|
|
14
14
|
}
|
|
15
|
-
export interface
|
|
15
|
+
export interface SqlCommandRewriteMetadata {
|
|
16
16
|
rewritten: boolean;
|
|
17
17
|
}
|
|
18
|
-
export declare class
|
|
18
|
+
export declare class SqlCommandRewritePlugin implements TransformPlugin<SqlCommandRewriteMetadata> {
|
|
19
19
|
name: string;
|
|
20
|
-
transform(context: TransformContext): TransformResult<
|
|
20
|
+
transform(context: TransformContext): TransformResult<SqlCommandRewriteMetadata>;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=sql-transform-plugins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-transform-plugins.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/sql-transform-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAGV,gBAAgB,EAChB,eAAe,EACf,eAAe,EAEhB,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAwCtE,qBAAa,sBAAuB,SAAQ,aAAa;;IAMvD,MAAM,IAAI,aAAa;CAGxB;AAoyBD,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,qBAAa,yBAA0B,YAAW,eAAe,CAAC,2BAA2B,CAAC;IAC5F,IAAI,SAA2B;IAE/B,SAAS,CACP,OAAO,EAAE,gBAAgB,GACxB,eAAe,CAAC,2BAA2B,CAAC;CAehD;
|
|
1
|
+
{"version":3,"file":"sql-transform-plugins.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/sql-transform-plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAGV,gBAAgB,EAChB,eAAe,EACf,eAAe,EAEhB,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAwCtE,qBAAa,sBAAuB,SAAQ,aAAa;;IAMvD,MAAM,IAAI,aAAa;CAGxB;AAoyBD,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,qBAAa,yBAA0B,YAAW,eAAe,CAAC,2BAA2B,CAAC;IAC5F,IAAI,SAA2B;IAE/B,SAAS,CACP,OAAO,EAAE,gBAAgB,GACxB,eAAe,CAAC,2BAA2B,CAAC;CAehD;AA8BD,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAC;CACpB;AA8JD,qBAAa,uBAAwB,YAAW,eAAe,CAAC,yBAAyB,CAAC;IACxF,IAAI,SAAyB;IAE7B,SAAS,CACP,OAAO,EAAE,gBAAgB,GACxB,eAAe,CAAC,yBAAyB,CAAC;CAK9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/sql.agent.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAEL,KAAK,eAAe,EAWrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"sql.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/sql.agent.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAEL,KAAK,eAAe,EAWrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAOtD,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,8BAA8B;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AA+PD,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAsKvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/lib/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAYrB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/lib/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAYrB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,YAAY,IAAI,eAAe,EAAE,CAmUhD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type CreateSqlMetaHookOptions } from './sql-meta-hook.ts';
|
|
2
|
+
export { createSqlMetaHook } from './sql-meta-hook.ts';
|
|
3
|
+
export type { CreateSqlMetaHookOptions, SqlCommandFormatter, } from './sql-meta-hook.ts';
|
|
4
|
+
export { repairSqlCommand } from './sql-repair.ts';
|
|
5
|
+
export { transformSqlCommand } from './sql-transform.ts';
|
|
6
|
+
export type CreateSqlCommandHooksOptions = CreateSqlMetaHookOptions;
|
|
7
|
+
export declare function createSqlCommandHooks({ adapters, }: CreateSqlCommandHooksOptions): {
|
|
8
|
+
onBeforeBashCall: ({ command }: {
|
|
9
|
+
command: string;
|
|
10
|
+
}) => {
|
|
11
|
+
command: string;
|
|
12
|
+
};
|
|
13
|
+
onAfterBashCall: ({ command }: import("./sql-meta-hook.ts").SqlMetaAfterHookInput) => undefined;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=sql-hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/sql-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EACV,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAEpE,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,GACT,EAAE,4BAA4B;oCAIK;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;;;;EAQtD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CommandResult } from 'bash-tool';
|
|
2
|
+
export interface SqlCommandFormatter {
|
|
3
|
+
format(sql: string): string;
|
|
4
|
+
}
|
|
5
|
+
export interface CreateSqlMetaHookOptions {
|
|
6
|
+
adapters: Record<string, SqlCommandFormatter>;
|
|
7
|
+
}
|
|
8
|
+
export interface SqlMetaTrackInput {
|
|
9
|
+
repaired: string;
|
|
10
|
+
transformed: string;
|
|
11
|
+
}
|
|
12
|
+
export interface SqlMetaAfterHookInput {
|
|
13
|
+
command: string;
|
|
14
|
+
result: CommandResult;
|
|
15
|
+
}
|
|
16
|
+
export declare function createSqlMetaHook({ adapters }: CreateSqlMetaHookOptions): {
|
|
17
|
+
track({ repaired, transformed }: SqlMetaTrackInput): void;
|
|
18
|
+
onAfterBashCall({ command }: SqlMetaAfterHookInput): undefined;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=sql-meta-hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-meta-hook.d.ts","sourceRoot":"","sources":["../../src/lib/sql-meta-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAS/C,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB;AAUD,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAwB;qCAInC,iBAAiB,GAAG,IAAI;iCAQ5B,qBAAqB;EAwBrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-repair.d.ts","sourceRoot":"","sources":["../../src/lib/sql-repair.ts"],"names":[],"mappings":"AAsCA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-transform.d.ts","sourceRoot":"","sources":["../../src/lib/sql-transform.ts"],"names":[],"mappings":"AAYA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS3D"}
|
package/dist/lib/sql.d.ts
CHANGED
|
@@ -1,54 +1,21 @@
|
|
|
1
|
-
import { type StreamTextTransform, type Tool, type ToolSet } from 'ai';
|
|
2
1
|
import { type AgentModel } from '@deepagents/agent';
|
|
3
|
-
import { type
|
|
4
|
-
import { type Adapter, type IntrospectionPhase } from './adapters/adapter.ts';
|
|
2
|
+
import { type Adapter } from './adapters/adapter.ts';
|
|
5
3
|
import { type ExtractedPair, type PairProducer } from './synthesis/types.ts';
|
|
6
|
-
export type RenderingTools = Record<string, Tool<unknown, never>>;
|
|
7
|
-
export declare const TEXT2SQL_INDEX_PROGRESS_CHUNK: "data-text2sql-index-progress";
|
|
8
|
-
export type Text2SqlIndexProgressEventType = 'index:start' | 'index:end' | 'adapter:start' | 'adapter:end' | 'adapter:cache-hit' | 'adapter:cache-miss' | 'phase:start' | 'phase:progress' | 'phase:end' | 'adapter:error' | 'index:error';
|
|
9
|
-
export interface Text2SqlIndexProgressEvent {
|
|
10
|
-
type: Text2SqlIndexProgressEventType;
|
|
11
|
-
adapter?: string;
|
|
12
|
-
phase?: IntrospectionPhase;
|
|
13
|
-
table?: string;
|
|
14
|
-
message: string;
|
|
15
|
-
current?: number;
|
|
16
|
-
total?: number;
|
|
17
|
-
cached?: boolean;
|
|
18
|
-
timestampMs?: number;
|
|
19
|
-
}
|
|
20
4
|
export interface Text2SqlConfig {
|
|
21
5
|
adapters: Record<string, Adapter>;
|
|
22
|
-
sandbox: AgentSandbox;
|
|
23
|
-
/**
|
|
24
|
-
* Context engine driving the conversation. Text2Sql appends its
|
|
25
|
-
* guidelines and index fragments to this engine before each chat turn.
|
|
26
|
-
* The same engine instance must be used for `continue()` calls upstream.
|
|
27
|
-
*/
|
|
28
|
-
context: ContextEngine;
|
|
29
6
|
version: string;
|
|
30
|
-
tools?: RenderingTools;
|
|
31
7
|
model: AgentModel;
|
|
32
|
-
transform?: StreamTextTransform<ToolSet> | StreamTextTransform<ToolSet>[];
|
|
33
8
|
}
|
|
34
9
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* event tracking, wrap the fs in `ObservedFs` before passing to the
|
|
40
|
-
* backend and attach `drainFileEvents: () => observed.drain()` to the
|
|
41
|
-
* resulting sandbox.
|
|
10
|
+
* Stateless `toSql` for one or more configured adapters.
|
|
11
|
+
* Build the streaming chat agent yourself with `agent` + `chat` from
|
|
12
|
+
* `@deepagents/context`, passing `instructions()` and fragments from
|
|
13
|
+
* `AdapterIndexer` into the engine.
|
|
42
14
|
*/
|
|
43
15
|
export declare class Text2Sql {
|
|
44
16
|
#private;
|
|
45
17
|
constructor(config: Text2SqlConfig);
|
|
46
18
|
toSql(input: string, adapterName: string): Promise<string>;
|
|
47
|
-
index(): Promise<ContextFragment[]>;
|
|
48
19
|
toPairs<T extends PairProducer>(adapterName: string, factory: (adapter: Adapter) => T): Promise<ExtractedPair[]>;
|
|
49
|
-
chat(options?: {
|
|
50
|
-
abortSignal?: AbortSignal;
|
|
51
|
-
generateTitle?: boolean;
|
|
52
|
-
}): Promise<ReadableStream<import("ai").InferUIMessageChunk<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>>>;
|
|
53
20
|
}
|
|
54
21
|
//# sourceMappingURL=sql.d.ts.map
|
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":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,QAAQ;;gBAIP,MAAM,EAAE,cAAc;IAsBrB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1D,OAAO,CAAC,CAAC,SAAS,YAAY,EACzC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,GAC/B,OAAO,CAAC,aAAa,EAAE,CAAC;CAK5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-contextual-extractor.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/extractors/base-contextual-extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"base-contextual-extractor.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/extractors/base-contextual-extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,IAAI,CAAC;AAc7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,8BAA8B;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAoDhC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAGzD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7D;AAED;;;;;;;;;;GAUG;AACH,8BAAsB,uBAAwB,SAAQ,YAAY;IAChE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,CAAM;IACzC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAChC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,OAAO,EAAE,8BAA8B,CAAC;gBAGhD,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,8BAAmC;IAQ9C;;;OAGG;IACI,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;IAyBjD;;OAEG;YACW,sBAAsB;IAmBpC;;OAEG;YACW,oBAAoB;IAsDlC;;OAEG;cACc,gBAAgB,CAC/B,aAAa,EAAE,MAAM,GACpB,cAAc,CAAC,aAAa,EAAE,CAAC;IAmBlC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,MAAM,EAAE;CAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmented-context-extractor.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/extractors/segmented-context-extractor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"segmented-context-extractor.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/extractors/segmented-context-extractor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAcpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,EAGpC,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,gCAAgC,GAAG,8BAA8B,CAAC;AAyE9E;;;;;;;;;;;;;GAaG;AACH,qBAAa,yBAA0B,SAAQ,uBAAuB;gBAElE,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,gCAAqC;IAKhD;;;;;;OAMG;cACa,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1D;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAIxC;;;;;;OAMG;YACW,mBAAmB;CAWlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-extractor.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/extractors/sql-extractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sql-extractor.d.ts","sourceRoot":"","sources":["../../../../src/lib/synthesis/extractors/sql-extractor.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAOD;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,YAAY;;IAK5C;;;;OAIG;gBAED,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EACtB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,mBAAwB;IAQnC;;;OAGG;IACI,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;CA6ElD"}
|
|
@@ -999,9 +999,34 @@ import {
|
|
|
999
999
|
user as user5,
|
|
1000
1000
|
workflow
|
|
1001
1001
|
} from "@deepagents/context";
|
|
1002
|
+
|
|
1003
|
+
// packages/text2sql/src/lib/adapters/runtime-scope.ts
|
|
1004
|
+
import nodeSqlParser3 from "node-sql-parser";
|
|
1005
|
+
var { Parser: Parser3 } = nodeSqlParser3;
|
|
1006
|
+
var parser3 = new Parser3();
|
|
1007
|
+
function buildScopeParseErrorPayload(sql, dialect, error) {
|
|
1008
|
+
const parserError = error instanceof Error ? error.message : String(error ?? "Unknown error");
|
|
1009
|
+
return {
|
|
1010
|
+
error: `SQL scope analysis failed before validation/execution: ${parserError}`,
|
|
1011
|
+
error_type: "SQL_SCOPE_PARSE_ERROR",
|
|
1012
|
+
suggestion: "Rewrite the query into simpler SQL that can be analyzed safely, or extend parser coverage for this dialect feature.",
|
|
1013
|
+
sql_attempted: sql,
|
|
1014
|
+
parser_dialect: dialect,
|
|
1015
|
+
parser_error: parserError
|
|
1016
|
+
};
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
// packages/text2sql/src/lib/agents/sql.agent.ts
|
|
1002
1020
|
var RETRY_TEMPERATURES = [0, 0.2, 0.3];
|
|
1003
1021
|
var SQL_AGENT_ROLE = "Expert SQL query generator.";
|
|
1004
1022
|
var SQL_AGENT_OBJECTIVE = "Generate precise SQL grounded in provided schema.";
|
|
1023
|
+
var FORMATTER_SCOPE_DIALECTS = /* @__PURE__ */ new Map([
|
|
1024
|
+
["sqlite", "sqlite"],
|
|
1025
|
+
["postgresql", "postgresql"],
|
|
1026
|
+
["bigquery", "bigquery"],
|
|
1027
|
+
["transactsql", "transactsql"],
|
|
1028
|
+
["mysql", "mysql"]
|
|
1029
|
+
]);
|
|
1005
1030
|
var SQL_AGENT_POLICIES = [
|
|
1006
1031
|
fragment5(
|
|
1007
1032
|
"schema_mapping",
|
|
@@ -1207,6 +1232,26 @@ function extractSql(output) {
|
|
|
1207
1232
|
const match = output.match(/```sql\n?([\s\S]*?)```/);
|
|
1208
1233
|
return match ? match[1].trim() : output.trim();
|
|
1209
1234
|
}
|
|
1235
|
+
function scopeDialectFor(adapter) {
|
|
1236
|
+
const dialect = FORMATTER_SCOPE_DIALECTS.get(adapter.formatterLanguage);
|
|
1237
|
+
if (!dialect) {
|
|
1238
|
+
throw new TypeError(
|
|
1239
|
+
`No scope dialect mapping for formatter language "${adapter.formatterLanguage}".`
|
|
1240
|
+
);
|
|
1241
|
+
}
|
|
1242
|
+
return dialect;
|
|
1243
|
+
}
|
|
1244
|
+
function fencedMarkdownParseError(sql, adapter) {
|
|
1245
|
+
return new SQLValidationError(
|
|
1246
|
+
JSON.stringify(
|
|
1247
|
+
buildScopeParseErrorPayload(
|
|
1248
|
+
sql,
|
|
1249
|
+
scopeDialectFor(adapter),
|
|
1250
|
+
new Error("SQL response was fenced markdown, not executable SQL.")
|
|
1251
|
+
)
|
|
1252
|
+
)
|
|
1253
|
+
);
|
|
1254
|
+
}
|
|
1210
1255
|
async function toSql(options) {
|
|
1211
1256
|
const { maxRetries = 3 } = options;
|
|
1212
1257
|
return withRetry(
|
|
@@ -1277,7 +1322,19 @@ Question: ${options.input}
|
|
|
1277
1322
|
});
|
|
1278
1323
|
const { result: output } = await sqlOutput.generate();
|
|
1279
1324
|
const finalizeSql = async (rawSql) => {
|
|
1280
|
-
const
|
|
1325
|
+
const extractedSql = extractSql(rawSql);
|
|
1326
|
+
const errorsOrUndefined = errors.length ? errors.map(formatErrorMessage) : void 0;
|
|
1327
|
+
if (extractedSql === "") {
|
|
1328
|
+
return {
|
|
1329
|
+
attempts,
|
|
1330
|
+
sql: "",
|
|
1331
|
+
errors: errorsOrUndefined
|
|
1332
|
+
};
|
|
1333
|
+
}
|
|
1334
|
+
const sql = options.adapter.format(extractedSql);
|
|
1335
|
+
if (rawSql.trimStart().startsWith("```") && extractedSql === rawSql.trim()) {
|
|
1336
|
+
throw fencedMarkdownParseError(sql, options.adapter);
|
|
1337
|
+
}
|
|
1281
1338
|
const validationError = await options.adapter.validate(sql);
|
|
1282
1339
|
if (validationError) {
|
|
1283
1340
|
throw new SQLValidationError(validationError);
|
|
@@ -1285,7 +1342,7 @@ Question: ${options.input}
|
|
|
1285
1342
|
return {
|
|
1286
1343
|
attempts,
|
|
1287
1344
|
sql,
|
|
1288
|
-
errors:
|
|
1345
|
+
errors: errorsOrUndefined
|
|
1289
1346
|
};
|
|
1290
1347
|
};
|
|
1291
1348
|
if ("error" in output) {
|