@dsh-enhanced/assistant-policy 0.1.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.
Files changed (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -0
  3. package/cordis.patch.yml +13 -0
  4. package/lib/approval-reviewer.d.ts +39 -0
  5. package/lib/approval-reviewer.d.ts.map +1 -0
  6. package/lib/approval-reviewer.js +119 -0
  7. package/lib/approval-reviewer.js.map +1 -0
  8. package/lib/auto-review.d.ts +22 -0
  9. package/lib/auto-review.d.ts.map +1 -0
  10. package/lib/auto-review.js +442 -0
  11. package/lib/auto-review.js.map +1 -0
  12. package/lib/evaluator.d.ts +4 -0
  13. package/lib/evaluator.d.ts.map +1 -0
  14. package/lib/evaluator.js +127 -0
  15. package/lib/evaluator.js.map +1 -0
  16. package/lib/index.d.ts +20 -0
  17. package/lib/index.d.ts.map +1 -0
  18. package/lib/index.js +16 -0
  19. package/lib/index.js.map +1 -0
  20. package/lib/ledger.d.ts +253 -0
  21. package/lib/ledger.d.ts.map +1 -0
  22. package/lib/ledger.js +891 -0
  23. package/lib/ledger.js.map +1 -0
  24. package/lib/redaction.d.ts +2 -0
  25. package/lib/redaction.d.ts.map +1 -0
  26. package/lib/redaction.js +21 -0
  27. package/lib/redaction.js.map +1 -0
  28. package/lib/service.d.ts +124 -0
  29. package/lib/service.d.ts.map +1 -0
  30. package/lib/service.js +773 -0
  31. package/lib/service.js.map +1 -0
  32. package/lib/session-event-registration.d.ts +23 -0
  33. package/lib/session-event-registration.d.ts.map +1 -0
  34. package/lib/session-event-registration.js +384 -0
  35. package/lib/session-event-registration.js.map +1 -0
  36. package/lib/settlement.d.ts +30 -0
  37. package/lib/settlement.d.ts.map +1 -0
  38. package/lib/settlement.js +54 -0
  39. package/lib/settlement.js.map +1 -0
  40. package/lib/sqlite.d.ts +9 -0
  41. package/lib/sqlite.d.ts.map +1 -0
  42. package/lib/sqlite.js +276 -0
  43. package/lib/sqlite.js.map +1 -0
  44. package/lib/tool-risk.d.ts +10 -0
  45. package/lib/tool-risk.d.ts.map +1 -0
  46. package/lib/tool-risk.js +321 -0
  47. package/lib/tool-risk.js.map +1 -0
  48. package/lib/types.d.ts +73 -0
  49. package/lib/types.d.ts.map +1 -0
  50. package/lib/types.js +2 -0
  51. package/lib/types.js.map +1 -0
  52. package/lib/version.d.ts +2 -0
  53. package/lib/version.d.ts.map +1 -0
  54. package/lib/version.js +2 -0
  55. package/lib/version.js.map +1 -0
  56. package/package.json +98 -0
package/lib/types.d.ts ADDED
@@ -0,0 +1,73 @@
1
+ export type PolicyEffect = 'allow' | 'deny';
2
+ export type PolicySubjectKind = 'agent' | 'background' | 'external';
3
+ export type PolicyResourceKind = 'automation' | 'credential' | 'evolution' | 'filesystem' | 'memory' | 'message' | 'network' | 'tool' | 'wiki';
4
+ export type PolicyInitiator = 'background' | 'external' | 'foreground';
5
+ export interface PolicySubject {
6
+ kind: PolicySubjectKind;
7
+ id: string;
8
+ workspace?: string;
9
+ principal?: string;
10
+ }
11
+ export interface PolicyResource {
12
+ kind: PolicyResourceKind;
13
+ id: string;
14
+ }
15
+ export interface PolicyContext {
16
+ initiator: PolicyInitiator;
17
+ }
18
+ export interface PolicyRequest {
19
+ subject: PolicySubject;
20
+ action: string;
21
+ resource: PolicyResource;
22
+ context: PolicyContext;
23
+ }
24
+ export interface PolicySubjectMatcher {
25
+ kind?: PolicySubjectKind | '*';
26
+ id?: string;
27
+ workspace?: string;
28
+ principal?: string;
29
+ }
30
+ export interface PolicyResourceMatcher {
31
+ kind?: PolicyResourceKind | '*';
32
+ id?: string;
33
+ }
34
+ export interface PolicyContextMatcher {
35
+ initiators?: PolicyInitiator[];
36
+ }
37
+ export interface PolicyRule {
38
+ id: string;
39
+ effect: PolicyEffect;
40
+ subject?: PolicySubjectMatcher;
41
+ actions?: string[];
42
+ resource?: PolicyResourceMatcher;
43
+ context?: PolicyContextMatcher;
44
+ budget?: PolicyBudgetCharge;
45
+ }
46
+ export interface PolicyBudgetCharge {
47
+ id: string;
48
+ amount: number;
49
+ }
50
+ export type DecisionReasonCode = 'default-deny' | 'budget-exhausted' | 'budget-idempotency-required' | 'budget-not-configured' | 'emergency-stop' | 'missing-agent' | 'missing-agent-preset' | 'missing-workspace' | 'rule-allow' | 'rule-deny' | 'tool-default-allow';
51
+ export interface PolicyDecision {
52
+ effect: PolicyEffect;
53
+ reasonCode: DecisionReasonCode;
54
+ ruleId: string | undefined;
55
+ budget?: Readonly<PolicyBudgetCharge>;
56
+ }
57
+ export interface CompiledPolicy {
58
+ readonly rules: readonly CompiledPolicyRule[];
59
+ }
60
+ export interface CompiledPolicyRule {
61
+ readonly id: string;
62
+ readonly effect: PolicyEffect;
63
+ readonly subject?: Readonly<PolicySubjectMatcher>;
64
+ readonly actions?: readonly string[];
65
+ readonly resource?: Readonly<PolicyResourceMatcher>;
66
+ readonly context?: Readonly<{
67
+ initiators?: readonly PolicyInitiator[];
68
+ }>;
69
+ readonly budget?: Readonly<PolicyBudgetCharge>;
70
+ readonly specificity: number;
71
+ readonly order: number;
72
+ }
73
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAA;AAE3C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAA;AAEnE,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,YAAY,GAIZ,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAA;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAA;IACxB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,eAAe,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,aAAa,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,iBAAiB,GAAG,GAAG,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,kBAAkB,GAAG,GAAG,CAAA;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,kBAAkB,GAClB,6BAA6B,GAC7B,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,sBAAsB,GACtB,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,oBAAoB,CAAA;AAExB,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAA;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAA;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;QAC1B,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;KACxC,CAAC,CAAA;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB"}
package/lib/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const version = "0.1.3";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA"}
package/lib/version.js ADDED
@@ -0,0 +1,2 @@
1
+ export const version = '0.1.3';
2
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA"}
package/package.json ADDED
@@ -0,0 +1,98 @@
1
+ {
2
+ "name": "@dsh-enhanced/assistant-policy",
3
+ "version": "0.1.3",
4
+ "description": "A DeepSeek Harness plugin for Assistant Policy.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./lib/index.js",
8
+ "types": "./lib/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./lib/index.d.ts",
12
+ "default": "./lib/index.js"
13
+ },
14
+ "./cordis.patch.yml": "./cordis.patch.yml",
15
+ "./package.json": "./package.json"
16
+ },
17
+ "files": [
18
+ "lib",
19
+ "cordis.patch.yml",
20
+ "README.md",
21
+ "LICENSE"
22
+ ],
23
+ "engines": {
24
+ "node": "^22.19.0 || >=24.0.0"
25
+ },
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/22-ai-00/dsh-enhanced.git",
32
+ "directory": "plugins/assistant-policy"
33
+ },
34
+ "keywords": [
35
+ "deepseek",
36
+ "deepseek-harness",
37
+ "dsh-plugin"
38
+ ],
39
+ "dsh": {
40
+ "bundle": {
41
+ "patch": "./cordis.patch.yml"
42
+ }
43
+ },
44
+ "dependencies": {
45
+ "@deepseek-ai/schemastery": "3.18.1"
46
+ },
47
+ "peerDependencies": {
48
+ "@deepseek-ai/cordis": "^4.0.1",
49
+ "@deepseek-ai/dsh-agent": ">=0.1.0-rc.8 <0.2.0",
50
+ "@deepseek-ai/dsh-llm": ">=0.1.0-rc.8 <0.2.0",
51
+ "@deepseek-ai/dsh-permission-presets": ">=0.1.0-rc.8 <0.2.0",
52
+ "@deepseek-ai/dsh-session": ">=0.1.0-rc.8 <0.2.0",
53
+ "@deepseek-ai/dsh-tools": ">=0.1.0-rc.8 <0.2.0",
54
+ "@deepseek-ai/dsh-user-approval": ">=0.1.0-rc.8 <0.2.0"
55
+ },
56
+ "peerDependenciesMeta": {
57
+ "@deepseek-ai/cordis": {
58
+ "optional": true
59
+ },
60
+ "@deepseek-ai/dsh-agent": {
61
+ "optional": true
62
+ },
63
+ "@deepseek-ai/dsh-llm": {
64
+ "optional": true
65
+ },
66
+ "@deepseek-ai/dsh-permission-presets": {
67
+ "optional": true
68
+ },
69
+ "@deepseek-ai/dsh-session": {
70
+ "optional": true
71
+ },
72
+ "@deepseek-ai/dsh-tools": {
73
+ "optional": true
74
+ },
75
+ "@deepseek-ai/dsh-user-approval": {
76
+ "optional": true
77
+ }
78
+ },
79
+ "devDependencies": {
80
+ "@deepseek-ai/cordis": "4.0.1",
81
+ "@deepseek-ai/dsh-agent": "0.1.0-rc.8",
82
+ "@deepseek-ai/dsh-agent-loop": "0.1.0-rc.8",
83
+ "@deepseek-ai/dsh-llm": "0.1.0-rc.8",
84
+ "@deepseek-ai/dsh-permission-presets": "0.1.0-rc.8",
85
+ "@deepseek-ai/dsh-session": "0.1.0-rc.8",
86
+ "@deepseek-ai/dsh-system-prompt": "0.1.0-rc.8",
87
+ "@deepseek-ai/dsh-tools": "0.1.0-rc.8",
88
+ "@deepseek-ai/dsh-user-approval": "0.1.0-rc.8",
89
+ "@types/node": "22.20.0",
90
+ "typescript": "6.0.3",
91
+ "vitest": "4.1.8"
92
+ },
93
+ "scripts": {
94
+ "build": "tsc -p tsconfig.build.json",
95
+ "test": "vitest run",
96
+ "typecheck": "tsc -p tsconfig.json --noEmit"
97
+ }
98
+ }