@deepagents/text2sql 0.2.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.
Files changed (45) hide show
  1. package/dist/index.d.ts +13 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +3102 -0
  4. package/dist/index.js.map +7 -0
  5. package/dist/lib/adapters/adapter.d.ts +80 -0
  6. package/dist/lib/adapters/adapter.d.ts.map +1 -0
  7. package/dist/lib/adapters/postgres.d.ts +31 -0
  8. package/dist/lib/adapters/postgres.d.ts.map +1 -0
  9. package/dist/lib/adapters/resolveTables.spec.d.ts +2 -0
  10. package/dist/lib/adapters/resolveTables.spec.d.ts.map +1 -0
  11. package/dist/lib/adapters/sqlite.d.ts +30 -0
  12. package/dist/lib/adapters/sqlite.d.ts.map +1 -0
  13. package/dist/lib/adapters/sqlserver.d.ts +31 -0
  14. package/dist/lib/adapters/sqlserver.d.ts.map +1 -0
  15. package/dist/lib/agents/brief.agent.d.ts +16 -0
  16. package/dist/lib/agents/brief.agent.d.ts.map +1 -0
  17. package/dist/lib/agents/explainer.agent.d.ts +8 -0
  18. package/dist/lib/agents/explainer.agent.d.ts.map +1 -0
  19. package/dist/lib/agents/suggestions.agents.d.ts +16 -0
  20. package/dist/lib/agents/suggestions.agents.d.ts.map +1 -0
  21. package/dist/lib/agents/synthesizer.agent.d.ts +6 -0
  22. package/dist/lib/agents/synthesizer.agent.d.ts.map +1 -0
  23. package/dist/lib/agents/teachables.agent.d.ts +14 -0
  24. package/dist/lib/agents/teachables.agent.d.ts.map +1 -0
  25. package/dist/lib/agents/text2sql.agent.d.ts +38 -0
  26. package/dist/lib/agents/text2sql.agent.d.ts.map +1 -0
  27. package/dist/lib/history/history.d.ts +41 -0
  28. package/dist/lib/history/history.d.ts.map +1 -0
  29. package/dist/lib/history/memory.history.d.ts +5 -0
  30. package/dist/lib/history/memory.history.d.ts.map +1 -0
  31. package/dist/lib/history/sqlite.history.d.ts +15 -0
  32. package/dist/lib/history/sqlite.history.d.ts.map +1 -0
  33. package/dist/lib/memory/user-profile.d.ts +39 -0
  34. package/dist/lib/memory/user-profile.d.ts.map +1 -0
  35. package/dist/lib/prompt.d.ts +7 -0
  36. package/dist/lib/prompt.d.ts.map +1 -0
  37. package/dist/lib/sql.d.ts +52 -0
  38. package/dist/lib/sql.d.ts.map +1 -0
  39. package/dist/lib/teach/teachables.d.ts +462 -0
  40. package/dist/lib/teach/teachables.d.ts.map +1 -0
  41. package/dist/lib/teach/teachings.d.ts +4 -0
  42. package/dist/lib/teach/teachings.d.ts.map +1 -0
  43. package/dist/lib/teach/xml.d.ts +6 -0
  44. package/dist/lib/teach/xml.d.ts.map +1 -0
  45. package/package.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Adapter, type AdapterInfo, type AdapterInfoProvider, type IntrospectOptions, type Introspection, type Relationship, type Table, type TablesFilter } from './adapter.ts';
