@phosphor-dom/sentinel-ai 0.2.0 → 0.4.0

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 (79) hide show
  1. package/README.md +41 -0
  2. package/dist/cli/commands/agents.d.ts.map +1 -1
  3. package/dist/cli/commands/agents.js +10 -5
  4. package/dist/cli/commands/agents.js.map +1 -1
  5. package/dist/cli/commands/dashboard.js +43 -41
  6. package/dist/cli/commands/dashboard.js.map +1 -1
  7. package/dist/cli/commands/events.d.ts.map +1 -1
  8. package/dist/cli/commands/events.js +5 -7
  9. package/dist/cli/commands/events.js.map +1 -1
  10. package/dist/cli/commands/report.d.ts.map +1 -1
  11. package/dist/cli/commands/report.js +5 -4
  12. package/dist/cli/commands/report.js.map +1 -1
  13. package/dist/cli/commands/scan.d.ts +1 -1
  14. package/dist/cli/commands/scan.d.ts.map +1 -1
  15. package/dist/cli/commands/scan.js +16 -12
  16. package/dist/cli/commands/scan.js.map +1 -1
  17. package/dist/cli/index.js +25 -26
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/utils/format.d.ts +13 -0
  20. package/dist/cli/utils/format.d.ts.map +1 -1
  21. package/dist/cli/utils/format.js +66 -16
  22. package/dist/cli/utils/format.js.map +1 -1
  23. package/dist/core/correlation-engine.js +1 -1
  24. package/dist/core/correlation-engine.js.map +1 -1
  25. package/dist/core/event-bus.d.ts +1 -1
  26. package/dist/core/event-bus.d.ts.map +1 -1
  27. package/dist/core/inter-agent-communication.d.ts +1 -1
  28. package/dist/core/inter-agent-communication.d.ts.map +1 -1
  29. package/dist/core/inter-agent-communication.js +1 -1
  30. package/dist/core/inter-agent-communication.js.map +1 -1
  31. package/dist/core/orchestrator.d.ts +9 -5
  32. package/dist/core/orchestrator.d.ts.map +1 -1
  33. package/dist/core/orchestrator.js +254 -13
  34. package/dist/core/orchestrator.js.map +1 -1
  35. package/dist/core/provider-abstraction.d.ts +7 -0
  36. package/dist/core/provider-abstraction.d.ts.map +1 -1
  37. package/dist/core/provider-abstraction.js +118 -5
  38. package/dist/core/provider-abstraction.js.map +1 -1
  39. package/dist/index.d.ts +25 -21
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +17 -13
  42. package/dist/index.js.map +1 -1
  43. package/dist/mcp/client.d.ts +10 -0
  44. package/dist/mcp/client.d.ts.map +1 -0
  45. package/dist/mcp/client.js +50 -0
  46. package/dist/mcp/client.js.map +1 -0
  47. package/dist/mcp/index.d.ts +7 -0
  48. package/dist/mcp/index.d.ts.map +1 -0
  49. package/dist/mcp/index.js +11 -0
  50. package/dist/mcp/index.js.map +1 -0
  51. package/dist/mcp/server.d.ts +10 -0
  52. package/dist/mcp/server.d.ts.map +1 -0
  53. package/dist/mcp/server.js +28 -0
  54. package/dist/mcp/server.js.map +1 -0
  55. package/dist/mcp/tools.d.ts +8 -0
  56. package/dist/mcp/tools.d.ts.map +1 -0
  57. package/dist/mcp/tools.js +465 -0
  58. package/dist/mcp/tools.js.map +1 -0
  59. package/dist/mcp/types.d.ts +41 -0
  60. package/dist/mcp/types.d.ts.map +1 -0
  61. package/dist/mcp/types.js +2 -0
  62. package/dist/mcp/types.js.map +1 -0
  63. package/dist/skills/builtins.d.ts +3 -0
  64. package/dist/skills/builtins.d.ts.map +1 -0
  65. package/dist/skills/builtins.js +312 -0
  66. package/dist/skills/builtins.js.map +1 -0
  67. package/dist/skills/index.d.ts +5 -0
  68. package/dist/skills/index.d.ts.map +1 -0
  69. package/dist/skills/index.js +6 -0
  70. package/dist/skills/index.js.map +1 -0
  71. package/dist/skills/registry.d.ts +19 -0
  72. package/dist/skills/registry.d.ts.map +1 -0
  73. package/dist/skills/registry.js +72 -0
  74. package/dist/skills/registry.js.map +1 -0
  75. package/dist/skills/types.d.ts +25 -0
  76. package/dist/skills/types.d.ts.map +1 -0
  77. package/dist/skills/types.js +2 -0
  78. package/dist/skills/types.js.map +1 -0
  79. package/package.json +4 -2
