@thinkrun/cli 0.1.27 → 0.1.29

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 (47) hide show
  1. package/README.md +7 -2
  2. package/dist/bin/thinkrun.js +4 -3
  3. package/dist/bin/thinkrun.js.map +1 -1
  4. package/dist/scripts/browse.sh +5 -5
  5. package/dist/src/adapters/cloud.d.ts +4 -2
  6. package/dist/src/adapters/cloud.d.ts.map +1 -1
  7. package/dist/src/adapters/cloud.js +33 -18
  8. package/dist/src/adapters/cloud.js.map +1 -1
  9. package/dist/src/adapters/local.d.ts +10 -2
  10. package/dist/src/adapters/local.d.ts.map +1 -1
  11. package/dist/src/adapters/local.js +188 -25
  12. package/dist/src/adapters/local.js.map +1 -1
  13. package/dist/src/adapters/types.d.ts +2 -1
  14. package/dist/src/adapters/types.d.ts.map +1 -1
  15. package/dist/src/commands/actions.d.ts +1 -0
  16. package/dist/src/commands/actions.d.ts.map +1 -1
  17. package/dist/src/commands/actions.js +91 -6
  18. package/dist/src/commands/actions.js.map +1 -1
  19. package/dist/src/commands/agent-init.js +1 -1
  20. package/dist/src/commands/agent-init.js.map +1 -1
  21. package/dist/src/commands/analyze.js +1 -1
  22. package/dist/src/commands/analyze.js.map +1 -1
  23. package/dist/src/commands/config.js +3 -3
  24. package/dist/src/commands/config.js.map +1 -1
  25. package/dist/src/commands/doctor.js +1 -1
  26. package/dist/src/commands/doctor.js.map +1 -1
  27. package/dist/src/commands/session-debug.js +1 -1
  28. package/dist/src/commands/session-debug.js.map +1 -1
  29. package/dist/src/commands/setup.js +2 -2
  30. package/dist/src/commands/setup.js.map +1 -1
  31. package/dist/src/config/store.js +2 -2
  32. package/dist/src/config/store.js.map +1 -1
  33. package/dist/src/obstacle-recovery/state-fingerprint.d.ts +1 -1
  34. package/dist/src/obstacle-recovery/state-fingerprint.d.ts.map +1 -1
  35. package/dist/src/obstacle-recovery/state-fingerprint.js +140 -5
  36. package/dist/src/obstacle-recovery/state-fingerprint.js.map +1 -1
  37. package/dist/src/session/cli-session-sync.d.ts +24 -2
  38. package/dist/src/session/cli-session-sync.d.ts.map +1 -1
  39. package/dist/src/session/cli-session-sync.js +62 -19
  40. package/dist/src/session/cli-session-sync.js.map +1 -1
  41. package/dist/src/types.d.ts +5 -0
  42. package/dist/src/types.d.ts.map +1 -1
  43. package/dist/src/utils.d.ts +1 -1
  44. package/dist/src/utils.d.ts.map +1 -1
  45. package/dist/src/utils.js +1 -1
  46. package/dist/src/utils.js.map +1 -1
  47. package/package.json +2 -2
@@ -11,12 +11,13 @@ import { ApiError, SessionError } from '../errors.js';
11
11
  import { config } from '../config/store.js';
12
12
  import { readBridgePort, DEFAULT_BRIDGE_PORT, BRIDGE_HEALTH_PROBE_TIMEOUT_MS, BRIDGE_REQUEST_TIMEOUT_MS, unwrapEvaluatePayload, } from '../utils.js';
13
13
  import { clearLocalSessionContext, getLocalSessionContext, setLocalSessionContext } from '../session/context.js';
14
- import { initCliSession, syncBrowserAction, syncScreenshotAction, closeCliSession, readCliSessionId } from '../session/cli-session-sync.js';
14
+ import { initCliSession, syncBrowserAction, syncScreenshotAction, closeCliSession, readCliSessionId, readCliNetworkCursor, writeCliNetworkCursor, } from '../session/cli-session-sync.js';
15
15
  import { acquireLock, getLockedBy, getWorkingLocation, releaseWorkingLocation, setWorkingLocation, updateWorkingLocationControlSession } from '../working-location.js';
16
16
  import { resolveAgentId } from '../session/agent-identity.js';
17
17
  import { localCommandRequiresTabError } from '../session/errors.js';
