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
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { readEvents } from "./transition_log.js";
|
|
2
|
-
function actionSig(a) {
|
|
3
|
-
// Normalize actions so the graph doesn’t explode.
|
|
4
|
-
// You can improve this later (elementId, label, etc.)
|
|
5
|
-
if (!a)
|
|
6
|
-
return "unknown";
|
|
7
|
-
if (a.kind === "click")
|
|
8
|
-
return `click@${round2(a.x)}_${round2(a.y)}`;
|
|
9
|
-
if (a.kind === "type")
|
|
10
|
-
return `type:${(a.text || "").slice(0, 16)}`;
|
|
11
|
-
if (a.kind === "keys")
|
|
12
|
-
return `keys:${(a.keys || []).join("+")}`;
|
|
13
|
-
return a.kind || "unknown";
|
|
14
|
-
}
|
|
15
|
-
function round2(n) {
|
|
16
|
-
return Math.round(Number(n) * 100) / 100;
|
|
17
|
-
}
|
|
18
|
-
export function buildTransitionGraph() {
|
|
19
|
-
const events = readEvents();
|
|
20
|
-
// Expect paired events like:
|
|
21
|
-
// { type:"transition", before:{screenId,...}, action:{...}, after:{screenId,...}, ok:true/false }
|
|
22
|
-
const edges = new Map(); // key = `${from}||${sig}||${to}`
|
|
23
|
-
for (const e of events) {
|
|
24
|
-
if (e.type !== "transition")
|
|
25
|
-
continue;
|
|
26
|
-
const from = e.before?.screenId || "unknown";
|
|
27
|
-
const to = e.after?.screenId || "unknown";
|
|
28
|
-
const sig = actionSig(e.action);
|
|
29
|
-
const key = `${from}||${sig}||${to}`;
|
|
30
|
-
const cur = edges.get(key) || { from, to, sig, count: 0, ok: 0, lastTs: "" };
|
|
31
|
-
cur.count += 1;
|
|
32
|
-
if (e.ok)
|
|
33
|
-
cur.ok += 1;
|
|
34
|
-
cur.lastTs = e.ts;
|
|
35
|
-
edges.set(key, cur);
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
nodes: Array.from(new Set(Array.from(edges.values()).flatMap(e => [e.from, e.to]))),
|
|
39
|
-
edges: Array.from(edges.values()).map(e => ({
|
|
40
|
-
...e,
|
|
41
|
-
successRate: e.count ? e.ok / e.count : 0
|
|
42
|
-
}))
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
// Simple BFS path (you can upgrade to probability-weighted later)
|
|
46
|
-
export function findPath(graph, start, goal) {
|
|
47
|
-
if (start === goal)
|
|
48
|
-
return [];
|
|
49
|
-
const adj = new Map();
|
|
50
|
-
for (const e of graph.edges) {
|
|
51
|
-
if (!adj.has(e.from))
|
|
52
|
-
adj.set(e.from, []);
|
|
53
|
-
adj.get(e.from).push(e);
|
|
54
|
-
}
|
|
55
|
-
const q = [start];
|
|
56
|
-
const prev = new Map(); // node -> { node, edge }
|
|
57
|
-
prev.set(start, null);
|
|
58
|
-
while (q.length) {
|
|
59
|
-
const cur = q.shift();
|
|
60
|
-
const outs = adj.get(cur) || [];
|
|
61
|
-
for (const edge of outs) {
|
|
62
|
-
const nxt = edge.to;
|
|
63
|
-
if (prev.has(nxt))
|
|
64
|
-
continue;
|
|
65
|
-
prev.set(nxt, { node: cur, edge });
|
|
66
|
-
if (nxt === goal) {
|
|
67
|
-
// reconstruct
|
|
68
|
-
const path = [];
|
|
69
|
-
let t = goal;
|
|
70
|
-
while (t !== start) {
|
|
71
|
-
const p = prev.get(t);
|
|
72
|
-
path.push(p.edge);
|
|
73
|
-
t = p.node;
|
|
74
|
-
}
|
|
75
|
-
path.reverse();
|
|
76
|
-
return path;
|
|
77
|
-
}
|
|
78
|
-
q.push(nxt);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=transition_graph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transition_graph.js","sourceRoot":"","sources":["../../../src/services/self-learning/transition_graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { generateJsTransformFromPrompt } from "./generateJsTransformFromPrompt.js";
|
|
2
|
-
const { code, transform, attempts } = await generateJsTransformFromPrompt({
|
|
3
|
-
model: 'meta-llama/llama-4-maverick-17b-128e-instruct',
|
|
4
|
-
prompt: "Given an array of {name,sizeKB}, return { top3: largest by sizeKB desc, totalKB }",
|
|
5
|
-
inputSchema: {
|
|
6
|
-
type: "array",
|
|
7
|
-
items: {
|
|
8
|
-
type: "object",
|
|
9
|
-
additionalProperties: false,
|
|
10
|
-
required: ["name", "sizeKB"],
|
|
11
|
-
properties: { name: { type: "string" }, sizeKB: { type: "number" } }
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
outputSchema: {
|
|
15
|
-
type: "object", additionalProperties: false,
|
|
16
|
-
required: ["top3", "totalKB"],
|
|
17
|
-
properties: {
|
|
18
|
-
top3: {
|
|
19
|
-
type: "array", items: {
|
|
20
|
-
type: "object", additionalProperties: false,
|
|
21
|
-
required: ["name", "sizeKB"],
|
|
22
|
-
properties: { name: { type: "string" }, sizeKB: { type: "number" } }
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
totalKB: { type: "number" }
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
examples: [
|
|
29
|
-
{
|
|
30
|
-
input: [{ name: "a", sizeKB: 2 }, { name: "b", sizeKB: 5 }, { name: "c", sizeKB: 1 }],
|
|
31
|
-
output: { top3: [{ name: "b", sizeKB: 5 }, { name: "a", sizeKB: 2 }, { name: "c", sizeKB: 1 }], totalKB: 8 }
|
|
32
|
-
}
|
|
33
|
-
],
|
|
34
|
-
retries: 2,
|
|
35
|
-
verbose: true
|
|
36
|
-
});
|
|
37
|
-
console.log(`Generated in ${attempts} attempt(s)`);
|
|
38
|
-
console.log(code);
|
|
39
|
-
console.log(await transform([{ name: "x", sizeKB: 4 }, { name: "y", sizeKB: 9 }, { name: "z", sizeKB: 1 }]));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-genjs.manual-test.d.ts","sourceRoot":"","sources":["../../src/services/test-genjs.manual-test.ts"],"names":[],"mappings":""}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { generateJsTransformFromPrompt } from "./generateJsTransformFromPrompt.js";
|
|
2
|
-
const { code, transform, attempts } = await generateJsTransformFromPrompt({
|
|
3
|
-
model: 'meta-llama/llama-4-maverick-17b-128e-instruct',
|
|
4
|
-
prompt: "Given an array of {name,sizeKB}, return { top3: largest by sizeKB desc, totalKB }",
|
|
5
|
-
inputSchema: {
|
|
6
|
-
type: "array",
|
|
7
|
-
items: {
|
|
8
|
-
type: "object",
|
|
9
|
-
additionalProperties: false,
|
|
10
|
-
required: ["name", "sizeKB"],
|
|
11
|
-
properties: { name: { type: "string" }, sizeKB: { type: "number" } }
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
outputSchema: {
|
|
15
|
-
type: "object", additionalProperties: false,
|
|
16
|
-
required: ["top3", "totalKB"],
|
|
17
|
-
properties: {
|
|
18
|
-
top3: {
|
|
19
|
-
type: "array", items: {
|
|
20
|
-
type: "object", additionalProperties: false,
|
|
21
|
-
required: ["name", "sizeKB"],
|
|
22
|
-
properties: { name: { type: "string" }, sizeKB: { type: "number" } }
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
totalKB: { type: "number" }
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
examples: [
|
|
29
|
-
{
|
|
30
|
-
input: [{ name: "a", sizeKB: 2 }, { name: "b", sizeKB: 5 }, { name: "c", sizeKB: 1 }],
|
|
31
|
-
output: { top3: [{ name: "b", sizeKB: 5 }, { name: "a", sizeKB: 2 }, { name: "c", sizeKB: 1 }], totalKB: 8 }
|
|
32
|
-
}
|
|
33
|
-
],
|
|
34
|
-
retries: 2,
|
|
35
|
-
verbose: true
|
|
36
|
-
});
|
|
37
|
-
console.log(`Generated in ${attempts} attempt(s)`);
|
|
38
|
-
console.log(code);
|
|
39
|
-
console.log(await transform([{ name: "x", sizeKB: 4 }, { name: "y", sizeKB: 9 }, { name: "z", sizeKB: 1 }]));
|
|
40
|
-
//# sourceMappingURL=test-genjs.manual-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-genjs.manual-test.js","sourceRoot":"","sources":["../../src/services/test-genjs.manual-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,6BAA6B,CAAC;IACtE,KAAK,EAAE,+CAA+C;IACtD,MAAM,EAAE,mFAAmF;IAC3F,WAAW,EAAE;QACT,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;SACvE;KACJ;IACD,YAAY,EAAE;QACV,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK;QAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;QAC7B,UAAU,EAAE;YACR,IAAI,EAAE;gBACF,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;oBAClB,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK;oBAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;oBAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;iBACvE;aACJ;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9B;KACJ;IACD,QAAQ,EAAE;QACN;YACI,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACrF,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;SAC/G;KACJ;IACD,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,aAAa,CAAC,CAAC;AACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClB,OAAO,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare function setupExampleRequests(): void;
|
|
2
|
-
declare function checkStoredPositions(): void;
|
|
3
|
-
declare function simulateAPIUsage(): Promise<void>;
|
|
4
|
-
declare function demonstrateExportImport(): void;
|
|
5
|
-
export { setupExampleRequests, checkStoredPositions, simulateAPIUsage, demonstrateExportImport };
|
|
6
|
-
//# sourceMappingURL=test-web-element-requests.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-web-element-requests.d.ts","sourceRoot":"","sources":["../src/test-web-element-requests.ts"],"names":[],"mappings":"AAMA,iBAAS,oBAAoB,SA8D5B;AAGD,iBAAS,oBAAoB,SAkB5B;AAGD,iBAAe,gBAAgB,kBA4B9B;AAGD,iBAAS,uBAAuB,SAS/B;AAiCD,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EAC1B,CAAC"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
// test-web-element-requests.js
|
|
2
|
-
// Example usage of the Web Element Requests system
|
|
3
|
-
import { webElementRequests } from './web-element-requests.js';
|
|
4
|
-
// Example: Add element requests for different URLs
|
|
5
|
-
function setupExampleRequests() {
|
|
6
|
-
console.log('📝 Testing addElementRequest with selectors and text...\n');
|
|
7
|
-
// Add requests for Midjourney interface elements
|
|
8
|
-
const result1 = webElementRequests.addElementRequest('https://www.midjourney.com/app/', 'button[data-testid="generate-button"]', 'selector', (position, timestamp) => {
|
|
9
|
-
console.log('Generate button position updated:', position);
|
|
10
|
-
});
|
|
11
|
-
console.log(` Generate button (selector): ${JSON.stringify(result1)}`);
|
|
12
|
-
const result2 = webElementRequests.addElementRequest('https://www.midjourney.com/app/', 'Describe your image', 'text', (position, timestamp) => {
|
|
13
|
-
console.log('Prompt input text position updated:', position);
|
|
14
|
-
});
|
|
15
|
-
console.log(` Prompt input (text): ${JSON.stringify(result2)}`);
|
|
16
|
-
// Add requests for YouTube Studio elements
|
|
17
|
-
const result3 = webElementRequests.addElementRequest('https://studio.youtube.com/', 'button[aria-label*="Upload"]', 'selector', (position, timestamp) => {
|
|
18
|
-
console.log('YouTube upload button position updated:', position);
|
|
19
|
-
});
|
|
20
|
-
console.log(` YouTube upload button (selector): ${JSON.stringify(result3)}`);
|
|
21
|
-
const result4 = webElementRequests.addElementRequest('https://studio.youtube.com/', 'Create', 'text', (position, timestamp) => {
|
|
22
|
-
console.log('Create button text position updated:', position);
|
|
23
|
-
});
|
|
24
|
-
console.log(` Create button (text): ${JSON.stringify(result4)}`);
|
|
25
|
-
// Try adding the same requests again to test duplicate handling
|
|
26
|
-
console.log('\n🔄 Testing duplicate requests...');
|
|
27
|
-
const result5 = webElementRequests.addElementRequest('https://www.midjourney.com/app/', 'button[data-testid="generate-button"]', 'selector');
|
|
28
|
-
console.log(` Duplicate generate button: ${JSON.stringify(result5)}`);
|
|
29
|
-
const result6 = webElementRequests.addElementRequest('https://www.midjourney.com/app/', 'Describe your image', 'text');
|
|
30
|
-
console.log(` Duplicate prompt text: ${JSON.stringify(result6)}`);
|
|
31
|
-
console.log('\n✅ Added example element requests');
|
|
32
|
-
}
|
|
33
|
-
// Example: Check stored positions
|
|
34
|
-
function checkStoredPositions() {
|
|
35
|
-
const urls = webElementRequests.getUrlsWithRequests();
|
|
36
|
-
urls.forEach(url => {
|
|
37
|
-
console.log(`\n📍 Positions for ${url}:`);
|
|
38
|
-
const positions = webElementRequests.getAllPositionsForUrl(url);
|
|
39
|
-
positions.forEach((data, selector) => {
|
|
40
|
-
console.log(` ${selector}:`, {
|
|
41
|
-
x: data.left,
|
|
42
|
-
y: data.top,
|
|
43
|
-
width: data.width,
|
|
44
|
-
height: data.height,
|
|
45
|
-
text: data.innerText?.substring(0, 50) + '...',
|
|
46
|
-
age: Math.round((Date.now() - data.timestamp) / 1000) + 's ago'
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
// Example: API usage simulation
|
|
52
|
-
async function simulateAPIUsage() {
|
|
53
|
-
const baseUrl = 'http://localhost:3000';
|
|
54
|
-
try {
|
|
55
|
-
// Add a request via API
|
|
56
|
-
const addResponse = await fetch(`${baseUrl}/api/web-elements/request`, {
|
|
57
|
-
method: 'POST',
|
|
58
|
-
headers: { 'Content-Type': 'application/json' },
|
|
59
|
-
body: JSON.stringify({
|
|
60
|
-
url: 'https://example.com',
|
|
61
|
-
selector: '.test-element'
|
|
62
|
-
})
|
|
63
|
-
});
|
|
64
|
-
console.log('Add request response:', await addResponse.json());
|
|
65
|
-
// Get requests for a URL
|
|
66
|
-
const requestsResponse = await fetch(`${baseUrl}/api/web-elements/requests/${encodeURIComponent('https://example.com')}`);
|
|
67
|
-
const requests = await requestsResponse.json();
|
|
68
|
-
console.log('Requests for example.com:', requests);
|
|
69
|
-
// Get stats
|
|
70
|
-
const statsResponse = await fetch(`${baseUrl}/api/web-elements/stats`);
|
|
71
|
-
const stats = await statsResponse.json();
|
|
72
|
-
console.log('System stats:', stats);
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
console.error('API test error:', error);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
// Example: Export/Import functionality
|
|
79
|
-
function demonstrateExportImport() {
|
|
80
|
-
console.log('\n📤 Exporting data...');
|
|
81
|
-
const exportData = webElementRequests.export();
|
|
82
|
-
console.log('Exported data keys:', Object.keys(exportData));
|
|
83
|
-
console.log('\n📥 Importing data...');
|
|
84
|
-
webElementRequests.clearAllData();
|
|
85
|
-
webElementRequests.import(exportData);
|
|
86
|
-
console.log('Import complete, new stats:', webElementRequests.getStats());
|
|
87
|
-
}
|
|
88
|
-
// Run examples if this file is executed directly
|
|
89
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
90
|
-
console.log('🧪 Running Web Element Requests examples...\n');
|
|
91
|
-
setupExampleRequests();
|
|
92
|
-
// Simulate some position data
|
|
93
|
-
setTimeout(() => {
|
|
94
|
-
console.log('\n📊 Simulating position storage...');
|
|
95
|
-
webElementRequests.storePositions('https://www.midjourney.com/app/', {
|
|
96
|
-
location: 'https://www.midjourney.com/app/',
|
|
97
|
-
'button[data-testid="generate-button"]': {
|
|
98
|
-
top: 100,
|
|
99
|
-
left: 200,
|
|
100
|
-
width: 120,
|
|
101
|
-
height: 40,
|
|
102
|
-
innerText: 'Generate'
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
checkStoredPositions();
|
|
106
|
-
demonstrateExportImport();
|
|
107
|
-
// Test API calls (requires server to be running)
|
|
108
|
-
setTimeout(() => {
|
|
109
|
-
simulateAPIUsage();
|
|
110
|
-
}, 1000);
|
|
111
|
-
}, 1000);
|
|
112
|
-
}
|
|
113
|
-
export { setupExampleRequests, checkStoredPositions, simulateAPIUsage, demonstrateExportImport };
|
|
114
|
-
//# sourceMappingURL=test-web-element-requests.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-web-element-requests.js","sourceRoot":"","sources":["../src/test-web-element-requests.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,mDAAmD;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,mDAAmD;AACnD,SAAS,oBAAoB;IACzB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IAEzE,iDAAiD;IACjD,MAAM,OAAO,GAAG,kBAAkB,CAAC,iBAAiB,CAChD,iCAAiC,EACjC,uCAAuC,EACvC,UAAU,EACV,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,kBAAkB,CAAC,iBAAiB,CAChD,iCAAiC,EACjC,qBAAqB,EACrB,MAAM,EACN,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAElE,2CAA2C;IAC3C,MAAM,OAAO,GAAG,kBAAkB,CAAC,iBAAiB,CAChD,6BAA6B,EAC7B,8BAA8B,EAC9B,UAAU,EACV,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAE/E,MAAM,OAAO,GAAG,kBAAkB,CAAC,iBAAiB,CAChD,6BAA6B,EAC7B,QAAQ,EACR,MAAM,EACN,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnE,gEAAgE;IAChE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,kBAAkB,CAAC,iBAAiB,CAChD,iCAAiC,EACjC,uCAAuC,EACvC,UAAU,CACb,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG,kBAAkB,CAAC,iBAAiB,CAChD,iCAAiC,EACjC,qBAAqB,EACrB,MAAM,CACT,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AAED,kCAAkC;AAClC,SAAS,oBAAoB;IACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;IAEtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEhE,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,EAAE;gBAC1B,CAAC,EAAE,IAAI,CAAC,IAAI;gBACZ,CAAC,EAAE,IAAI,CAAC,GAAG;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;gBAC9C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO;aAClE,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,gCAAgC;AAChC,KAAK,UAAU,gBAAgB;IAC3B,MAAM,OAAO,GAAG,uBAAuB,CAAC;IAExC,IAAI,CAAC;QACD,wBAAwB;QACxB,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,2BAA2B,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,GAAG,EAAE,qBAAqB;gBAC1B,QAAQ,EAAE,eAAe;aAC5B,CAAC;SACL,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/D,yBAAyB;QACzB,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,8BAA8B,kBAAkB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC1H,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;QAEnD,YAAY;QACZ,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,yBAAyB,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAExC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;AACL,CAAC;AAED,uCAAuC;AACvC,SAAS,uBAAuB;IAC5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAClC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,iDAAiD;AACjD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAE7D,oBAAoB,EAAE,CAAC;IAEvB,8BAA8B;IAC9B,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,kBAAkB,CAAC,cAAc,CAAC,iCAAiC,EAAE;YACjE,QAAQ,EAAE,iCAAiC;YAC3C,uCAAuC,EAAE;gBACrC,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,UAAU;aACxB;SACJ,CAAC,CAAC;QAEH,oBAAoB,EAAE,CAAC;QACvB,uBAAuB,EAAE,CAAC;QAE1B,iDAAiD;QACjD,UAAU,CAAC,GAAG,EAAE;YACZ,gBAAgB,EAAE,CAAC;QACvB,CAAC,EAAE,IAAI,CAAC,CAAC;IAEb,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAED,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EAC1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test_pdf_render.d.ts","sourceRoot":"","sources":["../src/test_pdf_render.ts"],"names":[],"mappings":""}
|
package/dist/test_pdf_render.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs/promises';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { extractPdf } from './services/extractPdf.js';
|
|
4
|
-
const PDF_DIR = '/Users/andrewporter/Documents/ai/pdf/19abb94c3efeb426';
|
|
5
|
-
const OUT_DIR = './test_output_render';
|
|
6
|
-
async function run() {
|
|
7
|
-
try {
|
|
8
|
-
// Check if source dir exists
|
|
9
|
-
try {
|
|
10
|
-
await fs.access(PDF_DIR);
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
console.error(`Source directory not found: ${PDF_DIR}`);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
await fs.mkdir(OUT_DIR, { recursive: true });
|
|
17
|
-
const files = await fs.readdir(PDF_DIR);
|
|
18
|
-
const pdfs = files.filter(f => f.toLowerCase().endsWith('.pdf'));
|
|
19
|
-
console.log(`Found ${pdfs.length} PDFs in ${PDF_DIR}`);
|
|
20
|
-
for (const pdfFile of pdfs) {
|
|
21
|
-
const pdfPath = path.join(PDF_DIR, pdfFile);
|
|
22
|
-
const pdfOutDir = path.join(OUT_DIR, path.basename(pdfFile, '.pdf'));
|
|
23
|
-
console.log(`Processing ${pdfFile}...`);
|
|
24
|
-
console.time(`Processed ${pdfFile}`);
|
|
25
|
-
try {
|
|
26
|
-
const result = await extractPdf({
|
|
27
|
-
pdfPath,
|
|
28
|
-
outDir: pdfOutDir,
|
|
29
|
-
extractText: true,
|
|
30
|
-
extractImages: true,
|
|
31
|
-
renderPages: true, // Enable page rendering
|
|
32
|
-
pageRenderScale: 1.5 // Slightly lower scale for speed in test
|
|
33
|
-
});
|
|
34
|
-
console.timeEnd(`Processed ${pdfFile}`);
|
|
35
|
-
console.log(` - Pages: ${result.numPages}`);
|
|
36
|
-
console.log(` - Rendered Pages: ${result.renderedPages.length}`);
|
|
37
|
-
console.log(` - Extracted Images: ${result.images.length}`);
|
|
38
|
-
console.log(` - Output: ${pdfOutDir}`);
|
|
39
|
-
}
|
|
40
|
-
catch (e) {
|
|
41
|
-
console.error(`Failed to process ${pdfFile}:`, e);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
catch (err) {
|
|
46
|
-
console.error('Error running test:', err);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
run();
|
|
50
|
-
//# sourceMappingURL=test_pdf_render.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test_pdf_render.js","sourceRoot":"","sources":["../src/test_pdf_render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,OAAO,GAAG,uDAAuD,CAAC;AACxE,MAAM,OAAO,GAAG,sBAAsB,CAAC;AAEvC,KAAK,UAAU,GAAG;IACd,IAAI,CAAC;QACD,6BAA6B;QAC7B,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;YACxD,OAAO;QACX,CAAC;QAED,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,YAAY,OAAO,EAAE,CAAC,CAAC;QAEvD,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAErE,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,KAAK,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;YAErC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC5B,OAAO;oBACP,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,WAAW,EAAE,IAAI,EAAE,wBAAwB;oBAC3C,eAAe,EAAE,GAAG,CAAC,yCAAyC;iBACjE,CAAC,CAAC;gBAEH,OAAO,CAAC,OAAO,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,qBAAqB,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;AACL,CAAC;AAED,GAAG,EAAE,CAAC"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
declare class WebElementRequests {
|
|
2
|
-
constructor(options?: {});
|
|
3
|
-
/**
|
|
4
|
-
* Add an element selector or text to be requested for a specific URL
|
|
5
|
-
* @param {string} url - The URL where the element should be found
|
|
6
|
-
* @param {string} query - CSS selector or text to search for
|
|
7
|
-
* @param {string} type - 'selector' or 'text'
|
|
8
|
-
* @param {Function} callback - Optional callback when position is received
|
|
9
|
-
* @returns {Object} Status object with { new: boolean }
|
|
10
|
-
*/
|
|
11
|
-
addElementRequest(url: any, query: any, type?: string, callback?: any): {
|
|
12
|
-
new: boolean;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Remove an element request
|
|
16
|
-
* @param {string} url - The URL
|
|
17
|
-
* @param {string} query - The selector or text to remove
|
|
18
|
-
* @param {string} type - 'selector' or 'text'
|
|
19
|
-
*/
|
|
20
|
-
removeElementRequest(url: any, query: any, type?: string): void;
|
|
21
|
-
setUrlTargetedDomElements(url: any, domTargets: any): void;
|
|
22
|
-
assignTargetedDomElements(url: any, domTargets: any): void;
|
|
23
|
-
/**
|
|
24
|
-
* Get all queries that need to be requested for a URL
|
|
25
|
-
* @param {string} url - The URL
|
|
26
|
-
* @returns {Array} Array of {query, type} objects to request
|
|
27
|
-
*/
|
|
28
|
-
getSelectorsForUrl(url: any): unknown[];
|
|
29
|
-
/**
|
|
30
|
-
* Store position results for a URL
|
|
31
|
-
* @param {string} url - The URL
|
|
32
|
-
* @param {Object} positions - Position data from getPositions()
|
|
33
|
-
*/
|
|
34
|
-
storePositions(url: any, positions: any): void;
|
|
35
|
-
/**
|
|
36
|
-
* Get stored position data for a specific element
|
|
37
|
-
* @param {string} url - The URL
|
|
38
|
-
* @param {string} selector - CSS selector
|
|
39
|
-
* @returns {Object|null} Position data or null if not found
|
|
40
|
-
*/
|
|
41
|
-
getElementPosition(url: any, query: any, type: any, callback?: any): any;
|
|
42
|
-
/**
|
|
43
|
-
* Get all stored positions for a URL
|
|
44
|
-
* @param {string} url - The URL
|
|
45
|
-
* @returns {Map} Map of selector -> position data
|
|
46
|
-
*/
|
|
47
|
-
getAllPositionsForUrl(url: any): any;
|
|
48
|
-
/**
|
|
49
|
-
* Check if we have recent position data for an element
|
|
50
|
-
* @param {string} url - The URL
|
|
51
|
-
* @param {string} selector - CSS selector
|
|
52
|
-
* @param {number} maxAge - Maximum age in milliseconds (default: 5 minutes)
|
|
53
|
-
* @returns {boolean} True if we have recent data
|
|
54
|
-
*/
|
|
55
|
-
hasRecentPosition(url: any, selector: any, maxAge?: number): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Get all URLs that have pending requests
|
|
58
|
-
* @returns {Array} Array of URLs with pending requests
|
|
59
|
-
*/
|
|
60
|
-
getUrlsWithRequests(): unknown[];
|
|
61
|
-
/**
|
|
62
|
-
* Clear all stored data for a URL
|
|
63
|
-
* @param {string} url - The URL to clear
|
|
64
|
-
*/
|
|
65
|
-
clearUrlData(url: any): void;
|
|
66
|
-
/**
|
|
67
|
-
* Clear all stored data
|
|
68
|
-
*/
|
|
69
|
-
clearAllData(): void;
|
|
70
|
-
/**
|
|
71
|
-
* Get statistics about stored data
|
|
72
|
-
* @returns {Object} Statistics object
|
|
73
|
-
*/
|
|
74
|
-
getStats(): {
|
|
75
|
-
urlsWithRequests: any;
|
|
76
|
-
urlsWithResults: any;
|
|
77
|
-
totalRequests: number;
|
|
78
|
-
totalResults: number;
|
|
79
|
-
};
|
|
80
|
-
/**
|
|
81
|
-
* Export data for debugging/serialization
|
|
82
|
-
* @returns {Object} Exportable data
|
|
83
|
-
*/
|
|
84
|
-
export(): {
|
|
85
|
-
requests: {};
|
|
86
|
-
results: {};
|
|
87
|
-
stats: {
|
|
88
|
-
urlsWithRequests: any;
|
|
89
|
-
urlsWithResults: any;
|
|
90
|
-
totalRequests: number;
|
|
91
|
-
totalResults: number;
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
/**
|
|
95
|
-
* Import data from export
|
|
96
|
-
* @param {Object} data - Data from export()
|
|
97
|
-
*/
|
|
98
|
-
import(data: any): void;
|
|
99
|
-
}
|
|
100
|
-
declare const webElementRequests: WebElementRequests;
|
|
101
|
-
export { WebElementRequests, webElementRequests };
|
|
102
|
-
//# sourceMappingURL=web-element-requests.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-element-requests.d.ts","sourceRoot":"","sources":["../src/web-element-requests.ts"],"names":[],"mappings":"AAMA,cAAM,kBAAkB;gBACR,OAAO,KAAK;IAUxB;;;;;;;OAOG;IACH,iBAAiB,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,SAAa,EAAE,QAAQ,MAAO;;;IAiChE;;;;;OAKG;IACH,oBAAoB,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,SAAa;IAgBlD,yBAAyB,CAAC,GAAG,KAAA,EAAE,UAAU,KAAA;IAKzC,yBAAyB,CAAC,GAAG,KAAA,EAAE,UAAU,KAAA;IAIzC;;;;OAIG;IACH,kBAAkB,CAAC,GAAG,KAAA;IAOtB;;;;OAIG;IACH,cAAc,CAAC,GAAG,KAAA,EAAE,SAAS,KAAA;IA+B7B;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA,EAAE,QAAQ,MAAO;IASpD;;;;OAIG;IACH,qBAAqB,CAAC,GAAG,KAAA;IAIzB;;;;;;OAMG;IACH,iBAAiB,CAAC,GAAG,KAAA,EAAE,QAAQ,KAAA,EAAE,MAAM,SAAgB;IAQvD;;;OAGG;IACH,mBAAmB;IAInB;;;OAGG;IACH,YAAY,CAAC,GAAG,KAAA;IAQhB;;OAEG;IACH,YAAY;IAQZ;;;OAGG;IACH,QAAQ;;;;;;IAmBR;;;OAGG;IACH,MAAM;;;;;;;;;;IAyBN;;;OAGG;IACH,MAAM,CAAC,IAAI,KAAA;CAiCd;AAGD,QAAA,MAAM,kBAAkB,oBAItB,CAAC;AAGH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
|