erosolar-cli 2.1.230 → 2.1.234

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 (110) hide show
  1. package/agents/erosolar-security.rules.json +84 -0
  2. package/config/security-deployment.json +10 -9
  3. package/dist/bin/cliMode.d.ts +12 -0
  4. package/dist/bin/cliMode.d.ts.map +1 -0
  5. package/dist/bin/cliMode.js +27 -0
  6. package/dist/bin/cliMode.js.map +1 -0
  7. package/dist/bin/erosolar.js +47 -46
  8. package/dist/bin/erosolar.js.map +1 -1
  9. package/dist/capabilities/index.d.ts +1 -0
  10. package/dist/capabilities/index.d.ts.map +1 -1
  11. package/dist/capabilities/index.js +1 -0
  12. package/dist/capabilities/index.js.map +1 -1
  13. package/dist/capabilities/taoCapability.d.ts +13 -0
  14. package/dist/capabilities/taoCapability.d.ts.map +1 -0
  15. package/dist/capabilities/taoCapability.js +20 -0
  16. package/dist/capabilities/taoCapability.js.map +1 -0
  17. package/dist/contracts/agent-profiles.schema.json +16 -0
  18. package/dist/contracts/tools.schema.json +12 -0
  19. package/dist/core/agent.d.ts +6 -0
  20. package/dist/core/agent.d.ts.map +1 -1
  21. package/dist/core/agent.js +22 -0
  22. package/dist/core/agent.js.map +1 -1
  23. package/dist/core/agentOrchestrator.d.ts +3 -12
  24. package/dist/core/agentOrchestrator.d.ts.map +1 -1
  25. package/dist/core/agentOrchestrator.js +199 -107
  26. package/dist/core/agentOrchestrator.js.map +1 -1
  27. package/dist/core/baseToolFactory.d.ts +187 -0
  28. package/dist/core/baseToolFactory.d.ts.map +1 -0
  29. package/dist/core/baseToolFactory.js +352 -0
  30. package/dist/core/baseToolFactory.js.map +1 -0
  31. package/dist/core/constants.d.ts +5 -0
  32. package/dist/core/constants.d.ts.map +1 -0
  33. package/dist/core/constants.js +5 -0
  34. package/dist/core/constants.js.map +1 -0
  35. package/dist/core/errors/index.d.ts +50 -0
  36. package/dist/core/errors/index.d.ts.map +1 -0
  37. package/dist/core/errors/index.js +156 -0
  38. package/dist/core/errors/index.js.map +1 -0
  39. package/dist/core/errors/safetyValidator.d.ts.map +1 -1
  40. package/dist/core/errors/safetyValidator.js +6 -137
  41. package/dist/core/errors/safetyValidator.js.map +1 -1
  42. package/dist/headless/headlessApp.d.ts.map +1 -1
  43. package/dist/headless/headlessApp.js +2 -15
  44. package/dist/headless/headlessApp.js.map +1 -1
  45. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  46. package/dist/plugins/tools/nodeDefaults.js +2 -0
  47. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  48. package/dist/plugins/tools/tao/taoPlugin.d.ts +3 -0
  49. package/dist/plugins/tools/tao/taoPlugin.d.ts.map +1 -0
  50. package/dist/plugins/tools/tao/taoPlugin.js +14 -0
  51. package/dist/plugins/tools/tao/taoPlugin.js.map +1 -0
  52. package/dist/providers/baseProvider.d.ts +148 -0
  53. package/dist/providers/baseProvider.d.ts.map +1 -0
  54. package/dist/providers/baseProvider.js +284 -0
  55. package/dist/providers/baseProvider.js.map +1 -0
  56. package/dist/shell/commandRegistry.d.ts +122 -0
  57. package/dist/shell/commandRegistry.d.ts.map +1 -0
  58. package/dist/shell/commandRegistry.js +371 -0
  59. package/dist/shell/commandRegistry.js.map +1 -0
  60. package/dist/shell/shellApp.d.ts.map +1 -1
  61. package/dist/shell/shellApp.js +2 -15
  62. package/dist/shell/shellApp.js.map +1 -1
  63. package/dist/tools/bashTools.d.ts.map +1 -1
  64. package/dist/tools/bashTools.js +1 -5
  65. package/dist/tools/bashTools.js.map +1 -1
  66. package/dist/tools/tao/index.d.ts +28 -0
  67. package/dist/tools/tao/index.d.ts.map +1 -0
  68. package/dist/tools/tao/index.js +33 -0
  69. package/dist/tools/tao/index.js.map +1 -0
  70. package/dist/tools/tao/intentParser.d.ts +9 -0
  71. package/dist/tools/tao/intentParser.d.ts.map +1 -0
  72. package/dist/tools/tao/intentParser.js +163 -0
  73. package/dist/tools/tao/intentParser.js.map +1 -0
  74. package/dist/tools/tao/rlEngine.d.ts +40 -0
  75. package/dist/tools/tao/rlEngine.d.ts.map +1 -0
  76. package/dist/tools/tao/rlEngine.js +237 -0
  77. package/dist/tools/tao/rlEngine.js.map +1 -0
  78. package/dist/tools/tao/sessionState.d.ts +9 -0
  79. package/dist/tools/tao/sessionState.d.ts.map +1 -0
  80. package/dist/tools/tao/sessionState.js +18 -0
  81. package/dist/tools/tao/sessionState.js.map +1 -0
  82. package/dist/tools/tao/types.d.ts +109 -0
  83. package/dist/tools/tao/types.d.ts.map +1 -0
  84. package/dist/tools/tao/types.js +5 -0
  85. package/dist/tools/tao/types.js.map +1 -0
  86. package/dist/tools/tao/verification.d.ts +23 -0
  87. package/dist/tools/tao/verification.d.ts.map +1 -0
  88. package/dist/tools/tao/verification.js +211 -0
  89. package/dist/tools/tao/verification.js.map +1 -0
  90. package/dist/tools/taoTools.d.ts +23 -0
  91. package/dist/tools/taoTools.d.ts.map +1 -0
  92. package/dist/tools/taoTools.js +14499 -0
  93. package/dist/tools/taoTools.js.map +1 -0
  94. package/dist/ui/UnifiedUIRenderer.d.ts +5 -0
  95. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  96. package/dist/ui/UnifiedUIRenderer.js +49 -20
  97. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  98. package/dist/ui/index.d.ts +102 -0
  99. package/dist/ui/index.d.ts.map +1 -0
  100. package/dist/ui/index.js +120 -0
  101. package/dist/ui/index.js.map +1 -0
  102. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -1
  103. package/dist/ui/orchestration/UIUpdateCoordinator.js +7 -0
  104. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -1
  105. package/dist/utils/packageInfo.d.ts +14 -0
  106. package/dist/utils/packageInfo.d.ts.map +1 -0
  107. package/dist/utils/packageInfo.js +45 -0
  108. package/dist/utils/packageInfo.js.map +1 -0
  109. package/package.json +3 -3
  110. package/scripts/deploy-security-capabilities.js +157 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/tao/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAE3B,sBAAsB;AACtB,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,0BAA0B;AAC1B,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,yBAAyB;AACzB,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,0BAA0B;AAC1B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Tao Tools - Natural Language Intent Parser