2
+ type ExecuteFunction = (sql: string) => Promise<any> | any;
3
+ type ValidateFunction = (sql: string) => Promise<string | void> | string | void;
4
+ type IntrospectFunction = () => Promise<Introspection> | Introspection;
5
+ export type PostgresAdapterOptions = {
6
+ execute: ExecuteFunction;
7
+ validate?: ValidateFunction;
8
+ introspect?: IntrospectFunction;
9
+ schemas?: string[];
10
+ info?: AdapterInfoProvider;
11
+ tables?: TablesFilter;
12
+ };
13
+ export declare function formatPostgresError(sql: string, error: unknown): {
14
+ error: string;
15
+ error_type: string;
16
+ suggestion: string;
17
+ sql_attempted: string;
18
+ };
19
+ export declare class Postgres extends Adapter {
20
+ #private;
21
+ constructor(options: PostgresAdapterOptions);
22
+ introspect(options?: IntrospectOptions): Promise<Introspection>;
23
+ execute(sql: string): Promise<any>;
24
+ validate(sql: string): Promise<string | void>;
25
+ info(): Promise<AdapterInfo>;
26
+ formatInfo(info: AdapterInfo): string;
27
+ getTables(): Promise<Table[]>;
28
+ getRelationships(): Promise<Relationship[]>;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,KAAK,EAEV,KAAK,YAAY,EAElB,MAAM,cAAc,CAAC;AAEtB,KAAK,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;AAChF,KAAK,kBAAkB,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAEvE,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAwEF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;;;;;EA0B9D;AAED,qBAAa,QAAS,SAAQ,OAAO;;gBAKvB,OAAO,EAAE,sBAAsB;IAW5B,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkD/D,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAcpB,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAQlC,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAiB/B,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IA+CtC,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAmalD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolveTables.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveTables.spec.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/resolveTables.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { Adapter, type AdapterInfo, type AdapterInfoProvider, type IntrospectOptions, type Introspection, type Relationship, type Table, type TablesFilter } from './adapter.ts';
2
+ type ExecuteFunction = (sql: string) => Promise<any> | any;
3
+ type ValidateFunction = (sql: string) => Promise<string | void> | string | void;
4
+ type IntrospectFunction = () => Promise<Introspection> | Introspection;
5
+ export type SqliteAdapterOptions = {
6
+ execute: ExecuteFunction;
7
+ validate?: ValidateFunction;
8
+ introspect?: IntrospectFunction;
9
+ info?: AdapterInfoProvider;
10
+ tables?: TablesFilter;
11
+ };
12
+ export declare function formatError(sql: string, error: unknown): {
13
+ error: string;
14
+ error_type: string;
15
+ suggestion: string;
16
+ sql_attempted: string;
17
+ };
18
+ export declare class Sqlite extends Adapter {
19
+ #private;
20
+ constructor(options: SqliteAdapterOptions);
21
+ introspect(options?: IntrospectOptions): Promise<Introspection>;
22
+ execute(sql: string): Promise<any>;
23
+ validate(sql: string): Promise<string | void>;
24
+ info(): Promise<AdapterInfo>;
25
+ formatInfo(info: AdapterInfo): string;
26
+ getTables(): Promise<Table[]>;
27
+ getRelationships(): Promise<Relationship[]>;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=sqlite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,YAAY,EAElB,MAAM,cAAc,CAAC;AAuCtB,KAAK,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;AAChF,KAAK,kBAAkB,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAiCF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;;;;;EAwBtD;AAED,qBAAa,MAAO,SAAQ,OAAO;;gBAKrB,OAAO,EAAE,oBAAoB;IAQ1B,UAAU,CACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC;IAqDV,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAcpB,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAQlC,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAiB/B,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAwCtC,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAoWlD"}
@@ -0,0 +1,31 @@
1
+ import { Adapter, type AdapterInfo, type AdapterInfoProvider, type IntrospectOptions, type Introspection, type Relationship, type Table, type TablesFilter } from './adapter.ts';
2
+ type ExecuteFunction = (sql: string) => Promise<any> | any;
3
+ type ValidateFunction = (sql: string) => Promise<string | void> | string | void;
4
+ type IntrospectFunction = () => Promise<Introspection> | Introspection;
5
+ export type SqlServerAdapterOptions = {
6
+ execute: ExecuteFunction;
7
+ validate?: ValidateFunction;
8
+ introspect?: IntrospectFunction;
9
+ schemas?: string[];
10
+ info?: AdapterInfoProvider;
11
+ tables?: TablesFilter;
12
+ };
13
+ export declare function formatSqlServerError(sql: string, error: unknown): {
14
+ error: string;
15
+ error_type: string;
16
+ suggestion: string;
17
+ sql_attempted: string;
18
+ };
19
+ export declare class SqlServer extends Adapter {
20
+ #private;
21
+ constructor(options: SqlServerAdapterOptions);
22
+ introspect(options?: IntrospectOptions): Promise<Introspection>;
23
+ execute(sql: string): Promise<any>;
24
+ validate(sql: string): Promise<string | void>;
25
+ info(): Promise<AdapterInfo>;
26
+ formatInfo(info: AdapterInfo): string;
27
+ getTables(): Promise<Table[]>;
28
+ getRelationships(): Promise<Relationship[]>;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=sqlserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlserver.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/sqlserver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,KAAK,EAEV,KAAK,YAAY,EAElB,MAAM,cAAc,CAAC;AAEtB,KAAK,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3D,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;AAChF,KAAK,kBAAkB,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAEvE,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAmFF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;;;;;EA0B/D;AAED,qBAAa,SAAU,SAAQ,OAAO;;gBAKxB,OAAO,EAAE,uBAAuB;IAW7B,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkD/D,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAgBpB,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;IAQlC,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAiB/B,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAkD7B,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CA4b3D"}
@@ -0,0 +1,16 @@
1
+ import { type StreamFunction } from '@deepagents/agent';
2
+ import { type Introspection } from '../adapters/adapter.ts';
3
+ export declare class BriefCache {
4
+ path: string;
5
+ constructor(watermark: string);
6
+ get(): Promise<string | null>;
7
+ set(brief: string): Promise<void>;
8
+ }
9
+ export declare function generateBrief(introspection: Introspection, cache: BriefCache): Promise<string>;
10
+ export declare function toBrief(forceRefresh?: boolean): StreamFunction<{
11
+ cache: BriefCache;
12
+ introspection: Introspection;
13
+ }, {
14
+ context: string;
15
+ }>;
16
+ //# sourceMappingURL=brief.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brief.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/brief.agent.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,cAAc,EAKpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGrE,qBAAa,UAAU;IACd,IAAI,EAAE,MAAM,CAAC;gBACR,SAAS,EAAE,MAAM;IAKvB,GAAG;IAOT,GAAG,CAAC,KAAK,EAAE,MAAM;CAGlB;AAmED,wBAAsB,aAAa,CACjC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,UAAU,mBAOlB;AAED,wBAAgB,OAAO,CAAC,YAAY,UAAQ,GAAG,cAAc,CAC3D;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,EACD;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CACpB,CA4CA"}
@@ -0,0 +1,8 @@
1
+ export declare const explainerAgent: import("@deepagents/agent").Agent<{
2
+ explanation: string;
3
+ }, {
4
+ sql: string;
5
+ }, {
6
+ sql: string;
7
+ }>;
8
+ //# sourceMappingURL=explainer.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainer.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/explainer.agent.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc;iBAAwB,MAAM;;SAAW,MAAM;;SAAN,MAAM;EAexE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { Introspection } from '../adapters/adapter.ts';
2
+ type SuggestionsAgentContext = {
3
+ introspection: Introspection;
4
+ context?: string;
5
+ adapterInfo?: string;
6
+ };
7
+ type SuggestionsAgentOutput = {
8
+ suggestions: {
9
+ question: string;
10
+ sql: string;
11
+ businessValue: string;
12
+ }[];
13
+ };
14
+ export declare const suggestionsAgent: import("@deepagents/agent").Agent<SuggestionsAgentOutput, SuggestionsAgentContext, SuggestionsAgentContext>;
15
+ export {};
16
+ //# sourceMappingURL=suggestions.agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions.agents.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/suggestions.agents.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,KAAK,uBAAuB,GAAG;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,KAAK,sBAAsB,GAAG;IAC5B,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;KACvB,EAAE,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,gBAAgB,6GA2D3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ type SynthesizerContext = {
2
+ context?: string;
3
+ };
4
+ export declare const synthesizerAgent: import("@deepagents/agent").Agent<unknown, SynthesizerContext, SynthesizerContext>;
5
+ export {};
6
+ //# sourceMappingURL=synthesizer.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesizer.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/synthesizer.agent.ts"],"names":[],"mappings":"AAKA,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,oFAmC3B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Introspection } from '../adapters/adapter.ts';
2
+ import { type GeneratedTeachable } from '../teach/teachables.ts';
3
+ export declare const teachablesAuthorAgent: import("@deepagents/agent").Agent<{
4
+ teachables: GeneratedTeachable[];
5
+ }, {
6
+ introspection: Introspection;
7
+ context?: string;
8
+ adapterInfo?: string;
9
+ }, {
10
+ introspection: Introspection;
11
+ context?: string;
12
+ adapterInfo?: string;
13
+ }>;
14
+ //# sourceMappingURL=teachables.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teachables.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/teachables.agent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAgEjE,eAAO,MAAM,qBAAqB;gBAClB,kBAAkB,EAAE;;mBAEjB,aAAa;cAClB,MAAM;kBACF,MAAM;;mBAFL,aAAa;cAClB,MAAM;kBACF,MAAM;EA6CtB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { type Tool } from 'ai';
2
+ import type { Introspection } from '../adapters/adapter.ts';
3
+ export type RenderingTools = Record<string, Tool<unknown, never>>;
4
+ export declare const text2sqlOnly: import("@deepagents/agent").Agent<{
5
+ sql: string;
6
+ }, {
7
+ introspection: Introspection;
8
+ context: string;
9
+ adapterInfo: string;
10
+ renderingTools?: RenderingTools;
11
+ teachings: string;
12
+ userProfile?: string;
13
+ }, {
14
+ introspection: Introspection;
15
+ context: string;
16
+ adapterInfo: string;
17
+ renderingTools?: RenderingTools;
18
+ teachings: string;
19
+ userProfile?: string;
20
+ }>;
21
+ export declare const text2sqlMonolith: import("@deepagents/agent").Agent<{
22
+ sql: string;
23
+ }, {
24
+ introspection: Introspection;
25
+ context: string;
26
+ adapterInfo: string;
27
+ renderingTools?: RenderingTools;
28
+ teachings: string;
29
+ userProfile?: string;
30
+ }, {
31
+ introspection: Introspection;
32
+ context: string;
33
+ adapterInfo: string;
34
+ renderingTools?: RenderingTools;
35
+ teachings: string;
36
+ userProfile?: string;
37
+ }>;
38
+ //# sourceMappingURL=text2sql.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text2sql.agent.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/text2sql.agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,IAAI,CAAC;AAWrC,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGrE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAsKlE,eAAO,MAAM,YAAY;SAzDhB,MAAM;;mBAEI,aAAa;aACnB,MAAM;iBACF,MAAM;qBACF,cAAc;eACpB,MAAM;kBACH,MAAM;;mBALL,aAAa;aACnB,MAAM;iBACF,MAAM;qBACF,cAAc;eACpB,MAAM;kBACH,MAAM;EAwEtB,CAAC;AAEH,eAAO,MAAM,gBAAgB;SAjFpB,MAAM;;mBAEI,aAAa;aACnB,MAAM;iBACF,MAAM;qBACF,cAAc;eACpB,MAAM;kBACH,MAAM;;mBALL,aAAa;aACnB,MAAM;iBACF,MAAM;qBACF,cAAc;eACpB,MAAM;kBACH,MAAM;EA8EtB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { UIMessage } from 'ai';
2
+ export interface Message {
3
+ id: string;
4
+ chatId: string;
5
+ role: string;
6
+ createdAt: string | Date;
7
+ content: UIMessage;
8
+ }
9
+ export interface Chat {
10
+ id: string;
11
+ userId: string;
12
+ title?: string | null;
13
+ messages: Message[];
14
+ }
15
+ export interface CreateChatParams {
16
+ id: string;
17
+ userId: string;
18
+ title?: string;
19
+ }
20
+ export interface UpdateChatParams {
21
+ title?: string;
22
+ }
23
+ export interface CreateMessageParams {
24
+ id: string;
25
+ chatId: string;
26
+ role: string;
27
+ content: UIMessage;
28
+ createdAt?: Date;
29
+ }
30
+ export declare abstract class History {
31
+ abstract listChats(userId: string): Promise<Chat[]>;
32
+ abstract getChat(chatId: string): Promise<Chat | null>;
33
+ abstract createChat(chat: CreateChatParams): Promise<Chat>;
34
+ abstract upsertChat(chat: CreateChatParams): Promise<Chat>;
35
+ abstract deleteChat(chatId: string): Promise<void>;
36
+ abstract updateChat(chatId: string, updates: UpdateChatParams): Promise<void>;
37
+ abstract addMessage(message: CreateMessageParams): Promise<void>;
38
+ abstract upsertMessage(message: CreateMessageParams): Promise<Message>;
39
+ abstract deleteMessage(messageId: string): Promise<void>;
40
+ }
41
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/lib/history/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,8BAAsB,OAAO;IAC3B,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAClD,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7E,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAChE,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IACtE,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACzD"}
@@ -0,0 +1,5 @@
1
+ import { SqliteHistory } from './sqlite.history.ts';
2
+ export declare class InMemoryHistory extends SqliteHistory {
3
+ constructor();
4
+ }
5
+ //# sourceMappingURL=memory.history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.history.d.ts","sourceRoot":"","sources":["../../../src/lib/history/memory.history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qBAAa,eAAgB,SAAQ,aAAa;;CAIjD"}
@@ -0,0 +1,15 @@
1
+ import { type Chat, type CreateChatParams, type CreateMessageParams, History, type Message, type UpdateChatParams } from './history.ts';
2
+ export declare class SqliteHistory extends History {
3
+ #private;
4
+ constructor(path: string);
5
+ listChats(userId: string): Promise<Chat[]>;
6
+ getChat(chatId: string): Promise<Chat | null>;
7
+ createChat(chat: CreateChatParams): Promise<Chat>;
8
+ upsertChat(chat: CreateChatParams): Promise<Chat>;
9
+ deleteChat(chatId: string): Promise<void>;
10
+ updateChat(chatId: string, updates: UpdateChatParams): Promise<void>;
11
+ addMessage(message: CreateMessageParams): Promise<void>;
12
+ upsertMessage(message: CreateMessageParams): Promise<Message>;
13
+ deleteMessage(messageId: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=sqlite.history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.history.d.ts","sourceRoot":"","sources":["../../../src/lib/history/sqlite.history.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,IAAI,EACT,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,OAAO,EACP,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAEtB,qBAAa,aAAc,SAAQ,OAAO;;gBAG5B,IAAI,EAAE,MAAM;IAMlB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAM1C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IA8C7C,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,UAAU,CAAC,IAAI,EAAE,gBAAgB;IAUjC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB7D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtD"}
@@ -0,0 +1,39 @@
1
+ export type UserProfileItem = {
2
+ type: 'fact' | 'preference' | 'present';
3
+ text: string;
4
+ };
5
+ export type UserProfileData = {
6
+ items: UserProfileItem[];
7
+ lastUpdated: string;
8
+ };
9
+ export declare class UserProfileStore {
10
+ private userId;
11
+ private path;
12
+ constructor(userId: string);
13
+ /**
14
+ * Retrieve the full user profile data.
15
+ */
16
+ get(): Promise<UserProfileData>;
17
+ /**
18
+ * Save the user profile data.
19
+ */
20
+ private save;
21
+ /**
22
+ * Add an item to the profile.
23
+ */
24
+ add(type: UserProfileItem['type'], text: string): Promise<void>;
25
+ /**
26
+ * Remove a specific item from the profile.
27
+ */
28
+ remove(type: UserProfileItem['type'], text: string): Promise<void>;
29
+ /**
30
+ * Clear the entire profile.
31
+ */
32
+ clear(): Promise<void>;
33
+ /**
34
+ * Get the formatted XML string for the system prompt.
35
+ */
36
+ toXml(): Promise<string>;
37
+ }
38
+ export declare function toUserProfileXml(items: UserProfileItem[]): string;
39
+ //# sourceMappingURL=user-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-profile.d.ts","sourceRoot":"","sources":["../../../src/lib/memory/user-profile.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,qBAAa,gBAAgB;IAGf,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,IAAI,CAAS;gBAED,MAAM,EAAE,MAAM;IAMlC;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC;IAiBrC;;OAEG;YACW,IAAI;IAKlB;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CAI/B;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,CAgCjE"}
@@ -0,0 +1,7 @@
1
+ import type { Introspection } from './adapters/adapter.ts';
2
+ export declare function databaseSchemaPrompt(options: {
3
+ introspection: Introspection;
4
+ context?: string;
5
+ adapterInfo?: string;
6
+ }): string;
7
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA0H3D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,UAYA"}
@@ -0,0 +1,52 @@
1
+ import { type InferUIMessageChunk, type UIDataTypes, type UIMessage, type UITools } from 'ai';
2
+ import type { Adapter } from './adapters/adapter.ts';
3
+ import { BriefCache } from './agents/brief.agent.ts';
4
+ import { type RenderingTools } from './agents/text2sql.agent.ts';
5
+ import { History } from './history/history.ts';
6
+ import { type Teachables } from './teach/teachables.ts';
7
+ export declare class Text2Sql {
8
+ #private;
9
+ constructor(config: {
10
+ adapter: Adapter;
11
+ cache: BriefCache;
12
+ history: History;
13
+ tools?: RenderingTools;
14
+ instructions?: Teachables[];
15
+ });
16
+ explain(sql: string): Promise<string>;
17
+ toSql(input: string): Promise<{
18
+ generate: () => Promise<string>;
19
+ }>;
20
+ inspect(): Promise<string>;
21
+ instruct(...dataset: Teachables[]): void;
22
+ teach(input: string): Promise<{
23
+ teachables: Teachables[];
24
+ teachings: string;
25
+ }>;
26
+ tag(input: string): Promise<{
27
+ generate: () => Promise<string>;
28
+ stream: () => ReadableStream<InferUIMessageChunk<UIMessage<unknown, UIDataTypes, UITools>>>;
29
+ }>;
30
+ suggest(): Promise<{
31
+ question: string;
32
+ sql: string;
33
+ businessValue: string;
34
+ }[]>;
35
+ single(input: string): Promise<import("ai").StreamTextResult<import("ai").ToolSet, {
36
+ sql?: string | undefined;
37
+ }> & {
38
+ state: {
39
+ introspection: import("./adapters/adapter.ts").Introspection;
40
+ context: string;
41
+ adapterInfo: string;
42
+ renderingTools?: RenderingTools;
43
+ teachings: string;
44
+ userProfile?: string;
45
+ };
46
+ }>;
47
+ chat(messages: UIMessage[], params: {
48
+ chatId: string;
49
+ userId: string;
50
+ }): Promise<import("ai").AsyncIterableStream<InferUIMessageChunk<UIMessage<unknown, UIDataTypes, UITools>>>>;
51
+ }
52
+ //# sourceMappingURL=sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/lib/sql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAIxB,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,KAAK,OAAO,EAEb,MAAM,IAAI,CAAC;AAOZ,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,UAAU,EAA0B,MAAM,yBAAyB,CAAC;AAK7E,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,QAAQ;;gBAQP,MAAM,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,UAAU,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;KAC7B;IAsBY,OAAO,CAAC,GAAG,EAAE,MAAM;IASnB,KAAK,CAAC,KAAK,EAAE,MAAM;;;IAwBnB,OAAO;IAeb,QAAQ,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE;IAI3B,KAAK,CAAC,KAAK,EAAE,MAAM;;;;IAuBnB,GAAG,CAAC,KAAK,EAAE,MAAM;;;;IAmDjB,OAAO;;;;;IAsBP,MAAM,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;;IA4BpB,IAAI,CACf,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB;CAmGJ"}