@sqaitech/visualizer 0.30.10

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 (148) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/es/component/blackboard/index.css +33 -0
  4. package/dist/es/component/blackboard/index.mjs +278 -0
  5. package/dist/es/component/config-selector/index.mjs +104 -0
  6. package/dist/es/component/context-preview/index.mjs +38 -0
  7. package/dist/es/component/env-config/index.mjs +112 -0
  8. package/dist/es/component/env-config-reminder/index.css +22 -0
  9. package/dist/es/component/env-config-reminder/index.mjs +28 -0
  10. package/dist/es/component/form-field/index.mjs +163 -0
  11. package/dist/es/component/history-selector/index.css +135 -0
  12. package/dist/es/component/history-selector/index.mjs +170 -0
  13. package/dist/es/component/index.mjs +1 -0
  14. package/dist/es/component/logo/index.css +13 -0
  15. package/dist/es/component/logo/index.mjs +20 -0
  16. package/dist/es/component/misc/index.mjs +94 -0
  17. package/dist/es/component/nav-actions/index.mjs +32 -0
  18. package/dist/es/component/nav-actions/style.css +35 -0
  19. package/dist/es/component/player/index.css +185 -0
  20. package/dist/es/component/player/index.mjs +856 -0
  21. package/dist/es/component/playground/index.css +431 -0
  22. package/dist/es/component/playground/index.mjs +8 -0
  23. package/dist/es/component/playground/playground-demo-ui-context.json +290 -0
  24. package/dist/es/component/playground-result/index.css +34 -0
  25. package/dist/es/component/playground-result/index.mjs +62 -0
  26. package/dist/es/component/prompt-input/index.css +391 -0
  27. package/dist/es/component/prompt-input/index.mjs +730 -0
  28. package/dist/es/component/service-mode-control/index.mjs +105 -0
  29. package/dist/es/component/shiny-text/index.css +75 -0
  30. package/dist/es/component/shiny-text/index.mjs +15 -0
  31. package/dist/es/component/universal-playground/index.css +341 -0
  32. package/dist/es/component/universal-playground/index.mjs +302 -0
  33. package/dist/es/component/universal-playground/providers/context-provider.mjs +52 -0
  34. package/dist/es/component/universal-playground/providers/indexeddb-storage-provider.mjs +207 -0
  35. package/dist/es/component/universal-playground/providers/storage-provider.mjs +210 -0
  36. package/dist/es/hooks/usePlaygroundExecution.mjs +180 -0
  37. package/dist/es/hooks/usePlaygroundState.mjs +203 -0
  38. package/dist/es/hooks/useSafeOverrideAIConfig.mjs +24 -0
  39. package/dist/es/hooks/useServerValid.mjs +30 -0
  40. package/dist/es/icons/avatar.mjs +28 -0
  41. package/dist/es/icons/close.mjs +19 -0
  42. package/dist/es/icons/global-perspective.mjs +16 -0
  43. package/dist/es/icons/history.mjs +30 -0
  44. package/dist/es/icons/magnifying-glass.mjs +39 -0
  45. package/dist/es/icons/player-setting.mjs +26 -0
  46. package/dist/es/icons/setting.mjs +20 -0
  47. package/dist/es/icons/show-marker.mjs +16 -0
  48. package/dist/es/index.mjs +25 -0
  49. package/dist/es/store/history.mjs +89 -0
  50. package/dist/es/store/store.mjs +186 -0
  51. package/dist/es/types.mjs +70 -0
  52. package/dist/es/utils/color.mjs +35 -0
  53. package/dist/es/utils/constants.mjs +99 -0
  54. package/dist/es/utils/index.mjs +10 -0
  55. package/dist/es/utils/pixi-loader.mjs +16 -0
  56. package/dist/es/utils/playground-utils.mjs +67 -0
  57. package/dist/es/utils/replay-scripts.mjs +312 -0
  58. package/dist/lib/component/blackboard/index.css +33 -0
  59. package/dist/lib/component/blackboard/index.js +321 -0
  60. package/dist/lib/component/config-selector/index.js +148 -0
  61. package/dist/lib/component/context-preview/index.js +83 -0
  62. package/dist/lib/component/env-config/index.js +146 -0
  63. package/dist/lib/component/env-config-reminder/index.css +22 -0
  64. package/dist/lib/component/env-config-reminder/index.js +62 -0
  65. package/dist/lib/component/form-field/index.js +209 -0
  66. package/dist/lib/component/history-selector/index.css +135 -0
  67. package/dist/lib/component/history-selector/index.js +216 -0
  68. package/dist/lib/component/index.js +60 -0
  69. package/dist/lib/component/logo/index.css +13 -0
  70. package/dist/lib/component/logo/index.js +57 -0
  71. package/dist/lib/component/misc/index.js +150 -0
  72. package/dist/lib/component/nav-actions/index.js +66 -0
  73. package/dist/lib/component/nav-actions/style.css +35 -0
  74. package/dist/lib/component/player/index.css +185 -0
  75. package/dist/lib/component/player/index.js +902 -0
  76. package/dist/lib/component/playground/index.css +431 -0
  77. package/dist/lib/component/playground/index.js +113 -0
  78. package/dist/lib/component/playground/playground-demo-ui-context.json +290 -0
  79. package/dist/lib/component/playground-result/index.css +34 -0
  80. package/dist/lib/component/playground-result/index.js +106 -0
  81. package/dist/lib/component/prompt-input/index.css +391 -0
  82. package/dist/lib/component/prompt-input/index.js +774 -0
  83. package/dist/lib/component/service-mode-control/index.js +139 -0
  84. package/dist/lib/component/shiny-text/index.css +75 -0
  85. package/dist/lib/component/shiny-text/index.js +49 -0
  86. package/dist/lib/component/universal-playground/index.css +341 -0
  87. package/dist/lib/component/universal-playground/index.js +350 -0
  88. package/dist/lib/component/universal-playground/providers/context-provider.js +95 -0
  89. package/dist/lib/component/universal-playground/providers/indexeddb-storage-provider.js +247 -0
  90. package/dist/lib/component/universal-playground/providers/storage-provider.js +268 -0
  91. package/dist/lib/hooks/usePlaygroundExecution.js +214 -0
  92. package/dist/lib/hooks/usePlaygroundState.js +237 -0
  93. package/dist/lib/hooks/useSafeOverrideAIConfig.js +61 -0
  94. package/dist/lib/hooks/useServerValid.js +64 -0
  95. package/dist/lib/icons/avatar.js +62 -0
  96. package/dist/lib/icons/close.js +53 -0
  97. package/dist/lib/icons/global-perspective.js +50 -0
  98. package/dist/lib/icons/history.js +64 -0
  99. package/dist/lib/icons/magnifying-glass.js +73 -0
  100. package/dist/lib/icons/player-setting.js +60 -0
  101. package/dist/lib/icons/setting.js +54 -0
  102. package/dist/lib/icons/show-marker.js +50 -0
  103. package/dist/lib/index.js +187 -0
  104. package/dist/lib/store/history.js +96 -0
  105. package/dist/lib/store/store.js +196 -0
  106. package/dist/lib/types.js +116 -0
  107. package/dist/lib/utils/color.js +75 -0
  108. package/dist/lib/utils/constants.js +154 -0
  109. package/dist/lib/utils/index.js +63 -0
  110. package/dist/lib/utils/pixi-loader.js +56 -0
  111. package/dist/lib/utils/playground-utils.js +110 -0
  112. package/dist/lib/utils/replay-scripts.js +355 -0
  113. package/dist/types/component/blackboard/index.d.ts +15 -0
  114. package/dist/types/component/config-selector/index.d.ts +9 -0
  115. package/dist/types/component/context-preview/index.d.ts +9 -0
  116. package/dist/types/component/env-config/index.d.ts +6 -0
  117. package/dist/types/component/env-config-reminder/index.d.ts +6 -0
  118. package/dist/types/component/form-field/index.d.ts +17 -0
  119. package/dist/types/component/history-selector/index.d.ts +10 -0
  120. package/dist/types/component/index.d.ts +1 -0
  121. package/dist/types/component/logo/index.d.ts +5 -0
  122. package/dist/types/component/misc/index.d.ts +6 -0
  123. package/dist/types/component/nav-actions/index.d.ts +10 -0
  124. package/dist/types/component/player/index.d.ts +13 -0
  125. package/dist/types/component/playground/index.d.ts +7 -0
  126. package/dist/types/component/playground-result/index.d.ts +20 -0
  127. package/dist/types/component/prompt-input/index.d.ts +22 -0
  128. package/dist/types/component/service-mode-control/index.d.ts +6 -0
  129. package/dist/types/component/shiny-text/index.d.ts +12 -0
  130. package/dist/types/component/universal-playground/index.d.ts +4 -0
  131. package/dist/types/component/universal-playground/providers/context-provider.d.ts +37 -0
  132. package/dist/types/component/universal-playground/providers/indexeddb-storage-provider.d.ts +71 -0
  133. package/dist/types/component/universal-playground/providers/storage-provider.d.ts +58 -0
  134. package/dist/types/hooks/usePlaygroundExecution.d.ts +10 -0
  135. package/dist/types/hooks/usePlaygroundState.d.ts +26 -0
  136. package/dist/types/hooks/useSafeOverrideAIConfig.d.ts +16 -0
  137. package/dist/types/hooks/useServerValid.d.ts +1 -0
  138. package/dist/types/index.d.ts +27 -0
  139. package/dist/types/store/history.d.ts +16 -0
  140. package/dist/types/store/store.d.ts +36 -0
  141. package/dist/types/types.d.ts +161 -0
  142. package/dist/types/utils/color.d.ts +4 -0
  143. package/dist/types/utils/constants.d.ts +74 -0
  144. package/dist/types/utils/index.d.ts +4 -0
  145. package/dist/types/utils/pixi-loader.d.ts +5 -0
  146. package/dist/types/utils/playground-utils.d.ts +6 -0
  147. package/dist/types/utils/replay-scripts.d.ts +34 -0
  148. package/package.json +85 -0
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ UniversalPlayground: ()=>UniversalPlayground,
37
+ default: ()=>universal_playground
38
+ });
39
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
40
+ const icons_namespaceObject = require("@ant-design/icons");
41
+ var icons_default = /*#__PURE__*/ __webpack_require__.n(icons_namespaceObject);
42
+ const external_antd_namespaceObject = require("antd");
43
+ const external_react_namespaceObject = require("react");
44
+ const usePlaygroundExecution_js_namespaceObject = require("../../hooks/usePlaygroundExecution.js");
45
+ const usePlaygroundState_js_namespaceObject = require("../../hooks/usePlaygroundState.js");
46
+ const store_js_namespaceObject = require("../../store/store.js");
47
+ const index_js_namespaceObject = require("../context-preview/index.js");
48
+ const external_env_config_reminder_index_js_namespaceObject = require("../env-config-reminder/index.js");
49
+ const external_playground_result_index_js_namespaceObject = require("../playground-result/index.js");
50
+ require("./index.css");
51
+ const avatar_js_namespaceObject = require("../../icons/avatar.js");
52
+ var avatar_js_default = /*#__PURE__*/ __webpack_require__.n(avatar_js_namespaceObject);
53
+ const external_prompt_input_index_js_namespaceObject = require("../prompt-input/index.js");
54
+ const storage_provider_js_namespaceObject = require("./providers/storage-provider.js");
55
+ const { Text } = external_antd_namespaceObject.Typography;
56
+ function getSDKId(sdk) {
57
+ if (sdk.id && 'string' == typeof sdk.id) return `agent-${sdk.id}`;
58
+ return 'playground-default';
59
+ }
60
+ function ErrorMessage(param) {
61
+ let { error } = param;
62
+ if (!error) return null;
63
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_antd_namespaceObject.Tooltip, {
64
+ title: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
65
+ style: {
66
+ whiteSpace: 'pre-wrap',
67
+ wordBreak: 'break-all'
68
+ },
69
+ children: error
70
+ }),
71
+ overlayStyle: {
72
+ maxWidth: '100vw'
73
+ },
74
+ children: [
75
+ "Error: ",
76
+ error.split('\n')[0]
77
+ ]
78
+ });
79
+ }
80
+ function UniversalPlayground(param) {
81
+ let { playgroundSDK, storage, contextProvider, config: componentConfig = {}, branding = {}, className = '', dryMode = false, showContextPreview = true } = param;
82
+ const [form] = external_antd_namespaceObject.Form.useForm();
83
+ const { config } = (0, store_js_namespaceObject.useEnvConfig)();
84
+ const [sdkReady, setSdkReady] = (0, external_react_namespaceObject.useState)(false);
85
+ (0, external_react_namespaceObject.useEffect)(()=>{
86
+ const initializeSDK = async ()=>{
87
+ if (playgroundSDK && 'function' == typeof playgroundSDK.checkStatus) try {
88
+ await playgroundSDK.checkStatus();
89
+ setSdkReady(true);
90
+ } catch (error) {
91
+ console.warn('Failed to initialize SDK, using default namespace:', error);
92
+ setSdkReady(true);
93
+ }
94
+ else setSdkReady(true);
95
+ };
96
+ initializeSDK();
97
+ }, [
98
+ playgroundSDK
99
+ ]);
100
+ const effectiveStorage = (0, external_react_namespaceObject.useMemo)(()=>{
101
+ if (storage) return storage;
102
+ if (!sdkReady) return null;
103
+ const namespace = componentConfig.storageNamespace || getSDKId(playgroundSDK);
104
+ const bestStorageType = (0, storage_provider_js_namespaceObject.detectBestStorageType)();
105
+ console.log(`Using ${bestStorageType} storage for namespace: ${namespace}`);
106
+ return (0, storage_provider_js_namespaceObject.createStorageProvider)(bestStorageType, namespace);
107
+ }, [
108
+ storage,
109
+ sdkReady,
110
+ componentConfig.storageNamespace,
111
+ playgroundSDK
112
+ ]);
113
+ const { loading, setLoading, infoList, setInfoList, actionSpace, actionSpaceLoading, uiContextPreview, setUiContextPreview, showScrollToBottomButton, verticalMode, replayCounter, setReplayCounter, infoListRef, currentRunningIdRef, interruptedFlagRef, clearInfoList, handleScrollToBottom } = (0, usePlaygroundState_js_namespaceObject.usePlaygroundState)(playgroundSDK, effectiveStorage, contextProvider);
114
+ const { handleRun: executeAction, handleStop, canStop } = (0, usePlaygroundExecution_js_namespaceObject.usePlaygroundExecution)(playgroundSDK, effectiveStorage, actionSpace, loading, setLoading, infoList, setInfoList, replayCounter, setReplayCounter, verticalMode, currentRunningIdRef, interruptedFlagRef);
115
+ (0, external_react_namespaceObject.useEffect)(()=>{
116
+ if ((null == playgroundSDK ? void 0 : playgroundSDK.overrideConfig) && config) playgroundSDK.overrideConfig(config).catch((error)=>{
117
+ console.error('Failed to override SDK config:', error);
118
+ });
119
+ }, [
120
+ playgroundSDK,
121
+ config
122
+ ]);
123
+ const handleFormRun = (0, external_react_namespaceObject.useCallback)(async ()=>{
124
+ try {
125
+ const value = form.getFieldsValue();
126
+ await executeAction(value);
127
+ } catch (error) {
128
+ external_antd_namespaceObject.message.error((null == error ? void 0 : error.message) || 'Execution failed');
129
+ }
130
+ }, [
131
+ form,
132
+ executeAction
133
+ ]);
134
+ const configAlreadySet = Object.keys(config || {}).length >= 1;
135
+ const runButtonEnabled = componentConfig.serverMode || !dryMode && !actionSpaceLoading && configAlreadySet;
136
+ const selectedType = external_antd_namespaceObject.Form.useWatch('type', form);
137
+ const finalShowContextPreview = showContextPreview && false !== componentConfig.showContextPreview;
138
+ const layout = componentConfig.layout || 'vertical';
139
+ const showVersionInfo = false !== componentConfig.showVersionInfo;
140
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
141
+ className: `playground-container ${layout}-mode ${className}`.trim(),
142
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_antd_namespaceObject.Form, {
143
+ form: form,
144
+ onFinish: handleFormRun,
145
+ className: "command-form",
146
+ children: [
147
+ finalShowContextPreview && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
148
+ className: "context-preview-section",
149
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.ContextPreview, {
150
+ uiContextPreview: uiContextPreview,
151
+ setUiContextPreview: setUiContextPreview,
152
+ showContextPreview: finalShowContextPreview
153
+ })
154
+ }),
155
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
156
+ className: "middle-dialog-area",
157
+ children: [
158
+ infoList.length > 1 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
159
+ className: "clear-button-container",
160
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_antd_namespaceObject.Button, {
161
+ size: "small",
162
+ icon: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icons_namespaceObject.ClearOutlined, {}),
163
+ onClick: clearInfoList,
164
+ type: "text",
165
+ className: "clear-button"
166
+ })
167
+ }),
168
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
169
+ ref: infoListRef,
170
+ className: "info-list-container",
171
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_antd_namespaceObject.List, {
172
+ itemLayout: "vertical",
173
+ dataSource: infoList,
174
+ renderItem: (item)=>{
175
+ var _item_result;
176
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_antd_namespaceObject.List.Item, {
177
+ className: "list-item",
178
+ children: 'user' === item.type ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
179
+ className: "user-message-container",
180
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
181
+ className: "user-message-bubble",
182
+ children: item.content
183
+ })
184
+ }) : 'progress' === item.type ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
185
+ children: (()=>{
186
+ var _parts_, _item_result, _item_result1, _item_result2;
187
+ const parts = item.content.split(' - ');
188
+ const action = null == (_parts_ = parts[0]) ? void 0 : _parts_.trim();
189
+ const description = parts.slice(1).join(' - ').trim();
190
+ const currentIndex = infoList.findIndex((listItem)=>listItem.id === item.id);
191
+ const laterProgressExists = infoList.slice(currentIndex + 1).some((listItem)=>'progress' === listItem.type);
192
+ const isLatestProgress = !laterProgressExists;
193
+ const shouldShowLoading = loading && isLatestProgress;
194
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
195
+ children: [
196
+ action && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("span", {
197
+ className: "progress-action-item",
198
+ children: [
199
+ action,
200
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
201
+ className: `progress-status-icon ${shouldShowLoading ? 'loading' : (null == (_item_result = item.result) ? void 0 : _item_result.error) ? 'error' : 'completed'}`,
202
+ children: shouldShowLoading ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icons_namespaceObject.LoadingOutlined, {
203
+ spin: true
204
+ }) : (null == (_item_result1 = item.result) ? void 0 : _item_result1.error) ? "\u2717" : "\u2713"
205
+ })
206
+ ]
207
+ }),
208
+ description && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
209
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
210
+ className: "progress-description",
211
+ children: description
212
+ })
213
+ }),
214
+ (null == (_item_result2 = item.result) ? void 0 : _item_result2.error) && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ErrorMessage, {
215
+ error: item.result.error
216
+ })
217
+ ]
218
+ });
219
+ })()
220
+ }) : 'separator' === item.type ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
221
+ className: "new-conversation-separator",
222
+ children: [
223
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
224
+ className: "separator-line"
225
+ }),
226
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
227
+ className: "separator-text-container",
228
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Text, {
229
+ type: "secondary",
230
+ className: "separator-text",
231
+ children: item.content
232
+ })
233
+ })
234
+ ]
235
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
236
+ className: "system-message-container",
237
+ children: [
238
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
239
+ className: "system-message-header",
240
+ children: [
241
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icons_default(), {
242
+ component: branding.icon || avatar_js_default(),
243
+ style: {
244
+ fontSize: 20
245
+ }
246
+ }),
247
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
248
+ className: "system-message-title",
249
+ children: branding.title || 'Playground'
250
+ })
251
+ ]
252
+ }),
253
+ (item.content || item.result) && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
254
+ className: "system-message-content",
255
+ children: [
256
+ 'result' === item.type && (null == (_item_result = item.result) ? void 0 : _item_result.error) && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
257
+ className: "error-message",
258
+ children: [
259
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
260
+ className: "divider"
261
+ }),
262
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ErrorMessage, {
263
+ error: item.result.error
264
+ })
265
+ ]
266
+ }),
267
+ 'result' === item.type ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_playground_result_index_js_namespaceObject.PlaygroundResultView, {
268
+ result: item.result || null,
269
+ loading: item.loading || false,
270
+ serverValid: true,
271
+ serviceMode: 'Server',
272
+ replayScriptsInfo: item.replayScriptsInfo || null,
273
+ replayCounter: item.replayCounter || 0,
274
+ loadingProgressText: item.loadingProgressText || '',
275
+ verticalMode: item.verticalMode || false,
276
+ fitMode: "width"
277
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
278
+ children: [
279
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
280
+ className: "system-message-text",
281
+ children: item.content
282
+ }),
283
+ item.loading && item.loadingProgressText && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
284
+ className: "loading-progress-text",
285
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
286
+ children: item.loadingProgressText
287
+ })
288
+ })
289
+ ]
290
+ })
291
+ ]
292
+ })
293
+ ]
294
+ })
295
+ }, item.id);
296
+ }
297
+ })
298
+ }),
299
+ showScrollToBottomButton && false !== componentConfig.enableScrollToBottom && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_antd_namespaceObject.Button, {
300
+ className: "scroll-to-bottom-button",
301
+ type: "primary",
302
+ shape: "circle",
303
+ icon: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icons_namespaceObject.ArrowDownOutlined, {}),
304
+ onClick: handleScrollToBottom,
305
+ size: "large"
306
+ })
307
+ ]
308
+ }),
309
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
310
+ className: "bottom-input-section",
311
+ children: [
312
+ componentConfig.showEnvConfigReminder ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_env_config_reminder_index_js_namespaceObject.EnvConfigReminder, {}) : null,
313
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_prompt_input_index_js_namespaceObject.PromptInput, {
314
+ runButtonEnabled: runButtonEnabled,
315
+ form: form,
316
+ serviceMode: 'Server',
317
+ selectedType: selectedType,
318
+ dryMode: dryMode,
319
+ stoppable: canStop,
320
+ loading: loading,
321
+ onRun: handleFormRun,
322
+ onStop: handleStop,
323
+ actionSpace: actionSpace
324
+ })
325
+ ]
326
+ }),
327
+ showVersionInfo && branding.version && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
328
+ className: "version-info-section",
329
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("span", {
330
+ className: "version-text",
331
+ children: [
332
+ "Midscene.js version: ",
333
+ branding.version
334
+ ]
335
+ })
336
+ })
337
+ ]
338
+ })
339
+ });
340
+ }
341
+ const universal_playground = UniversalPlayground;
342
+ exports.UniversalPlayground = __webpack_exports__.UniversalPlayground;
343
+ exports["default"] = __webpack_exports__["default"];
344
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
345
+ "UniversalPlayground",
346
+ "default"
347
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
348
+ Object.defineProperty(exports, '__esModule', {
349
+ value: true
350
+ });
@@ -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 ('undefined' != 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 _define_property(obj, key, value) {
33
+ if (key in obj) Object.defineProperty(obj, key, {
34
+ value: value,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ });
39
+ else obj[key] = value;
40
+ return obj;
41
+ }
42
+ class BaseContextProvider {
43
+ async refreshContext() {
44
+ this.cachedContext = void 0;
45
+ return await this.getUIContext();
46
+ }
47
+ constructor(){
48
+ _define_property(this, "cachedContext", void 0);
49
+ }
50
+ }
51
+ class AgentContextProvider extends BaseContextProvider {
52
+ async getUIContext() {
53
+ if (this.cachedContext) return this.cachedContext;
54
+ const agent = this.getAgent();
55
+ if (!(null == agent ? void 0 : agent.getUIContext)) throw new Error('Agent does not support getUIContext');
56
+ const context = await agent.getUIContext();
57
+ this.cachedContext = context;
58
+ return context;
59
+ }
60
+ constructor(getAgent, options){
61
+ super(), _define_property(this, "getAgent", void 0), _define_property(this, "options", void 0), this.getAgent = getAgent, this.options = options;
62
+ }
63
+ }
64
+ class StaticContextProvider extends BaseContextProvider {
65
+ async getUIContext() {
66
+ return this.context;
67
+ }
68
+ async refreshContext() {
69
+ return this.context;
70
+ }
71
+ constructor(context){
72
+ super(), _define_property(this, "context", void 0), this.context = context;
73
+ }
74
+ }
75
+ class NoOpContextProvider {
76
+ async getUIContext() {
77
+ throw new Error('Context preview is disabled');
78
+ }
79
+ async refreshContext() {
80
+ throw new Error('Context preview is disabled');
81
+ }
82
+ }
83
+ exports.AgentContextProvider = __webpack_exports__.AgentContextProvider;
84
+ exports.BaseContextProvider = __webpack_exports__.BaseContextProvider;
85
+ exports.NoOpContextProvider = __webpack_exports__.NoOpContextProvider;
86
+ exports.StaticContextProvider = __webpack_exports__.StaticContextProvider;
87
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
88
+ "AgentContextProvider",
89
+ "BaseContextProvider",
90
+ "NoOpContextProvider",
91
+ "StaticContextProvider"
92
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
93
+ Object.defineProperty(exports, '__esModule', {
94
+ value: true
95
+ });