3
+ *
4
+ * Translates user prompts to actionable operations.
5
+ */
6
+ import type { ParsedIntent, AuthorizationContext } from './types.js';
7
+ export declare function parseNaturalLanguageIntent(prompt: string): ParsedIntent;
8
+ export declare function validateAuthorizationContext(intent: ParsedIntent): AuthorizationContext;
9
+ //# sourceMappingURL=intentParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intentParser.d.ts","sourceRoot":"","sources":["../../../src/tools/tao/intentParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMrE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA4FvE;AAMD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,CAyCvF"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Tao Tools - Natural Language Intent Parser
3
+ *
4
+ * Translates user prompts to actionable operations.
5
+ */
6
+ // ═══════════════════════════════════════════════════════════════════════════════
7
+ // Natural Language Intent Parser
8
+ // ═══════════════════════════════════════════════════════════════════════════════
9
+ export function parseNaturalLanguageIntent(prompt) {
10
+ const lower = prompt.toLowerCase();
11
+ // Determine primary action
12
+ let action = 'analyze';
13
+ if (/\b(recon|reconn?aissance|discover|find|identify)\b/.test(lower))
14
+ action = 'recon';
15
+ else if (/\b(scan|port|service|probe)\b/.test(lower))
16
+ action = 'scan';
17
+ else if (/\b(exploit|attack|pwn|compromise|breach|destroy)\b/.test(lower))
18
+ action = 'exploit';
19
+ else if (/\b(enum|enumerat|list|gather)\b/.test(lower))
20
+ action = 'enumerate';
21
+ else if (/\b(extract|dump|exfil|grab|steal)\b/.test(lower))
22
+ action = 'extract';
23
+ else if (/\b(test|check|verify|validate)\b/.test(lower))
24
+ action = 'test';
25
+ else if (/\b(monitor|watch|track|observe)\b/.test(lower))
26
+ action = 'monitor';
27
+ else if (/\b(report|summarize|document)\b/.test(lower))
28
+ action = 'report';
29
+ // Extract targets (IPs, domains, URLs, services)
30
+ const targets = [];
31
+ const ipMatch = prompt.match(/\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:\/\d{1,2})?)\b/g);
32
+ const domainMatch = prompt.match(/\b([a-z0-9][-a-z0-9]*\.)+[a-z]{2,}\b/gi);
33
+ const urlMatch = prompt.match(/https?:\/\/[^\s]+/gi);
34
+ if (ipMatch)
35
+ targets.push(...ipMatch);
36
+ if (domainMatch)
37
+ targets.push(...domainMatch);
38
+ if (urlMatch)
39
+ targets.push(...urlMatch);
40
+ // Named targets
41
+ const namedTargets = {
42
+ 'aws': ['AWS', 'Amazon Web Services'],
43
+ 'gcp': ['GCP', 'Google Cloud'],
44
+ 'azure': ['Azure', 'Microsoft Azure'],
45
+ 'local': ['localhost', '127.0.0.1'],
46
+ 'ukraine': ['Ukraine', 'ukraine', 'UA'],
47
+ };
48
+ for (const [key, names] of Object.entries(namedTargets)) {
49
+ if (names.some(n => lower.includes(n.toLowerCase()))) {
50
+ targets.push(key);
51
+ }
52
+ }
53
+ // Determine scope
54
+ let scope = 'host';
55
+ if (/\b(network|subnet|range|cidr)\b/.test(lower))
56
+ scope = 'network';
57
+ else if (/\b(app|application|web|api)\b/.test(lower))
58
+ scope = 'application';
59
+ else if (/\b(infra|infrastructure|cloud|enterprise)\b/.test(lower))
60
+ scope = 'infrastructure';
61
+ else if (/\b(full|complete|comprehensive|everything)\b/.test(lower))
62
+ scope = 'full';
63
+ // Determine depth
64
+ let depth = 'standard';
65
+ if (/\b(quick|fast|brief|simple)\b/.test(lower))
66
+ depth = 'quick';
67
+ else if (/\b(deep|thorough|extensive)\b/.test(lower))
68
+ depth = 'deep';
69
+ else if (/\b(comprehensive|full|complete|exhaustive)\b/.test(lower))
70
+ depth = 'comprehensive';
71
+ // Extract techniques
72
+ const techniques = [];
73
+ const techniquePatterns = {
74
+ 'sqli': /\b(sql\s*inject|sqli)\b/i,
75
+ 'xss': /\b(xss|cross.?site.?script)\b/i,
76
+ 'rce': /\b(rce|remote.?code|command.?inject)\b/i,
77
+ 'lfi': /\b(lfi|local.?file)\b/i,
78
+ 'rfi': /\b(rfi|remote.?file)\b/i,
79
+ 'ssrf': /\b(ssrf|server.?side)\b/i,
80
+ 'brute': /\b(brute|crack|password)\b/i,
81
+ 'enum': /\b(enum|directory|discover)\b/i,
82
+ 'privesc': /\b(priv|escalat|sudo|root)\b/i,
83
+ 'lateral': /\b(lateral|pivot|spread)\b/i,
84
+ 'persist': /\b(persist|backdoor|maintain)\b/i,
85
+ 'exfil': /\b(exfil|extract|dump|steal)\b/i,
86
+ };
87
+ for (const [tech, pattern] of Object.entries(techniquePatterns)) {
88
+ if (pattern.test(lower))
89
+ techniques.push(tech);
90
+ }
91
+ // Output format
92
+ let outputFormat = 'detailed';
93
+ if (/\b(summary|brief|quick)\b/.test(lower))
94
+ outputFormat = 'summary';
95
+ else if (/\b(json|structured|data)\b/.test(lower))
96
+ outputFormat = 'json';
97
+ else if (/\b(actionable|exploit|attack)\b/.test(lower))
98
+ outputFormat = 'actionable';
99
+ // Authorization context
100
+ let authContext;
101
+ if (/\b(pentest|penetration.?test|engagement)\b/.test(lower))
102
+ authContext = 'pentest';
103
+ else if (/\b(ctf|capture.?the.?flag|competition)\b/.test(lower))
104
+ authContext = 'ctf';
105
+ else if (/\b(research|study|educational)\b/.test(lower))
106
+ authContext = 'research';
107
+ else if (/\b(red.?team|adversar|simul)\b/.test(lower))
108
+ authContext = 'redteam';
109
+ else if (/\b(bug.?bounty|bounty)\b/.test(lower))
110
+ authContext = 'bugbounty';
111
+ // Constraints
112
+ const constraints = [];
113
+ if (/\b(stealth|quiet|silent|covert)\b/.test(lower))
114
+ constraints.push('stealth');
115
+ if (/\b(safe|non.?destruct|read.?only)\b/.test(lower))
116
+ constraints.push('non-destructive');
117
+ if (/\b(fast|quick|time)\b/.test(lower))
118
+ constraints.push('time-limited');
119
+ if (/\b(thorough|complete|exhaust)\b/.test(lower))
120
+ constraints.push('comprehensive');
121
+ return { action, targets, scope, depth, techniques, outputFormat, authContext, constraints };
122
+ }
123
+ // ═══════════════════════════════════════════════════════════════════════════════
124
+ // Authorization Context Validator
125
+ // ═══════════════════════════════════════════════════════════════════════════════
126
+ export function validateAuthorizationContext(intent) {
127
+ const warnings = [];
128
+ const restrictions = [];
129
+ // Check for explicit authorization context
130
+ if (!intent.authContext) {
131
+ warnings.push('No explicit authorization context provided');
132
+ warnings.push('Assuming authorized testing environment');
133
+ }
134
+ // Validate scope appropriateness
135
+ if (intent.scope === 'full' && !intent.authContext) {
136
+ warnings.push('Full scope operations require explicit authorization');
137
+ // No restrictions added
138
+ }
139
+ // Check for potentially sensitive targets (warnings only)
140
+ const sensitivePatterns = [
141
+ { pattern: /\.gov\b/i, warning: 'Government domain detected' },
142
+ { pattern: /\.mil\b/i, warning: 'Military domain detected' },
143
+ { pattern: /\.edu\b/i, warning: 'Educational institution detected' },
144
+ { pattern: /bank|financial/i, warning: 'Financial institution indicator' },
145
+ { pattern: /hospital|health|medical/i, warning: 'Healthcare system indicator' },
146
+ ];
147
+ for (const target of intent.targets) {
148
+ for (const { pattern, warning } of sensitivePatterns) {
149
+ if (pattern.test(target)) {
150
+ warnings.push(`${warning}: ${target}`);
151
+ // No restrictions added
152
+ }
153
+ }
154
+ }
155
+ return {
156
+ valid: true,
157
+ type: intent.authContext || 'unspecified',
158
+ scope: intent.targets,
159
+ restrictions: [],
160
+ warnings,
161
+ };
162
+ }
163
+ //# sourceMappingURL=intentParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intentParser.js","sourceRoot":"","sources":["../../../src/tools/tao/intentParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Tao Tools - Dual-Agent Reinforcement Learning Engine
3
+ *
4
+ * Modular RL system for tool selection and optimization.
5
+ */
6
+ import type { RLReward, AgentPolicy, DualAgentState, RLToolContext } from './types.js';
7
+ export declare const dualAgentRL: DualAgentState;
8
+ export declare function ucb1Select(actions: string[], qValues: Map<string, number>, counts: Map<string, number>, totalCount: number, c?: number): string;
9
+ export declare function softmaxPolicy(qValues: Record<string, number>, temperature: number): Record<string, number>;
10
+ export declare function tdLambdaUpdate(agent: AgentPolicy, state: string, reward: number, nextState: string, valueEstimates: Map<string, number>, gamma?: number, lambda?: number): void;
11
+ export declare function policyGradientUpdate(agent: AgentPolicy, action: string, reward: number, baseline?: number): void;
12
+ export declare function createRLContext(toolName: string, action: string, params: Record<string, unknown>): RLToolContext;
13
+ export declare function computeReward(context: RLToolContext, result: unknown, success: boolean): RLReward;
14
+ export declare function updateDualAgents(context: RLToolContext, reward: RLReward): {
15
+ redPolicy: Record<string, number>;
16
+ bluePolicy: Record<string, number>;
17
+ };
18
+ export declare function executeWithRL<T>(toolName: string, action: string, params: Record<string, unknown>, executor: () => Promise<T>): Promise<{
19
+ result: T;
20
+ rl: {
21
+ reward: RLReward;
22
+ policies: {
23
+ red: Record<string, number>;
24
+ blue: Record<string, number>;
25
+ };
26
+ };
27
+ }>;
28
+ export declare function getRLState(): {
29
+ episode: number;
30
+ steps: number;
31
+ avgReward: number;
32
+ redTemperature: number;
33
+ blueTemperature: number;
34
+ topActions: Array<{
35
+ action: string;
36
+ redWeight: number;
37
+ blueWeight: number;
38
+ }>;
39
+ };
40
+ //# sourceMappingURL=rlEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlEngine.d.ts","sourceRoot":"","sources":["../../../src/tools/tao/rlEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB,eAAO,MAAM,WAAW,EAAE,cAkBzB,CAAC;AAOF,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,UAAU,EAAE,MAAM,EAClB,CAAC,GAAE,MAAmB,GACrB,MAAM,CAqBR;AAOD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBxB;AAQD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,KAAK,GAAE,MAAa,EACpB,MAAM,GAAE,MAAY,GACnB,IAAI,CAaN;AAOD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAU,GACnB,IAAI,CAiBN;AAMD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,aAAa,CAOf;AAMD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,GACf,QAAQ,CAyBV;AAMD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,QAAQ,GACf;IAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAgD3E;AAMD,wBAAsB,aAAa,CAAC,CAAC,EACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACzB,OAAO,CAAC;IACT,MAAM,EAAE,CAAC,CAAC;IACV,EAAE,EAAE;QACF,MAAM,EAAE,QAAQ,CAAC;QACjB,QAAQ,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;KACzE,CAAC;CACH,CAAC,CA0BD;AAMD,wBAAgB,UAAU,IAAI;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9E,CAyBA"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Tao Tools - Dual-Agent Reinforcement Learning Engine
3
+ *
4
+ * Modular RL system for tool selection and optimization.
5
+ */
6
+ // ═══════════════════════════════════════════════════════════════════════════════
7
+ // Global RL State
8
+ // ═══════════════════════════════════════════════════════════════════════════════
9
+ export const dualAgentRL = {
10
+ red: {
11
+ weights: new Map(),
12
+ bias: new Map(),
13
+ temperature: 1.0,
14
+ learningRate: 0.01,
15
+ },
16
+ blue: {
17
+ weights: new Map(),
18
+ bias: new Map(),
19
+ temperature: 1.0,
20
+ learningRate: 0.01,
21
+ },
22
+ sharedMemory: new Map(),
23
+ episode: 0,
24
+ stepCount: 0,
25
+ rewardHistory: [],
26
+ valueEstimates: new Map(),
27
+ };
28
+ // ═══════════════════════════════════════════════════════════════════════════════
29
+ // UCB1 Multi-Armed Bandit
30
+ // Formula: argmax[Q(a) + c * √(ln(N) / N(a))]
31
+ // ═══════════════════════════════════════════════════════════════════════════════
32
+ export function ucb1Select(actions, qValues, counts, totalCount, c = Math.SQRT2) {
33
+ let bestAction = actions[0] || 'default';
34
+ let bestUcb = -Infinity;
35
+ for (const action of actions) {
36
+ const q = qValues.get(action) || 0;
37
+ const n = counts.get(action) || 0;
38
+ if (n === 0)
39
+ return action; // Explore unvisited
40
+ const exploitation = q;
41
+ const exploration = c * Math.sqrt(Math.log(totalCount) / n);
42
+ const ucb = exploitation + exploration;
43
+ if (ucb > bestUcb) {
44
+ bestUcb = ucb;
45
+ bestAction = action;
46
+ }
47
+ }
48
+ return bestAction;
49
+ }
50
+ // ═══════════════════════════════════════════════════════════════════════════════
51
+ // Softmax Policy with Temperature
52
+ // π(a|s) = exp(Q(s,a)/τ) / Σ exp(Q(s,a')/τ)
53
+ // ═══════════════════════════════════════════════════════════════════════════════
54
+ export function softmaxPolicy(qValues, temperature) {
55
+ const actions = Object.keys(qValues);
56
+ const maxQ = Math.max(...Object.values(qValues), 0);
57
+ const expValues = {};
58
+ let sumExp = 0;
59
+ for (const action of actions) {
60
+ const expV = Math.exp(((qValues[action] || 0) - maxQ) / temperature);
61
+ expValues[action] = expV;
62
+ sumExp += expV;
63
+ }
64
+ const policy = {};
65
+ for (const action of actions) {
66
+ policy[action] = (expValues[action] || 0) / (sumExp || 1);
67
+ }
68
+ return policy;
69
+ }
70
+ // ═══════════════════════════════════════════════════════════════════════════════
71
+ // TD(λ) Value Update with Eligibility Traces
72
+ // V(s) ← V(s) + α * δ * e(s)
73
+ // δ = r + γ * V(s') - V(s)
74
+ // ═══════════════════════════════════════════════════════════════════════════════
75
+ export function tdLambdaUpdate(agent, state, reward, nextState, valueEstimates, gamma = 0.99, lambda = 0.9) {
76
+ const v = valueEstimates.get(state) || 0;
77
+ const vNext = valueEstimates.get(nextState) || 0;
78
+ const tdError = reward + gamma * vNext - v;
79
+ // Update with eligibility trace decay
80
+ const eligibility = agent.weights.get('_eligibility') || [];
81
+ const newEligibility = eligibility.map(e => gamma * lambda * e);
82
+ newEligibility.push(1.0); // Current state trace
83
+ agent.weights.set('_eligibility', newEligibility.slice(-100));
84
+ // Apply update
85
+ valueEstimates.set(state, v + agent.learningRate * tdError);
86
+ }
87
+ // ═══════════════════════════════════════════════════════════════════════════════
88
+ // Policy Gradient (REINFORCE)
89
+ // ∇θ J(θ) = E[∇θ log π(a|s;θ) * R]
90
+ // ═══════════════════════════════════════════════════════════════════════════════
91
+ export function policyGradientUpdate(agent, action, reward, baseline = 0) {
92
+ const weights = agent.weights.get(action) || [0];
93
+ const advantage = reward - baseline;
94
+ // Update weights in direction of gradient
95
+ const updatedWeights = weights.map((w, _i) => {
96
+ const grad = advantage * (1 - (agent.bias.get(action) || 0.5));
97
+ return w + agent.learningRate * grad;
98
+ });
99
+ agent.weights.set(action, updatedWeights);
100
+ // Update bias term
101
+ const currentBias = agent.bias.get(action) || 0.5;
102
+ agent.bias.set(action, Math.max(0.01, Math.min(0.99, currentBias + agent.learningRate * advantage * 0.1)));
103
+ }
104
+ // ═══════════════════════════════════════════════════════════════════════════════
105
+ // RL Context Creation
106
+ // ═══════════════════════════════════════════════════════════════════════════════
107
+ export function createRLContext(toolName, action, params) {
108
+ return {
109
+ toolName,
110
+ action,
111
+ params,
112
+ startTime: Date.now(),
113
+ };
114
+ }
115
+ // ═══════════════════════════════════════════════════════════════════════════════
116
+ // Reward Computation
117
+ // ═══════════════════════════════════════════════════════════════════════════════
118
+ export function computeReward(context, result, success) {
119
+ const elapsed = Date.now() - context.startTime;
120
+ // Reward components
121
+ const components = {
122
+ success: success ? 0.5 : -0.3,
123
+ efficiency: Math.max(0, 1 - elapsed / 10000) * 0.2, // Faster = better
124
+ novelty: Math.random() * 0.1, // Exploration bonus
125
+ depth: (context.params['depth'] || 1) * 0.05,
126
+ };
127
+ // Add result-based rewards
128
+ if (typeof result === 'string') {
129
+ components['richness'] = Math.min(result.length / 1000, 0.3);
130
+ }
131
+ else if (typeof result === 'object' && result !== null) {
132
+ components['structure'] = Object.keys(result).length * 0.02;
133
+ }
134
+ const value = Object.values(components).reduce((a, b) => a + b, 0);
135
+ return {
136
+ value: Math.max(-1, Math.min(1, value)),
137
+ components,
138
+ sparse: success && elapsed < 1000,
139
+ };
140
+ }
141
+ // ═══════════════════════════════════════════════════════════════════════════════
142
+ // Dual Agent Update
143
+ // ═══════════════════════════════════════════════════════════════════════════════
144
+ export function updateDualAgents(context, reward) {
145
+ dualAgentRL.stepCount++;
146
+ dualAgentRL.rewardHistory.push(reward.value);
147
+ // Keep last 1000 rewards
148
+ if (dualAgentRL.rewardHistory.length > 1000) {
149
+ dualAgentRL.rewardHistory.shift();
150
+ }
151
+ // Compute baseline (moving average)
152
+ const baseline = dualAgentRL.rewardHistory.reduce((a, b) => a + b, 0) /
153
+ dualAgentRL.rewardHistory.length;
154
+ // Update RED agent (offensive - seeks high reward)
155
+ policyGradientUpdate(dualAgentRL.red, context.action, reward.value, baseline);
156
+ // Update BLUE agent (defensive - penalizes risky actions)
157
+ const blueReward = (reward.components['success'] || 0) - (reward.components['novelty'] || 0) * 2;
158
+ policyGradientUpdate(dualAgentRL.blue, context.action, blueReward, baseline);
159
+ // TD update for value estimation
160
+ const stateKey = `${context.toolName}:${context.action}`;
161
+ const nextStateKey = `${context.toolName}:next`;
162
+ tdLambdaUpdate(dualAgentRL.red, stateKey, reward.value, nextStateKey, dualAgentRL.valueEstimates);
163
+ // Temperature annealing
164
+ dualAgentRL.red.temperature = Math.max(0.1, dualAgentRL.red.temperature * 0.999);
165
+ dualAgentRL.blue.temperature = Math.max(0.1, dualAgentRL.blue.temperature * 0.999);
166
+ // Compute current policies
167
+ const redQ = {};
168
+ const blueQ = {};
169
+ for (const [action, weights] of dualAgentRL.red.weights) {
170
+ if (!action.startsWith('_')) {
171
+ redQ[action] = weights.reduce((a, b) => a + b, 0);
172
+ }
173
+ }
174
+ for (const [action, weights] of dualAgentRL.blue.weights) {
175
+ if (!action.startsWith('_')) {
176
+ blueQ[action] = weights.reduce((a, b) => a + b, 0);
177
+ }
178
+ }
179
+ return {
180
+ redPolicy: softmaxPolicy(redQ, dualAgentRL.red.temperature),
181
+ bluePolicy: softmaxPolicy(blueQ, dualAgentRL.blue.temperature),
182
+ };
183
+ }
184
+ // ═══════════════════════════════════════════════════════════════════════════════
185
+ // RL-Enhanced Tool Executor
186
+ // ═══════════════════════════════════════════════════════════════════════════════
187
+ export async function executeWithRL(toolName, action, params, executor) {
188
+ const context = createRLContext(toolName, action, params);
189
+ let result;
190
+ let success = true;
191
+ try {
192
+ result = await executor();
193
+ }
194
+ catch (e) {
195
+ success = false;
196
+ result = { error: String(e) };
197
+ }
198
+ const reward = computeReward(context, result, success);
199
+ const policies = updateDualAgents(context, reward);
200
+ return {
201
+ result,
202
+ rl: {
203
+ reward,
204
+ policies: {
205
+ red: policies.redPolicy,
206
+ blue: policies.bluePolicy,
207
+ },
208
+ },
209
+ };
210
+ }
211
+ // ═══════════════════════════════════════════════════════════════════════════════
212
+ // Get RL State for Visualization
213
+ // ═══════════════════════════════════════════════════════════════════════════════
214
+ export function getRLState() {
215
+ const avgReward = dualAgentRL.rewardHistory.length > 0
216
+ ? dualAgentRL.rewardHistory.reduce((a, b) => a + b, 0) / dualAgentRL.rewardHistory.length
217
+ : 0;
218
+ const topActions = [];
219
+ const allActions = new Set([...dualAgentRL.red.weights.keys(), ...dualAgentRL.blue.weights.keys()]);
220
+ for (const action of allActions) {
221
+ if (action.startsWith('_'))
222
+ continue;
223
+ const redW = (dualAgentRL.red.weights.get(action) || [0]).reduce((a, b) => a + b, 0);
224
+ const blueW = (dualAgentRL.blue.weights.get(action) || [0]).reduce((a, b) => a + b, 0);
225
+ topActions.push({ action, redWeight: redW, blueWeight: blueW });
226
+ }
227
+ topActions.sort((a, b) => Math.abs(b.redWeight) - Math.abs(a.redWeight));
228
+ return {
229
+ episode: dualAgentRL.episode,
230
+ steps: dualAgentRL.stepCount,
231
+ avgReward,
232
+ redTemperature: dualAgentRL.red.temperature,
233
+ blueTemperature: dualAgentRL.blue.temperature,
234
+ topActions: topActions.slice(0, 10),
235
+ };
236
+ }
237
+ //# sourceMappingURL=rlEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rlEngine.js","sourceRoot":"","sources":["../../../src/tools/tao/rlEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Tao Tools - Session State Management
3
+ */
4
+ export declare const sessionState: Map<string, unknown>;
5
+ export declare function getSessionState<T>(key: string): T | undefined;
6
+ export declare function setSessionState<T>(key: string, value: T): void;
7
+ export declare function clearSessionState(): void;
8
+ export declare function hasSessionState(key: string): boolean;
9
+ //# sourceMappingURL=sessionState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionState.d.ts","sourceRoot":"","sources":["../../../src/tools/tao/sessionState.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,YAAY,sBAA6B,CAAC;AAEvD,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAE7D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAE9D;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Tao Tools - Session State Management
3
+ */
4
+ // Session state for persistent operations
5
+ export const sessionState = new Map();
6
+ export function getSessionState(key) {
7
+ return sessionState.get(key);
8
+ }
9
+ export function setSessionState(key, value) {
10
+ sessionState.set(key, value);
11
+ }
12
+ export function clearSessionState() {
13
+ sessionState.clear();
14
+ }
15
+ export function hasSessionState(key) {
16
+ return sessionState.has(key);
17
+ }
18
+ //# sourceMappingURL=sessionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionState.js","sourceRoot":"","sources":["../../../src/tools/tao/sessionState.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEvD,MAAM,UAAU,eAAe,CAAI,GAAW;IAC5C,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAkB,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAAI,GAAW,EAAE,KAAQ;IACtD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Tao Tools - Shared Types and Interfaces
3
+ */
4
+ export interface RLState {
5
+ features: number[];
6
+ context: string;
7
+ timestamp: number;
8
+ }
9
+ export interface RLAction {
10
+ id: string;
11
+ params: Record<string, unknown>;
12
+ confidence: number;
13
+ }
14
+ export interface RLReward {
15
+ value: number;
16
+ components: Record<string, number>;
17
+ sparse: boolean;
18
+ }
19
+ export interface AgentPolicy {
20
+ weights: Map<string, number[]>;
21
+ bias: Map<string, number>;
22
+ temperature: number;
23
+ learningRate: number;
24
+ }
25
+ export interface DualAgentState {
26
+ red: AgentPolicy;
27
+ blue: AgentPolicy;
28
+ sharedMemory: Map<string, unknown>;
29
+ episode: number;
30
+ stepCount: number;
31
+ rewardHistory: number[];
32
+ valueEstimates: Map<string, number>;
33
+ }
34
+ export interface RLToolContext {
35
+ toolName: string;
36
+ action: string;
37
+ params: Record<string, unknown>;
38
+ startTime: number;
39
+ }
40
+ export interface ParsedIntent {
41
+ action: 'recon' | 'scan' | 'exploit' | 'analyze' | 'enumerate' | 'extract' | 'test' | 'verify' | 'monitor' | 'report';
42
+ targets: string[];
43
+ scope: 'host' | 'network' | 'application' | 'infrastructure' | 'full';
44
+ depth: 'quick' | 'standard' | 'deep' | 'comprehensive';
45
+ techniques: string[];
46
+ outputFormat: 'summary' | 'detailed' | 'json' | 'actionable';
47
+ authContext?: string;
48
+ constraints: string[];
49
+ }
50
+ export interface ExecutionResult {
51
+ executed: boolean;
52
+ verified: boolean;
53
+ evidence: string[];
54
+ warnings: string[];
55
+ recommendations: string[];
56
+ confidence: number;
57
+ rawOutput?: unknown;
58
+ }
59
+ export interface VerificationCheck {
60
+ name: string;
61
+ check: () => Promise<boolean>;
62
+ evidence: () => string;
63
+ }
64
+ export interface OperationOutcome {
65
+ id: string;
66
+ operation: string;
67
+ target: string;
68
+ timestamp: number;
69
+ duration: number;
70
+ success: boolean;
71
+ effects: string[];
72
+ artifacts: Array<{
73
+ type: string;
74
+ data: string;
75
+ hash?: string;
76
+ }>;
77
+ networkTraffic?: {
78
+ bytesSent: number;
79
+ bytesReceived: number;
80
+ connections: number;
81
+ };
82
+ stateChanges?: string[];
83
+ }
84
+ export interface AuthorizationContext {
85
+ valid: boolean;
86
+ type: string;
87
+ scope: string[];
88
+ restrictions: string[];
89
+ warnings: string[];
90
+ }
91
+ export interface ActionableOutput {
92
+ summary: string;
93
+ findings: Array<{
94
+ severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
95
+ title: string;
96
+ description: string;
97
+ evidence: string;
98
+ recommendation: string;
99
+ commands?: string[];
100
+ }>;
101
+ nextSteps: string[];
102
+ commands: Array<{
103
+ purpose: string;
104
+ command: string;
105
+ expectedOutput?: string;
106
+ }>;
107
+ timeline?: string;
108
+ }
109
+ //# sourceMappingURL=types.d.ts.map