@deepseek-ai/dsh-session-persistence 0.1.3-alpha.2 → 0.1.5-alpha.1

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/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/session/session-persistence/README.md
5
- README.md: 4b00eaf9f5692011a223c60449cb8e064d78d42e
6
- README.zh.md: 54907864585245502b9b0fe0e030ac151af80231
5
+ README.md: cbc57651ff17801e75bf8cccafb44e1a3df69e7d
6
+ README.zh.md: 4fa3ae43de8f0be50afb498f87a9ceaa2a2c23c7
package/README.md CHANGED
@@ -9,7 +9,7 @@ English | [中文](README.zh.md)
9
9
 
10
10
  ## Summary
11
11
 
12
- `dsh-session-persistence` stores a session's event log durably and addresses each stored session through one per-session handle: the backend-neutral service (`ctx.sessionPersistence`) exposes `create`/`open`/`stat`/`list`, and `create`/`open` return a `SessionHandle` that carries every log read and write plus single-writer ownership. The persisted unit is the existing `SessionEvent` log — there is no parallel stored message type — and non-replayable metadata (format version, working directory, lineage, seed boundary) travels separately as `SessionHeader`. Backends own their storage, the seam owns the semantics: append-only contiguous logs, best-effort appends behind an explicit `flush` durability barrier, a torn physical tail that never reaches a reader, fail-closed validation of stored records, and in-process exclusion of a second writer. Mount the shipped [JSONL backend](../session-persistence-jsonl/README.md) (one artifact per session) and agent-loop persists and resumes sessions without the loop or the model knowing which backend is underneath.
12
+ This package lets applications persist and resume session event logs through a backend-independent API. Readers can create, open, inspect, list, append to, read, flush, and close stored sessions while preserving contiguous append-only history. A completed flush is the durability barrier; readers never receive torn tails or invalid records, and only one writer per session is allowed within a backend instance. Use the shipped [JSONL backend](../session-persistence-jsonl/README.md) for one compressed log per session, or implement another backend with the same observable guarantees.
13
13
 
14
14
  ## Table of Contents
15
15
 
package/README.zh.md CHANGED
@@ -9,7 +9,7 @@ kind: "package-reference"
9
9
 
10
10
  ## 概述
11
11
 
12
- `dsh-session-persistence` 持久存储会话的事件日志,并通过一个逐会话句柄寻址每个已存储会话:后端无关服务(`ctx.sessionPersistence`)暴露 `create`/`open`/`stat`/`list`,`create`/`open` 返回承载全部日志读写与单写者所有权的 `SessionHandle`。持久化单元就是现有 `SessionEvent` 日志——不存在另一套并行的存储消息类型——不可回放的元数据(格式版本、工作目录、血缘、种子边界)作为 `SessionHeader` 单独传输。后端拥有自己的存储,seam 拥有语义:仅追加的连续日志、以显式 `flush` 持久性屏障托底的尽力而为 append、绝不到达读取方的撕裂物理尾部、失败即关闭的存储记录校验,以及进程内排除第二个写入方。挂载随产品交付的 [JSONL 后端](../session-persistence-jsonl/README.zh.md)(每个会话一份产物),agent-loop 就会持久化并恢复会话,loop 与模型无需知道下面是哪个后端。
12
+ 本包让应用通过后端无关的 API 持久存储并恢复会话事件日志。读者可以创建、打开、检查、列出、追加、读取、刷新和关闭已存储会话,同时保持连续且仅追加的历史记录。只有完成 flush 才构成持久性屏障;读取方不会收到撕裂尾部或无效记录,并且每个后端实例内每个会话只允许一个写入方。若希望每个会话使用一份压缩日志,可选用随产品交付的 [JSONL 后端](../session-persistence-jsonl/README.zh.md);也可以实现具备相同可观察保证的其他后端。
13
13
 
14
14
  ## 目录
15
15
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-session-persistence",
3
3
  "description": "Abstract durable session persistence seam (ctx.sessionPersistence) for the DeepSeek Harness",
4
- "version": "0.1.3-alpha.2",
4
+ "version": "0.1.5-alpha.1",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -27,19 +27,19 @@
27
27
  ],
28
28
  "license": "MIT",
29
29
  "peerDependencies": {
30
- "@deepseek-ai/dsh-brand": "^0.1.3-alpha.2",
31
30
  "@deepseek-ai/cordis": "^4.0.2",
32
- "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
33
- "@deepseek-ai/dsh-timeout": "^0.1.3-alpha.2"
31
+ "@deepseek-ai/dsh-brand": "^0.1.5-alpha.1",
32
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.1",
33
+ "@deepseek-ai/dsh-timeout": "^0.1.5-alpha.1"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@deepseek-ai/cordis": "^4.0.2",
37
- "@deepseek-ai/dsh-brand": "^0.1.3-alpha.2",
38
- "@deepseek-ai/dsh-scope": "^0.1.3-alpha.2",
39
- "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
40
- "@deepseek-ai/dsh-timeout": "^0.1.3-alpha.2"
37
+ "@deepseek-ai/dsh-scope": "^0.1.5-alpha.1",
38
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.1",
39
+ "@deepseek-ai/dsh-timeout": "^0.1.5-alpha.1",
40
+ "@deepseek-ai/dsh-brand": "^0.1.5-alpha.1"
41
41
  },
42
42
  "dependencies": {
43
- "@deepseek-ai/dsh-util-values": "^0.1.3-alpha.2"
43
+ "@deepseek-ai/dsh-util-values": "^0.1.5-alpha.1"
44
44
  }
45
45
  }