flow-frame-core 0.1.0 → 0.1.6
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/browerRoutes.d.ts.map +1 -1
- package/dist/browerRoutes.js.map +1 -1
- package/dist/browser-utils/utils.d.ts.map +1 -1
- package/dist/browser-utils/utils.js +1 -0
- package/dist/browser-utils/utils.js.map +1 -1
- package/dist/controllers/browserController.d.ts +28 -0
- package/dist/controllers/browserController.d.ts.map +1 -0
- package/dist/controllers/browserController.js +45 -0
- package/dist/controllers/browserController.js.map +1 -0
- package/dist/controllers/extensionController.d.ts +39 -0
- package/dist/controllers/extensionController.d.ts.map +1 -0
- package/dist/controllers/extensionController.js +29 -0
- package/dist/controllers/extensionController.js.map +1 -0
- package/dist/controllers/promptController.d.ts +22 -0
- package/dist/controllers/promptController.d.ts.map +1 -0
- package/dist/controllers/promptController.js +59 -0
- package/dist/controllers/promptController.js.map +1 -0
- package/dist/controllers/promptLibraryController.d.ts +16 -0
- package/dist/controllers/promptLibraryController.d.ts.map +1 -0
- package/dist/controllers/promptLibraryController.js +60 -0
- package/dist/controllers/promptLibraryController.js.map +1 -0
- package/dist/controllers/standardController.d.ts +38 -0
- package/dist/controllers/standardController.d.ts.map +1 -0
- package/dist/controllers/standardController.js +79 -0
- package/dist/controllers/standardController.js.map +1 -0
- package/dist/controllers/workflowController.d.ts +19 -0
- package/dist/controllers/workflowController.d.ts.map +1 -0
- package/dist/controllers/workflowController.js +94 -0
- package/dist/controllers/workflowController.js.map +1 -0
- package/dist/filter-gmail-poller/filter-gmail-poller.d.ts.map +1 -1
- package/dist/filter-gmail-poller/filter-gmail-poller.js +1 -0
- package/dist/filter-gmail-poller/filter-gmail-poller.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -1
- package/dist/operations/blender-ops.d.ts.map +1 -1
- package/dist/operations/blender-ops.js +0 -1
- package/dist/operations/blender-ops.js.map +1 -1
- package/dist/operations.d.ts +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +1 -0
- package/dist/operations.js.map +1 -1
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +1 -0
- package/dist/process.js.map +1 -1
- package/dist/server.js +32 -1
- package/dist/services/audioService.js.map +1 -1
- package/dist/services/autoPromptOptimizer.d.ts.map +1 -1
- package/dist/services/autoPromptOptimizer.js +1 -0
- package/dist/services/autoPromptOptimizer.js.map +1 -1
- package/dist/services/chainExecutor.d.ts +2 -1
- package/dist/services/chainExecutor.d.ts.map +1 -1
- package/dist/services/chainExecutor.js +105 -129
- package/dist/services/chainExecutor.js.map +1 -1
- package/dist/services/configuration/executor.d.ts.map +1 -1
- package/dist/services/configuration/executor.js +1 -0
- package/dist/services/configuration/executor.js.map +1 -1
- package/dist/services/error.d.ts.map +1 -1
- package/dist/services/error.js +1 -0
- package/dist/services/error.js.map +1 -1
- package/dist/services/executor.d.ts.map +1 -1
- package/dist/services/executor.js +110 -51
- package/dist/services/executor.js.map +1 -1
- package/dist/services/extractPdf.d.ts.map +1 -1
- package/dist/services/extractPdf.js +1 -0
- package/dist/services/extractPdf.js.map +1 -1
- package/dist/services/polyfill_canvas.js +1 -0
- package/dist/services/polyfill_canvas.js.map +1 -1
- package/dist/services/runPrompt.d.ts +1 -1
- package/dist/services/runPrompt.d.ts.map +1 -1
- package/dist/services/runPrompt.js +1 -1
- package/dist/services/runPrompt.js.map +1 -1
- package/dist/services/self-learning/injest.d.ts.map +1 -1
- package/dist/services/self-learning/injest.js +1 -0
- package/dist/services/self-learning/injest.js.map +1 -1
- package/dist/services/self-learning/matcher.d.ts +1 -1
- package/dist/services/self-learning/recognize.d.ts.map +1 -1
- package/dist/services/self-learning/recognize.js +1 -0
- package/dist/services/self-learning/recognize.js.map +1 -1
- package/dist/services/stepByStepAiPlanner.d.ts.map +1 -1
- package/dist/services/stepByStepAiPlanner.js +1 -0
- package/dist/services/stepByStepAiPlanner.js.map +1 -1
- package/dist/services/uiMapPathFinder.d.ts.map +1 -1
- package/dist/services/uiMapPathFinder.js +1 -0
- package/dist/services/uiMapPathFinder.js.map +1 -1
- package/dist/services/uiMapService.d.ts.map +1 -1
- package/dist/services/uiMapService.js +1 -0
- package/dist/services/uiMapService.js.map +1 -1
- package/dist/services/uiPlanner.d.ts.map +1 -1
- package/dist/services/uiPlanner.js.map +1 -1
- package/dist/services/variableGenerator.d.ts +1 -1
- package/dist/services/variableGenerator.d.ts.map +1 -1
- package/dist/services/variableGenerator.js.map +1 -1
- package/dist/standardRoutes.d.ts.map +1 -1
- package/dist/standardRoutes.js +92 -108
- package/dist/standardRoutes.js.map +1 -1
- package/dist/storage.d.ts +6 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +104 -23
- package/dist/storage.js.map +1 -1
- package/dist/storage.zachary.json +22 -0
- package/dist/suno_download.js +1 -1
- package/dist/suno_download.js.map +1 -1
- package/dist/utils.d.ts +8 -12
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +30 -1
- package/dist/utils.js.map +1 -1
- package/dist/workflowRoutes.d.ts.map +1 -1
- package/dist/workflowRoutes.js +28 -60
- package/dist/workflowRoutes.js.map +1 -1
- package/package.json +2 -2
- package/dist/augment-parallel.d.ts +0 -6
- package/dist/augment-parallel.d.ts.map +0 -1
- package/dist/augment-parallel.js +0 -128
- package/dist/augment-parallel.js.map +0 -1
- package/dist/augment-worker.d.ts +0 -2
- package/dist/augment-worker.d.ts.map +0 -1
- package/dist/augment-worker.js +0 -100
- package/dist/augment-worker.js.map +0 -1
- package/dist/capture_training_data_endpoints.d.ts +0 -158
- package/dist/capture_training_data_endpoints.d.ts.map +0 -1
- package/dist/capture_training_data_endpoints.js +0 -1812
- package/dist/capture_training_data_endpoints.js.map +0 -1
- package/dist/download.d.ts +0 -11
- package/dist/download.d.ts.map +0 -1
- package/dist/download.js +0 -31
- package/dist/download.js.map +0 -1
- package/dist/extension/background.d.ts +0 -2
- package/dist/extension/background.d.ts.map +0 -1
- package/dist/extension/background.js +0 -268
- package/dist/extension/background.js.map +0 -1
- package/dist/filter-gmail-poller/demo.d.ts +0 -2
- package/dist/filter-gmail-poller/demo.d.ts.map +0 -1
- package/dist/filter-gmail-poller/demo.js +0 -79
- package/dist/filter-gmail-poller/demo.js.map +0 -1
- package/dist/filter-gmail-poller/example-existing-app.d.ts +0 -2
- package/dist/filter-gmail-poller/example-existing-app.d.ts.map +0 -1
- package/dist/filter-gmail-poller/example-existing-app.js +0 -72
- package/dist/filter-gmail-poller/example-existing-app.js.map +0 -1
- package/dist/filter-gmail-poller/index.d.ts +0 -3
- package/dist/filter-gmail-poller/index.d.ts.map +0 -1
- package/dist/filter-gmail-poller/index.js +0 -18
- package/dist/filter-gmail-poller/index.js.map +0 -1
- package/dist/filter-gmail-poller/manual-test.d.ts +0 -2
- package/dist/filter-gmail-poller/manual-test.d.ts.map +0 -1
- package/dist/filter-gmail-poller/manual-test.js +0 -70
- package/dist/filter-gmail-poller/manual-test.js.map +0 -1
- package/dist/filter-gmail-poller/test.js +0 -69
- package/dist/gmail-poller/example.d.ts +0 -5
- package/dist/gmail-poller/example.d.ts.map +0 -1
- package/dist/gmail-poller/example.js +0 -83
- package/dist/gmail-poller/example.js.map +0 -1
- package/dist/gmail-poller/gmail-poller.d.ts +0 -82
- package/dist/gmail-poller/gmail-poller.d.ts.map +0 -1
- package/dist/gmail-poller/gmail-poller.js +0 -455
- package/dist/gmail-poller/gmail-poller.js.map +0 -1
- package/dist/gmail-poller/manual-test.d.ts +0 -2
- package/dist/gmail-poller/manual-test.d.ts.map +0 -1
- package/dist/gmail-poller/manual-test.js +0 -37
- package/dist/gmail-poller/manual-test.js.map +0 -1
- package/dist/gmail-poller/microsoft-email-example.d.ts +0 -8
- package/dist/gmail-poller/microsoft-email-example.d.ts.map +0 -1
- package/dist/gmail-poller/microsoft-email-example.js +0 -58
- package/dist/gmail-poller/microsoft-email-example.js.map +0 -1
- package/dist/gmail-poller/microsoft-email-poller.d.ts +0 -73
- package/dist/gmail-poller/microsoft-email-poller.d.ts.map +0 -1
- package/dist/gmail-poller/microsoft-email-poller.js +0 -346
- package/dist/gmail-poller/microsoft-email-poller.js.map +0 -1
- package/dist/gmail-poller/setup-auth.d.ts +0 -3
- package/dist/gmail-poller/setup-auth.d.ts.map +0 -1
- package/dist/gmail-poller/setup-auth.js +0 -36
- package/dist/gmail-poller/setup-auth.js.map +0 -1
- package/dist/gmail-poller/test.js +0 -36
- package/dist/inference/augment_levels.d.ts +0 -2
- package/dist/inference/augment_levels.d.ts.map +0 -1
- package/dist/inference/augment_levels.js.map +0 -1
- package/dist/inference/capture-overlay.d.ts +0 -13
- package/dist/inference/capture-overlay.d.ts.map +0 -1
- package/dist/inference/capture-overlay.js +0 -355
- package/dist/inference/capture-overlay.js.map +0 -1
- package/dist/playparser.d.ts +0 -2
- package/dist/playparser.d.ts.map +0 -1
- package/dist/playparser.js +0 -281
- package/dist/playparser.js.map +0 -1
- package/dist/services/agenticUiPlanner.d.ts +0 -27
- package/dist/services/agenticUiPlanner.d.ts.map +0 -1
- package/dist/services/agenticUiPlanner.js +0 -161
- package/dist/services/agenticUiPlanner.js.map +0 -1
- package/dist/services/autoPromptOptimizer.manual-test.d.ts +0 -2
- package/dist/services/autoPromptOptimizer.manual-test.d.ts.map +0 -1
- package/dist/services/autoPromptOptimizer.manual-test.js +0 -27
- package/dist/services/autoPromptOptimizer.manual-test.js.map +0 -1
- package/dist/services/generateJsTransformFromPrompt.d.ts +0 -11
- package/dist/services/generateJsTransformFromPrompt.d.ts.map +0 -1
- package/dist/services/generateJsTransformFromPrompt.js +0 -328
- package/dist/services/generateJsTransformFromPrompt.js.map +0 -1
- package/dist/services/promptRoutes.d.ts +0 -7
- package/dist/services/promptRoutes.d.ts.map +0 -1
- package/dist/services/promptRoutes.js.map +0 -1
- package/dist/services/schemaInference.d.ts +0 -2
- package/dist/services/schemaInference.d.ts.map +0 -1
- package/dist/services/schemaInference.js +0 -17
- package/dist/services/schemaInference.js.map +0 -1
- package/dist/services/self-learning/autolearn.d.ts +0 -23
- package/dist/services/self-learning/autolearn.d.ts.map +0 -1
- package/dist/services/self-learning/autolearn.js +0 -308
- package/dist/services/self-learning/autolearn.js.map +0 -1
- package/dist/services/self-learning/learn.d.ts +0 -2
- package/dist/services/self-learning/learn.d.ts.map +0 -1
- package/dist/services/self-learning/learn.js +0 -145
- package/dist/services/self-learning/learn.js.map +0 -1
- package/dist/services/self-learning/schemaStrictify.d.ts +0 -2
- package/dist/services/self-learning/schemaStrictify.d.ts.map +0 -1
- package/dist/services/self-learning/schemaStrictify.js +0 -34
- package/dist/services/self-learning/schemaStrictify.js.map +0 -1
- package/dist/services/self-learning/transition_graph.d.ts +0 -6
- package/dist/services/self-learning/transition_graph.d.ts.map +0 -1
- package/dist/services/self-learning/transition_graph.js +0 -83
- package/dist/services/self-learning/transition_graph.js.map +0 -1
- package/dist/services/test-genjs.js +0 -39
- package/dist/services/test-genjs.manual-test.d.ts +0 -2
- package/dist/services/test-genjs.manual-test.d.ts.map +0 -1
- package/dist/services/test-genjs.manual-test.js +0 -40
- package/dist/services/test-genjs.manual-test.js.map +0 -1
- package/dist/test-web-element-requests.d.ts +0 -6
- package/dist/test-web-element-requests.d.ts.map +0 -1
- package/dist/test-web-element-requests.js +0 -114
- package/dist/test-web-element-requests.js.map +0 -1
- package/dist/test_pdf_render.d.ts +0 -2
- package/dist/test_pdf_render.d.ts.map +0 -1
- package/dist/test_pdf_render.js +0 -50
- package/dist/test_pdf_render.js.map +0 -1
- package/dist/web-element-requests.d.ts +0 -102
- package/dist/web-element-requests.d.ts.map +0 -1
- package/dist/web-element-requests.js +0 -278
- package/dist/web-element-requests.js.map +0 -1
package/dist/playparser.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"playparser.js","sourceRoot":"","sources":["../src/playparser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { UiPlanner } from './uiPlanner.js';
|
|
2
|
-
export declare class AgenticUiPlanner extends UiPlanner {
|
|
3
|
-
/**
|
|
4
|
-
* @param {Object} uiMap
|
|
5
|
-
* @param {UiMapPathFinder} pathFinder
|
|
6
|
-
* @param {Object} macroRegistry
|
|
7
|
-
* @param {Array} automationFiles
|
|
8
|
-
*/
|
|
9
|
-
constructor(uiMap: any, pathFinder: any, macroRegistry?: {}, automationFiles?: any[]);
|
|
10
|
-
/**
|
|
11
|
-
* Iteratively plans and executes steps to achieve the goal.
|
|
12
|
-
* @param {string} request - User request.
|
|
13
|
-
* @param {string} startStateId - Initial state.
|
|
14
|
-
* @param {Object} context - Execution context.
|
|
15
|
-
* @param {Object} executor - Interface to execute actions and perceive state.
|
|
16
|
-
* @param {Function} executor.executeAction - (step) => Promise<result>
|
|
17
|
-
* @param {Function} executor.captureScreen - () => Promise<base64Image>
|
|
18
|
-
* @param {string} model - LLM model.
|
|
19
|
-
*/
|
|
20
|
-
run(request: any, startStateId: any, context: any, executor: any, model?: string): Promise<{
|
|
21
|
-
success: boolean;
|
|
22
|
-
history: any[];
|
|
23
|
-
}>;
|
|
24
|
-
_decideNextStep(request: any, currentStateId: any, history: any, screenImage: any, context: any, model: any): Promise<any>;
|
|
25
|
-
_getAvailableFieldsForState(stateId: any): any;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=agenticUiPlanner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agenticUiPlanner.d.ts","sourceRoot":"","sources":["../../src/services/agenticUiPlanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C;;;;;OAKG;gBACS,KAAK,KAAA,EAAE,UAAU,KAAA,EAAE,aAAa,KAAK,EAAE,eAAe,QAAK;IAIvE;;;;;;;;;OASG;IACG,GAAG,CAAC,OAAO,KAAA,EAAE,YAAY,KAAA,EAAE,OAAO,KAAA,EAAE,QAAQ,KAAA,EAAE,KAAK,SAAuB;;;;IA6F1E,eAAe,CAAC,OAAO,KAAA,EAAE,cAAc,KAAA,EAAE,OAAO,KAAA,EAAE,WAAW,KAAA,EAAE,OAAO,KAAA,EAAE,KAAK,KAAA;IA+DnF,2BAA2B,CAAC,OAAO,KAAA;CAYpC"}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { UiPlanner } from './uiPlanner.js';
|
|
2
|
-
import { runPrompt, processLLMResponse } from './runPrompt.js';
|
|
3
|
-
export class AgenticUiPlanner extends UiPlanner {
|
|
4
|
-
/**
|
|
5
|
-
* @param {Object} uiMap
|
|
6
|
-
* @param {UiMapPathFinder} pathFinder
|
|
7
|
-
* @param {Object} macroRegistry
|
|
8
|
-
* @param {Array} automationFiles
|
|
9
|
-
*/
|
|
10
|
-
constructor(uiMap, pathFinder, macroRegistry = {}, automationFiles = []) {
|
|
11
|
-
super(uiMap, pathFinder, macroRegistry, automationFiles);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Iteratively plans and executes steps to achieve the goal.
|
|
15
|
-
* @param {string} request - User request.
|
|
16
|
-
* @param {string} startStateId - Initial state.
|
|
17
|
-
* @param {Object} context - Execution context.
|
|
18
|
-
* @param {Object} executor - Interface to execute actions and perceive state.
|
|
19
|
-
* @param {Function} executor.executeAction - (step) => Promise<result>
|
|
20
|
-
* @param {Function} executor.captureScreen - () => Promise<base64Image>
|
|
21
|
-
* @param {string} model - LLM model.
|
|
22
|
-
*/
|
|
23
|
-
async run(request, startStateId, context, executor, model = 'gpt-5.2-2025-12-11') {
|
|
24
|
-
let currentStateId = startStateId;
|
|
25
|
-
let history = [];
|
|
26
|
-
let taskComplete = false;
|
|
27
|
-
const maxSteps = 30;
|
|
28
|
-
let stepCount = 0;
|
|
29
|
-
console.log(`[AgenticUiPlanner] Starting task: "${request}" from state: ${currentStateId}`);
|
|
30
|
-
while (!taskComplete && stepCount < maxSteps) {
|
|
31
|
-
// 1. Perceive
|
|
32
|
-
let screenImage = null;
|
|
33
|
-
try {
|
|
34
|
-
screenImage = await executor.captureScreen();
|
|
35
|
-
}
|
|
36
|
-
catch (e) {
|
|
37
|
-
console.warn("[AgenticUiPlanner] Failed to capture screen:", e);
|
|
38
|
-
}
|
|
39
|
-
// 2. Plan Next Step
|
|
40
|
-
const decision = await this._decideNextStep(request, currentStateId, history, screenImage, context, model);
|
|
41
|
-
if (decision.done) {
|
|
42
|
-
console.log("[AgenticUiPlanner] Agent decided task is complete.");
|
|
43
|
-
console.log("Reason:", decision.reason);
|
|
44
|
-
taskComplete = true;
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
const stepDef = decision.step;
|
|
48
|
-
if (!stepDef) {
|
|
49
|
-
console.warn("[AgenticUiPlanner] Agent returned no step and not done. Aborting.");
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
console.log(`[AgenticUiPlanner] Agent decided to: ${stepDef.kind} -> ${stepDef.field || stepDef.target || stepDef.label}`);
|
|
53
|
-
// 3. Compile to Executable Steps
|
|
54
|
-
// We wrap the single step in a "goal" structure to reuse UiPlanner.compile
|
|
55
|
-
const miniGoal = { steps: [stepDef] };
|
|
56
|
-
// We use generatePlan to resolve target states and paths
|
|
57
|
-
const planOps = this.generatePlan(miniGoal, currentStateId);
|
|
58
|
-
// Compile into low-level steps (clicks, types, etc.)
|
|
59
|
-
const compiled = this.compile(planOps, currentStateId);
|
|
60
|
-
if (compiled.steps.length === 0) {
|
|
61
|
-
console.warn("[AgenticUiPlanner] No executable steps generated for operation. Trying to force execution or skip.");
|
|
62
|
-
// If it's a wait or check, maybe we just proceed?
|
|
63
|
-
history.push({ step: stepDef, status: 'skipped', reason: 'no_low_level_steps' });
|
|
64
|
-
}
|
|
65
|
-
// 4. Execute
|
|
66
|
-
for (const exeStep of compiled.steps) {
|
|
67
|
-
console.log(`[AgenticUiPlanner] Executing low-level step: ${exeStep.description}`);
|
|
68
|
-
try {
|
|
69
|
-
await executor.executeAction(exeStep);
|
|
70
|
-
}
|
|
71
|
-
catch (err) {
|
|
72
|
-
console.error(`[AgenticUiPlanner] Execution failed: ${err.message}`);
|
|
73
|
-
history.push({ step: stepDef, status: 'failed', error: err.message });
|
|
74
|
-
// Allow the agent to see the failure in the next iteration's history
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// 5. Update State & History
|
|
79
|
-
// We optimistically update the state if the planner thinks we moved.
|
|
80
|
-
// In a real agent, we might verify this with the screen in the next loop.
|
|
81
|
-
if (stepDef.kind === 'navigate') {
|
|
82
|
-
currentStateId = stepDef.target;
|
|
83
|
-
}
|
|
84
|
-
else if (stepDef.targetStateId) {
|
|
85
|
-
currentStateId = stepDef.targetStateId;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
// If we didn't explicitly navigate, check if the compiled steps moved us
|
|
89
|
-
// The compile() method updates 'currentState' internally, but doesn't return it.
|
|
90
|
-
// We can infer it from the last step's location if available, or just trust the op.
|
|
91
|
-
// For now, we keep currentStateId unless the op was a navigation.
|
|
92
|
-
}
|
|
93
|
-
history.push({ step: stepDef, status: 'success', stateAfter: currentStateId });
|
|
94
|
-
stepCount++;
|
|
95
|
-
}
|
|
96
|
-
return { success: taskComplete, history };
|
|
97
|
-
}
|
|
98
|
-
async _decideNextStep(request, currentStateId, history, screenImage, context, model) {
|
|
99
|
-
const knownFields = this._getAvailableFieldsForState(currentStateId);
|
|
100
|
-
const allStates = Object.keys(this.uiMap.states);
|
|
101
|
-
const historyStr = history.map((h, i) => `${i + 1}. ${h.step.kind} ${h.step.field || h.step.target || h.step.label} (${h.status})`).join('\n');
|
|
102
|
-
const systemPrompt = `
|
|
103
|
-
You are an intelligent UI Automation Agent.
|
|
104
|
-
Your goal is to fulfill the USER REQUEST by executing a series of steps.
|
|
105
|
-
You are currently at state: "${currentStateId}".
|
|
106
|
-
|
|
107
|
-
AVAILABLE FIELDS in current state:
|
|
108
|
-
${knownFields.join(', ')}
|
|
109
|
-
|
|
110
|
-
ALL STATES (for navigation):
|
|
111
|
-
${allStates.join(', ')}
|
|
112
|
-
|
|
113
|
-
HISTORY:
|
|
114
|
-
${historyStr}
|
|
115
|
-
|
|
116
|
-
INSTRUCTIONS:
|
|
117
|
-
1. Analyze the USER REQUEST and the HISTORY.
|
|
118
|
-
2. Look at the SCREENSHOT (if provided) to verify the current state and identify elements.
|
|
119
|
-
3. Decide the SINGLE NEXT STEP to take.
|
|
120
|
-
4. If the request is fully satisfied, set "done": true.
|
|
121
|
-
|
|
122
|
-
OUTPUT SCHEMA:
|
|
123
|
-
{
|
|
124
|
-
"done": boolean,
|
|
125
|
-
"reason": "Why you are done or what you are doing next",
|
|
126
|
-
"step": {
|
|
127
|
-
"kind": "setField" | "select" | "navigate" | "commit" | "wait",
|
|
128
|
-
"field": "string", // For setField, select, wait
|
|
129
|
-
"value": "any", // For setField
|
|
130
|
-
"target": "string", // For navigate (must be a valid state ID)
|
|
131
|
-
"label": "string", // For commit
|
|
132
|
-
"condition": "string" // For wait
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
`;
|
|
136
|
-
const userMessage = `
|
|
137
|
-
User Request: "${request}"
|
|
138
|
-
Current State: ${currentStateId}
|
|
139
|
-
Context: ${JSON.stringify(context)}
|
|
140
|
-
`;
|
|
141
|
-
const images = screenImage ? [screenImage] : [];
|
|
142
|
-
const response = await runPrompt([
|
|
143
|
-
{ role: 'system', content: systemPrompt },
|
|
144
|
-
{ role: 'user', content: userMessage }
|
|
145
|
-
], model, images);
|
|
146
|
-
return processLLMResponse(response, model, 'openai');
|
|
147
|
-
}
|
|
148
|
-
_getAvailableFieldsForState(stateId) {
|
|
149
|
-
const state = this.uiMap.states[stateId];
|
|
150
|
-
if (!state || !state.fields)
|
|
151
|
-
return [];
|
|
152
|
-
return state.fields.map(f => {
|
|
153
|
-
let desc = f.name;
|
|
154
|
-
if (f.type === 'wait_area' && f.description) {
|
|
155
|
-
desc += ` (Wait Area: ${f.description})`;
|
|
156
|
-
}
|
|
157
|
-
return desc;
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=agenticUiPlanner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agenticUiPlanner.js","sourceRoot":"","sources":["../../src/services/agenticUiPlanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autoPromptOptimizer.manual-test.d.ts","sourceRoot":"","sources":["../../src/services/autoPromptOptimizer.manual-test.ts"],"names":[],"mappings":""}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { runAutoPromptSearch, createTaskConfig, buildDatasetExample } from './autoPromptOptimizer.js';
|
|
2
|
-
import dotenv from 'dotenv';
|
|
3
|
-
dotenv.config();
|
|
4
|
-
async function main() {
|
|
5
|
-
const testConfig = createTaskConfig({
|
|
6
|
-
name: 'demo_email_extraction',
|
|
7
|
-
taskDescription: 'Extract a simple structured meeting request from an email body.',
|
|
8
|
-
outputFormatDescription: 'Return a JSON object with keys action, person, and datetime. Output ONLY JSON.',
|
|
9
|
-
dataset: [
|
|
10
|
-
buildDatasetExample({
|
|
11
|
-
id: 'demo-1',
|
|
12
|
-
input: 'Hi there, can you schedule a meeting with John next Tuesday at 3pm? Thanks!',
|
|
13
|
-
expectedOutput: {
|
|
14
|
-
action: 'schedule_meeting',
|
|
15
|
-
person: 'John',
|
|
16
|
-
datetime: 'next Tuesday 3pm'
|
|
17
|
-
}
|
|
18
|
-
})
|
|
19
|
-
]
|
|
20
|
-
});
|
|
21
|
-
await runAutoPromptSearch(testConfig);
|
|
22
|
-
}
|
|
23
|
-
main().catch((err) => {
|
|
24
|
-
console.error('autoPromptOptimizer test run failed:', err);
|
|
25
|
-
process.exit(1);
|
|
26
|
-
});
|
|
27
|
-
//# sourceMappingURL=autoPromptOptimizer.manual-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autoPromptOptimizer.manual-test.js","sourceRoot":"","sources":["../../src/services/autoPromptOptimizer.manual-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAGhB,KAAK,UAAU,IAAI;IACf,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAChC,IAAI,EAAE,uBAAuB;QAC7B,eAAe,EAAE,iEAAiE;QAClF,uBAAuB,EAAE,gFAAgF;QACzG,OAAO,EAAE;YACL,mBAAmB,CAAC;gBAChB,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,6EAA6E;gBACpF,cAAc,EAAE;oBACZ,MAAM,EAAE,kBAAkB;oBAC1B,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,kBAAkB;iBAC/B;aACJ,CAAC;SACL;KACJ,CAAC,CAAC;IAEH,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/** ---------- Main: generate + compile with repair loop ---------- */
|
|
2
|
-
/** @param {GenOptions} opts */
|
|
3
|
-
export declare function generateJsTransformFromPrompt(opts: any): Promise<{
|
|
4
|
-
code: string;
|
|
5
|
-
tests: string;
|
|
6
|
-
notes: any;
|
|
7
|
-
plan: any;
|
|
8
|
-
attempts: number;
|
|
9
|
-
transform: (input: any, ctx?: {}) => Promise<unknown>;
|
|
10
|
-
}>;
|
|
11
|
-
//# sourceMappingURL=generateJsTransformFromPrompt.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateJsTransformFromPrompt.d.ts","sourceRoot":"","sources":["../../src/services/generateJsTransformFromPrompt.ts"],"names":[],"mappings":"AA6OA,sEAAsE;AACtE,+BAA+B;AAC/B,wBAAsB,6BAA6B,CAAC,IAAI,KAAA;;;;;;;GAqGvD"}
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
// generateJsTransformFromPrompt.js
|
|
2
|
-
import Groq from "groq-sdk";
|
|
3
|
-
import vm from "node:vm";
|
|
4
|
-
import Ajv from "ajv";
|
|
5
|
-
import * as nodeAssert from "node:assert";
|
|
6
|
-
import dotenv from "dotenv";
|
|
7
|
-
// Load environment variables from .env file
|
|
8
|
-
dotenv.config();
|
|
9
|
-
/** ---------- JSON schema for LLM response (all objects closed) ---------- */
|
|
10
|
-
const CodePlanSchemaForGroq = {
|
|
11
|
-
type: "object",
|
|
12
|
-
additionalProperties: false,
|
|
13
|
-
required: ["file"],
|
|
14
|
-
properties: {
|
|
15
|
-
file: {
|
|
16
|
-
type: "object",
|
|
17
|
-
additionalProperties: false,
|
|
18
|
-
required: ["path", "content"],
|
|
19
|
-
properties: {
|
|
20
|
-
path: { type: "string" },
|
|
21
|
-
content: { type: "string" }
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
tests: {
|
|
25
|
-
type: "object",
|
|
26
|
-
additionalProperties: false,
|
|
27
|
-
required: ["path", "content"],
|
|
28
|
-
properties: {
|
|
29
|
-
path: { type: "string" },
|
|
30
|
-
content: { type: "string" }
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
notes: { type: "string" }
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
/** ---------- Public API types (JSDoc only) ----------
|
|
37
|
-
* @typedef {{ input: any, output?: any }} ExamplePair
|
|
38
|
-
* @typedef {{
|
|
39
|
-
* prompt: string,
|
|
40
|
-
* inputSchema?: object|string,
|
|
41
|
-
* outputSchema?: object|string,
|
|
42
|
-
* examples?: ExamplePair[],
|
|
43
|
-
* allowNet?: boolean,
|
|
44
|
-
* maxExecMs?: number,
|
|
45
|
-
* model?: string,
|
|
46
|
-
* retries?: number,
|
|
47
|
-
* verbose?: boolean
|
|
48
|
-
* }} GenOptions
|
|
49
|
-
*/
|
|
50
|
-
/** ---------- Groq call (structured outputs with fallback) ---------- */
|
|
51
|
-
async function groqStructuredCall(basePrompt, schema, model = "meta-llama/llama-4-maverick-17b-128e-instruct") {
|
|
52
|
-
const client = new Groq({ apiKey: process.env.GROK_API_KEY });
|
|
53
|
-
try {
|
|
54
|
-
const res = await client.chat.completions.create({
|
|
55
|
-
model,
|
|
56
|
-
temperature: 0.1,
|
|
57
|
-
response_format: { type: "json_schema", json_schema: { name: "JsCodePlan", schema, strict: true } },
|
|
58
|
-
messages: [
|
|
59
|
-
{ role: "system", content: "Return ONLY a JSON object that satisfies the provided schema." },
|
|
60
|
-
{ role: "user", content: basePrompt }
|
|
61
|
-
]
|
|
62
|
-
});
|
|
63
|
-
return res.choices?.[0]?.message?.content ?? "";
|
|
64
|
-
}
|
|
65
|
-
catch {
|
|
66
|
-
// Fallback: plain JSON mode
|
|
67
|
-
const res = await client.chat.completions.create({
|
|
68
|
-
model,
|
|
69
|
-
temperature: 0.1,
|
|
70
|
-
response_format: { type: "json_object" },
|
|
71
|
-
messages: [
|
|
72
|
-
{ role: "system", content: "Return ONLY valid JSON. No code fences, no prose." },
|
|
73
|
-
{ role: "user", content: basePrompt }
|
|
74
|
-
]
|
|
75
|
-
});
|
|
76
|
-
return res.choices?.[0]?.message?.content ?? "";
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/** ---------- Prompt builder ---------- */
|
|
80
|
-
function buildCodeGenPrompt(opts, repairContext) {
|
|
81
|
-
const inputSchema = typeof opts.inputSchema === "string"
|
|
82
|
-
? opts.inputSchema
|
|
83
|
-
: (opts.inputSchema ? JSON.stringify(opts.inputSchema) : "null");
|
|
84
|
-
const outputSchema = typeof opts.outputSchema === "string"
|
|
85
|
-
? opts.outputSchema
|
|
86
|
-
: (opts.outputSchema ? JSON.stringify(opts.outputSchema) : "null");
|
|
87
|
-
const examples = JSON.stringify(opts.examples ?? []);
|
|
88
|
-
return `
|
|
89
|
-
You are a senior JavaScript engineer.
|
|
90
|
-
|
|
91
|
-
GOAL
|
|
92
|
-
Write a single-file JS module that exports a CommonJS transform function to satisfy the user request,
|
|
93
|
-
constrained by the input/output schemas when provided.
|
|
94
|
-
|
|
95
|
-
CONTRACT
|
|
96
|
-
- Export exactly: module.exports = async function transform(input, ctx) { /* ... */ }
|
|
97
|
-
- No external imports. Only JS built-ins and ctx.* helpers.
|
|
98
|
-
- Must be deterministic and fast (<50ms typical). Avoid randomness and heavy loops.
|
|
99
|
-
- If outputSchema is provided, the returned value must conform to it.
|
|
100
|
-
- Use only data from "input" and "ctx"; no process/env/fs.
|
|
101
|
-
|
|
102
|
-
ENV
|
|
103
|
-
- ctx: { log: (...args) => void, now: () => string, helpers?: Record<string, any> }
|
|
104
|
-
- ${opts.allowNet ? "ctx.fetch is available for limited network calls." : "No network available (ctx.fetch not provided)."}
|
|
105
|
-
|
|
106
|
-
SCHEMAS
|
|
107
|
-
inputSchema:
|
|
108
|
-
\`\`\`json
|
|
109
|
-
${inputSchema}
|
|
110
|
-
\`\`\`
|
|
111
|
-
|
|
112
|
-
outputSchema:
|
|
113
|
-
\`\`\`json
|
|
114
|
-
${outputSchema}
|
|
115
|
-
\`\`\`
|
|
116
|
-
|
|
117
|
-
EXAMPLES (may be empty):
|
|
118
|
-
\`\`\`json
|
|
119
|
-
${examples}
|
|
120
|
-
\`\`\`
|
|
121
|
-
|
|
122
|
-
USER PROMPT
|
|
123
|
-
"""
|
|
124
|
-
${opts.prompt}
|
|
125
|
-
"""
|
|
126
|
-
|
|
127
|
-
RETURN FORMAT (STRICT JSON):
|
|
128
|
-
{
|
|
129
|
-
"file": { "path": "transform.js", "content": "<JS code string>" },
|
|
130
|
-
"tests": { "path": "selftest.js", "content": "<optional test code using ONLY the 'transform' function and built-in assert>" },
|
|
131
|
-
"notes": "<brief rationale/assumptions>"
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
IMPORTANT
|
|
135
|
-
- Do NOT return TypeScript. Only plain JavaScript.
|
|
136
|
-
- Do NOT use ESM exports. Use: module.exports = async function transform(input, ctx) { ... }.
|
|
137
|
-
- Test code MUST use the 'transform' function that is available in global scope - do NOT try to require() or import any files.
|
|
138
|
-
- Test code can use assert.deepEqual() or similar built-in assertion methods.
|
|
139
|
-
- Example test: (async () => { const result = await transform(input, {}); assert.deepEqual(result, expected); console.log('Tests passed'); })();
|
|
140
|
-
${repairContext ? `
|
|
141
|
-
|
|
142
|
-
REPAIR CONTEXT
|
|
143
|
-
The last attempt failed. Fix the problems listed below and return a corrected JSON object:
|
|
144
|
-
${repairContext}
|
|
145
|
-
` : ""}
|
|
146
|
-
`;
|
|
147
|
-
}
|
|
148
|
-
/** ---------- Sandbox compiler ---------- */
|
|
149
|
-
function compileTransform(code, timeoutMs) {
|
|
150
|
-
// guardrails
|
|
151
|
-
if (/require\s*\(/.test(code) || /import\s*\(/.test(code)) {
|
|
152
|
-
throw new Error("Imports are not allowed in generated code.");
|
|
153
|
-
}
|
|
154
|
-
if (/\bprocess\./.test(code) || /\bfs\./.test(code)) {
|
|
155
|
-
throw new Error("Access to process/fs is not allowed.");
|
|
156
|
-
}
|
|
157
|
-
const sandbox = {
|
|
158
|
-
module: { exports: {} },
|
|
159
|
-
exports: {},
|
|
160
|
-
console,
|
|
161
|
-
setTimeout,
|
|
162
|
-
clearTimeout
|
|
163
|
-
};
|
|
164
|
-
const context = vm.createContext(sandbox, { codeGeneration: { strings: true, wasm: false } });
|
|
165
|
-
const script = new vm.Script(code, { filename: "transform.js" });
|
|
166
|
-
script.runInContext(context, { timeout: Math.max(50, timeoutMs) });
|
|
167
|
-
const fn = sandbox.module?.exports;
|
|
168
|
-
if (typeof fn !== "function") {
|
|
169
|
-
throw new Error("Module must export a function via module.exports = async function transform(input, ctx) { ... }");
|
|
170
|
-
}
|
|
171
|
-
return fn;
|
|
172
|
-
}
|
|
173
|
-
/** ---------- Self-tests runner ---------- */
|
|
174
|
-
async function runSelfTests(testsCode, transformFn, timeoutMs) {
|
|
175
|
-
const sandbox = {
|
|
176
|
-
console,
|
|
177
|
-
assert: nodeAssert,
|
|
178
|
-
// Provide a minimal require that supports 'assert'
|
|
179
|
-
require: (m) => {
|
|
180
|
-
if (m === "assert" || m === "node:assert")
|
|
181
|
-
return nodeAssert;
|
|
182
|
-
throw new Error(`Disallowed require: ${m}`);
|
|
183
|
-
},
|
|
184
|
-
module: { exports: transformFn },
|
|
185
|
-
exports: {},
|
|
186
|
-
transform: transformFn
|
|
187
|
-
};
|
|
188
|
-
const context = vm.createContext(sandbox);
|
|
189
|
-
const script = new vm.Script(testsCode, { filename: "selftest.js" });
|
|
190
|
-
script.runInContext(context, { timeout: Math.max(200, timeoutMs * 5) });
|
|
191
|
-
}
|
|
192
|
-
/** ---------- Helpers ---------- */
|
|
193
|
-
const ajvLoose = new Ajv({ strict: false, allErrors: true });
|
|
194
|
-
const validatePlan = ajvLoose.compile(CodePlanSchemaForGroq);
|
|
195
|
-
function extractJson(s) {
|
|
196
|
-
const m = s.match(/```json([\s\S]*?)```/i);
|
|
197
|
-
if (m)
|
|
198
|
-
return m[1].trim();
|
|
199
|
-
const i = s.indexOf("{");
|
|
200
|
-
const j = s.lastIndexOf("}");
|
|
201
|
-
return i >= 0 && j > i ? s.slice(i, j + 1) : s;
|
|
202
|
-
}
|
|
203
|
-
function truncate(s, n) { return s && s.length > n ? s.slice(0, n) + " …(truncated)" : s; }
|
|
204
|
-
function trimForPrompt(s) { return truncate(s, 4000); }
|
|
205
|
-
function safeStr(v) { try {
|
|
206
|
-
return JSON.stringify(v);
|
|
207
|
-
}
|
|
208
|
-
catch {
|
|
209
|
-
return String(v);
|
|
210
|
-
} }
|
|
211
|
-
function jsonDeepEqual(a, b) { return safeStr(a) === safeStr(b); }
|
|
212
|
-
function logVerbose(opts, msg) { if (opts && opts.verbose)
|
|
213
|
-
console.log(msg); }
|
|
214
|
-
function makeCtx(opts, extra = {}) {
|
|
215
|
-
return {
|
|
216
|
-
log: (...a) => console.log("[autogen]", ...a),
|
|
217
|
-
now: () => new Date().toISOString(),
|
|
218
|
-
...(opts.allowNet ? { fetch } : {}),
|
|
219
|
-
...extra
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
function callWithTimeout(fn, ms) {
|
|
223
|
-
return new Promise((resolve, reject) => {
|
|
224
|
-
let done = false;
|
|
225
|
-
const t = setTimeout(() => { if (!done)
|
|
226
|
-
reject(new Error("Transform timeout")); }, ms);
|
|
227
|
-
Promise.resolve()
|
|
228
|
-
.then(fn)
|
|
229
|
-
.then(v => { done = true; clearTimeout(t); resolve(v); })
|
|
230
|
-
.catch(e => { done = true; clearTimeout(t); reject(e); });
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
/** ---------- Main: generate + compile with repair loop ---------- */
|
|
234
|
-
/** @param {GenOptions} opts */
|
|
235
|
-
export async function generateJsTransformFromPrompt(opts) {
|
|
236
|
-
const model = opts.model ?? "meta-llama/llama-4-maverick-17b-128e-instruct";
|
|
237
|
-
const maxExecMs = opts.maxExecMs ?? 200;
|
|
238
|
-
const retries = Math.max(0, opts.retries ?? 2);
|
|
239
|
-
let repairNotes = [];
|
|
240
|
-
let attempt = 0;
|
|
241
|
-
let lastCode = "";
|
|
242
|
-
let lastTests = "";
|
|
243
|
-
for (attempt = 0; attempt <= retries; attempt++) {
|
|
244
|
-
const repairContext = repairNotes.length ? trimForPrompt(repairNotes.join("\n")) : undefined;
|
|
245
|
-
const prompt = buildCodeGenPrompt(opts, repairContext);
|
|
246
|
-
let raw = await groqStructuredCall(prompt, CodePlanSchemaForGroq, model);
|
|
247
|
-
// Parse + validate plan JSON
|
|
248
|
-
let plan;
|
|
249
|
-
try {
|
|
250
|
-
raw = extractJson(raw);
|
|
251
|
-
plan = JSON.parse(raw);
|
|
252
|
-
if (!validatePlan(plan)) {
|
|
253
|
-
throw new Error("Plan JSON failed schema validation: " + ajvLoose.errorsText(validatePlan.errors));
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
catch (e) {
|
|
257
|
-
repairNotes.push(`PLAN_VALIDATION_ERROR: ${truncate(String(e.message || e), 800)}`);
|
|
258
|
-
logVerbose(opts, `⛑️ Repairing (plan invalid): ${String(e.message || e)}`);
|
|
259
|
-
continue;
|
|
260
|
-
}
|
|
261
|
-
lastPlan = plan;
|
|
262
|
-
const code = String(plan.file?.content || "");
|
|
263
|
-
const tests = plan.tests?.content ? String(plan.tests.content) : "";
|
|
264
|
-
// Try to compile
|
|
265
|
-
let transformFn;
|
|
266
|
-
try {
|
|
267
|
-
transformFn = compileTransform(code, maxExecMs);
|
|
268
|
-
}
|
|
269
|
-
catch (e) {
|
|
270
|
-
repairNotes.push(`COMPILE_ERROR: ${truncate(String(e.message || e), 800)}\n--- CODE START ---\n${truncate(code, 1200)}\n--- CODE END ---`);
|
|
271
|
-
logVerbose(opts, `⛑️ Repairing (compile): ${String(e.message || e)}`);
|
|
272
|
-
continue;
|
|
273
|
-
}
|
|
274
|
-
// Run self-tests if present
|
|
275
|
-
if (tests) {
|
|
276
|
-
try {
|
|
277
|
-
await runSelfTests(tests, transformFn, maxExecMs);
|
|
278
|
-
}
|
|
279
|
-
catch (e) {
|
|
280
|
-
repairNotes.push(`TEST_ERROR: ${truncate(String(e), 800)}\n--- TESTS START ---\n${truncate(tests, 800)}\n--- TESTS END ---`);
|
|
281
|
-
logVerbose(opts, `⛑️ Repairing (tests): ${String(e)}`);
|
|
282
|
-
continue;
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
// Validate examples if provided
|
|
286
|
-
if (opts.examples?.length) {
|
|
287
|
-
const mismatches = [];
|
|
288
|
-
for (let i = 0; i < opts.examples.length; i++) {
|
|
289
|
-
const ex = opts.examples[i];
|
|
290
|
-
if (typeof ex.output === "undefined")
|
|
291
|
-
continue;
|
|
292
|
-
try {
|
|
293
|
-
const got = await callWithTimeout(() => transformFn(ex.input, makeCtx(opts)), maxExecMs);
|
|
294
|
-
if (!jsonDeepEqual(ex.output, got)) {
|
|
295
|
-
mismatches.push(`Example #${i}: expected ${safeStr(ex.output)} but got ${safeStr(got)}`);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
catch (e) {
|
|
299
|
-
mismatches.push(`Example #${i}: execution error: ${truncate(String(e.message || e), 400)}`);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
if (mismatches.length) {
|
|
303
|
-
repairNotes.push(`EXAMPLE_MISMATCH:\n${mismatches.map(m => "- " + m).join("\n")}`);
|
|
304
|
-
logVerbose(opts, `⛑️ Repairing (examples):\n${mismatches.join("\n")}`);
|
|
305
|
-
continue;
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
// SUCCESS
|
|
309
|
-
lastCode = code;
|
|
310
|
-
lastTests = tests || undefined;
|
|
311
|
-
return {
|
|
312
|
-
code: lastCode,
|
|
313
|
-
tests: lastTests,
|
|
314
|
-
notes: plan.notes,
|
|
315
|
-
plan,
|
|
316
|
-
attempts: attempt + 1,
|
|
317
|
-
transform: async (input, ctx = {}) => {
|
|
318
|
-
const tf = compileTransform(lastCode, maxExecMs); // recompile fresh
|
|
319
|
-
const out = await callWithTimeout(() => tf(input, makeCtx(opts, ctx)), maxExecMs);
|
|
320
|
-
return out;
|
|
321
|
-
}
|
|
322
|
-
};
|
|
323
|
-
}
|
|
324
|
-
// All attempts failed
|
|
325
|
-
const errMsg = `Failed after ${attempt} attempt(s).\nReasons:\n${repairNotes.join("\n")}`;
|
|
326
|
-
throw new Error(errMsg);
|
|
327
|
-
}
|
|
328
|
-
//# sourceMappingURL=generateJsTransformFromPrompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateJsTransformFromPrompt.js","sourceRoot":"","sources":["../../src/services/generateJsTransformFromPrompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export function promptRoutes(app: any): Promise<void>;
|
|
2
|
-
export function analyzeImageForTextAndIcons(base64Image: any, model: any): Promise<{
|
|
3
|
-
rawResponse: any;
|
|
4
|
-
parsed: any;
|
|
5
|
-
}>;
|
|
6
|
-
export const IMAGE_TEXT_ICON_DETECTOR_PROMPT: "Prompt: Image Text & Icon Detector\n\nYou are a precise visual-analysis model.\n\nYou are given one image.\nYour task is to inspect the image and determine:\n\nWhether any text is present.\n\nIf so, extract the exact text (OCR-style, as accurately as possible).\n\nWhether the image contains any icon-like graphics (symbols, UI icons, logos, small vector shapes, emojis, etc.).\n\nOutput Format\n\nRespond only with valid JSON using this schema:\n\n{\n \"hasText\": boolean,\n \"text\": \"string of detected text, or empty string if none\",\n \"hasIcon\": boolean\n}\n\nRules\n\nhasText is true if any legible text appears in the image.\n\ntext must contain the text exactly as visible.\n\nhasIcon is true if the image contains any graphic element that is not a photo of a real object (e.g., UI icons, logos, stylized symbols, arrows, emoji-style graphics).\n\nIf values are unknown or not visible, treat them as false or empty string.\n\nNo explanations. No commentary. JSON only.";
|
|
7
|
-
//# sourceMappingURL=promptRoutes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promptRoutes.d.ts","sourceRoot":"","sources":["../../src/services/promptRoutes.js"],"names":[],"mappings":"AAEA,sDA0BC;AAED;;;GAIC;AAED,ygCAiC4C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"promptRoutes.js","sourceRoot":"","sources":["../../src/services/promptRoutes.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE3G,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAG;IAEpC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACtD,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACxE,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC9B,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,WAAW,EAAE,KAAK;IAClE,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,+BAA+B,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAiCJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemaInference.d.ts","sourceRoot":"","sources":["../../src/services/schemaInference.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,CAC7B,MAAM,KAAA,EACN,KAAK,KAAA,gBAcR"}
|