@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.
Files changed (221) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/es/component/blackboard/highlights.mjs +47 -0
  4. package/dist/es/component/blackboard/index.css +118 -0
  5. package/dist/es/component/blackboard/index.mjs +122 -0
  6. package/dist/es/component/config-selector/index.mjs +251 -0
  7. package/dist/es/component/context-preview/index.mjs +37 -0
  8. package/dist/es/component/env-config/index.mjs +237 -0
  9. package/dist/es/component/env-config-reminder/index.css +30 -0
  10. package/dist/es/component/env-config-reminder/index.mjs +27 -0
  11. package/dist/es/component/form-field/index.mjs +158 -0
  12. package/dist/es/component/history-selector/index.css +237 -0
  13. package/dist/es/component/history-selector/index.mjs +197 -0
  14. package/dist/es/component/index.mjs +1 -0
  15. package/dist/es/component/logo/index.css +19 -0
  16. package/dist/es/component/logo/index.mjs +20 -0
  17. package/dist/es/component/logo/logo.mjs +2 -0
  18. package/dist/es/component/misc/index.mjs +96 -0
  19. package/dist/es/component/nav-actions/index.mjs +14 -0
  20. package/dist/es/component/nav-actions/style.css +35 -0
  21. package/dist/es/component/player/index.css +296 -0
  22. package/dist/es/component/player/index.mjs +702 -0
  23. package/dist/es/component/player/playback-controls.mjs +4 -0
  24. package/dist/es/component/player/report-download.mjs +61 -0
  25. package/dist/es/component/player/scenes/StepScene.mjs +194 -0
  26. package/dist/es/component/player/scenes/derive-frame-state.mjs +229 -0
  27. package/dist/es/component/player/scenes/export-branded-video.mjs +360 -0
  28. package/dist/es/component/player/scenes/frame-calculator.mjs +149 -0
  29. package/dist/es/component/player/scenes/playback-frame.mjs +6 -0
  30. package/dist/es/component/player/scenes/playback-layout.mjs +12 -0
  31. package/dist/es/component/player/scenes/pointer-layout.mjs +36 -0
  32. package/dist/es/component/player/use-frame-player.mjs +87 -0
  33. package/dist/es/component/playground/index.css +930 -0
  34. package/dist/es/component/playground/playground-demo-ui-context.json +290 -0
  35. package/dist/es/component/playground-result/index.css +92 -0
  36. package/dist/es/component/playground-result/index.mjs +232 -0
  37. package/dist/es/component/prompt-input/index.css +832 -0
  38. package/dist/es/component/prompt-input/index.mjs +959 -0
  39. package/dist/es/component/screenshot-viewer/index.css +237 -0
  40. package/dist/es/component/screenshot-viewer/index.mjs +319 -0
  41. package/dist/es/component/service-mode-control/index.mjs +107 -0
  42. package/dist/es/component/shiny-text/index.css +107 -0
  43. package/dist/es/component/shiny-text/index.mjs +15 -0
  44. package/dist/es/component/universal-playground/empty-state.mjs +5 -0
  45. package/dist/es/component/universal-playground/index.css +619 -0
  46. package/dist/es/component/universal-playground/index.mjs +558 -0
  47. package/dist/es/component/universal-playground/providers/context-provider.mjs +90 -0
  48. package/dist/es/component/universal-playground/providers/indexeddb-storage-provider.mjs +280 -0
  49. package/dist/es/component/universal-playground/providers/storage-provider.mjs +279 -0
  50. package/dist/es/component/universal-playground/universal-playground-electron.mjs +668 -0
  51. package/dist/es/hooks/useMinimalTypeGate.mjs +47 -0
  52. package/dist/es/hooks/usePlaygroundExecution.mjs +435 -0
  53. package/dist/es/hooks/usePlaygroundState.mjs +278 -0
  54. package/dist/es/hooks/useSafeOverrideAIConfig.mjs +20 -0
  55. package/dist/es/hooks/useServerValid.mjs +55 -0
  56. package/dist/es/hooks/useTheme.mjs +25 -0
  57. package/dist/es/icons/action-chevron.mjs +61 -0
  58. package/dist/es/icons/avatar.mjs +70 -0
  59. package/dist/es/icons/close.mjs +61 -0
  60. package/dist/es/icons/global-perspective.mjs +58 -0
  61. package/dist/es/icons/history.mjs +72 -0
  62. package/dist/es/icons/magnifying-glass.mjs +81 -0
  63. package/dist/es/icons/player-setting.mjs +68 -0
  64. package/dist/es/icons/prompt-history.mjs +70 -0
  65. package/dist/es/icons/setting.mjs +62 -0
  66. package/dist/es/icons/show-marker.mjs +58 -0
  67. package/dist/es/index.mjs +26 -0
  68. package/dist/es/static/image/logo.png +0 -0
  69. package/dist/es/store/history.mjs +128 -0
  70. package/dist/es/store/store.mjs +277 -0
  71. package/dist/es/types.mjs +73 -0
  72. package/dist/es/utils/action-label.mjs +15 -0
  73. package/dist/es/utils/color.mjs +35 -0
  74. package/dist/es/utils/constants.mjs +99 -0
  75. package/dist/es/utils/device-capabilities.mjs +13 -0
  76. package/dist/es/utils/empty-state-scroll.mjs +8 -0
  77. package/dist/es/utils/highlight-element.mjs +62 -0
  78. package/dist/es/utils/index.mjs +13 -0
  79. package/dist/es/utils/playground-utils.mjs +43 -0
  80. package/dist/es/utils/progress-action-icon.mjs +30 -0
  81. package/dist/es/utils/prompt-input-utils.mjs +49 -0
  82. package/dist/es/utils/prompt-placeholder.mjs +19 -0
  83. package/dist/es/utils/replay-scripts.mjs +428 -0
  84. package/dist/lib/component/blackboard/highlights.js +84 -0
  85. package/dist/lib/component/blackboard/index.css +118 -0
  86. package/dist/lib/component/blackboard/index.js +169 -0
  87. package/dist/lib/component/config-selector/index.js +295 -0
  88. package/dist/lib/component/context-preview/index.js +82 -0
  89. package/dist/lib/component/env-config/index.js +271 -0
  90. package/dist/lib/component/env-config-reminder/index.css +30 -0
  91. package/dist/lib/component/env-config-reminder/index.js +61 -0
  92. package/dist/lib/component/form-field/index.js +204 -0
  93. package/dist/lib/component/history-selector/index.css +237 -0
  94. package/dist/lib/component/history-selector/index.js +243 -0
  95. package/dist/lib/component/index.js +58 -0
  96. package/dist/lib/component/logo/index.css +19 -0
  97. package/dist/lib/component/logo/index.js +67 -0
  98. package/dist/lib/component/logo/logo.js +24 -0
  99. package/dist/lib/component/misc/index.js +152 -0
  100. package/dist/lib/component/nav-actions/index.js +48 -0
  101. package/dist/lib/component/nav-actions/style.css +35 -0
  102. package/dist/lib/component/player/index.css +296 -0
  103. package/dist/lib/component/player/index.js +747 -0
  104. package/dist/lib/component/player/playback-controls.js +38 -0
  105. package/dist/lib/component/player/report-download.js +98 -0
  106. package/dist/lib/component/player/scenes/StepScene.js +228 -0
  107. package/dist/lib/component/player/scenes/derive-frame-state.js +266 -0
  108. package/dist/lib/component/player/scenes/export-branded-video.js +403 -0
  109. package/dist/lib/component/player/scenes/frame-calculator.js +186 -0
  110. package/dist/lib/component/player/scenes/playback-frame.js +40 -0
  111. package/dist/lib/component/player/scenes/playback-layout.js +46 -0
  112. package/dist/lib/component/player/scenes/pointer-layout.js +88 -0
  113. package/dist/lib/component/player/use-frame-player.js +121 -0
  114. package/dist/lib/component/playground/index.css +930 -0
  115. package/dist/lib/component/playground/playground-demo-ui-context.json +290 -0
  116. package/dist/lib/component/playground-result/index.css +92 -0
  117. package/dist/lib/component/playground-result/index.js +276 -0
  118. package/dist/lib/component/prompt-input/index.css +832 -0
  119. package/dist/lib/component/prompt-input/index.js +1005 -0
  120. package/dist/lib/component/screenshot-viewer/index.css +237 -0
  121. package/dist/lib/component/screenshot-viewer/index.js +353 -0
  122. package/dist/lib/component/service-mode-control/index.js +141 -0
  123. package/dist/lib/component/shiny-text/index.css +107 -0
  124. package/dist/lib/component/shiny-text/index.js +49 -0
  125. package/dist/lib/component/universal-playground/empty-state.js +39 -0
  126. package/dist/lib/component/universal-playground/index.css +619 -0
  127. package/dist/lib/component/universal-playground/index.js +607 -0
  128. package/dist/lib/component/universal-playground/providers/context-provider.js +133 -0
  129. package/dist/lib/component/universal-playground/providers/indexeddb-storage-provider.js +320 -0
  130. package/dist/lib/component/universal-playground/providers/storage-provider.js +337 -0
  131. package/dist/lib/component/universal-playground/universal-playground-electron.js +717 -0
  132. package/dist/lib/hooks/useMinimalTypeGate.js +81 -0
  133. package/dist/lib/hooks/usePlaygroundExecution.js +478 -0
  134. package/dist/lib/hooks/usePlaygroundState.js +312 -0
  135. package/dist/lib/hooks/useSafeOverrideAIConfig.js +57 -0
  136. package/dist/lib/hooks/useServerValid.js +89 -0
  137. package/dist/lib/hooks/useTheme.js +59 -0
  138. package/dist/lib/icons/action-chevron.js +95 -0
  139. package/dist/lib/icons/avatar.js +104 -0
  140. package/dist/lib/icons/close.js +95 -0
  141. package/dist/lib/icons/global-perspective.js +92 -0
  142. package/dist/lib/icons/history.js +106 -0
  143. package/dist/lib/icons/magnifying-glass.js +115 -0
  144. package/dist/lib/icons/player-setting.js +102 -0
  145. package/dist/lib/icons/prompt-history.js +104 -0
  146. package/dist/lib/icons/setting.js +96 -0
  147. package/dist/lib/icons/show-marker.js +92 -0
  148. package/dist/lib/index.js +204 -0
  149. package/dist/lib/static/image/logo.png +0 -0
  150. package/dist/lib/store/history.js +135 -0
  151. package/dist/lib/store/store.js +287 -0
  152. package/dist/lib/types.js +119 -0
  153. package/dist/lib/utils/action-label.js +52 -0
  154. package/dist/lib/utils/color.js +75 -0
  155. package/dist/lib/utils/constants.js +172 -0
  156. package/dist/lib/utils/device-capabilities.js +50 -0
  157. package/dist/lib/utils/empty-state-scroll.js +42 -0
  158. package/dist/lib/utils/highlight-element.js +99 -0
  159. package/dist/lib/utils/index.js +69 -0
  160. package/dist/lib/utils/playground-utils.js +86 -0
  161. package/dist/lib/utils/progress-action-icon.js +67 -0
  162. package/dist/lib/utils/prompt-input-utils.js +89 -0
  163. package/dist/lib/utils/prompt-placeholder.js +53 -0
  164. package/dist/lib/utils/replay-scripts.js +474 -0
  165. package/dist/types/component/blackboard/highlights.d.ts +11 -0
  166. package/dist/types/component/blackboard/index.d.ts +10 -0
  167. package/dist/types/component/config-selector/index.d.ts +15 -0
  168. package/dist/types/component/context-preview/index.d.ts +9 -0
  169. package/dist/types/component/env-config/index.d.ts +8 -0
  170. package/dist/types/component/env-config-reminder/index.d.ts +6 -0
  171. package/dist/types/component/form-field/index.d.ts +17 -0
  172. package/dist/types/component/history-selector/index.d.ts +13 -0
  173. package/dist/types/component/index.d.ts +1 -0
  174. package/dist/types/component/logo/index.d.ts +5 -0
  175. package/dist/types/component/misc/index.d.ts +6 -0
  176. package/dist/types/component/nav-actions/index.d.ts +12 -0
  177. package/dist/types/component/player/index.d.ts +15 -0
  178. package/dist/types/component/player/playback-controls.d.ts +1 -0
  179. package/dist/types/component/player/report-download.d.ts +32 -0
  180. package/dist/types/component/player/scenes/StepScene.d.ts +9 -0
  181. package/dist/types/component/player/scenes/derive-frame-state.d.ts +40 -0
  182. package/dist/types/component/player/scenes/export-branded-video.d.ts +33 -0
  183. package/dist/types/component/player/scenes/frame-calculator.d.ts +40 -0
  184. package/dist/types/component/player/scenes/playback-frame.d.ts +3 -0
  185. package/dist/types/component/player/scenes/playback-layout.d.ts +7 -0
  186. package/dist/types/component/player/scenes/pointer-layout.d.ts +20 -0
  187. package/dist/types/component/player/use-frame-player.d.ts +17 -0
  188. package/dist/types/component/playground-result/index.d.ts +22 -0
  189. package/dist/types/component/prompt-input/index.d.ts +23 -0
  190. package/dist/types/component/screenshot-viewer/index.d.ts +23 -0
  191. package/dist/types/component/service-mode-control/index.d.ts +6 -0
  192. package/dist/types/component/shiny-text/index.d.ts +12 -0
  193. package/dist/types/component/universal-playground/empty-state.d.ts +3 -0
  194. package/dist/types/component/universal-playground/index.d.ts +4 -0
  195. package/dist/types/component/universal-playground/providers/context-provider.d.ts +37 -0
  196. package/dist/types/component/universal-playground/providers/indexeddb-storage-provider.d.ts +71 -0
  197. package/dist/types/component/universal-playground/providers/storage-provider.d.ts +58 -0
  198. package/dist/types/component/universal-playground/universal-playground-electron.d.ts +4 -0
  199. package/dist/types/hooks/useMinimalTypeGate.d.ts +72 -0
  200. package/dist/types/hooks/usePlaygroundExecution.d.ts +40 -0
  201. package/dist/types/hooks/usePlaygroundState.d.ts +26 -0
  202. package/dist/types/hooks/useSafeOverrideAIConfig.d.ts +16 -0
  203. package/dist/types/hooks/useServerValid.d.ts +1 -0
  204. package/dist/types/hooks/useTheme.d.ts +7 -0
  205. package/dist/types/index.d.ts +29 -0
  206. package/dist/types/store/history.d.ts +16 -0
  207. package/dist/types/store/store.d.ts +57 -0
  208. package/dist/types/types.d.ts +278 -0
  209. package/dist/types/utils/action-label.d.ts +11 -0
  210. package/dist/types/utils/color.d.ts +4 -0
  211. package/dist/types/utils/constants.d.ts +80 -0
  212. package/dist/types/utils/device-capabilities.d.ts +9 -0
  213. package/dist/types/utils/empty-state-scroll.d.ts +11 -0
  214. package/dist/types/utils/highlight-element.d.ts +3 -0
  215. package/dist/types/utils/index.d.ts +5 -0
  216. package/dist/types/utils/playground-utils.d.ts +11 -0
  217. package/dist/types/utils/progress-action-icon.d.ts +12 -0
  218. package/dist/types/utils/prompt-input-utils.d.ts +24 -0
  219. package/dist/types/utils/prompt-placeholder.d.ts +1 -0
  220. package/dist/types/utils/replay-scripts.d.ts +50 -0
  221. package/package.json +82 -0
