@kedge-agentic/entity-document
v0.1.0
Published
Block ↔ Markdown bidirectional transform for entity documents
Readme
@kedge-agentic/entity-document
Entity document 的 Block ↔ Markdown 双向转换 + 可插拔 TransformRegistry。
类型: 框架无关库 · 状态: public · v0.1.0
用途
把 "block-based" entity 文档 (受 Notion / Quip 启发) 跟 Markdown 互相转换。 给 context-layer 的 DocumentEditProvider 实现作底层 — 让"用户编辑 markdown 字符串"跟"系统存的 block 数组"互相映射。
- 序列化 (Block[] → Markdown)
- 反序列化 (Markdown → Block[])
- 字符串替换工具 (
str_replace),保留 block 边界 - 可插拔的 transform registry (每种 block type 一个 transform)
- 文档级 split/merge utility (在拆分 block 用于显示 vs 合并 block 用于存储之间转换)
主要导出
import type {
BlockData,
DocumentMeta,
EntityDocument,
BlockTransform,
StrReplaceResult,
ContentToAttrConfig,
} from '@kedge-agentic/entity-document'
import {
serialize,
deserialize,
strReplace,
getTransform,
detectTransform,
TransformRegistry,
defaultRegistry,
splitBlockForDocument,
mergeBlockForStorage,
} from '@kedge-agentic/entity-document'用法
// markdown → blocks
const doc = deserialize('# Hello\n\nWorld')
// blocks → markdown
const md = serialize(doc)
// 在 markdown 里 str_replace,保留 block 完整性
const { result, changed } = strReplace(md, 'Hello', 'Hi')依赖
- 运行时: 无
- 无 peerDeps
关联包
- @kedge-agentic/context-layer-core — 主消费者;
DocumentEditProvider实现常常通过这个包做 block 序列化
构建 / 测试
npm run build -w @kedge-agentic/entity-document
npm test -w @kedge-agentic/entity-document