guideai-app 0.5.4-2 → 0.5.4-8

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 (190) hide show
  1. package/README.md +105 -1
  2. package/dist/GuideAI.d.ts +2 -5
  3. package/dist/GuideAI.js +1 -1
  4. package/dist/GuideAI.js.LICENSE.txt +2 -17
  5. package/dist/buddy/buddyPropTools.d.ts +188 -0
  6. package/dist/buddy/buddyStore.d.ts +88 -0
  7. package/dist/buddy/buddyTools.d.ts +6 -0
  8. package/dist/buddy/types.d.ts +56 -0
  9. package/dist/components/DeveloperTools.d.ts +5 -3
  10. package/dist/components/Microphone.d.ts +17 -2
  11. package/dist/components/PlaybackLockDebugOverlayRoot.d.ts +1 -1
  12. package/dist/components/SessionRatingPopup.d.ts +16 -0
  13. package/dist/components/SubtitleInputBar.d.ts +23 -0
  14. package/dist/components/SubtitleSettingsMenu.d.ts +9 -0
  15. package/dist/components/TranscriptBox.d.ts +16 -12
  16. package/dist/components/TranscriptMessages.d.ts +8 -1
  17. package/dist/components/TranscriptNextStepBar.d.ts +34 -0
  18. package/dist/components/TranscriptSessionMicLevels.d.ts +8 -0
  19. package/dist/components/TranscriptStudioChrome.d.ts +8 -7
  20. package/dist/components/TranscriptTextInput.d.ts +4 -12
  21. package/dist/components/TranscriptToolbar.d.ts +3 -1
  22. package/dist/components/TranscriptWorkflowDrawer.d.ts +5 -7
  23. package/dist/contexts/GuideAIThemeContext.d.ts +13 -0
  24. package/dist/devtools/DeveloperToolsShell.d.ts +1 -1
  25. package/dist/devtools/TranscriptDeveloperToolsMenuItems.d.ts +45 -0
  26. package/dist/devtools/TranscriptUiDevtoolsPanel.d.ts +10 -0
  27. package/dist/devtools/adminToolDiagnostics/AdminToolDiagnosticsPanel.d.ts +1 -1
  28. package/dist/devtools/developerToolPanelId.d.ts +1 -1
  29. package/dist/devtools/devtoolsAdminPortalLinks.d.ts +11 -0
  30. package/dist/devtools/devtoolsAuth/DevtoolsAuthContext.d.ts +14 -0
  31. package/dist/devtools/devtoolsAuth/DevtoolsLoginModal.d.ts +13 -0
  32. package/dist/devtools/devtoolsAuth/devtoolsAccessTrigger.d.ts +9 -0
  33. package/dist/devtools/devtoolsAuth/devtoolsAdminApi.d.ts +13 -0
  34. package/dist/devtools/devtoolsAuth/devtoolsLoginModalStyles.d.ts +1 -0
  35. package/dist/devtools/devtoolsAuth/devtoolsPortalLogin.d.ts +15 -0
  36. package/dist/devtools/devtoolsAuth/devtoolsSessionStorage.d.ts +4 -0
  37. package/dist/devtools/devtoolsAuth/index.d.ts +9 -0
  38. package/dist/devtools/devtoolsAuth/types.d.ts +21 -0
  39. package/dist/devtools/devtoolsAuth/useDevtoolsAccess.d.ts +33 -0
  40. package/dist/devtools/devtoolsThemePreference.d.ts +3 -0
  41. package/dist/devtools/excavator/ExcavatorPanel.d.ts +17 -0
  42. package/dist/devtools/excavator/excavatorPanelStyles.d.ts +5 -0
  43. package/dist/devtools/excavator/excavatorSse.d.ts +6 -0
  44. package/dist/devtools/learn/LearnCaptureChrome.stub.d.ts +3 -0
  45. package/dist/devtools/learn/LearnModePanel.d.ts +18 -0
  46. package/dist/devtools/learn/LearnModePanel.stub.d.ts +3 -0
  47. package/dist/devtools/learn/LearnOrchestrationHost.d.ts +52 -0
  48. package/dist/devtools/learn/injectLearnModeStyles.d.ts +2 -0
  49. package/dist/devtools/learn/learnCaptureChrome.d.ts +33 -0
  50. package/dist/devtools/learn/learnCaptureLayout.d.ts +26 -0
  51. package/dist/devtools/learn/learnCaptureToolbar.d.ts +27 -0
  52. package/dist/devtools/learn/learnClarifyKickoff.d.ts +6 -0
  53. package/dist/devtools/learn/learnLiteTranscript.d.ts +22 -0
  54. package/dist/devtools/learn/learnModeStyles.d.ts +5 -0
  55. package/dist/devtools/learn/learnModeTypes.d.ts +5 -0
  56. package/dist/devtools/learn/learnOrchestrationStub.d.ts +5 -0
  57. package/dist/devtools/learn/learnPanelSyncFieldsEqual.d.ts +3 -0
  58. package/dist/devtools/learn/learnRealtimeSession.d.ts +10 -0
  59. package/dist/devtools/learn/learnRefBag.d.ts +41 -0
  60. package/dist/devtools/learn/learnSessionStorage.d.ts +23 -0
  61. package/dist/devtools/learn/learnWebRTCInit.d.ts +20 -0
  62. package/dist/devtools/learn/learnWorkspaceContext.d.ts +5 -0
  63. package/dist/devtools/learn/loadLearnOrchestration.d.ts +10 -0
  64. package/dist/devtools/learn/useLearnCaptureDuration.d.ts +4 -0
  65. package/dist/devtools/learn/useLearnClickCapture.d.ts +9 -0
  66. package/dist/devtools/learn/useLearnMode.d.ts +47 -0
  67. package/dist/devtools/learn/useLearnMode.stub.d.ts +3 -0
  68. package/dist/devtools/panelLayout.d.ts +6 -0
  69. package/dist/devtools/silentMessages/silentMessageDebug.d.ts +86 -0
  70. package/dist/devtools/silentMessages/useSilentMessageDebug.d.ts +18 -0
  71. package/dist/devtools/transcriptDevtoolsMenuProps.d.ts +33 -0
  72. package/dist/devtools/transcriptMoreMenu/DeveloperToolsAdminPortalFlyout.d.ts +20 -0
  73. package/dist/devtools/transcriptMoreMenu/DeveloperToolsLoggerFlyout.d.ts +16 -0
  74. package/dist/devtools/transcriptMoreMenu/DeveloperToolsMicPresetFlyout.d.ts +22 -0
  75. package/dist/devtools/transcriptMoreMenu/ThemePresetSwatch.d.ts +8 -0
  76. package/dist/devtools/transcriptMoreMenu/TranscriptDeveloperToolsMenuItems.d.ts +25 -0
  77. package/dist/devtools/transcriptMoreMenu/TranscriptDeveloperToolsThemeFlyout.d.ts +13 -0
  78. package/dist/devtools/transcriptMoreMenu/TranscriptMoreMenuDevtools.d.ts +27 -0
  79. package/dist/devtools/transcriptMoreMenu/devtoolsFlyoutTypes.d.ts +1 -0
  80. package/dist/devtools/transcriptMoreMenu/index.d.ts +2 -0
  81. package/dist/devtools/transcriptMoreMenu/readWindowGuideAILogger.d.ts +12 -0
  82. package/dist/devtools/transcriptMoreMenu/useTranscriptMoreMenuDebugFlyouts.d.ts +24 -0
  83. package/dist/devtools/useDraggableDialog.d.ts +8 -1
  84. package/dist/devtools/useGuideDeveloperTools.d.ts +16 -7
  85. package/dist/devtools/useGuideDevtoolsIntegration.d.ts +56 -0
  86. package/dist/devtools/workflowTester/WorkflowTesterPanel.d.ts +4 -28
  87. package/dist/devtools/workflowTester/WorkflowTesterPanel.stub.d.ts +3 -0
  88. package/dist/devtools/workflowTester/index.d.ts +1 -2
  89. package/dist/devtools/workflowTester/useWorkflowSimulationController.d.ts +12 -0
  90. package/dist/devtools/workflowTester/useWorkflowSimulationRun.d.ts +47 -0
  91. package/dist/devtools/workflowTester/workflowSimulationController.d.ts +31 -0
  92. package/dist/devtools/workflowTester/workflowSimulationDevtoolsApi.d.ts +51 -0
  93. package/dist/devtools/workflowTester/workflowSimulationFinishRun.d.ts +4 -0
  94. package/dist/devtools/workflowTester/workflowSimulationRunner.d.ts +46 -0
  95. package/dist/devtools/workflowTester/workflowSimulationRunnerAi.d.ts +20 -0
  96. package/dist/devtools/workflowTester/workflowSimulationSessionRestore.d.ts +21 -0
  97. package/dist/devtools/workflowTester/workflowSimulationTurnState.d.ts +20 -0
  98. package/dist/devtools/workflowTester/workflowSimulationTypes.d.ts +28 -0
  99. package/dist/devtools/workflowTester/workflowSimulationWaits.d.ts +55 -0
  100. package/dist/devtools/workflowTester/workflowTesterPanel.types.d.ts +25 -0
  101. package/dist/devtools/workflowTester/workflowTesterRunSessionStorage.d.ts +43 -0
  102. package/dist/devtools/workflowTester/workflowTesterWorkspaceBridge.d.ts +4 -2
  103. package/dist/hooks/useConversationSession.d.ts +16 -2
  104. package/dist/hooks/useGuideAIMutePipeline.d.ts +1 -0
  105. package/dist/hooks/useGuideAIThemeState.d.ts +6 -0
  106. package/dist/hooks/useHiddenRealtimeSteers.d.ts +3 -1
  107. package/dist/hooks/useLauncherTabDrag.d.ts +23 -0
  108. package/dist/hooks/useMicMute.d.ts +1 -0
  109. package/dist/hooks/useSessionRating.d.ts +21 -0
  110. package/dist/hooks/useSubtitleAppearancePrefs.d.ts +5 -0
  111. package/dist/hooks/useThemePortalProps.d.ts +4 -0
  112. package/dist/hooks/useTranscriptChrome.d.ts +7 -2
  113. package/dist/hooks/useTranscriptDisplayMode.d.ts +6 -0
  114. package/dist/hooks/useTranscriptPanelDragResize.d.ts +47 -0
  115. package/dist/hooks/useWebRTC.d.ts +9 -0
  116. package/dist/hooks/useWidgetWorkflowSession.d.ts +2 -0
  117. package/dist/hooks/useWorkflowTesterOverlay.d.ts +10 -10
  118. package/dist/hooks/useWorkspaceCatalog.d.ts +1 -0
  119. package/dist/index.d.ts +4 -1
  120. package/dist/lib/workspaceEmbedIcons.d.ts +0 -1
  121. package/dist/playwrightBuddyHarness.d.ts +12 -0
  122. package/dist/playwrightBuddyHarness.js +1766 -0
  123. package/dist/playwrightSimulationHarness.d.ts +16 -0
  124. package/dist/playwrightSimulationHarness.js +1 -0
  125. package/dist/playwrightToolHarness.d.ts +6 -2
  126. package/dist/playwrightToolHarness.js +1 -1
  127. package/dist/sessionRating.defaults.d.ts +4 -0
  128. package/dist/sessionRatingPrompts.d.ts +1 -0
  129. package/dist/staticContext/collectContext.d.ts +24 -13
  130. package/dist/staticContext/collectors/domSignals.d.ts +29 -0
  131. package/dist/staticContext/collectors/jqueryUi.d.ts +7 -0
  132. package/dist/staticContext/collectors/visibility.d.ts +6 -0
  133. package/dist/staticContext/hostPageFrameworkProbe.d.ts +21 -0
  134. package/dist/staticContext/index.d.ts +3 -2
  135. package/dist/staticContext/types.d.ts +112 -4
  136. package/dist/staticContext/useStaticContext.d.ts +5 -3
  137. package/dist/stubs/workspaces.d.ts +2 -2
  138. package/dist/styles/GuideAI.styles.d.ts +5 -1
  139. package/dist/styles/guideAIStylesTabLauncher.d.ts +7 -0
  140. package/dist/styles/guideAIThemeTokens.d.ts +5 -0
  141. package/dist/styles/guideaiTestsiteWidgetTheme.d.ts +6 -0
  142. package/dist/themes/buildThemeCss.d.ts +8 -0
  143. package/dist/themes/guideAIThemeIds.d.ts +5 -0
  144. package/dist/themes/presetThemes.d.ts +9 -0
  145. package/dist/themes/syncGuideAITheme.d.ts +2 -0
  146. package/dist/themes/themeTokens.types.d.ts +37 -0
  147. package/dist/types/GuideAI.types.d.ts +43 -4
  148. package/dist/utils/api.d.ts +39 -0
  149. package/dist/utils/api.learn.d.ts +18 -0
  150. package/dist/utils/conversationContextSwitch.d.ts +41 -0
  151. package/dist/utils/conversationManager.d.ts +39 -2
  152. package/dist/utils/dataChannel.d.ts +15 -0
  153. package/dist/utils/dataChannelHelpers.d.ts +26 -6
  154. package/dist/utils/guideaiMirroredStorageKeys.d.ts +35 -0
  155. package/dist/utils/lastSystemToolCall.d.ts +2 -1
  156. package/dist/utils/localStorageHelper.d.ts +52 -32
  157. package/dist/utils/localStorageThrottle.d.ts +6 -0
  158. package/dist/utils/messageStorage.d.ts +20 -7
  159. package/dist/utils/parseWorkspaceSlugList.d.ts +13 -0
  160. package/dist/utils/pathIncludesAnyRef.d.ts +12 -0
  161. package/dist/utils/resolveCatalogWorkspaceSlug.d.ts +11 -0
  162. package/dist/utils/sessionRatingThrottle.d.ts +3 -0
  163. package/dist/utils/sessionStorageJson.d.ts +3 -0
  164. package/dist/utils/themeRegistry.d.ts +14 -0
  165. package/dist/utils/tools/clickElement.d.ts +6 -0
  166. package/dist/utils/tools/cursorStyles.d.ts +17 -0
  167. package/dist/utils/tools/descriptionToHighlightSelector.d.ts +1 -1
  168. package/dist/utils/tools/docToForm.d.ts +2 -2
  169. package/dist/utils/tools/elementInteractions.d.ts +35 -1
  170. package/dist/utils/tools/elementToBestInteractionSelector.d.ts +8 -0
  171. package/dist/utils/tools/fillField.d.ts +1 -1
  172. package/dist/utils/tools/hover.d.ts +6 -0
  173. package/dist/utils/tools/selectWorkspace.d.ts +45 -0
  174. package/dist/utils/tools/toolRegistry.d.ts +5 -1
  175. package/dist/utils/tools/workspaceToolBridge.d.ts +22 -0
  176. package/dist/utils/transcriptDisplayModePref.d.ts +4 -0
  177. package/dist/utils/transcriptFloatGeometry.d.ts +78 -0
  178. package/dist/utils/transcriptSubtitleUiPref.d.ts +5 -0
  179. package/dist/utils/webrtcConnection.d.ts +7 -0
  180. package/dist/utils/widgetBearerStorage.d.ts +2 -2
  181. package/dist/utils/widgetWorkspaces.d.ts +0 -2
  182. package/dist/utils/workflowProgressSync.d.ts +65 -0
  183. package/dist/utils/workflowSteer.d.ts +10 -0
  184. package/dist/utils/workspaceCatalog.d.ts +20 -3
  185. package/dist/utils/workspaceCatalogFatal.d.ts +4 -0
  186. package/dist/visualContext/defaultProvider.d.ts +4 -10
  187. package/dist/visualContext/screenshotEncoding.d.ts +37 -0
  188. package/dist/visualContext/useVisualContext.d.ts +2 -1
  189. package/dist/visualContext/visualContextCaptureLock.d.ts +17 -0
  190. package/package.json +2 -2
