@sema-agent/client-core 0.17.0 → 0.17.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.md +2 -2
- package/dist/hitl/frameRouter.d.ts +11 -0
- package/dist/hitl/frameRouter.js +3 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/package.json +2 -2
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.17.
|
|
26
|
+
**Version:** 0.17.1
|
|
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
|
|
@@ -53,7 +53,7 @@ Renamed from **`@sema-agent/wire-cc-adapter`** (0.1.x, deprecated — see *Migra
|
|
|
53
53
|
`SseIdleError`, `probeHealth`, `APIError` and `TaskStopConflictError` are imported as values in
|
|
54
54
|
five modules, and the browser bundle really bundles the SDK through (the portability guard would
|
|
55
55
|
exit 3 rather than quietly mark it external).
|
|
56
|
-
- The declared floor is `>=6.
|
|
56
|
+
- The declared floor is `>=6.3.0`, and it is *witnessed*: the guard checks that an actually
|
|
57
57
|
installed SDK at that line still exports every value-level symbol this package imports and still
|
|
58
58
|
declares `TaskStats.costMicroUsd` (the key `costOrNull` reads). A floor nobody ever ran is a
|
|
59
59
|
promise, not a contract.
|
|
@@ -27,6 +27,17 @@ export declare const HITL_REJECT_MESSAGE = "The user doesn't want to proceed wit
|
|
|
27
27
|
/** core 对被 gate/连坐 abort 的 call 铸的 tool_end 载体(逐字;desktop session-host 真引擎实测
|
|
28
28
|
* 同款)——HOLD 谓词锚它做**精确等值**,普通工具错的输出是各自错误文案,永不进 HOLD。 */
|
|
29
29
|
export declare const ENGINE_ABORT_TOOL_RESULT = "Operation aborted";
|
|
30
|
+
/**
|
|
31
|
+
* tool_end.output 的文本归一(P0 案B,2026-08-03,server 6.0.0 wire 实测):sync leg 的毒化帧
|
|
32
|
+
* `output` 不再是裸 string,而是 content-block 数组 `[{"type":"text","text":"Operation aborted"}]`
|
|
33
|
+
* (8790 裸引擎 POST /v1/tasks/stream 逐帧记录字节形)。abort 标记的**等值锚**必须先归一再比,
|
|
34
|
+
* 否则 6.0.0 下 hold-poison 臂全盲:毒化帧当场上屏 + generic-close 记 ended ⇒ decide 后重放的
|
|
35
|
+
* 真收口帧被 isEnded 早退去重 —— 「按 Yes 屏幕永远停在 Error: Operation aborted」整案复发。
|
|
36
|
+
* 只归一**判定**,帧本身一个字节不改;等值语义不放宽([2084]①-b 收窄仍然成立,负控见 gate ⑩)。
|
|
37
|
+
* 🆕 [C93] 公面导出(0.17.1):web/desktop 被点名「两端务必接」的同款归一各自手抄=漂移温床,
|
|
38
|
+
* 导出做单一真源;签名不变,加导出=additive。
|
|
39
|
+
*/
|
|
40
|
+
export declare function toolEndOutputText(output: unknown): string | undefined;
|
|
30
41
|
/** 本桥消费的 wire 面(@sema-agent/sdk AgentClient 的结构切片,mock 可注入)。 */
|
|
31
42
|
export interface AskGateWireDeps {
|
|
32
43
|
/** approvals.list/decide + assistant(HitlBridge 的 client 切片)。 */
|
package/dist/hitl/frameRouter.js
CHANGED
|
@@ -21,8 +21,10 @@ export const ENGINE_ABORT_TOOL_RESULT = 'Operation aborted';
|
|
|
21
21
|
* 否则 6.0.0 下 hold-poison 臂全盲:毒化帧当场上屏 + generic-close 记 ended ⇒ decide 后重放的
|
|
22
22
|
* 真收口帧被 isEnded 早退去重 —— 「按 Yes 屏幕永远停在 Error: Operation aborted」整案复发。
|
|
23
23
|
* 只归一**判定**,帧本身一个字节不改;等值语义不放宽([2084]①-b 收窄仍然成立,负控见 gate ⑩)。
|
|
24
|
+
* 🆕 [C93] 公面导出(0.17.1):web/desktop 被点名「两端务必接」的同款归一各自手抄=漂移温床,
|
|
25
|
+
* 导出做单一真源;签名不变,加导出=additive。
|
|
24
26
|
*/
|
|
25
|
-
function toolEndOutputText(output) {
|
|
27
|
+
export function toolEndOutputText(output) {
|
|
26
28
|
if (typeof output === 'string')
|
|
27
29
|
return output;
|
|
28
30
|
if (!Array.isArray(output))
|
package/dist/index.d.ts
CHANGED
|
@@ -213,6 +213,7 @@ export * from './hooksWireCaps.js';
|
|
|
213
213
|
export * from './liveInitToolFace.js';
|
|
214
214
|
export * from './model/providerPresets.js';
|
|
215
215
|
export * from './hitl/hitlBridge.js';
|
|
216
|
+
export { toolEndOutputText, ENGINE_ABORT_TOOL_RESULT } from './hitl/frameRouter.js';
|
|
216
217
|
export * from './hitl/hitlHostSurface.js';
|
|
217
218
|
export * from './hitl/toolApprovalWire.js';
|
|
218
219
|
export * from './hitl/askGateWire.js';
|
package/dist/index.js
CHANGED
|
@@ -294,6 +294,10 @@ export * from './model/providerPresets.js';
|
|
|
294
294
|
// 共享宿主通知面 + cancel-by-deny 有界观察 —— `askGateWire.ts` 已 import `toolApprovalWire.ts`,
|
|
295
295
|
// 反向 import 会成环,所以两条腿共用的那一组挪进一个两边都能到达的独立模块。
|
|
296
296
|
export * from './hitl/hitlBridge.js';
|
|
297
|
+
// [C93] P0 直讨(0.17.1):toolEndOutputText 单一真源导出——web/desktop 被点名「两端务必接」的
|
|
298
|
+
// 6.0.0 output content-block 归一,此前 frameRouter 内私有,两端手抄=漂移温床。frameRouter 只
|
|
299
|
+
// 挑名导出这一件(整星导出会把路由内部面全泄进公面)。
|
|
300
|
+
export { toolEndOutputText, ENGINE_ABORT_TOOL_RESULT } from './hitl/frameRouter.js';
|
|
297
301
|
export * from './hitl/hitlHostSurface.js';
|
|
298
302
|
export * from './hitl/toolApprovalWire.js';
|
|
299
303
|
export * from './hitl/askGateWire.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/client-core",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.1",
|
|
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",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"@sema-agent/agent-types": ">=0.2.0",
|
|
31
|
-
"@sema-agent/sdk": ">=6.
|
|
31
|
+
"@sema-agent/sdk": ">=6.3.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@sema-agent/agent-types": "^0.2.0",
|