@sema-agent/client-core 0.26.0 → 0.27.0
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.
|
|
26
|
+
**Version:** 0.27.0
|
|
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
|
|
@@ -60,7 +60,7 @@ export declare function normalizeShellPermissionModeForWire(mode: string | undef
|
|
|
60
60
|
export type HeadlessPermissionResolution = {
|
|
61
61
|
/** 直接展开进 TaskRequest 的字段({} = 不 stamp,现状 absent-mode)。 */
|
|
62
62
|
fields: PermissionModeField;
|
|
63
|
-
source: 'flag' | 'env' | 'absent';
|
|
63
|
+
source: 'flag' | 'env' | 'default' | 'absent';
|
|
64
64
|
/** 非法 env 值的告警文案(调用层一次性打 stderr)。 */
|
|
65
65
|
warning?: string;
|
|
66
66
|
};
|
|
@@ -180,7 +180,15 @@ export function resolveHeadlessPermissionMode(argv, env = hostEnv()) {
|
|
|
180
180
|
// 2) env 垫层。
|
|
181
181
|
const raw = env[HEADLESS_PERMISSION_MODE_ENV]?.trim();
|
|
182
182
|
if (raw === undefined || raw === '') {
|
|
183
|
-
|
|
183
|
+
// 3) 缺省垫(2026-08-11 裁定,headless 权限缺省收窄):flag/env 双缺席不再走 absent-mode
|
|
184
|
+
// (server 7.12.0 起模式翻译表对缺席=键不写=无门,headless 缺省会**无门直落**——与
|
|
185
|
+
// 对标实现「headless 门照挂照报」相反)。缺省显式 stamp "default" ⇒ 翻译表挂 classify 档,
|
|
186
|
+
// 写形过分类器、读形白名单放行。旧 server(≤7.11.0)对显式 default 走 manual ask 门解释,
|
|
187
|
+
// 同向收紧,version-safe。要旧「无门」行为的部署用显式
|
|
188
|
+
// `SEMA_HEADLESS_PERMISSION_MODE=bypassPermissions` 表态(缺省绝不宽)。
|
|
189
|
+
// source='default' 与 'absent' 分词:absent 只剩「wire 词表外值回落」一支已不存在——保留
|
|
190
|
+
// 枚举员是为了消费端(日志/围栏)对旧值的开集容纳,本函数不再产它。
|
|
191
|
+
return { fields: permissionModeField('default', { stampDefault: true }), source: 'default' };
|
|
184
192
|
}
|
|
185
193
|
if (HEADLESS_PERMISSION_WIRE_MODES.includes(raw)) {
|
|
186
194
|
// env 是显式垫层:五词全 stamp(含 default——stampDefault 显式垫,不依赖 absent-mode 缺省解释)。
|
|
@@ -189,8 +197,11 @@ export function resolveHeadlessPermissionMode(argv, env = hostEnv()) {
|
|
|
189
197
|
source: 'env',
|
|
190
198
|
};
|
|
191
199
|
}
|
|
192
|
-
//
|
|
193
|
-
const resolution = {
|
|
200
|
+
// 4) 非法 env 值:一次性 warn + 回落缺省垫(绝不 fail,也绝不因坏值放宽成无门)。
|
|
201
|
+
const resolution = {
|
|
202
|
+
fields: permissionModeField('default', { stampDefault: true }),
|
|
203
|
+
source: 'default',
|
|
204
|
+
};
|
|
194
205
|
if (!warnedInvalidEnv) {
|
|
195
206
|
warnedInvalidEnv = true;
|
|
196
207
|
resolution.warning = `sema: ${HEADLESS_PERMISSION_MODE_ENV}="${raw}" is not a recognized permission mode (expected one of: ${HEADLESS_PERMISSION_WIRE_MODES.join(', ')}) — ignoring it, this run keeps the default permission behavior`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sema-agent/client-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.0",
|
|
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",
|