@deepagents/text2sql 0.22.0 → 0.24.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 +24 -19
- package/dist/index.js.map +3 -3
- package/dist/lib/adapters/bigquery/bigquery-fk.d.ts +25 -0
- package/dist/lib/adapters/bigquery/bigquery-fk.d.ts.map +1 -0
- package/dist/lib/adapters/bigquery/constraint.bigquery.grounding.d.ts +3 -1
- package/dist/lib/adapters/bigquery/constraint.bigquery.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/index.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/index.js +356 -201
- package/dist/lib/adapters/bigquery/index.js.map +4 -4
- package/dist/lib/adapters/bigquery/indexes.bigquery.grounding.d.ts +6 -7
- package/dist/lib/adapters/bigquery/indexes.bigquery.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/info.bigquery.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/row-count.bigquery.grounding.d.ts +5 -7
- package/dist/lib/adapters/bigquery/row-count.bigquery.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/table.bigquery.grounding.d.ts +2 -0
- package/dist/lib/adapters/bigquery/table.bigquery.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/bigquery/view.bigquery.grounding.d.ts +2 -2
- package/dist/lib/adapters/bigquery/view.bigquery.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/groundings/column-values.grounding.d.ts +4 -0
- package/dist/lib/adapters/groundings/column-values.grounding.d.ts.map +1 -1
- package/dist/lib/adapters/groundings/context.d.ts +2 -0
- package/dist/lib/adapters/groundings/context.d.ts.map +1 -1
- package/dist/lib/adapters/groundings/index.js +10 -4
- package/dist/lib/adapters/groundings/index.js.map +2 -2
- package/dist/lib/adapters/mysql/index.js +10 -4
- package/dist/lib/adapters/mysql/index.js.map +2 -2
- package/dist/lib/adapters/postgres/index.js +10 -4
- package/dist/lib/adapters/postgres/index.js.map +2 -2
- package/dist/lib/adapters/spreadsheet/index.js +10 -4
- package/dist/lib/adapters/spreadsheet/index.js.map +2 -2
- package/dist/lib/adapters/sqlite/index.js +10 -4
- package/dist/lib/adapters/sqlite/index.js.map +2 -2
- package/dist/lib/adapters/sqlserver/index.js +10 -4
- package/dist/lib/adapters/sqlserver/index.js.map +2 -2
- package/dist/lib/agents/developer.agent.d.ts +1 -1
- package/dist/lib/sql.d.ts +5 -3
- package/dist/lib/sql.d.ts.map +1 -1
- package/dist/lib/synthesis/index.js +1 -1
- package/dist/lib/synthesis/index.js.map +1 -1
- package/package.json +8 -6
package/dist/index.js
CHANGED
|
@@ -98,7 +98,8 @@ function createGroundingContext() {
|
|
|
98
98
|
tables: [],
|
|
99
99
|
views: [],
|
|
100
100
|
relationships: [],
|
|
101
|
-
info: void 0
|
|
101
|
+
info: void 0,
|
|
102
|
+
cache: /* @__PURE__ */ new Map()
|
|
102
103
|
};
|
|
103
104
|
}
|
|
104
105
|
|
|
@@ -516,8 +517,8 @@ var sqlValidationMarker = Symbol("SQLValidationError");
|
|
|
516
517
|
var unanswerableSqlMarker = Symbol("UnanswerableSQLError");
|
|
517
518
|
var SQLValidationError = class _SQLValidationError extends Error {
|
|
518
519
|
[sqlValidationMarker];
|
|
519
|
-
constructor(
|
|
520
|
-
super(
|
|
520
|
+
constructor(message) {
|
|
521
|
+
super(message);
|
|
521
522
|
this.name = "SQLValidationError";
|
|
522
523
|
this[sqlValidationMarker] = true;
|
|
523
524
|
}
|
|
@@ -527,8 +528,8 @@ var SQLValidationError = class _SQLValidationError extends Error {
|
|
|
527
528
|
};
|
|
528
529
|
var UnanswerableSQLError = class _UnanswerableSQLError extends Error {
|
|
529
530
|
[unanswerableSqlMarker];
|
|
530
|
-
constructor(
|
|
531
|
-
super(
|
|
531
|
+
constructor(message) {
|
|
532
|
+
super(message);
|
|
532
533
|
this.name = "UnanswerableSQLError";
|
|
533
534
|
this[unanswerableSqlMarker] = true;
|
|
534
535
|
}
|
|
@@ -1449,7 +1450,7 @@ import {
|
|
|
1449
1450
|
user as user2,
|
|
1450
1451
|
workflow
|
|
1451
1452
|
} from "@deepagents/context";
|
|
1452
|
-
var RETRY_TEMPERATURES = [0, 0.
|
|
1453
|
+
var RETRY_TEMPERATURES = [0, 0.2, 0.3];
|
|
1453
1454
|
var SQL_AGENT_ROLE = "Expert SQL query generator.";
|
|
1454
1455
|
var SQL_AGENT_OBJECTIVE = "Generate precise SQL grounded in provided schema.";
|
|
1455
1456
|
var SQL_AGENT_POLICIES = [
|
|
@@ -1785,11 +1786,11 @@ function isModelUnavailableError(error) {
|
|
|
1785
1786
|
if (!APICallError.isInstance(error)) {
|
|
1786
1787
|
return false;
|
|
1787
1788
|
}
|
|
1788
|
-
const
|
|
1789
|
+
const message = error.message.toLowerCase();
|
|
1789
1790
|
const responseBody = (error.responseBody ?? "").toLowerCase();
|
|
1790
|
-
const is404ModelError = error.statusCode === 404 && (
|
|
1791
|
+
const is404ModelError = error.statusCode === 404 && (message.includes("model") || responseBody.includes("model_not_found"));
|
|
1791
1792
|
const errorCode = typeof error.data === "object" && error.data !== null && "error" in error.data && typeof error.data.error === "object" && error.data.error !== null && "code" in error.data.error && typeof error.data.error.code === "string" ? error.data.error.code.toLowerCase() : void 0;
|
|
1792
|
-
return is404ModelError || errorCode === "model_not_found" || responseBody.includes('"code":"model_not_found"') ||
|
|
1793
|
+
return is404ModelError || errorCode === "model_not_found" || responseBody.includes('"code":"model_not_found"') || message.includes("model") && message.includes("does not exist or you do not have access to it");
|
|
1793
1794
|
}
|
|
1794
1795
|
async function withRetry(computation, options = { retries: 3 }) {
|
|
1795
1796
|
const errors = [];
|
|
@@ -5226,8 +5227,9 @@ import "@deepagents/agent";
|
|
|
5226
5227
|
import {
|
|
5227
5228
|
agent as agent2,
|
|
5228
5229
|
assistant,
|
|
5230
|
+
chatMessageToUIMessage,
|
|
5229
5231
|
errorRecoveryGuardrail,
|
|
5230
|
-
|
|
5232
|
+
toMessageFragment
|
|
5231
5233
|
} from "@deepagents/context";
|
|
5232
5234
|
var Text2Sql = class {
|
|
5233
5235
|
#config;
|
|
@@ -5291,7 +5293,7 @@ var Text2Sql = class {
|
|
|
5291
5293
|
const producer = factory(this.#config.adapter);
|
|
5292
5294
|
return producer.toPairs();
|
|
5293
5295
|
}
|
|
5294
|
-
async chat(messages) {
|
|
5296
|
+
async chat(messages, options) {
|
|
5295
5297
|
if (messages.length === 0) {
|
|
5296
5298
|
throw new Error("messages must not be empty");
|
|
5297
5299
|
}
|
|
@@ -5300,17 +5302,20 @@ var Text2Sql = class {
|
|
|
5300
5302
|
...guidelines(this.#config.teachingsOptions),
|
|
5301
5303
|
...await this.index()
|
|
5302
5304
|
);
|
|
5303
|
-
const
|
|
5305
|
+
const lastItem = messages[messages.length - 1];
|
|
5306
|
+
const lastFragment = toMessageFragment(lastItem);
|
|
5307
|
+
const lastUIMessage = chatMessageToUIMessage(lastItem);
|
|
5304
5308
|
let assistantMsgId;
|
|
5305
|
-
if (
|
|
5306
|
-
context.set(
|
|
5309
|
+
if (lastUIMessage.role === "assistant") {
|
|
5310
|
+
context.set(lastFragment);
|
|
5307
5311
|
await context.save({ branch: false });
|
|
5308
|
-
assistantMsgId =
|
|
5312
|
+
assistantMsgId = lastUIMessage.id;
|
|
5309
5313
|
} else {
|
|
5310
|
-
context.set(
|
|
5314
|
+
context.set(lastFragment);
|
|
5311
5315
|
await context.save();
|
|
5312
5316
|
assistantMsgId = generateId();
|
|
5313
5317
|
}
|
|
5318
|
+
const uiMessages = messages.map(chatMessageToUIMessage);
|
|
5314
5319
|
const { mounts: skillMounts } = context.getSkillMounts();
|
|
5315
5320
|
const { tools: tools2 } = await createResultTools({
|
|
5316
5321
|
adapter: this.#config.adapter,
|
|
@@ -5330,7 +5335,7 @@ var Text2Sql = class {
|
|
|
5330
5335
|
});
|
|
5331
5336
|
const result = await chatAgent.stream(
|
|
5332
5337
|
{},
|
|
5333
|
-
{ transform: this.#config.transform }
|
|
5338
|
+
{ abortSignal: options?.abortSignal, transform: this.#config.transform }
|
|
5334
5339
|
);
|
|
5335
5340
|
const uiStream = result.toUIMessageStream({
|
|
5336
5341
|
onError: (error) => this.#formatError(error),
|
|
@@ -5338,7 +5343,7 @@ var Text2Sql = class {
|
|
|
5338
5343
|
sendFinish: true,
|
|
5339
5344
|
sendReasoning: true,
|
|
5340
5345
|
sendSources: true,
|
|
5341
|
-
originalMessages:
|
|
5346
|
+
originalMessages: uiMessages,
|
|
5342
5347
|
generateMessageId: () => assistantMsgId,
|
|
5343
5348
|
messageMetadata: ({ part }) => {
|
|
5344
5349
|
if (part.type === "finish-step") {
|
|
@@ -5357,7 +5362,7 @@ var Text2Sql = class {
|
|
|
5357
5362
|
}
|
|
5358
5363
|
});
|
|
5359
5364
|
return createUIMessageStream({
|
|
5360
|
-
originalMessages:
|
|
5365
|
+
originalMessages: uiMessages,
|
|
5361
5366
|
generateId: () => assistantMsgId,
|
|
5362
5367
|
onStepFinish: async ({ responseMessage }) => {
|
|
5363
5368
|
context.set(assistant({ ...responseMessage, id: assistantMsgId }));
|