18
18
  import { assessLocalContinuity } from '../session/local-continuity.js';
19
19
  import { classifyFromBridgeResult, classifyFromStateCheck } from '../protected-flow/detector.js';
20
+ import { createBlockedOutcome } from '../protected-flow/types.js';
20
21
  import { captureFingerprint, compareFingerprints } from '../obstacle-recovery/state-fingerprint.js';
21
22
  import { classifyElementFailure } from '../obstacle-recovery/obstacle-classifier.js';
22
23
  import { getLocalCommandRetryProfileFromPath, } from './local-command-retry.js';
@@ -24,6 +25,9 @@ import { LOCAL_BRIDGE_TYPED_TRANSPORT_RECOVERY_ATTEMPTS, LOCAL_BRIDGE_TYPED_EXTE
24
25
  /** Tunable post-action settle delay (ms). React batches setState updates
25
26
  * (~16ms); 50ms gives margin for async DOM mutations to settle. */
26
27
  const POST_ACTION_SETTLE_MS = 50;
28
+ const FINGERPRINT_EVALUATE_TIMEOUT_MS = 2500;
29
+ const MAX_NETWORK_REQUESTS_PER_SYNC = 200;
30
+ const FINAL_NETWORK_FLUSH_TIMEOUT_MS = 5_000;
27
31
  /**
28
32
  * Actionable hints keyed by native host error codes.
29
33
  * These are surfaced in structured error output (--json mode) and TTY tips.
@@ -42,7 +46,7 @@ const NATIVE_CODE_HINTS = {
42
46
  'If the tab is truly owned by another live session, open a new tab/window instead of trying to take it over. ' +
43
47
  'If the tab should still belong to your current workflow, re-attach or follow the continuity guidance from session debug before retrying a mutating command. ' +
44
48
  'Do not use cloud start without an API key. Do not invent flags; see thinkrun attach --help. ' +
45
- 'Human docs: https://thinkbrowse.io/docs — LLM-oriented summary: https://thinkbrowse.io/llms.txt (repo: docs/ERROR_CODES.md).',
49
+ 'Human docs: https://thinkrun.ai/docs — LLM-oriented summary: https://thinkrun.ai/llms.txt (repo: docs/ERROR_CODES.md).',
46
50
  TAB_LOCKED: 'Another local controller currently holds the tab lock or an exclusive stale-lock reclaim claim. ' +
47
51
  'Run: thinkrun session debug --json to inspect the current continuity state before retrying. ' +
48
52
  'If this is your own stale state, wait for the reclaim attempt to finish or re-run the command once the competing claim is gone.',
@@ -58,6 +62,7 @@ export class LocalAdapter {
58
62
  baseUrl;
59
63
  defaultTimeout = 60000;
60
64
  validatedTabCache = new Map();
65
+ syncedNetworkRequestMarkers = new Map();
61
66
  TAB_CACHE_TTL_MS = 60_000;
62
67
  /** Injected fetch function — allows unit tests to intercept all HTTP calls. */
63
68
  fetchFn;
@@ -94,11 +99,89 @@ export class LocalAdapter {
94
99
  * No-op if no cloud sessionId is persisted for the tab (e.g. no API key configured).
95
100
  * Never throws, never blocks the caller.
96
101
  */
97
- syncAction(tabId, type, details) {
98
- const sessionId = readCliSessionId(tabId);
102
+ syncAction(tabId, type, details, meta, sessionIdOverride, timeoutMs) {
103
+ const sessionId = sessionIdOverride ?? readCliSessionId(tabId);
99
104
  if (!sessionId)
100
- return;
101
- syncBrowserAction(sessionId, type, details, this.fetchFn);
105
+ return Promise.resolve(false);
106
+ return syncBrowserAction(sessionId, type, details, meta, this.fetchFn, timeoutMs);
107
+ }
108
+ getNetworkRequestSyncKey(tabId, sessionIdOverride) {
109
+ const sessionId = sessionIdOverride ?? readCliSessionId(tabId);
110
+ return sessionId ? `${tabId}:${sessionId}` : null;
111
+ }
112
+ getNetworkRequestId(request) {
113
+ return (request &&
114
+ typeof request === 'object' &&
115
+ typeof request.id === 'string' &&
116
+ request.id.length > 0)
117
+ ? request.id
118
+ : undefined;
119
+ }
120
+ getNetworkRequestMarker(request) {
121
+ const method = typeof request.method === 'string' ? request.method : undefined;
122
+ const url = typeof request.url === 'string' ? request.url : undefined;
123
+ if (!method || !url)
124
+ return null;
125
+ const timestamp = typeof request.timestamp === 'string' && request.timestamp.length > 0
126
+ ? request.timestamp
127
+ : 'no-ts';
128
+ const status = typeof request.status === 'number' && Number.isFinite(request.status)
129
+ ? String(request.status)
130
+ : 'no-status';
131
+ const duration = typeof request.duration === 'number' && Number.isFinite(request.duration)
132
+ ? String(request.duration)
133
+ : 'no-duration';
134
+ return `${method} ${url} ${status} ${duration} ${timestamp}`;
135
+ }
136
+ getNetworkRequestTimestamp(request) {
137
+ return (request &&
138
+ typeof request === 'object' &&
139
+ typeof request.timestamp === 'string')
140
+ ? request.timestamp
141
+ : undefined;
142
+ }
143
+ findNetworkRequestMarkerIndex(requests, cursor) {
144
+ if (typeof cursor.requestId === 'string' && cursor.requestId.length > 0) {
145
+ return requests.findIndex((request) => this.getNetworkRequestId(request) === cursor.requestId);
146
+ }
147
+ if (typeof cursor.marker !== 'string' || typeof cursor.occurrence !== 'number') {
148
+ return -1;
149
+ }
150
+ let occurrence = 0;
151
+ for (let index = 0; index < requests.length; index += 1) {
152
+ const request = requests[index];
153
+ if (request &&
154
+ typeof request === 'object' &&
155
+ this.getNetworkRequestMarker(request) === cursor.marker) {
156
+ occurrence += 1;
157
+ if (occurrence === cursor.occurrence) {
158
+ return index;
159
+ }
160
+ }
161
+ }
162
+ return -1;
163
+ }
164
+ buildNetworkRequestSyncCursor(requests, index) {
165
+ const request = requests[index];
166
+ if (!request || typeof request !== 'object')
167
+ return null;
168
+ const requestId = this.getNetworkRequestId(request);
169
+ if (requestId) {
170
+ return { requestId };
171
+ }
172
+ const marker = this.getNetworkRequestMarker(request);
173
+ if (!marker)
174
+ return null;
175
+ let occurrence = 0;
176
+ for (let cursorIndex = 0; cursorIndex <= index; cursorIndex += 1) {
177
+ const candidate = requests[cursorIndex];
178
+ if (candidate &&
179
+ typeof candidate === 'object' &&
180
+ this.getNetworkRequestMarker(candidate) === marker) {
181
+ occurrence += 1;
182
+ }
183
+ }
184
+ return occurrence > 0 ? { marker, occurrence } : null;
102
185
  }
103
186
  refreshBaseUrl() {
104
187
  const nextPort = this.readBridgePortFn() ?? DEFAULT_BRIDGE_PORT;
@@ -706,7 +789,9 @@ export class LocalAdapter {
706
789
  tabId = getLocalSessionContext()?.tabId;
707
790
  }
708
791
  catch { /* mixed session state — treat as no tab */ }
709
- if (tabId) {
792
+ const cliSessionId = tabId ? readCliSessionId(tabId) : undefined;
793
+ if (tabId && cliSessionId) {
794
+ await this.getNetworkRequests(cliSessionId, FINAL_NETWORK_FLUSH_TIMEOUT_MS, tabId).catch(() => { });
710
795
  closeCliSession(tabId, 'completed', this.fetchFn);
711
796
  }
712
797
  }
@@ -789,14 +874,22 @@ export class LocalAdapter {
789
874
  }
790
875
  // --- Fingerprint + obstacle helpers ─────────────────────────────────────
791
876
  /** Evaluate function suitable for captureFingerprint / classifyElementFailure. */
792
- evaluateForFingerprint = (script) => this.evaluate(script).then((r) => unwrapEvaluatePayload(r.data));
877
+ evaluateForFingerprint = async (script) => {
878
+ const tabId = await this.getActiveTabId();
879
+ const response = await this.request(`/sessions/${tabId}/evaluate`, {
880
+ method: 'POST',
881
+ body: JSON.stringify({ script, args: [], timeout: FINGERPRINT_EVALUATE_TIMEOUT_MS }),
882
+ timeoutMs: FINGERPRINT_EVALUATE_TIMEOUT_MS + 1500,
883
+ });
884
+ return unwrapEvaluatePayload(response.data);
885
+ };
793
886
  /** Capture fingerprint with a 3s timeout to avoid blocking the primary action. */
794
- async tryCaptureFP() {
887
+ async tryCaptureFP(targetSelector) {
795
888
  let timerId;
796
889
  try {
797
890
  const timeoutPromise = new Promise(r => { timerId = setTimeout(() => r(null), 3000); });
798
891
  return await Promise.race([
799
- captureFingerprint(this.evaluateForFingerprint),
892
+ captureFingerprint(this.evaluateForFingerprint, targetSelector),
800
893
  timeoutPromise,
801
894
  ]);
802
895
  }
@@ -832,7 +925,7 @@ export class LocalAdapter {
832
925
  async click(selector, options = {}) {
833
926
  const tabId = await this.getActiveTabId();
834
927
  // Capture pre-action fingerprint (best-effort)
835
- const pre = await this.tryCaptureFP();
928
+ const pre = await this.tryCaptureFP(selector);
836
929
  let response;
837
930
  try {
838
931
  response = await this.request(`/sessions/${tabId}/click`, {
@@ -861,7 +954,7 @@ export class LocalAdapter {
861
954
  try {
862
955
  if (POST_ACTION_SETTLE_MS > 0)
863
956
  await new Promise(resolve => setTimeout(resolve, POST_ACTION_SETTLE_MS));
864
- const post = await this.tryCaptureFP();
957
+ const post = await this.tryCaptureFP(selector);
865
958
  if (!post)
866
959
  throw new Error('post fingerprint unavailable');
867
960
  const comparison = compareFingerprints(pre, post);
@@ -877,9 +970,27 @@ export class LocalAdapter {
877
970
  this.syncAction(tabId, 'click', { selector });
878
971
  return { success: response.success };
879
972
  }
973
+ async clickAt(x, y, options = {}) {
974
+ const tabId = await this.getActiveTabId();
975
+ // Coordinate clicks are an escape hatch when semantic targeting has already
976
+ // failed, so there is no stable selector to fingerprint pre/post here.
977
+ const response = await this.request(`/sessions/${tabId}/click-at`, {
978
+ method: 'POST',
979
+ body: JSON.stringify({
980
+ x,
981
+ y,
982
+ button: options.button ?? 'left',
983
+ delay: options.delay,
984
+ timeout: options.timeout ?? 15000,
985
+ }),
986
+ });
987
+ if (response.success)
988
+ this.syncAction(tabId, 'click_at', { x, y, coordinateSpace: 'viewport' });
989
+ return { success: response.success, data: response.data };
990
+ }
880
991
  async type(selector, text, options = {}) {
881
992
  const tabId = await this.getActiveTabId();
882
- const pre = await this.tryCaptureFP();
993
+ const pre = await this.tryCaptureFP(selector);
883
994
  let response;
884
995
  try {
885
996
  response = await this.request(`/sessions/${tabId}/type`, {
@@ -900,7 +1011,7 @@ export class LocalAdapter {
900
1011
  try {
901
1012
  if (POST_ACTION_SETTLE_MS > 0)
902
1013
  await new Promise(resolve => setTimeout(resolve, POST_ACTION_SETTLE_MS));
903
- const post = await this.tryCaptureFP();
1014
+ const post = await this.tryCaptureFP(selector);
904
1015
  if (!post)
905
1016
  throw new Error('post fingerprint unavailable');
906
1017
  const comparison = compareFingerprints(pre, post);
@@ -918,7 +1029,7 @@ export class LocalAdapter {
918
1029
  }
919
1030
  async fill(selector, value) {
920
1031
  const tabId = await this.getActiveTabId();
921
- const pre = await this.tryCaptureFP();
1032
+ const pre = await this.tryCaptureFP(selector);
922
1033
  let response;
923
1034
  try {
924
1035
  response = await this.request(`/sessions/${tabId}/fill`, {
@@ -939,7 +1050,7 @@ export class LocalAdapter {
939
1050
  try {
940
1051
  if (POST_ACTION_SETTLE_MS > 0)
941
1052
  await new Promise(resolve => setTimeout(resolve, POST_ACTION_SETTLE_MS));
942
- const post = await this.tryCaptureFP();
1053
+ const post = await this.tryCaptureFP(selector);
943
1054
  if (!post)
944
1055
  throw new Error('post fingerprint unavailable');
945
1056
  const comparison = compareFingerprints(pre, post);
@@ -1018,8 +1129,7 @@ export class LocalAdapter {
1018
1129
  }
1019
1130
  async select(selector, value) {
1020
1131
  const tabId = await this.getActiveTabId();
1021
- // Capture pre-action fingerprint (best-effort)
1022
- const pre = await this.tryCaptureFP();
1132
+ const pre = await this.tryCaptureFP(selector);
1023
1133
  let response;
1024
1134
  try {
1025
1135
  response = await this.request(`/sessions/${tabId}/select`, {
@@ -1037,12 +1147,29 @@ export class LocalAdapter {
1037
1147
  const blocked = classifyFromBridgeResult(response.data);
1038
1148
  if (blocked)
1039
1149
  return { success: false, data: blocked };
1040
- // State fingerprint comparison (best-effort; skip if capture returned empty)
1041
- if (pre && LocalAdapter.isFingerprintValid(pre)) {
1150
+ const selectData = response.data && typeof response.data === 'object'
1151
+ ? response.data
1152
+ : null;
1153
+ if (response.success &&
1154
+ selectData?.controlType === 'native_select' &&
1155
+ selectData.stateChanged === false &&
1156
+ selectData.alreadySelected !== true) {
1157
+ const noOp = createBlockedOutcome('no_op_click', { handoffRequired: false, target: selector });
1158
+ noOp.message = 'select did not change page state. The element may be unresponsive.';
1159
+ return { success: false, data: noOp };
1160
+ }
1161
+ if (response.success &&
1162
+ pre &&
1163
+ LocalAdapter.isFingerprintValid(pre) &&
1164
+ (!selectData
1165
+ || !('stateChanged' in selectData)
1166
+ || (selectData.controlType === 'custom_popup'
1167
+ && selectData.stateChanged === false
1168
+ && selectData.alreadySelected !== true))) {
1042
1169
  try {
1043
1170
  if (POST_ACTION_SETTLE_MS > 0)
1044
1171
  await new Promise(resolve => setTimeout(resolve, POST_ACTION_SETTLE_MS));
1045
- const post = await this.tryCaptureFP();
1172
+ const post = await this.tryCaptureFP(selector);
1046
1173
  if (!post)
1047
1174
  throw new Error('post fingerprint unavailable');
1048
1175
  const comparison = compareFingerprints(pre, post);
@@ -1144,7 +1271,7 @@ export class LocalAdapter {
1144
1271
  // the sessionId — the server allows authenticated uploads without a session doc.
1145
1272
  const apiKey = config.get('apiKey');
1146
1273
  if (apiKey) {
1147
- const rawApiUrl = config.get('apiUrl') || 'https://api.thinkbrowse.io';
1274
+ const rawApiUrl = config.get('apiUrl') || 'https://api.thinkrun.ai';
1148
1275
  try {
1149
1276
  let apiBase;
1150
1277
  try {
@@ -1209,7 +1336,7 @@ export class LocalAdapter {
1209
1336
  timeoutMs: Math.min(timeoutMs + 15_000, 615_000),
1210
1337
  });
1211
1338
  if (response.success)
1212
- this.syncAction(tabId, 'evaluate', {});
1339
+ this.syncAction(tabId, 'evaluate', {}, { result: response.data });
1213
1340
  return { success: response.success, data: response.data };
1214
1341
  }
1215
1342
  async getUrl() {
@@ -1254,10 +1381,46 @@ export class LocalAdapter {
1254
1381
  count: Array.isArray(logs) ? logs.length : 0,
1255
1382
  };
1256
1383
  }
1257
- async getNetworkRequests() {
1258
- const tabId = await this.getActiveTabId();
1384
+ async getNetworkRequests(sessionIdOverride, syncTimeoutMs, tabIdOverride) {
1385
+ const tabId = tabIdOverride ?? await this.getActiveTabId();
1259
1386
  const result = await this.request(`/sessions/${tabId}/network`);
1260
1387
  const requests = result.data?.requests ?? result.data ?? [];
1388
+ if (result.success && Array.isArray(requests) && requests.length > 0) {
1389
+ const syncKey = this.getNetworkRequestSyncKey(tabId, sessionIdOverride);
1390
+ const explicitSessionId = sessionIdOverride ?? readCliSessionId(tabId);
1391
+ const persistedCursor = tabId && explicitSessionId
1392
+ ? readCliNetworkCursor(tabId, explicitSessionId)
1393
+ : undefined;
1394
+ const previousCursor = syncKey
1395
+ ? this.syncedNetworkRequestMarkers.get(syncKey) ?? persistedCursor
1396
+ : undefined;
1397
+ const previousMarkerIndex = previousCursor
1398
+ ? this.findNetworkRequestMarkerIndex(requests, previousCursor)
1399
+ : -1;
1400
+ const syncStartIndex = previousMarkerIndex >= 0 ? previousMarkerIndex + 1 : 0;
1401
+ const unsyncedRequests = requests.slice(syncStartIndex);
1402
+ let deliveredRequestCount = 0;
1403
+ for (let index = 0; index < unsyncedRequests.length; index += MAX_NETWORK_REQUESTS_PER_SYNC) {
1404
+ const chunk = unsyncedRequests.slice(index, index + MAX_NETWORK_REQUESTS_PER_SYNC);
1405
+ const chunkTimestamp = this.getNetworkRequestTimestamp(chunk[chunk.length - 1]);
1406
+ const delivered = await this.syncAction(tabId, 'network', { count: requests.length, deltaCount: chunk.length }, {
1407
+ timestamp: chunkTimestamp,
1408
+ networkRequests: chunk,
1409
+ }, sessionIdOverride, syncTimeoutMs);
1410
+ if (!delivered)
1411
+ break;
1412
+ deliveredRequestCount += chunk.length;
1413
+ }
1414
+ if (syncKey && deliveredRequestCount > 0) {
1415
+ const deliveredCursor = this.buildNetworkRequestSyncCursor(requests, syncStartIndex + deliveredRequestCount - 1);
1416
+ if (deliveredCursor) {
1417
+ this.syncedNetworkRequestMarkers.set(syncKey, deliveredCursor);
1418
+ if (explicitSessionId) {
1419
+ writeCliNetworkCursor(tabId, explicitSessionId, deliveredCursor);
1420
+ }
1421
+ }
1422
+ }
1423
+ }
1261
1424
  return {
1262
1425
  success: result.success,
1263
1426
  requests: Array.isArray(requests) ? requests : [],
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/adapters/local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/adapters/local.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Browser adapter interface
3
3
  * Defines the contract for all browser backends (cloud, local, extension)
4
4
  */
5
- import type { Session, SessionOptions, ActionResult, NavigateOptions, ClickOptions, TypeOptions, ScreenshotOptions, ExtractOptions, WaitOptions, DialogResult, ConsoleResult, NetworkResult } from '../types.js';
5
+ import type { Session, SessionOptions, ActionResult, NavigateOptions, ClickOptions, ClickAtOptions, TypeOptions, ScreenshotOptions, ExtractOptions, WaitOptions, DialogResult, ConsoleResult, NetworkResult } from '../types.js';
6
6
  export interface BrowserAdapter {
7
7
  startSession(options?: SessionOptions): Promise<Session>;
8
8
  stopSession(sessionId?: string): Promise<void>;
@@ -13,6 +13,7 @@ export interface BrowserAdapter {
13
13
  goBack(): Promise<ActionResult>;
14
14
  goForward(): Promise<ActionResult>;
15
15
  click(selector: string, options?: ClickOptions): Promise<ActionResult>;
16
+ clickAt(x: number, y: number, options?: ClickAtOptions): Promise<ActionResult>;
16
17
  type(selector: string, text: string, options?: TypeOptions): Promise<ActionResult>;
17
18
  fill(selector: string, value: string): Promise<ActionResult>;
18
19
  press(key: string): Promise<ActionResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/types.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { Command } from 'commander';
7
7
  import type { BrowserAdapter } from '../adapters/types.js';
8
8
  export declare function createNavigateCommand(): Command;
9
9
  export declare function createClickCommand(): Command;
10
+ export declare function createClickAtCommand(): Command;
10
11
  export declare function createTypeCommand(): Command;
11
12
  export declare function createFillCommand(): Command;
12
13
  export declare function createScrollCommand(): Command;