@agenshield/daemon 0.6.2 → 0.7.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.
Files changed (50) hide show
  1. package/auth/middleware.d.ts.map +1 -1
  2. package/command-sync.d.ts.map +1 -1
  3. package/config/paths.d.ts +12 -0
  4. package/config/paths.d.ts.map +1 -1
  5. package/events/emitter.d.ts +22 -1
  6. package/events/emitter.d.ts.map +1 -1
  7. package/index.d.ts +1 -1
  8. package/index.d.ts.map +1 -1
  9. package/index.js +8873 -6107
  10. package/main.js +8745 -5982
  11. package/package.json +5 -4
  12. package/policy/url-matcher.d.ts +63 -0
  13. package/policy/url-matcher.d.ts.map +1 -0
  14. package/proxy/pool.d.ts +42 -0
  15. package/proxy/pool.d.ts.map +1 -0
  16. package/proxy/server.d.ts +19 -0
  17. package/proxy/server.d.ts.map +1 -0
  18. package/routes/config.d.ts.map +1 -1
  19. package/routes/exec.d.ts.map +1 -1
  20. package/routes/index.d.ts.map +1 -1
  21. package/routes/marketplace.d.ts +2 -0
  22. package/routes/marketplace.d.ts.map +1 -1
  23. package/routes/openclaw.d.ts +8 -0
  24. package/routes/openclaw.d.ts.map +1 -0
  25. package/routes/rpc.d.ts.map +1 -1
  26. package/routes/secrets.d.ts.map +1 -1
  27. package/routes/skills.d.ts.map +1 -1
  28. package/routes/sse.d.ts.map +1 -1
  29. package/routes/status.d.ts +3 -0
  30. package/routes/status.d.ts.map +1 -1
  31. package/secret-sync.d.ts +33 -0
  32. package/secret-sync.d.ts.map +1 -0
  33. package/server.d.ts.map +1 -1
  34. package/services/marketplace.d.ts +16 -2
  35. package/services/marketplace.d.ts.map +1 -1
  36. package/services/openclaw-config.d.ts +34 -1
  37. package/services/openclaw-config.d.ts.map +1 -1
  38. package/services/policy-markdown.d.ts +18 -0
  39. package/services/policy-markdown.d.ts.map +1 -0
  40. package/services/skill-analyzer.d.ts +4 -0
  41. package/services/skill-analyzer.d.ts.map +1 -1
  42. package/services/skill-deps.d.ts +29 -0
  43. package/services/skill-deps.d.ts.map +1 -0
  44. package/services/skill-lifecycle.d.ts +8 -0
  45. package/services/skill-lifecycle.d.ts.map +1 -1
  46. package/ui-assets/assets/index-DJILlJ1g.js +964 -0
  47. package/ui-assets/index.html +1 -1
  48. package/watchers/skills.d.ts +26 -12
  49. package/watchers/skills.d.ts.map +1 -1
  50. package/ui-assets/assets/index-DRQK9Oxg.js +0 -942
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>AgenShield Dashboard</title>
8
- <script type="module" crossorigin src="/assets/index-DRQK9Oxg.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DJILlJ1g.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-CC_zbvUx.css">
10
10
  </head>
11
11
  <body>
@@ -2,8 +2,8 @@
2
2
  * Skills Watcher
3
3
  *
4
4
  * Monitors the agent's skills directory for unapproved skills.
5
- * Unapproved skills are moved to a quarantine directory.
6
- * Follows the pattern of the existing security watcher.
5
+ * Unapproved skills are moved to the local marketplace cache for analysis.
6
+ * Also detects mismatches between openclaw.json entries and the approved list.
7
7
  */
