@x-otto/session 0.0.1-alpha.5 → 0.1.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DiskPersistence, MemoryPersistenceBase, Migration, PaginatedResult, PersistenceShape, RemotePersistence, RemotePersistenceError, RemoteSnapshotConflictError } from "@x-otto/persistence";
1
+ import { MemoryPersistenceBase, Migration, PaginatedResult, PersistenceShape, RemotePersistence, RemotePersistenceError, RemoteSnapshotConflictError } from "@x-otto/persistence";
2
2
 
3
3
  //#region src/types.d.ts
4
4
  type SessionEntry<T = unknown> = {
@@ -311,6 +311,25 @@ interface Session<T = unknown> {
311
311
  * (不保留旧分组,防止"未置顶但残留分组名"的僵尸状态,见 RFC-158 §4)。
312
312
  */
313
313
  setPinned(pinned: boolean, group?: string): void;
314
+ /** 绝对回合总数(resume 末尾对齐派生 turnBoundaries)。领域记账,非 UI 面板态。 */
315
+ getTurnCount(): number | undefined;
316
+ setTurnCount(n: number): void;
317
+ }
318
+ /**
319
+ * UI 面板态持久化接口——todoList/editedFiles/subagents/drafts/turnSummaries 五个
320
+ * TUI 面板 + 已废弃的输入历史迁移读取。
321
+ *
322
+ * 终局 review 2026-08-14:从 `Session` 拆出(原 Session 接口 40 方法中 14 个是面板
323
+ * get/set,领域接口被 UI 演进绑架——每加一个新面板都要改领域接口、聚合根与快照格式
324
+ * 三处)。拆分后消费方按需收窄类型:领域读者用 `Session`,面板读者用
325
+ * `SessionPanelState`,两者都要用 `Session & SessionPanelState`。
326
+ *
327
+ * **终局方向(投影化)**:面板态是 entry 事件流上的 UI 投影(读模型),理想形态是从
328
+ * seq watermark 折叠出面板视图并独立落库(投影缓存,机制参照 deepseek-harness
329
+ * session-projection-cache),而不是聚合根的附属存储。本接口是迁移的中途形态:先做
330
+ * 接口层分离(零行为变化),投影化存储变更作为专项另行推进。
331
+ */
332
+ interface SessionPanelState {
314
333
  /**
315
334
  * 持久化 config 字段存取器(取代 cli 侧 `as unknown as {...}` 裸 cast,给持久化契约真类型)。
316
335
  * RFC-108 D3:todoList/editedFiles/subagents/drafts 四个 UI 面板字段从 PersistedSessionConfig
@@ -333,9 +352,6 @@ interface Session<T = unknown> {
333
352
  /** 子代理面板持久化(stat-only)。RFC-108 D3:存储迁至 panelState 独立字段。 */
334
353
  getSubagents(): SubagentEntry[] | undefined;
335
354
  setSubagents(entries: SubagentEntry[], options?: PanelWriteOptions): void;
336
- /** 绝对回合总数(resume 末尾对齐派生 turnBoundaries)。 */
337
- getTurnCount(): number | undefined;
338
- setTurnCount(n: number): void;
339
355
  /** 草稿面板持久化(DraftPane 的 Ctrl+S 保存/加载)。RFC-108 D3:存储迁至 panelState 独立字段。 */
340
356
  getDrafts(): DraftEntry[] | undefined;
341
357
  setDrafts(entries: DraftEntry[], options?: PanelWriteOptions): void;
@@ -391,6 +407,9 @@ interface SessionPersistence<T = unknown> extends PersistenceShape<SessionSnapsh
391
407
  /**
392
408
  * RFC-325 M4:DB 冷归档能力(optional,只有 relational SQLite 后端实现)。
393
409
  * 将 entries 复制到外部 .jsonl.gz + 标 archived=1,**不删除 DB 行**(RFC-159 红线)。
410
+ *
411
+ * **能力探测**:消费方应使用 {@link supportsArchive} 类型守卫,而非 `typeof` 检查或 `as` cast
412
+ *(RFC-393 M2:三态收拢为统一能力接口模式)。
394
413
  */
395
414
  archiveSession?: (sessionId: string) => Promise<string>;
396
415
  /** 从外部归档恢复(幂等 append,不删除既有条目)。 */
@@ -413,7 +432,7 @@ interface InMemorySessionPorts {
413
432
  uuid(): string;
414
433
  };
415
434
  }
416
- declare class InMemorySession<T = unknown> implements Session<T> {
435
+ declare class InMemorySession<T = unknown> implements Session<T>, SessionPanelState {
417
436
  readonly id: string;
418
437
  private readonly sessionEntries;
419
438
  private readonly entryMap;
@@ -442,6 +461,8 @@ declare class InMemorySession<T = unknown> implements Session<T> {
442
461
  * 时机静默错位。本方法给测试(每个 mutation 路径测试的收尾断言)与 debug 排查提供
443
462
  * 唯一真源比对点。O(n) 全量遍历,**勿在热路径调用**(lesson_54)。
444
463
  *
464
+ * RFC-393 M3:实现委托给 {@link ResidencyPolicy}(计数器 owner 仍为本类)。
465
+ *
445
466
  * @returns 漂移量(`recomputed - counter`;0 = 无漂移)
446
467
  */
447
468
  verifyEstimatedContentBytes(): {
@@ -457,7 +478,16 @@ declare class InMemorySession<T = unknown> implements Session<T> {
457
478
  * 无需修改。turnSummaries 是后续新增字段(回合完成摘要行持久化,见 TurnSummaryEntry)。
458
479
  */
459
480
  private readonly panelState;
481
+ /**
482
+ * RFC-393 M3:驻留治理策略(capStoredHistory / capStoredHistoryByBytes / wouldTrim* /
483
+ * verifyEstimatedContentBytes / removeOldestMessages)从聚合根抽离。
484
+ * 计数器唯一 owner 仍是本类(`_estimatedContentBytes` / `meta.messageCount`)——
485
+ * policy 经下方闭包 host 读写,不持有可变状态。
486
+ */
487
+ private readonly residencyPolicy;
460
488
  constructor(id: string, parentSessionId?: string, forkPoint?: number, ports?: InMemorySessionPorts);
489
+ /** RFC-393 M3:policy 访问内部状态的窄接口(闭包捕获私有字段,不暴露 public 方法)。 */
490
+ private createResidencyHost;
461
491
  private _leafId;
462
492
  get leafId(): string | undefined;
463
493
  /**
@@ -681,7 +711,7 @@ declare class InMemorySession<T = unknown> implements Session<T> {
681
711
  * 操作零 UI 反馈,用户长会话(>2000 条)resume 后发现前段历史消失却毫无线索。**本方法只
682
712
  * 操作内存**——持久层是否也删除取决于调用方使用的 persistence 实现:RFC-159 起默认的
683
713
  * `RelationalSessionPersistence`(SQLite)是 append-forever,被本方法裁掉的条目仍完整
684
- * 保留在 DB;仅已废弃的 `OTTO_SESSION_BLOB=1` 逃生口后端会因整份快照覆写而真实丢失。
714
+ * 保留在 DB(RFC-393 P2 已删除 OTTO_SESSION_BLOB=1 blob 逃生口,不再有整份快照覆写丢失)。
685
715
  * 返回 `{capped:false}` 时未发生任何裁剪(正常场景,消息数未超上限)。
686
716
  *
687
717
  * **RFC-321 R5——返回语义是"尽力裁"而非"裁到 maxMessages"**:裁剪永不跨越活跃
@@ -692,6 +722,8 @@ declare class InMemorySession<T = unknown> implements Session<T> {
692
722
  * @returns `capped`/`removedCount` 同前;`boundaryLimited` = 因边界保护提前停止;
693
723
  * `activeOversized` = 边界前死历史已裁尽、**活跃区自身仍超限**(RFC-321 D1-a′ 逃生阀
694
724
  * 信号,供上层请求强制压缩;M1 只产出信号,消费方接线属 M2/T320-08b)。
725
+ *
726
+ * RFC-393 M3:实现委托给 {@link ResidencyPolicy}(计数器 owner 仍为本类)。
695
727
  */
696
728
  capStoredHistory(maxMessages: number, canStartHistory?: (msg: T) => boolean): {
697
729
  capped: boolean;
@@ -710,9 +742,11 @@ declare class InMemorySession<T = unknown> implements Session<T> {
710
742
  *
711
743
  * 判据:活跃边界之前的 message 条目数 < 需要移除的条数。无活跃边界时,边界前死历史
712
744
  * 视为 0——即任何裁剪都会触及活跃上下文,恒返回 true(这正是最该先压缩的场景)。
745
+ *
746
+ * RFC-393 M3:实现委托给 {@link ResidencyPolicy}。
713
747
  */
714
748
  wouldTrimTouchActiveContext(targetMessages: number): boolean;
715
- /** 同上,字节口径(供 `capStoredHistoryByBytes` 的前置判定)。 */
749
+ /** 同上,字节口径(供 `capStoredHistoryByBytes` 的前置判定)。RFC-393 M3:委托给 policy。 */
716
750
  wouldByteTrimTouchActiveContext(targetBytes: number): boolean;
717
751
  /**
718
752
  * RFC-178 D3 硬段:把存储的会话历史按**字节估算**收紧到 maxBytes 以内(从最早的消息条目
@@ -724,6 +758,8 @@ declare class InMemorySession<T = unknown> implements Session<T> {
724
758
  *
725
759
  * **RFC-321 R4/R5**:同样受活跃 compaction 边界保护、同样是"尽力裁"语义,返回字段与
726
760
  * `capStoredHistory` 同构(`activeOversized` 此处按字节口径判定:裁后估算字节仍超预算)。
761
+ *
762
+ * RFC-393 M3:实现委托给 {@link ResidencyPolicy}。
727
763
  */
728
764
  capStoredHistoryByBytes(maxBytes: number, canStartHistory?: (msg: T) => boolean): {
729
765
  capped: boolean;
@@ -731,28 +767,6 @@ declare class InMemorySession<T = unknown> implements Session<T> {
731
767
  boundaryLimited: boolean;
732
768
  activeOversized: boolean;
733
769
  };
734
- /**
735
- * 共享裁剪循环(条数/字节两模式复用):从 sessionEntries 头部移除 removeCount 条 message
736
- * 条目,随后按 canStartHistory 谓词继续移除至工具边界对齐(保留区第一条非孤儿
737
- * tool_result)。每次移除同步递减字节估算(RFC-178 D2 路径 2)。
738
- *
739
- * **RFC-321 R4(边界即止,不可削弱)**:裁剪**永不跨越活跃 compaction 边界**——遇到
740
- * 该边界即停止,宁可少裁(`removed < removeCount`)也不破坏 branch 链完整性。
741
- *
742
- * 修复前的缺陷(RFC-321 P1-a,实证):本循环只按 `type === 'message'` 从头部 splice,
743
- * 既不感知 compaction 边界、也不修复被删条目后继的 `parentId`。一旦裁剪深度超过边界前的
744
- * 死历史条数,边界条目的 `parentId` 就会指向已删 id → `walkBranch` 回溯撞空提前截断 →
745
- * 边界不在 branch 上 → `buildContext` 走 `lastBoundaryIndex === -1` 分支 → **summary 静默
746
- * 丢失**(模型上下文降级,用户与日志均无信号)。主要可达面是 `ResidencyGovernor` 的
747
- * critical 档(cap 除以 4,`residency-governor.ts`)——内存压力下恰恰最可能触发。
748
- *
749
- * 边界之前的条目全是"已被摘要替换的死历史",边界之后是模型仍在用的活跃上下文;以边界
750
- * 为界即把"裁剪只能裁死历史"从时序假设变成**结构不变式**(不再依赖上游触发器配合)。
751
- *
752
- * @returns `removed` 实际移除条数(可能 < removeCount);`boundaryLimited` 是否因边界
753
- * 保护提前停止(诊断用,非错误)。
754
- */
755
- private removeOldestMessages;
756
770
  setTags(tags: string[]): void;
757
771
  addTag(tag: string): void;
758
772
  restoreEntries(entries: SessionEntry<T>[], meta: SessionMetadata, restoredLeafId?: string): void;
@@ -772,6 +786,96 @@ declare class InMemorySession<T = unknown> implements Session<T> {
772
786
  private lastBoundaryIndex;
773
787
  }
774
788
  //#endregion
789
+ //#region src/residency-policy.d.ts
790
+ /**
791
+ * ResidencyPolicy 访问 InMemorySession 内部状态的窄接口。
792
+ * 由 session 以闭包实现(捕获私有字段),不暴露为 public 方法。
793
+ */
794
+ interface ResidencyPolicyHost<T> {
795
+ /** 活 entry 数组(policy 就地 splice 裁剪)。 */
796
+ getEntries(): SessionEntry<T>[];
797
+ /** entry id → entry 索引(policy 删除条目时同步清理)。 */
798
+ getEntryMap(): Map<string, SessionEntry<T>>;
799
+ /** 当前字节估算计数器(唯一 owner = session)。 */
800
+ getEstimatedBytes(): number;
801
+ setEstimatedBytes(n: number): void;
802
+ /** 当前消息条数计数器(唯一 owner = session)。 */
803
+ getMessageCount(): number;
804
+ setMessageCount(n: number): void;
805
+ /** 当前 leaf parent 链上最近的 compaction 边界 id(无则 undefined;clear 截断)。 */
806
+ getActiveCompactionId(): string | undefined;
807
+ }
808
+ interface ResidencyTrimResult {
809
+ capped: boolean;
810
+ removedCount: number;
811
+ boundaryLimited: boolean;
812
+ activeOversized: boolean;
813
+ }
814
+ declare class ResidencyPolicy<T> {
815
+ private readonly host;
816
+ constructor(host: ResidencyPolicyHost<T>);
817
+ /**
818
+ * 把存储的会话历史封顶到最近 maxMessages 条(删最早的消息条目,compaction/clear 边界
819
+ * 不参与计数、不被裁)。调用后 messageCount 重新派生。
820
+ *
821
+ * **RFC-321 R5——返回语义是"尽力裁"而非"裁到 maxMessages"**:裁剪永不跨越活跃
822
+ * compaction 边界(R4,见 removeOldestMessages),故 removedCount 可能小于所需,裁后
823
+ * 条数可能仍 > maxMessages。
824
+ */
825
+ capStoredHistory(maxMessages: number, canStartHistory?: (msg: T) => boolean): ResidencyTrimResult;
826
+ /**
827
+ * RFC-321 R12(M5 压缩前置):**只读预判**——把历史裁到 `targetMessages` 条是否会
828
+ * 触及活跃上下文(即边界前的死历史不够裁)。不做任何修改。
829
+ *
830
+ * 判据:活跃边界之前的 message 条目数 < 需要移除的条数。无活跃边界时,边界前死历史
831
+ * 视为 0——即任何裁剪都会触及活跃上下文,恒返回 true(这正是最该先压缩的场景)。
832
+ */
833
+ wouldTrimTouchActiveContext(targetMessages: number): boolean;
834
+ /** 同上,字节口径(供 capStoredHistoryByBytes 的前置判定)。 */
835
+ wouldByteTrimTouchActiveContext(targetBytes: number): boolean;
836
+ /**
837
+ * RFC-178 D3 硬段:把存储的会话历史按**字节估算**收紧到 maxBytes 以内(从最早的消息
838
+ * 条目开始裁,compaction/clear 边界不裁)。与 capStoredHistory(条数模式)共享同一裁剪
839
+ * 循环与工具边界对齐谓词。同为**纯内存防御**,DB append-forever 不受影响(RFC-159)。
840
+ *
841
+ * 保底护栏:无论多超限,保留区至少留 1 条消息(避免字节预算配置过小时清空整个会话视图)。
842
+ */
843
+ capStoredHistoryByBytes(maxBytes: number, canStartHistory?: (msg: T) => boolean): ResidencyTrimResult;
844
+ /**
845
+ * 计数器漂移校验:从 entries 全量重算字节估算,与增量计数器比对。
846
+ * O(n) 全量遍历,**勿在热路径调用**(lesson_54)。
847
+ *
848
+ * @returns 漂移量(`recomputed - counter`;0 = 无漂移)
849
+ */
850
+ verifyEstimatedContentBytes(): {
851
+ counter: number;
852
+ recomputed: number;
853
+ drift: number;
854
+ };
855
+ /**
856
+ * 共享裁剪循环(条数/字节两模式复用):从 entries 头部移除 removeCount 条 message
857
+ * 条目,随后按 canStartHistory 谓词继续移除至工具边界对齐(保留区第一条非孤儿
858
+ * tool_result)。每次移除同步递减字节估算(RFC-178 D2 路径 2)。
859
+ *
860
+ * **RFC-321 R4(边界即止,不可削弱)**:裁剪**永不跨越活跃 compaction 边界**——遇到
861
+ * 该边界即停止,宁可少裁(removed < removeCount)也不破坏 branch 链完整性。
862
+ *
863
+ * 修复前的缺陷(RFC-321 P1-a,实证):本循环只按 type === 'message' 从头部 splice,
864
+ * 既不感知 compaction 边界、也不修复被删条目后继的 parentId。一旦裁剪深度超过边界前的
865
+ * 死历史条数,边界条目的 parentId 就会指向已删 id → walkBranch 回溯撞空提前截断 →
866
+ * 边界不在 branch 上 → buildContext 走 lastBoundaryIndex === -1 分支 → **summary 静默
867
+ * 丢失**(模型上下文降级,用户与日志均无信号)。主要可达面是 ResidencyGovernor 的
868
+ * critical 档(cap 除以 4,residency-governor.ts)——内存压力下恰恰最可能触发。
869
+ *
870
+ * 边界之前的条目全是"已被摘要替换的死历史",边界之后是模型仍在用的活跃上下文;以边界
871
+ * 为界即把"裁剪只能裁死历史"从时序假设变成**结构不变式**(不再依赖上游触发器配合)。
872
+ *
873
+ * @returns `removed` 实际移除条数(可能 < removeCount);`boundaryLimited` 是否因边界
874
+ * 保护提前停止(诊断用,非错误)。
875
+ */
876
+ private removeOldestMessages;
877
+ }
878
+ //#endregion
775
879
  //#region src/message-bytes.d.ts
776
880
  /**
777
881
  * message-bytes.ts — RFC-178 D2:消息内容字节估算(会话驻留治理的字节维度口径)。
@@ -793,10 +897,18 @@ declare class InMemorySession<T = unknown> implements Session<T> {
793
897
  declare function estimateMessageContentBytes(message: unknown): number;
794
898
  //#endregion
795
899
  //#region src/store.d.ts
900
+ /**
901
+ * 内存会话容器(活 Session 持有者)。注意与 {@link InMemorySessionPersistence} 区分:
902
+ * 本类是 `SessionStore` 实现——持有 InMemorySession 实例、提供 create/get/list/delete/fork;
903
+ * InMemorySessionPersistence 是 `SessionPersistence` 实现——存取 SessionSnapshot 信封。
904
+ * 两者都叫 "InMemory" 但服务不同契约(活对象 vs 快照存取)。
905
+ */
796
906
  declare class InMemorySessionStore<T = unknown> implements SessionStore<T> {
797
907
  private readonly sessions;
798
908
  private readonly ports?;
799
909
  constructor(ports?: InMemorySessionPorts);
910
+ /** 会话 id 生成走注入端口(M-2 确定性),缺省 fallback 安全随机(与 InMemorySession 同纪律)。 */
911
+ private newId;
800
912
  createSession(id?: string): Promise<Session<T>>;
801
913
  getSession(id: string): Session<T> | undefined;
802
914
  listSessions(): ReadonlyArray<Session<T>>;
@@ -808,7 +920,11 @@ declare function createInMemorySessionStore<T = unknown>(ports?: InMemorySession
808
920
  //#endregion
809
921
  //#region src/memory-persistence.d.ts
810
922
  /**
811
- * 内存态会话持久化。复用内核抽象基类 {@link MemoryPersistenceBase},仅声明 `extractId` +
923
+ * 内存态会话持久化(SessionSnapshot 存取)。注意与 {@link InMemorySessionStore} 区分:
924
+ * 本类是 `SessionPersistence` 实现——存取 SessionSnapshot 信封(save/load/delete/list);
925
+ * InMemorySessionStore 是 `SessionStore` 实现——持有活 InMemorySession 实例。
926
+ * 两者都叫 "InMemory" 但服务不同契约(快照存取 vs 活对象容器)。
927
+ * 复用内核抽象基类 {@link MemoryPersistenceBase},仅声明 `extractId` +
812
928
  * 按 `SessionMetadata`(lastActiveAt/createdAt)取排序值——与 File/Remote 同款薄子类模式。
813
929
  * 内核已统一 save/load/delete/list/listPaginated 实现(M2-02,路径 A)。
814
930
  */
@@ -820,34 +936,6 @@ declare class InMemorySessionPersistence<T = unknown> extends MemoryPersistenceB
820
936
  listRecentMeta(limit: number): Promise<string[]>;
821
937
  }
822
938
  //#endregion
823
- //#region src/file-persistence.d.ts
824
- interface FileSessionPersistenceOptions {
825
- baseDir: string;
826
- }
827
- /**
828
- * @deprecated blob session persistence replaced by RelationalSessionPersistence。
829
- * 仅保留为 OTTO_SESSION_BLOB=1 逃生口;关系路径线上跑稳后删除。
830
- */
831
- declare class FileSessionPersistence<T = unknown> extends DiskPersistence<SessionSnapshot<T>> implements SessionPersistence<T> {
832
- /**
833
- * RFC-305 M3:文件后端整份快照覆写(非游标增量)→ 'snapshot'。该后端仅为
834
- * OTTO_SESSION_BLOB=1 逃生口(M63 已废弃,跑稳后删除),节流语义与 remote 一致。
835
- */
836
- readonly turnFlush: "snapshot";
837
- private readonly sessionBaseDir;
838
- private readonly sessionExtension;
839
- constructor(options: FileSessionPersistenceOptions);
840
- protected extractId(snapshot: SessionSnapshot<T>): string;
841
- /**
842
- * RFC-154 D1(blob 逃生口实现):单文件即整个 snapshot(entries+metadata 打包),无法像
843
- * SQLite 那样只读元数据列——只能先按 mtime(lastActiveAt 代理值)排序,再逐个 load() 直到
844
- * 凑够 limit 个非归档会话。比"全量 load 后排序"仍更省:mtime 排序在前,命中 limit 后即
845
- * 停止读取,不会读到排序靠后但从不会被选中的文件。该路径 M63 起标记弃用,不追求极致优化
846
- * (RFC-154 §3 D1)。
847
- */
848
- listRecentMeta(limit: number): Promise<string[]>;
849
- }
850
- //#endregion
851
939
  //#region src/session-repository.d.ts
852
940
  /**
853
941
  * SessionRepository — 会话关系化仓储(row 级,结构类型)。
@@ -907,6 +995,33 @@ interface EntryRow extends EntryInput {
907
995
  /** 会话内插入序(规则0:≠ change_log 游标)。 */
908
996
  readonly seq: number;
909
997
  }
998
+ /**
999
+ * touchSession 的 options 对象(RFC-393 M1:从 9 位置参数收拢)。
1000
+ *
1001
+ * COALESCE 语义保持不变:缺省(undefined)的字段不覆盖既有值。
1002
+ * leaf_id 悬空防护独立于 COALESCE——校验通过才写,否则走 leafPersisted=false 分支。
1003
+ */
1004
+ interface TouchSessionOptions {
1005
+ id: string;
1006
+ leafId?: string;
1007
+ lastActiveAt: number;
1008
+ title?: string;
1009
+ titleSource?: 'custom' | 'ai' | 'derived';
1010
+ config?: unknown;
1011
+ archived?: boolean;
1012
+ pinned?: boolean;
1013
+ pinGroup?: string;
1014
+ }
1015
+ /**
1016
+ * 仓储层归档能力接口(RFC-393 M2:统一能力接口模式,范式 = ReplacementHydrationCapable)。
1017
+ * 只有 SQLite 后端实现(SqliteSessionRepository)。消费方用 {@link supportsArchive} 探测。
1018
+ */
1019
+ interface ArchiveCapable {
1020
+ archiveSession(sessionId: string): Promise<string>;
1021
+ restoreArchivedSession(sessionId: string): Promise<number>;
1022
+ }
1023
+ /** 能力探测(类型守卫)。 */
1024
+ declare function supportsArchive(repo: unknown): repo is ArchiveCapable;
910
1025
  interface SessionRepository {
911
1026
  createSession(row: SessionRow): Promise<void>;
912
1027
  /**
@@ -942,7 +1057,7 @@ interface SessionRepository {
942
1057
  * sqlite-session-repository.ts 实现注释的完整事故分析)。
943
1058
  * @returns `leafPersisted` — 本次传入的 `leafId` 是否真的被采纳写入(false = 悬空,已拒绝覆盖)。
944
1059
  */
945
- touchSession(id: string, leafId: string | undefined, lastActiveAt: number, title?: string, titleSource?: 'custom' | 'ai' | 'derived', config?: unknown, archived?: boolean, pinned?: boolean, pinGroup?: string): Promise<{
1060
+ touchSession(options: TouchSessionOptions): Promise<{
946
1061
  leafPersisted: boolean;
947
1062
  }>;
948
1063
  getSession(id: string): Promise<SessionRow | null>;
@@ -1300,6 +1415,26 @@ declare const SESSION_IDLE_TIMEOUT_MS: number;
1300
1415
  declare const SESSION_MAX: number;
1301
1416
  declare const SESSION_PAGE_SIZE: number;
1302
1417
  declare const SESSION_SNAPSHOT_VERSION: number;
1418
+ /**
1419
+ * session_entries.type 白名单(RFC-393 P2 收尾:entry 类型注册表最小落地)。
1420
+ * 写侧(appendEntry)校验白名单,防 bug/外部导入写入垃圾 type 行;
1421
+ * 读侧(rowToEntry)未知 type 自然被消费方过滤(无害,无需拒绝)。
1422
+ * 未来新增 entry 类型时必须同时加到此白名单(防漂移规则:新增类型 = 白名单 + 序列化双改动)。
1423
+ */
1424
+ declare const SESSION_ENTRY_TYPES: readonly ["message", "compaction", "clear", "compaction-lock"];
1425
+ /** 类型守卫:entry type 是否在白名单内。 */
1426
+ declare function isKnownSessionEntryType(type: string): boolean;
1427
+ /**
1428
+ * 面板态持久化上限(RFC-393 M1:从 in-memory-session.ts 硬编码收拢为常量)。
1429
+ * 防止面板态无界增长;超出截断(最新在前或最新在末尾取决于面板语义)。
1430
+ */
1431
+ declare const PANEL_STATE_LIMITS: {
1432
+ /** 编辑文件面板:最新在前,max 50 条。 */readonly editedFiles: 50; /** 子代理面板:stat-only,max 100 条。 */
1433
+ readonly subagents: 100; /** 回合摘要面板:最新在末尾,max 200 条。 */
1434
+ readonly turnSummaries: 200; /** 草稿面板:max 50 条。 */
1435
+ readonly drafts: 50; /** 输入历史(@deprecated RFC-088 M4b):最近在末尾,max 100 条。 */
1436
+ readonly inputHistory: 100;
1437
+ };
1303
1438
  //#endregion
1304
1439
  //#region src/sqlite-session-repository.d.ts
1305
1440
  /**
@@ -1320,21 +1455,18 @@ interface SqliteSessionRepositoryOptions {
1320
1455
  */
1321
1456
  declare class SqliteSessionRepository implements SessionRepository {
1322
1457
  private readonly db;
1323
- private readonly archiveDir;
1458
+ /** RFC-393 P1-4:归档格式编排下沉独立类(gzip/jsonl/目录 + 幂等 append),本类只组合委托。 */
1459
+ private readonly archiveStore;
1324
1460
  /** RFC-345:内存会话(dbPath=':memory:')——归档不落盘(磁盘零写;:memory: 无跨重启需求)。 */
1325
1461
  private readonly ephemeral;
1326
1462
  constructor(options: SqliteSessionRepositoryOptions);
1327
1463
  close(): void;
1328
- /** RFC-324 D4 M4:归档——把会话的全部 entries 读出,逐行写入 .jsonl.gzgzip 压缩)。
1329
- * 不删除 entries 行(RFC-159 R4 红线),只标记 archived=1 + 复制到外部文件。
1330
- * 返回值:归档文件路径。 */
1464
+ /** RFC-324 D4 M4:归档——委托 {@link SessionArchiveStore}RFC-393 P1-4 下沉)。 */
1331
1465
  archiveSession(sessionId: string): Promise<string>;
1332
- /** RFC-324 D4 M4:恢复——从 .jsonl.gz 读回并重建 entries(RFC-159 append-forever)
1333
- * 已有的 entries 不删(幂等 append 可能产生重复,appendEntry 幂等去重可容忍),
1334
- * 仅当 DB 中的条目数 < 归档条目数时追加缺失部分。 */
1466
+ /** RFC-324 D4 M4:恢复——委托 {@link SessionArchiveStore}(RFC-393 P1-4 下沉)。 */
1335
1467
  restoreArchivedSession(sessionId: string): Promise<number>;
1336
1468
  createSession(row: SessionRow): Promise<void>;
1337
- touchSession(id: string, leafId: string | undefined, lastActiveAt: number, title?: string, titleSource?: 'custom' | 'ai' | 'derived', config?: unknown, archived?: boolean, pinned?: boolean, pinGroup?: string): Promise<{
1469
+ touchSession(options: TouchSessionOptions): Promise<{
1338
1470
  leafPersisted: boolean;
1339
1471
  }>;
1340
1472
  getSession(id: string): Promise<SessionRow | null>;
@@ -1378,6 +1510,37 @@ declare class SqliteSessionRepository implements SessionRepository {
1378
1510
  private batchInQuery;
1379
1511
  }
1380
1512
  //#endregion
1513
+ //#region src/session-archive-store.d.ts
1514
+ interface SessionArchiveStoreDeps {
1515
+ /** 归档目录(与 dbPath 同级的 archives/ 子目录)。 */
1516
+ archiveDir: string;
1517
+ /** 内存会话(:memory:)——归档不落盘(磁盘零写;:memory: 无跨重启需求)。 */
1518
+ ephemeral?: boolean;
1519
+ loadEntries(sessionId: string): Promise<EntryRow[]>;
1520
+ appendEntry(sessionId: string, entry: EntryInput): Promise<number>;
1521
+ /** 标记/清除 archived 标志(只改 archived 列,不动 lastActiveAt——管理动作非活动,RFC-159 判据)。 */
1522
+ setArchived(sessionId: string, archived: boolean): void;
1523
+ }
1524
+ /**
1525
+ * 会话冷归档:entries 复制到外部 .jsonl.gz + 标 archived=1(不删除 DB 行,RFC-159 R4)。
1526
+ * 恢复:从 .jsonl.gz 读回并幂等 append 缺失部分(appendEntry 幂等去重可容忍重复)。
1527
+ */
1528
+ declare class SessionArchiveStore {
1529
+ private readonly archiveDir;
1530
+ private readonly ephemeral;
1531
+ private readonly deps;
1532
+ constructor(options: SessionArchiveStoreDeps);
1533
+ private archivePath;
1534
+ /** RFC-324 D4 M4:归档——把会话的全部 entries 读出,逐行写入 .jsonl.gz(gzip 压缩)。
1535
+ * 不删除 entries 行(RFC-159 R4 红线),只标记 archived=1 + 复制到外部文件。
1536
+ * 返回值:归档文件路径。 */
1537
+ archiveSession(sessionId: string): Promise<string>;
1538
+ /** RFC-324 D4 M4:恢复——从 .jsonl.gz 读回并重建 entries(RFC-159 append-forever)
1539
+ * 已有的 entries 不删(幂等 append 可能产生重复,appendEntry 幂等去重可容忍),
1540
+ * 仅当 DB 中的条目数 < 归档条目数时追加缺失部分。 */
1541
+ restoreArchivedSession(sessionId: string): Promise<number>;
1542
+ }
1543
+ //#endregion
1381
1544
  //#region src/remote-persistence.d.ts
1382
1545
  interface RemoteSessionPersistenceOptions {
1383
1546
  baseUrl: string;
@@ -1421,5 +1584,5 @@ declare class RemoteSessionPersistence<T = unknown> extends RemotePersistence<Se
1421
1584
  listRecentMeta(limit: number): Promise<string[]>;
1422
1585
  }
1423
1586
  //#endregion
1424
- export { type DraftEntry, type EditedFile, type EntryInput, type EntryRow, FileSessionPersistence, type FileSessionPersistenceOptions, InMemorySession, InMemorySessionPersistence, InMemorySessionStore, type LeaseInspection, type PaginationOptions, type PanelWriteOptions, type PersistedSessionConfig, type ReassembleOptions, RelationalSessionPersistence, RemotePersistenceError, RemoteSessionPersistence, type RemoteSessionPersistenceOptions, RemoteSnapshotConflictError, type ReplacementHydrationCapable, SESSION_IDLE_TIMEOUT_MS, SESSION_MAX, SESSION_MIGRATIONS, SESSION_PAGE_SIZE, SESSION_SNAPSHOT_VERSION, type Session, type SessionContext, type SessionEntry, type SessionEntryType, type SessionMetadata, type SessionPersistence, type SessionRepository, type SessionRow, type SessionSnapshot, type SessionStore, SessionWriteLeaseDeniedError, type SessionWriteLeaseManager, type SessionWriteLeaseOptions, SqliteSessionRepository, type SqliteSessionRepositoryOptions, type SubagentEntry, type TodoItem, type TurnSummaryEntry, createInMemorySessionStore, createNoopSessionWriteLeaseManager, createSessionWriteLeaseManager, decodeReplacementFromBlobs, encodeReplacementToBlobs, entryToInput, estimateMessageContentBytes, explodeSnapshot, hasStrippedReplacements, hashMessageContent, hydrateStrippedReplacements, reassembleSnapshot, rowToEntry, sessionRowFromSnapshot, supportsReplacementHydration };
1587
+ export { type ArchiveCapable, type DraftEntry, type EditedFile, type EntryInput, type EntryRow, InMemorySession, InMemorySessionPersistence, InMemorySessionStore, type LeaseInspection, PANEL_STATE_LIMITS, type PaginationOptions, type PanelWriteOptions, type PersistedSessionConfig, type ReassembleOptions, RelationalSessionPersistence, RemotePersistenceError, RemoteSessionPersistence, type RemoteSessionPersistenceOptions, RemoteSnapshotConflictError, type ReplacementHydrationCapable, ResidencyPolicy, type ResidencyPolicyHost, type ResidencyTrimResult, SESSION_ENTRY_TYPES, SESSION_IDLE_TIMEOUT_MS, SESSION_MAX, SESSION_MIGRATIONS, SESSION_PAGE_SIZE, SESSION_SNAPSHOT_VERSION, type Session, SessionArchiveStore, type SessionArchiveStoreDeps, type SessionContext, type SessionEntry, type SessionEntryType, type SessionMetadata, type SessionPanelState, type SessionPersistence, type SessionRepository, type SessionRow, type SessionSnapshot, type SessionStore, SessionWriteLeaseDeniedError, type SessionWriteLeaseManager, type SessionWriteLeaseOptions, SqliteSessionRepository, type SqliteSessionRepositoryOptions, type SubagentEntry, type TodoItem, type TouchSessionOptions, type TurnSummaryEntry, createInMemorySessionStore, createNoopSessionWriteLeaseManager, createSessionWriteLeaseManager, decodeReplacementFromBlobs, encodeReplacementToBlobs, entryToInput, estimateMessageContentBytes, explodeSnapshot, hasStrippedReplacements, hashMessageContent, hydrateStrippedReplacements, isKnownSessionEntryType, reassembleSnapshot, rowToEntry, sessionRowFromSnapshot, supportsArchive, supportsReplacementHydration };
1425
1588
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/in-memory-session.ts","../src/message-bytes.ts","../src/store.ts","../src/memory-persistence.ts","../src/file-persistence.ts","../src/session-repository.ts","../src/session-write-lease.ts","../src/relational-session-persistence.ts","../src/relational-bridge.ts","../src/replacement-blob-codec.ts","../src/replacement-hydrator.ts","../src/constants.ts","../src/sqlite-session-repository.ts","../src/remote-persistence.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/in-memory-session.ts","../src/residency-policy.ts","../src/message-bytes.ts","../src/store.ts","../src/memory-persistence.ts","../src/session-repository.ts","../src/session-write-lease.ts","../src/relational-session-persistence.ts","../src/relational-bridge.ts","../src/replacement-blob-codec.ts","../src/replacement-hydrator.ts","../src/constants.ts","../src/sqlite-session-repository.ts","../src/session-archive-store.ts","../src/remote-persistence.ts"],"mappings":"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"}