sentienceapi 0.91.0 → 0.92.0

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 (146) hide show
  1. package/dist/actions.d.ts +66 -5
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +91 -37
  4. package/dist/actions.js.map +1 -1
  5. package/dist/agent.d.ts +15 -27
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +57 -315
  8. package/dist/agent.js.map +1 -1
  9. package/dist/browser.d.ts +11 -4
  10. package/dist/browser.d.ts.map +1 -1
  11. package/dist/browser.js +62 -42
  12. package/dist/browser.js.map +1 -1
  13. package/dist/cli.js +21 -13
  14. package/dist/cli.js.map +1 -1
  15. package/dist/conversational-agent.d.ts.map +1 -1
  16. package/dist/conversational-agent.js +27 -13
  17. package/dist/conversational-agent.js.map +1 -1
  18. package/dist/expect.d.ts.map +1 -1
  19. package/dist/expect.js +6 -5
  20. package/dist/expect.js.map +1 -1
  21. package/dist/generator.d.ts.map +1 -1
  22. package/dist/generator.js +1 -1
  23. package/dist/generator.js.map +1 -1
  24. package/dist/index.d.ts +2 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/inspector.d.ts.map +1 -1
  28. package/dist/inspector.js +6 -0
  29. package/dist/inspector.js.map +1 -1
  30. package/dist/llm-provider.d.ts.map +1 -1
  31. package/dist/llm-provider.js +18 -20
  32. package/dist/llm-provider.js.map +1 -1
  33. package/dist/overlay.d.ts.map +1 -1
  34. package/dist/overlay.js +6 -0
  35. package/dist/overlay.js.map +1 -1
  36. package/dist/protocols/browser-protocol.d.ts +79 -0
  37. package/dist/protocols/browser-protocol.d.ts.map +1 -0
  38. package/dist/protocols/browser-protocol.js +9 -0
  39. package/dist/protocols/browser-protocol.js.map +1 -0
  40. package/dist/query.d.ts +58 -0
  41. package/dist/query.d.ts.map +1 -1
  42. package/dist/query.js +59 -1
  43. package/dist/query.js.map +1 -1
  44. package/dist/read.d.ts.map +1 -1
  45. package/dist/read.js +7 -7
  46. package/dist/read.js.map +1 -1
  47. package/dist/recorder.d.ts.map +1 -1
  48. package/dist/recorder.js +31 -25
  49. package/dist/recorder.js.map +1 -1
  50. package/dist/screenshot.d.ts.map +1 -1
  51. package/dist/screenshot.js +3 -0
  52. package/dist/screenshot.js.map +1 -1
  53. package/dist/snapshot-diff.d.ts +30 -0
  54. package/dist/snapshot-diff.d.ts.map +1 -0
  55. package/dist/snapshot-diff.js +124 -0
  56. package/dist/snapshot-diff.js.map +1 -0
  57. package/dist/snapshot.d.ts +2 -2
  58. package/dist/snapshot.d.ts.map +1 -1
  59. package/dist/snapshot.js +17 -22
  60. package/dist/snapshot.js.map +1 -1
  61. package/dist/textSearch.d.ts +2 -2
  62. package/dist/textSearch.d.ts.map +1 -1
  63. package/dist/textSearch.js +13 -9
  64. package/dist/textSearch.js.map +1 -1
  65. package/dist/tracing/cloud-sink.d.ts +4 -3
  66. package/dist/tracing/cloud-sink.d.ts.map +1 -1
  67. package/dist/tracing/cloud-sink.js +60 -31
  68. package/dist/tracing/cloud-sink.js.map +1 -1
  69. package/dist/tracing/index-schema.d.ts +2 -2
  70. package/dist/tracing/index-schema.d.ts.map +1 -1
  71. package/dist/tracing/index-schema.js +8 -6
  72. package/dist/tracing/index-schema.js.map +1 -1
  73. package/dist/tracing/indexer.d.ts.map +1 -1
  74. package/dist/tracing/indexer.js +21 -13
  75. package/dist/tracing/indexer.js.map +1 -1
  76. package/dist/tracing/jsonl-sink.d.ts +5 -4
  77. package/dist/tracing/jsonl-sink.d.ts.map +1 -1
  78. package/dist/tracing/jsonl-sink.js +13 -6
  79. package/dist/tracing/jsonl-sink.js.map +1 -1
  80. package/dist/tracing/sink.d.ts +3 -2
  81. package/dist/tracing/sink.d.ts.map +1 -1
  82. package/dist/tracing/sink.js.map +1 -1
  83. package/dist/tracing/tracer-factory.d.ts +18 -2
  84. package/dist/tracing/tracer-factory.d.ts.map +1 -1
  85. package/dist/tracing/tracer-factory.js +41 -7
  86. package/dist/tracing/tracer-factory.js.map +1 -1
  87. package/dist/tracing/tracer.d.ts.map +1 -1
  88. package/dist/tracing/tracer.js +8 -1
  89. package/dist/tracing/tracer.js.map +1 -1
  90. package/dist/tracing/types.d.ts +148 -32
  91. package/dist/tracing/types.d.ts.map +1 -1
  92. package/dist/types.d.ts +7 -6
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/utils/action-executor.d.ts +25 -0
  95. package/dist/utils/action-executor.d.ts.map +1 -0
  96. package/dist/utils/action-executor.js +120 -0
  97. package/dist/utils/action-executor.js.map +1 -0
  98. package/dist/utils/browser-evaluator.d.ts +76 -0
  99. package/dist/utils/browser-evaluator.d.ts.map +1 -0
  100. package/dist/utils/browser-evaluator.js +130 -0
  101. package/dist/utils/browser-evaluator.js.map +1 -0
  102. package/dist/utils/browser.d.ts +30 -0
  103. package/dist/utils/browser.d.ts.map +1 -0
  104. package/dist/utils/browser.js +75 -0
  105. package/dist/utils/browser.js.map +1 -0
  106. package/dist/utils/element-filter.d.ts +76 -0
  107. package/dist/utils/element-filter.d.ts.map +1 -0
  108. package/dist/utils/element-filter.js +191 -0
  109. package/dist/utils/element-filter.js.map +1 -0
  110. package/dist/utils/llm-interaction-handler.d.ts +39 -0
  111. package/dist/utils/llm-interaction-handler.d.ts.map +1 -0
  112. package/dist/utils/llm-interaction-handler.js +100 -0
  113. package/dist/utils/llm-interaction-handler.js.map +1 -0
  114. package/dist/utils/llm-response-builder.d.ts +56 -0
  115. package/dist/utils/llm-response-builder.d.ts.map +1 -0
  116. package/dist/utils/llm-response-builder.js +130 -0
  117. package/dist/utils/llm-response-builder.js.map +1 -0
  118. package/dist/utils/selector-utils.d.ts +12 -0
  119. package/dist/utils/selector-utils.d.ts.map +1 -0
  120. package/dist/utils/selector-utils.js +32 -0
  121. package/dist/utils/selector-utils.js.map +1 -0
  122. package/dist/utils/snapshot-event-builder.d.ts +28 -0
  123. package/dist/utils/snapshot-event-builder.d.ts.map +1 -0
  124. package/dist/utils/snapshot-event-builder.js +88 -0
  125. package/dist/utils/snapshot-event-builder.js.map +1 -0
  126. package/dist/utils/snapshot-processor.d.ts +27 -0
  127. package/dist/utils/snapshot-processor.d.ts.map +1 -0
  128. package/dist/utils/snapshot-processor.js +47 -0
  129. package/dist/utils/snapshot-processor.js.map +1 -0
  130. package/dist/utils/trace-event-builder.d.ts +80 -0
  131. package/dist/utils/trace-event-builder.d.ts.map +1 -0
  132. package/dist/utils/trace-event-builder.js +204 -0
  133. package/dist/utils/trace-event-builder.js.map +1 -0
  134. package/dist/utils/trace-file-manager.d.ts +70 -0
  135. package/dist/utils/trace-file-manager.d.ts.map +1 -0
  136. package/dist/utils/trace-file-manager.js +194 -0
  137. package/dist/utils/trace-file-manager.js.map +1 -0
  138. package/dist/utils.d.ts +3 -24
  139. package/dist/utils.d.ts.map +1 -1
  140. package/dist/utils.js +7 -68
  141. package/dist/utils.js.map +1 -1
  142. package/dist/wait.d.ts +22 -7
  143. package/dist/wait.d.ts.map +1 -1
  144. package/dist/wait.js +24 -11
  145. package/dist/wait.js.map +1 -1
  146. package/package.json +18 -3