@@ -1,24 +1,63 @@
1
+ // OpenCode-style theme (One Dark palette)
2
+ const OC = {
3
+ reset: "\x1b[0m",
4
+ bold: "\x1b[1m",
5
+ dim: "\x1b[2m",
6
+ fg: {
7
+ text: "\x1b[38;2;171;178;191m",
8
+ muted: "\x1b[38;2;92;99;112m",
9
+ primary: "\x1b[38;2;97;175;239m",
10
+ secondary: "\x1b[38;2;198;120;221m",
11
+ success: "\x1b[38;2;152;195;121m",
12
+ error: "\x1b[38;2;224;108;117m",
13
+ warning: "\x1b[38;2;229;192;123m",
14
+ info: "\x1b[38;2;86;182;194m",
15
+ white: "\x1b[38;2;220;223;228m",
16
+ },
17
+ bg: {
18
+ error: "\x1b[48;2;224;108;117m",
19
+ warning: "\x1b[48;2;229;192;123m",
20
+ success: "\x1b[48;2;152;195;121m",
21
+ info: "\x1b[48;2;86;182;194m",
22
+ panel: "\x1b[48;2;30;30;46m",
23
+ element: "\x1b[48;2;40;44;52m",
24
+ },
25
+ };
26
+ function tag(s, t) {
27
+ return t + s + OC.reset;
28
+ }
29
+ export function text(s) { return tag(s, OC.fg.text); }
30
+ export function muted(s) { return tag(s, OC.fg.muted); }
31
+ export function bold(s) { return tag(s, OC.bold); }
32
+ export function dim(s) { return tag(s, OC.dim); }
33
+ export function primary(s) { return tag(s, OC.fg.primary); }
34
+ export function secondary(s) { return tag(s, OC.fg.secondary); }
35
+ export function success(s) { return tag(s, OC.fg.success); }
36
+ export function error(s) { return tag(s, OC.fg.error); }
37
+ export function warning(s) { return tag(s, OC.fg.warning); }
38
+ export function info(s) { return tag(s, OC.fg.info); }
39
+ export function white(s) { return tag(s, OC.fg.white); }
1
40
  export function severityColor(severity) {
2
41
  switch (severity.toLowerCase()) {
3
- case "critical": return "\x1b[1;41mCRITICAL\x1b[0m";
4
- case "high": return "\x1b[1;31mHIGH \x1b[0m";
5
- case "medium": return "\x1b[1;33mMEDIUM \x1b[0m";
6
- case "low": return "\x1b[1;34mLOW \x1b[0m";
7
- case "info": return "\x1b[1;37mINFO \x1b[0m";
8
- default: return `\x1b[1;37m${severity.padEnd(8)}\x1b[0m`;
42
+ case "critical": return `${OC.bg.error}${OC.bold} CRITICAL ${OC.reset}`;
43
+ case "high": return `${OC.fg.error}${OC.bold}\u25A0${OC.reset} HIGH `;
44
+ case "medium": return `${OC.fg.warning}${OC.bold}\u25A0${OC.reset} MEDIUM `;
45
+ case "low": return `${OC.fg.info}${OC.bold}\u25A0${OC.reset} LOW `;
46
+ case "info": return `${OC.fg.muted}\u25A0 INFO `;
47
+ default: return `${OC.fg.muted}${severity.padEnd(8)}`;
9
48
  }
10
49
  }
11
50
  export function statusIcon(status) {
12
51
  switch (status) {
13
- case "completed": return "\u2705";
14
- case "failed": return "\u274C";
15
- case "active": return "\u23F3";
16
- case "pending": return "\u2B1C";
17
- case "idle": return "\u2B1C";
18
- case "busy": return "\u23F3";
19
- case "error": return "\u274C";
20
- case "offline": return "\u26D4";
21
- default: return "\u2753";
52
+ case "completed": return `${OC.fg.success}\u2713${OC.reset}`;
53
+ case "failed": return `${OC.fg.error}\u2717${OC.reset}`;
54
+ case "active": return `${OC.fg.warning}\u25CF${OC.reset}`;
55
+ case "pending": return `${OC.fg.muted}\u25CB${OC.reset}`;
56
+ case "idle": return `${OC.fg.muted}\u25CB${OC.reset}`;
57
+ case "busy": return `${OC.fg.warning}\u25CF${OC.reset}`;
58
+ case "error": return `${OC.fg.error}\u2717${OC.reset}`;
59
+ case "offline": return `${OC.fg.error}\u2205${OC.reset}`;
60
+ default: return `${OC.fg.muted}?${OC.reset}`;
22
61
  }
23
62
  }
