dsh-perm-gate 4.2.0-beta.1 → 4.2.0-beta.3
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/dsh.plugin.json +2 -2
- package/lib/client.js +7 -5
- package/lib/client.js.map +1 -1
- package/package.json +5 -5
- package/assets/allow1.png +0 -0
- package/assets/allow2.png +0 -0
- package/assets/gateoff.png +0 -0
- package/assets/llms.png +0 -0
- package/assets/permlist.png +0 -0
- package/assets/setting-head.png +0 -0
- package/assets/setting-rules.png +0 -0
package/dsh.plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "dsh-perm-gate",
|
|
3
3
|
"name": "dsh-perm-gate",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "4.2.0-beta.2",
|
|
5
5
|
"description": {
|
|
6
6
|
"en": "Deterministic-first, fail-closed permission gate for DeepSeek Harness 0.1.2+: a P0 hard-deny -> P1 precise session grant -> P2 static allow/deny rule chain -> P3 optional LLM classifier -> P4 ask pipeline over the tools/pre-execute waterfall, with a standalone CLI dry-run evaluator and an auditable decision log. It only vetoes with deny/ask and always delegates otherwise, and unknown or malformed rules fail loud instead of silently standing the gate down.",
|
|
7
7
|
"zh": "面向 DeepSeek Harness 0.1.2+ 的确定性优先、失败即拒的权限闸门:在 tools/pre-execute 瀑布上串起 P0 硬拒绝 → P1 精确会话授权 → P2 静态 allow/deny 规则链 → P3 可选 LLM 语义分类 → P4 ask,并附带独立 CLI 干跑评估器与可审计的决策日志。只以 deny/ask 否决、其余一律放行,规则未知或非法时直接报错,绝不静默失效。"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"engines": {
|
|
16
|
-
"dsh": ">=0.1.
|
|
16
|
+
"dsh": ">=0.1.7-rc.1 <0.1.8-0"
|
|
17
17
|
},
|
|
18
18
|
"components": {
|
|
19
19
|
"host": "lib/index.js",
|
package/lib/client.js
CHANGED
|
@@ -13,6 +13,7 @@ window.__ModuleLoader__.load({
|
|
|
13
13
|
/** Simplified Chinese dictionary (the key-set source of truth). */
|
|
14
14
|
const zh = {
|
|
15
15
|
"card.title": "自动审查",
|
|
16
|
+
"section.title": "自动审查门",
|
|
16
17
|
"card.description": "独立审批档位:与只读 / 完全权限 / 白名单平行,在会话权限下拉中显示为「自动审查」。前端只暴露一个开关;后台四个审批策略可组合、由此处设置决定,仍对 P0 硬拒绝保持 fail-closed。",
|
|
17
18
|
"card.permissive": "启用自动审查档位",
|
|
18
19
|
"card.permissiveHint": "关闭时门禁行为与此前完全一致。",
|
|
@@ -165,6 +166,7 @@ window.__ModuleLoader__.load({
|
|
|
165
166
|
/** English dictionary (keys mirror zh). */
|
|
166
167
|
const en = {
|
|
167
168
|
"card.title": "自动审查 (Auto review)",
|
|
169
|
+
"section.title": "Auto-Review Gate",
|
|
168
170
|
"card.description": "Independent approval tier, parallel to read-only / full-access / whitelist, shown as 自动审查 in the session permission picker. The front-end exposes a single switch; the four backend approval strategies are combinable via this panel and still fail-closed against P0 hard-deny.",
|
|
169
171
|
"card.permissive": "Enable the 自动审查 tier",
|
|
170
172
|
"card.permissiveHint": "When off, the gate behaves exactly as before.",
|
|
@@ -562,7 +564,7 @@ window.__ModuleLoader__.load({
|
|
|
562
564
|
//#endregion
|
|
563
565
|
//#region src/client/card.tsx
|
|
564
566
|
/**
|
|
565
|
-
* Permissive settings card —
|
|
567
|
+
* Permissive settings card — the top-level `settings.section` (自动审查门) of dsh-perm-gate.
|
|
566
568
|
*
|
|
567
569
|
* The card binds the plugin's profile entry (`dsh-perm-gate`) through the
|
|
568
570
|
* `configForms` cordis service and renders its fields: the single front switch
|
|
@@ -3187,12 +3189,12 @@ window.__ModuleLoader__.load({
|
|
|
3187
3189
|
}, HistoryView);
|
|
3188
3190
|
});
|
|
3189
3191
|
const t = ctx.locale.bind(NS);
|
|
3190
|
-
ctx.slots.inject("settings.
|
|
3192
|
+
ctx.slots.inject("settings.section", function* () {
|
|
3191
3193
|
yield ctx.slots.register({
|
|
3192
|
-
name: "settings.
|
|
3194
|
+
name: "settings.section",
|
|
3193
3195
|
id: PERMISSIVE_NS,
|
|
3194
|
-
order:
|
|
3195
|
-
label: () => t("
|
|
3196
|
+
order: 30,
|
|
3197
|
+
label: () => t("section.title"),
|
|
3196
3198
|
locale: NS,
|
|
3197
3199
|
inject: () => {
|
|
3198
3200
|
return { scope: ctx.configForms.get(PERMISSIVE_NS) };
|