effect-sqlite-node

oc-effect-sqlite-node · package · G15-存储适配 · Layer 4

① 作用

基于 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)

③ 依赖(上游)

无内部依赖(或为叶子/外部)

④ 被依赖(下游)

节点机制证据
coreworkspace-dep@opencode-ai/core/package.json dependencies.@opencode-ai/effect-sqlite-node

⑤ 为什么存在(why)

设计意图(官方)

为 opencode 核心提供零原生编译依赖的 Effect 化 SQLite 驱动(复用 node 内置 sqlite),与 @effect/sql-sqlite-node 定位一致但归属仓库自有实现。

改造关联

官方底座,未被本机装配层直接引用

⑥ 怎么用(how)

怎么用

典型场景与协作