@deepseek-ai/dsh-session-title 0.1.0-rc.8 → 0.1.1-rc.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
@@ -3,4 +3,4 @@
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-title/README.md
5
5
  README.md: e923bd9700180214f235c4971d4b020565bfee43
6
- README.zh.md: 8e84ac27d9f1509c8530b838eeb5eb2216d87199
6
+ README.zh.md: 6b1eef269dea65c66c1e9a70ce9469c66d192e84
package/README.zh.md CHANGED
@@ -31,7 +31,7 @@ fork 出的会话会原样继承种子中的标题事件。首消息节奏不会
31
31
 
32
32
  提供方会提供带品牌类型的稳定 id、自动模式(`first-prompt` 或 `all-prompts`)和 `generate(request)`。请求携带活跃会话、截至一次固定修订的所有符合条件消息、可用时当前已记录的主请求路由,以及取消信号。结果包含非空标题、该请求中互不重复且有序的来源消息 seq,以及生成该标题时使用的可选提供方/模型路由。服务会在结果持久保存前进行规范化和验证。
33
33
 
34
- 参见[会话标题数据结构](../../../docs/subsystems/session-title.md)与[已实现决策](../../../.agents/notes/implemented/feature/2026-07-21-log-backed-session-titles.md)。
34
+ 参见[会话标题数据结构](../../../docs/subsystems/session-title.zh.md)与[已实现决策](../../../.agents/notes/implemented/feature/2026-07-21-log-backed-session-titles.zh.md)。
35
35
 
36
36
  ## 模型体验
37
37
 
package/lib/index.js CHANGED
@@ -175,12 +175,16 @@ var SessionTitleService = class extends Service {
175
175
  this.work.clear();
176
176
  }, "sessionTitle lifecycle");
177
177
  ctx.inject(["sessionProjections"], (projectionCtx) => {
178
+ const titleSchema = z$1.union([z$1.string().min(1), z$1.null()]);
178
179
  projectionCtx.sessionProjections.register({
179
180
  key: "title",
180
- schema: z$1.union([z$1.string().min(1), z$1.null()]),
181
+ stateSchema: titleSchema,
181
182
  init: () => null,
182
183
  apply: (state, event) => event.type === "session/title" ? event.data.title : state,
183
- view: (state) => state,
184
+ wire: {
185
+ viewSchema: titleSchema,
186
+ view: (state) => state
187
+ },
184
188
  stateVersion: 1
185
189
  });
186
190
  });
@@ -132,12 +132,13 @@ export class SessionTitleService extends Service {
132
132
  // string clients list rows read. The unit child activates only when a
133
133
  // projection registry is composed (headless assemblies stay unaffected).
134
134
  ctx.inject(['sessionProjections'], (projectionCtx) => {
135
+ const titleSchema = zod.union([zod.string().min(1), zod.null()]);
135
136
  projectionCtx.sessionProjections.register({
136
137
  key: 'title',
137
- schema: zod.union([zod.string().min(1), zod.null()]),
138
+ stateSchema: titleSchema,
138
139
  init: () => null,
139
140
  apply: (state, event) => (event.type === 'session/title' ? event.data.title : state),
140
- view: state => state,
141
+ wire: { viewSchema: titleSchema, view: state => state },
141
142
  stateVersion: 1,
142
143
  });
143
144
  });
@@ -9,6 +9,9 @@
9
9
  */
10
10
  export {};
11
11
  declare module '@deepseek-ai/dsh-session-projection/types' {
12
+ interface SessionProjectionStateMap {
13
+ title: string | null;
14
+ }
12
15
  interface SessionProjectionMap {
13
16
  /**
14
17
  * The session's current normalized title — the latest `session/title`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-session-title",
3
3
  "description": "Log-backed session title service and provider registry for the DeepSeek Harness",
4
- "version": "0.1.0-rc.8",
4
+ "version": "0.1.1-rc.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -41,25 +41,25 @@
41
41
  ],
42
42
  "license": "MIT",
43
43
  "peerDependencies": {
44
- "@deepseek-ai/dsh-brand": "^0.1.0-rc.8",
45
- "@deepseek-ai/dsh-invariants": "^0.1.0-rc.8",
46
- "@deepseek-ai/dsh-llm": "^0.1.0-rc.8",
47
- "@deepseek-ai/dsh-session-projection": "^0.1.0-rc.8",
48
- "@deepseek-ai/dsh-session": "^0.1.0-rc.8",
49
- "@deepseek-ai/cordis": "^4.0.1"
44
+ "@deepseek-ai/dsh-brand": "^0.1.1-rc.2",
45
+ "@deepseek-ai/dsh-llm": "^0.1.1-rc.2",
46
+ "@deepseek-ai/dsh-session-projection": "^0.1.1-rc.2",
47
+ "@deepseek-ai/cordis": "^4.0.1",
48
+ "@deepseek-ai/dsh-session": "^0.1.1-rc.2",
49
+ "@deepseek-ai/dsh-invariants": "^0.1.1-rc.2"
50
50
  },
51
51
  "dependencies": {
52
52
  "zod": "^4.4.3",
53
53
  "@deepseek-ai/schemastery": "^3.18.1"
54
54
  },
55
55
  "devDependencies": {
56
- "@deepseek-ai/dsh-brand": "^0.1.0-rc.8",
57
- "@deepseek-ai/dsh-invariants": "^0.1.0-rc.8",
58
- "@deepseek-ai/dsh-llm": "^0.1.0-rc.8",
59
- "@deepseek-ai/dsh-session": "^0.1.0-rc.8",
60
- "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.0-rc.8",
61
- "@deepseek-ai/dsh-session-projection": "^0.1.0-rc.8",
56
+ "@deepseek-ai/dsh-brand": "^0.1.1-rc.2",
57
+ "@deepseek-ai/dsh-invariants": "^0.1.1-rc.2",
58
+ "@deepseek-ai/dsh-llm": "^0.1.1-rc.2",
59
+ "@deepseek-ai/dsh-session": "^0.1.1-rc.2",
60
+ "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.1-rc.2",
61
+ "@deepseek-ai/dsh-session-persistence-sqlite": "^0.1.1-rc.2",
62
62
  "@deepseek-ai/cordis": "^4.0.1",
63
- "@deepseek-ai/dsh-session-persistence-sqlite": "^0.1.0-rc.8"
63
+ "@deepseek-ai/dsh-session-projection": "^0.1.1-rc.2"
64
64
  }
65
65
  }