@olib-ai/owl-browser-sdk 2.0.5 → 2.0.7

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 (111) hide show
  1. package/README.md +107 -0
  2. package/dist/extraction/content-cleaner.d.ts +40 -0
  3. package/dist/extraction/content-cleaner.d.ts.map +1 -0
  4. package/dist/extraction/content-cleaner.js +393 -0
  5. package/dist/extraction/content-cleaner.js.map +1 -0
  6. package/dist/extraction/extractor.d.ts +139 -0
  7. package/dist/extraction/extractor.d.ts.map +1 -0
  8. package/dist/extraction/extractor.js +212 -0
  9. package/dist/extraction/extractor.js.map +1 -0
  10. package/dist/extraction/html-processor.d.ts +75 -0
  11. package/dist/extraction/html-processor.d.ts.map +1 -0
  12. package/dist/extraction/html-processor.js +192 -0
  13. package/dist/extraction/html-processor.js.map +1 -0
  14. package/dist/extraction/index.d.ts +14 -0
  15. package/dist/extraction/index.d.ts.map +1 -0
  16. package/dist/extraction/index.js +19 -0
  17. package/dist/extraction/index.js.map +1 -0
  18. package/dist/extraction/list-extractor.d.ts +24 -0
  19. package/dist/extraction/list-extractor.d.ts.map +1 -0
  20. package/dist/extraction/list-extractor.js +303 -0
  21. package/dist/extraction/list-extractor.js.map +1 -0
  22. package/dist/extraction/meta-extractor.d.ts +40 -0
  23. package/dist/extraction/meta-extractor.d.ts.map +1 -0
  24. package/dist/extraction/meta-extractor.js +216 -0
  25. package/dist/extraction/meta-extractor.js.map +1 -0
  26. package/dist/extraction/pagination.d.ts +29 -0
  27. package/dist/extraction/pagination.d.ts.map +1 -0
  28. package/dist/extraction/pagination.js +323 -0
  29. package/dist/extraction/pagination.js.map +1 -0
  30. package/dist/extraction/pattern-detector.d.ts +16 -0
  31. package/dist/extraction/pattern-detector.d.ts.map +1 -0
  32. package/dist/extraction/pattern-detector.js +390 -0
  33. package/dist/extraction/pattern-detector.js.map +1 -0
  34. package/dist/extraction/scrape-session.d.ts +23 -0
  35. package/dist/extraction/scrape-session.d.ts.map +1 -0
  36. package/dist/extraction/scrape-session.js +192 -0
  37. package/dist/extraction/scrape-session.js.map +1 -0
  38. package/dist/extraction/selector-engine.d.ts +23 -0
  39. package/dist/extraction/selector-engine.d.ts.map +1 -0
  40. package/dist/extraction/selector-engine.js +127 -0
  41. package/dist/extraction/selector-engine.js.map +1 -0
  42. package/dist/extraction/table-extractor.d.ts +29 -0
  43. package/dist/extraction/table-extractor.d.ts.map +1 -0
  44. package/dist/extraction/table-extractor.js +282 -0
  45. package/dist/extraction/table-extractor.js.map +1 -0
  46. package/dist/extraction/transforms.d.ts +47 -0
  47. package/dist/extraction/transforms.d.ts.map +1 -0
  48. package/dist/extraction/transforms.js +277 -0
  49. package/dist/extraction/transforms.js.map +1 -0
  50. package/dist/extraction/types.d.ts +199 -0
  51. package/dist/extraction/types.d.ts.map +1 -0
  52. package/dist/extraction/types.js +5 -0
  53. package/dist/extraction/types.js.map +1 -0
  54. package/dist/index.d.ts +1 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +2 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/playwright/browser-type.d.ts +101 -0
  59. package/dist/playwright/browser-type.d.ts.map +1 -0
  60. package/dist/playwright/browser-type.js +134 -0
  61. package/dist/playwright/browser-type.js.map +1 -0
  62. package/dist/playwright/browser.d.ts +98 -0
  63. package/dist/playwright/browser.d.ts.map +1 -0
  64. package/dist/playwright/browser.js +229 -0
  65. package/dist/playwright/browser.js.map +1 -0
  66. package/dist/playwright/context.d.ts +217 -0
  67. package/dist/playwright/context.d.ts.map +1 -0
  68. package/dist/playwright/context.js +518 -0
  69. package/dist/playwright/context.js.map +1 -0
  70. package/dist/playwright/extractor.d.ts +108 -0
  71. package/dist/playwright/extractor.d.ts.map +1 -0
  72. package/dist/playwright/extractor.js +404 -0
  73. package/dist/playwright/extractor.js.map +1 -0
  74. package/dist/playwright/frame.d.ts +147 -0
  75. package/dist/playwright/frame.d.ts.map +1 -0
  76. package/dist/playwright/frame.js +492 -0
  77. package/dist/playwright/frame.js.map +1 -0
  78. package/dist/playwright/index.d.ts +163 -0
  79. package/dist/playwright/index.d.ts.map +1 -0
  80. package/dist/playwright/index.js +313 -0
  81. package/dist/playwright/index.js.map +1 -0
  82. package/dist/playwright/keyboard.d.ts +74 -0
  83. package/dist/playwright/keyboard.d.ts.map +1 -0
  84. package/dist/playwright/keyboard.js +187 -0
  85. package/dist/playwright/keyboard.js.map +1 -0
  86. package/dist/playwright/locator.d.ts +237 -0
  87. package/dist/playwright/locator.d.ts.map +1 -0
  88. package/dist/playwright/locator.js +667 -0
  89. package/dist/playwright/locator.js.map +1 -0
  90. package/dist/playwright/mouse.d.ts +82 -0
  91. package/dist/playwright/mouse.d.ts.map +1 -0
  92. package/dist/playwright/mouse.js +137 -0
  93. package/dist/playwright/mouse.js.map +1 -0
  94. package/dist/playwright/page-helpers.d.ts +267 -0
  95. package/dist/playwright/page-helpers.d.ts.map +1 -0
  96. package/dist/playwright/page-helpers.js +449 -0
  97. package/dist/playwright/page-helpers.js.map +1 -0
  98. package/dist/playwright/page.d.ts +605 -0
  99. package/dist/playwright/page.d.ts.map +1 -0
  100. package/dist/playwright/page.js +1698 -0
  101. package/dist/playwright/page.js.map +1 -0
  102. package/dist/playwright/response.d.ts +100 -0
  103. package/dist/playwright/response.d.ts.map +1 -0
  104. package/dist/playwright/response.js +194 -0
  105. package/dist/playwright/response.js.map +1 -0
  106. package/dist/playwright/types.d.ts +354 -0
  107. package/dist/playwright/types.d.ts.map +1 -0
  108. package/dist/playwright/types.js +8 -0
  109. package/dist/playwright/types.js.map +1 -0
  110. package/openapi.json +327 -35
  111. package/package.json +10 -1
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Playwright-compatible Locator class for Owl Browser.
3
+ *
4
+ * Locators are lazy element references that resolve at action time.
5
+ * They store a selector and delegate all operations to the parent Page,
6
+ * enabling the same retry and auto-waiting semantics as Playwright.
7
+ *
8
+ * Supports Playwright selector engine formats: text=, css=, xpath=,
9
+ * role=, data-testid=, placeholder=, alt=, title=, label=.
10
+ */
11
+ import type { Page } from './page.js';
12
+ import type { ClickOptions, DblClickOptions, FillOptions, TypeOptions, PressOptions, HoverOptions, FocusOptions, ScreenshotOptions, CheckOptions, SelectOptionValue, SelectOptionOptions, LocatorWaitForOptions, LocatorFilterOptions, BoundingBox, SetInputFilesOptions } from './types.js';
13
+ /**
14
+ * Convert a Playwright selector to a CSS/XPath selector that Owl understands.
15
+ *
16
+ * Playwright supports prefixed selectors like text=, css=, xpath=, role=, etc.
17
+ * This function converts those to standard CSS selectors or passes them as
18
+ * natural language descriptions to Owl's semantic matching.
19
+ *
20
+ * @param selector - Playwright-format selector
21
+ * @returns Transformed selector for Owl Browser
22
+ */
23
+ export declare function convertSelector(selector: string): string;
24
+ /**
25
+ * Locator represents a lazy reference to one or more DOM elements.
26
+ *
27
+ * All operations on a Locator are automatically retried until the element
28
+ * is available or the timeout expires. Locators can be chained to narrow
29
+ * the selection scope.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const button = page.locator('button.submit');
34
+ * await button.click();
35
+ *
36
+ * const text = await page.locator('.result').textContent();
37
+ * await page.locator('text=Sign In').click();
38
+ * await page.locator('[data-testid="submit"]').fill('hello');
39
+ * ```
40
+ */
41
+ export declare class Locator {
42
+ /** @internal */
43
+ readonly _page: Page;
44
+ /** @internal */
45
+ readonly _selector: string;
46
+ constructor(page: Page, selector: string);
47
+ /** Click the element. */
48
+ click(options?: ClickOptions): Promise<void>;
49
+ /** Double-click the element. */
50
+ dblclick(options?: DblClickOptions): Promise<void>;
51
+ /** Fill the element with text (clears existing content first). */
52
+ fill(value: string, options?: FillOptions): Promise<void>;
53
+ /** Type text into the element (does NOT clear existing content). */
54
+ type(text: string, options?: TypeOptions): Promise<void>;
55
+ /** Focus the element and press a key. */
56
+ press(key: string, options?: PressOptions): Promise<void>;
57
+ /** Hover over the element. */
58
+ hover(options?: HoverOptions): Promise<void>;
59
+ /** Focus the element. */
60
+ focus(options?: FocusOptions): Promise<void>;
61
+ /** Check a checkbox (no-op if already checked). */
62
+ check(options?: CheckOptions): Promise<void>;
63
+ /** Uncheck a checkbox (no-op if already unchecked). */
64
+ uncheck(options?: CheckOptions): Promise<void>;
65
+ /** Select an option from a dropdown. */
66
+ selectOption(values: SelectOptionValue, options?: SelectOptionOptions): Promise<string[]>;
67
+ /**
68
+ * Upload files to a file input element.
69
+ *
70
+ * @param files - File path(s) to upload
71
+ * @param options - Upload options
72
+ */
73
+ setInputFiles(files: string | string[], options?: SetInputFilesOptions): Promise<void>;
74
+ /** Select all text within the element. */
75
+ selectText(): Promise<void>;
76
+ /**
77
+ * Dispatch a DOM event on the element.
78
+ *
79
+ * @param type - Event type (e.g., 'click', 'input', 'change')
80
+ * @param eventInit - Event initialization properties
81
+ */
82
+ dispatchEvent(type: string, eventInit?: Record<string, unknown>): Promise<void>;
83
+ /**
84
+ * Scroll the element into view if not already visible.
85
+ */
86
+ scrollIntoViewIfNeeded(): Promise<void>;
87
+ /**
88
+ * Highlight the element with a colored border for debugging.
89
+ */
90
+ highlight(): Promise<void>;
91
+ /** Get the text content of the element. */
92
+ textContent(): Promise<string | null>;
93
+ /** Get the inner HTML of the element. */
94
+ innerHTML(): Promise<string>;
95
+ /** Get the inner text of the element (visible text only). */
96
+ innerText(): Promise<string>;
97
+ /** Get the value of an attribute. */
98
+ getAttribute(name: string): Promise<string | null>;
99
+ /** Get the input value. */
100
+ inputValue(): Promise<string>;
101
+ /**
102
+ * Get the bounding box of the element.
103
+ *
104
+ * @returns Bounding box {x, y, width, height} or null if not visible
105
+ */
106
+ boundingBox(): Promise<BoundingBox | null>;
107
+ /**
108
+ * Get the count of elements matching this locator.
109
+ *
110
+ * Uses browser_count_elements for native element counting.
111
+ *
112
+ * @returns Number of matching elements
113
+ */
114
+ count(): Promise<number>;
115
+ /**
116
+ * Resolve all matching elements to an array of locators.
117
+ *
118
+ * @returns Array of Locators, one per matching element
119
+ */
120
+ all(): Promise<Locator[]>;
121
+ /** Whether the element is visible. */
122
+ isVisible(): Promise<boolean>;
123
+ /** Whether the element is enabled. */
124
+ isEnabled(): Promise<boolean>;
125
+ /** Whether the element (checkbox/radio) is checked. */
126
+ isChecked(): Promise<boolean>;
127
+ /** Whether the element is hidden. */
128
+ isHidden(): Promise<boolean>;
129
+ /** Whether the element is disabled. */
130
+ isDisabled(): Promise<boolean>;
131
+ /** Whether the element is editable. */
132
+ isEditable(): Promise<boolean>;
133
+ /** Wait for the element to satisfy a condition. */
134
+ waitFor(options?: LocatorWaitForOptions): Promise<void>;
135
+ /** Take a screenshot of the element (element mode). */
136
+ screenshot(options?: ScreenshotOptions): Promise<Buffer>;
137
+ /** Evaluate a function in the context of the matched element. */
138
+ evaluate<R>(pageFunction: string | ((el: unknown, arg?: unknown) => R), arg?: unknown): Promise<R>;
139
+ /**
140
+ * Filter this locator to only include elements matching additional criteria.
141
+ *
142
+ * @param options - Filter criteria (hasText, hasNotText)
143
+ * @returns A new filtered Locator
144
+ */
145
+ filter(options?: LocatorFilterOptions): Locator;
146
+ /**
147
+ * Create a locator matching elements that match either this or the given locator.
148
+ *
149
+ * @param locator - Another locator to OR with
150
+ * @returns A new combined Locator
151
+ */
152
+ or(locator: Locator): Locator;
153
+ /**
154
+ * Create a locator matching elements that match both this AND the given locator.
155
+ *
156
+ * @param locator - Another locator to AND with
157
+ * @returns A new combined Locator
158
+ */
159
+ and(locator: Locator): Locator;
160
+ /**
161
+ * Create a child locator by combining selectors.
162
+ *
163
+ * The resulting selector targets elements matching `selector`
164
+ * that are descendants of this locator's element.
165
+ */
166
+ locator(selector: string): Locator;
167
+ /**
168
+ * Return a locator for the first matching element.
169
+ *
170
+ * Uses :first-of-type when the selector is a simple tag, otherwise
171
+ * appends :nth-of-type(1) as a best-effort CSS approximation.
172
+ * For evaluate-dependent lookups, uses nth(0) semantics.
173
+ */
174
+ get first(): Locator;
175
+ /**
176
+ * Return a locator for the last matching element.
177
+ */
178
+ get last(): Locator;
179
+ /**
180
+ * Return a locator for the nth matching element (0-indexed).
181
+ *
182
+ * @param index - Zero-based index
183
+ */
184
+ nth(index: number): Locator;
185
+ /**
186
+ * Get a locator for elements matching text content.
187
+ *
188
+ * @param text - Text to search for
189
+ * @returns A new Locator targeting elements with matching text
190
+ */
191
+ getByText(text: string | RegExp): Locator;
192
+ /** Return the selector string this locator targets. */
193
+ toString(): string;
194
+ }
195
+ /**
196
+ * NthLocator wraps a base selector and an index.
197
+ *
198
+ * Uses the native `index` parameter supported by Owl Browser tools
199
+ * to target the Nth matching element without JavaScript evaluate hacks.
200
+ * When `index >= 0`, targets that specific match. When `index === -1`,
201
+ * targets the last match.
202
+ */
203
+ export declare class NthLocator extends Locator {
204
+ private readonly _baseSelector;
205
+ private readonly _index;
206
+ constructor(page: Page, baseSelector: string, index: number);
207
+ /**
208
+ * Execute a tool with the base selector and index parameter.
209
+ * @internal
210
+ */
211
+ private _nthExecute;
212
+ click(options?: ClickOptions): Promise<void>;
213
+ dblclick(options?: DblClickOptions): Promise<void>;
214
+ fill(value: string, options?: FillOptions): Promise<void>;
215
+ type(text: string, options?: TypeOptions): Promise<void>;
216
+ press(key: string, options?: PressOptions): Promise<void>;
217
+ hover(options?: HoverOptions): Promise<void>;
218
+ focus(options?: FocusOptions): Promise<void>;
219
+ check(options?: CheckOptions): Promise<void>;
220
+ uncheck(options?: CheckOptions): Promise<void>;
221
+ textContent(): Promise<string | null>;
222
+ innerHTML(): Promise<string>;
223
+ innerText(): Promise<string>;
224
+ inputValue(): Promise<string>;
225
+ isVisible(): Promise<boolean>;
226
+ isChecked(): Promise<boolean>;
227
+ isEnabled(): Promise<boolean>;
228
+ isEditable(): Promise<boolean>;
229
+ getAttribute(name: string): Promise<string | null>;
230
+ dispatchEvent(type: string, eventInit?: Record<string, unknown>): Promise<void>;
231
+ boundingBox(): Promise<BoundingBox | null>;
232
+ scrollIntoViewIfNeeded(): Promise<void>;
233
+ selectText(): Promise<void>;
234
+ count(): Promise<number>;
235
+ toString(): string;
236
+ }
237
+ //# sourceMappingURL=locator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locator.d.ts","sourceRoot":"","sources":["../../src/playwright/locator.ts"],"names":[],"mappings":"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"}