@midscene/visualizer 1.5.1-beta-20260302102736.0 → 1.5.1

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.
@@ -2,10 +2,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Checkbox, Dropdown, Radio } from "antd";
3
3
  import setting from "../../icons/setting.mjs";
4
4
  import { useEnvConfig } from "../../store/store.mjs";
5
- import { alwaysRefreshScreenInfoTip, autoDismissKeyboardTip, deepThinkTip, domIncludedTip, imeStrategyTip, keyboardDismissStrategyTip, screenshotIncludedTip, trackingTip } from "../../utils/constants.mjs";
6
- const ConfigSelector = ({ showDeepThinkOption = false, enableTracking = false, showDataExtractionOptions = false, hideDomAndScreenshotOptions = false, deviceType })=>{
5
+ import { alwaysRefreshScreenInfoTip, autoDismissKeyboardTip, deepLocateTip, deepThinkTip, domIncludedTip, imeStrategyTip, keyboardDismissStrategyTip, screenshotIncludedTip, trackingTip } from "../../utils/constants.mjs";
6
+ const ConfigSelector = ({ showDeepLocateOption = false, showDeepThinkOption = false, enableTracking = false, showDataExtractionOptions = false, hideDomAndScreenshotOptions = false, deviceType })=>{
7
7
  const forceSameTabNavigation = useEnvConfig((state)=>state.forceSameTabNavigation);
8
8
  const setForceSameTabNavigation = useEnvConfig((state)=>state.setForceSameTabNavigation);
9
+ const deepLocate = useEnvConfig((state)=>state.deepLocate);
10
+ const setDeepLocate = useEnvConfig((state)=>state.setDeepLocate);
9
11
  const deepThink = useEnvConfig((state)=>state.deepThink);
10
12
  const setDeepThink = useEnvConfig((state)=>state.setDeepThink);
11
13
  const screenshotIncluded = useEnvConfig((state)=>state.screenshotIncluded);
@@ -21,7 +23,7 @@ const ConfigSelector = ({ showDeepThinkOption = false, enableTracking = false, s
21
23
  const alwaysRefreshScreenInfo = useEnvConfig((state)=>state.alwaysRefreshScreenInfo);
22
24
  const setAlwaysRefreshScreenInfo = useEnvConfig((state)=>state.setAlwaysRefreshScreenInfo);
23
25
  const hasDeviceOptions = 'android' === deviceType || 'ios' === deviceType;
24
- if (!enableTracking && !showDeepThinkOption && !showDataExtractionOptions && !hasDeviceOptions) return null;
26
+ if (!enableTracking && !showDeepLocateOption && !showDeepThinkOption && !showDataExtractionOptions && !hasDeviceOptions) return null;
25
27
  const configItems = buildConfigItems();
26
28
  return /*#__PURE__*/ jsx("div", {
27
29
  className: "selector-trigger",
@@ -48,6 +50,16 @@ const ConfigSelector = ({ showDeepThinkOption = false, enableTracking = false, s
48
50
  }),
49
51
  key: 'track-config'
50
52
  });
53
+ if (showDeepLocateOption) items.push({
54
+ label: /*#__PURE__*/ jsx(Checkbox, {
55
+ onChange: (e)=>{
56
+ setDeepLocate(e.target.checked);
57
+ },
58
+ checked: deepLocate,
59
+ children: deepLocateTip
60
+ }),
61
+ key: 'deep-locate-config'
62
+ });
51
63
  if (showDeepThinkOption) items.push({
52
64
  label: /*#__PURE__*/ jsx(Checkbox, {
53
65
  onChange: (e)=>{
@@ -102,9 +102,8 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
102
102
  }, [
103
103
  selectedType
104
104
  ]);
105
- const showDeepThinkOption = useMemo(()=>{
106
- if ('aiAct' === selectedType) return true;
107
- if ('aiLocate' === selectedType) return true;
105
+ const showDeepLocateOption = useMemo(()=>{
106
+ if ('aiAct' === selectedType || 'aiLocate' === selectedType) return true;
108
107
  if (actionSpace) {
109
108
  const action = actionSpace.find((a)=>a.interfaceAlias === selectedType || a.name === selectedType);
110
109
  if ((null == action ? void 0 : action.paramSchema) && isZodObjectSchema(action.paramSchema)) {
@@ -123,14 +122,19 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
123
122
  selectedType,
124
123
  actionSpace
125
124
  ]);
125
+ const showDeepThinkOption = useMemo(()=>'aiAct' === selectedType, [
126
+ selectedType
127
+ ]);
126
128
  const hasConfigOptions = useMemo(()=>{
127
129
  const hasTracking = 'In-Browser-Extension' === serviceMode;
130
+ const hasDeepLocate = showDeepLocateOption;
128
131
  const hasDeepThink = showDeepThinkOption;
129
132
  const hasDataExtraction = showDataExtractionOptions && !hideDomAndScreenshotOptions;
130
133
  const hasDeviceOptions = 'android' === deviceType || 'ios' === deviceType;
131
- return hasTracking || hasDeepThink || hasDataExtraction || hasDeviceOptions;
134
+ return hasTracking || hasDeepLocate || hasDeepThink || hasDataExtraction || hasDeviceOptions;
132
135
  }, [
133
136
  serviceMode,
137
+ showDeepLocateOption,
134
138
  showDeepThinkOption,
135
139
  showDataExtractionOptions,
136
140
  hideDomAndScreenshotOptions,
@@ -686,6 +690,7 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
686
690
  onMouseLeave: handleMouseLeave,
687
691
  children: /*#__PURE__*/ jsx(ConfigSelector, {
688
692
  enableTracking: 'In-Browser-Extension' === serviceMode,
693
+ showDeepLocateOption: showDeepLocateOption,
689
694
  showDeepThinkOption: showDeepThinkOption,
690
695
  showDataExtractionOptions: showDataExtractionOptions,
691
696
  hideDomAndScreenshotOptions: hideDomAndScreenshotOptions,
@@ -110,7 +110,7 @@ function wrapExecutionDumpForReplay(dump) {
110
110
  };
111
111
  }
112
112
  function usePlaygroundExecution(playgroundSDK, storage, actionSpace, loading, setLoading, setInfoList, replayCounter, setReplayCounter, verticalMode, currentRunningIdRef, interruptedFlagRef) {
113
- const { deepThink, screenshotIncluded, domIncluded } = useEnvConfig();
113
+ const { deepLocate, deepThink, screenshotIncluded, domIncluded } = useEnvConfig();
114
114
  const handleRun = useCallback((value)=>_async_to_generator(function*() {
115
115
  if (!playgroundSDK) return void console.warn('PlaygroundSDK is not available');
116
116
  const thisRunningId = Date.now();
@@ -170,12 +170,20 @@ function usePlaygroundExecution(playgroundSDK, storage, actionSpace, loading, se
170
170
  ];
171
171
  });
172
172
  });
173
- result.result = yield playgroundSDK.executeAction(actionType, value, {
173
+ if ('aiAct' !== actionType && deepThink) console.warn('[Playground] Non-aiAct action will be executed without deepThink. deepThink is only forwarded for aiAct.', {
174
+ actionType,
175
+ requestId: thisRunningId.toString()
176
+ });
177
+ const executionOptions = _object_spread_props(_object_spread({
174
178
  requestId: thisRunningId.toString(),
175
- deepThink,
179
+ deepLocate
180
+ }, 'aiAct' === actionType ? {
181
+ deepThink
182
+ } : {}), {
176
183
  screenshotIncluded,
177
184
  domIncluded
178
185
  });
186
+ result.result = yield playgroundSDK.executeAction(actionType, value, executionOptions);
179
187
  if ('object' == typeof result.result && null !== result.result) {
180
188
  const resultObj = result.result;
181
189
  if (resultObj.dump) result.dump = resultObj.dump;
@@ -253,6 +261,7 @@ function usePlaygroundExecution(playgroundSDK, storage, actionSpace, loading, se
253
261
  verticalMode,
254
262
  currentRunningIdRef,
255
263
  interruptedFlagRef,
264
+ deepLocate,
256
265
  deepThink,
257
266
  screenshotIncluded,
258
267
  domIncluded
@@ -120,6 +120,7 @@ const useGlobalPreference = store_create((set)=>{
120
120
  const CONFIG_KEY = 'midscene-env-config';
121
121
  const SERVICE_MODE_KEY = 'midscene-service-mode';
122
122
  const TRACKING_ACTIVE_TAB_KEY = 'midscene-tracking-active-tab';
123
+ const DEEP_LOCATE_KEY = 'midscene-deep-locate';
123
124
  const DEEP_THINK_KEY = 'midscene-deep-think';
124
125
  const SCREENSHOT_INCLUDED_KEY = 'midscene-screenshot-included';
125
126
  const DOM_INCLUDED_KEY = 'midscene-dom-included';
@@ -154,6 +155,7 @@ const useEnvConfig = store_create((set, get)=>{
154
155
  const ifInExtension = window.location.href.startsWith('chrome-extension');
155
156
  const savedServiceMode = localStorage.getItem(SERVICE_MODE_KEY);
156
157
  const savedForceSameTabNavigation = 'false' !== localStorage.getItem(TRACKING_ACTIVE_TAB_KEY);
158
+ const savedDeepLocate = 'true' === localStorage.getItem(DEEP_LOCATE_KEY);
157
159
  const savedDeepThink = 'true' === localStorage.getItem(DEEP_THINK_KEY);
158
160
  const savedScreenshotIncluded = 'false' !== localStorage.getItem(SCREENSHOT_INCLUDED_KEY);
159
161
  const savedDomIncluded = localStorage.getItem(DOM_INCLUDED_KEY) || 'false';
@@ -198,6 +200,13 @@ const useEnvConfig = store_create((set, get)=>{
198
200
  });
199
201
  localStorage.setItem(TRACKING_ACTIVE_TAB_KEY, forceSameTabNavigation.toString());
200
202
  },
203
+ deepLocate: savedDeepLocate,
204
+ setDeepLocate: (deepLocate)=>{
205
+ set({
206
+ deepLocate
207
+ });
208
+ localStorage.setItem(DEEP_LOCATE_KEY, deepLocate.toString());
209
+ },
201
210
  deepThink: savedDeepThink,
202
211
  setDeepThink: (deepThink)=>{
203
212
  set({
@@ -1,4 +1,5 @@
1
1
  const trackingTip = 'Limit popup to current tab';
2
+ const deepLocateTip = 'Deep Locate';
2
3
  const deepThinkTip = 'Deep Think';
3
4
  const screenshotIncludedTip = 'Include screenshot in request';
4
5
  const domIncludedTip = 'Include DOM info in request';
@@ -101,4 +102,4 @@ const BLANK_RESULT = {
101
102
  reportHTML: null,
102
103
  error: null
103
104
  };
104
- export { BLANK_RESULT, WELCOME_MESSAGE_TEMPLATE, alwaysRefreshScreenInfoTip, apiMetadata, autoDismissKeyboardTip, deepThinkTip, defaultMainButtons, domIncludedTip, getWelcomeMessageTemplate, imeStrategyTip, keyboardDismissStrategyTip, screenshotIncludedTip, trackingTip };
105
+ export { BLANK_RESULT, WELCOME_MESSAGE_TEMPLATE, alwaysRefreshScreenInfoTip, apiMetadata, autoDismissKeyboardTip, deepLocateTip, deepThinkTip, defaultMainButtons, domIncludedTip, getWelcomeMessageTemplate, imeStrategyTip, keyboardDismissStrategyTip, screenshotIncludedTip, trackingTip };
@@ -41,9 +41,11 @@ const setting_js_namespaceObject = require("../../icons/setting.js");
41
41
  var setting_js_default = /*#__PURE__*/ __webpack_require__.n(setting_js_namespaceObject);
42
42
  const store_js_namespaceObject = require("../../store/store.js");
43
43
  const constants_js_namespaceObject = require("../../utils/constants.js");
44
- const ConfigSelector = ({ showDeepThinkOption = false, enableTracking = false, showDataExtractionOptions = false, hideDomAndScreenshotOptions = false, deviceType })=>{
44
+ const ConfigSelector = ({ showDeepLocateOption = false, showDeepThinkOption = false, enableTracking = false, showDataExtractionOptions = false, hideDomAndScreenshotOptions = false, deviceType })=>{
45
45
  const forceSameTabNavigation = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.forceSameTabNavigation);
46
46
  const setForceSameTabNavigation = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.setForceSameTabNavigation);
47
+ const deepLocate = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.deepLocate);
48
+ const setDeepLocate = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.setDeepLocate);
47
49
  const deepThink = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.deepThink);
48
50
  const setDeepThink = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.setDeepThink);
49
51
  const screenshotIncluded = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.screenshotIncluded);
@@ -59,7 +61,7 @@ const ConfigSelector = ({ showDeepThinkOption = false, enableTracking = false, s
59
61
  const alwaysRefreshScreenInfo = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.alwaysRefreshScreenInfo);
60
62
  const setAlwaysRefreshScreenInfo = (0, store_js_namespaceObject.useEnvConfig)((state)=>state.setAlwaysRefreshScreenInfo);
61
63
  const hasDeviceOptions = 'android' === deviceType || 'ios' === deviceType;
62
- if (!enableTracking && !showDeepThinkOption && !showDataExtractionOptions && !hasDeviceOptions) return null;
64
+ if (!enableTracking && !showDeepLocateOption && !showDeepThinkOption && !showDataExtractionOptions && !hasDeviceOptions) return null;
63
65
  const configItems = buildConfigItems();
64
66
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
65
67
  className: "selector-trigger",
@@ -86,6 +88,16 @@ const ConfigSelector = ({ showDeepThinkOption = false, enableTracking = false, s
86
88
  }),
87
89
  key: 'track-config'
88
90
  });
91
+ if (showDeepLocateOption) items.push({
92
+ label: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_antd_namespaceObject.Checkbox, {
93
+ onChange: (e)=>{
94
+ setDeepLocate(e.target.checked);
95
+ },
96
+ checked: deepLocate,
97
+ children: constants_js_namespaceObject.deepLocateTip
98
+ }),
99
+ key: 'deep-locate-config'
100
+ });
89
101
  if (showDeepThinkOption) items.push({
90
102
  label: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_antd_namespaceObject.Checkbox, {
91
103
  onChange: (e)=>{
@@ -140,9 +140,8 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
140
140
  }, [
141
141
  selectedType
142
142
  ]);
143
- const showDeepThinkOption = (0, external_react_namespaceObject.useMemo)(()=>{
144
- if ('aiAct' === selectedType) return true;
145
- if ('aiLocate' === selectedType) return true;
143
+ const showDeepLocateOption = (0, external_react_namespaceObject.useMemo)(()=>{
144
+ if ('aiAct' === selectedType || 'aiLocate' === selectedType) return true;
146
145
  if (actionSpace) {
147
146
  const action = actionSpace.find((a)=>a.interfaceAlias === selectedType || a.name === selectedType);
148
147
  if ((null == action ? void 0 : action.paramSchema) && (0, external_types_js_namespaceObject.isZodObjectSchema)(action.paramSchema)) {
@@ -161,14 +160,19 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
161
160
  selectedType,
162
161
  actionSpace
163
162
  ]);
163
+ const showDeepThinkOption = (0, external_react_namespaceObject.useMemo)(()=>'aiAct' === selectedType, [
164
+ selectedType
165
+ ]);
164
166
  const hasConfigOptions = (0, external_react_namespaceObject.useMemo)(()=>{
165
167
  const hasTracking = 'In-Browser-Extension' === serviceMode;
168
+ const hasDeepLocate = showDeepLocateOption;
166
169
  const hasDeepThink = showDeepThinkOption;
167
170
  const hasDataExtraction = showDataExtractionOptions && !hideDomAndScreenshotOptions;
168
171
  const hasDeviceOptions = 'android' === deviceType || 'ios' === deviceType;
169
- return hasTracking || hasDeepThink || hasDataExtraction || hasDeviceOptions;
172
+ return hasTracking || hasDeepLocate || hasDeepThink || hasDataExtraction || hasDeviceOptions;
170
173
  }, [
171
174
  serviceMode,
175
+ showDeepLocateOption,
172
176
  showDeepThinkOption,
173
177
  showDataExtractionOptions,
174
178
  hideDomAndScreenshotOptions,
@@ -724,6 +728,7 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
724
728
  onMouseLeave: handleMouseLeave,
725
729
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.ConfigSelector, {
726
730
  enableTracking: 'In-Browser-Extension' === serviceMode,
731
+ showDeepLocateOption: showDeepLocateOption,
727
732
  showDeepThinkOption: showDeepThinkOption,
728
733
  showDataExtractionOptions: showDataExtractionOptions,
729
734
  hideDomAndScreenshotOptions: hideDomAndScreenshotOptions,
@@ -138,7 +138,7 @@ function wrapExecutionDumpForReplay(dump) {
138
138
  };
139
139
  }
140
140
  function usePlaygroundExecution(playgroundSDK, storage, actionSpace, loading, setLoading, setInfoList, replayCounter, setReplayCounter, verticalMode, currentRunningIdRef, interruptedFlagRef) {
141
- const { deepThink, screenshotIncluded, domIncluded } = (0, store_js_namespaceObject.useEnvConfig)();
141
+ const { deepLocate, deepThink, screenshotIncluded, domIncluded } = (0, store_js_namespaceObject.useEnvConfig)();
142
142
  const handleRun = (0, external_react_namespaceObject.useCallback)((value)=>_async_to_generator(function*() {
143
143
  if (!playgroundSDK) return void console.warn('PlaygroundSDK is not available');
144
144
  const thisRunningId = Date.now();
@@ -198,12 +198,20 @@ function usePlaygroundExecution(playgroundSDK, storage, actionSpace, loading, se
198
198
  ];
199
199
  });
200
200
  });
201
- result.result = yield playgroundSDK.executeAction(actionType, value, {
201
+ if ('aiAct' !== actionType && deepThink) console.warn('[Playground] Non-aiAct action will be executed without deepThink. deepThink is only forwarded for aiAct.', {
202
+ actionType,
203
+ requestId: thisRunningId.toString()
204
+ });
205
+ const executionOptions = _object_spread_props(_object_spread({
202
206
  requestId: thisRunningId.toString(),
203
- deepThink,
207
+ deepLocate
208
+ }, 'aiAct' === actionType ? {
209
+ deepThink
210
+ } : {}), {
204
211
  screenshotIncluded,
205
212
  domIncluded
206
213
  });
214
+ result.result = yield playgroundSDK.executeAction(actionType, value, executionOptions);
207
215
  if ('object' == typeof result.result && null !== result.result) {
208
216
  const resultObj = result.result;
209
217
  if (resultObj.dump) result.dump = resultObj.dump;
@@ -281,6 +289,7 @@ function usePlaygroundExecution(playgroundSDK, storage, actionSpace, loading, se
281
289
  verticalMode,
282
290
  currentRunningIdRef,
283
291
  interruptedFlagRef,
292
+ deepLocate,
284
293
  deepThink,
285
294
  screenshotIncluded,
286
295
  domIncluded
@@ -122,6 +122,7 @@ const useGlobalPreference = create((set)=>{
122
122
  const CONFIG_KEY = 'midscene-env-config';
123
123
  const SERVICE_MODE_KEY = 'midscene-service-mode';
124
124
  const TRACKING_ACTIVE_TAB_KEY = 'midscene-tracking-active-tab';
125
+ const DEEP_LOCATE_KEY = 'midscene-deep-locate';
125
126
  const DEEP_THINK_KEY = 'midscene-deep-think';
126
127
  const SCREENSHOT_INCLUDED_KEY = 'midscene-screenshot-included';
127
128
  const DOM_INCLUDED_KEY = 'midscene-dom-included';
@@ -156,6 +157,7 @@ const useEnvConfig = create((set, get)=>{
156
157
  const ifInExtension = window.location.href.startsWith('chrome-extension');
157
158
  const savedServiceMode = localStorage.getItem(SERVICE_MODE_KEY);
158
159
  const savedForceSameTabNavigation = 'false' !== localStorage.getItem(TRACKING_ACTIVE_TAB_KEY);
160
+ const savedDeepLocate = 'true' === localStorage.getItem(DEEP_LOCATE_KEY);
159
161
  const savedDeepThink = 'true' === localStorage.getItem(DEEP_THINK_KEY);
160
162
  const savedScreenshotIncluded = 'false' !== localStorage.getItem(SCREENSHOT_INCLUDED_KEY);
161
163
  const savedDomIncluded = localStorage.getItem(DOM_INCLUDED_KEY) || 'false';
@@ -200,6 +202,13 @@ const useEnvConfig = create((set, get)=>{
200
202
  });
201
203
  localStorage.setItem(TRACKING_ACTIVE_TAB_KEY, forceSameTabNavigation.toString());
202
204
  },
205
+ deepLocate: savedDeepLocate,
206
+ setDeepLocate: (deepLocate)=>{
207
+ set({
208
+ deepLocate
209
+ });
210
+ localStorage.setItem(DEEP_LOCATE_KEY, deepLocate.toString());
211
+ },
203
212
  deepThink: savedDeepThink,
204
213
  setDeepThink: (deepThink)=>{
205
214
  set({
@@ -29,6 +29,7 @@ __webpack_require__.d(__webpack_exports__, {
29
29
  alwaysRefreshScreenInfoTip: ()=>alwaysRefreshScreenInfoTip,
30
30
  apiMetadata: ()=>apiMetadata,
31
31
  autoDismissKeyboardTip: ()=>autoDismissKeyboardTip,
32
+ deepLocateTip: ()=>deepLocateTip,
32
33
  deepThinkTip: ()=>deepThinkTip,
33
34
  defaultMainButtons: ()=>defaultMainButtons,
34
35
  domIncludedTip: ()=>domIncludedTip,
@@ -39,6 +40,7 @@ __webpack_require__.d(__webpack_exports__, {
39
40
  trackingTip: ()=>trackingTip
40
41
  });
41
42
  const trackingTip = 'Limit popup to current tab';
43
+ const deepLocateTip = 'Deep Locate';
42
44
  const deepThinkTip = 'Deep Think';
43
45
  const screenshotIncludedTip = 'Include screenshot in request';
44
46
  const domIncludedTip = 'Include DOM info in request';
@@ -146,6 +148,7 @@ exports.WELCOME_MESSAGE_TEMPLATE = __webpack_exports__.WELCOME_MESSAGE_TEMPLATE;
146
148
  exports.alwaysRefreshScreenInfoTip = __webpack_exports__.alwaysRefreshScreenInfoTip;
147
149
  exports.apiMetadata = __webpack_exports__.apiMetadata;
148
150
  exports.autoDismissKeyboardTip = __webpack_exports__.autoDismissKeyboardTip;
151
+ exports.deepLocateTip = __webpack_exports__.deepLocateTip;
149
152
  exports.deepThinkTip = __webpack_exports__.deepThinkTip;
150
153
  exports.defaultMainButtons = __webpack_exports__.defaultMainButtons;
151
154
  exports.domIncludedTip = __webpack_exports__.domIncludedTip;
@@ -160,6 +163,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
160
163
  "alwaysRefreshScreenInfoTip",
161
164
  "apiMetadata",
162
165
  "autoDismissKeyboardTip",
166
+ "deepLocateTip",
163
167
  "deepThinkTip",
164
168
  "defaultMainButtons",
165
169
  "domIncludedTip",
@@ -1,6 +1,7 @@
1
1
  import type React from 'react';
2
2
  import type { DeviceType } from '../../types';
3
3
  interface ConfigSelectorProps {
4
+ showDeepLocateOption: boolean;
4
5
  showDeepThinkOption: boolean;
5
6
  enableTracking: boolean;
6
7
  showDataExtractionOptions: boolean;
@@ -34,6 +34,8 @@ export declare const useEnvConfig: Z.UseBoundStore<Z.StoreApi<{
34
34
  syncFromStorage: () => void;
35
35
  forceSameTabNavigation: boolean;
36
36
  setForceSameTabNavigation: (forceSameTabNavigation: boolean) => void;
37
+ deepLocate: boolean;
38
+ setDeepLocate: (deepLocate: boolean) => void;
37
39
  deepThink: boolean;
38
40
  setDeepThink: (deepThink: boolean) => void;
39
41
  screenshotIncluded: boolean;
@@ -1,5 +1,6 @@
1
1
  import type { InfoListItem, PlaygroundResult } from '../types';
2
2
  export declare const trackingTip = "Limit popup to current tab";
3
+ export declare const deepLocateTip = "Deep Locate";
3
4
  export declare const deepThinkTip = "Deep Think";
4
5
  export declare const screenshotIncludedTip = "Include screenshot in request";
5
6
  export declare const domIncludedTip = "Include DOM info in request";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midscene/visualizer",
3
- "version": "1.5.1-beta-20260302102736.0",
3
+ "version": "1.5.1",
4
4
  "repository": "https://github.com/web-infra-dev/midscene",
5
5
  "homepage": "https://midscenejs.com/",
6
6
  "types": "./dist/types/index.d.ts",
@@ -60,10 +60,10 @@
60
60
  "antd": "^5.21.6",
61
61
  "buffer": "6.0.3",
62
62
  "dayjs": "^1.11.11",
63
- "@midscene/core": "1.5.1-beta-20260302102736.0",
64
- "@midscene/shared": "1.5.1-beta-20260302102736.0",
65
- "@midscene/playground": "1.5.1-beta-20260302102736.0",
66
- "@midscene/web": "1.5.1-beta-20260302102736.0"
63
+ "@midscene/core": "1.5.1",
64
+ "@midscene/playground": "1.5.1",
65
+ "@midscene/shared": "1.5.1",
66
+ "@midscene/web": "1.5.1"
67
67
  },
68
68
  "license": "MIT",
69
69
  "scripts": {