package/dist/actions.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Actions v1 - click, type, press
3
3
  */
4
- import { SentienceBrowser } from './browser';
4
+ import { IBrowser } from './protocols/browser-protocol';
5
5
  import { ActionResult, BBox } from './types';
6
6
  export interface ClickRect {
7
7
  x: number;
@@ -11,9 +11,70 @@ export interface ClickRect {
11
11
  h?: number;
12
12
  height?: number;
13
13
  }
14
- export declare function click(browser: SentienceBrowser, elementId: number, useMouse?: boolean, takeSnapshot?: boolean): Promise<ActionResult>;
15
- export declare function typeText(browser: SentienceBrowser, elementId: number, text: string, takeSnapshot?: boolean): Promise<ActionResult>;
16
- export declare function press(browser: SentienceBrowser, key: string, takeSnapshot?: boolean): Promise<ActionResult>;
14
+ /**
15
+ * Click an element by its ID
16
+ *
17
+ * Uses a hybrid approach: gets element bounding box from snapshot and calculates center,
18
+ * then uses Playwright's native mouse.click() for realistic event simulation.
19
+ * Falls back to JavaScript click if element not found in snapshot.
20
+ *
21
+ * @param browser - SentienceBrowser instance
22
+ * @param elementId - Element ID from snapshot
23
+ * @param useMouse - Use mouse simulation (default: true). If false, uses JavaScript click.
24
+ * @param takeSnapshot - Take snapshot after action (default: false)
25
+ * @returns ActionResult with success status, outcome, duration, and optional snapshot
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const snap = await snapshot(browser);
30
+ * const button = find(snap, 'role=button');
31
+ * if (button) {
32
+ * const result = await click(browser, button.id);
33
+ * console.log(`Click ${result.success ? 'succeeded' : 'failed'}`);
34
+ * }
35
+ * ```
36
+ */
37
+ export declare function click(browser: IBrowser, elementId: number, useMouse?: boolean, takeSnapshot?: boolean): Promise<ActionResult>;
38
+ /**
39
+ * Type text into an input element
40
+ *
41
+ * Focuses the element first, then types the text using Playwright's keyboard simulation.
42
+ *
43
+ * @param browser - SentienceBrowser instance
44
+ * @param elementId - Element ID from snapshot (must be a text input element)
45
+ * @param text - Text to type
46
+ * @param takeSnapshot - Take snapshot after action (default: false)
47
+ * @returns ActionResult with success status, outcome, duration, and optional snapshot
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const snap = await snapshot(browser);
52
+ * const searchBox = find(snap, 'role=searchbox');
53
+ * if (searchBox) {
54
+ * await typeText(browser, searchBox.id, 'Hello World');
55
+ * }
56
+ * ```
57
+ */
58
+ export declare function typeText(browser: IBrowser, elementId: number, text: string, takeSnapshot?: boolean): Promise<ActionResult>;
59
+ /**
60
+ * Press a keyboard key
61
+ *
62
+ * Simulates pressing a key using Playwright's keyboard API.
63
+ * Common keys: 'Enter', 'Escape', 'Tab', 'ArrowUp', 'ArrowDown', etc.
64
+ *
65
+ * @param browser - SentienceBrowser instance
66
+ * @param key - Key to press (e.g., 'Enter', 'Escape', 'Tab')
67
+ * @param takeSnapshot - Take snapshot after action (default: false)
68
+ * @returns ActionResult with success status, outcome, duration, and optional snapshot
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * // Press Enter after typing
73
+ * await typeText(browser, elementId, 'search query');
74
+ * await press(browser, 'Enter');
75
+ * ```
76
+ */
77
+ export declare function press(browser: IBrowser, key: string, takeSnapshot?: boolean): Promise<ActionResult>;
17
78
  /**
18
79
  * Click at the center of a rectangle using Playwright's native mouse simulation.
19
80
  * This uses a hybrid approach: calculates center coordinates and uses mouse.click()
@@ -50,5 +111,5 @@ export declare function press(browser: SentienceBrowser, key: string, takeSnapsh
50
111
  * await clickRect(browser, { x: 100, y: 200, w: 50, h: 30 }, true, 3.0);
51
112
  * ```
52
113
  */
53
- export declare function clickRect(browser: SentienceBrowser, rect: ClickRect | BBox, highlight?: boolean, highlightDuration?: number, takeSnapshot?: boolean): Promise<ActionResult>;
114
+ export declare function clickRect(browser: IBrowser, rect: ClickRect | BBox, highlight?: boolean, highlightDuration?: number, takeSnapshot?: boolean): Promise<ActionResult>;
54
115
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAY,IAAI,EAAE,MAAM,SAAS,CAAC;AAGvD,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4DD,wBAAsB,KAAK,CACzB,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,OAAc,EACxB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,YAAY,CAAC,CAyGvB;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,YAAY,CAAC,CA6CvB;AAED,wBAAsB,KAAK,CACzB,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,YAAY,CAAC,CA6BvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,SAAS,GAAE,OAAc,EACzB,iBAAiB,GAAE,MAAY,EAC/B,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,YAAY,CAAC,CA2FvB"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAY,IAAI,EAAE,MAAM,SAAS,CAAC;AAIvD,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAoED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,OAAc,EACxB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,YAAY,CAAC,CAsGvB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,YAAY,CAAC,CAoDvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,QAAQ,EACjB,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,YAAY,CAAC,CAgCvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,SAAS,GAAE,OAAc,EACzB,iBAAiB,GAAE,MAAY,EAC/B,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,YAAY,CAAC,CA4FvB"}
package/dist/actions.js CHANGED
@@ -8,11 +8,15 @@ exports.typeText = typeText;
8
8
  exports.press = press;
