testchimp-runner-core 0.0.33 → 0.0.35
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/dist/execution-service.d.ts +1 -4
- package/dist/execution-service.d.ts.map +1 -1
- package/dist/execution-service.js +155 -468
- package/dist/execution-service.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/llm-facade.d.ts.map +1 -1
- package/dist/llm-facade.js +7 -7
- package/dist/llm-facade.js.map +1 -1
- package/dist/llm-provider.d.ts +9 -0
- package/dist/llm-provider.d.ts.map +1 -1
- package/dist/model-constants.d.ts +16 -5
- package/dist/model-constants.d.ts.map +1 -1
- package/dist/model-constants.js +17 -6
- package/dist/model-constants.js.map +1 -1
- package/dist/orchestrator/decision-parser.d.ts +18 -0
- package/dist/orchestrator/decision-parser.d.ts.map +1 -0
- package/dist/orchestrator/decision-parser.js +127 -0
- package/dist/orchestrator/decision-parser.js.map +1 -0
- package/dist/orchestrator/index.d.ts +4 -2
- package/dist/orchestrator/index.d.ts.map +1 -1
- package/dist/orchestrator/index.js +15 -2
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/orchestrator-agent.d.ts +17 -22
- package/dist/orchestrator/orchestrator-agent.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator-agent.js +708 -577
- package/dist/orchestrator/orchestrator-agent.js.map +1 -1
- package/dist/orchestrator/orchestrator-prompts.d.ts +32 -0
- package/dist/orchestrator/orchestrator-prompts.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator-prompts.js +737 -0
- package/dist/orchestrator/orchestrator-prompts.js.map +1 -0
- package/dist/orchestrator/page-som-handler.d.ts +106 -0
- package/dist/orchestrator/page-som-handler.d.ts.map +1 -0
- package/dist/orchestrator/page-som-handler.js +1353 -0
- package/dist/orchestrator/page-som-handler.js.map +1 -0
- package/dist/orchestrator/som-types.d.ts +149 -0
- package/dist/orchestrator/som-types.d.ts.map +1 -0
- package/dist/orchestrator/som-types.js +87 -0
- package/dist/orchestrator/som-types.js.map +1 -0
- package/dist/orchestrator/tool-registry.d.ts +2 -0
- package/dist/orchestrator/tool-registry.d.ts.map +1 -1
- package/dist/orchestrator/tool-registry.js.map +1 -1
- package/dist/orchestrator/tools/index.d.ts +5 -1
- package/dist/orchestrator/tools/index.d.ts.map +1 -1
- package/dist/orchestrator/tools/index.js +9 -2
- package/dist/orchestrator/tools/index.js.map +1 -1
- package/dist/orchestrator/tools/refresh-som-markers.d.ts +12 -0
- package/dist/orchestrator/tools/refresh-som-markers.d.ts.map +1 -0
- package/dist/orchestrator/tools/refresh-som-markers.js +64 -0
- package/dist/orchestrator/tools/refresh-som-markers.js.map +1 -0
- package/dist/orchestrator/tools/verify-action-result.d.ts +17 -0
- package/dist/orchestrator/tools/verify-action-result.d.ts.map +1 -0
- package/dist/orchestrator/tools/verify-action-result.js +140 -0
- package/dist/orchestrator/tools/verify-action-result.js.map +1 -0
- package/dist/orchestrator/tools/view-previous-screenshot.d.ts +15 -0
- package/dist/orchestrator/tools/view-previous-screenshot.d.ts.map +1 -0
- package/dist/orchestrator/tools/view-previous-screenshot.js +92 -0
- package/dist/orchestrator/tools/view-previous-screenshot.js.map +1 -0
- package/dist/orchestrator/types.d.ts +49 -1
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/orchestrator/types.js +11 -1
- package/dist/orchestrator/types.js.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +40 -34
- package/dist/prompts.js.map +1 -1
- package/dist/scenario-service.d.ts +5 -0
- package/dist/scenario-service.d.ts.map +1 -1
- package/dist/scenario-service.js +17 -0
- package/dist/scenario-service.js.map +1 -1
- package/dist/scenario-worker-class.d.ts +4 -0
- package/dist/scenario-worker-class.d.ts.map +1 -1
- package/dist/scenario-worker-class.js +21 -3
- package/dist/scenario-worker-class.js.map +1 -1
- package/dist/testing/agent-tester.d.ts +35 -0
- package/dist/testing/agent-tester.d.ts.map +1 -0
- package/dist/testing/agent-tester.js +84 -0
- package/dist/testing/agent-tester.js.map +1 -0
- package/dist/testing/ref-translator-tester.d.ts +44 -0
- package/dist/testing/ref-translator-tester.d.ts.map +1 -0
- package/dist/testing/ref-translator-tester.js +104 -0
- package/dist/testing/ref-translator-tester.js.map +1 -0
- package/dist/utils/coordinate-converter.d.ts +32 -0
- package/dist/utils/coordinate-converter.d.ts.map +1 -0
- package/dist/utils/coordinate-converter.js +130 -0
- package/dist/utils/coordinate-converter.js.map +1 -0
- package/dist/utils/hierarchical-selector.d.ts +47 -0
- package/dist/utils/hierarchical-selector.d.ts.map +1 -0
- package/dist/utils/hierarchical-selector.js +212 -0
- package/dist/utils/hierarchical-selector.js.map +1 -0
- package/dist/utils/page-info-retry.d.ts +14 -0
- package/dist/utils/page-info-retry.d.ts.map +1 -0
- package/dist/utils/page-info-retry.js +60 -0
- package/dist/utils/page-info-retry.js.map +1 -0
- package/dist/utils/page-info-utils.d.ts +1 -0
- package/dist/utils/page-info-utils.d.ts.map +1 -1
- package/dist/utils/page-info-utils.js +46 -18
- package/dist/utils/page-info-utils.js.map +1 -1
- package/dist/utils/ref-attacher.d.ts +21 -0
- package/dist/utils/ref-attacher.d.ts.map +1 -0
- package/dist/utils/ref-attacher.js +149 -0
- package/dist/utils/ref-attacher.js.map +1 -0
- package/dist/utils/ref-translator.d.ts +49 -0
- package/dist/utils/ref-translator.d.ts.map +1 -0
- package/dist/utils/ref-translator.js +276 -0
- package/dist/utils/ref-translator.js.map +1 -0
- package/package.json +1 -1
- package/plandocs/BEFORE_AFTER_VERIFICATION.md +148 -0
- package/plandocs/COORDINATE_MODE_DIAGNOSIS.md +144 -0
- package/plandocs/IMPLEMENTATION_STATUS.md +108 -0
- package/plandocs/PHASE_1_COMPLETE.md +165 -0
- package/plandocs/PHASE_1_SUMMARY.md +184 -0
- package/plandocs/PROMPT_OPTIMIZATION_ANALYSIS.md +120 -0
- package/plandocs/PROMPT_SANITY_CHECK.md +120 -0
- package/plandocs/SESSION_SUMMARY_v0.0.33.md +151 -0
- package/plandocs/TROUBLESHOOTING_SESSION.md +72 -0
- package/plandocs/VISUAL_AGENT_EVOLUTION_PLAN.md +396 -0
- package/plandocs/WHATS_NEW_v0.0.33.md +183 -0
- package/plandocs/exploratory-mode-support-v2.plan.md +953 -0
- package/plandocs/exploratory-mode-support.plan.md +928 -0
- package/plandocs/journey-id-tracking-addendum.md +227 -0
- package/src/execution-service.ts +179 -596
- package/src/index.ts +10 -0
- package/src/llm-facade.ts +8 -8
- package/src/llm-provider.ts +11 -1
- package/src/model-constants.ts +17 -5
- package/src/orchestrator/decision-parser.ts +139 -0
- package/src/orchestrator/index.ts +27 -2
- package/src/orchestrator/orchestrator-agent.ts +868 -623
- package/src/orchestrator/orchestrator-prompts.ts +786 -0
- package/src/orchestrator/page-som-handler.ts +1565 -0
- package/src/orchestrator/som-types.ts +188 -0
- package/src/orchestrator/tool-registry.ts +2 -0
- package/src/orchestrator/tools/index.ts +5 -1
- package/src/orchestrator/tools/refresh-som-markers.ts +69 -0
- package/src/orchestrator/tools/verify-action-result.ts +159 -0
- package/src/orchestrator/tools/view-previous-screenshot.ts +103 -0
- package/src/orchestrator/types.ts +95 -4
- package/src/prompts.ts +40 -34
- package/src/scenario-service.ts +20 -0
- package/src/scenario-worker-class.ts +30 -4
- package/src/utils/coordinate-converter.ts +162 -0
- package/src/utils/page-info-retry.ts +65 -0
- package/src/utils/page-info-utils.ts +53 -18
- package/testchimp-runner-core-0.0.35.tgz +0 -0
- /package/{CREDIT_CALLBACK_ARCHITECTURE.md → plandocs/CREDIT_CALLBACK_ARCHITECTURE.md} +0 -0
- /package/{INTEGRATION_COMPLETE.md → plandocs/INTEGRATION_COMPLETE.md} +0 -0
- /package/{VISION_DIAGNOSTICS_IMPROVEMENTS.md → plandocs/VISION_DIAGNOSTICS_IMPROVEMENTS.md} +0 -0
- /package/{RELEASE_0.0.26.md → releasenotes/RELEASE_0.0.26.md} +0 -0
- /package/{RELEASE_0.0.27.md → releasenotes/RELEASE_0.0.27.md} +0 -0
- /package/{RELEASE_0.0.28.md → releasenotes/RELEASE_0.0.28.md} +0 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Decision Parser Utility
|
|
4
|
+
* Parses and validates agent decisions from LLM responses
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.DecisionParser = void 0;
|
|
8
|
+
const som_types_1 = require("./som-types");
|
|
9
|
+
class DecisionParser {
|
|
10
|
+
constructor(logger) {
|
|
11
|
+
this.logger = logger;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Parse agent decision from LLM response
|
|
15
|
+
*/
|
|
16
|
+
parse(response) {
|
|
17
|
+
try {
|
|
18
|
+
// Extract JSON from response
|
|
19
|
+
const jsonMatch = response.match(/\{[\s\S]*\}/);
|
|
20
|
+
if (!jsonMatch) {
|
|
21
|
+
this.logger?.(`[DecisionParser] ✗ No JSON found in LLM response`, 'error');
|
|
22
|
+
this.logger?.(`[DecisionParser] 📄 FULL LLM RESPONSE:\n${response}`, 'error');
|
|
23
|
+
throw new Error('No JSON found in response');
|
|
24
|
+
}
|
|
25
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
26
|
+
// Validate required fields
|
|
27
|
+
// Accept either "reasoning" or "statusReasoning" (LLMs sometimes only provide one)
|
|
28
|
+
if (!parsed.status || (!parsed.reasoning && !parsed.statusReasoning)) {
|
|
29
|
+
this.logger?.(`[DecisionParser] ✗ Missing required fields in parsed JSON`, 'error');
|
|
30
|
+
this.logger?.(`[DecisionParser] 📄 FULL LLM RESPONSE:\n${response}`, 'error');
|
|
31
|
+
this.logger?.(`[DecisionParser] 📄 PARSED JSON:\n${JSON.stringify(parsed, null, 2)}`, 'error');
|
|
32
|
+
this.logger?.(`[DecisionParser] ❌ Has status: ${!!parsed.status}, Has reasoning: ${!!parsed.reasoning}, Has statusReasoning: ${!!parsed.statusReasoning}`, 'error');
|
|
33
|
+
throw new Error('Missing required fields: status and (reasoning or statusReasoning)');
|
|
34
|
+
}
|
|
35
|
+
// Normalize: if reasoning is missing but statusReasoning exists, use statusReasoning as reasoning
|
|
36
|
+
if (!parsed.reasoning && parsed.statusReasoning) {
|
|
37
|
+
parsed.reasoning = parsed.statusReasoning;
|
|
38
|
+
}
|
|
39
|
+
return parsed;
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
this.logger?.(`[DecisionParser] ✗ Failed to parse agent decision: ${error.message}`, 'error');
|
|
43
|
+
// Only log full response if not already logged above
|
|
44
|
+
if (!error.message.includes('Missing required fields') && !error.message.includes('No JSON found')) {
|
|
45
|
+
this.logger?.(`[DecisionParser] 📄 FULL LLM RESPONSE:\n${response}`, 'error');
|
|
46
|
+
}
|
|
47
|
+
// Return fallback
|
|
48
|
+
return {
|
|
49
|
+
status: 'stuck',
|
|
50
|
+
statusReasoning: 'Failed to parse agent response',
|
|
51
|
+
reasoning: `Parse error: ${error.message}`
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Log agent decision for debugging
|
|
57
|
+
*/
|
|
58
|
+
log(decision, iteration) {
|
|
59
|
+
this.logger?.(`[Orchestrator] 💭 REASONING: ${decision.reasoning}`);
|
|
60
|
+
if (decision.selfReflection) {
|
|
61
|
+
this.logger?.(`[Orchestrator] 🧠 SELF-REFLECTION:`);
|
|
62
|
+
this.logger?.(`[Orchestrator] Next: ${decision.selfReflection.guidanceForNext}`);
|
|
63
|
+
if (decision.selfReflection.detectingLoop) {
|
|
64
|
+
this.logger?.(`[Orchestrator] 🔄 LOOP DETECTED: ${decision.selfReflection.loopReasoning}`, 'warn');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (decision.toolCalls && decision.toolCalls.length > 0) {
|
|
68
|
+
this.logger?.(`[Orchestrator] 🔧 TOOLS: ${decision.toolCalls.map(t => t.name).join(', ')}`);
|
|
69
|
+
if (decision.toolReasoning) {
|
|
70
|
+
this.logger?.(`[Orchestrator] 📋 Why: ${decision.toolReasoning}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (decision.blockerDetected) {
|
|
74
|
+
this.logger?.(`[Orchestrator] 🚧 BLOCKER: ${decision.blockerDetected.description}`, 'warn');
|
|
75
|
+
this.logger?.(`[Orchestrator] 🧹 Clearing with ${decision.blockerDetected.clearingCommands.length} command(s)`);
|
|
76
|
+
}
|
|
77
|
+
if (decision.stepReEvaluation?.detected) {
|
|
78
|
+
this.logger?.(`[Orchestrator] 🔍 STEP RE-EVALUATION: ${decision.stepReEvaluation.issue}`, 'warn');
|
|
79
|
+
this.logger?.(`[Orchestrator] 📝 Explanation: ${decision.stepReEvaluation.explanation}`);
|
|
80
|
+
}
|
|
81
|
+
if (decision.commands && decision.commands.length > 0) {
|
|
82
|
+
this.logger?.(`[Orchestrator] 📝 COMMANDS (${decision.commands.length}):`);
|
|
83
|
+
decision.commands.slice(0, 3).forEach((cmd, i) => {
|
|
84
|
+
// Handle string commands (standard mode), SomCommand, and SomVerification objects
|
|
85
|
+
if (typeof cmd === 'string') {
|
|
86
|
+
this.logger?.(`[Orchestrator] ${i + 1}. ${cmd.substring(0, 80)}...`);
|
|
87
|
+
}
|
|
88
|
+
else if ((0, som_types_1.isSomVerification)(cmd)) {
|
|
89
|
+
const ref = cmd.elementRef || cmd.selector || 'unknown';
|
|
90
|
+
this.logger?.(`[Orchestrator] ${i + 1}. [VERIFY] ${cmd.verificationType} on ${ref}: ${cmd.expected}`);
|
|
91
|
+
}
|
|
92
|
+
else if ((0, som_types_1.isSomCommand)(cmd)) {
|
|
93
|
+
this.logger?.(`[Orchestrator] ${i + 1}. [ACTION] ${cmd.action} on ${cmd.elementRef || 'coord'}`);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.logger?.(`[Orchestrator] ${i + 1}. ${JSON.stringify(cmd).substring(0, 80)}...`);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
if (decision.commands.length > 3) {
|
|
100
|
+
this.logger?.(`[Orchestrator] ... and ${decision.commands.length - 3} more`);
|
|
101
|
+
}
|
|
102
|
+
if (decision.commandReasoning) {
|
|
103
|
+
this.logger?.(`[Orchestrator] 💡 Why: ${decision.commandReasoning}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Log meta-learning suggestions with clear demarcations
|
|
107
|
+
if (decision.debugInfo?.suggestedPromptUpdates) {
|
|
108
|
+
this.logger?.(``, 'warn');
|
|
109
|
+
this.logger?.(`═══════════════════════════════════════════════════════════════`, 'warn');
|
|
110
|
+
this.logger?.(`[Orchestrator] 🧠 META-LEARNING SUGGESTION FROM AGENT`, 'warn');
|
|
111
|
+
this.logger?.(`═══════════════════════════════════════════════════════════════`, 'warn');
|
|
112
|
+
this.logger?.(``, 'warn');
|
|
113
|
+
this.logger?.(`SUGGESTED PROMPT UPDATE:`, 'warn');
|
|
114
|
+
this.logger?.(` ${decision.debugInfo.suggestedPromptUpdates}`, 'warn');
|
|
115
|
+
this.logger?.(``, 'warn');
|
|
116
|
+
if (decision.debugInfo.reasoning) {
|
|
117
|
+
this.logger?.(`REASONING:`, 'warn');
|
|
118
|
+
this.logger?.(` ${decision.debugInfo.reasoning}`, 'warn');
|
|
119
|
+
this.logger?.(``, 'warn');
|
|
120
|
+
}
|
|
121
|
+
this.logger?.(`═══════════════════════════════════════════════════════════════`, 'warn');
|
|
122
|
+
this.logger?.(``, 'warn');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.DecisionParser = DecisionParser;
|
|
127
|
+
//# sourceMappingURL=decision-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision-parser.js","sourceRoot":"","sources":["../../src/orchestrator/decision-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
* Orchestrator Module Exports
|
|
3
3
|
*/
|
|
4
4
|
export { OrchestratorAgent } from './orchestrator-agent';
|
|
5
|
+
export { PageSoMHandler } from './page-som-handler';
|
|
5
6
|
export { ToolRegistry, Tool, ToolParameter, ToolExecutionContext } from './tool-registry';
|
|
6
|
-
export { TakeScreenshotTool, RecallHistoryTool, InspectPageTool, CheckPageReadyTool, ExtractDataTool } from './tools';
|
|
7
|
-
export { AgentConfig, AgentContext, AgentDecision, JourneyMemory, MemoryStep, OrchestratorStepResult, SelfReflection, ToolCall, ToolResult, DEFAULT_AGENT_CONFIG } from './types';
|
|
7
|
+
export { TakeScreenshotTool, ViewPreviousScreenshotTool, RefreshSomMarkersTool, RecallHistoryTool, InspectPageTool, CheckPageReadyTool, ExtractDataTool, VerifyActionResultTool } from './tools';
|
|
8
|
+
export { AgentConfig, AgentContext, AgentDecision, JourneyMemory, MemoryStep, OrchestratorStepResult, SelfReflection, ToolCall, ToolResult, ExplorationMode, DEFAULT_AGENT_CONFIG } from './types';
|
|
9
|
+
export { SomCommand, SomElement, SemanticCommandResult, CommandRunStatus, CommandAttempt, DomMutation, InteractionAction, Coordinate, TypedSelector, SomVerification, VerificationType, SomCommandOrVerification, isSomVerification, isSomCommand } from './som-types';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG1F,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG1F,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,QAAQ,EACR,UAAU,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACb,MAAM,aAAa,CAAC"}
|
|
@@ -3,21 +3,34 @@
|
|
|
3
3
|
* Orchestrator Module Exports
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DEFAULT_AGENT_CONFIG = exports.ExtractDataTool = exports.CheckPageReadyTool = exports.InspectPageTool = exports.RecallHistoryTool = exports.TakeScreenshotTool = exports.ToolRegistry = exports.OrchestratorAgent = void 0;
|
|
6
|
+
exports.isSomCommand = exports.isSomVerification = exports.VerificationType = exports.InteractionAction = exports.CommandRunStatus = exports.DEFAULT_AGENT_CONFIG = exports.VerifyActionResultTool = exports.ExtractDataTool = exports.CheckPageReadyTool = exports.InspectPageTool = exports.RecallHistoryTool = exports.RefreshSomMarkersTool = exports.ViewPreviousScreenshotTool = exports.TakeScreenshotTool = exports.ToolRegistry = exports.PageSoMHandler = exports.OrchestratorAgent = void 0;
|
|
7
7
|
// Core orchestrator
|
|
8
8
|
var orchestrator_agent_1 = require("./orchestrator-agent");
|
|
9
9
|
Object.defineProperty(exports, "OrchestratorAgent", { enumerable: true, get: function () { return orchestrator_agent_1.OrchestratorAgent; } });
|
|
10
|
+
// SoM (Set-of-Marks) handler
|
|
11
|
+
var page_som_handler_1 = require("./page-som-handler");
|
|
12
|
+
Object.defineProperty(exports, "PageSoMHandler", { enumerable: true, get: function () { return page_som_handler_1.PageSoMHandler; } });
|
|
10
13
|
// Tool system
|
|
11
14
|
var tool_registry_1 = require("./tool-registry");
|
|
12
15
|
Object.defineProperty(exports, "ToolRegistry", { enumerable: true, get: function () { return tool_registry_1.ToolRegistry; } });
|
|
13
|
-
//
|
|
16
|
+
// 8 information-gathering tools (state changes via Playwright commands)
|
|
14
17
|
var tools_1 = require("./tools");
|
|
15
18
|
Object.defineProperty(exports, "TakeScreenshotTool", { enumerable: true, get: function () { return tools_1.TakeScreenshotTool; } });
|
|
19
|
+
Object.defineProperty(exports, "ViewPreviousScreenshotTool", { enumerable: true, get: function () { return tools_1.ViewPreviousScreenshotTool; } });
|
|
20
|
+
Object.defineProperty(exports, "RefreshSomMarkersTool", { enumerable: true, get: function () { return tools_1.RefreshSomMarkersTool; } });
|
|
16
21
|
Object.defineProperty(exports, "RecallHistoryTool", { enumerable: true, get: function () { return tools_1.RecallHistoryTool; } });
|
|
17
22
|
Object.defineProperty(exports, "InspectPageTool", { enumerable: true, get: function () { return tools_1.InspectPageTool; } });
|
|
18
23
|
Object.defineProperty(exports, "CheckPageReadyTool", { enumerable: true, get: function () { return tools_1.CheckPageReadyTool; } });
|
|
19
24
|
Object.defineProperty(exports, "ExtractDataTool", { enumerable: true, get: function () { return tools_1.ExtractDataTool; } });
|
|
25
|
+
Object.defineProperty(exports, "VerifyActionResultTool", { enumerable: true, get: function () { return tools_1.VerifyActionResultTool; } });
|
|
20
26
|
// Types
|
|
21
27
|
var types_1 = require("./types");
|
|
22
28
|
Object.defineProperty(exports, "DEFAULT_AGENT_CONFIG", { enumerable: true, get: function () { return types_1.DEFAULT_AGENT_CONFIG; } });
|
|
29
|
+
// SoM Types
|
|
30
|
+
var som_types_1 = require("./som-types");
|
|
31
|
+
Object.defineProperty(exports, "CommandRunStatus", { enumerable: true, get: function () { return som_types_1.CommandRunStatus; } });
|
|
32
|
+
Object.defineProperty(exports, "InteractionAction", { enumerable: true, get: function () { return som_types_1.InteractionAction; } });
|
|
33
|
+
Object.defineProperty(exports, "VerificationType", { enumerable: true, get: function () { return som_types_1.VerificationType; } });
|
|
34
|
+
Object.defineProperty(exports, "isSomVerification", { enumerable: true, get: function () { return som_types_1.isSomVerification; } });
|
|
35
|
+
Object.defineProperty(exports, "isSomCommand", { enumerable: true, get: function () { return som_types_1.isSomCommand; } });
|
|
23
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oBAAoB;AACpB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAA0F;AAAjF,6GAAA,YAAY,OAAA;AAErB,wEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,oBAAoB;AACpB,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAE1B,6BAA6B;AAC7B,uDAAoD;AAA3C,kHAAA,cAAc,OAAA;AAEvB,cAAc;AACd,iDAA0F;AAAjF,6GAAA,YAAY,OAAA;AAErB,wEAAwE;AACxE,iCASiB;AARf,2GAAA,kBAAkB,OAAA;AAClB,mHAAA,0BAA0B,OAAA;AAC1B,8GAAA,qBAAqB,OAAA;AACrB,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,wGAAA,eAAe,OAAA;AACf,+GAAA,sBAAsB,OAAA;AAGxB,QAAQ;AACR,iCAYiB;AADf,6GAAA,oBAAoB,OAAA;AAGtB,YAAY;AACZ,yCAeqB;AAXnB,6GAAA,gBAAgB,OAAA;AAGhB,8GAAA,iBAAiB,OAAA;AAIjB,6GAAA,gBAAgB,OAAA;AAEhB,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { LLMFacade } from '../llm-facade';
|
|
6
6
|
import { ProgressReporter } from '../progress-reporter';
|
|
7
7
|
import { ToolRegistry } from './tool-registry';
|
|
8
|
-
import { AgentConfig, JourneyMemory, OrchestratorStepResult } from './types';
|
|
8
|
+
import { AgentConfig, JourneyMemory, OrchestratorStepResult, ExplorationMode } from './types';
|
|
9
9
|
/**
|
|
10
10
|
* Orchestrator Agent - manages step execution with tool use and memory
|
|
11
11
|
*/
|
|
@@ -16,12 +16,16 @@ export declare class OrchestratorAgent {
|
|
|
16
16
|
private config;
|
|
17
17
|
private logger?;
|
|
18
18
|
private debugMode;
|
|
19
|
+
private decisionParser;
|
|
20
|
+
private somHandler?;
|
|
21
|
+
private previousSomScreenshot?;
|
|
19
22
|
constructor(llmFacade: LLMFacade, toolRegistry: ToolRegistry, config?: Partial<AgentConfig>, progressReporter?: ProgressReporter, logger?: (message: string, level?: 'log' | 'error' | 'warn' | 'debug') => void, debugMode?: boolean);
|
|
20
23
|
setDebugMode(enabled: boolean): void;
|
|
21
24
|
/**
|
|
22
25
|
* Execute a single step of the scenario
|
|
23
26
|
*/
|
|
24
|
-
executeStep(page: any, stepDescription: string, stepNumber: number, totalSteps: number, scenarioSteps: string[], memory: JourneyMemory, jobId: string
|
|
27
|
+
executeStep(page: any, stepDescription: string, stepNumber: number, totalSteps: number, scenarioSteps: string[], memory: JourneyMemory, jobId: string, priorSteps?: string[], // NEW: For repair mode (undefined for script gen)
|
|
28
|
+
nextSteps?: string[]): Promise<OrchestratorStepResult>;
|
|
25
29
|
/**
|
|
26
30
|
* Build context for agent
|
|
27
31
|
*/
|
|
@@ -30,37 +34,28 @@ export declare class OrchestratorAgent {
|
|
|
30
34
|
* Call agent to make decision
|
|
31
35
|
*/
|
|
32
36
|
private callAgent;
|
|
33
|
-
/**
|
|
34
|
-
* Build system prompt with tool descriptions
|
|
35
|
-
*/
|
|
36
|
-
private buildSystemPrompt;
|
|
37
|
-
/**
|
|
38
|
-
* Build user prompt with context
|
|
39
|
-
*/
|
|
40
|
-
private buildUserPrompt;
|
|
41
|
-
/**
|
|
42
|
-
* Parse agent decision from LLM response
|
|
43
|
-
*/
|
|
44
|
-
private parseAgentDecision;
|
|
45
37
|
/**
|
|
46
38
|
* Execute tools
|
|
47
39
|
*/
|
|
48
40
|
private executeTools;
|
|
49
41
|
/**
|
|
50
|
-
*
|
|
51
|
-
*/
|
|
52
|
-
private executeCommandsSequentially;
|
|
53
|
-
/**
|
|
54
|
-
* Execute a single command
|
|
42
|
+
* Parse SomCommand from command object
|
|
55
43
|
*/
|
|
56
|
-
private
|
|
44
|
+
private parseSomCommand;
|
|
57
45
|
/**
|
|
58
|
-
*
|
|
46
|
+
* Execute commands (mix of ref and playwright commands)
|
|
59
47
|
*/
|
|
60
|
-
private
|
|
48
|
+
private executeCommands;
|
|
61
49
|
/**
|
|
62
50
|
* Report step progress
|
|
63
51
|
*/
|
|
64
52
|
private reportStepProgress;
|
|
53
|
+
/**
|
|
54
|
+
* Execute exploration mode - agent autonomously explores to achieve journey goal
|
|
55
|
+
* Fires onStepProgress callbacks for each autonomous action (transparent to caller)
|
|
56
|
+
*/
|
|
57
|
+
executeExploration(page: any, explorationConfig: ExplorationMode, jobId: string): Promise<OrchestratorStepResult>;
|
|
58
|
+
private buildExploratoryContext;
|
|
59
|
+
private callExploratoryAgent;
|
|
65
60
|
}
|
|
66
61
|
//# sourceMappingURL=orchestrator-agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAmC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator-agent.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAmC,MAAM,sBAAsB,CAAC;AAGzF,OAAO,EAAE,YAAY,EAAwB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EACL,WAAW,EAGX,aAAa,EAEb,sBAAsB,EAItB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAOjB;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAwE;IACvF,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,qBAAqB,CAAC,CAAS;gBAGrC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,KAAK,IAAI,EAC9E,SAAS,CAAC,EAAE,OAAO;IAgBrB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC;;OAEG;IACG,WAAW,CACf,IAAI,EAAE,GAAG,EACT,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EAAE,EAAK,kDAAkD;IAC5E,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,sBAAsB,CAAC;IAgYlC;;OAEG;YACW,iBAAiB;IAgF/B;;OAEG;YACW,SAAS;IAsFvB;;OAEG;YACW,YAAY;IAoC1B;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;OAEG;YACW,eAAe;IAsP7B;;OAEG;YACW,kBAAkB;IA2BhC;;;OAGG;IACG,kBAAkB,CACtB,IAAI,EAAE,GAAG,EACT,iBAAiB,EAAE,eAAe,EAClC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC;YAoKpB,uBAAuB;YAkEvB,oBAAoB;CAoDnC"}
|