@dsh-cc/command-permissions 0.8.0-rc.3 → 0.8.1-rc.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/lib/index.d.ts.map +1 -1
- package/lib/index.js +11 -3
- package/lib/index.js.map +1 -1
- package/lib/permissions.d.ts +5 -1
- package/lib/permissions.d.ts.map +1 -1
- package/lib/permissions.js +6 -1
- package/lib/permissions.js.map +1 -1
- package/package.json +4 -4
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAalD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAErF,eAAO,MAAM,IAAI,wBAAwB,CAAA;AACzC;;;;;GAKG;AACH,eAAO,MAAM,MAAM,UAAe,CAAA;AA6JlC;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAaxC"}
|
package/lib/index.js
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
import { PERMISSION_COMMAND_MODES } from "./modes.js";
|
|
31
31
|
import { applyUserLint, lintRuleSet, lintUserSection, renderLint } from "./lint.js";
|
|
32
32
|
import { PERMISSION_SETTINGS_NAMESPACE } from '@dsh-cc/permission-rules';
|
|
33
|
+
import { foldPlanMode, foldPermissionMode } from '@dsh-cc/permission-rules';
|
|
33
34
|
import { planPhaseOf } from "./plan-phase.js";
|
|
34
35
|
import { renderPermissions } from "./permissions.js";
|
|
35
36
|
import { helpable } from '@dsh-cc/command-usage';
|
|
@@ -47,10 +48,17 @@ export const inject = ['commands'];
|
|
|
47
48
|
/** The shared modes list — the switch list and the client popup both read it. */
|
|
48
49
|
const MODES = PERMISSION_COMMAND_MODES;
|
|
49
50
|
/** Render the current rule state from a mounted engine. */
|
|
50
|
-
function renderState(service) {
|
|
51
|
+
function renderState(service, agent) {
|
|
52
|
+
const merged = service.ruleSet;
|
|
53
|
+
const mode = foldPlanMode(agent?.session.snapshotEvents() ?? [])
|
|
54
|
+
? 'plan'
|
|
55
|
+
: foldPermissionMode(agent?.session.snapshotEvents() ?? []) ?? service.defaultMode;
|
|
56
|
+
const effective = service.effectiveRuleSet(mode);
|
|
51
57
|
return {
|
|
52
58
|
kind: 'success',
|
|
53
|
-
text: renderPermissions(
|
|
59
|
+
text: renderPermissions(effective, service.ruleSet.bypassImmune.length, {
|
|
60
|
+
suspendedAllow: merged.allow.length - effective.allow.length,
|
|
61
|
+
}),
|
|
54
62
|
};
|
|
55
63
|
}
|
|
56
64
|
/**
|
|
@@ -71,7 +79,7 @@ async function executePermissions(ctx, invocation) {
|
|
|
71
79
|
if (service === undefined) {
|
|
72
80
|
return { kind: 'success', text: 'The permission-rules engine is not mounted in this composition.' };
|
|
73
81
|
}
|
|
74
|
-
return renderState(service);
|
|
82
|
+
return renderState(service, invocation.agent);
|
|
75
83
|
}
|
|
76
84
|
if (service === undefined) {
|
|
77
85
|
return { kind: 'error', text: 'The permission-rules engine is not mounted in this composition.' };
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,WAAW,EAA0C,MAAM,iBAAiB,CAAA;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACxB,uBAAuB,GAGxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAA0C,MAAM,iBAAiB,CAAA;AAErF,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAA;AACzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/permissions.d.ts
CHANGED
|
@@ -22,7 +22,11 @@ export interface Totals {
|
|
|
22
22
|
* Render the effective permission rule state from a rule set.
|
|
23
23
|
* @param rules - the merged rule set (the engine's `ruleSet`).
|
|
24
24
|
* @param bypassImmune - bypass-immune rule count (deny, guard-enforced).
|
|
25
|
+
* @param opts - when `suspendedAllow` > 0 (auto mode only), annotate the
|
|
26
|
+
* count of allow rules suspended at evaluation time (design doc D1).
|
|
25
27
|
* @returns a read-only report of rule counts per source and in total.
|
|
26
28
|
*/
|
|
27
|
-
export declare function renderPermissions(rules: PermissionRuleSet, bypassImmune: number
|
|
29
|
+
export declare function renderPermissions(rules: PermissionRuleSet, bypassImmune: number, opts?: {
|
|
30
|
+
suspendedAllow?: number;
|
|
31
|
+
}): string;
|
|
28
32
|
//# sourceMappingURL=permissions.d.ts.map
|
package/lib/permissions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,gCAAgC,CAAA;AAEvC,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,uCAAuC;AACvC,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;CACrB;AAqBD
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,gCAAgC,CAAA;AAEvC,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,uCAAuC;AACvC,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;CACrB;AAqBD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAgBhI"}
|
package/lib/permissions.js
CHANGED
|
@@ -29,9 +29,11 @@ function addTotals(total, counts) {
|
|
|
29
29
|
* Render the effective permission rule state from a rule set.
|
|
30
30
|
* @param rules - the merged rule set (the engine's `ruleSet`).
|
|
31
31
|
* @param bypassImmune - bypass-immune rule count (deny, guard-enforced).
|
|
32
|
+
* @param opts - when `suspendedAllow` > 0 (auto mode only), annotate the
|
|
33
|
+
* count of allow rules suspended at evaluation time (design doc D1).
|
|
32
34
|
* @returns a read-only report of rule counts per source and in total.
|
|
33
35
|
*/
|
|
34
|
-
export function renderPermissions(rules, bypassImmune) {
|
|
36
|
+
export function renderPermissions(rules, bypassImmune, opts = {}) {
|
|
35
37
|
const lines = ['Permission rules (read-only)'];
|
|
36
38
|
const total = { allow: 0, deny: 0, ask: 0, bypassImmune };
|
|
37
39
|
let any = false;
|
|
@@ -46,6 +48,9 @@ export function renderPermissions(rules, bypassImmune) {
|
|
|
46
48
|
if (!any)
|
|
47
49
|
lines.push(' (no rules configured)');
|
|
48
50
|
lines.push(`Total: allow=${total.allow} deny=${total.deny} ask=${total.ask} (bypassImmune=${bypassImmune})`);
|
|
51
|
+
const suspended = opts.suspendedAllow ?? 0;
|
|
52
|
+
if (suspended > 0)
|
|
53
|
+
lines.push(`Total: ${suspended} allow rule(s) suspended in auto mode`);
|
|
49
54
|
return lines.join('\n');
|
|
50
55
|
}
|
|
51
56
|
//# sourceMappingURL=permissions.js.map
|
package/lib/permissions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,GAGhB,MAAM,gCAAgC,CAAA;AAkBvC,kEAAkE;AAClE,SAAS,SAAS,CAAC,MAAc,EAAE,KAAgC;IACjE,MAAM,GAAG,GAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;IACxE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,SAAQ;QACpC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;YAAE,GAAG,CAAC,KAAK,IAAI,CAAC,CAAA;aACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAA;aAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;YAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,qDAAqD;AACrD,SAAS,SAAS,CAAC,KAAa,EAAE,MAAoB;IACpD,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;IAC3B,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAA;IACzB,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAA;AACzB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,GAGhB,MAAM,gCAAgC,CAAA;AAkBvC,kEAAkE;AAClE,SAAS,SAAS,CAAC,MAAc,EAAE,KAAgC;IACjE,MAAM,GAAG,GAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;IACxE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,SAAQ;QACpC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;YAAE,GAAG,CAAC,KAAK,IAAI,CAAC,CAAA;aACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAA;aAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;YAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,qDAAqD;AACrD,SAAS,SAAS,CAAC,KAAa,EAAE,MAAoB;IACpD,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;IAC3B,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAA;IACzB,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAA;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB,EAAE,YAAoB,EAAE,OAAoC,EAAE;IACtH,MAAM,KAAK,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAA;IACjE,IAAI,GAAG,GAAG,KAAK,CAAA;IACf,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/E,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC;YAAE,SAAQ;QACzE,GAAG,GAAG,IAAI,CAAA;QACV,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,WAAW,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IAC/C,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,SAAS,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,GAAG,kBAAkB,YAAY,GAAG,CAAC,CAAA;IAC5G,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAA;IAC1C,IAAI,SAAS,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,uCAAuC,CAAC,CAAA;IACzF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dsh-cc/command-permissions",
|
|
3
3
|
"description": "Human-facing /permissions command (CC rule-engine modes) plus a popupSelect decoration (and TUI overlay) for the bare invocation",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.1-rc.1",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/dsh-cc/dsh-cc.git",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@dsh-cc/
|
|
42
|
-
"@dsh-cc/tools": "^0.8.
|
|
43
|
-
"@dsh-cc/
|
|
41
|
+
"@dsh-cc/command-usage": "^0.8.1-rc.1",
|
|
42
|
+
"@dsh-cc/tools": "^0.8.1-rc.1",
|
|
43
|
+
"@dsh-cc/permission-rules": "^0.8.1-rc.1"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"@deepseek-ai/cordis": ">=0.1.5-rc.1",
|