@@ -0,0 +1,133 @@
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
+ AgentContextProvider: ()=>AgentContextProvider,
28
+ BaseContextProvider: ()=>BaseContextProvider,
29
+ NoOpContextProvider: ()=>NoOpContextProvider,
30
+ StaticContextProvider: ()=>StaticContextProvider
31
+ });
32
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
33
+ try {
34
+ var info = gen[key](arg);
35
+ var value = info.value;
36
+ } catch (error) {
37
+ reject(error);
38
+ return;
39
+ }
40
+ if (info.done) resolve(value);
41
+ else Promise.resolve(value).then(_next, _throw);
42
+ }
43
+ function _async_to_generator(fn) {
44
+ return function() {
45
+ var self = this, args = arguments;
46
+ return new Promise(function(resolve, reject) {
47
+ var gen = fn.apply(self, args);
48
+ function _next(value) {
49
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
50
+ }
51
+ function _throw(err) {
52
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
53
+ }
54
+ _next(void 0);
55
+ });
56
+ };
57
+ }
58
+ function _define_property(obj, key, value) {
59
+ if (key in obj) Object.defineProperty(obj, key, {
60
+ value: value,
61
+ enumerable: true,
62
+ configurable: true,
63
+ writable: true
64
+ });
65
+ else obj[key] = value;
66
+ return obj;
67
+ }
68
+ class BaseContextProvider {
69
+ refreshContext() {
70
+ return _async_to_generator(function*() {
71
+ this.cachedContext = void 0;
72
+ return yield this.getUIContext();
73
+ }).call(this);
74
+ }
75
+ constructor(){
76
+ _define_property(this, "cachedContext", void 0);
77
+ }
78
+ }
79
+ class AgentContextProvider extends BaseContextProvider {
80
+ getUIContext() {
81
+ return _async_to_generator(function*() {
82
+ if (this.cachedContext) return this.cachedContext;
83
+ const agent = this.getAgent();
84
+ if (!(null == agent ? void 0 : agent.getUIContext)) throw new Error('Agent does not support getUIContext');
85
+ const context = yield agent.getUIContext();
86
+ this.cachedContext = context;
87
+ return context;
88
+ }).call(this);
89
+ }
90
+ constructor(getAgent, options){
91
+ super(), _define_property(this, "getAgent", void 0), _define_property(this, "options", void 0), this.getAgent = getAgent, this.options = options;
92
+ }
93
+ }
94
+ class StaticContextProvider extends BaseContextProvider {
95
+ getUIContext() {
96
+ return _async_to_generator(function*() {
97
+ return this.context;
98
+ }).call(this);
99
+ }
100
+ refreshContext() {
101
+ return _async_to_generator(function*() {
102
+ return this.context;
103
+ }).call(this);
104
+ }
105
+ constructor(context){
106
+ super(), _define_property(this, "context", void 0), this.context = context;
107
+ }
108
+ }
109
+ class NoOpContextProvider {
110
+ getUIContext() {
111
+ return _async_to_generator(function*() {
112
+ throw new Error('Context preview is disabled');
113
+ })();
114
+ }
115
+ refreshContext() {
116
+ return _async_to_generator(function*() {
117
+ throw new Error('Context preview is disabled');
118
+ })();
119
+ }
120
+ }
121
+ exports.AgentContextProvider = __webpack_exports__.AgentContextProvider;
122
+ exports.BaseContextProvider = __webpack_exports__.BaseContextProvider;
123
+ exports.NoOpContextProvider = __webpack_exports__.NoOpContextProvider;
124
+ exports.StaticContextProvider = __webpack_exports__.StaticContextProvider;
125
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
126
+ "AgentContextProvider",
127
+ "BaseContextProvider",
128
+ "NoOpContextProvider",
129
+ "StaticContextProvider"
130
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
131
+ Object.defineProperty(exports, '__esModule', {
132
+ value: true
133
+ });
@@ -0,0 +1,320 @@
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
+ MemoryStorageProvider: ()=>MemoryStorageProvider,
28
+ NoOpStorageProvider: ()=>NoOpStorageProvider,
29
+ IndexedDBStorageProvider: ()=>IndexedDBStorageProvider
30
+ });
31
+ const baseDB_namespaceObject = require("@godscene/shared/baseDB");
32
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
33
+ try {
34
+ var info = gen[key](arg);
35
+ var value = info.value;
36
+ } catch (error) {
37
+ reject(error);
38
+ return;
39
+ }
40
+ if (info.done) resolve(value);
41
+ else Promise.resolve(value).then(_next, _throw);
42
+ }
43
+ function _async_to_generator(fn) {
44
+ return function() {
45
+ var self = this, args = arguments;
46
+ return new Promise(function(resolve, reject) {
47
+ var gen = fn.apply(self, args);
48
+ function _next(value) {
49
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
50
+ }
51
+ function _throw(err) {
52
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
53
+ }
54
+ _next(void 0);
55
+ });
56
+ };
57
+ }
58
+ function _define_property(obj, key, value) {
59
+ if (key in obj) Object.defineProperty(obj, key, {
60
+ value: value,
61
+ enumerable: true,
62
+ configurable: true,
63
+ writable: true
64
+ });
65
+ else obj[key] = value;
66
+ return obj;
67
+ }
68
+ function _object_spread(target) {
69
+ for(var i = 1; i < arguments.length; i++){
70
+ var source = null != arguments[i] ? arguments[i] : {};
71
+ var ownKeys = Object.keys(source);
72
+ if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
73
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
74
+ }));
75
+ ownKeys.forEach(function(key) {
76
+ _define_property(target, key, source[key]);
77
+ });
78
+ }
79
+ return target;
80
+ }
81
+ function indexeddb_storage_provider_ownKeys(object, enumerableOnly) {
82
+ var keys = Object.keys(object);
83
+ if (Object.getOwnPropertySymbols) {
84
+ var symbols = Object.getOwnPropertySymbols(object);
85
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
86
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
87
+ });
88
+ keys.push.apply(keys, symbols);
89
+ }
90
+ return keys;
91
+ }
92
+ function _object_spread_props(target, source) {
93
+ source = null != source ? source : {};
94
+ if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
95
+ else indexeddb_storage_provider_ownKeys(Object(source)).forEach(function(key) {
96
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
97
+ });
98
+ return target;
99
+ }
100
+ const DB_NAME = 'midscene_playground';
101
+ const DB_VERSION = 1;
102
+ const MESSAGES_STORE = 'playground_messages';
103
+ const RESULTS_STORE = 'playground_results';
104
+ const MAX_STORED_MESSAGES = 100;
105
+ const MAX_STORED_RESULTS = 50;
106
+ class IndexedDBStorageProvider {
107
+ saveMessages(messages) {
108
+ return _async_to_generator(function*() {
109
+ yield (0, baseDB_namespaceObject.withErrorHandling)(()=>_async_to_generator(function*() {
110
+ yield this.dbManager.clear(MESSAGES_STORE);
111
+ const messagesToSave = messages.slice(-MAX_STORED_MESSAGES);
112
+ yield Promise.all(messagesToSave.map((msg, index)=>{
113
+ const lightMessage = _object_spread_props(_object_spread({}, msg), {
114
+ result: 'result' === msg.type ? void 0 : msg.result
115
+ });
116
+ const data = {
117
+ id: msg.id || `msg-${index}`,
118
+ data: lightMessage,
119
+ timestamp: msg.timestamp ? msg.timestamp.getTime() : Date.now() + index
120
+ };
121
+ return this.dbManager.put(MESSAGES_STORE, data);
122
+ }));
123
+ }).call(this), 'Failed to save messages to IndexedDB', void 0, this.messagesCleanup);
124
+ }).call(this);
125
+ }
126
+ loadMessages() {
127
+ return _async_to_generator(function*() {
128
+ const result = yield (0, baseDB_namespaceObject.withErrorHandling)(()=>_async_to_generator(function*() {
129
+ const messages = yield this.dbManager.getAll(MESSAGES_STORE, true);
130
+ if (0 === messages.length) return [];
131
+ return Promise.all(messages.map((msg)=>_async_to_generator(function*() {
132
+ const item = msg.data;
133
+ const restoredItem = _object_spread_props(_object_spread({}, item), {
134
+ timestamp: new Date(item.timestamp)
135
+ });
136
+ if ('result' === item.type && item.id) {
137
+ const fullResult = yield this.loadResult(item.id);
138
+ if (fullResult) {
139
+ restoredItem.result = fullResult.result;
140
+ restoredItem.replayScriptsInfo = fullResult.replayScriptsInfo;
141
+ restoredItem.replayCounter = fullResult.replayCounter;
142
+ restoredItem.verticalMode = fullResult.verticalMode;
143
+ }
144
+ }
145
+ return restoredItem;
146
+ }).call(this)));
147
+ }).call(this), 'Failed to load messages from IndexedDB', [], this.messagesCleanup);
148
+ return result || [];
149
+ }).call(this);
150
+ }
151
+ clearMessages() {
152
+ return _async_to_generator(function*() {
153
+ yield (0, baseDB_namespaceObject.withErrorHandling)(()=>_async_to_generator(function*() {
154
+ yield Promise.all([
155
+ this.dbManager.clear(MESSAGES_STORE),
156
+ this.dbManager.clear(RESULTS_STORE)
157
+ ]);
158
+ }).call(this), 'Failed to clear messages from IndexedDB');
159
+ }).call(this);
160
+ }
161
+ saveResult(id, result) {
162
+ return _async_to_generator(function*() {
163
+ yield (0, baseDB_namespaceObject.withErrorHandling)(()=>_async_to_generator(function*() {
164
+ const compressedResult = this.compressResultForStorage(result);
165
+ const data = {
166
+ id,
167
+ data: compressedResult,
168
+ timestamp: Date.now(),
169
+ size: JSON.stringify(compressedResult).length
170
+ };
171
+ yield this.dbManager.put(RESULTS_STORE, data);
172
+ }).call(this), 'Failed to save result to IndexedDB', void 0, this.resultsCleanup);
173
+ }).call(this);
174
+ }
175
+ loadResult(id) {
176
+ return _async_to_generator(function*() {
177
+ const result = yield (0, baseDB_namespaceObject.withErrorHandling)(()=>_async_to_generator(function*() {
178
+ const data = yield this.dbManager.get(RESULTS_STORE, id);
179
+ return (null == data ? void 0 : data.data) || null;
180
+ }).call(this), 'Failed to load result from IndexedDB', null);
181
+ return result || null;
182
+ }).call(this);
183
+ }
184
+ compressResultForStorage(result) {
185
+ var _result_result_dump, _result_result;
186
+ if (!(null == (_result_result = result.result) ? void 0 : null == (_result_result_dump = _result_result.dump) ? void 0 : _result_result_dump.tasks)) return result;
187
+ const compressedTasks = result.result.dump.tasks.map((task)=>{
188
+ var _task_recorder;
189
+ return _object_spread_props(_object_spread({}, task), {
190
+ uiContext: task.uiContext ? _object_spread_props(_object_spread({}, task.uiContext), {
191
+ screenshot: task.uiContext.screenshot
192
+ }) : task.uiContext,
193
+ recorder: null == (_task_recorder = task.recorder) ? void 0 : _task_recorder.map((record)=>_object_spread_props(_object_spread({}, record), {
194
+ screenshot: record.screenshot
195
+ }))
196
+ });
197
+ });
198
+ return _object_spread_props(_object_spread({}, result), {
199
+ result: _object_spread_props(_object_spread({}, result.result), {
200
+ dump: _object_spread_props(_object_spread({}, result.result.dump), {
201
+ tasks: compressedTasks
202
+ })
203
+ })
204
+ });
205
+ }
206
+ compressScreenshotIfNeeded(screenshot) {
207
+ if (!screenshot) return screenshot;
208
+ if (screenshot.length > 1048576) {
209
+ const sizeKB = Math.round(screenshot.length / 1024);
210
+ return `[COMPRESSED: ${sizeKB}KB screenshot removed for storage]`;
211
+ }
212
+ return screenshot;
213
+ }
214
+ getStorageStats() {
215
+ return _async_to_generator(function*() {
216
+ const result = yield (0, baseDB_namespaceObject.withErrorHandling)(()=>_async_to_generator(function*() {
217
+ const [messageCount, resultCount] = yield Promise.all([
218
+ this.dbManager.count(MESSAGES_STORE),
219
+ this.dbManager.count(RESULTS_STORE)
220
+ ]);
221
+ return {
222
+ messageCount,
223
+ resultCount
224
+ };
225
+ }).call(this), 'Failed to get storage statistics', {
226
+ messageCount: 0,
227
+ resultCount: 0
228
+ });
229
+ return result || {
230
+ messageCount: 0,
231
+ resultCount: 0
232
+ };
233
+ }).call(this);
234
+ }
235
+ cleanup() {
236
+ return _async_to_generator(function*() {
237
+ yield Promise.all([
238
+ this.messagesCleanup(),
239
+ this.resultsCleanup()
240
+ ]);
241
+ }).call(this);
242
+ }
243
+ constructor(namespace = 'playground'){
244
+ _define_property(this, "dbManager", void 0);
245
+ _define_property(this, "namespace", void 0);
246
+ _define_property(this, "messagesCleanup", void 0);
247
+ _define_property(this, "resultsCleanup", void 0);
248
+ this.namespace = namespace;
249
+ this.dbManager = new baseDB_namespaceObject.IndexedDBManager(`${DB_NAME}_${namespace}`, DB_VERSION, [
250
+ {
251
+ name: MESSAGES_STORE,
252
+ keyPath: 'id'
253
+ },
254
+ {
255
+ name: RESULTS_STORE,
256
+ keyPath: 'id'
257
+ }
258
+ ]);
259
+ this.messagesCleanup = (0, baseDB_namespaceObject.createCleanupFunction)(this.dbManager, MESSAGES_STORE, MAX_STORED_MESSAGES);
260
+ this.resultsCleanup = (0, baseDB_namespaceObject.createCleanupFunction)(this.dbManager, RESULTS_STORE, MAX_STORED_RESULTS);
261
+ }
262
+ }
263
+ class MemoryStorageProvider {
264
+ saveMessages(messages) {
265
+ return _async_to_generator(function*() {
266
+ this.messages = [
267
+ ...messages
268
+ ];
269
+ }).call(this);
270
+ }
271
+ loadMessages() {
272
+ return _async_to_generator(function*() {
273
+ return [
274
+ ...this.messages
275
+ ];
276
+ }).call(this);
277
+ }
278
+ clearMessages() {
279
+ return _async_to_generator(function*() {
280
+ this.messages = [];
281
+ this.results.clear();
282
+ }).call(this);
283
+ }
284
+ saveResult(id, result) {
285
+ return _async_to_generator(function*() {
286
+ this.results.set(id, result);
287
+ }).call(this);
288
+ }
289
+ constructor(){
290
+ _define_property(this, "messages", []);
291
+ _define_property(this, "results", new Map());
292
+ }
293
+ }
294
+ class NoOpStorageProvider {
295
+ saveMessages(_messages) {
296
+ return _async_to_generator(function*() {})();
297
+ }
298
+ loadMessages() {
299
+ return _async_to_generator(function*() {
300
+ return [];
301
+ })();
302
+ }
303
+ clearMessages() {
304
+ return _async_to_generator(function*() {})();
305
+ }
306
+ saveResult(_id, _result) {
307
+ return _async_to_generator(function*() {})();
308
+ }
309
+ }
310
+ exports.IndexedDBStorageProvider = __webpack_exports__.IndexedDBStorageProvider;
311
+ exports.MemoryStorageProvider = __webpack_exports__.MemoryStorageProvider;
312
+ exports.NoOpStorageProvider = __webpack_exports__.NoOpStorageProvider;
313
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
314
+ "IndexedDBStorageProvider",
315
+ "MemoryStorageProvider",
316
+ "NoOpStorageProvider"
317
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
318
+ Object.defineProperty(exports, '__esModule', {
319
+ value: true
320
+ });