@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,312 @@
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
+ usePlaygroundState: ()=>usePlaygroundState
28
+ });
29
+ const external_react_namespaceObject = require("react");
30
+ const storage_provider_js_namespaceObject = require("../component/universal-playground/providers/storage-provider.js");
31
+ const constants_js_namespaceObject = require("../utils/constants.js");
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 usePlaygroundState_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 usePlaygroundState_ownKeys(Object(source)).forEach(function(key) {
96
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
97
+ });
98
+ return target;
99
+ }
100
+ function usePlaygroundState(playgroundSDK, storage, contextProvider, targetName) {
101
+ const [loading, setLoading] = (0, external_react_namespaceObject.useState)(false);
102
+ const [infoList, setInfoList] = (0, external_react_namespaceObject.useState)([]);
103
+ const [actionSpace, setActionSpace] = (0, external_react_namespaceObject.useState)([]);
104
+ const [actionSpaceLoading, setActionSpaceLoading] = (0, external_react_namespaceObject.useState)(true);
105
+ const [uiContextPreview, setUiContextPreview] = (0, external_react_namespaceObject.useState)();
106
+ const [showScrollToBottomButton, setShowScrollToBottomButton] = (0, external_react_namespaceObject.useState)(false);
107
+ const [autoScrollEnabled, setAutoScrollEnabled] = (0, external_react_namespaceObject.useState)(true);
108
+ const lastScrollTopRef = (0, external_react_namespaceObject.useRef)(0);
109
+ const [verticalMode, setVerticalMode] = (0, external_react_namespaceObject.useState)(false);
110
+ const [replayCounter, setReplayCounter] = (0, external_react_namespaceObject.useState)(0);
111
+ const infoListRef = (0, external_react_namespaceObject.useRef)(null);
112
+ const currentRunningIdRef = (0, external_react_namespaceObject.useRef)(null);
113
+ const interruptedFlagRef = (0, external_react_namespaceObject.useRef)({});
114
+ const initializedRef = (0, external_react_namespaceObject.useRef)(false);
115
+ (0, external_react_namespaceObject.useEffect)(()=>{
116
+ const migrateFromOldNamespace = ()=>_async_to_generator(function*() {
117
+ const oldStorage = (0, storage_provider_js_namespaceObject.createStorageProvider)((0, storage_provider_js_namespaceObject.detectBestStorageType)(), 'playground-default');
118
+ try {
119
+ if (null == oldStorage ? void 0 : oldStorage.loadMessages) {
120
+ const oldMessages = yield oldStorage.loadMessages();
121
+ if (oldMessages.length > 1) {
122
+ console.log('Found data in old namespace, migrating...');
123
+ if (null == storage ? void 0 : storage.saveMessages) yield storage.saveMessages(oldMessages);
124
+ if (oldStorage.clearMessages) yield oldStorage.clearMessages();
125
+ return oldMessages;
126
+ }
127
+ }
128
+ } catch (error) {
129
+ console.debug('No data found in old namespace:', error);
130
+ }
131
+ return [];
132
+ })();
133
+ const initializeMessages = ()=>_async_to_generator(function*() {
134
+ const welcomeMessage = _object_spread_props(_object_spread({}, (0, constants_js_namespaceObject.getWelcomeMessageTemplate)(targetName)), {
135
+ id: 'welcome',
136
+ timestamp: new Date()
137
+ });
138
+ if (null == storage ? void 0 : storage.loadMessages) try {
139
+ let storedMessages = yield storage.loadMessages();
140
+ if (0 === storedMessages.length) storedMessages = yield migrateFromOldNamespace();
141
+ const hasWelcomeMessage = storedMessages.some((msg)=>'welcome' === msg.id);
142
+ hasWelcomeMessage ? setInfoList(storedMessages) : setInfoList([
143
+ welcomeMessage,
144
+ ...storedMessages
145
+ ]);
146
+ } catch (error) {
147
+ console.error('Failed to load messages:', error);
148
+ setInfoList([
149
+ welcomeMessage
150
+ ]);
151
+ }
152
+ else setInfoList([
153
+ welcomeMessage
154
+ ]);
155
+ })();
156
+ if (storage && !initializedRef.current) {
157
+ initializedRef.current = true;
158
+ initializeMessages();
159
+ } else if (!storage && 0 === infoList.length) initializeMessages();
160
+ }, [
161
+ storage
162
+ ]);
163
+ (0, external_react_namespaceObject.useEffect)(()=>{
164
+ if ((null == storage ? void 0 : storage.saveMessages) && infoList.length > 1) storage.saveMessages(infoList).catch((error)=>{
165
+ if (error instanceof DOMException && 'QuotaExceededError' === error.name) console.warn('Storage quota exceeded - some messages may not be saved persistently');
166
+ else console.error('Failed to save messages:', error);
167
+ });
168
+ }, [
169
+ infoList,
170
+ storage
171
+ ]);
172
+ (0, external_react_namespaceObject.useEffect)(()=>{
173
+ if (!(null == contextProvider ? void 0 : contextProvider.getUIContext) || uiContextPreview) return;
174
+ contextProvider.getUIContext().then((context)=>setUiContextPreview(context)).catch((error)=>{
175
+ console.error('Failed to get UI context:', error);
176
+ });
177
+ }, [
178
+ contextProvider,
179
+ uiContextPreview
180
+ ]);
181
+ (0, external_react_namespaceObject.useEffect)(()=>{
182
+ const loadActionSpace = ()=>_async_to_generator(function*() {
183
+ setActionSpaceLoading(true);
184
+ try {
185
+ var _contextProvider_getUIContext;
186
+ if (!playgroundSDK) return void setActionSpace([]);
187
+ const context = uiContextPreview || (yield null == contextProvider ? void 0 : null == (_contextProvider_getUIContext = contextProvider.getUIContext) ? void 0 : _contextProvider_getUIContext.call(contextProvider));
188
+ const space = yield playgroundSDK.getActionSpace(context);
189
+ setActionSpace(space || []);
190
+ } catch (error) {
191
+ console.error('Failed to load action space:', error);
192
+ setActionSpace([]);
193
+ } finally{
194
+ setActionSpaceLoading(false);
195
+ }
196
+ })();
197
+ loadActionSpace();
198
+ }, [
199
+ playgroundSDK,
200
+ uiContextPreview,
201
+ contextProvider
202
+ ]);
203
+ (0, external_react_namespaceObject.useEffect)(()=>{
204
+ const sizeThreshold = 750;
205
+ setVerticalMode(window.innerWidth < sizeThreshold);
206
+ const handleResize = ()=>{
207
+ setVerticalMode(window.innerWidth < sizeThreshold);
208
+ };
209
+ window.addEventListener('resize', handleResize);
210
+ return ()=>window.removeEventListener('resize', handleResize);
211
+ }, []);
212
+ const scrollToBottom = (0, external_react_namespaceObject.useCallback)(()=>{
213
+ setTimeout(()=>{
214
+ if (infoListRef.current) infoListRef.current.scrollTop = infoListRef.current.scrollHeight;
215
+ }, 100);
216
+ }, []);
217
+ const checkIfScrolledToBottom = (0, external_react_namespaceObject.useCallback)(()=>{
218
+ if (infoListRef.current) {
219
+ const { scrollTop, scrollHeight, clientHeight } = infoListRef.current;
220
+ const isAtBottom = scrollTop + clientHeight >= scrollHeight - 10;
221
+ setShowScrollToBottomButton(!isAtBottom);
222
+ const scrollingUp = scrollTop < lastScrollTopRef.current;
223
+ lastScrollTopRef.current = scrollTop;
224
+ if (isAtBottom) setAutoScrollEnabled(true);
225
+ else if (scrollingUp) setAutoScrollEnabled(false);
226
+ }
227
+ }, []);
228
+ const handleScrollToBottom = (0, external_react_namespaceObject.useCallback)(()=>{
229
+ if (infoListRef.current) {
230
+ infoListRef.current.scrollTo({
231
+ top: infoListRef.current.scrollHeight,
232
+ behavior: 'smooth'
233
+ });
234
+ setShowScrollToBottomButton(false);
235
+ setAutoScrollEnabled(true);
236
+ }
237
+ }, []);
238
+ (0, external_react_namespaceObject.useEffect)(()=>{
239
+ if (infoList.length > 0 && autoScrollEnabled) scrollToBottom();
240
+ }, [
241
+ infoList,
242
+ scrollToBottom,
243
+ autoScrollEnabled
244
+ ]);
245
+ (0, external_react_namespaceObject.useEffect)(()=>{
246
+ const container = infoListRef.current;
247
+ if (container) {
248
+ container.addEventListener('scroll', checkIfScrolledToBottom);
249
+ checkIfScrolledToBottom();
250
+ return ()=>{
251
+ container.removeEventListener('scroll', checkIfScrolledToBottom);
252
+ };
253
+ }
254
+ }, [
255
+ checkIfScrolledToBottom
256
+ ]);
257
+ const clearInfoList = (0, external_react_namespaceObject.useCallback)(()=>_async_to_generator(function*() {
258
+ const welcomeMessage = _object_spread_props(_object_spread({}, (0, constants_js_namespaceObject.getWelcomeMessageTemplate)(targetName)), {
259
+ id: 'welcome',
260
+ timestamp: new Date()
261
+ });
262
+ setInfoList([
263
+ welcomeMessage
264
+ ]);
265
+ if (null == storage ? void 0 : storage.clearMessages) try {
266
+ yield storage.clearMessages();
267
+ } catch (error) {
268
+ console.error('Failed to clear stored messages:', error);
269
+ }
270
+ })(), [
271
+ storage,
272
+ targetName
273
+ ]);
274
+ const refreshContext = (0, external_react_namespaceObject.useCallback)(()=>_async_to_generator(function*() {
275
+ if (null == contextProvider ? void 0 : contextProvider.refreshContext) try {
276
+ const newContext = yield contextProvider.refreshContext();
277
+ setUiContextPreview(newContext);
278
+ } catch (error) {
279
+ console.error('Failed to refresh context:', error);
280
+ }
281
+ })(), [
282
+ contextProvider
283
+ ]);
284
+ return {
285
+ loading,
286
+ setLoading,
287
+ infoList,
288
+ setInfoList,
289
+ actionSpace,
290
+ actionSpaceLoading,
291
+ uiContextPreview,
292
+ setUiContextPreview,
293
+ showScrollToBottomButton,
294
+ verticalMode,
295
+ replayCounter,
296
+ setReplayCounter,
297
+ infoListRef,
298
+ currentRunningIdRef,
299
+ interruptedFlagRef,
300
+ clearInfoList,
301
+ refreshContext,
302
+ handleScrollToBottom,
303
+ scrollToBottom
304
+ };
305
+ }
306
+ exports.usePlaygroundState = __webpack_exports__.usePlaygroundState;
307
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
308
+ "usePlaygroundState"
309
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
310
+ Object.defineProperty(exports, '__esModule', {
311
+ value: true
312
+ });
@@ -0,0 +1,57 @@
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
+ safeOverrideAIConfig: ()=>safeOverrideAIConfig,
28
+ useSafeOverrideAIConfig: ()=>useSafeOverrideAIConfig
29
+ });
30
+ const env_namespaceObject = require("@godscene/shared/env");
31
+ const external_antd_namespaceObject = require("antd");
32
+ function safeOverrideAIConfig(newConfig, extendMode = false, showErrorMessage = true) {
33
+ try {
34
+ (0, env_namespaceObject.overrideAIConfig)(newConfig, extendMode);
35
+ return true;
36
+ } catch (error) {
37
+ const err = error instanceof Error ? error : new Error(String(error));
38
+ console.error('Failed to override AI config:', err);
39
+ if (showErrorMessage) external_antd_namespaceObject.message.error(`Failed to apply AI configuration: ${err.message}`);
40
+ return false;
41
+ }
42
+ }
43
+ function useSafeOverrideAIConfig() {
44
+ const applyConfig = (newConfig, extendMode = false, showErrorMessage = true)=>safeOverrideAIConfig(newConfig, extendMode, showErrorMessage);
45
+ return {
46
+ applyConfig
47
+ };
48
+ }
49
+ exports.safeOverrideAIConfig = __webpack_exports__.safeOverrideAIConfig;
50
+ exports.useSafeOverrideAIConfig = __webpack_exports__.useSafeOverrideAIConfig;
51
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
52
+ "safeOverrideAIConfig",
53
+ "useSafeOverrideAIConfig"
54
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
55
+ Object.defineProperty(exports, '__esModule', {
56
+ value: true
57
+ });
@@ -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
+ useServerValid: ()=>useServerValid
28
+ });
29
+ const playground_namespaceObject = require("@godscene/playground");
30
+ const external_react_namespaceObject = require("react");
31
+ const store_js_namespaceObject = require("../store/store.js");
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
+ const useServerValid = (shouldRun = true)=>{
59
+ const [serverValid, setServerValid] = (0, external_react_namespaceObject.useState)(true);
60
+ const { serviceMode } = (0, store_js_namespaceObject.useEnvConfig)();
61
+ (0, external_react_namespaceObject.useEffect)(()=>{
62
+ let interruptFlag = false;
63
+ if (!shouldRun) return;
64
+ Promise.resolve((()=>_async_to_generator(function*() {
65
+ while(!interruptFlag){
66
+ const playgroundSDK = new playground_namespaceObject.PlaygroundSDK({
67
+ type: 'remote-execution'
68
+ });
69
+ const status = yield playgroundSDK.checkStatus();
70
+ status ? setServerValid(true) : setServerValid(false);
71
+ yield new Promise((resolve)=>setTimeout(resolve, 1000));
72
+ }
73
+ })())());
74
+ return ()=>{
75
+ interruptFlag = true;
76
+ };
77
+ }, [
78
+ serviceMode,
79
+ shouldRun
80
+ ]);
81
+ return serverValid;
82
+ };
83
+ exports.useServerValid = __webpack_exports__.useServerValid;
84
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
85
+ "useServerValid"
86
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
87
+ Object.defineProperty(exports, '__esModule', {
88
+ value: true
89
+ });
@@ -0,0 +1,59 @@
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
+ useTheme: ()=>useTheme
28
+ });
29
+ const external_react_namespaceObject = require("react");
30
+ function useTheme() {
31
+ const [isDarkMode, setIsDarkMode] = (0, external_react_namespaceObject.useState)(false);
32
+ (0, external_react_namespaceObject.useEffect)(()=>{
33
+ const checkTheme = ()=>{
34
+ var _document_querySelector;
35
+ const theme = null == (_document_querySelector = document.querySelector('[data-theme]')) ? void 0 : _document_querySelector.getAttribute('data-theme');
36
+ setIsDarkMode('dark' === theme);
37
+ };
38
+ checkTheme();
39
+ const observer = new MutationObserver(checkTheme);
40
+ const target = document.querySelector('[data-theme]') || document.documentElement;
41
+ observer.observe(target, {
42
+ attributes: true,
43
+ attributeFilter: [
44
+ 'data-theme'
45
+ ]
46
+ });
47
+ return ()=>observer.disconnect();
48
+ }, []);
49
+ return {
50
+ isDarkMode
51
+ };
52
+ }
53
+ exports.useTheme = __webpack_exports__.useTheme;
54
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
55
+ "useTheme"
56
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
57
+ Object.defineProperty(exports, '__esModule', {
58
+ value: true
59
+ });
@@ -0,0 +1,95 @@
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
+ default: ()=>action_chevron
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ require("react");
31
+ function _define_property(obj, key, value) {
32
+ if (key in obj) Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ else obj[key] = value;
39
+ return obj;
40
+ }
41
+ function _object_spread(target) {
42
+ for(var i = 1; i < arguments.length; i++){
43
+ var source = null != arguments[i] ? arguments[i] : {};
44
+ var ownKeys = Object.keys(source);
45
+ if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
46
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
47
+ }));
48
+ ownKeys.forEach(function(key) {
49
+ _define_property(target, key, source[key]);
50
+ });
51
+ }
52
+ return target;
53
+ }
54
+ function action_chevron_ownKeys(object, enumerableOnly) {
55
+ var keys = Object.keys(object);
56
+ if (Object.getOwnPropertySymbols) {
57
+ var symbols = Object.getOwnPropertySymbols(object);
58
+ if (enumerableOnly) symbols = symbols.filter(function(sym) {
59
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
60
+ });
61
+ keys.push.apply(keys, symbols);
62
+ }
63
+ return keys;
64
+ }
65
+ function _object_spread_props(target, source) {
66
+ source = null != source ? source : {};
67
+ if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
68
+ else action_chevron_ownKeys(Object(source)).forEach(function(key) {
69
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
70
+ });
71
+ return target;
72
+ }
73
+ const SvgActionChevron = (props)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("svg", _object_spread_props(_object_spread({
74
+ xmlns: "http://www.w3.org/2000/svg",
75
+ width: 6,
76
+ height: 10,
77
+ fill: "none",
78
+ viewBox: "0 0 6 10"
79
+ }, props), {
80
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("path", {
81
+ fill: "#000",
82
+ fillOpacity: 0.25,
83
+ fillRule: "evenodd",
84
+ d: "M.195 9.138a.667.667 0 0 1 0-.943l3.529-3.528L.195 1.138a.667.667 0 0 1 .943-.943l4 4c.26.26.26.683 0 .943l-4 4a.667.667 0 0 1-.943 0",
85
+ clipRule: "evenodd"
86
+ })
87
+ }));
88
+ const action_chevron = SvgActionChevron;
89
+ exports["default"] = __webpack_exports__["default"];
90
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
91
+ "default"
92
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
93
+ Object.defineProperty(exports, '__esModule', {
94
+ value: true
95
+ });