24
63
  export function bar(value, max, width = 20) {
@@ -26,7 +65,9 @@ export function bar(value, max, width = 20) {
26
65
  const empty = width - filled;
27
66
  const filledChar = "\u2588";
28
67
  const emptyChar = "\u2591";
29
- return filledChar.repeat(filled) + emptyChar.repeat(empty);
68
+ return (OC.fg.primary + filledChar.repeat(filled) +
69
+ OC.fg.muted + emptyChar.repeat(empty) +
70
+ OC.reset);
30
71
  }
31
72
  export function timestamp() {
32
73
  return new Date().toLocaleTimeString("en-US", { hour12: false });
@@ -36,4 +77,13 @@ export function truncate(s, max = 60) {
36
77
  return s;
37
78
  return s.slice(0, max - 3) + "...";
38
79
  }
80
+ export function header() {
81
+ const line = "\u2500".repeat(56);
82
+ return (`${OC.fg.muted}${line}${OC.reset}\n` +
83
+ ` ${OC.fg.primary}${OC.bold}\u25CF Sentinel Security Platform${OC.reset} ${OC.fg.muted}${OC.dim}v0.3.0${OC.reset}\n` +
84
+ `${OC.fg.muted}${line}${OC.reset}`);
85
+ }
86
+ export function borderLine() {
87
+ return OC.fg.muted + "\u2500".repeat(56) + OC.reset;
88
+ }
39
89
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/cli/utils/format.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,KAAK,UAAU,CAAC,CAAC,OAAO,2BAA2B,CAAA;QACnD,KAAK,MAAM,CAAC,CAAK,OAAO,2BAA2B,CAAA;QACnD,KAAK,QAAQ,CAAC,CAAG,OAAO,2BAA2B,CAAA;QACnD,KAAK,KAAK,CAAC,CAAM,OAAO,2BAA2B,CAAA;QACnD,KAAK,MAAM,CAAC,CAAK,OAAO,2BAA2B,CAAA;QACnD,OAAO,CAAC,CAAS,OAAO,aAAa,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAA;QACjC,KAAK,QAAQ,CAAC,CAAI,OAAO,QAAQ,CAAA;QACjC,KAAK,QAAQ,CAAC,CAAI,OAAO,QAAQ,CAAA;QACjC,KAAK,SAAS,CAAC,CAAG,OAAO,QAAQ,CAAA;QACjC,KAAK,MAAM,CAAC,CAAM,OAAO,QAAQ,CAAA;QACjC,KAAK,MAAM,CAAC,CAAM,OAAO,QAAQ,CAAA;QACjC,KAAK,OAAO,CAAC,CAAK,OAAO,QAAQ,CAAA;QACjC,KAAK,SAAS,CAAC,CAAG,OAAO,QAAQ,CAAA;QACjC,OAAO,CAAC,CAAU,OAAO,QAAQ,CAAA;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,KAAK,GAAG,EAAE;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAChD,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;IAC5B,MAAM,UAAU,GAAG,QAAQ,CAAA;IAC3B,MAAM,SAAS,GAAG,QAAQ,CAAA;IAC1B,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAS,EAAE,GAAG,GAAG,EAAE;IAC1C,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;AACpC,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/cli/utils/format.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { uuid } from "../types/event";
1
+ import { uuid } from "../types/event.js";
2
2
  export class CorrelationEngine {
3
3
  rules = [
4
4
  { name: "exposed-db-to-rce", condition: "Infrastructure.open_database + CodeAudit.sqli", severity: "critical" },
@@ -1 +1 @@
1
- {"version":3,"file":"correlation-engine.js","sourceRoot":"","sources":["../../src/core/correlation-engine.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,MAAM,OAAO,iBAAiB;IACpB,KAAK,GAAsB;QACjC,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,+CAA+C,EAAE,QAAQ,EAAE,UAAU,EAAE;QAC/G,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,uDAAuD,EAAE,QAAQ,EAAE,MAAM,EAAE;QACtH,EAAE,IAAI,EAAE,4BAA4B,EAAE,SAAS,EAAE,0DAA0D,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC/H,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,8DAA8D,EAAE,QAAQ,EAAE,UAAU,EAAE;KACnI,CAAA;IAED,OAAO,CAAC,IAAqB;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,SAAS,CAAC,QAAmB;QAC3B,MAAM,MAAM,GAAkB,EAAE,CAAA;QAEhC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,IAAI,EAAE;oBACV,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;iBAC7C,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,YAAY,CAAC,IAAqB,EAAE,QAAmB;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CACtH,CAAA;YACD,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YACzB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,CAAC;IAEO,aAAa,CAAC,IAAqB,EAAE,KAAe;QAC1D,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"correlation-engine.js","sourceRoot":"","sources":["../../src/core/correlation-engine.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAExC,MAAM,OAAO,iBAAiB;IACpB,KAAK,GAAsB;QACjC,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,+CAA+C,EAAE,QAAQ,EAAE,UAAU,EAAE;QAC/G,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,uDAAuD,EAAE,QAAQ,EAAE,MAAM,EAAE;QACtH,EAAE,IAAI,EAAE,4BAA4B,EAAE,SAAS,EAAE,0DAA0D,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC/H,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,8DAA8D,EAAE,QAAQ,EAAE,UAAU,EAAE;KACnI,CAAA;IAED,OAAO,CAAC,IAAqB;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAED,SAAS,CAAC,QAAmB;QAC3B,MAAM,MAAM,GAAkB,EAAE,CAAA;QAEhC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,IAAI,EAAE;oBACV,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;iBAC7C,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,YAAY,CAAC,IAAqB,EAAE,QAAmB;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CACtH,CAAA;YACD,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAA;YACzB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,CAAC;IAEO,aAAa,CAAC,IAAqB,EAAE,KAAe;QAC1D,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IAC7C,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { SentinelEvent, Unsubscribe, Priority } from "../types/event";
1
+ import type { SentinelEvent, Unsubscribe, Priority } from "../types/event.js";
2
2
  export declare class EventBus {
3
3
  private handlers;
4
4
  private oneShot;
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/core/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAS1E,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,SAAS,CAAI;IAErB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,QAAmB,GAAG,WAAW;IAa5H,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW;IAYxF,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;YAK3B,OAAO;YASP,QAAQ;IAmBtB,KAAK,IAAI,aAAa,EAAE;IAMxB,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/core/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAS7E,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,SAAS,CAAI;IAErB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,QAAmB,GAAG,WAAW;IAa5H,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW;IAYxF,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;YAK3B,OAAO;YASP,QAAQ;IAmBtB,KAAK,IAAI,aAAa,EAAE;IAMxB,KAAK,IAAI,IAAI;CAKd"}
@@ -1,4 +1,4 @@
1
- import { EventBus } from "./event-bus";
1
+ import { EventBus } from "./event-bus.js";
2
2
  export type ContextRequestPayload = {
3
3
  query: string;
4
4
  requester: string;
@@ -1 +1 @@
1
- {"version":3,"file":"inter-agent-communication.d.ts","sourceRoot":"","sources":["../../src/core/inter-agent-communication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,qBAAa,uBAAuB;IACtB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,QAAQ;IAE3B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB7E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB7F,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAoBjH"}
1
+ {"version":3,"file":"inter-agent-communication.d.ts","sourceRoot":"","sources":["../../src/core/inter-agent-communication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,qBAAa,uBAAuB;IACtB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,QAAQ;IAE3B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB7E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB7F,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAoBjH"}
@@ -1,4 +1,4 @@
1
- import { uuid } from "../types/event";
1
+ import { uuid } from "../types/event.js";
2
2
  export class InterAgentCommunication {
3
3
  bus;
4
4
  constructor(bus) {
@@ -1 +1 @@
1
- {"version":3,"file":"inter-agent-communication.js","sourceRoot":"","sources":["../../src/core/inter-agent-communication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inter-agent-communication.js","sourceRoot":"","sources":["../../src/core/inter-agent-communication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAwCxC,MAAM,OAAO,uBAAuB;IACd;IAApB,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAErC,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,KAAa,EAAE,IAAY;QAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,IAAI,EAAE,CAAA;YACxB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,MAAM,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YAEpG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtD,YAAY,CAAC,OAAO,CAAC,CAAA;gBACrB,OAAO,CAAE,KAAK,CAAC,OAAkC,CAAC,IAAI,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBACf,EAAE,EAAE,SAAS;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,cAAc;gBACtB,MAAM;gBACN,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAA2B;aACrF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,IAAY,EAAE,MAA+B;QAC9E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,EAAE,CAAA;YACrB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAErG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC9C,YAAY,CAAC,OAAO,CAAC,CAAA;gBACrB,MAAM,OAAO,GAAG,KAAK,CAAC,OAA4B,CAAA;gBAClD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;;oBAC5D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBACf,EAAE,EAAE,MAAM;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,cAAc;gBACtB,MAAM;gBACN,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAA2B;aAC3D,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAgB;QACzE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,MAAM,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YAEvG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzD,YAAY,CAAC,OAAO,CAAC,CAAA;gBACrB,OAAO,CAAC,KAAK,CAAC,OAAoC,CAAC,CAAA;YACrD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBACf,EAAE,EAAE,IAAI,EAAE;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,cAAc;gBACtB,MAAM;gBACN,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAA8B;aACvF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,8 +1,9 @@
1
- import { EventBus } from "./event-bus";
2
- import { ProviderAbstraction } from "./provider-abstraction";
3
- import { MemoryManager } from "./memory-manager";
4
- import { InterAgentCommunication } from "./inter-agent-communication";
5
- import type { Finding } from "../types/agent";
1
+ import { EventBus } from "./event-bus.js";
2
+ import { ProviderAbstraction } from "./provider-abstraction.js";
3
+ import { MemoryManager } from "./memory-manager.js";
4
+ import { InterAgentCommunication } from "./inter-agent-communication.js";
5
+ import { MCPServer } from "../mcp/server.js";
6
+ import type { Finding } from "../types/agent.js";
6
7
  export interface AuditScope {
7
8
  target: string;
8
9
  targetType: "domain" | "ip" | "url" | "repository";
@@ -28,12 +29,15 @@ export declare class SentinelOrchestrator {
28
29
  providers: ProviderAbstraction;
29
30
  memory: MemoryManager;
30
31
  comms: InterAgentCommunication;
32
+ mcp: MCPServer;
31
33
  private currentPlan;
32
34
  private phaseResults;
33
35
  constructor();
34
36
  runAudit(scope: AuditScope): Promise<AuditPlan>;
35
37
  private createPlan;
36
38
  private executePhase;
39
+ private fallbackWithTools;
40
+ private parseFindings;
37
41
  private getPhaseResults;
38
42
  private registerEventHandlers;
39
43
  private emitPlanUpdated;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,YAAY,CAAA;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC3D,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrD,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,qBAAa,oBAAoB;IAC/B,GAAG,EAAE,QAAQ,CAAA;IACb,SAAS,EAAE,mBAAmB,CAAA;IAC9B,MAAM,EAAE,aAAa,CAAA;IACrB,KAAK,EAAE,uBAAuB,CAAA;IAE9B,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,YAAY,CAAkC;;IAUhD,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA4BrD,OAAO,CAAC,UAAU;YAiCJ,YAAY;IAW1B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,eAAe;IAYvB,OAAO,IAAI,SAAS,GAAG,IAAI;IAI3B,WAAW,IAAI,OAAO,EAAE;CAGzB"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAkB,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAI5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,YAAY,CAAA;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC3D,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrD,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAyED,qBAAa,oBAAoB;IAC/B,GAAG,EAAE,QAAQ,CAAA;IACb,SAAS,EAAE,mBAAmB,CAAA;IAC9B,MAAM,EAAE,aAAa,CAAA;IACrB,KAAK,EAAE,uBAAuB,CAAA;IAC9B,GAAG,EAAE,SAAS,CAAA;IAEd,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,YAAY,CAAkC;;IAYhD,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA6BrD,OAAO,CAAC,UAAU;YAiCJ,YAAY;IA8E1B,OAAO,CAAC,iBAAiB;IAwEzB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,eAAe;IAYvB,OAAO,IAAI,SAAS,GAAG,IAAI;IAI3B,WAAW,IAAI,OAAO,EAAE;CAGzB"}
@@ -1,13 +1,86 @@
1
- import { EventBus } from "./event-bus";
2
- import { ProviderAbstraction } from "./provider-abstraction";
3
- import { MemoryManager } from "./memory-manager";
4
- import { InterAgentCommunication } from "./inter-agent-communication";
5
- import { uuid } from "../types/event";
1
+ import { EventBus } from "./event-bus.js";
2
+ import { ProviderAbstraction } from "./provider-abstraction.js";
3
+ import { MemoryManager } from "./memory-manager.js";
4
+ import { InterAgentCommunication } from "./inter-agent-communication.js";
5
+ import { MCPServer } from "../mcp/server.js";
6
+ import { registerAllTools } from "../mcp/tools.js";
7
+ import { uuid } from "../types/event.js";
8
+ const AGENT_PROMPTS = {
9
+ reconnaissance: {
10
+ role: "fast",
11
+ tools: ["dns_lookup", "whois_query", "subdomain_discover"],
12
+ system: `You are a reconnaissance security engineer. Analyze the target using the provided DNS and WHOIS data. Identify:
13
+ - DNS records and misconfigurations
14
+ - Subdomains and exposed services
15
+ - WHOIS information and registration details
16
+ - Technology stack and fingerprinting
17
+
18
+ Return findings as a JSON array of objects with fields: title (string), description (string), severity ("critical"|"high"|"medium"|"low"|"info"), type (string), cvss (number, optional).`,
19
+ },
20
+ infrastructure: {
21
+ role: "balanced",
22
+ tools: ["port_scan", "tls_analyze"],
23
+ system: `You are an infrastructure security engineer. Analyze the target using port scan and TLS data. Identify:
24
+ - Open ports and vulnerable services
25
+ - TLS/SSL certificate issues (expiry, weak ciphers)
26
+ - Default credentials and weak configurations
27
+
28
+ Return findings as a JSON array of objects with fields: title, description, severity, type, cvss.`,
29
+ },
30
+ "web-security": {
31
+ role: "precision",
32
+ tools: ["http_scan"],
33
+ system: `You are a web application security engineer. Analyze the target using HTTP header scan data. Identify:
34
+ - OWASP Top 10 vulnerabilities (XSS, SQLi, CSRF, SSRF, etc.)
35
+ - Missing security headers (HSTS, CSP, X-Frame-Options, etc.)
36
+ - JWT and authentication issues, API security misconfigurations
37
+
38
+ Return findings as a JSON array of objects with fields: title, description, severity, type, cvss, cwe (string, optional).`,
39
+ },
40
+ "code-audit": {
41
+ role: "balanced",
42
+ tools: ["sast_scan", "secret_scan"],
43
+ system: `You are a code security auditor. Analyze the SAST and secret scan results. Identify:
44
+ - Hardcoded secrets and credentials
45
+ - Code quality issues and injection points
46
+ - Dependency vulnerabilities
47
+ - Unsafe API usage
48
+
49
+ Return findings as a JSON array of objects with fields: title, description, severity, type, cvss.`,
50
+ },
51
+ "cve-intelligence": {
52
+ role: "precision",
53
+ tools: [],
54
+ system: `You are a CVE intelligence analyst. Based on identified technologies from previous phases, analyze:
55
+ - Known CVEs matching the technology stack
56
+ - CWE classifications and CVSS score calculations
57
+ - EPSS probability assessments
58
+
59
+ Return findings as a JSON array of objects with fields: title, description, severity, type, cvss, cve (string, optional), cwe (string, optional).`,
60
+ },
61
+ "threat-modeling": {
62
+ role: "reasoning",
63
+ tools: [],
64
+ system: `You are a threat modeling engineer. Analyze all findings from previous phases and identify:
65
+ - STRIDE threat categories per component
66
+ - Attack tree paths and risk scoring
67
+ - Trust boundary violations
68
+ - Mitigation recommendations
69
+
70
+ Return findings as a JSON array of objects with fields: title, description, severity, type, cvss.`,
71
+ },
72
+ reporting: {
73
+ role: "writing",
74
+ tools: [],
75
+ system: `You are a security report writer. Summarize all findings into a structured executive report. Return a JSON object with fields: title, description, severity, type.`,
76
+ },
77
+ };
6
78
  export class SentinelOrchestrator {
7
79
  bus;
8
80
  providers;
9
81
  memory;
10
82
  comms;
83
+ mcp;
11
84
  currentPlan = null;
12
85
  phaseResults = new Map();
13
86
  constructor() {
@@ -15,6 +88,8 @@ export class SentinelOrchestrator {
15
88
  this.providers = new ProviderAbstraction();
16
89
  this.memory = new MemoryManager();
17
90
  this.comms = new InterAgentCommunication(this.bus);
91
+ this.mcp = new MCPServer();
92
+ registerAllTools(this.mcp);
18
93
  this.registerEventHandlers();
19
94
  }
20
95
  async runAudit(scope) {
@@ -34,7 +109,8 @@ export class SentinelOrchestrator {
34
109
  }
35
110
  catch (err) {
36
111
  phase.status = "failed";
37
- console.error(`Phase ${phase.name} failed:`, err);
112
+ const msg = err instanceof Error ? err.message : String(err);
113
+ console.error(`Phase ${phase.name} failed:`, msg);
38
114
  }
39
115
  this.emitPlanUpdated(plan);
40
116
  }
@@ -73,14 +149,179 @@ export class SentinelOrchestrator {
73
149
  };
74
150
  }
75
151
  async executePhase(phase, scope) {
76
- // In a full implementation, this delegates to the agent via opencode
77
- // For now, it stores the task in working memory and returns a stub
78
- this.memory.write("working", phase.agent, "current-task", {
79
- phase: phase.name,
80
- scope,
81
- dependencies: this.getPhaseResults(phase.dependsOn),
152
+ const agent = AGENT_PROMPTS[phase.name];
153
+ if (!agent) {
154
+ return { phase: phase.name, status: "delegated" };
155
+ }
156
+ this.bus.publish({
157
+ id: uuid(),
158
+ timestamp: new Date().toISOString(),
159
+ type: "AgentStatusChanged",
160
+ source: phase.agent,
161
+ target: "*",
162
+ priority: "normal",
163
+ payload: { agent: phase.agent, status: "busy", phase: phase.name },
82
164
  });
83
- return { phase: phase.name, status: "delegated" };
165
+ const toolResults = {};
166
+ for (const toolName of agent.tools) {
167
+ const targetParam = scope.targetType === "url" ? scope.target : scope.target.startsWith("http") ? scope.target : scope.targetType === "repository" ? scope.target : scope.target;
168
+ const args = {};
169
+ if (toolName === "dns_lookup" || toolName === "whois_query" || toolName === "subdomain_discover")
170
+ args.domain = scope.target;
171
+ else if (toolName === "port_scan" || toolName === "tls_analyze") {
172
+ args.target = scope.target;
173
+ args.host = scope.target;
174
+ }
175
+ else if (toolName === "http_scan")
176
+ args.url = scope.target.startsWith("http") ? scope.target : `https://${scope.target}`;
177
+ else if (toolName === "sast_scan" || toolName === "secret_scan")
178
+ args.repoPath = targetParam;
179
+ const result = await this.mcp.call({ tool: toolName, args });
180
+ const text = result.content?.find((c) => c.type === "text")?.text || "{}";
181
+ try {
182
+ toolResults[toolName] = JSON.parse(text);
183
+ }
184
+ catch {
185
+ toolResults[toolName] = { raw: text };
186
+ }
187
+ }
188
+ const deps = this.getPhaseResults(phase.dependsOn);
189
+ const depsContext = Object.entries(deps)
190
+ .map(([name, result]) => `${name}: ${JSON.stringify(result)}`)
191
+ .join("\n");
192
+ const toolContext = Object.entries(toolResults)
193
+ .map(([name, result]) => `${name}: ${JSON.stringify(result)}`)
194
+ .join("\n");
195
+ if (!this.providers.isConfigured()) {
196
+ return this.fallbackWithTools(phase, scope, toolResults);
197
+ }
198
+ const userMessage = `Target: ${scope.target} (${scope.targetType})
199
+ Description: ${scope.description || "N/A"}
200
+ ${toolContext ? `\nTool results:\n${toolContext}` : ""}
201
+ ${depsContext ? `\nPrevious phase results:\n${depsContext}` : ""}
202
+
203
+ Perform your security analysis and return findings as a JSON array.`;
204
+ try {
205
+ const response = await this.providers.complete(agent.role, {
206
+ messages: [
207
+ { role: "system", content: agent.system },
208
+ { role: "user", content: userMessage },
209
+ ],
210
+ temperature: 0.3,
211
+ maxTokens: 2048,
212
+ responseFormat: "json_object",
213
+ });
214
+ const findings = this.parseFindings(response.content, phase.agent);
215
+ for (const finding of findings) {
216
+ this.bus.publish({
217
+ id: uuid(),
218
+ timestamp: new Date().toISOString(),
219
+ type: "VulnerabilityDetected",
220
+ source: phase.agent,
221
+ target: "*",
222
+ priority: "normal",
223
+ payload: finding,
224
+ });
225
+ }
226
+ return { phase: phase.name, status: "completed", findings, toolResults };
227
+ }
228
+ catch {
229
+ return this.fallbackWithTools(phase, scope, toolResults);
230
+ }
231
+ }
232
+ fallbackWithTools(phase, _scope, toolResults) {
233
+ const toolFindings = [];
234
+ for (const [toolName, result] of Object.entries(toolResults)) {
235
+ const data = result;
236
+ if (toolName === "port_scan" && Array.isArray(data.openPorts)) {
237
+ for (const port of data.openPorts) {
238
+ toolFindings.push({
239
+ id: uuid(),
240
+ agent: phase.agent,
241
+ type: "open-port",
242
+ severity: "medium",
243
+ title: `Open port ${port.port}/${port.service}`,
244
+ description: `Port ${port.port} (${port.service}) is open on the target`,
245
+ evidence: [],
246
+ cvss: 5.0,
247
+ });
248
+ }
249
+ }
250
+ if (toolName === "http_scan" && Array.isArray(data.vulnerabilities)) {
251
+ for (const vuln of data.vulnerabilities) {
252
+ toolFindings.push({
253
+ id: uuid(),
254
+ agent: phase.agent,
255
+ type: "missing-header",
256
+ severity: "medium",
257
+ title: vuln,
258
+ description: vuln,
259
+ evidence: [],
260
+ });
261
+ }
262
+ }
263
+ if (toolName === "sast_scan" && Array.isArray(data.findings)) {
264
+ for (const f of data.findings) {
265
+ toolFindings.push({
266
+ id: uuid(),
267
+ agent: phase.agent,
268
+ type: f.rule || "sast",
269
+ severity: f.severity || "medium",
270
+ title: `${f.rule} in ${f.file?.split(/[/\\]/).pop()}:${f.line}`,
271
+ description: `${f.rule} at ${f.file}:${f.line}`,
272
+ evidence: [{ id: uuid(), type: "code", description: f.snippet || "" }],
273
+ });
274
+ }
275
+ }
276
+ if (toolName === "secret_scan" && Array.isArray(data.secrets)) {
277
+ for (const s of data.secrets) {
278
+ toolFindings.push({
279
+ id: uuid(),
280
+ agent: phase.agent,
281
+ type: "secret",
282
+ severity: "high",
283
+ title: `${s.type} found in ${s.file?.split(/[/\\]/).pop()}:${s.line}`,
284
+ description: `Potential ${s.type} detected`,
285
+ evidence: [{ id: uuid(), type: "secret", description: s.snippet || "" }],
286
+ });
287
+ }
288
+ }
289
+ }
290
+ for (const finding of toolFindings) {
291
+ this.bus.publish({
292
+ id: uuid(),
293
+ timestamp: new Date().toISOString(),
294
+ type: "VulnerabilityDetected",
295
+ source: phase.agent,
296
+ target: "*",
297
+ priority: "normal",
298
+ payload: finding,
299
+ });
300
+ }
301
+ return { phase: phase.name, status: "completed", toolResults, toolFindings };
302
+ }
303
+ parseFindings(content, agent) {
304
+ try {
305
+ const parsed = JSON.parse(content);
306
+ const items = Array.isArray(parsed) ? parsed : parsed.findings || parsed.finding || [];
307
+ if (!Array.isArray(items))
308
+ return [];
309
+ return items.map((item) => ({
310
+ id: uuid(),
311
+ agent,
312
+ type: item.type || "generic",
313
+ severity: item.severity || "medium",
314
+ title: item.title || "Unknown finding",
315
+ description: item.description || item.title || "",
316
+ evidence: [],
317
+ cvss: item.cvss,
318
+ cve: item.cve,
319
+ cwe: item.cwe,
320
+ }));
321
+ }
322
+ catch {
323
+ return [];
324
+ }
84
325
  }
85
326
  getPhaseResults(names) {
86
327
  const results = {};
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface ProviderRequest {
8
8
  temperature?: number;
9
9
  maxTokens?: number;
10
10
  stream?: boolean;
11
+ responseFormat?: "text" | "json_object";
11
12
  }
12
13
  export interface ProviderResponse {
13
14
  content: string;
@@ -25,15 +26,21 @@ export interface ProviderConfig {
25
26
  models: string[];
26
27
  roles: Partial<Record<ModelRole, string>>;
27
28
  priority: number;
29
+ apiType: "openai" | "anthropic";
28
30
  }
29
31
  export declare class ProviderAbstraction {
30
32
  private providers;
31
33
  private fallbackChain;
34
+ constructor();
35
+ private registerDefaults;
32
36
  register(config: ProviderConfig): void;
37
+ isConfigured(): boolean;
33
38
  complete(role: ModelRole, request: ProviderRequest): Promise<ProviderResponse>;
34
39
  stream(role: ModelRole, request: ProviderRequest): AsyncGenerator<string>;
35
40
  private resolveProvider;
36
41
  private callProvider;
42
+ private callOpenAI;
43
+ private callAnthropic;
37
44
  }
38
45
  export declare class NoProviderAvailable extends Error {
39
46
  constructor(role: ModelRole);
@@ -1 +1 @@
1
- {"version":3,"file":"provider-abstraction.d.ts","sourceRoot":"","sources":["../../src/core/provider-abstraction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;AAEnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;IACzC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAUD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAA8C;IAEnE,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAKhC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQ7E,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC;IAShF,OAAO,CAAC,eAAe;YAsBT,YAAY;CAU3B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,IAAI,EAAE,SAAS;CAI5B"}
1
+ {"version":3,"file":"provider-abstraction.d.ts","sourceRoot":"","sources":["../../src/core/provider-abstraction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;AAEnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,QAAQ,GAAG,WAAW,CAAA;CAChC;AAeD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAiD;;IAMtE,OAAO,CAAC,gBAAgB;IA4BxB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAMtC,YAAY,IAAI,OAAO;IAIjB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQ7E,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC;IAShF,OAAO,CAAC,eAAe;YAsBT,YAAY;YAgBZ,UAAU;YA2CV,aAAa;CA6C5B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,IAAI,EAAE,SAAS;CAI5B"}