@deepseek-ai/dsh-session-checkpoint-policy 0.1.2-rc.1 → 0.1.3-alpha.2

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-checkpoint-policy/README.md
5
- README.md: 76ee46a791123908815cb34a3fa0602c8e40645b
6
- README.zh.md: 2302c7b70a66c050b430cb74cfd9bd115cdc6b79
5
+ README.md: 3613bb76ed218693e4ceb95ba2e20724bebe83aa
6
+ README.zh.md: 220c14a0a486508d2943bd8c8419ae82a2d5b176
package/README.md CHANGED
@@ -9,7 +9,7 @@ English | [中文](README.zh.md)
9
9
 
10
10
  ## Summary
11
11
 
12
- `dsh-session-checkpoint-policy` is a zero-config plugin that makes a persisted session durable at the moments that matter: before a model request reaches the adapter, before a top-level tool body can produce an external side effect, and at each step boundary so the preceding response and tool results are stored before the next request. Load it beside one persistence backend, and a crash after any checkpoint resumes with the recorded work — a request, a tool call, or a completed step — instead of losing it. The policy adds no prompt, tool schema, or configuration; checkpoint failures are fail-closed, so neither the adapter nor a top-level tool body runs when the durable write cannot be confirmed. Streaming `assistant/chunk` events get no per-chunk checkpoint, and a persisted call without a result records an unknown outcome rather than retrying automatically.
12
+ `dsh-session-checkpoint-policy` is a zero-config plugin that makes a persisted session durable at the moments that matter: before a model request reaches the adapter, before a top-level tool body can produce an external side effect, and at each step boundary so the preceding response and tool results are stored before the next request. Load it beside one persistence backend, and a crash after any checkpoint resumes with the recorded work — a request, a tool call, or a completed step — instead of losing it. The policy adds no prompt, tool schema, or configuration; checkpoint failures are fail-closed, so neither the adapter nor a top-level tool body runs when the durable write cannot be confirmed. Live Assistant frames are transient until one `assistant/message` or `assistant/attempt` settlement commits the compact stream, and a persisted call without a result records an unknown outcome rather than retrying automatically.
13
13
 
14
14
  ## Table of Contents
15
15
 
@@ -113,7 +113,7 @@ The repair result is appended after the reusable prefix, so it does not invalida
113
113
  These limits define where the policy's durability guarantee stops. They are current package constraints, not a task backlog.
114
114
 
115
115
  - **Durable execution intent, not exactly-once effects** — the policy records that a call was dispatched, not that its external effect completed. Side-effecting tools should forward `exec.callId` as an idempotency key when their provider supports one.
116
- - **No per-chunk checkpoint for streaming** — `assistant/chunk` events rely on bounded background batches; a hard crash may lose the current in-memory batch or outstanding write.
116
+ - **No checkpoint inside an active model attempt** — a hard crash may lose transient Assistant frames that have not reached their durable `assistant/message` or `assistant/attempt` settlement.
117
117
  - **Unknown outcome, not automatic retry** — a persisted call without a result cannot prove whether its external effect completed, so recovery records an unknown outcome instead of retrying.
118
118
 
119
119
  <a id="dev-note"></a>
package/README.zh.md CHANGED
@@ -9,7 +9,7 @@ kind: "package-reference"
9
9
 
10
10
  ## 概述
11
11
 
12
- `dsh-session-checkpoint-policy` 是一个零配置插件,让持久化会话在关键时刻变得持久:模型请求到达适配器之前、顶层工具正文可能产生外部副作用之前,以及每个步骤边界——使前一响应与工具结果在下一个请求前已存储。把它与一个持久化后端一起加载后,任何检查点之后的崩溃都能恢复已记录的工作——请求、工具调用或已完成步骤——而不会丢失。该策略不添加提示词、工具 schema 或配置;检查点失败按失败即阻止原则处理,因此在无法确认持久写入时,适配器与顶层工具正文都不会运行。流式 `assistant/chunk` 事件没有逐分片检查点,而没有结果的持久调用会记录为未知结果,而不是自动重试。
12
+ `dsh-session-checkpoint-policy` 是一个零配置插件,让持久化会话在关键时刻变得持久:模型请求到达适配器之前、顶层工具正文可能产生外部副作用之前,以及每个步骤边界——使前一响应与工具结果在下一个请求前已存储。把它与一个持久化后端一起加载后,任何检查点之后的崩溃都能恢复已记录的工作——请求、工具调用或已完成步骤——而不会丢失。该策略不添加提示词、工具 schema 或配置;检查点失败按失败即阻止原则处理,因此在无法确认持久写入时,适配器与顶层工具正文都不会运行。实时 Assistant frame 在一个 `assistant/message` 或 `assistant/attempt` settlement 提交紧凑 stream 前保持瞬态,而没有结果的持久调用会记录为未知结果,而不是自动重试。
13
13
 
