1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! # STR 结构化树资源格式(`.str`)
//!
//! 规范见仓库根目录 `STR-FORMAT-PROMPT.md`(唯一真源);
//! 本实现对应的规范版本见常量 [`SPEC_VERSION`]。
//!
//! 本 crate 提供:
//! - `meta`:`._meta`(TOML)的解析、**归一化**(TOML → 规范 JSON,键序/表序固定)与**保注释写回**;
//! - `bundle`:分支树遍历、懒加载、`id` 索引;
//! - `validate`:规范第 6 章全部错误码的实现;
//! - `cmd`:CLI 各子命令。
//!
//! ## 校验链路
//!
//! `._meta`(TOML)→ 解析 → 归一化为规范 JSON(`meta::Meta::to_json`)→ JSON Schema 2020-12 校验。
/// 本实现对应的 `str` 格式主版本。
pub const STR_MAJOR: i64 = 1;
/// 本实现对应的规范版本。
pub const SPEC_VERSION: &str = "1.11.0";
/// 内嵌的三种档位 JSON Schema(bundle 未自带 `._schema/` 时的兜底)。
///
/// Schema 属**格式规范资产**,唯一真源位于**仓库根** `._schema/`(与 `examples/` 同级)。
/// 而 crates.io 只打包 crate 目录内的文件、`include_str!` 也无法引用包外路径,
/// 因此 crate 内 `schema/` 保留一份**派生副本**:由 `bash scripts/sync-schema.sh`
/// 生成,并由 `tests/schema_sync.rs` 守卫其与真源逐字节一致(漂移即测试失败)。
pub const EMBEDDED_SCHEMAS: & = &;