@hasna/browser 0.3.4 → 0.3.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/dashboard/dist/assets/index-Cy4XUbL1.js +40 -0
- package/dashboard/dist/index.html +16 -0
- package/dist/cli/commands/browse.d.ts +3 -0
- package/dist/cli/commands/browse.d.ts.map +1 -0
- package/dist/cli/commands/script.d.ts +3 -0
- package/dist/cli/commands/script.d.ts.map +1 -0
- package/dist/cli/commands/session.d.ts +3 -0
- package/dist/cli/commands/session.d.ts.map +1 -0
- package/dist/cli/commands/tools.d.ts +3 -0
- package/dist/cli/commands/tools.d.ts.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +10336 -1482
- package/dist/cli/index.test.d.ts +2 -0
- package/dist/cli/index.test.d.ts.map +1 -0
- package/dist/db/agents.d.ts +16 -0
- package/dist/db/agents.d.ts.map +1 -0
- package/dist/db/agents.test.d.ts +2 -0
- package/dist/db/agents.test.d.ts.map +1 -0
- package/dist/db/console-log.d.ts +6 -0
- package/dist/db/console-log.d.ts.map +1 -0
- package/dist/db/crawl-results.d.ts +6 -0
- package/dist/db/crawl-results.d.ts.map +1 -0
- package/dist/db/gallery.d.ts +26 -0
- package/dist/db/gallery.d.ts.map +1 -0
- package/dist/db/gallery.test.d.ts +2 -0
- package/dist/db/gallery.test.d.ts.map +1 -0
- package/dist/db/heartbeats.d.ts +6 -0
- package/dist/db/heartbeats.d.ts.map +1 -0
- package/dist/db/network-log.d.ts +7 -0
- package/dist/db/network-log.d.ts.map +1 -0
- package/dist/db/pg-migrations.d.ts +8 -0
- package/dist/db/pg-migrations.d.ts.map +1 -0
- package/dist/db/projects.d.ts +9 -0
- package/dist/db/projects.d.ts.map +1 -0
- package/dist/db/projects.test.d.ts +2 -0
- package/dist/db/projects.test.d.ts.map +1 -0
- package/dist/db/recordings.d.ts +11 -0
- package/dist/db/recordings.d.ts.map +1 -0
- package/dist/db/recordings.test.d.ts +2 -0
- package/dist/db/recordings.test.d.ts.map +1 -0
- package/dist/db/schema.d.ts +5 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.test.d.ts +2 -0
- package/dist/db/schema.test.d.ts.map +1 -0
- package/dist/db/scripts.d.ts +84 -0
- package/dist/db/scripts.d.ts.map +1 -0
- package/dist/db/sessions.d.ts +35 -0
- package/dist/db/sessions.d.ts.map +1 -0
- package/dist/db/sessions.test.d.ts +2 -0
- package/dist/db/sessions.test.d.ts.map +1 -0
- package/dist/db/snapshots.d.ts +7 -0
- package/dist/db/snapshots.d.ts.map +1 -0
- package/dist/db/timeline.d.ts +11 -0
- package/dist/db/timeline.d.ts.map +1 -0
- package/dist/engines/bun-webview.d.ts +147 -0
- package/dist/engines/bun-webview.d.ts.map +1 -0
- package/dist/engines/bun-webview.test.d.ts +2 -0
- package/dist/engines/bun-webview.test.d.ts.map +1 -0
- package/dist/engines/cdp.d.ts +27 -0
- package/dist/engines/cdp.d.ts.map +1 -0
- package/dist/engines/lightpanda.d.ts +25 -0
- package/dist/engines/lightpanda.d.ts.map +1 -0
- package/dist/engines/playwright.d.ts +27 -0
- package/dist/engines/playwright.d.ts.map +1 -0
- package/dist/engines/selector.d.ts +17 -0
- package/dist/engines/selector.d.ts.map +1 -0
- package/dist/engines/selector.test.d.ts +2 -0
- package/dist/engines/selector.test.d.ts.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8885 -42
- package/dist/lib/actions-ref.test.d.ts +2 -0
- package/dist/lib/actions-ref.test.d.ts.map +1 -0
- package/dist/lib/actions.d.ts +91 -0
- package/dist/lib/actions.d.ts.map +1 -0
- package/dist/lib/actions.test.d.ts +2 -0
- package/dist/lib/actions.test.d.ts.map +1 -0
- package/dist/lib/agents.d.ts +9 -0
- package/dist/lib/agents.d.ts.map +1 -0
- package/dist/lib/agents.test.d.ts +2 -0
- package/dist/lib/agents.test.d.ts.map +1 -0
- package/dist/lib/ai-inference.d.ts +21 -0
- package/dist/lib/ai-inference.d.ts.map +1 -0
- package/dist/lib/ai-task.d.ts +23 -0
- package/dist/lib/ai-task.d.ts.map +1 -0
- package/dist/lib/annotate.d.ts +18 -0
- package/dist/lib/annotate.d.ts.map +1 -0
- package/dist/lib/annotate.test.d.ts +2 -0
- package/dist/lib/annotate.test.d.ts.map +1 -0
- package/dist/lib/api-detector.d.ts +17 -0
- package/dist/lib/api-detector.d.ts.map +1 -0
- package/dist/lib/auth-flow.d.ts +43 -0
- package/dist/lib/auth-flow.d.ts.map +1 -0
- package/dist/lib/auth.d.ts +28 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/console.d.ts +6 -0
- package/dist/lib/console.d.ts.map +1 -0
- package/dist/lib/coordination.d.ts +12 -0
- package/dist/lib/coordination.d.ts.map +1 -0
- package/dist/lib/crawler.d.ts +3 -0
- package/dist/lib/crawler.d.ts.map +1 -0
- package/dist/lib/cron-manager.d.ts +45 -0
- package/dist/lib/cron-manager.d.ts.map +1 -0
- package/dist/lib/daemon-client.d.ts +16 -0
- package/dist/lib/daemon-client.d.ts.map +1 -0
- package/dist/lib/datasets.d.ts +33 -0
- package/dist/lib/datasets.d.ts.map +1 -0
- package/dist/lib/deep-performance.d.ts +49 -0
- package/dist/lib/deep-performance.d.ts.map +1 -0
- package/dist/lib/dialogs.d.ts +15 -0
- package/dist/lib/dialogs.d.ts.map +1 -0
- package/dist/lib/downloads.d.ts +15 -0
- package/dist/lib/downloads.d.ts.map +1 -0
- package/dist/lib/downloads.test.d.ts +2 -0
- package/dist/lib/downloads.test.d.ts.map +1 -0
- package/dist/lib/env-detector.d.ts +12 -0
- package/dist/lib/env-detector.d.ts.map +1 -0
- package/dist/lib/extractor.d.ts +22 -0
- package/dist/lib/extractor.d.ts.map +1 -0
- package/dist/lib/extractor.test.d.ts +2 -0
- package/dist/lib/extractor.test.d.ts.map +1 -0
- package/dist/lib/files-integration.d.ts +13 -0
- package/dist/lib/files-integration.d.ts.map +1 -0
- package/dist/lib/gallery-diff.d.ts +3 -0
- package/dist/lib/gallery-diff.d.ts.map +1 -0
- package/dist/lib/integrations.test.d.ts +2 -0
- package/dist/lib/integrations.test.d.ts.map +1 -0
- package/dist/lib/network.d.ts +11 -0
- package/dist/lib/network.d.ts.map +1 -0
- package/dist/lib/network.test.d.ts +2 -0
- package/dist/lib/network.test.d.ts.map +1 -0
- package/dist/lib/page-memory.d.ts +14 -0
- package/dist/lib/page-memory.d.ts.map +1 -0
- package/dist/lib/performance.d.ts +13 -0
- package/dist/lib/performance.d.ts.map +1 -0
- package/dist/lib/profiles.d.ts +23 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/qol.test.d.ts +2 -0
- package/dist/lib/qol.test.d.ts.map +1 -0
- package/dist/lib/recorder.d.ts +11 -0
- package/dist/lib/recorder.d.ts.map +1 -0
- package/dist/lib/recorder.test.d.ts +2 -0
- package/dist/lib/recorder.test.d.ts.map +1 -0
- package/dist/lib/ref-cache.d.ts +9 -0
- package/dist/lib/ref-cache.d.ts.map +1 -0
- package/dist/lib/sanitize.d.ts +21 -0
- package/dist/lib/sanitize.d.ts.map +1 -0
- package/dist/lib/screenshot-v4.test.d.ts +2 -0
- package/dist/lib/screenshot-v4.test.d.ts.map +1 -0
- package/dist/lib/screenshot.d.ts +11 -0
- package/dist/lib/screenshot.d.ts.map +1 -0
- package/dist/lib/screenshot.test.d.ts +2 -0
- package/dist/lib/screenshot.test.d.ts.map +1 -0
- package/dist/lib/script-engine.d.ts +28 -0
- package/dist/lib/script-engine.d.ts.map +1 -0
- package/dist/lib/self-heal.d.ts +18 -0
- package/dist/lib/self-heal.d.ts.map +1 -0
- package/dist/lib/session-v3.test.d.ts +2 -0
- package/dist/lib/session-v3.test.d.ts.map +1 -0
- package/dist/lib/session.d.ts +38 -0
- package/dist/lib/session.d.ts.map +1 -0
- package/dist/lib/skills-runner.d.ts +14 -0
- package/dist/lib/skills-runner.d.ts.map +1 -0
- package/dist/lib/snapshot-diff.test.d.ts +2 -0
- package/dist/lib/snapshot-diff.test.d.ts.map +1 -0
- package/dist/lib/snapshot.d.ts +34 -0
- package/dist/lib/snapshot.d.ts.map +1 -0
- package/dist/lib/snapshot.test.d.ts +2 -0
- package/dist/lib/snapshot.test.d.ts.map +1 -0
- package/dist/lib/stealth.d.ts +5 -0
- package/dist/lib/stealth.d.ts.map +1 -0
- package/dist/lib/stealth.test.d.ts +2 -0
- package/dist/lib/stealth.test.d.ts.map +1 -0
- package/dist/lib/storage-state.d.ts +15 -0
- package/dist/lib/storage-state.d.ts.map +1 -0
- package/dist/lib/storage.d.ts +19 -0
- package/dist/lib/storage.d.ts.map +1 -0
- package/dist/lib/structured-extract.d.ts +26 -0
- package/dist/lib/structured-extract.d.ts.map +1 -0
- package/dist/lib/tabs.d.ts +18 -0
- package/dist/lib/tabs.d.ts.map +1 -0
- package/dist/lib/task-queue.d.ts +21 -0
- package/dist/lib/task-queue.d.ts.map +1 -0
- package/dist/lib/url-watcher.d.ts +33 -0
- package/dist/lib/url-watcher.d.ts.map +1 -0
- package/dist/lib/vision-fallback.d.ts +29 -0
- package/dist/lib/vision-fallback.d.ts.map +1 -0
- package/dist/lib/workflows.d.ts +46 -0
- package/dist/lib/workflows.d.ts.map +1 -0
- package/dist/mcp/actions.d.ts +3 -0
- package/dist/mcp/actions.d.ts.map +1 -0
- package/dist/mcp/capture.d.ts +3 -0
- package/dist/mcp/capture.d.ts.map +1 -0
- package/dist/mcp/data.d.ts +3 -0
- package/dist/mcp/data.d.ts.map +1 -0
- package/dist/mcp/gallery.test.d.ts +2 -0
- package/dist/mcp/gallery.test.d.ts.map +1 -0
- package/dist/mcp/helpers.d.ts +55 -0
- package/dist/mcp/helpers.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +9041 -188
- package/dist/mcp/index.test.d.ts +2 -0
- package/dist/mcp/index.test.d.ts.map +1 -0
- package/dist/mcp/meta.d.ts +3 -0
- package/dist/mcp/meta.d.ts.map +1 -0
- package/dist/mcp/network.d.ts +3 -0
- package/dist/mcp/network.d.ts.map +1 -0
- package/dist/mcp/recordings.d.ts +3 -0
- package/dist/mcp/recordings.d.ts.map +1 -0
- package/dist/mcp/scripts.d.ts +3 -0
- package/dist/mcp/scripts.d.ts.map +1 -0
- package/dist/mcp/sessions.d.ts +3 -0
- package/dist/mcp/sessions.d.ts.map +1 -0
- package/dist/mcp/v4.test.d.ts +2 -0
- package/dist/mcp/v4.test.d.ts.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +8894 -51
- package/dist/server/index.test.d.ts +2 -0
- package/dist/server/index.test.d.ts.map +1 -0
- package/dist/types/index.d.ts +425 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +6 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions-ref.test.d.ts","sourceRoot":"","sources":["../../src/lib/actions-ref.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { Page } from "playwright";
|
|
2
|
+
export interface ClickOptions {
|
|
3
|
+
button?: "left" | "right" | "middle";
|
|
4
|
+
clickCount?: number;
|
|
5
|
+
delay?: number;
|
|
6
|
+
timeout?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface TypeOptions {
|
|
9
|
+
delay?: number;
|
|
10
|
+
clear?: boolean;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface WaitOptions {
|
|
14
|
+
state?: "attached" | "detached" | "visible" | "hidden";
|
|
15
|
+
timeout?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function click(page: Page, selector: string, opts?: ClickOptions & {
|
|
18
|
+
selfHeal?: boolean;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
healed?: boolean;
|
|
21
|
+
method?: string;
|
|
22
|
+
attempts?: string[];
|
|
23
|
+
}>;
|
|
24
|
+
export declare function type(page: Page, selector: string, text: string, opts?: TypeOptions & {
|
|
25
|
+
selfHeal?: boolean;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
healed?: boolean;
|
|
28
|
+
method?: string;
|
|
29
|
+
attempts?: string[];
|
|
30
|
+
}>;
|
|
31
|
+
export declare function fill(page: Page, selector: string, value: string, timeout?: number, selfHeal?: boolean): Promise<{
|
|
32
|
+
healed?: boolean;
|
|
33
|
+
method?: string;
|
|
34
|
+
attempts?: string[];
|
|
35
|
+
}>;
|
|
36
|
+
export declare function scroll(page: Page, direction?: "up" | "down" | "left" | "right", amount?: number): Promise<void>;
|
|
37
|
+
export declare function scrollTo(page: Page, selector: string): Promise<void>;
|
|
38
|
+
export declare function hover(page: Page, selector: string, timeout?: number): Promise<void>;
|
|
39
|
+
export declare function selectOption(page: Page, selector: string, value: string, timeout?: number): Promise<string[]>;
|
|
40
|
+
export declare function checkBox(page: Page, selector: string, checked: boolean, timeout?: number): Promise<void>;
|
|
41
|
+
export declare function uploadFile(page: Page, selector: string, filePaths: string | string[], timeout?: number): Promise<void>;
|
|
42
|
+
export declare function goBack(page: Page, timeout?: number): Promise<void>;
|
|
43
|
+
export declare function goForward(page: Page, timeout?: number): Promise<void>;
|
|
44
|
+
export declare function reload(page: Page, timeout?: number): Promise<void>;
|
|
45
|
+
export declare function navigate(page: Page, url: string, timeout?: number): Promise<void>;
|
|
46
|
+
export declare function waitForSelector(page: Page, selector: string, opts?: WaitOptions): Promise<void>;
|
|
47
|
+
export declare function waitForNavigation(page: Page, timeout?: number): Promise<void>;
|
|
48
|
+
export declare function pressKey(page: Page, key: string): Promise<void>;
|
|
49
|
+
export interface RetryOptions {
|
|
50
|
+
retries?: number;
|
|
51
|
+
delay?: number;
|
|
52
|
+
retryOn?: string[];
|
|
53
|
+
}
|
|
54
|
+
export declare function withRetry<T>(fn: () => Promise<T>, opts?: RetryOptions): Promise<T>;
|
|
55
|
+
export declare function clickText(page: Page, text: string, opts?: {
|
|
56
|
+
exact?: boolean;
|
|
57
|
+
timeout?: number;
|
|
58
|
+
retries?: number;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
import type { FormFillResult } from "../types/index.js";
|
|
61
|
+
export declare function fillForm(page: Page, fields: Record<string, string | boolean>, submitSelector?: string, selfHeal?: boolean): Promise<FormFillResult & {
|
|
62
|
+
healed_fields?: string[];
|
|
63
|
+
}>;
|
|
64
|
+
export declare function waitForText(page: Page, text: string, opts?: {
|
|
65
|
+
timeout?: number;
|
|
66
|
+
exact?: boolean;
|
|
67
|
+
}): Promise<void>;
|
|
68
|
+
export interface WatchHandle {
|
|
69
|
+
id: string;
|
|
70
|
+
stop: () => void;
|
|
71
|
+
}
|
|
72
|
+
export declare function watchPage(page: Page, opts?: {
|
|
73
|
+
selector?: string;
|
|
74
|
+
intervalMs?: number;
|
|
75
|
+
maxChanges?: number;
|
|
76
|
+
}): WatchHandle;
|
|
77
|
+
export declare function getWatchChanges(watchId: string): string[];
|
|
78
|
+
export declare function stopWatch(watchId: string): void;
|
|
79
|
+
export declare function clickRef(page: Page, sessionId: string, ref: string, opts?: {
|
|
80
|
+
timeout?: number;
|
|
81
|
+
}): Promise<void>;
|
|
82
|
+
export declare function typeRef(page: Page, sessionId: string, ref: string, text: string, opts?: {
|
|
83
|
+
delay?: number;
|
|
84
|
+
clear?: boolean;
|
|
85
|
+
timeout?: number;
|
|
86
|
+
}): Promise<void>;
|
|
87
|
+
export declare function fillRef(page: Page, sessionId: string, ref: string, value: string, timeout?: number): Promise<void>;
|
|
88
|
+
export declare function selectRef(page: Page, sessionId: string, ref: string, value: string, timeout?: number): Promise<string[]>;
|
|
89
|
+
export declare function checkRef(page: Page, sessionId: string, ref: string, checked: boolean, timeout?: number): Promise<void>;
|
|
90
|
+
export declare function hoverRef(page: Page, sessionId: string, ref: string, timeout?: number): Promise<void>;
|
|
91
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/lib/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.test.d.ts","sourceRoot":"","sources":["../../src/lib/actions.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Agent } from "../types/index.js";
|
|
2
|
+
import { getAgent, getAgentByName, listAgents, updateAgent, deleteAgent, cleanStaleAgents, type RegisterAgentOptions } from "../db/agents.js";
|
|
3
|
+
export { getAgent, getAgentByName, listAgents, updateAgent, deleteAgent, cleanStaleAgents };
|
|
4
|
+
export type { RegisterAgentOptions };
|
|
5
|
+
export declare function registerAgent(name: string, opts?: RegisterAgentOptions): Agent;
|
|
6
|
+
export declare function heartbeat(agentId: string): void;
|
|
7
|
+
export declare function isAgentStale(agent: Agent, thresholdMs?: number): boolean;
|
|
8
|
+
export declare function getActiveAgents(thresholdMs?: number): Agent[];
|
|
9
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/lib/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAA8D,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE1M,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;AAC5F,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,KAAK,CAElF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,SAAgB,GAAG,OAAO,CAG/E;AAED,wBAAgB,eAAe,CAAC,WAAW,SAAgB,GAAG,KAAK,EAAE,CAEpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.test.d.ts","sourceRoot":"","sources":["../../src/lib/agents.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified AI inference layer — single function for all LLM calls in open-browser.
|
|
3
|
+
* Cerebras by default (fastest), Anthropic as fallback.
|
|
4
|
+
*/
|
|
5
|
+
export interface InferOptions {
|
|
6
|
+
provider?: "cerebras" | "anthropic";
|
|
7
|
+
model?: string;
|
|
8
|
+
maxTokens?: number;
|
|
9
|
+
temperature?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Send a prompt to an LLM and get a text response.
|
|
13
|
+
* Default: Cerebras llama-4-scout (fastest inference available).
|
|
14
|
+
*/
|
|
15
|
+
export declare function infer(prompt: string, opts?: InferOptions): Promise<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Send a prompt and parse the response as JSON.
|
|
18
|
+
* Strips markdown code fences before parsing.
|
|
19
|
+
*/
|
|
20
|
+
export declare function inferJSON<T = unknown>(prompt: string, opts?: InferOptions): Promise<T>;
|
|
21
|
+
//# sourceMappingURL=ai-inference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-inference.d.ts","sourceRoot":"","sources":["../../src/lib/ai-inference.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkBD;;;GAGG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BhF;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAI5F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* browser_task — natural language to auto-executed browser flow via Haiku.
|
|
3
|
+
* "Find the Pro tier monthly price" → navigates, reads, returns the answer.
|
|
4
|
+
*/
|
|
5
|
+
import type { Page } from "playwright";
|
|
6
|
+
export interface TaskResult {
|
|
7
|
+
success: boolean;
|
|
8
|
+
result: unknown;
|
|
9
|
+
steps_taken: number;
|
|
10
|
+
steps: Array<{
|
|
11
|
+
tool: string;
|
|
12
|
+
args: Record<string, unknown>;
|
|
13
|
+
outcome: string;
|
|
14
|
+
}>;
|
|
15
|
+
cost_estimate: number;
|
|
16
|
+
error?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function executeBrowserTask(page: Page, task: string, opts?: {
|
|
19
|
+
maxSteps?: number;
|
|
20
|
+
model?: string;
|
|
21
|
+
sessionId?: string;
|
|
22
|
+
}): Promise<TaskResult>;
|
|
23
|
+
//# sourceMappingURL=ai-task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-task.d.ts","sourceRoot":"","sources":["../../src/lib/ai-task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAUD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,UAAU,CAAC,CA4FrB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Page } from "playwright";
|
|
2
|
+
export interface Annotation {
|
|
3
|
+
ref: string;
|
|
4
|
+
label: number;
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
role: string;
|
|
10
|
+
name: string;
|
|
11
|
+
}
|
|
12
|
+
export interface AnnotatedScreenshotResult {
|
|
13
|
+
buffer: Buffer;
|
|
14
|
+
annotations: Annotation[];
|
|
15
|
+
labelToRef: Record<number, string>;
|
|
16
|
+
}
|
|
17
|
+
export declare function annotateScreenshot(page: Page, sessionId?: string): Promise<AnnotatedScreenshotResult>;
|
|
18
|
+
//# sourceMappingURL=annotate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/lib/annotate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAID,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,IAAI,EACV,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,yBAAyB,CAAC,CAwEpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotate.test.d.ts","sourceRoot":"","sources":["../../src/lib/annotate.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API endpoint detection — scan network log for JSON API responses.
|
|
3
|
+
*/
|
|
4
|
+
export interface DetectedAPI {
|
|
5
|
+
url: string;
|
|
6
|
+
method: string;
|
|
7
|
+
status_code: number;
|
|
8
|
+
content_type: string;
|
|
9
|
+
response_schema: Record<string, string>;
|
|
10
|
+
sample_size: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Scan network log for API endpoints that return JSON.
|
|
14
|
+
*/
|
|
15
|
+
export declare function detectAPIs(sessionId: string): DetectedAPI[];
|
|
16
|
+
export declare function listDiscoveredAPIs(sessionId?: string): any[];
|
|
17
|
+
//# sourceMappingURL=api-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-detector.d.ts","sourceRoot":"","sources":["../../src/lib/api-detector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAkD3D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAM5D"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth flow recording — record a login flow once, auto-replay when auth expires.
|
|
3
|
+
* Combines the recording system with storage-state persistence.
|
|
4
|
+
*/
|
|
5
|
+
import type { Page } from "playwright";
|
|
6
|
+
export interface AuthFlow {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
domain: string;
|
|
10
|
+
recording_id: string | null;
|
|
11
|
+
storage_state_path: string | null;
|
|
12
|
+
created_at: string;
|
|
13
|
+
last_used: string | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function saveAuthFlow(data: {
|
|
16
|
+
name: string;
|
|
17
|
+
domain: string;
|
|
18
|
+
recordingId?: string;
|
|
19
|
+
storageStatePath?: string;
|
|
20
|
+
}): AuthFlow;
|
|
21
|
+
export declare function getAuthFlow(id: string): AuthFlow | null;
|
|
22
|
+
export declare function getAuthFlowByName(name: string): AuthFlow | null;
|
|
23
|
+
export declare function getAuthFlowByDomain(domain: string): AuthFlow | null;
|
|
24
|
+
export declare function listAuthFlows(): AuthFlow[];
|
|
25
|
+
export declare function deleteAuthFlow(name: string): boolean;
|
|
26
|
+
export declare function touchAuthFlow(id: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Detect if the current page is an auth/login page.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isAuthPage(url: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Detect if a navigation was a redirect to an auth page.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isAuthRedirect(fromUrl: string, toUrl: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Try to replay an auth flow for a domain. Returns true if replay succeeded.
|
|
37
|
+
*/
|
|
38
|
+
export declare function tryReplayAuth(page: Page, domain: string): Promise<{
|
|
39
|
+
replayed: boolean;
|
|
40
|
+
flow?: AuthFlow;
|
|
41
|
+
method?: string;
|
|
42
|
+
}>;
|
|
43
|
+
//# sourceMappingURL=auth-flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-flow.d.ts","sourceRoot":"","sources":["../../src/lib/auth-flow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAO9H;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAGvD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAG/D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAGnE;AAED,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAG1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIpD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG9C;AAWD;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGtE;AAID;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6ChI"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* open-secrets integration for browser login automation.
|
|
3
|
+
* Reads credentials from @hasna/secrets vault or ~/.secrets file as fallback.
|
|
4
|
+
*/
|
|
5
|
+
import type { Page } from "playwright";
|
|
6
|
+
export interface Credential {
|
|
7
|
+
email?: string;
|
|
8
|
+
username?: string;
|
|
9
|
+
password?: string;
|
|
10
|
+
totp?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface LoginResult {
|
|
13
|
+
logged_in: boolean;
|
|
14
|
+
redirect_url: string;
|
|
15
|
+
profile_saved: boolean;
|
|
16
|
+
method: "secrets_vault" | "env_file" | "not_found";
|
|
17
|
+
error?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function getCredentials(service: string): Promise<Credential | null>;
|
|
20
|
+
export declare function loginWithCredentials(page: Page, credentials: Credential, opts?: {
|
|
21
|
+
loginUrl?: string;
|
|
22
|
+
emailSelector?: string;
|
|
23
|
+
passwordSelector?: string;
|
|
24
|
+
submitSelector?: string;
|
|
25
|
+
waitForText?: string;
|
|
26
|
+
saveProfile?: string;
|
|
27
|
+
}): Promise<LoginResult>;
|
|
28
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,WAAW,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAoChF;AAID,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,UAAU,EACvB,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,WAAW,CAAC,CAsDtB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Page } from "playwright";
|
|
2
|
+
import { getConsoleLog, clearConsoleLog } from "../db/console-log.js";
|
|
3
|
+
export declare function enableConsoleCapture(page: Page, sessionId: string): () => void;
|
|
4
|
+
export { getConsoleLog, clearConsoleLog };
|
|
5
|
+
export declare function capturePageErrors(page: Page, sessionId: string): Promise<() => void>;
|
|
6
|
+
//# sourceMappingURL=console.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/lib/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA8C,MAAM,YAAY,CAAC;AAEnF,OAAO,EAAqB,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEzF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI,CA4B9E;AAED,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAE1C,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,IAAI,CAAC,CAgBrB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* open-conversations integration — prevent duplicate scraping across agents.
|
|
3
|
+
* Announces navigation, checks if another agent is already working on a URL.
|
|
4
|
+
*/
|
|
5
|
+
export interface DuplicateCheck {
|
|
6
|
+
is_duplicate: boolean;
|
|
7
|
+
by_agent?: string;
|
|
8
|
+
started_at?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function announceNavigation(url: string, sessionId: string, agentName?: string): Promise<void>;
|
|
11
|
+
export declare function checkDuplicate(url: string): Promise<DuplicateCheck>;
|
|
12
|
+
//# sourceMappingURL=coordination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination.d.ts","sourceRoot":"","sources":["../../src/lib/coordination.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,SAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAkCzE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crawler.d.ts","sourceRoot":"","sources":["../../src/lib/crawler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQhF,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAoE3F"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* browser_cron_create — native Bun.cron scheduler for browser tasks.
|
|
3
|
+
* Stores jobs in SQLite, registers with Bun.cron on startup.
|
|
4
|
+
*/
|
|
5
|
+
export interface BrowserCronTask {
|
|
6
|
+
url?: string;
|
|
7
|
+
skill?: string;
|
|
8
|
+
extract?: Record<string, string>;
|
|
9
|
+
actions?: Array<{
|
|
10
|
+
tool: string;
|
|
11
|
+
args?: Record<string, unknown>;
|
|
12
|
+
}>;
|
|
13
|
+
notify_on_change?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface CronJob {
|
|
16
|
+
id: string;
|
|
17
|
+
name?: string;
|
|
18
|
+
schedule: string;
|
|
19
|
+
task: BrowserCronTask;
|
|
20
|
+
last_run?: string;
|
|
21
|
+
next_run?: string;
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
run_count: number;
|
|
24
|
+
created_at: string;
|
|
25
|
+
}
|
|
26
|
+
export interface CronEvent {
|
|
27
|
+
id: string;
|
|
28
|
+
job_id: string;
|
|
29
|
+
started_at: string;
|
|
30
|
+
ended_at?: string;
|
|
31
|
+
success?: boolean;
|
|
32
|
+
result?: unknown;
|
|
33
|
+
error?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function createCronJob(schedule: string, task: BrowserCronTask, name?: string): CronJob;
|
|
36
|
+
export declare function getCronJob(id: string): CronJob | null;
|
|
37
|
+
export declare function listCronJobs(): CronJob[];
|
|
38
|
+
export declare function deleteCronJob(id: string): boolean;
|
|
39
|
+
export declare function enableCronJob(id: string, enabled: boolean): CronJob | null;
|
|
40
|
+
export declare function runCronJobNow(id: string): Promise<CronEvent>;
|
|
41
|
+
export declare function getCronEvents(jobId: string, limit?: number): CronEvent[];
|
|
42
|
+
/** Remove cron_events older than the retention period (default 7 days). */
|
|
43
|
+
export declare function pruneCronEvents(retentionDays?: number): number;
|
|
44
|
+
export declare function loadCronJobsOnStartup(): void;
|
|
45
|
+
//# sourceMappingURL=cron-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron-manager.d.ts","sourceRoot":"","sources":["../../src/lib/cron-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmCH,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,eAAe,EACrB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAaT;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAMrD;AAED,wBAAgB,YAAY,IAAI,OAAO,EAAE,CAKxC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAMjD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAU1E;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAIlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,SAAS,EAAE,CAOpE;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,aAAa,SAAI,GAAG,MAAM,CAMzD;AAgFD,wBAAgB,qBAAqB,IAAI,IAAI,CAc5C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon client — connects to a running browser daemon via HTTP.
|
|
3
|
+
* Falls back to null if no daemon is running.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getDaemonPidFile(): string;
|
|
6
|
+
export declare function getDaemonPort(): number;
|
|
7
|
+
export declare function isDaemonRunning(): boolean;
|
|
8
|
+
export declare function getDaemonPid(): number | null;
|
|
9
|
+
export declare function getDaemonStatus(): Promise<{
|
|
10
|
+
running: boolean;
|
|
11
|
+
pid: number | null;
|
|
12
|
+
port: number;
|
|
13
|
+
sessions?: number;
|
|
14
|
+
uptime_ms?: number;
|
|
15
|
+
}>;
|
|
16
|
+
//# sourceMappingURL=daemon-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../../src/lib/daemon-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,wBAAgB,gBAAgB,IAAI,MAAM,CAAqB;AAC/D,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,eAAe,IAAI,OAAO,CASzC;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAO5C;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAY9I"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dataset management — save, refresh, export extracted data.
|
|
3
|
+
*/
|
|
4
|
+
export interface Dataset {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
source_url: string | null;
|
|
8
|
+
source_type: string;
|
|
9
|
+
data: any[];
|
|
10
|
+
schema: Record<string, string> | null;
|
|
11
|
+
row_count: number;
|
|
12
|
+
last_refresh: string | null;
|
|
13
|
+
created_at: string;
|
|
14
|
+
updated_at: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function saveDataset(data: {
|
|
17
|
+
name: string;
|
|
18
|
+
sourceUrl?: string;
|
|
19
|
+
sourceType?: string;
|
|
20
|
+
rows: any[];
|
|
21
|
+
schema?: Record<string, string>;
|
|
22
|
+
}): Dataset;
|
|
23
|
+
export declare function getDataset(id: string): Dataset | null;
|
|
24
|
+
export declare function getDatasetByName(name: string): Dataset | null;
|
|
25
|
+
export declare function listDatasets(): Array<Omit<Dataset, "data"> & {
|
|
26
|
+
data: string;
|
|
27
|
+
}>;
|
|
28
|
+
export declare function deleteDataset(name: string): boolean;
|
|
29
|
+
export declare function exportDataset(name: string, format: "json" | "csv"): {
|
|
30
|
+
path: string;
|
|
31
|
+
size: number;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=datasets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datasets.d.ts","sourceRoot":"","sources":["../../src/lib/datasets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,OAAO,CAclJ;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAKrD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAK7D;AAED,wBAAgB,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAI9E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA6BlG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep performance metrics — resource breakdown, third-party analysis, DOM complexity.
|
|
3
|
+
*/
|
|
4
|
+
import type { Page } from "playwright";
|
|
5
|
+
export interface DeepPerformance {
|
|
6
|
+
web_vitals: {
|
|
7
|
+
fcp?: number;
|
|
8
|
+
lcp?: number;
|
|
9
|
+
cls?: number;
|
|
10
|
+
ttfb?: number;
|
|
11
|
+
inp?: number;
|
|
12
|
+
};
|
|
13
|
+
resources: {
|
|
14
|
+
total_transfer_bytes: number;
|
|
15
|
+
total_resources: number;
|
|
16
|
+
by_type: Record<string, {
|
|
17
|
+
count: number;
|
|
18
|
+
size_bytes: number;
|
|
19
|
+
}>;
|
|
20
|
+
largest: Array<{
|
|
21
|
+
url: string;
|
|
22
|
+
size_bytes: number;
|
|
23
|
+
type: string;
|
|
24
|
+
}>;
|
|
25
|
+
};
|
|
26
|
+
third_party: Array<{
|
|
27
|
+
domain: string;
|
|
28
|
+
scripts: number;
|
|
29
|
+
total_bytes: number;
|
|
30
|
+
category: string;
|
|
31
|
+
}>;
|
|
32
|
+
dom: {
|
|
33
|
+
node_count: number;
|
|
34
|
+
max_depth: number;
|
|
35
|
+
element_count: number;
|
|
36
|
+
text_node_count: number;
|
|
37
|
+
};
|
|
38
|
+
main_thread: {
|
|
39
|
+
long_tasks: number;
|
|
40
|
+
total_blocking_ms: number;
|
|
41
|
+
};
|
|
42
|
+
memory: {
|
|
43
|
+
js_heap_used_mb: number;
|
|
44
|
+
js_heap_total_mb: number;
|
|
45
|
+
js_heap_limit_mb: number;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export declare function getDeepPerformance(page: Page): Promise<DeepPerformance>;
|
|
49
|
+
//# sourceMappingURL=deep-performance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-performance.d.ts","sourceRoot":"","sources":["../../src/lib/deep-performance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,SAAS,EAAE;QACT,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnE,CAAC;IACF,WAAW,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,GAAG,EAAE;QACH,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE;QACN,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAqBD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CA4G7E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Page } from "playwright";
|
|
2
|
+
export interface DialogInfo {
|
|
3
|
+
type: string;
|
|
4
|
+
message: string;
|
|
5
|
+
default_value: string;
|
|
6
|
+
timestamp: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function setupDialogHandler(page: Page, sessionId: string): () => void;
|
|
9
|
+
export declare function getDialogs(sessionId: string): DialogInfo[];
|
|
10
|
+
export declare function handleDialog(sessionId: string, action: "accept" | "dismiss", promptText?: string): Promise<{
|
|
11
|
+
handled: boolean;
|
|
12
|
+
dialog?: DialogInfo;
|
|
13
|
+
}>;
|
|
14
|
+
export declare function clearDialogs(sessionId: string): void;
|
|
15
|
+
//# sourceMappingURL=dialogs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialogs.d.ts","sourceRoot":"","sources":["../../src/lib/dialogs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAU,MAAM,YAAY,CAAC;AAI/C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI,CA4C5E;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAI1D;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,QAAQ,GAAG,SAAS,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC,CAyBpD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CASpD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DownloadedFile } from "../types/index.js";
|
|
2
|
+
export declare function getDownloadsDir(sessionId?: string): string;
|
|
3
|
+
export declare function ensureDownloadsDir(): string;
|
|
4
|
+
export declare function saveToDownloads(buffer: Buffer, filename: string, opts?: {
|
|
5
|
+
sessionId?: string;
|
|
6
|
+
type?: string;
|
|
7
|
+
sourceUrl?: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
}): DownloadedFile;
|
|
10
|
+
export declare function listDownloads(sessionId?: string): DownloadedFile[];
|
|
11
|
+
export declare function getDownload(id: string, sessionId?: string): DownloadedFile | null;
|
|
12
|
+
export declare function deleteDownload(id: string, sessionId?: string): boolean;
|
|
13
|
+
export declare function cleanStaleDownloads(olderThanDays?: number): number;
|
|
14
|
+
export declare function exportToPath(id: string, targetPath: string, sessionId?: string): string;
|
|
15
|
+
//# sourceMappingURL=downloads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloads.d.ts","sourceRoot":"","sources":["../../src/lib/downloads.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAgBD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACnG,cAAc,CAkChB;AAED,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAsClE;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAGjF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAUtE;AAED,wBAAgB,mBAAmB,CAAC,aAAa,SAAI,GAAG,MAAM,CAW7D;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downloads.test.d.ts","sourceRoot":"","sources":["../../src/lib/downloads.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment detection — determine if a site is prod, dev, staging, or local.
|
|
3
|
+
*/
|
|
4
|
+
import type { Page } from "playwright";
|
|
5
|
+
export type Environment = "local" | "dev" | "staging" | "prod";
|
|
6
|
+
export interface EnvDetectionResult {
|
|
7
|
+
env: Environment;
|
|
8
|
+
confidence: "high" | "medium" | "low";
|
|
9
|
+
signals: string[];
|
|
10
|
+
}
|
|
11
|
+
export declare function detectEnvironment(page: Page): Promise<EnvDetectionResult>;
|
|
12
|
+
//# sourceMappingURL=env-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-detector.d.ts","sourceRoot":"","sources":["../../src/lib/env-detector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,WAAW,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoH/E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Page, ElementHandle } from "playwright";
|
|
2
|
+
import type { ExtractOptions, ExtractResult, PageInfo } from "../types/index.js";
|
|
3
|
+
export declare function getText(page: Page, selector?: string): Promise<string>;
|
|
4
|
+
export declare function getHTML(page: Page, selector?: string): Promise<string>;
|
|
5
|
+
export declare function getLinks(page: Page, baseUrl?: string): Promise<string[]>;
|
|
6
|
+
export declare function getTitle(page: Page): Promise<string>;
|
|
7
|
+
export declare function getUrl(page: Page): Promise<string>;
|
|
8
|
+
export declare function getMetaTags(page: Page): Promise<Record<string, string>>;
|
|
9
|
+
export declare function findElements(page: Page, selector: string): Promise<ElementHandle[]>;
|
|
10
|
+
export declare function extractStructured(page: Page, schema: Record<string, string>): Promise<Record<string, string | string[]>>;
|
|
11
|
+
export declare function extractTable(page: Page, selector: string): Promise<string[][]>;
|
|
12
|
+
export declare function getAriaSnapshot(page: Page): Promise<string>;
|
|
13
|
+
export declare function extract(page: Page, opts?: ExtractOptions): Promise<ExtractResult>;
|
|
14
|
+
export declare function elementExists(page: Page, selector: string, opts?: {
|
|
15
|
+
visible?: boolean;
|
|
16
|
+
}): Promise<{
|
|
17
|
+
exists: boolean;
|
|
18
|
+
visible: boolean;
|
|
19
|
+
count: number;
|
|
20
|
+
}>;
|
|
21
|
+
export declare function getPageInfo(page: Page): Promise<PageInfo>;
|
|
22
|
+
//# sourceMappingURL=extractor.d.ts.map
|