基于 Node 内置 node:sqlite 的 Effect SqlClient 实现。src/index.ts:49-161 make() 用 DatabaseSync 建立同步连接(WAL 模式、外键约束,index.ts:59-70)、实现 execute/executeRaw/executeValues/executeUnprepared 全套 SqlClient 接口并挂载 Semaphore(1) 串行化(index.ts:132-134);classifySqliteError 做错误归类(index.ts:15,80-82);layer() 将 client 同时注册为 SqliteClient 与泛型 Client.SqlClient(index.ts:163-168),并注入 Reactivity.layer。
· Effect SqlClient 的 SQLite 实现(node:sqlite DatabaseSync)
· WAL/外键/只读/扩展加载等连接配置(SqliteClientConfig,index.ts:32-43)
· Layer 装配(SqliteClient + Client.SqlClient 双注册,index.ts:163)
· SQL 错误分类与 Effect 化(classifySqliteError)
· BigInt 安全读取与 stream 占位(setReadBigInts,index.ts:75)
无内部依赖(或为叶子/外部)
| 节点 | 机制 | 证据 |
|---|---|---|
| core | workspace-dep | @opencode-ai/core/package.json dependencies.@opencode-ai/effect-sqlite-node |
为 opencode 核心提供零原生编译依赖的 Effect 化 SQLite 驱动(复用 node 内置 sqlite),与 @effect/sql-sqlite-node 定位一致但归属仓库自有实现。
官方底座,未被本机装配层直接引用