@godscene/visualizer 1.7.11
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.
- package/LICENSE +21 -0
- package/README.md +9 -0
- package/dist/es/component/blackboard/highlights.mjs +47 -0
- package/dist/es/component/blackboard/index.css +118 -0
- package/dist/es/component/blackboard/index.mjs +122 -0
- package/dist/es/component/config-selector/index.mjs +251 -0
- package/dist/es/component/context-preview/index.mjs +37 -0
- package/dist/es/component/env-config/index.mjs +237 -0
- package/dist/es/component/env-config-reminder/index.css +30 -0
- package/dist/es/component/env-config-reminder/index.mjs +27 -0
- package/dist/es/component/form-field/index.mjs +158 -0
- package/dist/es/component/history-selector/index.css +237 -0
- package/dist/es/component/history-selector/index.mjs +197 -0
- package/dist/es/component/index.mjs +1 -0
- package/dist/es/component/logo/index.css +19 -0
- package/dist/es/component/logo/index.mjs +20 -0
- package/dist/es/component/logo/logo.mjs +2 -0
- package/dist/es/component/misc/index.mjs +96 -0
- package/dist/es/component/nav-actions/index.mjs +14 -0
- package/dist/es/component/nav-actions/style.css +35 -0
- package/dist/es/component/player/index.css +296 -0
- package/dist/es/component/player/index.mjs +702 -0
- package/dist/es/component/player/playback-controls.mjs +4 -0
- package/dist/es/component/player/report-download.mjs +61 -0
- package/dist/es/component/player/scenes/StepScene.mjs +194 -0
- package/dist/es/component/player/scenes/derive-frame-state.mjs +229 -0
- package/dist/es/component/player/scenes/export-branded-video.mjs +360 -0
- package/dist/es/component/player/scenes/frame-calculator.mjs +149 -0
- package/dist/es/component/player/scenes/playback-frame.mjs +6 -0
- package/dist/es/component/player/scenes/playback-layout.mjs +12 -0
- package/dist/es/component/player/scenes/pointer-layout.mjs +36 -0
- package/dist/es/component/player/use-frame-player.mjs +87 -0
- package/dist/es/component/playground/index.css +930 -0
- package/dist/es/component/playground/playground-demo-ui-context.json +290 -0
- package/dist/es/component/playground-result/index.css +92 -0
- package/dist/es/component/playground-result/index.mjs +232 -0
- package/dist/es/component/prompt-input/index.css +832 -0
- package/dist/es/component/prompt-input/index.mjs +959 -0
- package/dist/es/component/screenshot-viewer/index.css +237 -0
- package/dist/es/component/screenshot-viewer/index.mjs +319 -0
- package/dist/es/component/service-mode-control/index.mjs +107 -0
- package/dist/es/component/shiny-text/index.css +107 -0
- package/dist/es/component/shiny-text/index.mjs +15 -0
- package/dist/es/component/universal-playground/empty-state.mjs +5 -0
- package/dist/es/component/universal-playground/index.css +619 -0
- package/dist/es/component/universal-playground/index.mjs +558 -0
- package/dist/es/component/universal-playground/providers/context-provider.mjs +90 -0
- package/dist/es/component/universal-playground/providers/indexeddb-storage-provider.mjs +280 -0
- package/dist/es/component/universal-playground/providers/storage-provider.mjs +279 -0
- package/dist/es/component/universal-playground/universal-playground-electron.mjs +668 -0
- package/dist/es/hooks/useMinimalTypeGate.mjs +47 -0
- package/dist/es/hooks/usePlaygroundExecution.mjs +435 -0
- package/dist/es/hooks/usePlaygroundState.mjs +278 -0
- package/dist/es/hooks/useSafeOverrideAIConfig.mjs +20 -0
- package/dist/es/hooks/useServerValid.mjs +55 -0
- package/dist/es/hooks/useTheme.mjs +25 -0
- package/dist/es/icons/action-chevron.mjs +61 -0
- package/dist/es/icons/avatar.mjs +70 -0
- package/dist/es/icons/close.mjs +61 -0
- package/dist/es/icons/global-perspective.mjs +58 -0
- package/dist/es/icons/history.mjs +72 -0
- package/dist/es/icons/magnifying-glass.mjs +81 -0
- package/dist/es/icons/player-setting.mjs +68 -0
- package/dist/es/icons/prompt-history.mjs +70 -0
- package/dist/es/icons/setting.mjs +62 -0
- package/dist/es/icons/show-marker.mjs +58 -0
- package/dist/es/index.mjs +26 -0
- package/dist/es/static/image/logo.png +0 -0
- package/dist/es/store/history.mjs +128 -0
- package/dist/es/store/store.mjs +277 -0
- package/dist/es/types.mjs +73 -0
- package/dist/es/utils/action-label.mjs +15 -0
- package/dist/es/utils/color.mjs +35 -0
- package/dist/es/utils/constants.mjs +99 -0
- package/dist/es/utils/device-capabilities.mjs +13 -0
- package/dist/es/utils/empty-state-scroll.mjs +8 -0
- package/dist/es/utils/highlight-element.mjs +62 -0
- package/dist/es/utils/index.mjs +13 -0
- package/dist/es/utils/playground-utils.mjs +43 -0
- package/dist/es/utils/progress-action-icon.mjs +30 -0
- package/dist/es/utils/prompt-input-utils.mjs +49 -0
- package/dist/es/utils/prompt-placeholder.mjs +19 -0
- package/dist/es/utils/replay-scripts.mjs +428 -0
- package/dist/lib/component/blackboard/highlights.js +84 -0
- package/dist/lib/component/blackboard/index.css +118 -0
- package/dist/lib/component/blackboard/index.js +169 -0
- package/dist/lib/component/config-selector/index.js +295 -0
- package/dist/lib/component/context-preview/index.js +82 -0
- package/dist/lib/component/env-config/index.js +271 -0
- package/dist/lib/component/env-config-reminder/index.css +30 -0
- package/dist/lib/component/env-config-reminder/index.js +61 -0
- package/dist/lib/component/form-field/index.js +204 -0
- package/dist/lib/component/history-selector/index.css +237 -0
- package/dist/lib/component/history-selector/index.js +243 -0
- package/dist/lib/component/index.js +58 -0
- package/dist/lib/component/logo/index.css +19 -0
- package/dist/lib/component/logo/index.js +67 -0
- package/dist/lib/component/logo/logo.js +24 -0
- package/dist/lib/component/misc/index.js +152 -0
- package/dist/lib/component/nav-actions/index.js +48 -0
- package/dist/lib/component/nav-actions/style.css +35 -0
- package/dist/lib/component/player/index.css +296 -0
- package/dist/lib/component/player/index.js +747 -0
- package/dist/lib/component/player/playback-controls.js +38 -0
- package/dist/lib/component/player/report-download.js +98 -0
- package/dist/lib/component/player/scenes/StepScene.js +228 -0
- package/dist/lib/component/player/scenes/derive-frame-state.js +266 -0
- package/dist/lib/component/player/scenes/export-branded-video.js +403 -0
- package/dist/lib/component/player/scenes/frame-calculator.js +186 -0
- package/dist/lib/component/player/scenes/playback-frame.js +40 -0
- package/dist/lib/component/player/scenes/playback-layout.js +46 -0
- package/dist/lib/component/player/scenes/pointer-layout.js +88 -0
- package/dist/lib/component/player/use-frame-player.js +121 -0
- package/dist/lib/component/playground/index.css +930 -0
- package/dist/lib/component/playground/playground-demo-ui-context.json +290 -0
- package/dist/lib/component/playground-result/index.css +92 -0
- package/dist/lib/component/playground-result/index.js +276 -0
- package/dist/lib/component/prompt-input/index.css +832 -0
- package/dist/lib/component/prompt-input/index.js +1005 -0
- package/dist/lib/component/screenshot-viewer/index.css +237 -0
- package/dist/lib/component/screenshot-viewer/index.js +353 -0
- package/dist/lib/component/service-mode-control/index.js +141 -0
- package/dist/lib/component/shiny-text/index.css +107 -0
- package/dist/lib/component/shiny-text/index.js +49 -0
- package/dist/lib/component/universal-playground/empty-state.js +39 -0
- package/dist/lib/component/universal-playground/index.css +619 -0
- package/dist/lib/component/universal-playground/index.js +607 -0
- package/dist/lib/component/universal-playground/providers/context-provider.js +133 -0
- package/dist/lib/component/universal-playground/providers/indexeddb-storage-provider.js +320 -0
- package/dist/lib/component/universal-playground/providers/storage-provider.js +337 -0
- package/dist/lib/component/universal-playground/universal-playground-electron.js +717 -0
- package/dist/lib/hooks/useMinimalTypeGate.js +81 -0
- package/dist/lib/hooks/usePlaygroundExecution.js +478 -0
- package/dist/lib/hooks/usePlaygroundState.js +312 -0
- package/dist/lib/hooks/useSafeOverrideAIConfig.js +57 -0
- package/dist/lib/hooks/useServerValid.js +89 -0
- package/dist/lib/hooks/useTheme.js +59 -0
- package/dist/lib/icons/action-chevron.js +95 -0
- package/dist/lib/icons/avatar.js +104 -0
- package/dist/lib/icons/close.js +95 -0
- package/dist/lib/icons/global-perspective.js +92 -0
- package/dist/lib/icons/history.js +106 -0
- package/dist/lib/icons/magnifying-glass.js +115 -0
- package/dist/lib/icons/player-setting.js +102 -0
- package/dist/lib/icons/prompt-history.js +104 -0
- package/dist/lib/icons/setting.js +96 -0
- package/dist/lib/icons/show-marker.js +92 -0
- package/dist/lib/index.js +204 -0
- package/dist/lib/static/image/logo.png +0 -0
- package/dist/lib/store/history.js +135 -0
- package/dist/lib/store/store.js +287 -0
- package/dist/lib/types.js +119 -0
- package/dist/lib/utils/action-label.js +52 -0
- package/dist/lib/utils/color.js +75 -0
- package/dist/lib/utils/constants.js +172 -0
- package/dist/lib/utils/device-capabilities.js +50 -0
- package/dist/lib/utils/empty-state-scroll.js +42 -0
- package/dist/lib/utils/highlight-element.js +99 -0
- package/dist/lib/utils/index.js +69 -0
- package/dist/lib/utils/playground-utils.js +86 -0
- package/dist/lib/utils/progress-action-icon.js +67 -0
- package/dist/lib/utils/prompt-input-utils.js +89 -0
- package/dist/lib/utils/prompt-placeholder.js +53 -0
- package/dist/lib/utils/replay-scripts.js +474 -0
- package/dist/types/component/blackboard/highlights.d.ts +11 -0
- package/dist/types/component/blackboard/index.d.ts +10 -0
- package/dist/types/component/config-selector/index.d.ts +15 -0
- package/dist/types/component/context-preview/index.d.ts +9 -0
- package/dist/types/component/env-config/index.d.ts +8 -0
- package/dist/types/component/env-config-reminder/index.d.ts +6 -0
- package/dist/types/component/form-field/index.d.ts +17 -0
- package/dist/types/component/history-selector/index.d.ts +13 -0
- package/dist/types/component/index.d.ts +1 -0
- package/dist/types/component/logo/index.d.ts +5 -0
- package/dist/types/component/misc/index.d.ts +6 -0
- package/dist/types/component/nav-actions/index.d.ts +12 -0
- package/dist/types/component/player/index.d.ts +15 -0
- package/dist/types/component/player/playback-controls.d.ts +1 -0
- package/dist/types/component/player/report-download.d.ts +32 -0
- package/dist/types/component/player/scenes/StepScene.d.ts +9 -0
- package/dist/types/component/player/scenes/derive-frame-state.d.ts +40 -0
- package/dist/types/component/player/scenes/export-branded-video.d.ts +33 -0
- package/dist/types/component/player/scenes/frame-calculator.d.ts +40 -0
- package/dist/types/component/player/scenes/playback-frame.d.ts +3 -0
- package/dist/types/component/player/scenes/playback-layout.d.ts +7 -0
- package/dist/types/component/player/scenes/pointer-layout.d.ts +20 -0
- package/dist/types/component/player/use-frame-player.d.ts +17 -0
- package/dist/types/component/playground-result/index.d.ts +22 -0
- package/dist/types/component/prompt-input/index.d.ts +23 -0
- package/dist/types/component/screenshot-viewer/index.d.ts +23 -0
- package/dist/types/component/service-mode-control/index.d.ts +6 -0
- package/dist/types/component/shiny-text/index.d.ts +12 -0
- package/dist/types/component/universal-playground/empty-state.d.ts +3 -0
- package/dist/types/component/universal-playground/index.d.ts +4 -0
- package/dist/types/component/universal-playground/providers/context-provider.d.ts +37 -0
- package/dist/types/component/universal-playground/providers/indexeddb-storage-provider.d.ts +71 -0
- package/dist/types/component/universal-playground/providers/storage-provider.d.ts +58 -0
- package/dist/types/component/universal-playground/universal-playground-electron.d.ts +4 -0
- package/dist/types/hooks/useMinimalTypeGate.d.ts +72 -0
- package/dist/types/hooks/usePlaygroundExecution.d.ts +40 -0
- package/dist/types/hooks/usePlaygroundState.d.ts +26 -0
- package/dist/types/hooks/useSafeOverrideAIConfig.d.ts +16 -0
- package/dist/types/hooks/useServerValid.d.ts +1 -0
- package/dist/types/hooks/useTheme.d.ts +7 -0
- package/dist/types/index.d.ts +29 -0
- package/dist/types/store/history.d.ts +16 -0
- package/dist/types/store/store.d.ts +57 -0
- package/dist/types/types.d.ts +278 -0
- package/dist/types/utils/action-label.d.ts +11 -0
- package/dist/types/utils/color.d.ts +4 -0
- package/dist/types/utils/constants.d.ts +80 -0
- package/dist/types/utils/device-capabilities.d.ts +9 -0
- package/dist/types/utils/empty-state-scroll.d.ts +11 -0
- package/dist/types/utils/highlight-element.d.ts +3 -0
- package/dist/types/utils/index.d.ts +5 -0
- package/dist/types/utils/playground-utils.d.ts +11 -0
- package/dist/types/utils/progress-action-icon.d.ts +12 -0
- package/dist/types/utils/prompt-input-utils.d.ts +24 -0
- package/dist/types/utils/prompt-placeholder.d.ts +1 -0
- package/dist/types/utils/replay-scripts.d.ts +50 -0
- package/package.json +82 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
getAvailablePromptActionTypes: ()=>getAvailablePromptActionTypes,
|
|
28
|
+
shouldOffsetEmptyStateForPromptInput: ()=>shouldOffsetEmptyStateForPromptInput,
|
|
29
|
+
getInlineStructuredFieldConfig: ()=>getInlineStructuredFieldConfig
|
|
30
|
+
});
|
|
31
|
+
const external_types_js_namespaceObject = require("../types.js");
|
|
32
|
+
const external_constants_js_namespaceObject = require("./constants.js");
|
|
33
|
+
const getAvailablePromptActionTypes = (actionSpace)=>{
|
|
34
|
+
const metadataMethods = Object.keys(external_constants_js_namespaceObject.apiMetadata);
|
|
35
|
+
if (!(null == actionSpace ? void 0 : actionSpace.length)) return metadataMethods;
|
|
36
|
+
const availableMethods = actionSpace.map((action)=>action.interfaceAlias || action.name);
|
|
37
|
+
const finalMethods = new Set();
|
|
38
|
+
metadataMethods.forEach((method)=>{
|
|
39
|
+
const methodInfo = external_constants_js_namespaceObject.apiMetadata[method];
|
|
40
|
+
if ('aiAct' === method) return void finalMethods.add(method);
|
|
41
|
+
if ((null == methodInfo ? void 0 : methodInfo.group) === 'extraction' || (null == methodInfo ? void 0 : methodInfo.group) === 'validation') return void finalMethods.add(method);
|
|
42
|
+
if (availableMethods.includes(method)) finalMethods.add(method);
|
|
43
|
+
});
|
|
44
|
+
availableMethods.forEach((method)=>{
|
|
45
|
+
finalMethods.add(method);
|
|
46
|
+
});
|
|
47
|
+
return Array.from(finalMethods);
|
|
48
|
+
};
|
|
49
|
+
const getInlineStructuredFieldConfig = (actionSpace, selectedType)=>{
|
|
50
|
+
var _actualField__def, _actualField__def1;
|
|
51
|
+
if (!(null == actionSpace ? void 0 : actionSpace.length) || !selectedType) return null;
|
|
52
|
+
const action = actionSpace.find((item)=>item.interfaceAlias === selectedType || item.name === selectedType);
|
|
53
|
+
if (!(null == action ? void 0 : action.paramSchema) || !(0, external_types_js_namespaceObject.isZodObjectSchema)(action.paramSchema)) return null;
|
|
54
|
+
const schema = action.paramSchema;
|
|
55
|
+
const shape = schema.shape || {};
|
|
56
|
+
const keys = Object.keys(shape);
|
|
57
|
+
if (1 !== keys.length) return null;
|
|
58
|
+
const [name] = keys;
|
|
59
|
+
const field = shape[name];
|
|
60
|
+
const { actualField } = (0, external_types_js_namespaceObject.unwrapZodType)(field);
|
|
61
|
+
const isLocate = (0, external_types_js_namespaceObject.isLocateField)(actualField);
|
|
62
|
+
const fieldType = null == (_actualField__def = actualField._def) ? void 0 : _actualField__def.typeName;
|
|
63
|
+
const isInlineField = 'ZodString' === fieldType || isLocate;
|
|
64
|
+
if (!isInlineField) return null;
|
|
65
|
+
const placeholder = (null == (_actualField__def1 = actualField._def) ? void 0 : _actualField__def1.description) || actualField.description || (isLocate ? 'Describe the element you want to interact with' : `Enter ${name}`);
|
|
66
|
+
return {
|
|
67
|
+
name,
|
|
68
|
+
placeholder
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
const shouldOffsetEmptyStateForPromptInput = (actionSpace, selectedType)=>{
|
|
72
|
+
if (!(null == actionSpace ? void 0 : actionSpace.length) || !selectedType) return false;
|
|
73
|
+
if (getInlineStructuredFieldConfig(actionSpace, selectedType)) return false;
|
|
74
|
+
const action = actionSpace.find((item)=>item.interfaceAlias === selectedType || item.name === selectedType);
|
|
75
|
+
if (!(null == action ? void 0 : action.paramSchema) || !(0, external_types_js_namespaceObject.isZodObjectSchema)(action.paramSchema)) return false;
|
|
76
|
+
const schema = action.paramSchema;
|
|
77
|
+
return Object.keys(schema.shape || {}).length > 1;
|
|
78
|
+
};
|
|
79
|
+
exports.getAvailablePromptActionTypes = __webpack_exports__.getAvailablePromptActionTypes;
|
|
80
|
+
exports.getInlineStructuredFieldConfig = __webpack_exports__.getInlineStructuredFieldConfig;
|
|
81
|
+
exports.shouldOffsetEmptyStateForPromptInput = __webpack_exports__.shouldOffsetEmptyStateForPromptInput;
|
|
82
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
83
|
+
"getAvailablePromptActionTypes",
|
|
84
|
+
"getInlineStructuredFieldConfig",
|
|
85
|
+
"shouldOffsetEmptyStateForPromptInput"
|
|
86
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
87
|
+
Object.defineProperty(exports, '__esModule', {
|
|
88
|
+
value: true
|
|
89
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
getPlaceholderForType: ()=>getPlaceholderForType
|
|
28
|
+
});
|
|
29
|
+
const getPlaceholderForType = (type)=>{
|
|
30
|
+
if ('aiQuery' === type) return 'What do you want to query?';
|
|
31
|
+
if ('aiAssert' === type) return 'What do you want to assert?';
|
|
32
|
+
if ('aiTap' === type) return 'What element do you want to tap?';
|
|
33
|
+
if ('aiDoubleClick' === type) return 'What element do you want to double-click?';
|
|
34
|
+
if ('aiHover' === type) return 'What element do you want to hover over?';
|
|
35
|
+
if ('aiInput' === type) return 'Format: <value> | <element>\nExample: hello world | search box';
|
|
36
|
+
if ('aiRightClick' === type) return 'What element do you want to right-click?';
|
|
37
|
+
if ('aiKeyboardPress' === type) return 'Format: <key> | <element (optional)>\nExample: Enter | text field';
|
|
38
|
+
if ('aiScroll' === type) return 'Format: <direction> <amount> | <element (optional)>\nExample: down 500 | main content';
|
|
39
|
+
if ('aiLocate' === type) return 'What element do you want to locate?';
|
|
40
|
+
if ('aiBoolean' === type) return 'What do you want to check (returns true/false)?';
|
|
41
|
+
if ('aiNumber' === type) return 'What number do you want to extract?';
|
|
42
|
+
if ('aiString' === type) return 'What text do you want to extract?';
|
|
43
|
+
if ('aiAsk' === type) return 'What do you want to ask?';
|
|
44
|
+
if ('aiWaitFor' === type) return 'What condition do you want to wait for?';
|
|
45
|
+
return 'What do you want to do?';
|
|
46
|
+
};
|
|
47
|
+
exports.getPlaceholderForType = __webpack_exports__.getPlaceholderForType;
|
|
48
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
49
|
+
"getPlaceholderForType"
|
|
50
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
51
|
+
Object.defineProperty(exports, '__esModule', {
|
|
52
|
+
value: true
|
|
53
|
+
});
|
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __webpack_require__ = {};
|
|
4
|
+
(()=>{
|
|
5
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
6
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: definition[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.r = (exports1)=>{
|
|
17
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
18
|
+
value: 'Module'
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
21
|
+
value: true
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
})();
|
|
25
|
+
var __webpack_exports__ = {};
|
|
26
|
+
__webpack_require__.r(__webpack_exports__);
|
|
27
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
28
|
+
generateAnimationScripts: ()=>generateAnimationScripts,
|
|
29
|
+
mergeTwoCameraState: ()=>mergeTwoCameraState,
|
|
30
|
+
cameraStateForRect: ()=>cameraStateForRect,
|
|
31
|
+
extractDumpMetaInfo: ()=>extractDumpMetaInfo,
|
|
32
|
+
allScriptsFromDump: ()=>allScriptsFromDump
|
|
33
|
+
});
|
|
34
|
+
const external_index_js_namespaceObject = require("./index.js");
|
|
35
|
+
const agent_namespaceObject = require("@godscene/core/agent");
|
|
36
|
+
const external_highlight_element_js_namespaceObject = require("./highlight-element.js");
|
|
37
|
+
function _define_property(obj, key, value) {
|
|
38
|
+
if (key in obj) Object.defineProperty(obj, key, {
|
|
39
|
+
value: value,
|
|
40
|
+
enumerable: true,
|
|
41
|
+
configurable: true,
|
|
42
|
+
writable: true
|
|
43
|
+
});
|
|
44
|
+
else obj[key] = value;
|
|
45
|
+
return obj;
|
|
46
|
+
}
|
|
47
|
+
function _object_spread(target) {
|
|
48
|
+
for(var i = 1; i < arguments.length; i++){
|
|
49
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
50
|
+
var ownKeys = Object.keys(source);
|
|
51
|
+
if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
52
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
53
|
+
}));
|
|
54
|
+
ownKeys.forEach(function(key) {
|
|
55
|
+
_define_property(target, key, source[key]);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return target;
|
|
59
|
+
}
|
|
60
|
+
function replay_scripts_ownKeys(object, enumerableOnly) {
|
|
61
|
+
var keys = Object.keys(object);
|
|
62
|
+
if (Object.getOwnPropertySymbols) {
|
|
63
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
64
|
+
if (enumerableOnly) symbols = symbols.filter(function(sym) {
|
|
65
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
66
|
+
});
|
|
67
|
+
keys.push.apply(keys, symbols);
|
|
68
|
+
}
|
|
69
|
+
return keys;
|
|
70
|
+
}
|
|
71
|
+
function _object_spread_props(target, source) {
|
|
72
|
+
source = null != source ? source : {};
|
|
73
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
74
|
+
else replay_scripts_ownKeys(Object(source)).forEach(function(key) {
|
|
75
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
76
|
+
});
|
|
77
|
+
return target;
|
|
78
|
+
}
|
|
79
|
+
const stillDuration = 900;
|
|
80
|
+
const actionSpinningPointerDuration = 300;
|
|
81
|
+
const stillAfterInsightDuration = 300;
|
|
82
|
+
const locateDuration = 800;
|
|
83
|
+
const actionDuration = 500;
|
|
84
|
+
const clearInsightDuration = 200;
|
|
85
|
+
const lastFrameDuration = 200;
|
|
86
|
+
const cameraStateForRect = (rect, imageWidth, imageHeight)=>{
|
|
87
|
+
const canvasRatio = imageWidth / imageHeight;
|
|
88
|
+
const rectRatio = rect.width / rect.height;
|
|
89
|
+
let rectWidthOnPage;
|
|
90
|
+
rectWidthOnPage = rectRatio >= canvasRatio ? rect.width : rect.height / imageHeight * imageWidth;
|
|
91
|
+
const cameraPaddingRatio = rectWidthOnPage > 400 ? 0.1 : rectWidthOnPage > 50 ? 0.2 : 0.3;
|
|
92
|
+
const cameraWidth = Math.min(imageWidth, rectWidthOnPage + imageWidth * cameraPaddingRatio * 2);
|
|
93
|
+
const cameraHeight = imageHeight / imageWidth * cameraWidth;
|
|
94
|
+
let left = Math.min(rect.left - imageWidth * cameraPaddingRatio, imageWidth - cameraWidth);
|
|
95
|
+
left = Math.max(left, 0);
|
|
96
|
+
let top = Math.min(rect.top - imageHeight * cameraPaddingRatio, imageHeight - cameraHeight);
|
|
97
|
+
top = Math.max(top, 0);
|
|
98
|
+
return {
|
|
99
|
+
left: Math.round(left),
|
|
100
|
+
top: Math.round(top),
|
|
101
|
+
width: Math.round(cameraWidth)
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
const createFullPageCameraState = (imageWidth, imageHeight)=>cameraStateForRect({
|
|
105
|
+
left: 0,
|
|
106
|
+
top: 0,
|
|
107
|
+
width: imageWidth,
|
|
108
|
+
height: imageHeight
|
|
109
|
+
}, imageWidth, imageHeight);
|
|
110
|
+
const resolveTaskShotSize = (task, fallbackWidth, fallbackHeight)=>{
|
|
111
|
+
var _task_uiContext_shotSize, _task_uiContext, _task_uiContext_shotSize1, _task_uiContext1;
|
|
112
|
+
return {
|
|
113
|
+
width: (null == task ? void 0 : null == (_task_uiContext = task.uiContext) ? void 0 : null == (_task_uiContext_shotSize = _task_uiContext.shotSize) ? void 0 : _task_uiContext_shotSize.width) || fallbackWidth,
|
|
114
|
+
height: (null == task ? void 0 : null == (_task_uiContext1 = task.uiContext) ? void 0 : null == (_task_uiContext_shotSize1 = _task_uiContext1.shotSize) ? void 0 : _task_uiContext_shotSize1.height) || fallbackHeight
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
const mergeTwoCameraState = (cameraState1, cameraState2)=>{
|
|
118
|
+
const newLeft = Math.min(cameraState1.left, cameraState2.left);
|
|
119
|
+
const newTop = Math.min(cameraState1.top, cameraState2.top);
|
|
120
|
+
const newRight = Math.max(cameraState1.left + cameraState1.width, cameraState2.left + cameraState2.width);
|
|
121
|
+
const newWidth = newRight - newLeft;
|
|
122
|
+
return {
|
|
123
|
+
left: newLeft,
|
|
124
|
+
top: newTop,
|
|
125
|
+
width: newWidth
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
const isSameModelBrief = (a, b)=>a.intent === b.intent && a.name === b.name && a.modelDescription === b.modelDescription;
|
|
129
|
+
const pushModelBriefIfNotExists = (list, candidate)=>{
|
|
130
|
+
if (!list.some((brief)=>isSameModelBrief(brief, candidate))) list.push(candidate);
|
|
131
|
+
};
|
|
132
|
+
const normalizeDump = (dump)=>{
|
|
133
|
+
if (!dump) return null;
|
|
134
|
+
return Array.isArray(dump.executions) ? dump : {
|
|
135
|
+
sdkVersion: '',
|
|
136
|
+
groupName: 'Execution',
|
|
137
|
+
modelBriefs: [],
|
|
138
|
+
executions: [
|
|
139
|
+
dump
|
|
140
|
+
]
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
const extractMetaFromNormalized = (normalizedDump)=>{
|
|
144
|
+
var _normalizedDump_executions;
|
|
145
|
+
let firstWidth;
|
|
146
|
+
let firstHeight;
|
|
147
|
+
const sdkVersion = normalizedDump.sdkVersion;
|
|
148
|
+
const modelBriefs = [];
|
|
149
|
+
null == (_normalizedDump_executions = normalizedDump.executions) || _normalizedDump_executions.filter(Boolean).forEach((execution)=>{
|
|
150
|
+
execution.tasks.forEach((task)=>{
|
|
151
|
+
var _task_uiContext_shotSize, _task_uiContext;
|
|
152
|
+
if (null == (_task_uiContext = task.uiContext) ? void 0 : null == (_task_uiContext_shotSize = _task_uiContext.shotSize) ? void 0 : _task_uiContext_shotSize.width) {
|
|
153
|
+
const w = task.uiContext.shotSize.width;
|
|
154
|
+
const h = task.uiContext.shotSize.height;
|
|
155
|
+
if (!firstWidth) {
|
|
156
|
+
firstWidth = w;
|
|
157
|
+
firstHeight = h;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (task.usage) {
|
|
161
|
+
const { model_name, model_description, intent } = task.usage;
|
|
162
|
+
const brief = {
|
|
163
|
+
intent,
|
|
164
|
+
name: model_name,
|
|
165
|
+
modelDescription: model_description
|
|
166
|
+
};
|
|
167
|
+
pushModelBriefIfNotExists(modelBriefs, brief);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
if (!firstWidth || !firstHeight) {
|
|
172
|
+
console.warn('width or height is missing in dump file');
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
return {
|
|
176
|
+
width: firstWidth,
|
|
177
|
+
height: firstHeight,
|
|
178
|
+
sdkVersion,
|
|
179
|
+
modelBriefs,
|
|
180
|
+
deviceType: normalizedDump.deviceType
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
const extractDumpMetaInfo = (dump)=>{
|
|
184
|
+
const normalizedDump = normalizeDump(dump);
|
|
185
|
+
if (!normalizedDump) return null;
|
|
186
|
+
return extractMetaFromNormalized(normalizedDump);
|
|
187
|
+
};
|
|
188
|
+
const allScriptsFromDump = (dump)=>{
|
|
189
|
+
var _normalizedDump_executions;
|
|
190
|
+
const normalizedDump = normalizeDump(dump);
|
|
191
|
+
if (!normalizedDump) {
|
|
192
|
+
console.warn('[allScriptsFromDump] dump is empty');
|
|
193
|
+
return {
|
|
194
|
+
scripts: [],
|
|
195
|
+
modelBriefs: []
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
const metaInfo = extractMetaFromNormalized(normalizedDump);
|
|
199
|
+
if (!metaInfo) return {
|
|
200
|
+
scripts: [],
|
|
201
|
+
sdkVersion: normalizedDump.sdkVersion,
|
|
202
|
+
modelBriefs: []
|
|
203
|
+
};
|
|
204
|
+
const { width: firstWidth, height: firstHeight } = metaInfo;
|
|
205
|
+
const allScripts = [];
|
|
206
|
+
const executions = (null == (_normalizedDump_executions = normalizedDump.executions) ? void 0 : _normalizedDump_executions.filter(Boolean)) || [];
|
|
207
|
+
for(let execIndex = 0; execIndex < executions.length; execIndex++){
|
|
208
|
+
const execution = executions[execIndex];
|
|
209
|
+
const scripts = generateAnimationScripts(execution, -1, firstWidth, firstHeight, execIndex);
|
|
210
|
+
if (scripts) allScripts.push(...scripts);
|
|
211
|
+
}
|
|
212
|
+
const allScriptsWithoutIntermediateDoneFrame = allScripts.filter((script, index)=>{
|
|
213
|
+
if (index !== allScripts.length - 1 && 'Done' === script.title) return false;
|
|
214
|
+
return true;
|
|
215
|
+
});
|
|
216
|
+
return {
|
|
217
|
+
scripts: allScriptsWithoutIntermediateDoneFrame,
|
|
218
|
+
width: firstWidth,
|
|
219
|
+
height: firstHeight,
|
|
220
|
+
sdkVersion: metaInfo.sdkVersion,
|
|
221
|
+
modelBriefs: metaInfo.modelBriefs,
|
|
222
|
+
deviceType: metaInfo.deviceType
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
const generateAnimationScripts = (execution, task, imageWidth, imageHeight, executionIndex = 0)=>{
|
|
226
|
+
if (!execution || !execution.tasks.length) return null;
|
|
227
|
+
if (0 === imageWidth || 0 === imageHeight) return null;
|
|
228
|
+
let tasksIncluded = [];
|
|
229
|
+
if (-1 === task) tasksIncluded = execution.tasks;
|
|
230
|
+
else {
|
|
231
|
+
const startIndex = execution.tasks.findIndex((t)=>t === task);
|
|
232
|
+
if (-1 === startIndex) {
|
|
233
|
+
console.error("task not found, cannot generate animation scripts");
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
236
|
+
if (startIndex === execution.tasks.length - 1) return null;
|
|
237
|
+
for(let i = startIndex; i < execution.tasks.length; i++){
|
|
238
|
+
if (i > startIndex && 'Planning' === execution.tasks[i].type && 'Plan' === execution.tasks[i].subType) break;
|
|
239
|
+
tasksIncluded.push(execution.tasks[i]);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
if (0 === tasksIncluded.length) return null;
|
|
243
|
+
const getTaskId = (taskIndex)=>{
|
|
244
|
+
var _tasksIncluded_taskIndex;
|
|
245
|
+
return null == (_tasksIncluded_taskIndex = tasksIncluded[taskIndex]) ? void 0 : _tasksIncluded_taskIndex.taskId;
|
|
246
|
+
};
|
|
247
|
+
const setPointerScript = (img, title, subTitle, taskId)=>({
|
|
248
|
+
type: 'pointer',
|
|
249
|
+
img,
|
|
250
|
+
duration: 0,
|
|
251
|
+
title,
|
|
252
|
+
subTitle,
|
|
253
|
+
taskId
|
|
254
|
+
});
|
|
255
|
+
const asScreenshot = (s)=>s;
|
|
256
|
+
const createScript = (base, screenshot)=>{
|
|
257
|
+
if (!screenshot) return base;
|
|
258
|
+
const script = _object_spread({}, base);
|
|
259
|
+
let cachedImg = null;
|
|
260
|
+
Object.defineProperty(script, 'img', {
|
|
261
|
+
get () {
|
|
262
|
+
if (null === cachedImg) cachedImg = screenshot.base64;
|
|
263
|
+
return cachedImg;
|
|
264
|
+
},
|
|
265
|
+
enumerable: true
|
|
266
|
+
});
|
|
267
|
+
return script;
|
|
268
|
+
};
|
|
269
|
+
const scripts = [];
|
|
270
|
+
let insightCameraState;
|
|
271
|
+
let insightOnTop = false;
|
|
272
|
+
let initSubTitle = '';
|
|
273
|
+
let lastTaskId;
|
|
274
|
+
tasksIncluded.forEach((task, index)=>{
|
|
275
|
+
const currentTaskId = getTaskId(index);
|
|
276
|
+
lastTaskId = currentTaskId;
|
|
277
|
+
if (0 === index) initSubTitle = (0, agent_namespaceObject.paramStr)(task);
|
|
278
|
+
if ('Planning' === task.type) {
|
|
279
|
+
var _task_output;
|
|
280
|
+
let locateElements = [];
|
|
281
|
+
if ('Plan' === task.subType) {
|
|
282
|
+
var _planTask_output;
|
|
283
|
+
const planTask = task;
|
|
284
|
+
const actions = (null == (_planTask_output = planTask.output) ? void 0 : _planTask_output.actions) || [];
|
|
285
|
+
if (actions.length > 0) {
|
|
286
|
+
const action = actions[0];
|
|
287
|
+
const knownFields = [
|
|
288
|
+
'locate',
|
|
289
|
+
'start',
|
|
290
|
+
'end'
|
|
291
|
+
];
|
|
292
|
+
if (action.param) {
|
|
293
|
+
knownFields.forEach((field)=>{
|
|
294
|
+
if (action.param[field] && 'object' == typeof action.param[field] && 'center' in (action.param[field] || {})) locateElements.push(action.param[field]);
|
|
295
|
+
});
|
|
296
|
+
for(const key in action.param)if (!knownFields.includes(key)) {
|
|
297
|
+
if ('object' == typeof action.param[key] && 'center' in (action.param[key] || {})) locateElements.push(action.param[key]);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
} else if ('Locate' === task.subType && (null == (_task_output = task.output) ? void 0 : _task_output.element)) {
|
|
302
|
+
const locateTask = task;
|
|
303
|
+
locateElements = [
|
|
304
|
+
locateTask.output.element
|
|
305
|
+
];
|
|
306
|
+
}
|
|
307
|
+
const title = (0, agent_namespaceObject.typeStr)(task);
|
|
308
|
+
const subTitle = (0, agent_namespaceObject.paramStr)(task);
|
|
309
|
+
const context = task.uiContext;
|
|
310
|
+
if (null == context ? void 0 : context.screenshot) {
|
|
311
|
+
var _context_shotSize, _context_shotSize1;
|
|
312
|
+
const width = (null == (_context_shotSize = context.shotSize) ? void 0 : _context_shotSize.width) || imageWidth;
|
|
313
|
+
const height = (null == (_context_shotSize1 = context.shotSize) ? void 0 : _context_shotSize1.height) || imageHeight;
|
|
314
|
+
const contextScreenshot = asScreenshot(context.screenshot);
|
|
315
|
+
scripts.push(createScript({
|
|
316
|
+
type: 'img',
|
|
317
|
+
duration: stillAfterInsightDuration,
|
|
318
|
+
title,
|
|
319
|
+
subTitle,
|
|
320
|
+
imageWidth: width,
|
|
321
|
+
imageHeight: height,
|
|
322
|
+
taskId: currentTaskId
|
|
323
|
+
}, contextScreenshot));
|
|
324
|
+
locateElements.forEach((element)=>{
|
|
325
|
+
var _task_log_taskInfo, _task_log, _context_shotSize, _context_shotSize1;
|
|
326
|
+
const highlightElement = (0, external_highlight_element_js_namespaceObject.normalizeHighlightElementForReport)(element);
|
|
327
|
+
const highlightBox = (0, external_highlight_element_js_namespaceObject.getCenterHighlightBox)(highlightElement);
|
|
328
|
+
insightCameraState = _object_spread_props(_object_spread({}, cameraStateForRect(highlightBox, width, height)), {
|
|
329
|
+
pointerLeft: highlightElement.center[0],
|
|
330
|
+
pointerTop: highlightElement.center[1]
|
|
331
|
+
});
|
|
332
|
+
const newCameraState = insightCameraState;
|
|
333
|
+
scripts.push(createScript({
|
|
334
|
+
type: 'insight',
|
|
335
|
+
context: context,
|
|
336
|
+
camera: newCameraState,
|
|
337
|
+
highlightElement,
|
|
338
|
+
searchArea: null == (_task_log = task.log) ? void 0 : null == (_task_log_taskInfo = _task_log.taskInfo) ? void 0 : _task_log_taskInfo.searchArea,
|
|
339
|
+
duration: 0.5 * locateDuration,
|
|
340
|
+
insightCameraDuration: locateDuration,
|
|
341
|
+
title,
|
|
342
|
+
subTitle: highlightElement.description || subTitle,
|
|
343
|
+
imageWidth: (null == (_context_shotSize = context.shotSize) ? void 0 : _context_shotSize.width) || imageWidth,
|
|
344
|
+
imageHeight: (null == (_context_shotSize1 = context.shotSize) ? void 0 : _context_shotSize1.height) || imageHeight,
|
|
345
|
+
taskId: currentTaskId
|
|
346
|
+
}, contextScreenshot));
|
|
347
|
+
insightOnTop = true;
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
const planningTask = task;
|
|
351
|
+
if (planningTask.recorder && planningTask.recorder.length > 0) {
|
|
352
|
+
var _planningTask_recorder_, _task_uiContext_shotSize, _task_uiContext, _task_uiContext_shotSize1, _task_uiContext1;
|
|
353
|
+
const screenshot = null == (_planningTask_recorder_ = planningTask.recorder[0]) ? void 0 : _planningTask_recorder_.screenshot;
|
|
354
|
+
scripts.push(createScript({
|
|
355
|
+
type: 'img',
|
|
356
|
+
duration: stillDuration,
|
|
357
|
+
title: (0, agent_namespaceObject.typeStr)(task),
|
|
358
|
+
subTitle: (0, agent_namespaceObject.paramStr)(task),
|
|
359
|
+
imageWidth: (null == (_task_uiContext = task.uiContext) ? void 0 : null == (_task_uiContext_shotSize = _task_uiContext.shotSize) ? void 0 : _task_uiContext_shotSize.width) || imageWidth,
|
|
360
|
+
imageHeight: (null == (_task_uiContext1 = task.uiContext) ? void 0 : null == (_task_uiContext_shotSize1 = _task_uiContext1.shotSize) ? void 0 : _task_uiContext_shotSize1.height) || imageHeight,
|
|
361
|
+
taskId: currentTaskId
|
|
362
|
+
}, asScreenshot(screenshot)));
|
|
363
|
+
}
|
|
364
|
+
} else if ('Action Space' === task.type) {
|
|
365
|
+
var _task_recorder_, _task_recorder;
|
|
366
|
+
const title = (0, agent_namespaceObject.typeStr)(task);
|
|
367
|
+
const subTitle = (0, agent_namespaceObject.paramStr)(task);
|
|
368
|
+
scripts.push({
|
|
369
|
+
type: 'spinning-pointer',
|
|
370
|
+
duration: actionSpinningPointerDuration,
|
|
371
|
+
title,
|
|
372
|
+
subTitle,
|
|
373
|
+
taskId: currentTaskId
|
|
374
|
+
});
|
|
375
|
+
if (insightOnTop) {
|
|
376
|
+
scripts.push({
|
|
377
|
+
type: 'clear-insight',
|
|
378
|
+
duration: clearInsightDuration,
|
|
379
|
+
title,
|
|
380
|
+
subTitle,
|
|
381
|
+
taskId: currentTaskId
|
|
382
|
+
});
|
|
383
|
+
insightOnTop = false;
|
|
384
|
+
}
|
|
385
|
+
scripts.push(setPointerScript(external_index_js_namespaceObject.mousePointer, title, subTitle, currentTaskId));
|
|
386
|
+
const screenshot = null == (_task_recorder = task.recorder) ? void 0 : null == (_task_recorder_ = _task_recorder[0]) ? void 0 : _task_recorder_.screenshot;
|
|
387
|
+
const { width, height } = resolveTaskShotSize(task, imageWidth, imageHeight);
|
|
388
|
+
scripts.push(createScript({
|
|
389
|
+
type: 'img',
|
|
390
|
+
duration: actionDuration,
|
|
391
|
+
camera: 'Sleep' === task.subType ? createFullPageCameraState(width, height) : void 0,
|
|
392
|
+
title,
|
|
393
|
+
subTitle,
|
|
394
|
+
imageWidth: width,
|
|
395
|
+
imageHeight: height,
|
|
396
|
+
taskId: currentTaskId
|
|
397
|
+
}, asScreenshot(screenshot)));
|
|
398
|
+
} else {
|
|
399
|
+
var _task_recorder_1, _task_recorder1;
|
|
400
|
+
const title = (0, agent_namespaceObject.typeStr)(task);
|
|
401
|
+
const subTitle = (0, agent_namespaceObject.paramStr)(task);
|
|
402
|
+
const screenshot = null == (_task_recorder1 = task.recorder) ? void 0 : null == (_task_recorder_1 = _task_recorder1[task.recorder.length - 1]) ? void 0 : _task_recorder_1.screenshot;
|
|
403
|
+
if (screenshot) {
|
|
404
|
+
const { width, height } = resolveTaskShotSize(task, imageWidth, imageHeight);
|
|
405
|
+
scripts.push(createScript({
|
|
406
|
+
type: 'img',
|
|
407
|
+
duration: stillDuration,
|
|
408
|
+
camera: createFullPageCameraState(width, height),
|
|
409
|
+
title,
|
|
410
|
+
subTitle,
|
|
411
|
+
imageWidth: width,
|
|
412
|
+
imageHeight: height,
|
|
413
|
+
taskId: currentTaskId
|
|
414
|
+
}, asScreenshot(screenshot)));
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
if ('finished' !== task.status) {
|
|
418
|
+
var _task_recorder_2, _task_recorder2;
|
|
419
|
+
const errorTitle = (0, agent_namespaceObject.typeStr)(task);
|
|
420
|
+
const errorMsg = task.errorMessage || 'unknown error';
|
|
421
|
+
const errorSubTitle = errorMsg.indexOf('NOT_IMPLEMENTED_AS_DESIGNED') > 0 ? 'Further actions cannot be performed in the current environment' : errorMsg;
|
|
422
|
+
const screenshot = null == (_task_recorder2 = task.recorder) ? void 0 : null == (_task_recorder_2 = _task_recorder2[task.recorder.length - 1]) ? void 0 : _task_recorder_2.screenshot;
|
|
423
|
+
const { width, height } = resolveTaskShotSize(task, imageWidth, imageHeight);
|
|
424
|
+
scripts.push(createScript({
|
|
425
|
+
type: 'img',
|
|
426
|
+
camera: createFullPageCameraState(width, height),
|
|
427
|
+
duration: stillDuration,
|
|
428
|
+
title: errorTitle,
|
|
429
|
+
subTitle: errorSubTitle,
|
|
430
|
+
imageWidth: width,
|
|
431
|
+
imageHeight: height,
|
|
432
|
+
taskId: currentTaskId
|
|
433
|
+
}, asScreenshot(screenshot)));
|
|
434
|
+
}
|
|
435
|
+
});
|
|
436
|
+
if (insightOnTop) {
|
|
437
|
+
scripts.push({
|
|
438
|
+
type: 'clear-insight',
|
|
439
|
+
duration: clearInsightDuration,
|
|
440
|
+
title: '',
|
|
441
|
+
subTitle: '',
|
|
442
|
+
taskId: lastTaskId
|
|
443
|
+
});
|
|
444
|
+
insightOnTop = false;
|
|
445
|
+
}
|
|
446
|
+
const lastTaskShotSize = tasksIncluded.length > 0 ? resolveTaskShotSize(tasksIncluded[tasksIncluded.length - 1], imageWidth, imageHeight) : {
|
|
447
|
+
width: imageWidth,
|
|
448
|
+
height: imageHeight
|
|
449
|
+
};
|
|
450
|
+
scripts.push({
|
|
451
|
+
title: 'End',
|
|
452
|
+
subTitle: initSubTitle,
|
|
453
|
+
type: 'img',
|
|
454
|
+
duration: lastFrameDuration,
|
|
455
|
+
camera: createFullPageCameraState(lastTaskShotSize.width, lastTaskShotSize.height),
|
|
456
|
+
taskId: void 0
|
|
457
|
+
});
|
|
458
|
+
return scripts;
|
|
459
|
+
};
|
|
460
|
+
exports.allScriptsFromDump = __webpack_exports__.allScriptsFromDump;
|
|
461
|
+
exports.cameraStateForRect = __webpack_exports__.cameraStateForRect;
|
|
462
|
+
exports.extractDumpMetaInfo = __webpack_exports__.extractDumpMetaInfo;
|
|
463
|
+
exports.generateAnimationScripts = __webpack_exports__.generateAnimationScripts;
|
|
464
|
+
exports.mergeTwoCameraState = __webpack_exports__.mergeTwoCameraState;
|
|
465
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
466
|
+
"allScriptsFromDump",
|
|
467
|
+
"cameraStateForRect",
|
|
468
|
+
"extractDumpMetaInfo",
|
|
469
|
+
"generateAnimationScripts",
|
|
470
|
+
"mergeTwoCameraState"
|
|
471
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
472
|
+
Object.defineProperty(exports, '__esModule', {
|
|
473
|
+
value: true
|
|
474
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BaseElement, LocateResultElement, Rect } from '@godscene/core';
|
|
2
|
+
type HighlightLikeElement = (Pick<BaseElement, 'center' | 'rect'> & Partial<Pick<BaseElement, 'content' | 'id'>>) | LocateResultElement;
|
|
3
|
+
export interface BlackboardHighlightOverlay {
|
|
4
|
+
key: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
center: [number, number];
|
|
7
|
+
rect: Rect;
|
|
8
|
+
}
|
|
9
|
+
export declare function normalizeBlackboardHighlights(elements: HighlightLikeElement[] | undefined): BlackboardHighlightOverlay[];
|
|
10
|
+
export declare function formatBlackboardHighlightSummary(highlight: BlackboardHighlightOverlay): string;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BaseElement, Rect, UIContext } from '@godscene/core';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import './index.less';
|
|
4
|
+
export declare const Blackboard: (props: {
|
|
5
|
+
uiContext: UIContext | undefined | null;
|
|
6
|
+
highlightElements?: BaseElement[];
|
|
7
|
+
highlightRect?: Rect;
|
|
8
|
+
hideController?: boolean;
|
|
9
|
+
}) => React.JSX.Element;
|
|
10
|
+
export default Blackboard;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { DeviceType } from '../../types';
|
|
4
|
+
interface ConfigSelectorProps {
|
|
5
|
+
showDeepLocateOption: boolean;
|
|
6
|
+
showDeepThinkOption: boolean;
|
|
7
|
+
enableTracking: boolean;
|
|
8
|
+
showDataExtractionOptions: boolean;
|
|
9
|
+
hideDomAndScreenshotOptions?: boolean;
|
|
10
|
+
deviceType?: DeviceType;
|
|
11
|
+
trigger?: ReactNode;
|
|
12
|
+
popupPlacement?: 'topRight' | 'bottomRight';
|
|
13
|
+
}
|
|
14
|
+
export declare const ConfigSelector: React.FC<ConfigSelectorProps>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { UIContext } from '@godscene/core';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
interface ContextPreviewProps {
|
|
4
|
+
uiContextPreview: UIContext | undefined;
|
|
5
|
+
setUiContextPreview: (context: UIContext) => void;
|
|
6
|
+
showContextPreview: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const ContextPreview: React.FC<ContextPreviewProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PlaygroundSDKLike } from '../../types';
|
|
2
|
+
export declare function EnvConfig({ showTooltipWhenEmpty, showModelName, tooltipPlacement, mode, playgroundSDK, }: {
|
|
3
|
+
showTooltipWhenEmpty?: boolean;
|
|
4
|
+
showModelName?: boolean;
|
|
5
|
+
tooltipPlacement?: 'bottom' | 'top';
|
|
6
|
+
mode?: 'icon' | 'text';
|
|
7
|
+
playgroundSDK?: PlaygroundSDKLike | null;
|
|
8
|
+
}): import("react").JSX.Element;
|