@sema-agent/client-core 0.11.19 → 0.11.20

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.md CHANGED
@@ -23,7 +23,7 @@ Renamed from **`@sema-agent/wire-cc-adapter`** (0.1.x, deprecated — see *Migra
23
23
 
24
24
  ## Scope
25
25
 
26
- **Version:** 0.11.19
26
+ **Version:** 0.11.20
27
27
 
28
28
  - **Today** — the adapter seam, the whole `adapt()` pipeline (all 14 A-layer arms plus the
29
29
  B/D/E tool-card layers), the notification/caps/model families, the adapter kernel (stream driver
@@ -48,6 +48,18 @@ export interface FleetTaskView {
48
48
  toolName: string;
49
49
  target?: string;
50
50
  };
51
+ /**
52
+ * server ≥1.250 的 launch 真锚(epoch ms;ADDITIVE / tolerate-absent)。
53
+ *
54
+ * 🔴 **本键此前在这一层被丢弃** —— wire 有、`fleetLedger` 也读到了(只拿它算 `elapsedMs`,
55
+ * `fleetLedger.ts:447-448`),但投影视图不带它出去 ⇒ 下游拿不到 launch 时刻,只能锚「自己建行的
56
+ * 那一刻」,遗留/重挂的行就渲出 1h+ 的假时长(2026-07-31 用户实拍,五报清查报④)。
57
+ * 这是同一个 wire 键的**第四个投影面**:`fleetAgentPanelProjection`(面板事件)、
58
+ * `backgroundView`(web/桌面跨端视图)、本视图(fleet 树)、以及 ledger 内部的 elapsed 自算 ——
59
+ * 前两个先后补过,本层是最后一处([[new-data-source-systemic-checks]] ④:补一处不等于补齐)。
60
+ * 缺席 = 旧引擎/排队中的行,消费端必须容忍(禁 `?? 0`,0 不是「1970 年启动」)。
61
+ */
62
+ startedAt?: number;
51
63
  /**
52
64
  * [1832] P1-2(server ≥1.290 / engine 1.432):发起本子代的父 tool_use id **原值**。
53
65
  * B6 新落键 —— 归属不再靠猜,按 tool_use id 建卡树的消费端直接绑定。缺席 = 旧端。
@@ -236,6 +236,9 @@ export function projectTasks(allRows, opts) {
236
236
  // 🔴 「键缺席」与「值为 0/''」是两件事 —— 只有真给了才落键(下游据「键在不在」判三态)。
237
237
  ...(toolUses !== undefined ? { toolUses } : {}),
238
238
  ...(transcriptId !== undefined ? { transcriptId } : {}),
239
+ // launch 真锚原值透传(> 0 才算有值)。ledger 拿它算 elapsedMs 是**另一件事** —— 下游要的是
240
+ // 时刻本身(自己的钟去减),elapsedMs 是发帧那一刻的快照,客户端存着会漂([C36] server 判据)。
241
+ ...(typeof r.startedAt === 'number' && r.startedAt > 0 ? { startedAt: r.startedAt } : {}),
239
242
  ...(currentTool !== undefined ? { currentTool } : {}),
240
243
  ...(parentToolCallId !== undefined ? { parentToolCallId } : {}),
241
244
  ...(stoppedBy !== undefined ? { stoppedBy } : {}),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sema-agent/client-core",
3
- "version": "0.11.19",
3
+ "version": "0.11.20",
4
4
  "description": "Client-side session runtime shared by every sema human client (TUI / web / desktop): sema wire frames (AgentEvent) -> CC session vocabulary (SDKMessage) with dual-plane output (transcript/chrome), deterministic transcript ids, lane discipline as a type, and the notification/dedup ledgers. Every CC-skin shape is collected here so the wire itself stays neutral. Blackboard [1832] design axioms; [1651]/[1652]/[1653] signed seam design. Renamed from @sema-agent/wire-cc-adapter (0.1.x).",
5
5
  "license": "MIT",
6
6
  "type": "module",