@hasna/browser 0.3.5 → 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.
Files changed (225) hide show
  1. package/dashboard/dist/assets/index-Cy4XUbL1.js +40 -0
  2. package/dashboard/dist/index.html +16 -0
  3. package/dist/cli/commands/browse.d.ts +3 -0
  4. package/dist/cli/commands/browse.d.ts.map +1 -0
  5. package/dist/cli/commands/script.d.ts +3 -0
  6. package/dist/cli/commands/script.d.ts.map +1 -0
  7. package/dist/cli/commands/session.d.ts +3 -0
  8. package/dist/cli/commands/session.d.ts.map +1 -0
  9. package/dist/cli/commands/tools.d.ts +3 -0
  10. package/dist/cli/commands/tools.d.ts.map +1 -0
  11. package/dist/cli/index.d.ts +3 -0
  12. package/dist/cli/index.d.ts.map +1 -0
  13. package/dist/cli/index.js +10336 -1482
  14. package/dist/cli/index.test.d.ts +2 -0
  15. package/dist/cli/index.test.d.ts.map +1 -0
  16. package/dist/db/agents.d.ts +16 -0
  17. package/dist/db/agents.d.ts.map +1 -0
  18. package/dist/db/agents.test.d.ts +2 -0
  19. package/dist/db/agents.test.d.ts.map +1 -0
  20. package/dist/db/console-log.d.ts +6 -0
  21. package/dist/db/console-log.d.ts.map +1 -0
  22. package/dist/db/crawl-results.d.ts +6 -0
  23. package/dist/db/crawl-results.d.ts.map +1 -0
  24. package/dist/db/gallery.d.ts +26 -0
  25. package/dist/db/gallery.d.ts.map +1 -0
  26. package/dist/db/gallery.test.d.ts +2 -0
  27. package/dist/db/gallery.test.d.ts.map +1 -0
  28. package/dist/db/heartbeats.d.ts +6 -0
  29. package/dist/db/heartbeats.d.ts.map +1 -0
  30. package/dist/db/network-log.d.ts +7 -0
  31. package/dist/db/network-log.d.ts.map +1 -0
  32. package/dist/db/pg-migrations.d.ts +8 -0
  33. package/dist/db/pg-migrations.d.ts.map +1 -0
  34. package/dist/db/projects.d.ts +9 -0
  35. package/dist/db/projects.d.ts.map +1 -0
  36. package/dist/db/projects.test.d.ts +2 -0
  37. package/dist/db/projects.test.d.ts.map +1 -0
  38. package/dist/db/recordings.d.ts +11 -0
  39. package/dist/db/recordings.d.ts.map +1 -0
  40. package/dist/db/recordings.test.d.ts +2 -0
  41. package/dist/db/recordings.test.d.ts.map +1 -0
  42. package/dist/db/schema.d.ts +5 -0
  43. package/dist/db/schema.d.ts.map +1 -0
  44. package/dist/db/schema.test.d.ts +2 -0
  45. package/dist/db/schema.test.d.ts.map +1 -0
  46. package/dist/db/scripts.d.ts +84 -0
  47. package/dist/db/scripts.d.ts.map +1 -0
  48. package/dist/db/sessions.d.ts +35 -0
  49. package/dist/db/sessions.d.ts.map +1 -0
  50. package/dist/db/sessions.test.d.ts +2 -0
  51. package/dist/db/sessions.test.d.ts.map +1 -0
  52. package/dist/db/snapshots.d.ts +7 -0
  53. package/dist/db/snapshots.d.ts.map +1 -0
  54. package/dist/db/timeline.d.ts +11 -0
  55. package/dist/db/timeline.d.ts.map +1 -0
  56. package/dist/engines/bun-webview.d.ts +147 -0
  57. package/dist/engines/bun-webview.d.ts.map +1 -0
  58. package/dist/engines/bun-webview.test.d.ts +2 -0
  59. package/dist/engines/bun-webview.test.d.ts.map +1 -0
  60. package/dist/engines/cdp.d.ts +27 -0
  61. package/dist/engines/cdp.d.ts.map +1 -0
  62. package/dist/engines/lightpanda.d.ts +25 -0
  63. package/dist/engines/lightpanda.d.ts.map +1 -0
  64. package/dist/engines/playwright.d.ts +27 -0
  65. package/dist/engines/playwright.d.ts.map +1 -0
  66. package/dist/engines/selector.d.ts +17 -0
  67. package/dist/engines/selector.d.ts.map +1 -0
  68. package/dist/engines/selector.test.d.ts +2 -0
  69. package/dist/engines/selector.test.d.ts.map +1 -0
  70. package/dist/index.d.ts +28 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +8885 -42
  73. package/dist/lib/actions-ref.test.d.ts +2 -0
  74. package/dist/lib/actions-ref.test.d.ts.map +1 -0
  75. package/dist/lib/actions.d.ts +91 -0
  76. package/dist/lib/actions.d.ts.map +1 -0
  77. package/dist/lib/actions.test.d.ts +2 -0
  78. package/dist/lib/actions.test.d.ts.map +1 -0
  79. package/dist/lib/agents.d.ts +9 -0
  80. package/dist/lib/agents.d.ts.map +1 -0
  81. package/dist/lib/agents.test.d.ts +2 -0
  82. package/dist/lib/agents.test.d.ts.map +1 -0
  83. package/dist/lib/ai-inference.d.ts +21 -0
  84. package/dist/lib/ai-inference.d.ts.map +1 -0
  85. package/dist/lib/ai-task.d.ts +23 -0
  86. package/dist/lib/ai-task.d.ts.map +1 -0
  87. package/dist/lib/annotate.d.ts +18 -0
  88. package/dist/lib/annotate.d.ts.map +1 -0
  89. package/dist/lib/annotate.test.d.ts +2 -0
  90. package/dist/lib/annotate.test.d.ts.map +1 -0
  91. package/dist/lib/api-detector.d.ts +17 -0
  92. package/dist/lib/api-detector.d.ts.map +1 -0
  93. package/dist/lib/auth-flow.d.ts +43 -0
  94. package/dist/lib/auth-flow.d.ts.map +1 -0
  95. package/dist/lib/auth.d.ts +28 -0
  96. package/dist/lib/auth.d.ts.map +1 -0
  97. package/dist/lib/console.d.ts +6 -0
  98. package/dist/lib/console.d.ts.map +1 -0
  99. package/dist/lib/coordination.d.ts +12 -0
  100. package/dist/lib/coordination.d.ts.map +1 -0
  101. package/dist/lib/crawler.d.ts +3 -0
  102. package/dist/lib/crawler.d.ts.map +1 -0
  103. package/dist/lib/cron-manager.d.ts +45 -0
  104. package/dist/lib/cron-manager.d.ts.map +1 -0
  105. package/dist/lib/daemon-client.d.ts +16 -0
  106. package/dist/lib/daemon-client.d.ts.map +1 -0
  107. package/dist/lib/datasets.d.ts +33 -0
  108. package/dist/lib/datasets.d.ts.map +1 -0
  109. package/dist/lib/deep-performance.d.ts +49 -0
  110. package/dist/lib/deep-performance.d.ts.map +1 -0
  111. package/dist/lib/dialogs.d.ts +15 -0
  112. package/dist/lib/dialogs.d.ts.map +1 -0
  113. package/dist/lib/downloads.d.ts +15 -0
  114. package/dist/lib/downloads.d.ts.map +1 -0
  115. package/dist/lib/downloads.test.d.ts +2 -0
  116. package/dist/lib/downloads.test.d.ts.map +1 -0
  117. package/dist/lib/env-detector.d.ts +12 -0
  118. package/dist/lib/env-detector.d.ts.map +1 -0
  119. package/dist/lib/extractor.d.ts +22 -0
  120. package/dist/lib/extractor.d.ts.map +1 -0
  121. package/dist/lib/extractor.test.d.ts +2 -0
  122. package/dist/lib/extractor.test.d.ts.map +1 -0
  123. package/dist/lib/files-integration.d.ts +13 -0
  124. package/dist/lib/files-integration.d.ts.map +1 -0
  125. package/dist/lib/gallery-diff.d.ts +3 -0
  126. package/dist/lib/gallery-diff.d.ts.map +1 -0
  127. package/dist/lib/integrations.test.d.ts +2 -0
  128. package/dist/lib/integrations.test.d.ts.map +1 -0
  129. package/dist/lib/network.d.ts +11 -0
  130. package/dist/lib/network.d.ts.map +1 -0
  131. package/dist/lib/network.test.d.ts +2 -0
  132. package/dist/lib/network.test.d.ts.map +1 -0
  133. package/dist/lib/page-memory.d.ts +14 -0
  134. package/dist/lib/page-memory.d.ts.map +1 -0
  135. package/dist/lib/performance.d.ts +13 -0
  136. package/dist/lib/performance.d.ts.map +1 -0
  137. package/dist/lib/profiles.d.ts +23 -0
  138. package/dist/lib/profiles.d.ts.map +1 -0
  139. package/dist/lib/qol.test.d.ts +2 -0
  140. package/dist/lib/qol.test.d.ts.map +1 -0
  141. package/dist/lib/recorder.d.ts +11 -0
  142. package/dist/lib/recorder.d.ts.map +1 -0
  143. package/dist/lib/recorder.test.d.ts +2 -0
  144. package/dist/lib/recorder.test.d.ts.map +1 -0
  145. package/dist/lib/ref-cache.d.ts +9 -0
  146. package/dist/lib/ref-cache.d.ts.map +1 -0
  147. package/dist/lib/sanitize.d.ts +21 -0
  148. package/dist/lib/sanitize.d.ts.map +1 -0
  149. package/dist/lib/screenshot-v4.test.d.ts +2 -0
  150. package/dist/lib/screenshot-v4.test.d.ts.map +1 -0
  151. package/dist/lib/screenshot.d.ts +11 -0
  152. package/dist/lib/screenshot.d.ts.map +1 -0
  153. package/dist/lib/screenshot.test.d.ts +2 -0
  154. package/dist/lib/screenshot.test.d.ts.map +1 -0
  155. package/dist/lib/script-engine.d.ts +28 -0
  156. package/dist/lib/script-engine.d.ts.map +1 -0
  157. package/dist/lib/self-heal.d.ts +18 -0
  158. package/dist/lib/self-heal.d.ts.map +1 -0
  159. package/dist/lib/session-v3.test.d.ts +2 -0
  160. package/dist/lib/session-v3.test.d.ts.map +1 -0
  161. package/dist/lib/session.d.ts +38 -0
  162. package/dist/lib/session.d.ts.map +1 -0
  163. package/dist/lib/skills-runner.d.ts +14 -0
  164. package/dist/lib/skills-runner.d.ts.map +1 -0
  165. package/dist/lib/snapshot-diff.test.d.ts +2 -0
  166. package/dist/lib/snapshot-diff.test.d.ts.map +1 -0
  167. package/dist/lib/snapshot.d.ts +34 -0
  168. package/dist/lib/snapshot.d.ts.map +1 -0
  169. package/dist/lib/snapshot.test.d.ts +2 -0
  170. package/dist/lib/snapshot.test.d.ts.map +1 -0
  171. package/dist/lib/stealth.d.ts +5 -0
  172. package/dist/lib/stealth.d.ts.map +1 -0
  173. package/dist/lib/stealth.test.d.ts +2 -0
  174. package/dist/lib/stealth.test.d.ts.map +1 -0
  175. package/dist/lib/storage-state.d.ts +15 -0
  176. package/dist/lib/storage-state.d.ts.map +1 -0
  177. package/dist/lib/storage.d.ts +19 -0
  178. package/dist/lib/storage.d.ts.map +1 -0
  179. package/dist/lib/structured-extract.d.ts +26 -0
  180. package/dist/lib/structured-extract.d.ts.map +1 -0
  181. package/dist/lib/tabs.d.ts +18 -0
  182. package/dist/lib/tabs.d.ts.map +1 -0
  183. package/dist/lib/task-queue.d.ts +21 -0
  184. package/dist/lib/task-queue.d.ts.map +1 -0
  185. package/dist/lib/url-watcher.d.ts +33 -0
  186. package/dist/lib/url-watcher.d.ts.map +1 -0
  187. package/dist/lib/vision-fallback.d.ts +29 -0
  188. package/dist/lib/vision-fallback.d.ts.map +1 -0
  189. package/dist/lib/workflows.d.ts +46 -0
  190. package/dist/lib/workflows.d.ts.map +1 -0
  191. package/dist/mcp/actions.d.ts +3 -0
  192. package/dist/mcp/actions.d.ts.map +1 -0
  193. package/dist/mcp/capture.d.ts +3 -0
  194. package/dist/mcp/capture.d.ts.map +1 -0
  195. package/dist/mcp/data.d.ts +3 -0
  196. package/dist/mcp/data.d.ts.map +1 -0
  197. package/dist/mcp/gallery.test.d.ts +2 -0
  198. package/dist/mcp/gallery.test.d.ts.map +1 -0
  199. package/dist/mcp/helpers.d.ts +55 -0
  200. package/dist/mcp/helpers.d.ts.map +1 -0
  201. package/dist/mcp/index.d.ts +3 -0
  202. package/dist/mcp/index.d.ts.map +1 -0
  203. package/dist/mcp/index.js +9041 -188
  204. package/dist/mcp/index.test.d.ts +2 -0
  205. package/dist/mcp/index.test.d.ts.map +1 -0
  206. package/dist/mcp/meta.d.ts +3 -0
  207. package/dist/mcp/meta.d.ts.map +1 -0
  208. package/dist/mcp/network.d.ts +3 -0
  209. package/dist/mcp/network.d.ts.map +1 -0
  210. package/dist/mcp/recordings.d.ts +3 -0
  211. package/dist/mcp/recordings.d.ts.map +1 -0
  212. package/dist/mcp/scripts.d.ts +3 -0
  213. package/dist/mcp/scripts.d.ts.map +1 -0
  214. package/dist/mcp/sessions.d.ts +3 -0
  215. package/dist/mcp/sessions.d.ts.map +1 -0
  216. package/dist/mcp/v4.test.d.ts +2 -0
  217. package/dist/mcp/v4.test.d.ts.map +1 -0
  218. package/dist/server/index.d.ts +2 -0
  219. package/dist/server/index.d.ts.map +1 -0
  220. package/dist/server/index.js +8894 -51
  221. package/dist/server/index.test.d.ts +2 -0
  222. package/dist/server/index.test.d.ts.map +1 -0
  223. package/dist/types/index.d.ts +425 -0
  224. package/dist/types/index.d.ts.map +1 -0
  225. package/package.json +5 -4
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/cli/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { Agent } from "../types/index.js";
2
+ export interface RegisterAgentOptions {
3
+ description?: string;
4
+ sessionId?: string;
5
+ projectId?: string;
6
+ workingDir?: string;
7
+ }
8
+ export declare function registerAgent(name: string, opts?: RegisterAgentOptions): Agent;
9
+ export declare function heartbeat(agentId: string): void;
10
+ export declare function getAgent(id: string): Agent;
11
+ export declare function getAgentByName(name: string): Agent | null;
12
+ export declare function listAgents(projectId?: string): Agent[];
13
+ export declare function updateAgent(id: string, data: Partial<Omit<Agent, "id" | "created_at">>): Agent;
14
+ export declare function deleteAgent(id: string): void;
15
+ export declare function cleanStaleAgents(thresholdMs: number): number;
16
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/db/agents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,KAAK,CAoBlF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAU/C;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAK1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAGzD;AAED,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAQtD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAa9F;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agents.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.test.d.ts","sourceRoot":"","sources":["../../src/db/agents.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { ConsoleMessage, ConsoleLevel } from "../types/index.js";
2
+ export declare function logConsoleMessage(data: Omit<ConsoleMessage, "id" | "timestamp">): ConsoleMessage;
3
+ export declare function getConsoleMessage(id: string): ConsoleMessage | null;
4
+ export declare function getConsoleLog(sessionId: string, level?: ConsoleLevel): ConsoleMessage[];
5
+ export declare function clearConsoleLog(sessionId: string): void;
6
+ //# sourceMappingURL=console-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-log.d.ts","sourceRoot":"","sources":["../../src/db/console-log.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,cAAc,CAOhG;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAGnE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,cAAc,EAAE,CAYvF;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGvD"}
@@ -0,0 +1,6 @@
1
+ import type { CrawlResult } from "../types/index.js";
2
+ export declare function createCrawlResult(data: Omit<CrawlResult, "id" | "created_at" | "total_links">): CrawlResult;
3
+ export declare function getCrawlResult(id: string): CrawlResult | null;
4
+ export declare function listCrawlResults(projectId?: string): CrawlResult[];
5
+ export declare function deleteCrawlResult(id: string): void;
6
+ //# sourceMappingURL=crawl-results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawl-results.d.ts","sourceRoot":"","sources":["../../src/db/crawl-results.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AA2BlE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,YAAY,GAAG,aAAa,CAAC,GAAG,WAAW,CAe3G;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAI7D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAMlE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGlD"}
@@ -0,0 +1,26 @@
1
+ import type { GalleryEntry, GalleryStats } from "../types/index.js";
2
+ export declare function createEntry(data: Omit<GalleryEntry, "id" | "created_at">): GalleryEntry;
3
+ export declare function getEntry(id: string): GalleryEntry | null;
4
+ export interface GalleryFilter {
5
+ projectId?: string;
6
+ sessionId?: string;
7
+ tag?: string;
8
+ isFavorite?: boolean;
9
+ dateFrom?: string;
10
+ dateTo?: string;
11
+ limit?: number;
12
+ offset?: number;
13
+ }
14
+ export declare function listEntries(filter?: GalleryFilter): GalleryEntry[];
15
+ export declare function updateEntry(id: string, data: {
16
+ notes?: string;
17
+ is_favorite?: boolean;
18
+ tags?: string[];
19
+ }): GalleryEntry | null;
20
+ export declare function deleteEntry(id: string): void;
21
+ export declare function tagEntry(id: string, tag: string): GalleryEntry | null;
22
+ export declare function untagEntry(id: string, tag: string): GalleryEntry | null;
23
+ export declare function favoriteEntry(id: string, value: boolean): GalleryEntry | null;
24
+ export declare function searchEntries(q: string, limit?: number): GalleryEntry[];
25
+ export declare function getGalleryStats(projectId?: string): GalleryStats;
26
+ //# sourceMappingURL=gallery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../../src/db/gallery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgDpE,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG,YAAY,CA4BvF;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAIxD;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE,CAqBlE;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/D,YAAY,GAAG,IAAI,CAarB;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG5C;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAKrE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAIvE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAE7E;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,YAAY,EAAE,CASnE;AAED,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CA2BhE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gallery.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gallery.test.d.ts","sourceRoot":"","sources":["../../src/db/gallery.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { Heartbeat } from "../types/index.js";
2
+ export declare function recordHeartbeat(agentId: string, sessionId?: string): Heartbeat;
3
+ export declare function getLastHeartbeat(agentId: string): Heartbeat | null;
4
+ export declare function listHeartbeats(agentId: string, limit?: number): Heartbeat[];
5
+ export declare function cleanOldHeartbeats(olderThanMs: number): number;
6
+ //# sourceMappingURL=heartbeats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heartbeats.d.ts","sourceRoot":"","sources":["../../src/db/heartbeats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAQ9E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAOlE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,SAAS,EAAE,CAOvE;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK9D"}
@@ -0,0 +1,7 @@
1
+ import type { NetworkRequest } from "../types/index.js";
2
+ export declare function logRequest(data: Omit<NetworkRequest, "id" | "timestamp">): NetworkRequest;
3
+ export declare function getNetworkRequest(id: string): NetworkRequest | null;
4
+ export declare function getNetworkLog(sessionId: string): NetworkRequest[];
5
+ export declare function clearNetworkLog(sessionId: string): void;
6
+ export declare function deleteNetworkRequest(id: string): void;
7
+ //# sourceMappingURL=network-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-log.d.ts","sourceRoot":"","sources":["../../src/db/network-log.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,cAAc,CAqBzF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAGnE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAKjE;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGvD;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGrD"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * PostgreSQL migrations for open-browser cloud sync.
3
+ *
4
+ * Equivalent to the SQLite schema in schema.ts plus lazy tables from
5
+ * url-watcher.ts and cron-manager.ts, translated for PostgreSQL.
6
+ */
7
+ export declare const PG_MIGRATIONS: string[];
8
+ //# sourceMappingURL=pg-migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-migrations.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,aAAa,EAAE,MAAM,EAkUjC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Project } from "../types/index.js";
2
+ export declare function createProject(data: Omit<Project, "id" | "created_at">): Project;
3
+ export declare function ensureProject(name: string, path: string, description?: string): Project;
4
+ export declare function getProject(id: string): Project;
5
+ export declare function getProjectByName(name: string): Project | null;
6
+ export declare function listProjects(): Project[];
7
+ export declare function updateProject(id: string, data: Partial<Omit<Project, "id" | "created_at">>): Project;
8
+ export declare function deleteProject(id: string): void;
9
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG,OAAO,CAO/E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAOvF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAK9C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAG7D;AAED,wBAAgB,YAAY,IAAI,OAAO,EAAE,CAGxC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,CAAC,CAAC,GAAG,OAAO,CAWpG;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG9C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=projects.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.test.d.ts","sourceRoot":"","sources":["../../src/db/projects.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { Recording, RecordingStep } from "../types/index.js";
2
+ export declare function createRecording(data: Omit<Recording, "id" | "created_at">): Recording;
3
+ export declare function getRecording(id: string): Recording;
4
+ export declare function listRecordings(projectId?: string): Recording[];
5
+ export declare function updateRecording(id: string, data: {
6
+ name?: string;
7
+ steps?: RecordingStep[];
8
+ start_url?: string;
9
+ }): Recording;
10
+ export declare function deleteRecording(id: string): void;
11
+ //# sourceMappingURL=recordings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordings.d.ts","sourceRoot":"","sources":["../../src/db/recordings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAqBlE,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,YAAY,CAAC,GAAG,SAAS,CAOrF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAKlD;AAED,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAM9D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAW3H;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGhD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=recordings.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordings.test.d.ts","sourceRoot":"","sources":["../../src/db/recordings.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { SqliteAdapter as Database } from "@hasna/cloud";
2
+ export declare function getDataDir(): string;
3
+ export declare function getDatabase(path?: string): Database;
4
+ export declare function resetDatabase(): void;
5
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAC;AAKzD,wBAAgB,UAAU,IAAI,MAAM,CA6BnC;AAKD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAenD;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../../src/db/schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Scripts CRUD — SQLite storage for automation scripts, steps, and run history.
3
+ */
4
+ export interface Script {
5
+ id: string;
6
+ name: string;
7
+ domain: string;
8
+ description: string;
9
+ variables: Record<string, string>;
10
+ created_at: string;
11
+ updated_at: string;
12
+ last_run: string | null;
13
+ run_count: number;
14
+ }
15
+ export interface ScriptStep {
16
+ id: string;
17
+ script_id: string;
18
+ step_order: number;
19
+ type: string;
20
+ config: Record<string, unknown>;
21
+ description: string;
22
+ ai_enabled: boolean;
23
+ ai_config: Record<string, unknown>;
24
+ }
25
+ export interface ScriptRun {
26
+ id: string;
27
+ script_id: string;
28
+ status: "running" | "completed" | "failed";
29
+ current_step: number;
30
+ total_steps: number;
31
+ current_description: string;
32
+ variables: Record<string, string>;
33
+ steps_log: Array<{
34
+ step: number;
35
+ type: string;
36
+ description: string;
37
+ status: string;
38
+ duration_ms?: number;
39
+ error?: string;
40
+ }>;
41
+ errors: string[];
42
+ started_at: string;
43
+ completed_at: string | null;
44
+ duration_ms: number | null;
45
+ }
46
+ export declare function createScript(data: {
47
+ name: string;
48
+ domain?: string;
49
+ description?: string;
50
+ variables?: Record<string, string>;
51
+ steps: Array<{
52
+ type: string;
53
+ config: Record<string, unknown>;
54
+ description?: string;
55
+ ai_enabled?: boolean;
56
+ ai_config?: Record<string, unknown>;
57
+ }>;
58
+ }): Script;
59
+ export declare function upsertScript(data: {
60
+ name: string;
61
+ domain?: string;
62
+ description?: string;
63
+ variables?: Record<string, string>;
64
+ steps: Array<{
65
+ type: string;
66
+ config: Record<string, unknown>;
67
+ description?: string;
68
+ ai_enabled?: boolean;
69
+ ai_config?: Record<string, unknown>;
70
+ }>;
71
+ }): Script;
72
+ export declare function getScript(id: string): Script | null;
73
+ export declare function getScriptByName(name: string): Script | null;
74
+ export declare function listScripts(): Script[];
75
+ export declare function deleteScript(id: string): boolean;
76
+ export declare function deleteScriptByName(name: string): boolean;
77
+ export declare function getSteps(scriptId: string): ScriptStep[];
78
+ export declare function startRun(scriptId: string, totalSteps: number): ScriptRun;
79
+ export declare function updateRunProgress(runId: string, step: number, description: string, stepsLog: any[], variables: Record<string, string>): void;
80
+ export declare function completeRun(runId: string, status: "completed" | "failed", errors: string[], durationMs: number): void;
81
+ export declare function getRun(runId: string): ScriptRun | null;
82
+ export declare function listRuns(scriptId?: string): ScriptRun[];
83
+ export declare function migrateJsonScripts(): number;
84
+ //# sourceMappingURL=scripts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../src/db/scripts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { Session, SessionStatus, BrowserEngine } from "../types/index.js";
2
+ export interface CreateSessionData {
3
+ engine: BrowserEngine;
4
+ projectId?: string;
5
+ agentId?: string;
6
+ startUrl?: string;
7
+ name?: string;
8
+ }
9
+ export declare function createSession(data: CreateSessionData): Session;
10
+ export declare function getSessionByName(name: string): Session | null;
11
+ export declare function renameSession(id: string, name: string): Session;
12
+ export declare function getSession(id: string): Session;
13
+ export declare function listSessions(filter?: {
14
+ status?: SessionStatus;
15
+ projectId?: string;
16
+ }): Session[];
17
+ export declare function updateSessionStatus(id: string, status: SessionStatus): Session;
18
+ export declare function closeSession(id: string): Session;
19
+ export declare function lockSession(id: string, agentId: string): Session;
20
+ export declare function unlockSession(id: string, agentId?: string): Session;
21
+ export declare function isSessionLocked(id: string): {
22
+ locked: boolean;
23
+ locked_by?: string;
24
+ locked_at?: string;
25
+ };
26
+ export declare function transferSession(id: string, toAgentId: string): Session;
27
+ export declare function getActiveSessionForAgent(agentId: string): Session | null;
28
+ export declare function getDefaultActiveSession(): Session | null;
29
+ export declare function countActiveSessions(): number;
30
+ export declare function deleteSession(id: string): void;
31
+ export declare function addSessionTag(id: string, tag: string): string[];
32
+ export declare function removeSessionTag(id: string, tag: string): string[];
33
+ export declare function getSessionTags(id: string): string[];
34
+ export declare function listSessionsByTag(tag: string): Session[];
35
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/db/sessions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG/E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAiB9D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAG7D;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAK9C;AAED,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,aAAa,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,EAAE,CAQ/F;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAO9E;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAUhE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAUnE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAKvG;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAItE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAGxE;AAED,wBAAgB,uBAAuB,IAAI,OAAO,GAAG,IAAI,CAIxD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG9C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAI/D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAIlE;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAGnD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,CAKxD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sessions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.test.d.ts","sourceRoot":"","sources":["../../src/db/sessions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { Snapshot } from "../types/index.js";
2
+ export declare function createSnapshot(data: Omit<Snapshot, "id" | "timestamp">): Snapshot;
3
+ export declare function getSnapshot(id: string): Snapshot | null;
4
+ export declare function listSnapshots(sessionId: string): Snapshot[];
5
+ export declare function deleteSnapshot(id: string): void;
6
+ export declare function deleteSnapshotsBySession(sessionId: string): void;
7
+ //# sourceMappingURL=snapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/db/snapshots.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,QAAQ,CAOjF;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAGvD;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,EAAE,CAK3D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG/C;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGhE"}
@@ -0,0 +1,11 @@
1
+ export interface TimelineEvent {
2
+ id: string;
3
+ session_id: string;
4
+ event_type: string;
5
+ details: string;
6
+ timestamp: string;
7
+ }
8
+ export declare function logEvent(sessionId: string, eventType: string, details?: Record<string, unknown>): void;
9
+ export declare function getTimeline(sessionId: string, limit?: number): TimelineEvent[];
10
+ export declare function clearTimeline(sessionId: string): void;
11
+ //# sourceMappingURL=timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/db/timeline.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAM1G;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,aAAa,EAAE,CAK3E;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGrD"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Bun.WebView engine adapter — native zero-dep browser using WKWebView (macOS)
3
+ * or Chrome CDP (Windows/Linux). Available in Bun canary; stable in ~v1.4.0.
4
+ *
5
+ * Usage: import { isBunWebViewAvailable, BunWebViewSession } from './bun-webview.js'
6
+ */
7
+ export declare function isBunWebViewAvailable(): boolean;
8
+ interface NativeBunWebView {
9
+ navigate(url: string): Promise<void>;
10
+ evaluate(expr: string): Promise<unknown>;
11
+ screenshot(): Promise<Uint8Array>;
12
+ click(selector: string, opts?: {
13
+ button?: "left" | "right" | "middle";
14
+ }): Promise<void>;
15
+ type(text: string): Promise<void>;
16
+ press(key: string, opts?: {
17
+ modifiers?: string[];
18
+ }): Promise<void>;
19
+ scroll(dx: number, dy: number): Promise<void>;
20
+ scrollTo(selector: string, opts?: unknown): Promise<void>;
21
+ resize(width: number, height: number): Promise<void>;
22
+ goBack(): Promise<void>;
23
+ goForward(): Promise<void>;
24
+ reload(): Promise<void>;
25
+ close(): Promise<void>;
26
+ url: string;
27
+ title: string;
28
+ loading: boolean;
29
+ onNavigated: ((url: string) => void) | null;
30
+ onNavigationFailed: ((error: Error) => void) | null;
31
+ [Symbol.asyncDispose]: () => Promise<void>;
32
+ }
33
+ export interface BunWebViewOptions {
34
+ width?: number;
35
+ height?: number;
36
+ profile?: string;
37
+ headless?: boolean;
38
+ userAgent?: string;
39
+ onConsole?: (type: string, ...args: unknown[]) => void;
40
+ }
41
+ export declare class BunWebViewSession {
42
+ private view;
43
+ private _sessionId?;
44
+ private _eventListeners;
45
+ constructor(opts?: BunWebViewOptions);
46
+ goto(url: string, opts?: {
47
+ waitUntil?: string;
48
+ timeout?: number;
49
+ }): Promise<void>;
50
+ goBack(): Promise<void>;
51
+ goForward(): Promise<void>;
52
+ reload(): Promise<void>;
53
+ evaluate<T = unknown>(fnOrExpr: string | ((...args: unknown[]) => unknown), ...args: unknown[]): Promise<T>;
54
+ screenshot(opts?: {
55
+ path?: string;
56
+ type?: string;
57
+ fullPage?: boolean;
58
+ quality?: number;
59
+ }): Promise<Buffer>;
60
+ click(selector: string, opts?: {
61
+ button?: "left" | "right" | "middle";
62
+ timeout?: number;
63
+ }): Promise<void>;
64
+ type(selector: string, text: string, opts?: {
65
+ delay?: number;
66
+ }): Promise<void>;
67
+ fill(selector: string, value: string): Promise<void>;
68
+ press(key: string, opts?: {
69
+ modifiers?: string[];
70
+ }): Promise<void>;
71
+ scroll(direction: string, amount: number): Promise<void>;
72
+ scrollIntoView(selector: string): Promise<void>;
73
+ hover(selector: string): Promise<void>;
74
+ resize(width: number, height: number): Promise<void>;
75
+ $(selector: string): Promise<{
76
+ textContent(): Promise<string | null>;
77
+ } | null>;
78
+ $$(selector: string): Promise<Array<{
79
+ textContent(): Promise<string | null>;
80
+ }>>;
81
+ inputValue(selector: string): Promise<string>;
82
+ isChecked(selector: string): Promise<boolean>;
83
+ isVisible(selector: string): Promise<boolean>;
84
+ isEnabled(selector: string): Promise<boolean>;
85
+ selectOption(selector: string, value: string): Promise<string[]>;
86
+ check(selector: string): Promise<void>;
87
+ uncheck(selector: string): Promise<void>;
88
+ setInputFiles(selector: string, files: string | string[]): Promise<void>;
89
+ getByRole(role: string, opts?: {
90
+ name?: string | RegExp;
91
+ }): any;
92
+ getByText(text: string, opts?: {
93
+ exact?: boolean;
94
+ }): any;
95
+ locator(selector: string): any;
96
+ url(): string;
97
+ title(): Promise<string>;
98
+ viewportSize(): {
99
+ width: number;
100
+ height: number;
101
+ } | null;
102
+ waitForLoadState(state?: string, opts?: {
103
+ timeout?: number;
104
+ }): Promise<void>;
105
+ waitForURL(pattern: string | RegExp, opts?: {
106
+ timeout?: number;
107
+ }): Promise<void>;
108
+ waitForSelector(selector: string, opts?: {
109
+ state?: string;
110
+ timeout?: number;
111
+ }): Promise<void>;
112
+ setContent(html: string): Promise<void>;
113
+ content(): Promise<string>;
114
+ addInitScript(script: string | (() => void)): Promise<void>;
115
+ keyboard: {
116
+ press: (key: string) => Promise<void>;
117
+ };
118
+ context(): {
119
+ close: () => Promise<void>;
120
+ newPage: () => Promise<never>;
121
+ cookies: () => Promise<never[]>;
122
+ addCookies: (_: unknown) => Promise<void>;
123
+ clearCookies: () => Promise<void>;
124
+ newCDPSession: () => Promise<never>;
125
+ route: (_pattern: unknown, _handler: unknown) => Promise<never>;
126
+ unrouteAll: () => Promise<void>;
127
+ pages: () => never[];
128
+ addInitScript: (script: string) => Promise<void>;
129
+ };
130
+ on(event: string, handler: (...args: unknown[]) => void): this;
131
+ off(event: string, handler: (...args: unknown[]) => void): this;
132
+ private _emit;
133
+ pdf(_opts?: unknown): Promise<Buffer>;
134
+ coverage: {
135
+ startJSCoverage: () => Promise<void>;
136
+ stopJSCoverage: () => Promise<never[]>;
137
+ startCSSCoverage: () => Promise<void>;
138
+ stopCSSCoverage: () => Promise<never[]>;
139
+ };
140
+ setSessionId(id: string): void;
141
+ getSessionId(): string | undefined;
142
+ getNativeView(): NativeBunWebView;
143
+ close(): Promise<void>;
144
+ [Symbol.asyncDispose](): Promise<void>;
145
+ }
146
+ export {};
147
+ //# sourceMappingURL=bun-webview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-webview.d.ts","sourceRoot":"","sources":["../../src/engines/bun-webview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bun-webview.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-webview.test.d.ts","sourceRoot":"","sources":["../../src/engines/bun-webview.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import type { Browser, Page, CDPSession } from "playwright";
2
+ import type { PerformanceMetrics, CoverageEntry, CoverageResult } from "../types/index.js";
3
+ export declare function connectToExistingBrowser(cdpUrl: string): Promise<Browser>;
4
+ export declare class CDPClient {
5
+ private session;
6
+ private networkEnabled;
7
+ private performanceEnabled;
8
+ constructor(session: CDPSession);
9
+ static fromPage(page: Page): Promise<CDPClient>;
10
+ send<T = unknown>(method: string, params?: Record<string, unknown>): Promise<T>;
11
+ on(event: string, handler: (data: any) => void): void;
12
+ off(event: string, handler: (data: any) => void): void;
13
+ enableNetwork(): Promise<void>;
14
+ enablePerformance(): Promise<void>;
15
+ getPerformanceMetrics(): Promise<PerformanceMetrics>;
16
+ startJSCoverage(): Promise<void>;
17
+ stopJSCoverage(): Promise<CoverageEntry[]>;
18
+ getCoverage(): Promise<CoverageResult>;
19
+ captureHAREntries(page: Page, handler: (entry: {
20
+ method: string;
21
+ url: string;
22
+ status: number;
23
+ duration: number;
24
+ }) => void): Promise<() => void>;
25
+ detach(): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=cdp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../../src/engines/cdp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAK3F,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW/E;AAID,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,OAAO,EAAE,UAAU;WAIlB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAa/C,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAYrF,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAKrD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAIhD,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlC,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAkBpD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAShC,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAuB1C,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAWtC,iBAAiB,CACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAC1F,OAAO,CAAC,MAAM,IAAI,CAAC;IAgChB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAO9B"}
@@ -0,0 +1,25 @@
1
+ import { type ChildProcess } from "node:child_process";
2
+ import { type Browser, type Page } from "playwright";
3
+ export declare function isLightpandaAvailable(): boolean;
4
+ export declare function getLightpandaBinaryPath(): string;
5
+ export interface LightpandaProcess {
6
+ process: ChildProcess;
7
+ port: number;
8
+ wsUrl: string;
9
+ }
10
+ export declare function launchLightpanda(port?: number): Promise<LightpandaProcess>;
11
+ export declare function connectLightpanda(port?: number): Promise<Browser>;
12
+ export declare function stopLightpanda(): void;
13
+ export declare class LightpandaPage {
14
+ private page;
15
+ constructor(page: Page);
16
+ static create(port?: number): Promise<LightpandaPage>;
17
+ navigate(url: string): Promise<void>;
18
+ getContent(): Promise<string>;
19
+ getTitle(): Promise<string>;
20
+ getLinks(): Promise<string[]>;
21
+ getText(selector?: string): Promise<string>;
22
+ get rawPage(): Page;
23
+ close(): Promise<void>;
24
+ }
25
+ //# sourceMappingURL=lightpanda.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightpanda.d.ts","sourceRoot":"","sources":["../../src/engines/lightpanda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAY,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAM/D,wBAAgB,qBAAqB,IAAI,OAAO,CAoB/C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAsBhD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAID,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgDhF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAcvE;AAED,wBAAgB,cAAc,IAAI,IAAI,CAKrC;AAID,qBAAa,cAAc;IACb,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;WAEjB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOrD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ7B,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjD,IAAI,OAAO,IAAI,IAAI,CAElB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}