@nooldey/artifact-store
v0.84.5
Published
Business-agnostic artifact storage contracts for Career Agent
Readme
@nooldey/artifact-store
结构化事实与提案版本存储与控制面契约及实现
@nooldey/artifact-store 是 Career Agent 架构中的核心存储与事实控制层,提供针对求职案例(Application Case)、结构化事实(Artifacts)、变更提案(Proposals)及其生命周期确认状态的持久化、版本管理与事务审计支持。
特性
- 生命周期控制:严格管理事实提案由
pending(待定)->confirmed(已确认)->committed(已提交生效)的状态流转。 - 多种存储后端:
SqliteArtifactStore:基于 SQLite 的本地生产持久化存储,支持完整事务与高效查询。FileArtifactStore:基于文件的追加式事务日志存储,支持断点崩溃恢复与快照审计。InMemoryArtifactStore:纯内存实现,适合轻量管道、自动化测试与单次执行。
- 安全路径隔离:内置
createPathPolicy,防止跨目录路径穿越与越权读写。 - 版本与血缘追踪:不可变版本快照,具备完整的版本衍生血缘树(Lineage Graph)。
安装
npm install @nooldey/artifact-store核心接口与使用示例
import { SqliteArtifactStore } from "@nooldey/artifact-store";
const store = new SqliteArtifactStore({
dbPath: ".career-agent/career.db",
});
// 初始化数据表与索引
await store.init();
// 创建或切换求职案例
await store.createCase({
caseId: "fe-engineer-2026",
title: "前端资深开发求职案例",
candidateName: "Alex",
});
// 提交事实提案
const result = await store.commitProposal({
caseId: "fe-engineer-2026",
proposal: {
id: "prop-resume-draft-1",
schemaRef: "career/[email protected]",
summary: "更新项目经验亮点",
data: {
highlights: ["重构核心构建系统,提升打包速度 40%"],
},
status: "confirmed",
},
});
console.log("Proposal committed:", result.version);模块结构
SqliteArtifactStore: SQLite 存储引擎实现FileArtifactStore: 文件事务日志引擎实现InMemoryArtifactStore: 内存存储实现createPathPolicy: 路径访问安全策略校验contracts.ts: 全量 TypeScript 类型声明(ArtifactEnvelope,ArtifactProposal,ApplicationCase等)
许可证
MIT
