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.
- package/agents/erosolar-security.rules.json +84 -0
- package/config/security-deployment.json +10 -9
- package/dist/bin/cliMode.d.ts +12 -0
- package/dist/bin/cliMode.d.ts.map +1 -0
- package/dist/bin/cliMode.js +27 -0
- package/dist/bin/cliMode.js.map +1 -0
- package/dist/bin/erosolar.js +47 -46
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/capabilities/index.d.ts +1 -0
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +1 -0
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/taoCapability.d.ts +13 -0
- package/dist/capabilities/taoCapability.d.ts.map +1 -0
- package/dist/capabilities/taoCapability.js +20 -0
- package/dist/capabilities/taoCapability.js.map +1 -0
- package/dist/contracts/agent-profiles.schema.json +16 -0
- package/dist/contracts/tools.schema.json +12 -0
- package/dist/core/agent.d.ts +6 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +22 -0
- package/dist/core/agent.js.map +1 -1
- package/dist/core/agentOrchestrator.d.ts +3 -12
- package/dist/core/agentOrchestrator.d.ts.map +1 -1
- package/dist/core/agentOrchestrator.js +199 -107
- package/dist/core/agentOrchestrator.js.map +1 -1
- package/dist/core/baseToolFactory.d.ts +187 -0
- package/dist/core/baseToolFactory.d.ts.map +1 -0
- package/dist/core/baseToolFactory.js +352 -0
- package/dist/core/baseToolFactory.js.map +1 -0
- package/dist/core/constants.d.ts +5 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +5 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/errors/index.d.ts +50 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +156 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/safetyValidator.d.ts.map +1 -1
- package/dist/core/errors/safetyValidator.js +6 -137
- package/dist/core/errors/safetyValidator.js.map +1 -1
- package/dist/headless/headlessApp.d.ts.map +1 -1
- package/dist/headless/headlessApp.js +2 -15
- package/dist/headless/headlessApp.js.map +1 -1
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +2 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/plugins/tools/tao/taoPlugin.d.ts +3 -0
- package/dist/plugins/tools/tao/taoPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/tao/taoPlugin.js +14 -0
- package/dist/plugins/tools/tao/taoPlugin.js.map +1 -0
- package/dist/providers/baseProvider.d.ts +148 -0
- package/dist/providers/baseProvider.d.ts.map +1 -0
- package/dist/providers/baseProvider.js +284 -0
- package/dist/providers/baseProvider.js.map +1 -0
- package/dist/shell/commandRegistry.d.ts +122 -0
- package/dist/shell/commandRegistry.d.ts.map +1 -0
- package/dist/shell/commandRegistry.js +371 -0
- package/dist/shell/commandRegistry.js.map +1 -0
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +2 -15
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/tools/bashTools.d.ts.map +1 -1
- package/dist/tools/bashTools.js +1 -5
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/tao/index.d.ts +28 -0
- package/dist/tools/tao/index.d.ts.map +1 -0
- package/dist/tools/tao/index.js +33 -0
- package/dist/tools/tao/index.js.map +1 -0
- package/dist/tools/tao/intentParser.d.ts +9 -0
- package/dist/tools/tao/intentParser.d.ts.map +1 -0
- package/dist/tools/tao/intentParser.js +163 -0
- package/dist/tools/tao/intentParser.js.map +1 -0
- package/dist/tools/tao/rlEngine.d.ts +40 -0
- package/dist/tools/tao/rlEngine.d.ts.map +1 -0
- package/dist/tools/tao/rlEngine.js +237 -0
- package/dist/tools/tao/rlEngine.js.map +1 -0
- package/dist/tools/tao/sessionState.d.ts +9 -0
- package/dist/tools/tao/sessionState.d.ts.map +1 -0
- package/dist/tools/tao/sessionState.js +18 -0
- package/dist/tools/tao/sessionState.js.map +1 -0
- package/dist/tools/tao/types.d.ts +109 -0
- package/dist/tools/tao/types.d.ts.map +1 -0
- package/dist/tools/tao/types.js +5 -0
- package/dist/tools/tao/types.js.map +1 -0
- package/dist/tools/tao/verification.d.ts +23 -0
- package/dist/tools/tao/verification.d.ts.map +1 -0
- package/dist/tools/tao/verification.js +211 -0
- package/dist/tools/tao/verification.js.map +1 -0
- package/dist/tools/taoTools.d.ts +23 -0
- package/dist/tools/taoTools.d.ts.map +1 -0
- package/dist/tools/taoTools.js +14499 -0
- package/dist/tools/taoTools.js.map +1 -0
- package/dist/ui/UnifiedUIRenderer.d.ts +5 -0
- package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
- package/dist/ui/UnifiedUIRenderer.js +49 -20
- package/dist/ui/UnifiedUIRenderer.js.map +1 -1
- package/dist/ui/index.d.ts +102 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +120 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -1
- package/dist/ui/orchestration/UIUpdateCoordinator.js +7 -0
- package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -1
- package/dist/utils/packageInfo.d.ts +14 -0
- package/dist/utils/packageInfo.d.ts.map +1 -0
- package/dist/utils/packageInfo.js +45 -0
- package/dist/utils/packageInfo.js.map +1 -0
- package/package.json +3 -3
- package/scripts/deploy-security-capabilities.js +157 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../src/contracts/schemas/agent-rules.schema.json",
|
|
3
|
+
"contractVersion": "1.0.0",
|
|
4
|
+
"profile": "erosolar-security",
|
|
5
|
+
"version": "2024-12-01",
|
|
6
|
+
"label": "Erosolar Security",
|
|
7
|
+
"description": "Offensive security specialist with comprehensive exploitation toolkit.",
|
|
8
|
+
"globalPrinciples": [
|
|
9
|
+
{
|
|
10
|
+
"id": "core.act_first",
|
|
11
|
+
"summary": "Use tools to complete tasks. Brief explanation is optional.",
|
|
12
|
+
"severity": "critical"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "core.read_before_edit",
|
|
16
|
+
"summary": "Read before Edit. Copy exact text from read output.",
|
|
17
|
+
"severity": "critical"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "core.parallel",
|
|
21
|
+
"summary": "Parallelize independent operations.",
|
|
22
|
+
"severity": "critical"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "core.retry",
|
|
26
|
+
"summary": "On failure: inspect, adjust, retry.",
|
|
27
|
+
"severity": "critical"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "core.validate_once",
|
|
31
|
+
"summary": "Validate once at end. Complete all edits first.",
|
|
32
|
+
"severity": "critical"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "core.concise",
|
|
36
|
+
"summary": "Be concise. Cite file:line.",
|
|
37
|
+
"severity": "required"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "core.complete",
|
|
41
|
+
"summary": "Complete the task. Continue until done.",
|
|
42
|
+
"severity": "critical"
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
{
|
|
47
|
+
"id": "security.dual_agent",
|
|
48
|
+
"summary": "Use dual-agent RL system (RLOrchestrator) for adversarial validation of offensive actions.",
|
|
49
|
+
"detail": "When planning exploitation, leverage RLOrchestrator to simulate defensive responses and optimize attack strategies.",
|
|
50
|
+
"severity": "recommended"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"phases": [
|
|
54
|
+
{
|
|
55
|
+
"id": "phase.execute",
|
|
56
|
+
"label": "Execute",
|
|
57
|
+
"description": "Read → Edit → Validate",
|
|
58
|
+
"steps": [
|
|
59
|
+
{
|
|
60
|
+
"id": "step.do",
|
|
61
|
+
"title": "Do the task",
|
|
62
|
+
"intent": "Read files, make edits, run validation. All in one flow.",
|
|
63
|
+
"rules": [
|
|
64
|
+
{
|
|
65
|
+
"id": "rule.speculative_read",
|
|
66
|
+
"summary": "Pre-read target + related files (imports, tests) in parallel before editing.",
|
|
67
|
+
"severity": "required"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "rule.atomic_edit",
|
|
71
|
+
"summary": "One concern per edit. Small, focused changes.",
|
|
72
|
+
"severity": "required"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "rule.final_check",
|
|
76
|
+
"summary": "After all edits: validate_all_changes or npm run build && npm test.",
|
|
77
|
+
"severity": "required"
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"enableExploitation": true,
|
|
8
8
|
"enableAdvancedExploitation": true,
|
|
9
9
|
"enablePayloadGeneration": true,
|
|
10
|
-
"requireAuthorization":
|
|
10
|
+
"requireAuthorization": false
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
},
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"environment": {
|
|
23
23
|
"SECURITY_AUTHORIZATION_TOKEN": "${SECURITY_AUTHORIZATION_TOKEN}",
|
|
24
|
-
"BYPASS_AUTHORIZATION":
|
|
24
|
+
"BYPASS_AUTHORIZATION": true
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"tools": {
|
|
@@ -34,9 +34,10 @@
|
|
|
34
34
|
"reverseShells": true,
|
|
35
35
|
"filelessPersistence": true,
|
|
36
36
|
"webShells": true,
|
|
37
|
-
"dnsTunneling":
|
|
38
|
-
"phishingTemplates":
|
|
39
|
-
"backdoorUsers":
|
|
37
|
+
"dnsTunneling": false,
|
|
38
|
+
"phishingTemplates": false,
|
|
39
|
+
"backdoorUsers": false,
|
|
40
|
+
"note": "Reverse shells via Payload tool, fileless persistence via Persist tool, web shells via Payload tool. DNS tunneling, phishing templates, and backdoor users not yet implemented."
|
|
40
41
|
}
|
|
41
42
|
},
|
|
42
43
|
"reporting": {
|
|
@@ -45,10 +46,10 @@
|
|
|
45
46
|
"logActivities": true
|
|
46
47
|
},
|
|
47
48
|
"safety": {
|
|
48
|
-
"legalNotice":
|
|
49
|
-
"scopeValidation":
|
|
50
|
-
"activityLogging":
|
|
51
|
-
"evidenceCollection":
|
|
49
|
+
"legalNotice": false,
|
|
50
|
+
"scopeValidation": false,
|
|
51
|
+
"activityLogging": false,
|
|
52
|
+
"evidenceCollection": false
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type CliMode = 'version' | 'help' | 'self-test' | 'json' | 'eval' | 'shell';
|
|
2
|
+
export interface ParsedCliMode {
|
|
3
|
+
mode: CliMode;
|
|
4
|
+
argv: string[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Determine which runtime mode the CLI should launch based on the provided flags.
|
|
8
|
+
* Precedence mirrors the legacy branching:
|
|
9
|
+
* version > help > self-test > json > eval > shell (default interactive)
|
|
10
|
+
*/
|
|
11
|
+
export declare function detectCliMode(rawArgv: string[]): ParsedCliMode;
|
|
12
|
+
//# sourceMappingURL=cliMode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliMode.d.ts","sourceRoot":"","sources":["../../src/bin/cliMode.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAqB9D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determine which runtime mode the CLI should launch based on the provided flags.
|
|
3
|
+
* Precedence mirrors the legacy branching:
|
|
4
|
+
* version > help > self-test > json > eval > shell (default interactive)
|
|
5
|
+
*/
|
|
6
|
+
export function detectCliMode(rawArgv) {
|
|
7
|
+
const argv = [...rawArgv];
|
|
8
|
+
const hasFlag = (flag) => argv.includes(flag);
|
|
9
|
+
const hasAny = (flags) => flags.some((flag) => hasFlag(flag));
|
|
10
|
+
if (hasAny(['--version', '-v'])) {
|
|
11
|
+
return { mode: 'version', argv };
|
|
12
|
+
}
|
|
13
|
+
if (hasAny(['--help', '-h'])) {
|
|
14
|
+
return { mode: 'help', argv };
|
|
15
|
+
}
|
|
16
|
+
if (hasFlag('--self-test')) {
|
|
17
|
+
return { mode: 'self-test', argv };
|
|
18
|
+
}
|
|
19
|
+
if (hasFlag('--json')) {
|
|
20
|
+
return { mode: 'json', argv };
|
|
21
|
+
}
|
|
22
|
+
if (hasAny(['--eval', '-e'])) {
|
|
23
|
+
return { mode: 'eval', argv };
|
|
24
|
+
}
|
|
25
|
+
return { mode: 'shell', argv };
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=cliMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliMode.js","sourceRoot":"","sources":["../../src/bin/cliMode.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAiB;IAC7C,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,CAAC,KAAe,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjF,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC"}
|
package/dist/bin/erosolar.js
CHANGED
|
@@ -11,33 +11,64 @@ if (process.stdout.isTTY && !process.env['NO_COLOR']) {
|
|
|
11
11
|
// Only force if not explicitly disabled and we have a real terminal
|
|
12
12
|
process.env['FORCE_COLOR'] = process.env['FORCE_COLOR'] ?? '1';
|
|
13
13
|
}
|
|
14
|
-
import { readFileSync } from 'node:fs';
|
|
15
|
-
import { fileURLToPath } from 'node:url';
|
|
16
|
-
import { dirname, join } from 'node:path';
|
|
17
14
|
import { launchShell } from '../shell/shellApp.js';
|
|
18
15
|
import { runHeadlessApp } from '../headless/headlessApp.js';
|
|
19
16
|
import { runEvalMode } from '../headless/evalMode.js';
|
|
20
17
|
import { runSelfTest } from './selfTest.js';
|
|
21
18
|
import { installGlobalWriteLock } from '../ui/globalWriteLock.js';
|
|
19
|
+
import { detectCliMode } from './cliMode.js';
|
|
20
|
+
import { readPackageVersion } from '../utils/packageInfo.js';
|
|
22
21
|
const argv = process.argv.slice(2);
|
|
23
22
|
// Install global write lock so all stdout/stderr writes respect UI coordination
|
|
24
23
|
installGlobalWriteLock();
|
|
25
|
-
|
|
26
|
-
if (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
24
|
+
const { mode, argv: modeArgv } = detectCliMode(argv);
|
|
25
|
+
if (mode === 'version') {
|
|
26
|
+
printVersion();
|
|
27
|
+
process.exit(0);
|
|
28
|
+
}
|
|
29
|
+
if (mode === 'help') {
|
|
30
|
+
printHelp();
|
|
31
|
+
process.exit(0);
|
|
32
|
+
}
|
|
33
|
+
// Handle --self-test flag
|
|
34
|
+
if (mode === 'self-test') {
|
|
35
|
+
runSelfTest().then((success) => {
|
|
36
|
+
process.exit(success ? 0 : 1);
|
|
37
|
+
}).catch((error) => {
|
|
38
|
+
console.error('Self-test failed:', error instanceof Error ? error.message : error);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else if (mode === 'json') {
|
|
43
|
+
runHeadlessApp({ argv: modeArgv }).catch((error) => {
|
|
44
|
+
console.error(error instanceof Error ? error.message : error);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else if (mode === 'eval') {
|
|
49
|
+
// Non-interactive eval mode: run a single prompt and exit with plain text output
|
|
50
|
+
runEvalMode({ argv: modeArgv }).catch((error) => {
|
|
51
|
+
console.error(error instanceof Error ? error.message : error);
|
|
52
|
+
process.exit(1);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// Launch shell with persistent chat box (scroll regions enabled during streaming)
|
|
57
|
+
launchShell('erosolar-code', { enableProfileSelection: true }).catch((error) => {
|
|
58
|
+
console.error(error instanceof Error ? error.message : error);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function printVersion() {
|
|
63
|
+
const version = readPackageVersion(import.meta.url);
|
|
64
|
+
if (version === '0.0.0') {
|
|
35
65
|
console.log('erosolar-cli (version unknown)');
|
|
36
66
|
}
|
|
37
|
-
|
|
67
|
+
else {
|
|
68
|
+
console.log(`erosolar-cli v${version}`);
|
|
69
|
+
}
|
|
38
70
|
}
|
|
39
|
-
|
|
40
|
-
if (argv.includes('--help') || argv.includes('-h')) {
|
|
71
|
+
function printHelp() {
|
|
41
72
|
console.log(`
|
|
42
73
|
erosolar-cli - Unified AI Agent Framework
|
|
43
74
|
|
|
@@ -68,35 +99,5 @@ Environment Variables:
|
|
|
68
99
|
For more info: https://github.com/ErosolarAI/erosolar
|
|
69
100
|
npm: https://www.npmjs.com/package/erosolar-cli
|
|
70
101
|
`);
|
|
71
|
-
process.exit(0);
|
|
72
|
-
}
|
|
73
|
-
// Handle --self-test flag
|
|
74
|
-
if (argv.includes('--self-test')) {
|
|
75
|
-
runSelfTest().then((success) => {
|
|
76
|
-
process.exit(success ? 0 : 1);
|
|
77
|
-
}).catch((error) => {
|
|
78
|
-
console.error('Self-test failed:', error instanceof Error ? error.message : error);
|
|
79
|
-
process.exit(1);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
else if (argv.includes('--json')) {
|
|
83
|
-
runHeadlessApp({ argv }).catch((error) => {
|
|
84
|
-
console.error(error instanceof Error ? error.message : error);
|
|
85
|
-
process.exit(1);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
else if (argv.includes('--eval') || argv.includes('-e')) {
|
|
89
|
-
// Non-interactive eval mode: run a single prompt and exit with plain text output
|
|
90
|
-
runEvalMode({ argv }).catch((error) => {
|
|
91
|
-
console.error(error instanceof Error ? error.message : error);
|
|
92
|
-
process.exit(1);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
// Launch shell with persistent chat box (scroll regions enabled during streaming)
|
|
97
|
-
launchShell('erosolar-code', { enableProfileSelection: true }).catch((error) => {
|
|
98
|
-
console.error(error instanceof Error ? error.message : error);
|
|
99
|
-
process.exit(1);
|
|
100
|
-
});
|
|
101
102
|
}
|
|
102
103
|
//# sourceMappingURL=erosolar.js.map
|
package/dist/bin/erosolar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erosolar.js","sourceRoot":"","sources":["../../src/bin/erosolar.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,wEAAwE;AACxE,6EAA6E;AAC7E,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IACrD,oEAAoE;IACpE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;AACjE,CAAC;AAED,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"erosolar.js","sourceRoot":"","sources":["../../src/bin/erosolar.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,4 +23,5 @@ export { FrontendTestingCapabilityModule, type FrontendTestingCapabilityOptions,
|
|
|
23
23
|
export { BrowserAutomationCapabilityModule, type BrowserAutomationCapabilityOptions, } from './browserAutomationCapability.js';
|
|
24
24
|
export { ValidationCapabilityModule, type ValidationCapabilityOptions, } from './validationCapability.js';
|
|
25
25
|
export { BuildCapabilityModule, type BuildCapabilityOptions, } from './buildCapability.js';
|
|
26
|
+
export { TaoCapabilityModule, type TaoCapabilityOptions, } from './taoCapability.js';
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,KAAK,mCAAmC,GACzC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,KAAK,yCAAyC,GAC/C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,EACtC,KAAK,uCAAuC,GAC7C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,EACnC,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,EAC/B,KAAK,gCAAgC,GACtC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,KAAK,kCAAkC,GACxC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,KAAK,mCAAmC,GACzC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,KAAK,yCAAyC,GAC/C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,EACtC,KAAK,uCAAuC,GAC7C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,EACnC,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,EAC/B,KAAK,gCAAgC,GACtC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,KAAK,kCAAkC,GACxC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC"}
|
|
@@ -23,4 +23,5 @@ export { FrontendTestingCapabilityModule, } from './frontendTestingCapability.js
|
|
|
23
23
|
export { BrowserAutomationCapabilityModule, } from './browserAutomationCapability.js';
|
|
24
24
|
export { ValidationCapabilityModule, } from './validationCapability.js';
|
|
25
25
|
export { BuildCapabilityModule, } from './buildCapability.js';
|
|
26
|
+
export { TaoCapabilityModule, } from './taoCapability.js';
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,GAEnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,GAEzC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,GAEvC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,GAEpC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,GAEhC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,GAElC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,GAE3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,GAEnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,GAEzC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,GAEvC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,GAEpC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,+BAA+B,GAEhC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,GAElC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,GAE3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CapabilityContribution, CapabilityContext, CapabilityModule } from '../runtime/agentHost.js';
|
|
2
|
+
export interface TaoCapabilityOptions {
|
|
3
|
+
workingDir?: string;
|
|
4
|
+
id?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class TaoCapabilityModule implements CapabilityModule {
|
|
8
|
+
readonly id = "capability.tao";
|
|
9
|
+
private readonly options;
|
|
10
|
+
constructor(options?: TaoCapabilityOptions);
|
|
11
|
+
create(context: CapabilityContext): Promise<CapabilityContribution>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=taoCapability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taoCapability.d.ts","sourceRoot":"","sources":["../../src/capabilities/taoCapability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3G,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,mBAAoB,YAAW,gBAAgB;IAC1D,QAAQ,CAAC,EAAE,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAEnC,OAAO,GAAE,oBAAyB;IAIxC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAW1E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createTaoTools } from '../tools/taoTools.js';
|
|
2
|
+
export class TaoCapabilityModule {
|
|
3
|
+
id = 'capability.tao';
|
|
4
|
+
options;
|
|
5
|
+
constructor(options = {}) {
|
|
6
|
+
this.options = options;
|
|
7
|
+
}
|
|
8
|
+
async create(context) {
|
|
9
|
+
const workingDir = this.options.workingDir ?? context.workingDir;
|
|
10
|
+
return {
|
|
11
|
+
id: this.options.id ?? 'tao.tools.core',
|
|
12
|
+
description: this.options.description ?? 'Direct execution primitives - act, observe, adapt without ceremony.',
|
|
13
|
+
toolSuite: createTaoTools(workingDir),
|
|
14
|
+
metadata: {
|
|
15
|
+
workingDir,
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=taoCapability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taoCapability.js","sourceRoot":"","sources":["../../src/capabilities/taoCapability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQtD,MAAM,OAAO,mBAAmB;IACrB,EAAE,GAAG,gBAAgB,CAAC;IACd,OAAO,CAAuB;IAE/C,YAAY,UAAgC,EAAE;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,gBAAgB;YACvC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,qEAAqE;YAC9G,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC;YACrC,QAAQ,EAAE;gBACR,UAAU;aACX;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -38,6 +38,22 @@
|
|
|
38
38
|
"contractVersion": "1.0.0",
|
|
39
39
|
"description": "Deterministic coding workflow guardrails."
|
|
40
40
|
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "erosolar-security",
|
|
44
|
+
"label": "Erosolar Security",
|
|
45
|
+
"description": "Offensive security specialist with comprehensive exploitation toolkit.",
|
|
46
|
+
"defaultProvider": "deepseek",
|
|
47
|
+
"defaultModel": "deepseek-reasoner",
|
|
48
|
+
"systemPrompt": {
|
|
49
|
+
"type": "rulebook"
|
|
50
|
+
},
|
|
51
|
+
"rulebook": {
|
|
52
|
+
"file": "agents/erosolar-security.rules.json",
|
|
53
|
+
"version": "2024-12-01",
|
|
54
|
+
"contractVersion": "1.0.0",
|
|
55
|
+
"description": "Offensive security operational guardrails."
|
|
56
|
+
}
|
|
41
57
|
}
|
|
42
58
|
]
|
|
43
59
|
}
|
|
@@ -136,6 +136,18 @@
|
|
|
136
136
|
"metadata": {
|
|
137
137
|
"restartRequired": true
|
|
138
138
|
}
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "offensive-security",
|
|
142
|
+
"label": "Offensive Security Tools",
|
|
143
|
+
"description": "Comprehensive offensive security toolkit for reconnaissance, exploitation, and post-exploitation.",
|
|
144
|
+
"defaultEnabled": true,
|
|
145
|
+
"category": "security",
|
|
146
|
+
"scopes": ["process:exec", "network:api", "analysis:dependency"],
|
|
147
|
+
"pluginIds": ["tool.tao"],
|
|
148
|
+
"metadata": {
|
|
149
|
+
"restartRequired": true
|
|
150
|
+
}
|
|
139
151
|
}
|
|
140
152
|
]
|
|
141
153
|
}
|
package/dist/core/agent.d.ts
CHANGED
|
@@ -196,6 +196,12 @@ export declare class AgentRuntime {
|
|
|
196
196
|
* - Repeated searches with same pattern but new results
|
|
197
197
|
*/
|
|
198
198
|
private checkBehavioralLoop;
|
|
199
|
+
/**
|
|
200
|
+
* Provide an acknowledgement before the first tool call when the model
|
|
201
|
+
* hasn't narrated its plan. This keeps the UI responsive and lets the
|
|
202
|
+
* user know work is happening even before tool output arrives.
|
|
203
|
+
*/
|
|
204
|
+
private maybeAckToolCalls;
|
|
199
205
|
/**
|
|
200
206
|
* Reset behavioral loop tracking (called when user provides new input or task completes)
|
|
201
207
|
*/
|
package/dist/core/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/core/agent.js
CHANGED
|
@@ -227,6 +227,8 @@ export class AgentRuntime {
|
|
|
227
227
|
if (!prompt) {
|
|
228
228
|
return '';
|
|
229
229
|
}
|
|
230
|
+
// Notify UI immediately so it can reflect activity without waiting for generation
|
|
231
|
+
this.callbacks.onRequestReceived?.(prompt.slice(0, 400));
|
|
230
232
|
// Reset cancellation flag and loop tracking at start of new request
|
|
231
233
|
this.cancellationRequested = false;
|
|
232
234
|
this.resetBehavioralLoopTracking();
|
|
@@ -324,6 +326,7 @@ export class AgentRuntime {
|
|
|
324
326
|
contextStats,
|
|
325
327
|
});
|
|
326
328
|
}
|
|
329
|
+
this.maybeAckToolCalls(response.toolCalls, Boolean(narration?.length), usage, contextStats);
|
|
327
330
|
const assistantMessage = {
|
|
328
331
|
role: 'assistant',
|
|
329
332
|
content: response.content ?? '',
|
|
@@ -541,6 +544,7 @@ export class AgentRuntime {
|
|
|
541
544
|
wasStreamed: true,
|
|
542
545
|
});
|
|
543
546
|
}
|
|
547
|
+
this.maybeAckToolCalls(toolCalls, Boolean(narration.length), usage, contextStats);
|
|
544
548
|
const assistantMessage = {
|
|
545
549
|
role: 'assistant',
|
|
546
550
|
content: combinedContent,
|
|
@@ -973,6 +977,24 @@ export class AgentRuntime {
|
|
|
973
977
|
}
|
|
974
978
|
return null;
|
|
975
979
|
}
|
|
980
|
+
/**
|
|
981
|
+
* Provide an acknowledgement before the first tool call when the model
|
|
982
|
+
* hasn't narrated its plan. This keeps the UI responsive and lets the
|
|
983
|
+
* user know work is happening even before tool output arrives.
|
|
984
|
+
*/
|
|
985
|
+
maybeAckToolCalls(toolCalls, hasModelNarration, usage, contextStats) {
|
|
986
|
+
if (!toolCalls?.length) {
|
|
987
|
+
return;
|
|
988
|
+
}
|
|
989
|
+
const acknowledgement = this.callbacks.onBeforeFirstToolCall?.(toolCalls.map((call) => call.name), hasModelNarration);
|
|
990
|
+
if (acknowledgement && acknowledgement.trim()) {
|
|
991
|
+
this.emitAssistantMessage(acknowledgement, {
|
|
992
|
+
isFinal: false,
|
|
993
|
+
usage,
|
|
994
|
+
contextStats,
|
|
995
|
+
});
|
|
996
|
+
}
|
|
997
|
+
}
|
|
976
998
|
/**
|
|
977
999
|
* Reset behavioral loop tracking (called when user provides new input or task completes)
|
|
978
1000
|
*/
|