8
8
  export interface ApprovedSkillEntry {
9
9
  name: string;
@@ -11,21 +11,34 @@ export interface ApprovedSkillEntry {
11
11
  hash?: string;
12
12
  publisher?: string;
13
13
  }
14
- export interface QuarantinedSkillInfo {
14
+ export interface UntrustedSkillInfo {
15
15
  name: string;
16
- quarantinedAt: string;
16
+ detectedAt: string;
17
17
  originalPath: string;
18
18
  reason: string;
19
19
  }
20
20
  interface SkillsWatcherCallbacks {
21
- onQuarantined?: (info: QuarantinedSkillInfo) => void;
21
+ onUntrustedDetected?: (info: {
22
+ name: string;
23
+ reason: string;
24
+ }) => void;
22
25
  onApproved?: (name: string) => void;
23
26
  }
27
+ /**
28
+ * Compute a SHA-256 hash of all files in a skill directory.
29
+ * Files are sorted by relative path so the hash is deterministic.
30
+ * Returns null if the directory doesn't exist or has no files.
31
+ */
32
+ export declare function computeSkillHash(skillDir: string): string | null;
33
+ /**
34
+ * Update the hash for an approved skill in approved-skills.json.
35
+ */
36
+ export declare function updateApprovedHash(skillName: string, hash: string): void;
24
37
  /**
25
38
  * Start the skills watcher
26
39
  *
27
40
  * @param watchDir - The skills directory to watch (e.g., $HOME/.openclaw/skills)
28
- * @param cbs - Callbacks for quarantine/approve events
41
+ * @param cbs - Callbacks for untrusted/approve events
29
42
  * @param pollIntervalMs - Polling fallback interval (default: 30 seconds)
30
43
  */
31
44
  export declare function startSkillsWatcher(watchDir: string, cbs?: SkillsWatcherCallbacks, pollIntervalMs?: number): void;
@@ -34,30 +47,31 @@ export declare function startSkillsWatcher(watchDir: string, cbs?: SkillsWatcher
34
47
  */
35
48
  export declare function stopSkillsWatcher(): void;
36
49
  /**
37
- * Approve a skill (move from quarantine back to skills directory)
50
+ * Approve a skill add to approved list.
51
+ * The actual file installation from marketplace cache is handled by the toggle/install routes.
38
52
  */
39
53
  export declare function approveSkill(skillName: string): {
40
54
  success: boolean;
41
55
  error?: string;
42
56
  };
43
57
  /**
44
- * Reject a quarantined skill (permanently delete)
58
+ * Reject an untrusted skill (permanently delete from marketplace cache)
45
59
  */
46
60
  export declare function rejectSkill(skillName: string): {
47
61
  success: boolean;
48
62
  error?: string;
49
63
  };
50
64
  /**
51
- * Revoke an approved skill (remove from approved list and quarantine)
65
+ * Revoke an approved skill (remove from approved list and move to marketplace cache)
52
66
  */
53
67
  export declare function revokeSkill(skillName: string): {
54
68
  success: boolean;
55
69
  error?: string;
56
70
  };
57
71
  /**
58
- * List quarantined skills
72
+ * List untrusted skills: skills in the marketplace cache that are NOT approved.
59
73
  */
60
- export declare function listQuarantined(): QuarantinedSkillInfo[];
74
+ export declare function listUntrusted(): UntrustedSkillInfo[];
61
75
  /**
62
76
  * List approved skills
63
77
  */
@@ -75,7 +89,7 @@ export declare function getSkillsDir(): string;
75
89
  * Used by marketplace install to pre-approve before writing files,
76
90
  * preventing a race condition with the watcher quarantining new skills.
77
91
  */
78
- export declare function addToApprovedList(skillName: string, publisher?: string): void;
92
+ export declare function addToApprovedList(skillName: string, publisher?: string, hash?: string): void;
79
93
  /**
80
94
  * Remove a skill from the approved list (without quarantining).
81
95
  * Used for cleanup when marketplace install fails after pre-approval.
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/watchers/skills.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACrD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAkID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,sBAA2B,EAChC,cAAc,SAAQ,GACrB,IAAI,CAiCN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAiBxC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAmCpF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAenF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAkBnF;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,EAAE,CAyBxD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAU7E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAM9D"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/watchers/skills.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4BH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAyND;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAahE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOxE;AA4GD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,sBAA2B,EAChC,cAAc,SAAQ,GACrB,IAAI,CAiCN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAiBxC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2CpF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAUnF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAkBnF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,kBAAkB,EAAE,CAepD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,EAAE,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAW5F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAM9D"}