@deepseek-ai/dsh-session-checkpoint-policy 0.1.2-rc.1 → 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-checkpoint-policy/README.md
5
- README.md: 76ee46a791123908815cb34a3fa0602c8e40645b
6
- README.zh.md: 2302c7b70a66c050b430cb74cfd9bd115cdc6b79
5
+ README.md: 9d44c4c43e2441d9fd02852bc34ef50314658da6
6
+ README.zh.md: e266c5f03640d3a40bd535b550647d2f30b19911
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
+ Use this package with a session persistence backend to make work durable before a model request, before a top-level tool can cause external effects, and before the next agent step begins. After each checkpoint, a crash can resume from stored requests, tool calls, responses, and results instead of losing them. Checkpoint failures are fail-closed: a model adapter or top-level tool body does not run until the durable write succeeds. The package has no configuration and adds no prompt or tool schema; unfinished Assistant streams remain transient, and interrupted tool calls recover with an unknown outcome instead of an automatic retry.
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
+ 将本包与会话持久化后端配合使用,可在模型请求之前、顶层工具可能产生外部副作用之前以及下一 agent 步骤开始之前持久记录工作。每个检查点之后的崩溃都能从已存储的请求、工具调用、响应与结果恢复,而不会丢失这些工作。检查点失败按失败即阻止原则处理:持久写入成功前,模型适配器或顶层工具正文不会运行。本包没有配置,也不添加提示词或工具 schema;未完成的 Assistant 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.5-alpha.1",
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.5-alpha.1",
32
31
  "@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"
32
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.1",
33
+ "@deepseek-ai/dsh-llm": "^0.1.5-alpha.1",
34
+ "@deepseek-ai/dsh-session-persistence": "^0.1.5-alpha.1",
35
+ "@deepseek-ai/dsh-tools": "^0.1.5-alpha.1"
36
36
  },
37
37
  "devDependencies": {
38
- "@deepseek-ai/cordis": "^4.0.2",
39
38
  "@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"
39
+ "@deepseek-ai/dsh-agent": "^0.1.5-alpha.1",
40
+ "@deepseek-ai/dsh-agent-loop": "^0.1.5-alpha.1",
41
+ "@deepseek-ai/dsh-agent-loop-testkit": "^0.1.5-alpha.1",
42
+ "@deepseek-ai/dsh-llm": "^0.1.5-alpha.1",
43
+ "@deepseek-ai/cordis": "^4.0.2",
44
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.1",
45
+ "@deepseek-ai/dsh-session-persistence": "^0.1.5-alpha.1",
46
+ "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.5-alpha.1",
47
+ "@deepseek-ai/dsh-session-projection": "^0.1.5-alpha.1",
48
+ "@deepseek-ai/dsh-system-prompt": "^0.1.5-alpha.1",
49
+ "@deepseek-ai/dsh-tools": "^0.1.5-alpha.1"
50
50
  }
51
51
  }