import { type MemoryExportBundle } from "@sema-agent/core"; /** 查询参数名与合法值(闭集:只认字面 `1`;`true`/`yes` 不认 —— 能力位不做宽松解析)。 */ export declare const ORIGIN_AWARE_QUERY = "originAware"; /** 从 `URLSearchParams` 读能力位:`originAware=1` ⇒ true;缺席/其它值 ⇒ false(老客户端假定)。 */ export declare function readOriginAware(params: URLSearchParams): boolean; /** 「这条条目带 origin 标吗」—— 载体三形(G53 [ref] + codex R1-high 后齐): * ① 顶层 `origin`(listExternal 投影行)—— own 键在场且非 undefined 即带标(不读形;typed null/坏形也算: * core 读取器对 null 会抛,围栏对读不出的载体只许扣留不许放行); * ② `frontmatter.origin`(core `MemoryEntry`,138 S3)—— 同 own 键判; * ③ `frontmatter.extra` 的 origin 悬置形块 —— 单源直调 core 出口的 `committedOriginOf`(typed 缺席时读 * extraOriginCarriers[0];退化形记 at:0 也算载体,过近似=安全方向),server 不自铸解析。 */ export declare function isOriginTagged(entry: unknown): boolean; /** * 围栏(`build*`:纯数据)。`originAware=true` ⇒ 原数组同一引用、无计数键(零行为差);否则扣留带标条目, * 且**只在扣留数 >0 时**铸 `withheldOriginTagged`(只记真:一个恒在场的 `0` 会让消费端把「没围栏」误读成 * 「围栏了但没扣」)。 */ export declare function buildOriginFence(entries: readonly T[], originAware: boolean): { entries: readonly T[]; withheldOriginTagged?: number; }; /** * 治理携出包的围栏(`build*`:纯数据)。`originAware=true` ∨ 零扣留 ⇒ **原对象同一引用**(逐字节旧形, * integrity 一个字不动);否则:扣留带标条目 + 顶层 `withheldOriginTagged`(只记真),并按扣留后内容重铸 * integrity —— `entryCount`=kept 数、`revs`=kept 的 id→rev(core 校验器要求 revs 基数≡条目 id 集, * 只重算 entryCount/sectionHashes 而留旧 revs 同样过不了自校验)、`sectionHashes.entries`=kept 的 * canonical 哈希;meta/governance/residuals 三段内容未动 ⇒ 三段哈希原样。 * governance 行(challenges/lineage)**不**随条目扣留:它们不携 origin 键(无标可剥,S-6 的摊平病对它们 * 不成立),扣了反而是静默改写治理史;import 侧对超出 entries 的引用按 referentialOrphans 具名报告, * 诚实方向一致。 */ export declare function buildOriginFencedBundle(bundle: MemoryExportBundle, originAware: boolean): MemoryExportBundle & { withheldOriginTagged?: number; }; //# sourceMappingURL=memory-origin-fence.d.ts.map