dsh-permission-rules 0.4.0 → 0.4.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/CHANGELOG.md +14 -0
- package/README.es.md +9 -4
- package/README.hi.md +9 -4
- package/README.md +9 -4
- package/README.pt.md +9 -4
- package/README.zh.md +9 -4
- package/cordis.patch.yml +3 -0
- package/lib/index.js +99 -21
- package/lib/types/config.d.ts +12 -0
- package/lib/types/config.d.ts.map +1 -1
- package/lib/types/config.js +3 -0
- package/lib/types/config.js.map +1 -1
- package/lib/types/events.d.ts +25 -6
- package/lib/types/events.d.ts.map +1 -1
- package/lib/types/events.js +22 -4
- package/lib/types/events.js.map +1 -1
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +1 -1
- package/lib/types/index.js.map +1 -1
- package/lib/types/prose.d.ts +2 -0
- package/lib/types/prose.d.ts.map +1 -1
- package/lib/types/prose.js +5 -0
- package/lib/types/prose.js.map +1 -1
- package/lib/types/runtime.d.ts +30 -7
- package/lib/types/runtime.d.ts.map +1 -1
- package/lib/types/runtime.js +83 -17
- package/lib/types/runtime.js.map +1 -1
- package/package.json +1 -1
- package/src/config.ts +15 -0
- package/src/events.ts +28 -6
- package/src/index.ts +1 -1
- package/src/prose.ts +7 -0
- package/src/runtime.ts +84 -15
package/lib/types/config.js
CHANGED
|
@@ -23,6 +23,7 @@ export const Config = z.object({
|
|
|
23
23
|
searchUp: z.boolean().default(false),
|
|
24
24
|
maxGlobStars: z.number().default(2),
|
|
25
25
|
enforce: z.boolean().default(true),
|
|
26
|
+
allowUnmarkedAudit: z.boolean().default(false),
|
|
26
27
|
});
|
|
27
28
|
/**
|
|
28
29
|
* Validate raw values and fill explicit defaults. A `maxRules`,
|
|
@@ -64,6 +65,7 @@ export function resolveConfig(config = {}) {
|
|
|
64
65
|
assertBoolean('searchUp', searchUp);
|
|
65
66
|
assertBoolean('caseInsensitivePaths', config.caseInsensitivePaths ?? process.platform === 'win32');
|
|
66
67
|
assertBoolean('enforce', config.enforce ?? true);
|
|
68
|
+
assertBoolean('allowUnmarkedAudit', config.allowUnmarkedAudit ?? false);
|
|
67
69
|
return {
|
|
68
70
|
rulesFile,
|
|
69
71
|
fallbackPath: config.fallbackPath,
|
|
@@ -79,6 +81,7 @@ export function resolveConfig(config = {}) {
|
|
|
79
81
|
searchUp,
|
|
80
82
|
maxGlobStars,
|
|
81
83
|
enforce: config.enforce ?? true,
|
|
84
|
+
allowUnmarkedAudit: config.allowUnmarkedAudit ?? false,
|
|
82
85
|
};
|
|
83
86
|
}
|
|
84
87
|
/** Throw unless `key` is one of `allowed` (TypeScript's closed enums are not runtime checks). */
|
package/lib/types/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,CAAC,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
package/lib/types/events.d.ts
CHANGED
|
@@ -17,9 +17,16 @@
|
|
|
17
17
|
* downstream — an auditable "what would the policy have done" trail.
|
|
18
18
|
*
|
|
19
19
|
* The event is appended with the envelope's `ignorable: true` marker (see
|
|
20
|
-
* {@link AuditAppend})
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* {@link AuditAppend}). Harness builds that honor the marker (post-rc.6)
|
|
21
|
+
* stamp it on the envelope and skip unknown ignorable records when loading,
|
|
22
|
+
* so the audit can never refuse a session. Builds whose `Session.append`
|
|
23
|
+
* predates the marker — the `0.1.0-rc.6` line — silently DROP the options
|
|
24
|
+
* bag: the event then lands UNMARKED and makes the session unresumable on
|
|
25
|
+
* hosts with required-on-read semantics (`SessionFormatUnsupportedError`).
|
|
26
|
+
* The runtime detects this at first use (peer version pre-check plus a
|
|
27
|
+
* probe of the appended envelope) and disables session-log audit on such
|
|
28
|
+
* hosts with a one-time warning; `allowUnmarkedAudit: true` opts back in,
|
|
29
|
+
* and `scripts/repair-session-logs.mjs` repairs already-polluted logs.
|
|
23
30
|
* @module dsh-permission-rules/events
|
|
24
31
|
*/
|
|
25
32
|
import type { CallId } from '@deepseek-ai/dsh-llm';
|
|
@@ -71,11 +78,23 @@ export interface AuditDecision {
|
|
|
71
78
|
/**
|
|
72
79
|
* `Session.append` narrowed to this plugin's audit event. The options bag
|
|
73
80
|
* exists only on host builds that expose the `ignorable` envelope-marker
|
|
74
|
-
* surface (post-rc.6 `@deepseek-ai/dsh-session`); an rc.6 host accepts
|
|
75
|
-
*
|
|
76
|
-
* marker
|
|
81
|
+
* surface (post-rc.6 `@deepseek-ai/dsh-session`); an rc.6 host accepts the
|
|
82
|
+
* call but silently drops the third argument — the event is appended
|
|
83
|
+
* WITHOUT the marker, which is exactly what breaks later resume on stricter
|
|
84
|
+
* hosts. The runtime treats the marker as optional-but-probed: see
|
|
85
|
+
* {@link isMarkedAuditEvent}.
|
|
77
86
|
*/
|
|
78
87
|
export type AuditAppend = (type: 'permissionRules/decision', data: AuditDecision, options?: {
|
|
79
88
|
ignorable?: true;
|
|
80
89
|
}) => unknown;
|
|
90
|
+
/**
|
|
91
|
+
* Whether an `append` call actually honored the `ignorable` marker: the
|
|
92
|
+
* logged event returned by the host carries `ignorable === true` on
|
|
93
|
+
* marker-aware builds and nothing on pre-marker builds. `false` (or any
|
|
94
|
+
* non-event return) means the host dropped the marker and the event landed
|
|
95
|
+
* unmarked — the runtime then degrades instead of polluting further logs.
|
|
96
|
+
* @param result - the return value of the audit append.
|
|
97
|
+
* @returns true only when the marker is present on the returned envelope.
|
|
98
|
+
*/
|
|
99
|
+
export declare function isMarkedAuditEvent(result: unknown): boolean;
|
|
81
100
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,QAAQ,gCAAgC,CAAC;IAC9C,UAAU,eAAe;QACvB;;;;;;;;;;WAUG;QACH,0BAA0B,EAAE;YAC1B,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,MAAM,EAAE,MAAM,CAAA;YACd,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAA;YAChD,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;YAClC,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,GAAG,EAAE,MAAM,CAAA;YACX,MAAM,CAAC,EAAE,IAAI,CAAA;SACd,CAAA;KACF;CACF;AAED,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAA;AAErE,iEAAiE;AACjE,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;AAErD,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAA;IACX,iFAAiF;IACjF,MAAM,CAAC,EAAE,IAAI,CAAA;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,0BAA0B,EAChC,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,IAAI,CAAA;CAAE,KAC3B,OAAO,CAAA;AAEZ;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAE3D"}
|
package/lib/types/events.js
CHANGED
|
@@ -17,10 +17,28 @@
|
|
|
17
17
|
* downstream — an auditable "what would the policy have done" trail.
|
|
18
18
|
*
|
|
19
19
|
* The event is appended with the envelope's `ignorable: true` marker (see
|
|
20
|
-
* {@link AuditAppend})
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* {@link AuditAppend}). Harness builds that honor the marker (post-rc.6)
|
|
21
|
+
* stamp it on the envelope and skip unknown ignorable records when loading,
|
|
22
|
+
* so the audit can never refuse a session. Builds whose `Session.append`
|
|
23
|
+
* predates the marker — the `0.1.0-rc.6` line — silently DROP the options
|
|
24
|
+
* bag: the event then lands UNMARKED and makes the session unresumable on
|
|
25
|
+
* hosts with required-on-read semantics (`SessionFormatUnsupportedError`).
|
|
26
|
+
* The runtime detects this at first use (peer version pre-check plus a
|
|
27
|
+
* probe of the appended envelope) and disables session-log audit on such
|
|
28
|
+
* hosts with a one-time warning; `allowUnmarkedAudit: true` opts back in,
|
|
29
|
+
* and `scripts/repair-session-logs.mjs` repairs already-polluted logs.
|
|
23
30
|
* @module dsh-permission-rules/events
|
|
24
31
|
*/
|
|
25
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Whether an `append` call actually honored the `ignorable` marker: the
|
|
34
|
+
* logged event returned by the host carries `ignorable === true` on
|
|
35
|
+
* marker-aware builds and nothing on pre-marker builds. `false` (or any
|
|
36
|
+
* non-event return) means the host dropped the marker and the event landed
|
|
37
|
+
* unmarked — the runtime then degrades instead of polluting further logs.
|
|
38
|
+
* @param result - the return value of the audit append.
|
|
39
|
+
* @returns true only when the marker is present on the returned envelope.
|
|
40
|
+
*/
|
|
41
|
+
export function isMarkedAuditEvent(result) {
|
|
42
|
+
return typeof result === 'object' && result !== null && result.ignorable === true;
|
|
43
|
+
}
|
|
26
44
|
//# sourceMappingURL=events.js.map
|
package/lib/types/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAoEH;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAK,MAAkC,CAAC,SAAS,KAAK,IAAI,CAAA;AAChH,CAAC"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ import { apply } from './runtime.ts';
|
|
|
19
19
|
export declare const name = "permission-rules";
|
|
20
20
|
export declare const inject: string[];
|
|
21
21
|
export { apply };
|
|
22
|
-
export { PermissionRulesRuntime } from './runtime.ts';
|
|
22
|
+
export { PermissionRulesRuntime, isUnmarkedHostVersion } from './runtime.ts';
|
|
23
23
|
export * from './config.ts';
|
|
24
24
|
export * from './events.ts';
|
|
25
25
|
export * from './rules.ts';
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,eAAO,MAAM,IAAI,qBAAqB,CAAA;AACtC,eAAO,MAAM,MAAM,UAAwB,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAChB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,eAAO,MAAM,IAAI,qBAAqB,CAAA;AACtC,eAAO,MAAM,MAAM,UAAwB,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAChB,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAC5E,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
|
package/lib/types/index.js
CHANGED
|
@@ -19,7 +19,7 @@ import { apply } from "./runtime.js";
|
|
|
19
19
|
export const name = 'permission-rules';
|
|
20
20
|
export const inject = ['commands', 'tools'];
|
|
21
21
|
export { apply };
|
|
22
|
-
export { PermissionRulesRuntime } from "./runtime.js";
|
|
22
|
+
export { PermissionRulesRuntime, isUnmarkedHostVersion } from "./runtime.js";
|
|
23
23
|
export * from "./config.js";
|
|
24
24
|
export * from "./events.js";
|
|
25
25
|
export * from "./rules.js";
|
package/lib/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAA;AACtC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAChB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAA;AACtC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAChB,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAC5E,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA"}
|
package/lib/types/prose.d.ts
CHANGED
|
@@ -32,6 +32,8 @@ export interface UiProse {
|
|
|
32
32
|
decisionsHeader: (shown: number, total: number) => string;
|
|
33
33
|
/** Line shown when the session log holds no audit decisions. */
|
|
34
34
|
noDecisions: string;
|
|
35
|
+
/** Notice appended to `/rules decisions` when session-log audit is disabled on this host (ignorable marker not honored). */
|
|
36
|
+
auditDisabledNotice: string;
|
|
35
37
|
/** Rejection of a malformed decisions count. */
|
|
36
38
|
invalidDecisionsCount: (arg: string) => string;
|
|
37
39
|
/** One audit-decision row (dry-run rows mark the actual outcome). */
|
package/lib/types/prose.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../src/prose.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../src/prose.ts"],"names":[],"mappings":"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"}
|
package/lib/types/prose.js
CHANGED
|
@@ -22,6 +22,7 @@ const EN = {
|
|
|
22
22
|
usage: 'Usage: /rules [list | reload | decisions [n] | test <tool> <json-args>]',
|
|
23
23
|
decisionsHeader: (shown, total) => `Last ${shown} of ${total} permission decision(s) for this session:`,
|
|
24
24
|
noDecisions: 'No permission decisions recorded in this session yet.',
|
|
25
|
+
auditDisabledNotice: 'Session-log audit is disabled on this host: its Session.append predates the ignorable marker and would make sessions unresumable elsewhere (set allowUnmarkedAudit: true to opt back in).',
|
|
25
26
|
invalidDecisionsCount: arg => `Invalid decisions count "${arg}": give a positive integer (default 10).`,
|
|
26
27
|
decisionLine: (seq, action, toolName, ruleIndex, reason, dryRun, outcome) => {
|
|
27
28
|
const rule = ruleIndex === undefined ? '' : ` (rule ${ruleIndex + 1})`;
|
|
@@ -51,6 +52,7 @@ const ZH = {
|
|
|
51
52
|
usage: '用法:/rules [list | reload | decisions [n] | test <工具名> <json-参数>]',
|
|
52
53
|
decisionsHeader: (shown, total) => `本会话最近 ${shown}/${total} 条权限裁决:`,
|
|
53
54
|
noDecisions: '本会话还没有记录任何权限裁决。',
|
|
55
|
+
auditDisabledNotice: '本宿主上会话日志审计已停用:其 Session.append 早于 ignorable 标记支持,会令会话在其他宿主上无法恢复(设 allowUnmarkedAudit: true 可重新开启)。',
|
|
54
56
|
invalidDecisionsCount: arg => `无效的裁决条数 "${arg}":请给正整数(默认 10)。`,
|
|
55
57
|
decisionLine: (seq, action, toolName, ruleIndex, reason, dryRun, outcome) => {
|
|
56
58
|
const rule = ruleIndex === undefined ? '' : `(规则 ${ruleIndex + 1})`;
|
|
@@ -80,6 +82,7 @@ const ES = {
|
|
|
80
82
|
usage: 'Uso: /rules [list | reload | decisions [n] | test <herramienta> <json-args>]',
|
|
81
83
|
decisionsHeader: (shown, total) => `Últimas ${shown} de ${total} decisión(es) de permiso de esta sesión:`,
|
|
82
84
|
noDecisions: 'Esta sesión aún no registra decisiones de permiso.',
|
|
85
|
+
auditDisabledNotice: 'La auditoría del registro de sesión está desactivada en este host: su Session.append es anterior al marcador ignorable y haría las sesiones irrecuperables en otros hosts (establece allowUnmarkedAudit: true para reactivarla).',
|
|
83
86
|
invalidDecisionsCount: arg => `Cantidad de decisiones inválida "${arg}": indique un entero positivo (por defecto 10).`,
|
|
84
87
|
decisionLine: (seq, action, toolName, ruleIndex, reason, dryRun, outcome) => {
|
|
85
88
|
const rule = ruleIndex === undefined ? '' : ` (regla ${ruleIndex + 1})`;
|
|
@@ -109,6 +112,7 @@ const PT = {
|
|
|
109
112
|
usage: 'Uso: /rules [list | reload | decisions [n] | test <ferramenta> <json-args>]',
|
|
110
113
|
decisionsHeader: (shown, total) => `Últimas ${shown} de ${total} decisão(ões) de permissão desta sessão:`,
|
|
111
114
|
noDecisions: 'Esta sessão ainda não registrou decisões de permissão.',
|
|
115
|
+
auditDisabledNotice: 'A auditoria do registro da sessão está desativada neste host: seu Session.append é anterior ao marcador ignorable e tornaria as sessões irrecuperáveis em outros hosts (defina allowUnmarkedAudit: true para reativar).',
|
|
112
116
|
invalidDecisionsCount: arg => `Quantidade de decisões inválida "${arg}": informe um inteiro positivo (padrão 10).`,
|
|
113
117
|
decisionLine: (seq, action, toolName, ruleIndex, reason, dryRun, outcome) => {
|
|
114
118
|
const rule = ruleIndex === undefined ? '' : ` (regra ${ruleIndex + 1})`;
|
|
@@ -138,6 +142,7 @@ const HI = {
|
|
|
138
142
|
usage: 'उपयोग: /rules [list | reload | decisions [n] | test <टूल> <json-args>]',
|
|
139
143
|
decisionsHeader: (shown, total) => `इस सत्र के अंतिम ${shown}/${total} अनुमति निर्णय:`,
|
|
140
144
|
noDecisions: 'इस सत्र में अभी कोई अनुमति निर्णय दर्ज नहीं है।',
|
|
145
|
+
auditDisabledNotice: 'इस होस्ट पर सत्र-लॉग ऑडिट अक्षम है: इसका Session.append ignorable मार्कर से पुराना है और सत्र अन्य होस्ट पर अप्राप्य बन जाते (पुनः चालू करने के लिए allowUnmarkedAudit: true सेट करें)।',
|
|
141
146
|
invalidDecisionsCount: arg => `अमान्य निर्णय-संख्या "${arg}": एक धनात्मक पूर्णांक दें (डिफ़ॉल्ट 10)।`,
|
|
142
147
|
decisionLine: (seq, action, toolName, ruleIndex, reason, dryRun, outcome) => {
|
|
143
148
|
const rule = ruleIndex === undefined ? '' : ` (नियम ${ruleIndex + 1})`;
|
package/lib/types/prose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prose.js","sourceRoot":"","sources":["../../src/prose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prose.js","sourceRoot":"","sources":["../../src/prose.ts"],"names":[],"mappings":"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"}
|
package/lib/types/runtime.d.ts
CHANGED
|
@@ -44,6 +44,8 @@ export declare class PermissionRulesRuntime {
|
|
|
44
44
|
private readonly watchers;
|
|
45
45
|
/** Debounce timers per rule-file path. */
|
|
46
46
|
private readonly timers;
|
|
47
|
+
/** Whether the host honors the audit envelope's `ignorable` marker: unknown until the first decision (or peer-version check). */
|
|
48
|
+
private auditSupport;
|
|
47
49
|
constructor(ctx: Context, config: ResolvedConfig);
|
|
48
50
|
/** The shared compile options derived from config. */
|
|
49
51
|
private compileOptions;
|
|
@@ -121,13 +123,17 @@ export declare class PermissionRulesRuntime {
|
|
|
121
123
|
* Append the log-only `permissionRules/decision` audit event for every
|
|
122
124
|
* decision (passthrough included unless `audit: 'hits'`), requesting the
|
|
123
125
|
* envelope's `ignorable: true` marker so any harness build can load the
|
|
124
|
-
* log
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
126
|
+
* log. Hosts whose `Session.append` predates the marker (the rc.6 line)
|
|
127
|
+
* silently drop it, leaving sessions unresumable on stricter hosts — the
|
|
128
|
+
* runtime therefore detects such hosts BEFORE the first append (peer
|
|
129
|
+
* version) and re-checks after the first append (returned envelope), then
|
|
130
|
+
* degrades: session-log audit is disabled with a one-time warning unless
|
|
131
|
+
* `allowUnmarkedAudit: true` opts back in. `source` names the matched
|
|
132
|
+
* rule's file, or the nearest effective file on a passthrough; `cwd`
|
|
133
|
+
* names the workspace the rules were resolved for; `dryRun` marks
|
|
134
|
+
* would-be deny/ask hits under `enforce: false`. Agentless calls have no
|
|
135
|
+
* session to audit; append failures are contained so an audit hiccup can
|
|
136
|
+
* never change a permission decision.
|
|
131
137
|
* @param exec - the pending call.
|
|
132
138
|
* @param loaded - the rules in effect.
|
|
133
139
|
* @param hit - the first matching rule, or undefined for passthrough.
|
|
@@ -135,6 +141,12 @@ export declare class PermissionRulesRuntime {
|
|
|
135
141
|
* @param dryRun - mark the record as a would-be decision (dry-run mode).
|
|
136
142
|
*/
|
|
137
143
|
audit(exec: ToolExecution, loaded: LoadedRules, hit: RuleHit | undefined, outcome: DecisionOutcome, dryRun?: boolean): void;
|
|
144
|
+
/** Append one audit event through the session surface; the probe seam for host-capability detection. */
|
|
145
|
+
private appendAudit;
|
|
146
|
+
/** The installed `@deepseek-ai/dsh-session` version, or `null` when unresolvable (falls back to the append probe). */
|
|
147
|
+
private peerVersion;
|
|
148
|
+
/** One-time warning that session-log audit was disabled to keep session logs loadable. */
|
|
149
|
+
private warnUnmarkedAuditHost;
|
|
138
150
|
/**
|
|
139
151
|
* Execute the `/rules` command: bare `/rules` lists the active rules and
|
|
140
152
|
* their sources; `/rules reload` re-reads the chain; `/rules decisions
|
|
@@ -238,5 +250,16 @@ export declare class PermissionRulesRuntime {
|
|
|
238
250
|
* @param config - raw plugin config.
|
|
239
251
|
*/
|
|
240
252
|
export declare function apply(ctx: Context, config: Config): void;
|
|
253
|
+
/**
|
|
254
|
+
* Whether a `@deepseek-ai/dsh-session` version line predates the
|
|
255
|
+
* `ignorable` envelope-marker surface: the `0.1.0-rc.6` line and earlier
|
|
256
|
+
* silently drop the marker from `Session.append` options, so audit events
|
|
257
|
+
* written by those builds land unmarked and break resume on stricter
|
|
258
|
+
* hosts. Non-matching (post-rc.6, stable, or unresolvable) versions are
|
|
259
|
+
* treated as possibly-marker-aware and verified by the append probe.
|
|
260
|
+
* @param version - the installed peer version string.
|
|
261
|
+
* @returns true for the known-unmarked rc.1–rc.6 lines.
|
|
262
|
+
*/
|
|
263
|
+
export declare function isUnmarkedHostVersion(version: string): boolean;
|
|
241
264
|
export {};
|
|
242
265
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/lib/types/runtime.js
CHANGED
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
* @module dsh-permission-rules/runtime
|
|
12
12
|
*/
|
|
13
13
|
import { existsSync, readFileSync } from 'node:fs';
|
|
14
|
+
import { createRequire } from 'node:module';
|
|
14
15
|
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
15
16
|
import chokidar from 'chokidar';
|
|
16
17
|
import { resolveConfig } from "./config.js";
|
|
17
18
|
import { compileRules, compileRulesChain, describeRule, findUnreachableRules, matchRules, normalizeWorkspacePath, parseRulesDocument, PLATFORMS, RuleError } from "./rules.js";
|
|
18
19
|
import { DESCRIBE_TOKENS, UI_PROSE } from "./prose.js";
|
|
20
|
+
import { isMarkedAuditEvent } from "./events.js";
|
|
19
21
|
export const name = 'permission-rules';
|
|
20
22
|
/** Services required before the plugin mounts. */
|
|
21
23
|
export const inject = ['commands', 'tools'];
|
|
@@ -32,6 +34,8 @@ export class PermissionRulesRuntime {
|
|
|
32
34
|
watchers = new Map();
|
|
33
35
|
/** Debounce timers per rule-file path. */
|
|
34
36
|
timers = new Map();
|
|
37
|
+
/** Whether the host honors the audit envelope's `ignorable` marker: unknown until the first decision (or peer-version check). */
|
|
38
|
+
auditSupport = 'unknown';
|
|
35
39
|
constructor(ctx, config) {
|
|
36
40
|
this.ctx = ctx;
|
|
37
41
|
this.config = config;
|
|
@@ -233,13 +237,17 @@ export class PermissionRulesRuntime {
|
|
|
233
237
|
* Append the log-only `permissionRules/decision` audit event for every
|
|
234
238
|
* decision (passthrough included unless `audit: 'hits'`), requesting the
|
|
235
239
|
* envelope's `ignorable: true` marker so any harness build can load the
|
|
236
|
-
* log
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
240
|
+
* log. Hosts whose `Session.append` predates the marker (the rc.6 line)
|
|
241
|
+
* silently drop it, leaving sessions unresumable on stricter hosts — the
|
|
242
|
+
* runtime therefore detects such hosts BEFORE the first append (peer
|
|
243
|
+
* version) and re-checks after the first append (returned envelope), then
|
|
244
|
+
* degrades: session-log audit is disabled with a one-time warning unless
|
|
245
|
+
* `allowUnmarkedAudit: true` opts back in. `source` names the matched
|
|
246
|
+
* rule's file, or the nearest effective file on a passthrough; `cwd`
|
|
247
|
+
* names the workspace the rules were resolved for; `dryRun` marks
|
|
248
|
+
* would-be deny/ask hits under `enforce: false`. Agentless calls have no
|
|
249
|
+
* session to audit; append failures are contained so an audit hiccup can
|
|
250
|
+
* never change a permission decision.
|
|
243
251
|
* @param exec - the pending call.
|
|
244
252
|
* @param loaded - the rules in effect.
|
|
245
253
|
* @param hit - the first matching rule, or undefined for passthrough.
|
|
@@ -252,9 +260,18 @@ export class PermissionRulesRuntime {
|
|
|
252
260
|
const agent = exec.agent;
|
|
253
261
|
if (agent === undefined)
|
|
254
262
|
return;
|
|
263
|
+
if (this.auditSupport === 'unsupported')
|
|
264
|
+
return;
|
|
265
|
+
if (this.auditSupport === 'unknown' && !this.config.allowUnmarkedAudit) {
|
|
266
|
+
const version = this.peerVersion();
|
|
267
|
+
if (version !== null && isUnmarkedHostVersion(version)) {
|
|
268
|
+
this.auditSupport = 'unsupported';
|
|
269
|
+
this.warnUnmarkedAuditHost();
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
255
273
|
try {
|
|
256
|
-
|
|
257
|
-
agent.session.append('permissionRules/decision', {
|
|
274
|
+
const result = this.appendAudit(agent, {
|
|
258
275
|
toolName: exec.name,
|
|
259
276
|
callId: exec.callId,
|
|
260
277
|
source: hit === undefined ? (loaded.sources[0] ?? '') : (loaded.sources[hit.rule.sourceIndex] ?? ''),
|
|
@@ -263,12 +280,39 @@ export class PermissionRulesRuntime {
|
|
|
263
280
|
cwd: loaded.cwd,
|
|
264
281
|
...hit !== undefined ? { ruleIndex: hit.ruleIndex, reason: hit.rule.reason } : {},
|
|
265
282
|
...dryRun ? { dryRun: true } : {},
|
|
266
|
-
}
|
|
283
|
+
});
|
|
284
|
+
if (this.auditSupport === 'unknown' && !this.config.allowUnmarkedAudit) {
|
|
285
|
+
if (isMarkedAuditEvent(result)) {
|
|
286
|
+
this.auditSupport = 'supported';
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
this.auditSupport = 'unsupported';
|
|
290
|
+
this.warnUnmarkedAuditHost();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
267
293
|
}
|
|
268
294
|
catch (error) {
|
|
269
295
|
this.ctx.logger.warn(`permission-rules: audit append failed: ${String(error)}`);
|
|
270
296
|
}
|
|
271
297
|
}
|
|
298
|
+
/** Append one audit event through the session surface; the probe seam for host-capability detection. */
|
|
299
|
+
appendAudit(agent, data) {
|
|
300
|
+
return agent.session.append('permissionRules/decision', data, { ignorable: true });
|
|
301
|
+
}
|
|
302
|
+
/** The installed `@deepseek-ai/dsh-session` version, or `null` when unresolvable (falls back to the append probe). */
|
|
303
|
+
peerVersion() {
|
|
304
|
+
try {
|
|
305
|
+
const pkg = createRequire(import.meta.url)('@deepseek-ai/dsh-session/package.json');
|
|
306
|
+
return typeof pkg.version === 'string' ? pkg.version : null;
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/** One-time warning that session-log audit was disabled to keep session logs loadable. */
|
|
313
|
+
warnUnmarkedAuditHost() {
|
|
314
|
+
this.ctx.logger.warn('permission-rules: this host drops the ignorable marker on audit events (Session.append predates it), which would make sessions unresumable on stricter harness builds — session-log audit is disabled; set allowUnmarkedAudit: true to opt back in, and repair existing logs with scripts/repair-session-logs.mjs (see https://github.com/PerryLink/dsh-permission-rules/issues/2)');
|
|
315
|
+
}
|
|
272
316
|
/**
|
|
273
317
|
* Execute the `/rules` command: bare `/rules` lists the active rules and
|
|
274
318
|
* their sources; `/rules reload` re-reads the chain; `/rules decisions
|
|
@@ -435,14 +479,20 @@ export class PermissionRulesRuntime {
|
|
|
435
479
|
/** Render the session's `permissionRules/decision` audit trail, newest last. */
|
|
436
480
|
decisionsCommand(invocation, count, prose) {
|
|
437
481
|
const decisions = invocation.agent.session.events.filter(event => event.type === 'permissionRules/decision');
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
const lines = [prose.decisionsHeader(shown.length, decisions.length)];
|
|
442
|
-
for (const event of shown) {
|
|
443
|
-
const data = event.data;
|
|
444
|
-
lines.push(prose.decisionLine(event.seq, data.action, data.toolName, data.ruleIndex, data.reason, data.dryRun === true, data.outcome));
|
|
482
|
+
const lines = [];
|
|
483
|
+
if (decisions.length === 0) {
|
|
484
|
+
lines.push(prose.noDecisions);
|
|
445
485
|
}
|
|
486
|
+
else {
|
|
487
|
+
const shown = decisions.slice(-count);
|
|
488
|
+
lines.push(prose.decisionsHeader(shown.length, decisions.length));
|
|
489
|
+
for (const event of shown) {
|
|
490
|
+
const data = event.data;
|
|
491
|
+
lines.push(prose.decisionLine(event.seq, data.action, data.toolName, data.ruleIndex, data.reason, data.dryRun === true, data.outcome));
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
if (this.auditSupport === 'unsupported')
|
|
495
|
+
lines.push(prose.auditDisabledNotice);
|
|
446
496
|
return { kind: 'success', text: lines.join('\n') };
|
|
447
497
|
}
|
|
448
498
|
/**
|
|
@@ -698,6 +748,22 @@ export function apply(ctx, config) {
|
|
|
698
748
|
handler: invocation => runtime.command(invocation),
|
|
699
749
|
});
|
|
700
750
|
}
|
|
751
|
+
/**
|
|
752
|
+
* Whether a `@deepseek-ai/dsh-session` version line predates the
|
|
753
|
+
* `ignorable` envelope-marker surface: the `0.1.0-rc.6` line and earlier
|
|
754
|
+
* silently drop the marker from `Session.append` options, so audit events
|
|
755
|
+
* written by those builds land unmarked and break resume on stricter
|
|
756
|
+
* hosts. Non-matching (post-rc.6, stable, or unresolvable) versions are
|
|
757
|
+
* treated as possibly-marker-aware and verified by the append probe.
|
|
758
|
+
* @param version - the installed peer version string.
|
|
759
|
+
* @returns true for the known-unmarked rc.1–rc.6 lines.
|
|
760
|
+
*/
|
|
761
|
+
export function isUnmarkedHostVersion(version) {
|
|
762
|
+
const match = /^0\.1\.0-rc\.(\d+)$/.exec(version.trim());
|
|
763
|
+
if (match === null)
|
|
764
|
+
return false;
|
|
765
|
+
return Number(match[1]) <= 6;
|
|
766
|
+
}
|
|
701
767
|
/**
|
|
702
768
|
* Identity candidates for the `agents` match dimension, derived from the
|
|
703
769
|
* caller agent's session header: `main` for top-level sessions, `subagent`
|