9
9
  exports.clickRect = clickRect;
10
10
  const snapshot_1 = require("./snapshot");
11
+ const browser_evaluator_1 = require("./utils/browser-evaluator");
11
12
  /**
12
13
  * Highlight a rectangle with a red border overlay
13
14
  */
14
15
  async function highlightRect(browser, rect, durationSec = 2.0) {
15
16
  const page = browser.getPage();
17
+ if (!page) {
18
+ throw new Error('Browser not started. Call start() first.');
19
+ }
16
20
  const highlightId = `sentience_highlight_${Date.now()}`;
17
21
  // Combine all arguments into a single object for Playwright
18
22
  const args = {
@@ -25,7 +29,7 @@ async function highlightRect(browser, rect, durationSec = 2.0) {
25
29
  highlightId,
26
30
  durationSec,
27
31
  };
28
- await page.evaluate((args) => {
32
+ await browser_evaluator_1.BrowserEvaluator.evaluate(page, (args) => {
29
33
  const { rect, highlightId, durationSec } = args;
30
34
  // Create overlay div
31
35
  const overlay = document.createElement('div');
@@ -54,8 +58,34 @@ async function highlightRect(browser, rect, durationSec = 2.0) {
54
58
  }, durationSec * 1000);
55
59
  }, args);
56
60
  }
61
+ /**
62
+ * Click an element by its ID
63
+ *
64
+ * Uses a hybrid approach: gets element bounding box from snapshot and calculates center,
65
+ * then uses Playwright's native mouse.click() for realistic event simulation.
66
+ * Falls back to JavaScript click if element not found in snapshot.
67
+ *
68
+ * @param browser - SentienceBrowser instance
69
+ * @param elementId - Element ID from snapshot
70
+ * @param useMouse - Use mouse simulation (default: true). If false, uses JavaScript click.
71
+ * @param takeSnapshot - Take snapshot after action (default: false)
72
+ * @returns ActionResult with success status, outcome, duration, and optional snapshot
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const snap = await snapshot(browser);
77
+ * const button = find(snap, 'role=button');
78
+ * if (button) {
79
+ * const result = await click(browser, button.id);
80
+ * console.log(`Click ${result.success ? 'succeeded' : 'failed'}`);
81
+ * }
82
+ * ```
83
+ */
57
84
  async function click(browser, elementId, useMouse = true, takeSnapshot = false) {
58
85
  const page = browser.getPage();
86
+ if (!page) {
87
+ throw new Error('Browser not started. Call start() first.');
88
+ }
59
89
  const startTime = Date.now();
60
90
  const urlBefore = page.url();
61
91
  let success;
@@ -63,7 +93,7 @@ async function click(browser, elementId, useMouse = true, takeSnapshot = false)
63
93
  // Hybrid approach: Get element bbox from snapshot, calculate center, use mouse.click()
64
94
  try {
65
95
  const snap = await (0, snapshot_1.snapshot)(browser);
66
- const element = snap.elements.find((el) => el.id === elementId);
96
+ const element = snap.elements.find(el => el.id === elementId);
67
97
  if (element) {
68
98
  // Calculate center of element bbox
69
99
  const centerX = element.bbox.x + element.bbox.width / 2;
@@ -74,47 +104,26 @@ async function click(browser, elementId, useMouse = true, takeSnapshot = false)
74
104
  }
75
105
  else {
76
106
  // Fallback to JS click if element not found in snapshot
77
- try {
78
- success = await page.evaluate((id) => {
79
- return window.sentience.click(id);
80
- }, elementId);
81
- }
82
- catch (error) {
83
- // Navigation might have destroyed context, assume success if URL changed
84
- success = true;
85
- }
107
+ success = await browser_evaluator_1.BrowserEvaluator.evaluateWithNavigationFallback(page, id => window.sentience.click(id), elementId, true // Assume success if navigation destroyed context
108
+ );
86
109
  }
87
110
  }
88
- catch (error) {
111
+ catch {
89
112
  // Fallback to JS click on error
90
- try {
91
- success = await page.evaluate((id) => {
92
- return window.sentience.click(id);
93
- }, elementId);
94
- }
95
- catch (evalError) {
96
- // Navigation might have destroyed context, assume success
97
- success = true;
98
- }
113
+ success = await browser_evaluator_1.BrowserEvaluator.evaluateWithNavigationFallback(page, id => window.sentience.click(id), elementId, true // Assume success if navigation destroyed context
114
+ );
99
115
  }
100
116
  }
101
117
  else {
102
118
  // Legacy JS-based click
103
- try {
104
- success = await page.evaluate((id) => {
105
- return window.sentience.click(id);
106
- }, elementId);
107
- }
108
- catch (error) {
109
- // Navigation might have destroyed context, assume success
110
- success = true;
111
- }
119
+ success = await browser_evaluator_1.BrowserEvaluator.evaluateWithNavigationFallback(page, id => window.sentience.click(id), elementId, true // Assume success if navigation destroyed context
120
+ );
112
121
  }
113
122
  // Wait a bit for navigation/DOM updates
114
123
  try {
115
124
  await page.waitForTimeout(500);
116
125
  }
117
- catch (error) {
126
+ catch {
118
127
  // Navigation might have happened, context destroyed
119
128
  }
120
129
  const durationMs = Date.now() - startTime;
@@ -125,7 +134,7 @@ async function click(browser, elementId, useMouse = true, takeSnapshot = false)
125
134
  urlAfter = page.url();
126
135
  urlChanged = urlBefore !== urlAfter;
127
136
  }
128
- catch (error) {
137
+ catch {
129
138
  // Context destroyed due to navigation - assume URL changed
130
139
  urlAfter = urlBefore;
131
140
  urlChanged = true;
@@ -147,7 +156,7 @@ async function click(browser, elementId, useMouse = true, takeSnapshot = false)
147
156
  try {
148
157
  snapshotAfter = await (0, snapshot_1.snapshot)(browser);
149
158
  }
150
- catch (error) {
159
+ catch {
151
160
  // Navigation might have destroyed context
152
161
  }
153
162
  }
@@ -162,12 +171,35 @@ async function click(browser, elementId, useMouse = true, takeSnapshot = false)
162
171
  : { code: 'click_failed', reason: 'Element not found or not clickable' },
163
172
  };
164
173
  }
174
+ /**
175
+ * Type text into an input element
176
+ *
177
+ * Focuses the element first, then types the text using Playwright's keyboard simulation.
178
+ *
179
+ * @param browser - SentienceBrowser instance
180
+ * @param elementId - Element ID from snapshot (must be a text input element)
181
+ * @param text - Text to type
182
+ * @param takeSnapshot - Take snapshot after action (default: false)
183
+ * @returns ActionResult with success status, outcome, duration, and optional snapshot
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * const snap = await snapshot(browser);
188
+ * const searchBox = find(snap, 'role=searchbox');
189
+ * if (searchBox) {
190
+ * await typeText(browser, searchBox.id, 'Hello World');
191
+ * }
192
+ * ```
193
+ */
165
194
  async function typeText(browser, elementId, text, takeSnapshot = false) {
166
195
  const page = browser.getPage();
196
+ if (!page) {
197
+ throw new Error('Browser not started. Call start() first.');
198
+ }
167
199
  const startTime = Date.now();
168
200
  const urlBefore = page.url();
169
201
  // Focus element first
170
- const focused = await page.evaluate((id) => {
202
+ const focused = await browser_evaluator_1.BrowserEvaluator.evaluate(page, id => {
171
203
  const el = window.sentience_registry[id];
172
204
  if (el) {
173
205
  el.focus();
@@ -201,8 +233,29 @@ async function typeText(browser, elementId, text, takeSnapshot = false) {
201
233
  snapshot_after: snapshotAfter,
202
234
  };
203
235
  }
236
+ /**
237
+ * Press a keyboard key
238
+ *
239
+ * Simulates pressing a key using Playwright's keyboard API.
240
+ * Common keys: 'Enter', 'Escape', 'Tab', 'ArrowUp', 'ArrowDown', etc.
241
+ *
242
+ * @param browser - SentienceBrowser instance
243
+ * @param key - Key to press (e.g., 'Enter', 'Escape', 'Tab')
244
+ * @param takeSnapshot - Take snapshot after action (default: false)
245
+ * @returns ActionResult with success status, outcome, duration, and optional snapshot
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * // Press Enter after typing
250
+ * await typeText(browser, elementId, 'search query');
251
+ * await press(browser, 'Enter');
252
+ * ```
253
+ */
204
254
  async function press(browser, key, takeSnapshot = false) {
205
255
  const page = browser.getPage();
256
+ if (!page) {
257
+ throw new Error('Browser not started. Call start() first.');
258
+ }
206
259
  const startTime = Date.now();
207
260
  const urlBefore = page.url();
208
261
  // Press key using Playwright
@@ -263,6 +316,9 @@ async function press(browser, key, takeSnapshot = false) {
263
316
  */
264
317
  async function clickRect(browser, rect, highlight = true, highlightDuration = 2.0, takeSnapshot = false) {
265
318
  const page = browser.getPage();
319
+ if (!page) {
320
+ throw new Error('Browser not started. Call start() first.');
321
+ }
266
322
  const startTime = Date.now();
267
323
  const urlBefore = page.url();
268
324
  // Handle BBox object or ClickRect dict
@@ -341,9 +397,7 @@ async function clickRect(browser, rect, highlight = true, highlightDuration = 2.
341
397
  outcome,
342
398
  url_changed: urlChanged,
343
399
  snapshot_after: snapshotAfter,
344
- error: success
345
- ? undefined
346
- : { code: 'click_failed', reason: errorMsg || 'Click failed' },
400
+ error: success ? undefined : { code: 'click_failed', reason: errorMsg || 'Click failed' },
347
401
  };
348
402
  }
349
403
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
package/dist/agent.d.ts CHANGED
@@ -81,6 +81,9 @@ export declare class SentienceAgent {
81
81
  private history;
82
82
  private tokenUsage;
83
83
  private showOverlay;
84
+ private previousSnapshot?;
85
+ private llmHandler;
86
+ private actionExecutor;
84
87
  /**
85
88
  * Initialize Sentience Agent
86
89
  * @param browser - SentienceBrowser instance
@@ -91,14 +94,22 @@ export declare class SentienceAgent {
91
94
  * @param showOverlay - Show green bbox overlay in browser (default: false)
92
95
  */
93
96
  constructor(browser: SentienceBrowser, llm: LLMProvider, snapshotLimit?: number, verbose?: boolean, tracer?: Tracer, showOverlay?: boolean);
94
- /**
95
- * Compute SHA256 hash of text
96
- */
97
- private computeHash;
98
97
  /**
99
98
  * Get bounding box for an element from snapshot
100
99
  */
101
100
  private getElementBbox;
101
+ /**
102
+ * @deprecated Use LLMInteractionHandler.buildContext() instead
103
+ */
104
+ private buildContext;
105
+ /**
106
+ * @deprecated Use LLMInteractionHandler.queryLLM() instead
107
+ */
108
+ private queryLLM;
109
+ /**
110
+ * @deprecated Use ActionExecutor.executeAction() instead
111
+ */
112
+ private executeAction;
102
113
  /**
103
114
  * Execute a high-level goal using observe → think → act loop
104
115
  * @param goal - Natural language instruction (e.g., "Click the Sign In button")
@@ -114,29 +125,6 @@ export declare class SentienceAgent {
114
125
  * ```
115
126
  */
116
127
  act(goal: string, maxRetries?: number, snapshotOptions?: SnapshotOptions): Promise<AgentActResult>;
117
- /**
118
- * Filter elements from snapshot based on goal context.
119
- * Applies goal-based keyword matching to boost relevant elements and filters out irrelevant ones.
120
- */
121
- private filterElements;
122
- /**
123
- * Extract meaningful keywords from goal text
124
- */
125
- private extractKeywords;
126
- /**
127
- * Convert snapshot elements to token-efficient prompt string
128
- * Format: [ID] <role> "text" {cues} @ (x,y) (Imp:score)
129
- * Note: elements are already filtered by filterElements() in act()
130
- */
131
- private buildContext;
132
- /**
133
- * Query LLM with standardized prompt template
134
- */
135
- private queryLLM;
136
- /**
137
- * Parse action string and execute SDK call
138
- */
139
- private executeAction;
140
128
  /**
141
129
  * Track token usage for analytics
142
130
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}