@bastani/atomic-storage-libsql

中文文档
0.9.71发布于 2026/11/04MITTypeScriptES Module构建来源已验证近 30 天下载 1.2万

libSQL / Turso storage adapter for Atomic sessions, workflow journals, and Intercom.

原始使用文档
文档目录4 节
  1. Install
  2. Configure
  3. Use from the SDK
  4. License

@bastani/atomic-storage-libsql

A libSQL / Turso storage adapter for Atomic. It stores sessions, workflow journals, and Intercom multi-node routing in one shared database, so several machines can use the same state. It is a separate package: install it only where you want remote storage.

Install

atomic install npm:@bastani/atomic-storage-libsql

Install in user scope (without -l); Atomic only searches user-scope packages for storage adapters.

Configure

Select the adapter in ~/.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
OptionRequiredDescription
urlyesA libsql://, https://, wss://, or file: URL.
authTokenfor remote databasesThe database token. Pass it through secrets ({ "file": ... } or { "env": ... }) so it stays out of settings.
namespacenoA self-hosted sqld namespace (sqld --enable-namespaces), sent as the x-namespace header. Needs a libsql:, https:, or http: URL.

A file: database is opened in write-ahead-log mode with a 5000 ms busy timeout, the way Atomic's own SQLite stores are, so several processes can read and write one file at once: a statement waits up to 5 seconds for a lock another process holds instead of failing with SQLITE_BUSY, and the wait blocks the calling thread. The first open changes the file to WAL mode, which is kept in the file and adds -wal and -shm files beside it. Open a file only through this adapter at a time: another SQLite library with the same file open in WAL mode was seen to read stale data.

The token is redacted from error messages and diagnostics. Add a prefix to the storage block to keep projects or teams apart in one database. See Storage for selection precedence, per-process overrides, and the other storage options.

Use from the SDK

import { openLibsqlDatabase } from "@bastani/atomic-storage-libsql";

const database = await openLibsqlDatabase({ url: "libsql://<db>.turso.io", authToken });

openLibsqlDatabase also accepts namespace and headers (extra request headers, redacted from errors), both for libsql:, https:, or http: URLs. The returned SqliteDatabase can be passed as SDK sessionStore: { kind: "database", database } or workflow journal: { database }; it sends a workflow journal's batch of appends to the database in one request.

The package ships plain ESM JavaScript with TypeScript declarations. This import works in supported Node versions without a TypeScript loader.

License

MIT

版本与发布记录

@bastani/atomic-storage-libsql 共发布 70 个版本,首次发布于 2026/10/23;过去 12 个月发布了 70 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.9.71latest2026/11/043 天前
0.9.71-alpha.1next2026/11/043 天前
0.9.702026/11/044 天前
0.9.70-alpha.12026/11/044 天前
0.9.692026/11/034 天前
0.9.69-alpha.12026/11/034 天前

关于 @bastani/atomic-storage-libsql 的常见问题

@bastani/atomic-storage-libsql 是什么?

libSQL / Turso storage adapter for Atomic sessions, workflow journals, and Intercom.

如何安装 @bastani/atomic-storage-libsql?

在项目目录运行 npm install @bastani/atomic-storage-libsql,或使用 pnpm add / yarn add / bun add。

@bastani/atomic-storage-libsql 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bastani/atomic-storage-libsql 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@bastani/atomic-storage-libsql 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.19.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bastani/atomic-storage-libsql 可以商用吗?

@bastani/atomic-storage-libsql 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bastani/atomic-storage-libsql 的下载量有多少?

根据 npm 官方下载统计,@bastani/atomic-storage-libsql 在 2026/10/08 – 2026/11/06 这 30 天内被下载 11,664 次,日均约 389 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bastani/atomic-storage-libsql 还在维护吗?

最新版本 0.9.71 发布于 2026/11/04(3 天前);至今共发布 70 个版本,其中过去 12 个月发布了 70 个;首次发布于 2026/10/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。