✨ feat: 灵台引擎脾神(hj_transform)确定性 Markdown 解析器(WP-15)
- C ABI 新增 hj_transform_version / hj_transform_markdown(契约登记同步);HjBuffer 真实实现(头部+紧随数据) - v1 解析(hunjing-markdown-v1):fenced code/mermaid 提取、独占行 $$ 块级数学、未闭合结构保持源码态、其余归并 markdown block;canonical JSON 键序确定、UTF-8 校验、1MiB/256 block/64KiB 行硬限额 - 引擎内部设施抽取(engine_internal.h:last_error/句柄表/buffer 共享) - doctest 12 个用例(含 1 万次随机鲁棒性冒烟,固定种子可复现);libFuzzer 目标(-DHJ_BUILD_FUZZER,Apple clang 无 fuzzer 运行时,正式跑在 Linux CI) - nm 验证 9 个导出符号全部 hj_*
This commit is contained in:
1 parent
d3c8df79a8
commit
127191c889
10 files changed
+565
-26
No files matched your search
@@ -65,6 +65,17 @@ HJ_API size_t hj_buffer_len(const HjBuffer *buffer);
|
||||
// 线程局部的最近一次错误消息(UTF-8、脱敏、不含正文与密钥);下一次调用覆盖。
|
||||
HJ_API const char *hj_last_error(void);
|
||||
|
||||
// ===== 脾神(hj_transform):Markdown → canonical ContentBlock 确定性解析 =====
|
||||
|
||||
// 返回当前 parser version(稳定标识,随实现演进递增)。
|
||||
HJ_API const char *hj_transform_version(void);
|
||||
|
||||
// 将 Markdown 规范化为 canonical ContentBlock JSON(键序确定、UTF-8)。
|
||||
// 输出经 HjBuffer 返回,由 hj_buffer_free 释放;blocks 不含 id(由宿主生成)。
|
||||
// 限额与非法 UTF-8 分别返回 HJ_ERR_LIMIT_EXCEEDED / HJ_ERR_INVALID_ARGUMENT。
|
||||
HJ_API HjStatus hj_transform_markdown(
|
||||
HjEngine *engine, const char *input, size_t input_len, HjBuffer **out);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
Reference in new issue
Block a user