@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.
@@ -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;AAYlD,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;AAmJlC;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAaxC"}
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(service.ruleSet, service.ruleSet.bypassImmune.length),
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;AAQlC,iFAAiF;AACjF,MAAM,KAAK,GAAG,wBAAwB,CAAA;AAEtC,2DAA2D;AAC3D,SAAS,WAAW,CAAC,OAA4B;IAC/C,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;KACvF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAY,EAAE,KAAY;IAC9C,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAEnC,CAAA;IACb,MAAM,SAAS,GAAG,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAkC,CAAA;IAC9F,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,CAAA;AAC/D,CAAC;AAED,0EAA0E;AAC1E,KAAK,UAAU,kBAAkB,CAAC,GAAY,EAAE,UAA6B;IAC3E,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAoC,CAAA;IAC7E,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACtC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,iEAAiE,EAAE,CAAA;QACrG,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iEAAiE,EAAE,CAAA;IACnG,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC3E,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,CAAE,KAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,IAAI,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;IACrG,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;IAC9B,IAAI,CAAC;QACH,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,yEAAyE;QACzE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAA;YACpE,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;YACnF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAA;YAChF,CAAC;YACD,OAAO,SAAS,CAAC,MAAM,CAAA;QACzB,CAAC;QACD,sEAAsE;QACtE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;YACvF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAA;YAChF,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,SAAS,CAAC,MAAM,CAAA;QAChE,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,IAAI,IAAI,EAAE,CAAA;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IACxF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,QAAiB;IACtC,MAAM,UAAU,GAAI,QAAwE;SACzF,QAAQ,EAAE,EAAE;QACb,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAC7E,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QAChG,CAAC,CAAC,UAAU,CAAC,IAA+B;QAC5C,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,WAAW,CAAC,GAAY,EAAE,GAAW;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAoC,CAAA;IAC7E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iEAAiE,EAAE,CAAA;IACnG,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAY,CAAA;IAC/C,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC9F,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,OAAgB,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC1E,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC5C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,MAAM,EAAE,EAAE,CAAA;AAC1D,CAAC;AAED,uHAAuH,CAAA,SAAS,WAAW,CAAC,KAAY;IACtJ,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;IAC7C,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAuD,CAAA;QACjF,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;QACzC,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAkC,CAAA;IAC/D,OAAO,MAAM,CAAC,WAAW,KAAK,IAAI,CAAA;AACpC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,GAAY;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC7B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAA;IAClC,MAAM,WAAW,GAAG,SAAS,IAAI,CAAwB,KAAY;QACnE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAA;QAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;QAC9D,OAAO,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7E,CAAC,CAAA;IACD,QAAQ,CAAC,IAAI,GAAG,WAAmC,CAAA;IACnD,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;QACpB,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAA;IAC9B,CAAC,EAAE,2DAA2D,CAAC,CAAA;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sFAAsF;QACnG,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;QACxC,OAAO,EAAE,CAAC,UAA6B,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC;KAChF,EAAE;QACD,WAAW,EAAE;YACX,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACvF,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,6DAA6D,EAAE;SACzF;KACF,CAAC,CAAC,CAAA;IACH,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS;QAAE,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -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): string;
29
+ export declare function renderPermissions(rules: PermissionRuleSet, bypassImmune: number, opts?: {
30
+ suspendedAllow?: number;
31
+ }): string;
28
32
  //# sourceMappingURL=permissions.d.ts.map
@@ -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;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAcxF"}
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"}
@@ -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
@@ -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;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB,EAAE,YAAoB;IAC9E,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,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
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.0-rc.3",
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/permission-rules": "^0.8.0-rc.3",
42
- "@dsh-cc/tools": "^0.8.0-rc.3",
43
- "@dsh-cc/command-usage": "^0.8.0-rc.3"
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",