@bastani/原子储存-libsql
免费/ 涡轮 存储适配器 原子。它将会话,工作流程日记,以及Intercom多节点路由存储在一个共享的数据库中,因此多台机器可以使用相同的状态. 这是一个单独的软件包: 只在您想要远程存储的地方安装它 .
安装
atomic install npm:@bastani/atomic-storage-libsql
在用户范围内安装( 无) -l; 原子只搜索存储适配器的用户镜包.
配置
选择适配器 ~/.atomic/agent/settings.json数字 :
{
"storage": {
"adapter": "@bastani/atomic-storage-libsql",
"options": { "url": "libsql://<db>.turso.io" },
"secrets": { "authToken": { "file": "turso-token" } }
}
}
turso db tokens create <db> > ~/.atomic/turso-token
chmod 600 ~/.atomic/turso-token
| 选项 | 需求 | 说明 |
|---|---|---|
url | 对 | A 类 libsql://, (中文(简体) ), https://, (中文(简体) ), wss://,或 file: URL (中文(简体) ). |
authToken | 远程数据库 | 数据库标志 。 通过它 secrets (单位:千美元){ "file": ... } 或者说 { "env": ... })所以它不设置. |
namespace | 没有 | 自动托管的 sqld 命名空间( E)sqld --enable-namespaces页:1 x-namespace 头曰. 需要a libsql:, (中文(简体) ), https:,或 http: URL (中文(简体) ). |
A 类 file: 数据库以写-ahead-log模式打开,其中包含一个 5000 ms 繁忙的超时, 原子自身 SQLite 存储的方式, 因此多个进程可以同时读取和写入一个文件 : 声明最多等待 5 秒 以锁定另一个进程, 而不是失败 SQLITE_BUSY,等待会阻挡呼叫线。 第一次打开时将文件更改为 WAL 模式, 它保存在文件中并添加 -wal 财务报告和审定财务报表 -shm 旁边的文件。 一次只通过这个适配器打开一个文件:另一个以WAL模式打开相同文件的SQLite库被看到读取了 stale 数据.
信使由出错消息和诊断编辑. 添加一个 prefix 页:1 storage 块将项目或团队分开在一个数据库中。 见 存储 用于选择优先级,每个进程覆盖,以及其他存储选项.
从 SDK 使用
import { openLibsqlDatabase } from "@bastani/atomic-storage-libsql";
const database = await openLibsqlDatabase({ url: "libsql://<db>.turso.io", authToken });
openLibsqlDatabase 还接受 namespace 财务报告和审定财务报表 headers (外部请求头,因出错而编辑),用于 libsql:, (中文(简体) ), https:,或 http: URLs (英语). 回来的 SqliteDatabase 可以通过 SDK sessionStore: { kind: "database", database } 或工作流程 journal: { database };它在一个请求中向数据库发送了工作流程日记的批次附件.
包船平面ESM JavaScript带有TypeScript声明. 这种导入在支持的节点版本中工作,没有TypeScript加载器.
许可证
麻省理工学院