审批等待格式化与阈值沉 utils/time 正典 相对时间阶梯三套收敛 formatRelative 参数化 灵感状态表沉 constants,透传通道退役 aggText/clearOwn 等命名对齐,IPC 参数名统一 conversation_id
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
//! 应用设置 KV API — IPC invoke 封装(localStorage → SQLite 迁移目标)
|
|
//!
|
|
//! 后端 4 个 command 读写 `app_settings` 表,value 在 SQLite 里永远是 JSON 字符串。
|
|
//! 本层只做透传(不解析 JSON),JSON.parse / JSON.stringify 由 store 层负责。
|
|
|
|
import { invoke } from '@tauri-apps/api/core'
|
|
|
|
export const settingsApi = {
|
|
/** 取单个 key 的原始值(JSON 字符串),不存在返回 null */
|
|
get(key: string): Promise<string | null> {
|
|
return invoke<string | null>('settings_get', { key })
|
|
},
|
|
|
|
/** 写 key/value(`INSERT OR REPLACE`),成功返回 true */
|
|
set(key: string, value: string): Promise<boolean> {
|
|
return invoke<boolean>('settings_set', { key, value })
|
|
},
|
|
|
|
/** 获取 DevFlow 数据目录路径(运行期确定,跨平台) */
|
|
getDataDir(): Promise<string> {
|
|
return invoke<string>('get_data_dir')
|
|
},
|
|
|
|
/** 取全部 key/value(启动时一次性拉回恢复偏好) */
|
|
getAll(): Promise<Record<string, string>> {
|
|
return invoke<Record<string, string>>('settings_get_all')
|
|
},
|
|
|
|
/** 删除单个 key,成功返回 true */
|
|
delete(key: string): Promise<boolean> {
|
|
return invoke<boolean>('settings_delete', { key })
|
|
},
|
|
|
|
/** 设置多 ReAct Plan 执行开关 */
|
|
setPlanExecution(enabled: boolean): Promise<void> {
|
|
return invoke<void>('set_plan_execution', { enabled })
|
|
},
|
|
|
|
/** 读取多 ReAct Plan 执行开关 */
|
|
getPlanExecution(): Promise<boolean> {
|
|
return invoke<boolean>('is_plan_execution_enabled')
|
|
},
|
|
}
|