14
14
  ## 目录
15
15
 
@@ -113,7 +113,7 @@ kind: "package-reference"
113
113
  这些限制界定本策略持久性保证的终点。它们是当前包约束,不是任务积压。
114
114
 
115
115
  - **持久记录执行意图,而非恰好一次副作用**——策略记录的是调用已分派,而非其外部副作用已完成。当提供方支持时,有副作用的工具应将 `exec.callId` 作为幂等键转发。
116
- - **流式内容没有逐分片检查点**——`assistant/chunk` 事件依赖有界后台批次;硬崩溃可能丢失当前内存批次或尚未完成的写入。
116
+ - **活跃模型 attempt 内没有检查点**——硬崩溃可能丢失尚未进入持久 `assistant/message` 或 `assistant/attempt` settlement 的瞬态 Assistant frame。
117
117
  - **记录未知结果,而非自动重试**——没有结果的持久调用无法证明其外部副作用是否完成,因此恢复记录未知结果,而不是自动重试。
118
118
 
119
119
  <a id="dev-note"></a>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-session-checkpoint-policy",
3
3
  "description": "Semantic session durability checkpoints before model requests and tool side effects",
4
- "version": "0.1.2-rc.1",
4
+ "version": "0.1.3-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -27,25 +27,25 @@
27
27
  ],
28
28
  "license": "MIT",
29
29
  "peerDependencies": {
30
- "@deepseek-ai/dsh-agent": "^0.1.2-rc.1",
31
- "@deepseek-ai/dsh-llm": "^0.1.2-rc.1",
30
+ "@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
31
+ "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
32
+ "@deepseek-ai/dsh-session-persistence": "^0.1.3-alpha.2",
33
+ "@deepseek-ai/dsh-tools": "^0.1.3-alpha.2",
32
34
  "@deepseek-ai/cordis": "^4.0.2",
33
- "@deepseek-ai/dsh-session": "^0.1.2-rc.1",
34
- "@deepseek-ai/dsh-session-persistence": "^0.1.2-rc.1",
35
- "@deepseek-ai/dsh-tools": "^0.1.2-rc.1"
35
+ "@deepseek-ai/dsh-llm": "^0.1.3-alpha.2"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@deepseek-ai/cordis": "^4.0.2",
39
+ "@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
40
+ "@deepseek-ai/dsh-agent-loop": "^0.1.3-alpha.2",
39
41
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
40
- "@deepseek-ai/dsh-agent": "^0.1.2-rc.1",
41
- "@deepseek-ai/dsh-agent-loop": "^0.1.2-rc.1",
42
- "@deepseek-ai/dsh-agent-loop-testkit": "^0.1.2-rc.1",
43
- "@deepseek-ai/dsh-llm": "^0.1.2-rc.1",
44
- "@deepseek-ai/dsh-session": "^0.1.2-rc.1",
45
- "@deepseek-ai/dsh-session-persistence": "^0.1.2-rc.1",
46
- "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.2-rc.1",
47
- "@deepseek-ai/dsh-session-projection": "^0.1.2-rc.1",
48
- "@deepseek-ai/dsh-system-prompt": "^0.1.2-rc.1",
49
- "@deepseek-ai/dsh-tools": "^0.1.2-rc.1"
42
+ "@deepseek-ai/dsh-agent-loop-testkit": "^0.1.3-alpha.2",
43
+ "@deepseek-ai/dsh-llm": "^0.1.3-alpha.2",
44
+ "@deepseek-ai/dsh-session-persistence": "^0.1.3-alpha.2",
45
+ "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.3-alpha.2",
46
+ "@deepseek-ai/dsh-session-projection": "^0.1.3-alpha.2",
47
+ "@deepseek-ai/dsh-system-prompt": "^0.1.3-alpha.2",
48
+ "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
49
+ "@deepseek-ai/dsh-tools": "^0.1.3-alpha.2"
50
50
  }
51
51
  }