@godscene/visualizer 1.7.19 → 1.7.21

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.
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { EnvConfig } from "../env-config/index.mjs";
3
3
  import "./style.css";
4
- function NavActions({ showEnvConfig = true, showTooltipWhenEmpty = false, showModelName = false, githubUrl = 'https://github.com/web-infra-dev/midscene', helpUrl = 'https://midscenejs.com/quick-experience.html', className = '', playgroundSDK }) {
4
+ function NavActions({ showEnvConfig = false, showTooltipWhenEmpty = false, showModelName = false, githubUrl = 'https://github.com/web-infra-dev/midscene', helpUrl = 'https://midscenejs.com/quick-experience.html', className = '', playgroundSDK }) {
5
5
  return /*#__PURE__*/ jsx("div", {
6
6
  className: `nav-actions ${className}`,
7
7
  children: showEnvConfig && /*#__PURE__*/ jsx(EnvConfig, {
@@ -46,7 +46,7 @@ const STUDIO_MINIMAL_PROMPT_ICONS = {
46
46
  actionChevron: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAUxJREFUeAHtUztOw0AQ3V1SuLCldP4VuEyHuQE34Aqho0tugHKCwBFyApwTYEoqyAlwCsufKkgu3NjmjfkoCDu7KSP5SaNZ774Zv9nZYWzAgH2MAdu2z4+J4apEy7I8uBDWlGV5uQNU4gRTBOd8CUfqPU3THlXjzlRIUH8HdwuLYB8wX9d1XhRFKIuVXpHjONd1XQdN0+yEED48h72iojGOr9I0fT4ULyTKPSR/aJVwPk+SZIuEET6n33uBrOmyHoTs694XSLz62cyybI3k96iEqgjodbFjAWVLVNDAnvo4dEYc4vZxOiswTXMGdXMsIyidsn7cwLbExU9mXQTeocqDe28POffo3tkBuK57UVXVG63RLz/P8w3rq2BvmH6byiSI43hD3DaZEP/68WcODMOg9z5BySs0dcEUgXl4wVzQ0h+NRhN8r9mAAaeDT7K0eaMcqhtVAAAAAElFTkSuQmCC',
47
47
  settings: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAaFJREFUeAHtlt9tgzAQxi8EJa/pBMkIHYENygalG7RvSQQKlfjz2I5ANkg3oBukG6QbtI9IIPq5ihHQOBXmFImqPwnZBvtsf9ydTfQPA77vz4IguCENDGJgOp3ux+PxLgxDnzrCsgAw/zZmGPOO48iUFci4wE42xITKXlEUO9d1X34s4NjZISZU9qCSjeKqastKWZYpMaKyNxqNto02MRDHcXmsJqvV6q7LWBYnxK4+SBOTeHDw2HAwn4aGlg9EUfQE2e+xYwchtaUeaPmAmFyUyH4W9aThA9jZ7alOiN39crl8O/FpoRpzjrq96hcgj2/wwVcNQlxb6/X6VdRrYaeNtGfUVvXbgE9iRNprOCHktPF/Z+3OeZ4fPM9LZbumgHjX2Qnr9rSioE/ma6MVBZDvWWQ/cbLR0GE5jEQoQhFLpGIkpvcuY1nOAkyeiBKJSRSXPw37UCkgbrWmaSZwsBkxoLInHBgJ6EG2KwUgn801+Tl78hyRVApkWfaIexxp4rRfqOzBUdN6+29cyYAMvQN1hCUMIbc1mUyu4VzDz4wX5wvRfah9kIOcwwAAAABJRU5ErkJggg=='
48
48
  };
49
- const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMode, stoppable, loading, onRun, onStop, clearPromptAfterRun = true, actionSpace, hideDomAndScreenshotOptions = false, deviceType, chrome })=>{
49
+ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMode, stoppable, loading, onRun, onStop, clearPromptAfterRun = true, actionSpace, hideDomAndScreenshotOptions = false, deviceType, chrome, showActionMenu = false })=>{
50
50
  var _ref, _ref1;
51
51
  var _chrome_icons, _chrome_icons1, _chrome_icons2, _chrome_icons3;
52
52
  const [hoveringSettings, setHoveringSettings] = useState(false);
@@ -455,10 +455,6 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
455
455
  if (clearPromptAfterRun) {
456
456
  lastHistoryRef.current = newHistoryItem;
457
457
  setPromptValue('');
458
- if (needsStructuredParams) {
459
- const defaultParams = getDefaultParams();
460
- form.setFieldValue('params', defaultParams);
461
- } else form.setFieldValue('prompt', '');
462
458
  }
463
459
  }, [
464
460
  form,
@@ -774,7 +770,7 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
774
770
  /*#__PURE__*/ jsxs("div", {
775
771
  className: "minimal-toolbar-left",
776
772
  children: [
777
- /*#__PURE__*/ jsx(Dropdown, {
773
+ showActionMenu && /*#__PURE__*/ jsx(Dropdown, {
778
774
  menu: actionDropdownMenu,
779
775
  placement: "topLeft",
780
776
  trigger: [
@@ -276,4 +276,16 @@ function createStorageProvider(type = "indexeddb", namespace = 'playground') {
276
276
  function detectBestStorageType() {
277
277
  return "memory";
278
278
  }
279
- export { MemoryStorageProvider as IndexedDBMemoryStorageProvider, NoOpStorageProvider as IndexedDBNoOpStorageProvider, IndexedDBStorageProvider, LocalStorageProvider, storage_provider_MemoryStorageProvider as MemoryStorageProvider, storage_provider_NoOpStorageProvider as NoOpStorageProvider, storage_provider_StorageType as StorageType, createStorageProvider, detectBestStorageType };
279
+ function detectBestStorageType_old() {
280
+ if ("u" > typeof indexedDB) try {
281
+ indexedDB.open('test', 1).onerror = ()=>{};
282
+ return "indexeddb";
283
+ } catch (unused) {}
284
+ if ("u" > typeof localStorage) try {
285
+ localStorage.setItem('test', 'test');
286
+ localStorage.removeItem('test');
287
+ return "localStorage";
288
+ } catch (unused) {}
289
+ return "memory";
290
+ }
291
+ export { MemoryStorageProvider as IndexedDBMemoryStorageProvider, NoOpStorageProvider as IndexedDBNoOpStorageProvider, IndexedDBStorageProvider, LocalStorageProvider, storage_provider_MemoryStorageProvider as MemoryStorageProvider, storage_provider_NoOpStorageProvider as NoOpStorageProvider, storage_provider_StorageType as StorageType, createStorageProvider, detectBestStorageType, detectBestStorageType_old };
@@ -3,7 +3,6 @@ import icons, { ArrowDownOutlined, ClearOutlined, LoadingOutlined, UpOutlined }
3
3
  import { Alert, Button, Form, List, Typography } from "antd";
4
4
  import { useCallback, useEffect, useMemo, useState } from "react";
5
5
  import { usePlaygroundState } from "../../hooks/usePlaygroundState.mjs";
6
- import { useEnvConfig } from "../../store/store.mjs";
7
6
  import { ContextPreview } from "../context-preview/index.mjs";
8
7
  import { EnvConfigReminder } from "../env-config-reminder/index.mjs";
9
8
  import { PlaygroundResultView } from "../playground-result/index.mjs";
@@ -106,7 +105,6 @@ function ErrorMessage({ error }) {
106
105
  function UniversalPlaygroundElectron({ storage, contextProvider, config: componentConfig = {}, branding = {}, className = '', dryMode = false, showContextPreview = true, showPromptInput = true, onHumanUse = ()=>{}, showHumanUse = false, defaultSelectedType }) {
107
106
  var _componentConfig_executionFlow, _executionFlowConfig_label;
108
107
  const [form] = Form.useForm();
109
- const { config } = useEnvConfig();
110
108
  const [sdkReady, setSdkReady] = useState(false);
111
109
  useEffect(()=>{
112
110
  form.setFieldsValue({
@@ -131,8 +129,7 @@ function UniversalPlaygroundElectron({ storage, contextProvider, config: compone
131
129
  const handleFormRun = useCallback(()=>_async_to_generator(function*() {})(), [
132
130
  form
133
131
  ]);
134
- Object.keys(config || {}).length;
135
- const selectedType = form.getFieldValue('type');
132
+ const selectedType = 'aiAct';
136
133
  const serviceMode = 'In-Browser-Extension';
137
134
  const finalShowContextPreview = showContextPreview && false !== componentConfig.showContextPreview;
138
135
  const layout = componentConfig.layout || 'vertical';
@@ -285,6 +285,7 @@ function usePlaygroundExecution(options) {
285
285
  })
286
286
  });
287
287
  }
288
+ if ('Error' === item.subType) return null;
288
289
  return _object_spread_props(_object_spread({}, item), {
289
290
  locateDescription: (null == (_tasks_ = tasks[index - 1]) ? void 0 : null == (_tasks__param = _tasks_.param) ? void 0 : _tasks__param.prompt) || ''
290
291
  });
@@ -253,6 +253,11 @@ function usePlaygroundState(playgroundSDK, storage, contextProvider, targetName)
253
253
  })(), [
254
254
  contextProvider
255
255
  ]);
256
+ useEffect(()=>{
257
+ clearInfoList();
258
+ }, [
259
+ clearInfoList
260
+ ]);
256
261
  return {
257
262
  loading,
258
263
  setLoading,
@@ -29,7 +29,7 @@ __webpack_require__.d(__webpack_exports__, {
29
29
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
30
  const index_js_namespaceObject = require("../env-config/index.js");
31
31
  require("./style.css");
32
- function NavActions({ showEnvConfig = true, showTooltipWhenEmpty = false, showModelName = false, githubUrl = 'https://github.com/web-infra-dev/midscene', helpUrl = 'https://midscenejs.com/quick-experience.html', className = '', playgroundSDK }) {
32
+ function NavActions({ showEnvConfig = false, showTooltipWhenEmpty = false, showModelName = false, githubUrl = 'https://github.com/web-infra-dev/midscene', helpUrl = 'https://midscenejs.com/quick-experience.html', className = '', playgroundSDK }) {
33
33
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
34
34
  className: `nav-actions ${className}`,
35
35
  children: showEnvConfig && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.EnvConfig, {
@@ -86,7 +86,7 @@ const STUDIO_MINIMAL_PROMPT_ICONS = {
86
86
  actionChevron: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAUxJREFUeAHtUztOw0AQ3V1SuLCldP4VuEyHuQE34Aqho0tugHKCwBFyApwTYEoqyAlwCsufKkgu3NjmjfkoCDu7KSP5SaNZ774Zv9nZYWzAgH2MAdu2z4+J4apEy7I8uBDWlGV5uQNU4gRTBOd8CUfqPU3THlXjzlRIUH8HdwuLYB8wX9d1XhRFKIuVXpHjONd1XQdN0+yEED48h72iojGOr9I0fT4ULyTKPSR/aJVwPk+SZIuEET6n33uBrOmyHoTs694XSLz62cyybI3k96iEqgjodbFjAWVLVNDAnvo4dEYc4vZxOiswTXMGdXMsIyidsn7cwLbExU9mXQTeocqDe28POffo3tkBuK57UVXVG63RLz/P8w3rq2BvmH6byiSI43hD3DaZEP/68WcODMOg9z5BySs0dcEUgXl4wVzQ0h+NRhN8r9mAAaeDT7K0eaMcqhtVAAAAAElFTkSuQmCC',
87
87
  settings: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAaFJREFUeAHtlt9tgzAQxi8EJa/pBMkIHYENygalG7RvSQQKlfjz2I5ANkg3oBukG6QbtI9IIPq5ihHQOBXmFImqPwnZBvtsf9ydTfQPA77vz4IguCENDGJgOp3ux+PxLgxDnzrCsgAw/zZmGPOO48iUFci4wE42xITKXlEUO9d1X34s4NjZISZU9qCSjeKqastKWZYpMaKyNxqNto02MRDHcXmsJqvV6q7LWBYnxK4+SBOTeHDw2HAwn4aGlg9EUfQE2e+xYwchtaUeaPmAmFyUyH4W9aThA9jZ7alOiN39crl8O/FpoRpzjrq96hcgj2/wwVcNQlxb6/X6VdRrYaeNtGfUVvXbgE9iRNprOCHktPF/Z+3OeZ4fPM9LZbumgHjX2Qnr9rSioE/ma6MVBZDvWWQ/cbLR0GE5jEQoQhFLpGIkpvcuY1nOAkyeiBKJSRSXPw37UCkgbrWmaSZwsBkxoLInHBgJ6EG2KwUgn801+Tl78hyRVApkWfaIexxp4rRfqOzBUdN6+29cyYAMvQN1hCUMIbc1mUyu4VzDz4wX5wvRfah9kIOcwwAAAABJRU5ErkJggg=='
88
88
  };
89
- const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMode, stoppable, loading, onRun, onStop, clearPromptAfterRun = true, actionSpace, hideDomAndScreenshotOptions = false, deviceType, chrome })=>{
89
+ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMode, stoppable, loading, onRun, onStop, clearPromptAfterRun = true, actionSpace, hideDomAndScreenshotOptions = false, deviceType, chrome, showActionMenu = false })=>{
90
90
  var _ref, _ref1;
91
91
  var _chrome_icons, _chrome_icons1, _chrome_icons2, _chrome_icons3;
92
92
  const [hoveringSettings, setHoveringSettings] = (0, external_react_namespaceObject.useState)(false);
@@ -495,10 +495,6 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
495
495
  if (clearPromptAfterRun) {
496
496
  lastHistoryRef.current = newHistoryItem;
497
497
  setPromptValue('');
498
- if (needsStructuredParams) {
499
- const defaultParams = getDefaultParams();
500
- form.setFieldValue('params', defaultParams);
501
- } else form.setFieldValue('prompt', '');
502
498
  }
503
499
  }, [
504
500
  form,
@@ -814,7 +810,7 @@ const PromptInput = ({ runButtonEnabled, form, serviceMode, selectedType, dryMod
814
810
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
815
811
  className: "minimal-toolbar-left",
816
812
  children: [
817
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_antd_namespaceObject.Dropdown, {
813
+ showActionMenu && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_antd_namespaceObject.Dropdown, {
818
814
  menu: actionDropdownMenu,
819
815
  placement: "topLeft",
820
816
  trigger: [
@@ -32,7 +32,8 @@ __webpack_require__.d(__webpack_exports__, {
32
32
  MemoryStorageProvider: ()=>MemoryStorageProvider,
33
33
  StorageType: ()=>storage_provider_StorageType,
34
34
  createStorageProvider: ()=>createStorageProvider,
35
- detectBestStorageType: ()=>detectBestStorageType
35
+ detectBestStorageType: ()=>detectBestStorageType,
36
+ detectBestStorageType_old: ()=>detectBestStorageType_old
36
37
  });
37
38
  const external_indexeddb_storage_provider_js_namespaceObject = require("./indexeddb-storage-provider.js");
38
39
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -312,6 +313,18 @@ function createStorageProvider(type = "indexeddb", namespace = 'playground') {
312
313
  function detectBestStorageType() {
313
314
  return "memory";
314
315
  }
316
+ function detectBestStorageType_old() {
317
+ if ("u" > typeof indexedDB) try {
318
+ indexedDB.open('test', 1).onerror = ()=>{};
319
+ return "indexeddb";
320
+ } catch (unused) {}
321
+ if ("u" > typeof localStorage) try {
322
+ localStorage.setItem('test', 'test');
323
+ localStorage.removeItem('test');
324
+ return "localStorage";
325
+ } catch (unused) {}
326
+ return "memory";
327
+ }
315
328
  exports.IndexedDBMemoryStorageProvider = __webpack_exports__.IndexedDBMemoryStorageProvider;
316
329
  exports.IndexedDBNoOpStorageProvider = __webpack_exports__.IndexedDBNoOpStorageProvider;
317
330
  exports.IndexedDBStorageProvider = __webpack_exports__.IndexedDBStorageProvider;
@@ -321,6 +334,7 @@ exports.NoOpStorageProvider = __webpack_exports__.NoOpStorageProvider;
321
334
  exports.StorageType = __webpack_exports__.StorageType;
322
335
  exports.createStorageProvider = __webpack_exports__.createStorageProvider;
323
336
  exports.detectBestStorageType = __webpack_exports__.detectBestStorageType;
337
+ exports.detectBestStorageType_old = __webpack_exports__.detectBestStorageType_old;
324
338
  for(var __rspack_i in __webpack_exports__)if (-1 === [
325
339
  "IndexedDBMemoryStorageProvider",
326
340
  "IndexedDBNoOpStorageProvider",
@@ -330,7 +344,8 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
330
344
  "NoOpStorageProvider",
331
345
  "StorageType",
332
346
  "createStorageProvider",
333
- "detectBestStorageType"
347
+ "detectBestStorageType",
348
+ "detectBestStorageType_old"
334
349
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
335
350
  Object.defineProperty(exports, '__esModule', {
336
351
  value: true
@@ -42,7 +42,6 @@ var icons_default = /*#__PURE__*/ __webpack_require__.n(icons_namespaceObject);
42
42
  const external_antd_namespaceObject = require("antd");
43
43
  const external_react_namespaceObject = require("react");
44
44
  const usePlaygroundState_js_namespaceObject = require("../../hooks/usePlaygroundState.js");
45
- const store_js_namespaceObject = require("../../store/store.js");
46
45
  const index_js_namespaceObject = require("../context-preview/index.js");
47
46
  const external_env_config_reminder_index_js_namespaceObject = require("../env-config-reminder/index.js");
48
47
  const external_playground_result_index_js_namespaceObject = require("../playground-result/index.js");
@@ -147,7 +146,6 @@ function ErrorMessage({ error }) {
147
146
  function UniversalPlaygroundElectron({ storage, contextProvider, config: componentConfig = {}, branding = {}, className = '', dryMode = false, showContextPreview = true, showPromptInput = true, onHumanUse = ()=>{}, showHumanUse = false, defaultSelectedType }) {
148
147
  var _componentConfig_executionFlow, _executionFlowConfig_label;
149
148
  const [form] = external_antd_namespaceObject.Form.useForm();
150
- const { config } = (0, store_js_namespaceObject.useEnvConfig)();
151
149
  const [sdkReady, setSdkReady] = (0, external_react_namespaceObject.useState)(false);
152
150
  (0, external_react_namespaceObject.useEffect)(()=>{
153
151
  form.setFieldsValue({
@@ -172,8 +170,7 @@ function UniversalPlaygroundElectron({ storage, contextProvider, config: compone
172
170
  const handleFormRun = (0, external_react_namespaceObject.useCallback)(()=>_async_to_generator(function*() {})(), [
173
171
  form
174
172
  ]);
175
- Object.keys(config || {}).length;
176
- const selectedType = form.getFieldValue('type');
173
+ const selectedType = 'aiAct';
177
174
  const serviceMode = 'In-Browser-Extension';
178
175
  const finalShowContextPreview = showContextPreview && false !== componentConfig.showContextPreview;
179
176
  const layout = componentConfig.layout || 'vertical';
@@ -316,6 +316,7 @@ function usePlaygroundExecution(options) {
316
316
  })
317
317
  });
318
318
  }
319
+ if ('Error' === item.subType) return null;
319
320
  return _object_spread_props(_object_spread({}, item), {
320
321
  locateDescription: (null == (_tasks_ = tasks[index - 1]) ? void 0 : null == (_tasks__param = _tasks_.param) ? void 0 : _tasks__param.prompt) || ''
321
322
  });
@@ -281,6 +281,11 @@ function usePlaygroundState(playgroundSDK, storage, contextProvider, targetName)
281
281
  })(), [
282
282
  contextProvider
283
283
  ]);
284
+ (0, external_react_namespaceObject.useEffect)(()=>{
285
+ clearInfoList();
286
+ }, [
287
+ clearInfoList
288
+ ]);
284
289
  return {
285
290
  loading,
286
291
  setLoading,
@@ -18,6 +18,7 @@ interface PromptInputProps {
18
18
  actionSpace: DeviceAction<any>[];
19
19
  deviceType?: DeviceType;
20
20
  chrome?: PromptInputChromeConfig;
21
+ showActionMenu?: boolean;
21
22
  }
22
23
  export declare const PromptInput: React.FC<PromptInputProps>;
23
24
  export {};
@@ -55,4 +55,5 @@ export declare enum StorageType {
55
55
  */
56
56
  export declare function createStorageProvider(type?: StorageType, namespace?: string): StorageProvider;
57
57
  export declare function detectBestStorageType(): StorageType;
58
+ export declare function detectBestStorageType_old(): StorageType;
58
59
  export { IndexedDBStorageProvider, IndexedDBMemoryStorageProvider, IndexedDBNoOpStorageProvider, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@godscene/visualizer",
3
- "version": "1.7.19",
3
+ "version": "1.7.21",
4
4
  "repository": "https://github.com/web-infra-dev/midscene",
5
5
  "homepage": "https://midscenejs.com/",
6
6
  "types": "./dist/types/index.d.ts",
@@ -66,10 +66,10 @@
66
66
  "antd": "^5.21.6",
67
67
  "buffer": "6.0.3",
68
68
  "dayjs": "^1.11.11",
69
- "@godscene/core": "1.7.19",
70
- "@godscene/web": "1.7.19",
71
- "@godscene/shared": "1.7.19",
72
- "@godscene/playground": "1.7.19"
69
+ "@godscene/core": "1.7.21",
70
+ "@godscene/shared": "1.7.21",
71
+ "@godscene/playground": "1.7.21",
72
+ "@godscene/web": "1.7.21"
73
73
  },
74
74
  "license": "MIT",
75
75
  "scripts": {