@sema-agent/client-core 0.83.3 → 0.83.4
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/CHANGELOG.md +44 -0
- package/README.md +5 -4
- package/dist/adapter/activeRunSelfHeal.d.ts +6 -1
- package/dist/adapter/activeRunSelfHeal.js +36 -4
- package/dist/hitl/armedGateRegistry.js +3 -5
- package/dist/hitl/gateIdentity.d.ts +1 -0
- package/dist/hitl/gateIdentity.js +8 -0
- package/dist/hitl/planReviewWire.d.ts +7 -0
- package/dist/hitl/planReviewWire.js +345 -76
- package/dist/hitl/toolApprovalWire.d.ts +2 -0
- package/dist/hitl/toolApprovalWire.js +23 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/seatContract.d.ts +18 -1
- package/dist/seatContract.js +20 -0
- package/dist/systemReminderTag.js +25 -4
- package/docs/INTEGRATION-CLIENTS.md +139 -8
- package/package.json +2 -2
package/dist/seatContract.js
CHANGED
|
@@ -489,6 +489,10 @@ export const TOOL_PERMISSION_REQUEST_KEYS = [
|
|
|
489
489
|
"createdAtMs",
|
|
490
490
|
"governanceForced",
|
|
491
491
|
"delegation",
|
|
492
|
+
"mandated",
|
|
493
|
+
"mandate",
|
|
494
|
+
"origin",
|
|
495
|
+
"ruleOffersAbsence",
|
|
492
496
|
];
|
|
493
497
|
export const LOCAL_SESSION_RECORD_KEYS = [
|
|
494
498
|
"sessionId",
|
|
@@ -562,6 +566,22 @@ export const SEAT_VALIDATOR_KEY_COVERAGE = {
|
|
|
562
566
|
key: "delegation",
|
|
563
567
|
why: "展示增强位,权威结构门在 hitl wire 卡口(结构读+仅子代 ask 在场,坏形降缺席);座位门同款理由不设第二判官。消费端坏形降缺席,绝不拒行。",
|
|
564
568
|
},
|
|
569
|
+
{
|
|
570
|
+
key: "mandated",
|
|
571
|
+
why: "展示增强位(CC-203),权威窄读在卡口与过境口 toolPermissionRequestAskBits(严格 true 才上座);座位门再裁一次会为一个徽标键拒掉整条 request、把安全 ask 丢给引擎 TTL deny。消费端经 approvalIsMandated 读,其余一律当缺席。",
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
key: "mandate",
|
|
575
|
+
why: "展示增强位(CC-203),权威窄读在卡口与过境口(闭集六词精确字节,表外不上座);座位门不设第二判官,理由同 mandated。消费端经 readApprovalMandate 读,表外值读成缺席。",
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
key: "origin",
|
|
579
|
+
why: "喂姿态谓词 askSurvivesPosture 的安全位(CC-203),按开集读(非空串原文字节、词表不校);权威窄读在卡口与过境口 toolPermissionRequestAskBits,座位门不设第二判官(为一个位拒掉整条 request = 把安全 ask 丢给引擎 TTL deny)。坏形的两种失效方向:非串 / 空串读成缺席 ⇒ 宿主报了没命中时姿态谓词可答可以放(放宽方向:真出身若是必问词就丢了);表外串读成不认识的词 ⇒ 答 unknown,宿主退回自己的规则(不放宽)。不经过境口自铸座位请求的宿主要自己按同一把窄读。",
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
key: "ruleOffersAbsence",
|
|
583
|
+
why: "喂强制判据口 approvalIsMandated 的位(CC-203;寄存行那条腿的强制只以缺席词 mandated 表达),按开集读(非空串原文字节、词表不校);权威窄读在卡口与过境口,座位门不设第二判官,理由同 mandated。坏形读成缺席 ⇒ 这一路不判强制(放宽方向:寄存行上的强制就丢了;另两路 mandated / mandate 照判);表外串只是不等于 mandated。不经过境口自铸座位请求的宿主要自己按同一把窄读。",
|
|
584
|
+
},
|
|
565
585
|
],
|
|
566
586
|
},
|
|
567
587
|
LocalSessionEvent: {
|
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
const OPEN_TAG_SOURCE = '<system-reminder(?: mark="[A-Za-z0-9_-]{22}")?>';
|
|
2
|
-
const
|
|
2
|
+
const CLOSE_TAG = '</system-reminder>';
|
|
3
|
+
const OPEN_TAG_AT_START_RE = new RegExp(`^${OPEN_TAG_SOURCE}`);
|
|
3
4
|
export function unwrapSystemReminder(text) {
|
|
4
|
-
const
|
|
5
|
-
|
|
5
|
+
const head = text.trimStart();
|
|
6
|
+
const open = OPEN_TAG_AT_START_RE.exec(head);
|
|
7
|
+
if (open === null)
|
|
8
|
+
return text;
|
|
9
|
+
const whole = head.trimEnd();
|
|
10
|
+
if (!whole.endsWith(CLOSE_TAG) || whole.length - CLOSE_TAG.length < open[0].length)
|
|
11
|
+
return text;
|
|
12
|
+
return whole.slice(open[0].length, whole.length - CLOSE_TAG.length).trim();
|
|
6
13
|
}
|
|
7
14
|
export function stripSystemReminderBlocks(text) {
|
|
8
|
-
|
|
15
|
+
const openRe = new RegExp(OPEN_TAG_SOURCE, 'g');
|
|
16
|
+
let out = '';
|
|
17
|
+
let pos = 0;
|
|
18
|
+
for (;;) {
|
|
19
|
+
openRe.lastIndex = pos;
|
|
20
|
+
const open = openRe.exec(text);
|
|
21
|
+
if (open === null)
|
|
22
|
+
break;
|
|
23
|
+
const close = text.indexOf(CLOSE_TAG, open.index + open[0].length);
|
|
24
|
+
if (close === -1)
|
|
25
|
+
break;
|
|
26
|
+
out += text.slice(pos, open.index);
|
|
27
|
+
pos = close + CLOSE_TAG.length;
|
|
28
|
+
}
|
|
29
|
+
return pos === 0 ? text : out + text.slice(pos);
|
|
9
30
|
}
|