@voltagent/libsql 1.0.0 → 1.0.2
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 +10 -8
- package/dist/index.js +15 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +28 -26
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -95,10 +95,10 @@ This command guides you through setup.
|
|
|
95
95
|
You'll see the starter code in `src/index.ts`, which now registers both an agent and a comprehensive workflow example found in `src/workflows/index.ts`.
|
|
96
96
|
|
|
97
97
|
```typescript
|
|
98
|
-
import { VoltAgent, Agent } from "@voltagent/core";
|
|
99
|
-
import {
|
|
98
|
+
import { VoltAgent, Agent, Memory } from "@voltagent/core";
|
|
99
|
+
import { LibSQLMemoryAdapter } from "@voltagent/libsql";
|
|
100
100
|
import { createPinoLogger } from "@voltagent/logger";
|
|
101
|
-
import {
|
|
101
|
+
import { honoServer } from "@voltagent/server-hono";
|
|
102
102
|
import { openai } from "@ai-sdk/openai";
|
|
103
103
|
import { expenseApprovalWorkflow } from "./workflows";
|
|
104
104
|
import { weatherTool } from "./tools";
|
|
@@ -109,17 +109,18 @@ const logger = createPinoLogger({
|
|
|
109
109
|
level: "info",
|
|
110
110
|
});
|
|
111
111
|
|
|
112
|
+
// Optional persistent memory (remove to use default in-memory)
|
|
113
|
+
const memory = new Memory({
|
|
114
|
+
storage: new LibSQLMemoryAdapter({ url: "file:./.voltagent/memory.db" }),
|
|
115
|
+
});
|
|
116
|
+
|
|
112
117
|
// A simple, general-purpose agent for the project.
|
|
113
118
|
const agent = new Agent({
|
|
114
119
|
name: "my-agent",
|
|
115
120
|
instructions: "A helpful assistant that can check weather and help with various tasks",
|
|
116
|
-
llm: new VercelAIProvider(),
|
|
117
121
|
model: openai("gpt-4o-mini"),
|
|
118
122
|
tools: [weatherTool],
|
|
119
|
-
memory
|
|
120
|
-
url: "file:./.voltagent/memory.db",
|
|
121
|
-
logger: logger.child({ component: "libsql" }),
|
|
122
|
-
}),
|
|
123
|
+
memory,
|
|
123
124
|
});
|
|
124
125
|
|
|
125
126
|
// Initialize VoltAgent with your agent(s) and workflow(s)
|
|
@@ -130,6 +131,7 @@ new VoltAgent({
|
|
|
130
131
|
workflows: {
|
|
131
132
|
expenseApprovalWorkflow,
|
|
132
133
|
},
|
|
134
|
+
server: honoServer(),
|
|
133
135
|
logger,
|
|
134
136
|
});
|
|
135
137
|
```
|
package/dist/index.js
CHANGED
|
@@ -42,6 +42,7 @@ var import_node_fs = __toESM(require("fs"));
|
|
|
42
42
|
var import_node_path = __toESM(require("path"));
|
|
43
43
|
var import_client = require("@libsql/client");
|
|
44
44
|
var import_core = require("@voltagent/core");
|
|
45
|
+
var import_internal = require("@voltagent/internal");
|
|
45
46
|
var import_logger = require("@voltagent/logger");
|
|
46
47
|
var LibSQLMemoryAdapter = class {
|
|
47
48
|
static {
|
|
@@ -342,8 +343,8 @@ var LibSQLMemoryAdapter = class {
|
|
|
342
343
|
message.id,
|
|
343
344
|
userId,
|
|
344
345
|
message.role,
|
|
345
|
-
|
|
346
|
-
message.metadata ?
|
|
346
|
+
(0, import_internal.safeStringify)(message.parts),
|
|
347
|
+
message.metadata ? (0, import_internal.safeStringify)(message.metadata) : null,
|
|
347
348
|
2,
|
|
348
349
|
// format_version
|
|
349
350
|
(/* @__PURE__ */ new Date()).toISOString()
|
|
@@ -373,8 +374,8 @@ var LibSQLMemoryAdapter = class {
|
|
|
373
374
|
message.id,
|
|
374
375
|
userId,
|
|
375
376
|
message.role,
|
|
376
|
-
|
|
377
|
-
message.metadata ?
|
|
377
|
+
(0, import_internal.safeStringify)(message.parts),
|
|
378
|
+
message.metadata ? (0, import_internal.safeStringify)(message.metadata) : null,
|
|
378
379
|
2,
|
|
379
380
|
// format_version
|
|
380
381
|
now
|
|
@@ -509,7 +510,7 @@ var LibSQLMemoryAdapter = class {
|
|
|
509
510
|
input.resourceId,
|
|
510
511
|
input.userId,
|
|
511
512
|
input.title,
|
|
512
|
-
|
|
513
|
+
(0, import_internal.safeStringify)(input.metadata || {}),
|
|
513
514
|
now,
|
|
514
515
|
now
|
|
515
516
|
]
|
|
@@ -636,7 +637,7 @@ var LibSQLMemoryAdapter = class {
|
|
|
636
637
|
}
|
|
637
638
|
if (updates.metadata !== void 0) {
|
|
638
639
|
fieldsToUpdate.push("metadata = ?");
|
|
639
|
-
args.push(
|
|
640
|
+
args.push((0, import_internal.safeStringify)(updates.metadata));
|
|
640
641
|
}
|
|
641
642
|
args.push(id);
|
|
642
643
|
await this.client.execute({
|
|
@@ -711,12 +712,12 @@ var LibSQLMemoryAdapter = class {
|
|
|
711
712
|
metadata.workingMemory = params.content;
|
|
712
713
|
await this.client.execute({
|
|
713
714
|
sql: `UPDATE ${usersTable} SET metadata = ?, updated_at = ? WHERE id = ?`,
|
|
714
|
-
args: [
|
|
715
|
+
args: [(0, import_internal.safeStringify)(metadata), now, params.userId]
|
|
715
716
|
});
|
|
716
717
|
} else {
|
|
717
718
|
await this.client.execute({
|
|
718
719
|
sql: `INSERT INTO ${usersTable} (id, metadata, created_at, updated_at) VALUES (?, ?, ?, ?)`,
|
|
719
|
-
args: [params.userId,
|
|
720
|
+
args: [params.userId, (0, import_internal.safeStringify)({ workingMemory: params.content }), now, now]
|
|
720
721
|
});
|
|
721
722
|
}
|
|
722
723
|
}
|
|
@@ -746,7 +747,7 @@ var LibSQLMemoryAdapter = class {
|
|
|
746
747
|
delete metadata.workingMemory;
|
|
747
748
|
await this.client.execute({
|
|
748
749
|
sql: `UPDATE ${usersTable} SET metadata = ?, updated_at = ? WHERE id = ?`,
|
|
749
|
-
args: [
|
|
750
|
+
args: [(0, import_internal.safeStringify)(metadata), (/* @__PURE__ */ new Date()).toISOString(), params.userId]
|
|
750
751
|
});
|
|
751
752
|
}
|
|
752
753
|
}
|
|
@@ -797,10 +798,10 @@ var LibSQLMemoryAdapter = class {
|
|
|
797
798
|
state.workflowId,
|
|
798
799
|
state.workflowName,
|
|
799
800
|
state.status,
|
|
800
|
-
state.suspension ?
|
|
801
|
+
state.suspension ? (0, import_internal.safeStringify)(state.suspension) : null,
|
|
801
802
|
state.userId || null,
|
|
802
803
|
state.conversationId || null,
|
|
803
|
-
state.metadata ?
|
|
804
|
+
state.metadata ? (0, import_internal.safeStringify)(state.metadata) : null,
|
|
804
805
|
state.createdAt.toISOString(),
|
|
805
806
|
state.updatedAt.toISOString()
|
|
806
807
|
]
|
|
@@ -1675,6 +1676,7 @@ var import_node_fs3 = __toESM(require("fs"));
|
|
|
1675
1676
|
var import_node_path3 = __toESM(require("path"));
|
|
1676
1677
|
var import_client3 = require("@libsql/client");
|
|
1677
1678
|
var import_core2 = require("@voltagent/core");
|
|
1679
|
+
var import_internal2 = require("@voltagent/internal");
|
|
1678
1680
|
var import_logger3 = require("@voltagent/logger");
|
|
1679
1681
|
var LibSQLVectorAdapter = class {
|
|
1680
1682
|
static {
|
|
@@ -1824,7 +1826,7 @@ var LibSQLVectorAdapter = class {
|
|
|
1824
1826
|
}
|
|
1825
1827
|
const tableName = `${this.tablePrefix}_vectors`;
|
|
1826
1828
|
const serializedVector = this.serializeVector(vector);
|
|
1827
|
-
const metadataJson = metadata ?
|
|
1829
|
+
const metadataJson = metadata ? (0, import_internal2.safeStringify)(metadata) : null;
|
|
1828
1830
|
await this.executeWithRetry(async () => {
|
|
1829
1831
|
await this.client.execute({
|
|
1830
1832
|
sql: `
|
|
@@ -1865,7 +1867,7 @@ var LibSQLVectorAdapter = class {
|
|
|
1865
1867
|
);
|
|
1866
1868
|
}
|
|
1867
1869
|
const serializedVector = this.serializeVector(item.vector);
|
|
1868
|
-
const metadataJson = item.metadata ?
|
|
1870
|
+
const metadataJson = item.metadata ? (0, import_internal2.safeStringify)(item.metadata) : null;
|
|
1869
1871
|
const content = item.content ?? null;
|
|
1870
1872
|
stmts.push({
|
|
1871
1873
|
sql: `INSERT OR REPLACE INTO ${tableName} (id, vector, dimensions, metadata, content, updated_at) VALUES (?, ?, ?, ?, ?, CURRENT_TIMESTAMP)`,
|