@@ -0,0 +1,16 @@
1
+ import { type PendingWorkflowTesterRun } from './devtools/workflowTester/workflowTesterRunSessionStorage';
2
+ import type { WorkflowSimulationRunnerParams } from './devtools/workflowTester/workflowSimulationRunner';
3
+ export type PlaywrightSimulationHarness = {
4
+ getPending: () => PendingWorkflowTesterRun | null;
5
+ setPending: (run: PendingWorkflowTesterRun) => void;
6
+ parseAnswers: (raw: string) => string[];
7
+ run: (params: Omit<WorkflowSimulationRunnerParams, 'waits'> & {
8
+ waits?: WorkflowSimulationRunnerParams['waits'];
9
+ }) => Promise<void>;
10
+ refreshActiveFlag: () => void;
11
+ };
12
+ declare global {
13
+ interface Window {
14
+ __GUIDEAI_SIMULATION__?: PlaywrightSimulationHarness;
15
+ }
16
+ }
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e={245(e,t,n){var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,s){function i(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}u((r=r.apply(e,t||[])).next())})},s=this&&this.__generator||function(e,t){var n,r,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.devtoolsAdminFetch=function(e,t){return o(this,void 0,void 0,function(){var n,o,a,u,l,c,d;return s(this,function(s){return n=(0,i.getApiBaseUrl)(t.environment).replace(/\/$/,""),o=e.startsWith("/")?e:"/".concat(e),a=r(((l={Authorization:"Bearer ".concat(t.token)})[i.WIDGET_EXTENSION_HEADER]="1",l),null!==(c=t.headers)&&void 0!==c?c:{}),void 0!==t.body&&(a["Content-Type"]="application/json",u=JSON.stringify(t.body)),[2,fetch("".concat(n).concat(o),{method:null!==(d=t.method)&&void 0!==d?d:u?"POST":"GET",headers:a,body:u})]})})};var i=n(139)},534(e,t,n){var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,s){function i(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}u((r=r.apply(e,t||[])).next())})},s=this&&this.__generator||function(e,t){var n,r,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchWorkflowSimulationsForDevtools=function(e,t,n){return o(this,void 0,void 0,function(){var o,a,u;return s(this,function(s){switch(s.label){case 0:return[4,(0,i.devtoolsAdminFetch)("/extension/admin/workflows/".concat(encodeURIComponent(e),"/simulations"),{token:t,environment:n})];case 1:return[4,(o=s.sent()).json().catch(function(){return{}})];case 2:if(a=s.sent(),!o.ok)throw new Error("string"==typeof a.error?a.error:"Failed to load simulations (".concat(o.status,")"));return[2,(null!==(u=a.simulations)&&void 0!==u?u:[]).map(function(e){var t,n;return r(r({},e),{simulationType:null!==(t=e.simulationType)&&void 0!==t?t:"SCRIPTED",maxRounds:null!==(n=e.maxRounds)&&void 0!==n?n:null})})]}})})},t.generateWorkflowSimulationBodyForDevtools=function(e,t,n){return o(this,void 0,void 0,function(){var r,o,a,u,l,c;return s(this,function(s){switch(s.label){case 0:return r={},(o=null===(l=null==n?void 0:n.instructions)||void 0===l?void 0:l.trim())&&(r.instructions=o),(null==n?void 0:n.simulationType)&&(r.simulationType=n.simulationType),[4,(0,i.devtoolsAdminFetch)("/extension/admin/workflows/".concat(encodeURIComponent(e),"/simulations/generate-body"),{token:t,method:"POST",environment:null==n?void 0:n.environment,body:r})];case 1:return[4,(a=s.sent()).json().catch(function(){return{}})];case 2:if(u=s.sent(),!a.ok)throw new Error("string"==typeof u.error?u.error:"Generate failed (".concat(a.status,")"));if(!(null===(c=u.body)||void 0===c?void 0:c.trim()))throw new Error("No body returned");return[2,u.body]}})})},t.generateWorkflowSimulationTurnForDevtools=function(e,t,n,r){return o(this,void 0,void 0,function(){var o,a;return s(this,function(s){switch(s.label){case 0:return[4,(0,i.devtoolsAdminFetch)("/extension/admin/workflows/".concat(encodeURIComponent(e),"/simulations/generate-turn"),{token:t,method:"POST",environment:r,body:n})];case 1:return[4,(o=s.sent()).json().catch(function(){return{}})];case 2:if(a=s.sent(),!o.ok)throw new Error("string"==typeof a.error?a.error:"Generate turn failed (".concat(o.status,")"));return[2,{message:"string"==typeof a.message?a.message.trim():"",shouldStop:!0===a.shouldStop}]}})})},t.saveWorkflowSimulationForDevtools=function(e,t,n,a){return o(this,void 0,void 0,function(){var o,u,l,c,d;return s(this,function(s){switch(s.label){case 0:return o=n.id?"/extension/admin/workflows/".concat(encodeURIComponent(e),"/simulations/").concat(encodeURIComponent(n.id)):"/extension/admin/workflows/".concat(encodeURIComponent(e),"/simulations"),[4,(0,i.devtoolsAdminFetch)(o,{token:t,method:n.id?"PATCH":"POST",body:n.id?r(r({title:n.title,body:n.body,passCriteria:n.passCriteria},n.simulationType?{simulationType:n.simulationType}:{}),void 0!==n.maxRounds?{maxRounds:n.maxRounds}:{}):{title:n.title,body:n.body,passCriteria:n.passCriteria,simulationType:null!==(c=n.simulationType)&&void 0!==c?c:"SCRIPTED",maxRounds:null!==(d=n.maxRounds)&&void 0!==d?d:null,sortOrder:0},environment:a})];case 1:return[4,(u=s.sent()).json().catch(function(){return{}})];case 2:if(l=s.sent(),!u.ok)throw new Error("string"==typeof l.error?l.error:"Save failed (".concat(u.status,")"));return[2,l]}})})},t.finishWorkflowSimulationRunForDevtools=function(e,t,n,r){return o(this,void 0,void 0,function(){var o,a;return s(this,function(s){switch(s.label){case 0:return[4,(0,i.devtoolsAdminFetch)("/extension/admin/workflows/".concat(encodeURIComponent(e),"/simulations/finish-run"),{token:t,method:"POST",body:n,environment:r})];case 1:return[4,(o=s.sent()).json().catch(function(){return{}})];case 2:if(a=s.sent(),!o.ok)throw new Error("string"==typeof a.error?a.error:"Record run failed (".concat(o.status,")"));return[2,a]}})})};var i=n(245)},640(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,s){function i(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}u((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.recordWorkflowSimulationFinishRun=function(e,t,n,u,l,c,d){return r(this,void 0,void 0,function(){var r,f,p;return o(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,(0,i.finishWorkflowSimulationRunForDevtools)(e,t,{simulationId:n,conversationId:l,runId:u,mechanicalStatus:a(c),failureReason:null!==(p=c.errorMessage)&&void 0!==p?p:null},(0,s.getWidgetEnvironment)())];case 1:return r=o.sent(),d("".concat(r.assessedOutcome.toUpperCase()).concat(r.judgeSummary?" — ".concat(r.judgeSummary):"")),[3,3];case 2:return f=o.sent(),d(f instanceof Error?"Audit failed: ".concat(f.message):"Audit failed"),[3,3];case 3:return[2]}})})};var s=n(985),i=n(534);function a(e){return"finished"===e.status?"finished":"stopped"===e.status?"stopped":"error"}},272(e,t,n){var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,s){function i(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}u((r=r.apply(e,t||[])).next())})},s=this&&this.__generator||function(e,t){var n,r,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}},i=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,s=t.length;o<s;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.runWorkflowSimulation=function(e){return o(this,void 0,void 0,function(){var t,n,f,p,h,v,S,m,w,g,_,I,y,A,T,E,b,k,R,O,P,M,L,U,C,D,F,N,W,x,j,q,G,B,H,Y,Q,K,J,V,z,X,$,Z,ee,te,ne,re,oe,se,ie,ae,ue,le,ce,de,fe,pe,he,ve,Se,me,we,ge,_e,Ie,ye,Ae,Te=this;return s(this,function(Ee){switch(Ee.label){case 0:if("AI"===(null!==(te=null!==(ee=null===(Z=e.resume)||void 0===Z?void 0:Z.simulationType)&&void 0!==ee?ee:e.simulationType)&&void 0!==te?te:"SCRIPTED"))return[2,(0,d.runAiWorkflowSimulation)(r(r({},e),{instructionsText:null!==(oe=null!==(re=null===(ne=e.resume)||void 0===ne?void 0:ne.instructions)&&void 0!==re?re:e.instructionsText)&&void 0!==oe?oe:e.answersText,maxRounds:null!==(ae=null!==(ie=null===(se=e.resume)||void 0===se?void 0:se.maxRounds)&&void 0!==ie?ie:e.maxRounds)&&void 0!==ae?ae:null}))];if(t=e.resume,n=e.answersText,f=e.selectedSimulationId,p=e.targetWorkflowId,h=e.workspaceWorkflows,v=e.sessionWorkflowIdForInitRef,S=e.portalToken,m=e.stopRequested,w=e.runningRef,g=e.lastResumedRunIdRef,_=e.getMessages,I=e.isConversationActive,y=e.handleTextSubmit,A=e.ensureRealtimeSession,T=e.syncTranscriptFromStorage,E=e.getServerConversationId,b=e.enqueueWorkflowSteer,k=e.logWorkflowTesterSessionMarker,R=e.callbacks,O=e.waits,w.current)return[2];if(t||((0,a.clearPendingWorkflowTesterRun)(),g.current=null),0===(P=null!==(ue=null==t?void 0:t.answersQueue)&&void 0!==ue?ue:(0,u.parseSimulationAnswers)(n)).length)return R.onError("Add at least one answer line (or # comments are ignored)."),[2];if(M=null!==(le=null==t?void 0:t.simulationId)&&void 0!==le?le:f,L=M?void 0:k,U=null!==(ce=null==t?void 0:t.runId)&&void 0!==ce?ce:(0,u.newWorkflowSimulationRunId)(),C=null!==(de=null==t?void 0:t.startedAt)&&void 0!==de?de:Date.now(),!(D=null!==(fe=null==t?void 0:t.workflowId)&&void 0!==fe?fe:p))return R.onError("No workflow selected for this run."),[2];t||R.onLastRunOutcome(null),F=!1,N={status:"error",queuePlanned:P.length,queueCompleted:0,errorMessage:null},W=function(){return o(Te,void 0,void 0,function(){return s(this,function(e){switch(e.label){case 0:if(!F||!L)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,L({kind:"workflow_tester",phase:"end",runId:U,result:N})];case 2:case 3:return e.sent(),[3,4];case 4:return[2]}})})},x=function(e,t,n){D.trim()&&(0,a.setPendingWorkflowTesterRun)({runId:U,workflowId:D,simulationId:M,answersQueue:P,queueIndex:e,steerDone:t,conversationId:n,startedAt:C})},j=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return o(Te,i([t],n,!0),void 0,function(t,n){var r,o,i,a,l,c,d;return void 0===n&&(n=!1),s(this,function(s){switch(s.label){case 0:return"complete"!==(r=(0,u.getAnswerTurnState)(_(),t,C)).status?[3,3]:n?[3,2]:[4,O.waitForCondition(function(){return!e.isResponseActive()},1e4)];case 1:s.sent(),s.label=2;case 2:return[2,{ok:!0}];case 3:return"awaiting_assistant"!==r.status?[3,11]:[4,O.waitForTesterChannelReady({skipResponseIdle:n})];case 4:if(!(o=s.sent()).ok)return[2,o];if(!n)return[3,10];R.onStatus("sending"),s.label=5;case 5:return s.trys.push([5,7,,8]),[4,y(t)];case 6:return s.sent(),[3,8];case 7:return i=s.sent(),[2,{ok:!1,message:"Send failed: ".concat(i instanceof Error?i.message:String(i),". Check the admin conversation log for details.")}];case 8:return[4,O.waitForUserAnswerInTranscript(t,C)];case 9:return(a=s.sent()).ok?[2,O.waitForAssistantAfterHuman(a.human.timestamp)]:[2,a];case 10:return[2,O.waitForAssistantAfterHuman(r.humanTimestamp)];case 11:return[4,O.waitForTesterChannelReady({skipResponseIdle:n})];case 12:if(!(l=s.sent()).ok)return[2,l];if(!I()&&!O.channelIsReady())return[2,{ok:!1,message:"Conversation is not active."}];if((0,u.findHumanAnswerMessage)(_(),t,C))return[3,16];R.onStatus("sending"),s.label=13;case 13:return s.trys.push([13,15,,16]),[4,y(t)];case 14:return s.sent(),[3,16];case 15:return c=s.sent(),[2,{ok:!1,message:"Send failed: ".concat(c instanceof Error?c.message:String(c),". Check the admin conversation log for details.")}];case 16:return[4,O.waitForUserAnswerInTranscript(t,C)];case 17:return(d=s.sent()).ok?[2,O.waitForAssistantAfterHuman(d.human.timestamp)]:[2,d]}})})},R.onError(null),R.onQueueProgress(null!==(pe=null==t?void 0:t.queueIndex)&&void 0!==pe?pe:0,P.length),w.current=!0,q=null!==(he=null==t?void 0:t.steerDone)&&void 0!==he&&he,G=null!==(ve=null==t?void 0:t.queueIndex)&&void 0!==ve?ve:0,B=null!==(me=null!==(Se=null==t?void 0:t.conversationId)&&void 0!==Se?Se:null==E?void 0:E())&&void 0!==me?me:null,H=Boolean(t)&&"pause"!==(null==t?void 0:t.resumeMode),Ee.label=1;case 1:return Ee.trys.push([1,,22,27]),R.onStatus("waiting-for-conversation"),H&&A?(null==T||T(),[4,A()]):[3,3];case 2:if(!Ee.sent())return R.onStatus("error"),R.onError(l.WORKFLOW_SIMULATION_SESSION_RESTORE_ERROR),[2];null==T||T(),Ee.label=3;case 3:return H&&G>0?[4,O.waitForTranscriptRestored()]:[3,5];case 4:if(!(Y=Ee.sent()).ok)return R.onStatus("error"),R.onError(Y.message),[2];Ee.label=5;case 5:return[4,O.waitForTesterChannelReady({skipResponseIdle:H})];case 6:return(Q=Ee.sent()).ok?I()||O.channelIsReady()?(B=null!==(we=null==E?void 0:E())&&void 0!==we?we:B,H&&G>0&&(q=!0),x(G,q,B),q?[3,13]:(R.onStatus("starting-workflow"),(K=(0,u.resolveWorkflowStepLabelForSteer)(h,v.current))?[4,new Promise(function(e){return window.setTimeout(e,l.STEER_QUEUE_YIELD_MS)})]:(R.onStatus("error"),R.onError("No workflow label available for a hidden steer (workspace has no steps?)."),[2]))):(R.onStatus("error"),R.onError("Conversation is not active. Open the transcript and start the GuideAI session (mic), then run again."),[2]):(R.onStatus("error"),R.onError(Q.message),[2]);case 7:if(Ee.sent(),b(K),!L)return[3,11];Ee.label=8;case 8:return Ee.trys.push([8,10,,11]),[4,L({kind:"workflow_tester",phase:"start",runId:U,queuePlanned:P.length,workflowStepLabel:K})];case 9:return Ee.sent(),F=!0,[3,11];case 10:return Ee.sent(),[3,11];case 11:return[4,O.waitForSteerResponseCycle()];case 12:if(!(J=Ee.sent()).ok)return R.onStatus("error"),R.onError(J.message),N={status:"error",queuePlanned:P.length,queueCompleted:0,errorMessage:J.message},[2];q=!0,B=null!==(ge=null==E?void 0:E())&&void 0!==ge?ge:B,x(G,q,B),Ee.label=13;case 13:V=G,z=G,Ee.label=14;case 14:return z<P.length?m()?[3,21]:"complete"!==(0,u.getAnswerTurnState)(_(),P[z],C).status?[3,17]:(V=z+1,R.onQueueProgress(z+1,P.length),B=null!==(_e=null==E?void 0:E())&&void 0!==_e?_e:B,x(z+1,q,B),z<P.length-1?[4,new Promise(function(e){return window.setTimeout(e,l.POST_RESPONSE_PAUSE_MS)})]:[3,16]):[3,21];case 15:Ee.sent(),Ee.label=16;case 16:return[3,20];case 17:return[4,j(P[z],H)];case 18:return X=Ee.sent(),R.onQueueProgress(z+1,P.length),B=null!==(Ie=null==E?void 0:E())&&void 0!==Ie?Ie:B,x(z+1,q,B),X.ok?(V+=1,z<P.length-1?[4,new Promise(function(e){return window.setTimeout(e,l.POST_RESPONSE_PAUSE_MS)})]:[3,20]):(R.onStatus("error"),R.onError(X.message),N={status:"error",queuePlanned:P.length,queueCompleted:V,errorMessage:X.message},[2]);case 19:Ee.sent(),Ee.label=20;case 20:return z+=1,[3,14];case 21:return m()?(R.onStatus("stopped"),N={status:"stopped",queuePlanned:P.length,queueCompleted:V,errorMessage:"Stopped"},[2]):(R.onStatus("finished"),N={status:"finished",queuePlanned:P.length,queueCompleted:V,errorMessage:null},[3,27]);case 22:return H&&"error"===N.status||(0,a.clearPendingWorkflowTesterRun)(),[4,W()];case 23:return Ee.sent(),M&&S?($=null!==(Ae=null!==(ye=null==E?void 0:E())&&void 0!==ye?ye:null==B?void 0:B.trim())&&void 0!==Ae?Ae:null)?[4,(0,c.recordWorkflowSimulationFinishRun)(D,S,M,U,$,N,R.onLastRunOutcome)]:[3,25]:[3,26];case 24:return Ee.sent(),[3,26];case 25:R.onLastRunOutcome("Run finished (no server conversation to audit)"),Ee.label=26;case 26:return w.current=!1,[7];case 27:return[2]}})})};var a=n(12),u=n(108),l=n(417),c=n(640),d=n(210)},210(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,s){function i(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}u((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}},s=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,s=t.length;o<s;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.endAiWorkflowSimulationRun=function(e){return r(this,void 0,void 0,function(){var t,n,r,s,i,a,l,c,f,p,h,v,S,m,w,g,_,I;return o(this,function(o){switch(o.label){case 0:if(t=e.pending,n=e.portalToken,r=e.getServerConversationId,s=e.logWorkflowTesterSessionMarker,i=e.callbacks,a=t.workflowId,l=t.simulationId,c=t.runId,f=null!==(m=t.roundIndex)&&void 0!==m?m:0,p=null!==(w=t.maxRounds)&&void 0!==w?w:0,v={status:"stopped",queuePlanned:p,queueCompleted:f,errorMessage:null},!(h=l?void 0:s))return[3,4];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,h({kind:"workflow_tester",phase:"end",runId:c,result:v})];case 2:case 3:return o.sent(),[3,4];case 4:return(0,u.clearPendingWorkflowTesterRun)(),e.lastResumedRunIdRef&&(e.lastResumedRunIdRef.current=null),i.onError(null),i.onStatus("finished"),S=null!==(I=null!==(g=null==r?void 0:r())&&void 0!==g?g:null===(_=t.conversationId)||void 0===_?void 0:_.trim())&&void 0!==I?I:null,l&&S?[4,(0,d.recordWorkflowSimulationFinishRun)(a,n,l,c,S,v,i.onLastRunOutcome)]:[3,6];case 5:return o.sent(),[3,7];case 6:l?i.onLastRunOutcome("Ended (no server conversation to audit)"):i.onLastRunOutcome("Run ended"),o.label=7;case 7:return[2]}})})},t.runAiWorkflowSimulation=function(e){return r(this,void 0,void 0,function(){var t,n,f,p,h,v,S,m,w,g,_,I,y,A,T,E,b,k,R,O,P,M,L,U,C,D,F,N,W,x,j,q,G,B,H,Y,Q,K,J,V,z,X,$,Z,ee,te,ne,re,oe,se,ie,ae,ue,le,ce,de,fe,pe,he,ve,Se,me,we,ge=this;return o(this,function(_e){switch(_e.label){case 0:if(t=e.resume,n=e.instructionsText,f=e.maxRounds,p=e.selectedSimulationId,h=e.targetWorkflowId,v=e.workspaceWorkflows,S=e.sessionWorkflowIdForInitRef,m=e.portalToken,w=e.stopRequested,g=e.runningRef,_=e.lastResumedRunIdRef,I=e.getMessages,y=e.isConversationActive,A=e.handleTextSubmit,T=e.ensureRealtimeSession,E=e.syncTranscriptFromStorage,b=e.getServerConversationId,k=e.enqueueWorkflowSteer,R=e.logWorkflowTesterSessionMarker,O=e.callbacks,P=e.waits,!(M=n.trim()))return O.onError("Add customer instructions for the AI simulation."),[2];if(g.current)return[2];if(t||((0,u.clearPendingWorkflowTesterRun)(),_.current=null),L=null!==(ie=null==t?void 0:t.simulationId)&&void 0!==ie?ie:p,U=L?void 0:R,C=null!==(ae=null==t?void 0:t.runId)&&void 0!==ae?ae:(0,l.newWorkflowSimulationRunId)(),D=null!==(ue=null==t?void 0:t.startedAt)&&void 0!==ue?ue:Date.now(),!(F=null!==(le=null==t?void 0:t.workflowId)&&void 0!==le?le:h))return O.onError("No workflow selected for this run."),[2];t||O.onLastRunOutcome(null),N=!1,x={status:"error",queuePlanned:W=null!=f?f:0,queueCompleted:0,errorMessage:null},j=function(){return r(ge,void 0,void 0,function(){return o(this,function(e){switch(e.label){case 0:if(!N||!U)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,U({kind:"workflow_tester",phase:"end",runId:C,result:x})];case 2:case 3:return e.sent(),[3,4];case 4:return[2]}})})},q=function(e,t,n){F.trim()&&(0,u.setPendingWorkflowTesterRun)({runId:C,workflowId:F,simulationId:L,simulationType:"AI",instructions:M,roundIndex:e,maxRounds:f,steerDone:t,conversationId:n,startedAt:D})},G=function(t){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];return r(ge,s([t],n,!0),void 0,function(t,n){var r,s,i,a,u,c,d;return void 0===n&&(n=!1),o(this,function(o){switch(o.label){case 0:return"complete"!==(r=(0,l.getAnswerTurnState)(I(),t,D)).status?[3,3]:n?[3,2]:[4,P.waitForCondition(function(){return!e.isResponseActive()},1e4)];case 1:o.sent(),o.label=2;case 2:return[2,{ok:!0}];case 3:return"awaiting_assistant"!==r.status?[3,11]:[4,P.waitForTesterChannelReady({skipResponseIdle:n})];case 4:if(!(s=o.sent()).ok)return[2,s];if(!n)return[3,10];O.onStatus("sending"),o.label=5;case 5:return o.trys.push([5,7,,8]),[4,A(t)];case 6:return o.sent(),[3,8];case 7:return i=o.sent(),[2,{ok:!1,message:"Send failed: ".concat(i instanceof Error?i.message:String(i),". Check the admin conversation log for details.")}];case 8:return[4,P.waitForUserAnswerInTranscript(t,D)];case 9:return(a=o.sent()).ok?[2,P.waitForAssistantSettled(a.human.timestamp)]:[2,a];case 10:return[2,P.waitForAssistantSettled(r.humanTimestamp)];case 11:return[4,P.waitForTesterChannelReady({skipResponseIdle:n})];case 12:if(!(u=o.sent()).ok)return[2,u];if(!y()&&!P.channelIsReady())return[2,{ok:!1,message:"Conversation is not active."}];if((0,l.findHumanAnswerMessage)(I(),t,D))return[3,16];O.onStatus("sending"),o.label=13;case 13:return o.trys.push([13,15,,16]),[4,A(t)];case 14:return o.sent(),[3,16];case 15:return c=o.sent(),[2,{ok:!1,message:"Send failed: ".concat(c instanceof Error?c.message:String(c),". Check the admin conversation log for details.")}];case 16:return[4,P.waitForUserAnswerInTranscript(t,D)];case 17:return(d=o.sent()).ok?[2,P.waitForAssistantSettled(d.human.timestamp)]:[2,d]}})})},O.onError(null),B=null!==(ce=null==t?void 0:t.roundIndex)&&void 0!==ce?ce:0,O.onQueueProgress(B,W),g.current=!0,H=null!==(de=null==t?void 0:t.steerDone)&&void 0!==de&&de,Y=null!==(pe=null!==(fe=null==t?void 0:t.conversationId)&&void 0!==fe?fe:null==b?void 0:b())&&void 0!==pe?pe:null,Q=Boolean(t)&&"pause"!==(null==t?void 0:t.resumeMode),K=function(){return!!w()&&(O.onStatus("stopped"),x={status:"stopped",queuePlanned:W,queueCompleted:B,errorMessage:null},q(B,H,Y),!0)},_e.label=1;case 1:return _e.trys.push([1,,25,30]),O.onStatus("waiting-for-conversation"),Q&&T?(null==E||E(),[4,T()]):[3,3];case 2:if(!_e.sent())return O.onStatus("error"),O.onError(c.WORKFLOW_SIMULATION_SESSION_RESTORE_ERROR),[2];null==E||E(),_e.label=3;case 3:return Q&&B>0?[4,P.waitForTranscriptRestored()]:[3,5];case 4:if(!(J=_e.sent()).ok)return O.onStatus("error"),O.onError(J.message),[2];_e.label=5;case 5:return[4,P.waitForTesterChannelReady({skipResponseIdle:Q})];case 6:return(V=_e.sent()).ok?y()||P.channelIsReady()?(Y=null!==(he=null==b?void 0:b())&&void 0!==he?he:Y,Q&&B>0&&(H=!0),q(B,H,Y),H?[3,14]:(O.onStatus("starting-workflow"),(z=(0,l.resolveWorkflowStepLabelForSteer)(v,S.current))?[4,new Promise(function(e){return window.setTimeout(e,c.STEER_QUEUE_YIELD_MS)})]:(O.onStatus("error"),O.onError("No workflow label available for a hidden steer (workspace has no steps?)."),[2]))):(O.onStatus("error"),O.onError("Conversation is not active. Open the transcript and start the GuideAI session (mic), then run again."),[2]):(O.onStatus("error"),O.onError(V.message),[2]);case 7:if(_e.sent(),k(z),!U)return[3,11];_e.label=8;case 8:return _e.trys.push([8,10,,11]),[4,U({kind:"workflow_tester",phase:"start",runId:C,queuePlanned:W,workflowStepLabel:z})];case 9:return _e.sent(),N=!0,[3,11];case 10:return _e.sent(),[3,11];case 11:return[4,P.waitForSteerResponseCycle()];case 12:return(X=_e.sent()).ok?(H=!0,Y=null!==(ve=null==b?void 0:b())&&void 0!==ve?ve:Y,q(B,H,Y),[4,P.waitForAssistantSettled(D-1)]):(K()||(O.onStatus("error"),O.onError(X.message),x={status:"error",queuePlanned:W,queueCompleted:B,errorMessage:X.message}),[2]);case 13:return($=_e.sent()).ok?[3,16]:(K()||(O.onStatus("error"),O.onError($.message),x={status:"error",queuePlanned:W,queueCompleted:B,errorMessage:$.message}),[2]);case 14:return 0!==B?[3,16]:[4,P.waitForAssistantSettled(D-1)];case 15:if(!(Z=_e.sent()).ok)return K()||(O.onStatus("error"),O.onError(Z.message),x={status:"error",queuePlanned:W,queueCompleted:0,errorMessage:Z.message}),[2];_e.label=16;case 16:if(!m)return O.onStatus("error"),O.onError("Administrator login required to run AI simulations."),[2];_e.label=17;case 17:if(w())return[3,24];if(null!=f&&B>=f)return[3,24];O.onStatus("generating-customer"),ee=void 0,_e.label=18;case 18:return _e.trys.push([18,20,,21]),[4,(0,i.generateWorkflowSimulationTurnForDevtools)(F,m,{instructions:M,messages:(0,l.formatMessagesForAiCustomerTurn)(I(),D)},(0,a.getWidgetEnvironment)())];case 19:return ee=_e.sent(),[3,21];case 20:return te=_e.sent(),K()||(ne=te instanceof Error?te.message:String(te),O.onStatus("error"),O.onError(ne),x={status:"error",queuePlanned:W,queueCompleted:B,errorMessage:ne}),[2];case 21:return w()||ee.shouldStop||!ee.message.trim()?[3,24]:[4,G(ee.message.trim(),Q)];case 22:return(re=_e.sent()).ok?(B+=1,O.onQueueProgress(B,W),Y=null!==(Se=null==b?void 0:b())&&void 0!==Se?Se:Y,q(B,H,Y),null!=f&&B>=f?[3,24]:[4,new Promise(function(e){return window.setTimeout(e,c.POST_RESPONSE_PAUSE_MS)})]):(K()||(O.onStatus("error"),O.onError(re.message),x={status:"error",queuePlanned:W,queueCompleted:B,errorMessage:re.message}),[2]);case 23:return _e.sent(),[3,17];case 24:return w()?(K(),[2]):(O.onStatus("finished"),x={status:"finished",queuePlanned:W,queueCompleted:B,errorMessage:null},[3,30]);case 25:return oe="stopped"===x.status,Q&&"error"===x.status||oe||(0,u.clearPendingWorkflowTesterRun)(),[4,j()];case 26:return _e.sent(),!oe&&L&&m?(se=null!==(we=null!==(me=null==b?void 0:b())&&void 0!==me?me:null==Y?void 0:Y.trim())&&void 0!==we?we:null)?[4,(0,d.recordWorkflowSimulationFinishRun)(F,m,L,C,se,x,O.onLastRunOutcome)]:[3,28]:[3,29];case 27:return _e.sent(),[3,29];case 28:O.onLastRunOutcome("Run finished (no server conversation to audit)"),_e.label=29;case 29:return g.current=!1,[7];case 30:return[2]}})})};var i=n(534),a=n(985),u=n(12),l=n(108),c=n(417),d=n(640)},108(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.parseSimulationAnswers=function(e){return e.split("\n").map(function(e){return e.trim()}).filter(function(e){return e.length>0&&!e.startsWith("#")})},t.newWorkflowSimulationRunId=function(){return"wft_".concat(Date.now().toString(36),"_").concat(Math.random().toString(36).slice(2,9))},t.resolveWorkflowStepLabelForSteer=function(e,t){var n,r=null==t?void 0:t.trim(),o=r?e.find(function(e){return e.id===r}):void 0,s=null!=o?o:e[0];return(null===(n=null==s?void 0:s.label)||void 0===n?void 0:n.trim())||null},t.getAnswerTurnState=function(e,t,n){for(var r=t.trim(),o=0,s=0,i=e;s<i.length;s++)(l=i[s]).timestamp<n||"HUMAN"===l.sender&&l.content.trim()===r&&(o=l.timestamp);if(0===o)return{status:"not_started"};for(var a=0,u=e;a<u.length;a++){var l;if(!((l=u[a]).timestamp<=o)&&"GUIDEAI"===l.sender)return{status:"complete"}}return{status:"awaiting_assistant",humanTimestamp:o}},t.findHumanAnswerMessage=function(e,t,n){for(var r=t.trim(),o=null,s=0,i=e;s<i.length;s++){var a=i[s];a.timestamp<n||"HUMAN"===a.sender&&a.content.trim()===r&&(o=a)}return o},t.formatMessagesForAiCustomerTurn=function(e,t){for(var n=[],r=0,o=e;r<o.length;r++){var s=o[r];if(!(s.timestamp<t||"HUMAN"!==s.sender&&"GUIDEAI"!==s.sender)){var i=s.content.trim();i&&n.push({role:"HUMAN"===s.sender?"user":"assistant",content:i})}}return n},t.lastVisibleTranscriptMessage=function(e){if(!e)return null;for(var t=e.length-1;t>=0;t-=1){var n=e[t];if("HUMAN"===n.sender||"GUIDEAI"===n.sender)return n}return null}},417(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.WORKFLOW_SIMULATION_SESSION_RESTORE_ERROR=t.TESTER_WAIT_FAILSAFE_MS=t.CONDITION_POLL_MS=t.DATA_CHANNEL_POLL_MS=t.STEER_QUEUE_YIELD_MS=t.POST_RESPONSE_PAUSE_MS=t.ASSISTANT_RESPONSE_TIMEOUT_MS=t.TESTER_STATUS_LABEL=t.AI_SIMULATION_INSTRUCTIONS_PLACEHOLDER=t.SCRIPTED_SIMULATION_BODY_PLACEHOLDER=t.DEFAULT_AI_SIMULATION_INSTRUCTIONS=t.DEFAULT_SCRIPTED_SIMULATION_BODY=t.DEFAULT_WORKFLOW_SIMULATION_PASS_CRITERIA=void 0,t.defaultSimulationBodyForType=function(e){return"AI"===e?t.DEFAULT_AI_SIMULATION_INSTRUCTIONS:t.DEFAULT_SCRIPTED_SIMULATION_BODY},t.workflowSimulationTypeDisplayLabel=function(e){return"AI"===e?"AI customer":"Scripted"},t.workflowSimulationTypePickerLabel=function(e){return"AI"===e?"AI":"Scripted"},t.workflowSimulationPickerOptionLabel=function(e,t){return"AI"===t?"".concat(e," (ai)"):e},t.DEFAULT_WORKFLOW_SIMULATION_PASS_CRITERIA="Evaluate the outcome of the interaction to determine whether the simulation succeeded or failed.",t.DEFAULT_SCRIPTED_SIMULATION_BODY=["Hi — I'd like help with this.","Yes, that works for me. What's the next step?","Sure, here's the information you need."].join("\n"),t.DEFAULT_AI_SIMULATION_INSTRUCTIONS=["You are a cooperative customer exercising this workflow end-to-end.","Read each assistant turn and reply with clear, plausible answers.","Stay on topic, provide reasonable details when asked, and work toward completing the workflow.","Keep each reply to one or two sentences unless the assistant asks for more."].join("\n"),t.SCRIPTED_SIMULATION_BODY_PLACEHOLDER="Hi — I'd like help with this.\nYes, please walk me through the steps.\nHere is the info you asked for.",t.AI_SIMULATION_INSTRUCTIONS_PLACEHOLDER="Cooperative customer who completes the workflow. Use a frustrated tone on step 2 but still finish.",t.TESTER_STATUS_LABEL={idle:"Idle","starting-workflow":"Workflow steer…","waiting-for-conversation":"Waiting for conversation…",sending:"Sending…","awaiting-response":"Waiting for assistant…","generating-customer":"Generating customer…",finished:"Finished",error:"Error",stopped:"Stopped"},t.ASSISTANT_RESPONSE_TIMEOUT_MS=6e4,t.POST_RESPONSE_PAUSE_MS=400,t.STEER_QUEUE_YIELD_MS=50,t.DATA_CHANNEL_POLL_MS=100,t.CONDITION_POLL_MS=200,t.TESTER_WAIT_FAILSAFE_MS=12e4,t.WORKFLOW_SIMULATION_SESSION_RESTORE_ERROR="Could not restore the GuideAI session after the page refresh. Wait for the transcript and mic to reconnect, then run again."},442(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,s){function i(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}u((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}},s=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,s=t.length;o<s;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.createWorkflowSimulationWaits=function(e){var t=this,n=function(n,a){for(var u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];return r(t,s([n,a],u,!0),void 0,function(t,n,r){var s;return void 0===r&&(r=i.CONDITION_POLL_MS),o(this,function(o){switch(o.label){case 0:s=Date.now(),o.label=1;case 1:return e.stopRequested()?[3,3]:t()?[2,!0]:Date.now()-s>n?[2,!1]:[4,new Promise(function(e){return window.setTimeout(e,r)})];case 2:return o.sent(),[3,1];case 3:return[2,!1]}})})},u=function(){return e.isDataChannelReady?e.isDataChannelReady():e.isDataChannelOpen()},l=function(t){for(var n=0,r=0,o=e.getMessages();r<o.length;r++){var s=o[r];s.timestamp<=t||"GUIDEAI"===s.sender&&s.timestamp>n&&(n=s.timestamp)}return n},c=function(s){return r(t,void 0,void 0,function(){return o(this,function(t){switch(t.label){case 0:return e.onStatus("awaiting-response"),[4,n(function(){var t=(0,a.lastVisibleTranscriptMessage)(e.getMessages());return Boolean(t&&"GUIDEAI"===t.sender&&t.timestamp>s)},i.ASSISTANT_RESPONSE_TIMEOUT_MS)];case 1:return t.sent()?[4,n(function(){return!e.isResponseActive()},1e4)]:[2,{ok:!1,message:"No assistant response within ".concat(Math.round(i.ASSISTANT_RESPONSE_TIMEOUT_MS/1e3),"s.")}];case 2:return t.sent(),[2,{ok:!0}]}})})};return{waitForCondition:n,channelIsReady:u,waitForSteerResponseCycle:function(){return r(t,void 0,void 0,function(){return o(this,function(t){switch(t.label){case 0:return[4,n(function(){return!e.isResponseActive()},5e3)];case 1:return t.sent(),[4,new Promise(function(e){return window.setTimeout(e,i.STEER_QUEUE_YIELD_MS)})];case 2:return t.sent(),[4,n(function(){return e.isResponseActive()},12e3)];case 3:return t.sent()?[4,n(function(){return!e.isResponseActive()},i.ASSISTANT_RESPONSE_TIMEOUT_MS)]:[2,{ok:!1,message:"Workflow steer did not start a model response (data channel open?)."}];case 4:return t.sent()?[4,new Promise(function(e){return window.setTimeout(e,i.POST_RESPONSE_PAUSE_MS)})]:[2,{ok:!1,message:"Steer response did not finish within ".concat(Math.round(i.ASSISTANT_RESPONSE_TIMEOUT_MS/1e3),"s.")}];case 5:return t.sent(),[2,{ok:!0}]}})})},waitForTranscriptRestored:function(){return r(t,void 0,void 0,function(){var t;return o(this,function(r){switch(r.label){case 0:return null===(t=e.syncTranscriptFromStorage)||void 0===t||t.call(e),e.getMessages().length>0?[2,{ok:!0}]:[4,n(function(){return e.getMessages().length>0},i.TESTER_WAIT_FAILSAFE_MS,i.CONDITION_POLL_MS)];case 1:return r.sent()?[2,{ok:!0}]:[2,{ok:!1,message:"Transcript history did not load after the page refresh. Wait for the session to restore, then run again."}]}})})},waitForTesterChannelReady:function(s){return r(t,void 0,void 0,function(){var a;return o(this,function(l){switch(l.label){case 0:return[4,r(t,void 0,void 0,function(){return o(this,function(e){switch(e.label){case 0:return u()?[2,{ok:!0}]:[4,n(function(){return u()},i.TESTER_WAIT_FAILSAFE_MS,i.DATA_CHANNEL_POLL_MS)];case 1:return e.sent()?[2,{ok:!0}]:[2,{ok:!1,message:"Data channel did not reopen. Start or restore the GuideAI session (mic), then run again."}]}})})];case 1:return(a=l.sent()).ok?(null==s?void 0:s.skipResponseIdle)?[2,{ok:!0}]:[2,r(t,void 0,void 0,function(){return o(this,function(t){switch(t.label){case 0:return e.isResponseActive()?[4,n(function(){return!e.isResponseActive()},i.TESTER_WAIT_FAILSAFE_MS,i.CONDITION_POLL_MS)]:[2,{ok:!0}];case 1:return t.sent()?[2,{ok:!0}]:[2,{ok:!1,message:"Assistant is still responding. Wait for the current turn to finish, then run again."}]}})})]:[2,a]}})})},waitForAssistantAfterHuman:c,waitForAssistantSettled:function(s){return r(t,void 0,void 0,function(){var t,r,a,u;return o(this,function(o){switch(o.label){case 0:t=l(s),r=0,o.label=1;case 1:return r<8?[4,c(s)]:[3,7];case 2:return(a=o.sent()).ok?(t=Math.max(t,l(s)),[4,new Promise(function(e){return window.setTimeout(e,i.POST_RESPONSE_PAUSE_MS)})]):[2,a];case 3:return o.sent(),e.isResponseActive()?[4,n(function(){return!e.isResponseActive()},i.ASSISTANT_RESPONSE_TIMEOUT_MS)]:[3,5];case 4:if(!o.sent())return[2,{ok:!1,message:"Assistant did not settle within ".concat(Math.round(i.ASSISTANT_RESPONSE_TIMEOUT_MS/1e3),"s.")}];o.label=5;case 5:if((u=l(s))<=t)return[2,{ok:!0}];t=u,o.label=6;case 6:return r+=1,[3,1];case 7:return[2,{ok:!0}]}})})},waitForUserAnswerInTranscript:function(s,u){return r(t,void 0,void 0,function(){var t,r;return o(this,function(o){switch(o.label){case 0:return(t=(0,a.findHumanAnswerMessage)(e.getMessages(),s,u))?[2,{ok:!0,human:t}]:[4,n(function(){return null!=(0,a.findHumanAnswerMessage)(e.getMessages(),s,u)},i.TESTER_WAIT_FAILSAFE_MS,i.CONDITION_POLL_MS)];case 1:return o.sent()?(r=(0,a.findHumanAnswerMessage)(e.getMessages(),s,u))?[2,{ok:!0,human:r}]:[2,{ok:!1,message:"User message missing after send."}]:[2,{ok:!1,message:"User line was sent but did not appear in the transcript. Check that the data channel stayed open."}]}})})}}};var i=n(417),a=n(108)},12(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.getPendingWorkflowTesterRun=a,t.refreshSimulationActiveFlag=u,t.setSimulationActiveFlag=l,t.isSimulationActive=function(){return i},t.hasPendingWorkflowTesterRun=function(){return null!=a()},t.setPendingWorkflowTesterRun=function(e){(0,r.writeSessionStorageJson)(o,e),l(!0)},t.clearPendingWorkflowTesterRun=c,t.getDevtoolsShellSession=function(){var e=(0,r.readSessionStorageJson)(s);return e&&"boolean"==typeof e.open&&e.activeTab?e:null},t.setDevtoolsShellSession=function(e){(0,r.writeSessionStorageJson)(s,e)},t.clearDevtoolsShellSession=d,t.dismissWorkflowTesterAutoResume=function(){c(),d()};var r=n(719),o="guideAI_pendingWorkflowTesterRun",s="guideAI_devtoolsShellSession",i=!1;function a(){var e,t,n=(0,r.readSessionStorageJson)(o);return(null==n?void 0:n.runId)&&n.workflowId?"AI"===(null!==(e=n.simulationType)&&void 0!==e?e:"SCRIPTED")?(null===(t=n.instructions)||void 0===t?void 0:t.trim())?n:null:Array.isArray(n.answersQueue)&&0!==n.answersQueue.length?n:null:null}function u(){i=null!=a()}function l(e){i=e}function c(){(0,r.removeSessionStorageKey)(o),l(!1)}function d(){(0,r.removeSessionStorageKey)(s)}"undefined"!=typeof sessionStorage&&u()},596(e,t,n){var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(o,s){function i(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(i,a)}u((r=r.apply(e,t||[])).next())})},s=this&&this.__generator||function(e,t){var n,r,o,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=a(0),i.throw=a(1),i.return=a(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}};Object.defineProperty(t,"__esModule",{value:!0});var i=n(272),a=n(442),u=n(108),l=n(12),c=n(12);window.__GUIDEAI_SIMULATION__={getPending:l.getPendingWorkflowTesterRun,setPending:l.setPendingWorkflowTesterRun,parseAnswers:u.parseSimulationAnswers,refreshActiveFlag:c.refreshSimulationActiveFlag,run:function(e){return o(void 0,void 0,void 0,function(){var t,n;return s(this,function(o){switch(o.label){case 0:return t=null!==(n=e.waits)&&void 0!==n?n:(0,a.createWorkflowSimulationWaits)({stopRequested:e.stopRequested,getMessages:e.getMessages,isResponseActive:e.isResponseActive,isDataChannelOpen:e.isDataChannelOpen,isDataChannelReady:e.isDataChannelReady,syncTranscriptFromStorage:e.syncTranscriptFromStorage,onStatus:e.callbacks.onStatus}),[4,(0,i.runWorkflowSimulation)(r(r({},e),{waits:t}))];case 1:return o.sent(),[2]}})})}}},139(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.UI_LAYOUT=t.WIDGET_EXTENSION_HEADER=t.getApiBaseUrl=t.GUIDE_AI_API_BASE_LOCAL=t.GUIDE_AI_API_BASE_DEV=t.GUIDE_AI_API_BASE_PROD=void 0,t.getGuideAiSiteOriginFromApiBase=function(e){return(e||"").trim().replace(/\/api\/?$/,"")},t.GUIDE_AI_API_BASE_PROD="https://app.getguide.ai/api",t.GUIDE_AI_API_BASE_DEV="https://dev.getguide.ai/api",t.GUIDE_AI_API_BASE_LOCAL="http://localhost:3000/api",t.getApiBaseUrl=function(e){switch(e){case"development":return t.GUIDE_AI_API_BASE_DEV;case"local":return t.GUIDE_AI_API_BASE_LOCAL;default:return t.GUIDE_AI_API_BASE_PROD}},t.WIDGET_EXTENSION_HEADER="x-guideai-extension",t.UI_LAYOUT={micButtonSize:50,toggleAboveMicGap:12,stackedButtonGap:8,horizontalEdgeOffset:6,defaultBottom:20,defaultHorizontalOffset:40,transcriptFloatEdgeInset:20}},719(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.readSessionStorageJson=function(e){if("undefined"==typeof sessionStorage)return null;try{var t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch(e){return null}},t.writeSessionStorageJson=function(e,t){if("undefined"!=typeof sessionStorage)try{sessionStorage.setItem(e,JSON.stringify(t))}catch(e){}},t.removeSessionStorageKey=function(e){if("undefined"!=typeof sessionStorage)try{sessionStorage.removeItem(e)}catch(e){}}},985(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.setWidgetBearerToken=function(e){n=(null==e?void 0:e.trim())||null},t.getWidgetBearerToken=function(){return n},t.setWidgetEnvironment=function(e){r=e},t.getWidgetEnvironment=function(){return r};var n=null,r="production"}},t={};!function n(r){var o=t[r];if(void 0!==o)return o.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}(596)})();
@@ -1,8 +1,12 @@
1
+ /**
2
+ * Browser bundle entry for Playwright: exposes tool execution on window so E2E
3
+ * tests run against the real DOM (executeTool in Node has no document).
4
+ */
5
+ import { type ExecuteToolOptions } from './utils/tools/toolRegistry';
1
6
  declare global {
2
7
  interface Window {
3
8
  __GUIDEAI_PLAYWRIGHT__?: {
4
- executeTool: (name: string, args: string) => Promise<unknown>;
9
+ executeTool: (name: string, args: string, options?: ExecuteToolOptions) => Promise<unknown>;
5
10
  };
6
11
  }
7
12
  }
8
- export {};