@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,337 @@
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
+ NoOpStorageProvider: ()=>NoOpStorageProvider,
28
+ LocalStorageProvider: ()=>LocalStorageProvider,
29
+ IndexedDBMemoryStorageProvider: ()=>external_indexeddb_storage_provider_js_namespaceObject.MemoryStorageProvider,
30
+ IndexedDBStorageProvider: ()=>external_indexeddb_storage_provider_js_namespaceObject.IndexedDBStorageProvider,
31
+ IndexedDBNoOpStorageProvider: ()=>external_indexeddb_storage_provider_js_namespaceObject.NoOpStorageProvider,
32
+ MemoryStorageProvider: ()=>MemoryStorageProvider,
33
+ StorageType: ()=>storage_provider_StorageType,
34
+ createStorageProvider: ()=>createStorageProvider,
35
+ detectBestStorageType: ()=>detectBestStorageType
36
+ });
37
+ const external_indexeddb_storage_provider_js_namespaceObject = require("./indexeddb-storage-provider.js");
38
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
39
+ try {
40
+ var info = gen[key](arg);
41
+ var value = info.value;
42
+ } catch (error) {
43
+ reject(error);
44
+ return;
45
+ }
46
+ if (info.done) resolve(value);
47
+ else Promise.resolve(value).then(_next, _throw);
48
+ }
49
+ function _async_to_generator(fn) {
50
+ return function() {
51
+ var self = this, args = arguments;
52
+ return new Promise(function(resolve, reject) {
53
+ var gen = fn.apply(self, args);
54
+ function _next(value) {
55
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
56
+ }
57
+ function _throw(err) {
58
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
59
+ }
60
+ _next(void 0);
61
+ });
62
+ };
63
+ }
64
+ function _define_property(obj, key, value) {
65
+ if (key in obj) Object.defineProperty(obj, key, {
66
+ value: value,
67
+ enumerable: true,
68
+ configurable: true,
69
+ writable: true
70
+ });
71
+ else obj[key] = value;
72
+ return obj;
73
+ }
74
+ function _object_spread(target) {
75
+ for(var i = 1; i < arguments.length; i++){
76
+ var source = null != arguments[i] ? arguments[i] : {};
77
+ var ownKeys = Object.keys(source);
78
+ if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
80
+ }));
81
+ ownKeys.forEach(function(key) {
82
+ _define_property(target, key, source[key]);
83
+ });
84
+ }
85
+ return target;
86
+ }
87
+ function storage_provider_ownKeys(object, enumerableOnly) {
88
+ var keys = Object.keys(object);
89
+ if (Object.getOwnPropertySymbols) {
90
+ var symbols = Object.getOwnPropertySymbols(object);
91
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
92
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
93
+ });
94
+ keys.push.apply(keys, symbols);
95
+ }
96
+ return keys;
97
+ }
98
+ function _object_spread_props(target, source) {
99
+ source = null != source ? source : {};
100
+ if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
101
+ else storage_provider_ownKeys(Object(source)).forEach(function(key) {
102
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
103
+ });
104
+ return target;
105
+ }
106
+ class LocalStorageProvider {
107
+ checkStorageSpace() {
108
+ try {
109
+ const testKey = 'storage-test';
110
+ const testData = 'x'.repeat(102400);
111
+ localStorage.setItem(testKey, testData);
112
+ localStorage.removeItem(testKey);
113
+ return true;
114
+ } catch (unused) {
115
+ return false;
116
+ }
117
+ }
118
+ saveMessages(messages) {
119
+ return _async_to_generator(function*() {
120
+ try {
121
+ if (!this.checkStorageSpace()) {
122
+ console.warn('Low storage space detected, clearing old data...');
123
+ yield this.handleQuotaExceeded();
124
+ }
125
+ const messagesToSave = messages.slice(-this.maxStorageItems);
126
+ const lightMessages = messagesToSave.map((msg)=>_object_spread_props(_object_spread({}, msg), {
127
+ result: 'result' === msg.type ? void 0 : msg.result
128
+ }));
129
+ const messageData = JSON.stringify(lightMessages);
130
+ localStorage.setItem(this.messagesKey, messageData);
131
+ } catch (error) {
132
+ if (error instanceof DOMException && 'QuotaExceededError' === error.name) {
133
+ console.warn('LocalStorage quota exceeded, attempting to clear old data and retry...');
134
+ yield this.handleQuotaExceeded();
135
+ try {
136
+ const recentMessages = messages.slice(-10);
137
+ const lightRecentMessages = recentMessages.map((msg)=>_object_spread_props(_object_spread({}, msg), {
138
+ result: 'result' === msg.type ? void 0 : msg.result
139
+ }));
140
+ const messageData = JSON.stringify(lightRecentMessages);
141
+ localStorage.setItem(this.messagesKey, messageData);
142
+ console.info('Successfully saved recent messages after clearing storage');
143
+ } catch (retryError) {
144
+ console.error('Failed to save even after clearing storage:', retryError);
145
+ yield this.clearMessages();
146
+ }
147
+ } else console.error('Failed to save messages to localStorage:', error);
148
+ }
149
+ }).call(this);
150
+ }
151
+ loadMessages() {
152
+ return _async_to_generator(function*() {
153
+ try {
154
+ const stored = localStorage.getItem(this.messagesKey);
155
+ if (!stored) return [];
156
+ const messages = JSON.parse(stored);
157
+ const restoredMessages = yield Promise.all(messages.map((msg)=>_async_to_generator(function*() {
158
+ if ('result' === msg.type && msg.id) {
159
+ const resultKey = `${this.resultsKey}-${msg.id}`;
160
+ const storedResult = localStorage.getItem(resultKey);
161
+ if (storedResult) try {
162
+ const resultItem = JSON.parse(storedResult);
163
+ return _object_spread({}, msg, resultItem);
164
+ } catch (e) {
165
+ console.warn('Failed to parse stored result:', e);
166
+ }
167
+ }
168
+ return msg;
169
+ }).call(this)));
170
+ return restoredMessages;
171
+ } catch (error) {
172
+ console.error('Failed to load messages from localStorage:', error);
173
+ return [];
174
+ }
175
+ }).call(this);
176
+ }
177
+ clearMessages() {
178
+ return _async_to_generator(function*() {
179
+ try {
180
+ localStorage.removeItem(this.messagesKey);
181
+ const keys = Object.keys(localStorage);
182
+ keys.forEach((key)=>{
183
+ if (key.startsWith(this.resultsKey)) localStorage.removeItem(key);
184
+ });
185
+ } catch (error) {
186
+ console.error('Failed to clear messages from localStorage:', error);
187
+ }
188
+ }).call(this);
189
+ }
190
+ saveResult(id, result) {
191
+ return _async_to_generator(function*() {
192
+ try {
193
+ const resultKey = `${this.resultsKey}-${id}`;
194
+ localStorage.setItem(resultKey, JSON.stringify(result));
195
+ } catch (error) {
196
+ if (error instanceof DOMException && 'QuotaExceededError' === error.name) {
197
+ console.warn('LocalStorage quota exceeded when saving result, clearing old results...');
198
+ yield this.handleQuotaExceeded();
199
+ try {
200
+ const resultKey = `${this.resultsKey}-${id}`;
201
+ localStorage.setItem(resultKey, JSON.stringify(result));
202
+ } catch (retryError) {
203
+ console.error('Failed to save result even after clearing storage:', retryError);
204
+ }
205
+ } else console.error('Failed to save result to localStorage:', error);
206
+ }
207
+ }).call(this);
208
+ }
209
+ handleQuotaExceeded() {
210
+ return _async_to_generator(function*() {
211
+ try {
212
+ const keys = Object.keys(localStorage);
213
+ const resultKeys = keys.filter((key)=>key.startsWith(this.resultsKey));
214
+ const keysToRemove = resultKeys.slice(0, Math.max(1, Math.floor(resultKeys.length / 2)));
215
+ keysToRemove.forEach((key)=>{
216
+ localStorage.removeItem(key);
217
+ });
218
+ console.info(`Cleared ${keysToRemove.length} old result entries to free up storage space`);
219
+ const playgroundKeys = keys.filter((key)=>key.includes('playground') || key.includes('agent') || key.startsWith('midscene'));
220
+ if (playgroundKeys.length > 10) {
221
+ const additionalKeysToRemove = playgroundKeys.slice(0, Math.floor(playgroundKeys.length / 3));
222
+ additionalKeysToRemove.forEach((key)=>{
223
+ if (key !== this.messagesKey) localStorage.removeItem(key);
224
+ });
225
+ console.info(`Cleared ${additionalKeysToRemove.length} additional playground-related entries`);
226
+ }
227
+ } catch (error) {
228
+ console.error('Failed to handle quota exceeded:', error);
229
+ }
230
+ }).call(this);
231
+ }
232
+ constructor(namespace = 'playground'){
233
+ _define_property(this, "messagesKey", void 0);
234
+ _define_property(this, "resultsKey", void 0);
235
+ _define_property(this, "maxStorageItems", 50);
236
+ this.messagesKey = `${namespace}-messages`;
237
+ this.resultsKey = `${namespace}-results`;
238
+ }
239
+ }
240
+ class MemoryStorageProvider {
241
+ saveMessages(messages) {
242
+ return _async_to_generator(function*() {
243
+ this.messages = [
244
+ ...messages
245
+ ];
246
+ }).call(this);
247
+ }
248
+ loadMessages() {
249
+ return _async_to_generator(function*() {
250
+ return [
251
+ ...this.messages
252
+ ];
253
+ }).call(this);
254
+ }
255
+ clearMessages() {
256
+ return _async_to_generator(function*() {
257
+ this.messages = [];
258
+ this.results.clear();
259
+ }).call(this);
260
+ }
261
+ saveResult(id, result) {
262
+ return _async_to_generator(function*() {
263
+ this.results.set(id, result);
264
+ }).call(this);
265
+ }
266
+ constructor(){
267
+ _define_property(this, "messages", []);
268
+ _define_property(this, "results", new Map());
269
+ }
270
+ }
271
+ class NoOpStorageProvider {
272
+ saveMessages(_messages) {
273
+ return _async_to_generator(function*() {})();
274
+ }
275
+ loadMessages() {
276
+ return _async_to_generator(function*() {
277
+ return [];
278
+ })();
279
+ }
280
+ clearMessages() {
281
+ return _async_to_generator(function*() {})();
282
+ }
283
+ saveResult(_id, _result) {
284
+ return _async_to_generator(function*() {})();
285
+ }
286
+ }
287
+ var storage_provider_StorageType = /*#__PURE__*/ function(StorageType) {
288
+ StorageType["INDEXEDDB"] = "indexeddb";
289
+ StorageType["LOCALSTORAGE"] = "localStorage";
290
+ StorageType["MEMORY"] = "memory";
291
+ StorageType["NONE"] = "none";
292
+ return StorageType;
293
+ }({});
294
+ function createStorageProvider(type = "indexeddb", namespace = 'playground') {
295
+ switch(type){
296
+ case "indexeddb":
297
+ if ("u" > typeof indexedDB) return new external_indexeddb_storage_provider_js_namespaceObject.IndexedDBStorageProvider(namespace);
298
+ console.warn('IndexedDB not available, falling back to localStorage');
299
+ return createStorageProvider("localStorage", namespace);
300
+ case "localStorage":
301
+ if ("u" > typeof localStorage) return new LocalStorageProvider(namespace);
302
+ console.warn('localStorage not available, falling back to memory storage');
303
+ return createStorageProvider("memory", namespace);
304
+ case "memory":
305
+ return new MemoryStorageProvider();
306
+ case "none":
307
+ return new NoOpStorageProvider();
308
+ default:
309
+ throw new Error(`Unknown storage type: ${type}`);
310
+ }
311
+ }
312
+ function detectBestStorageType() {
313
+ return "memory";
314
+ }
315
+ exports.IndexedDBMemoryStorageProvider = __webpack_exports__.IndexedDBMemoryStorageProvider;
316
+ exports.IndexedDBNoOpStorageProvider = __webpack_exports__.IndexedDBNoOpStorageProvider;
317
+ exports.IndexedDBStorageProvider = __webpack_exports__.IndexedDBStorageProvider;
318
+ exports.LocalStorageProvider = __webpack_exports__.LocalStorageProvider;
319
+ exports.MemoryStorageProvider = __webpack_exports__.MemoryStorageProvider;
320
+ exports.NoOpStorageProvider = __webpack_exports__.NoOpStorageProvider;
321
+ exports.StorageType = __webpack_exports__.StorageType;
322
+ exports.createStorageProvider = __webpack_exports__.createStorageProvider;
323
+ exports.detectBestStorageType = __webpack_exports__.detectBestStorageType;
324
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
325
+ "IndexedDBMemoryStorageProvider",
326
+ "IndexedDBNoOpStorageProvider",
327
+ "IndexedDBStorageProvider",
328
+ "LocalStorageProvider",
329
+ "MemoryStorageProvider",
330
+ "NoOpStorageProvider",
331
+ "StorageType",
332
+ "createStorageProvider",
333
+ "detectBestStorageType"
334
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
335
+ Object.defineProperty(exports, '__esModule', {
336
+ value: true
337
+ });