@deepagents/text2sql 0.17.0 → 0.17.1
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 +12 -39
- package/dist/index.js.map +2 -2
- package/dist/lib/sql.d.ts +0 -1
- package/dist/lib/sql.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -510,7 +510,6 @@ var fragments = [
|
|
|
510
510
|
hint("Support both natural language questions AND raw SQL input"),
|
|
511
511
|
hint("When validating user SQL, explain any errors clearly")
|
|
512
512
|
];
|
|
513
|
-
var developer_agent_default = { tools, fragments };
|
|
514
513
|
|
|
515
514
|
// packages/text2sql/src/lib/agents/result-tools.ts
|
|
516
515
|
import { tool as tool2 } from "ai";
|
|
@@ -4346,15 +4345,24 @@ var Text2Sql = class {
|
|
|
4346
4345
|
return producer.toPairs();
|
|
4347
4346
|
}
|
|
4348
4347
|
async chat(messages) {
|
|
4348
|
+
if (messages.length === 0) {
|
|
4349
|
+
throw new Error("messages must not be empty");
|
|
4350
|
+
}
|
|
4349
4351
|
const trackedFs = new TrackedFs(this.#config.filesystem);
|
|
4350
4352
|
const context = this.#config.context(
|
|
4351
4353
|
...guidelines(this.#config.teachingsOptions),
|
|
4352
4354
|
...await this.index()
|
|
4353
4355
|
);
|
|
4354
|
-
const
|
|
4355
|
-
|
|
4356
|
-
|
|
4356
|
+
const lastMessage = messages[messages.length - 1];
|
|
4357
|
+
let assistantMsgId;
|
|
4358
|
+
if (lastMessage.role === "assistant") {
|
|
4359
|
+
context.set(message(lastMessage));
|
|
4360
|
+
await context.save({ branch: false });
|
|
4361
|
+
assistantMsgId = lastMessage.id;
|
|
4362
|
+
} else {
|
|
4363
|
+
context.set(message(lastMessage));
|
|
4357
4364
|
await context.save();
|
|
4365
|
+
assistantMsgId = generateId();
|
|
4358
4366
|
}
|
|
4359
4367
|
const { mounts: skillMounts } = context.getSkillMounts();
|
|
4360
4368
|
const { tools: tools2 } = await createResultTools({
|
|
@@ -4362,7 +4370,6 @@ var Text2Sql = class {
|
|
|
4362
4370
|
skillMounts,
|
|
4363
4371
|
filesystem: trackedFs
|
|
4364
4372
|
});
|
|
4365
|
-
const assistantMsgId = generateId();
|
|
4366
4373
|
const chatAgent = agent2({
|
|
4367
4374
|
name: "text2sql",
|
|
4368
4375
|
model: this.#config.model,
|
|
@@ -4429,40 +4436,6 @@ var Text2Sql = class {
|
|
|
4429
4436
|
}
|
|
4430
4437
|
});
|
|
4431
4438
|
}
|
|
4432
|
-
async developer(messages) {
|
|
4433
|
-
const context = this.#config.context(
|
|
4434
|
-
...guidelines(this.#config.teachingsOptions),
|
|
4435
|
-
...developer_agent_default.fragments,
|
|
4436
|
-
...await this.index()
|
|
4437
|
-
);
|
|
4438
|
-
const userMsg = messages.at(-1);
|
|
4439
|
-
if (userMsg) {
|
|
4440
|
-
context.set(message(userMsg));
|
|
4441
|
-
await context.save();
|
|
4442
|
-
}
|
|
4443
|
-
const developerAgent = agent2({
|
|
4444
|
-
name: "developer",
|
|
4445
|
-
model: this.#config.model,
|
|
4446
|
-
context,
|
|
4447
|
-
tools: developer_agent_default.tools
|
|
4448
|
-
});
|
|
4449
|
-
const result = await developerAgent.stream({
|
|
4450
|
-
adapter: this.#config.adapter
|
|
4451
|
-
});
|
|
4452
|
-
return result.toUIMessageStream({
|
|
4453
|
-
onError: (error) => this.#formatError(error),
|
|
4454
|
-
sendStart: true,
|
|
4455
|
-
sendFinish: true,
|
|
4456
|
-
sendReasoning: true,
|
|
4457
|
-
sendSources: true,
|
|
4458
|
-
generateMessageId: generateId,
|
|
4459
|
-
onFinish: async ({ responseMessage }) => {
|
|
4460
|
-
context.set(assistant(responseMessage));
|
|
4461
|
-
await context.save();
|
|
4462
|
-
await context.trackUsage(await result.totalUsage);
|
|
4463
|
-
}
|
|
4464
|
-
});
|
|
4465
|
-
}
|
|
4466
4439
|
#formatError(error) {
|
|
4467
4440
|
if (NoSuchToolError.isInstance(error)) {
|
|
4468
4441
|
return "The model tried to call an unknown tool.";
|