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.
- package/README.md +105 -1
- package/dist/GuideAI.d.ts +2 -5
- package/dist/GuideAI.js +1 -1
- package/dist/GuideAI.js.LICENSE.txt +2 -17
- package/dist/buddy/buddyPropTools.d.ts +188 -0
- package/dist/buddy/buddyStore.d.ts +88 -0
- package/dist/buddy/buddyTools.d.ts +6 -0
- package/dist/buddy/types.d.ts +56 -0
- package/dist/components/DeveloperTools.d.ts +5 -3
- package/dist/components/Microphone.d.ts +17 -2
- package/dist/components/PlaybackLockDebugOverlayRoot.d.ts +1 -1
- package/dist/components/SessionRatingPopup.d.ts +16 -0
- package/dist/components/SubtitleInputBar.d.ts +23 -0
- package/dist/components/SubtitleSettingsMenu.d.ts +9 -0
- package/dist/components/TranscriptBox.d.ts +16 -12
- package/dist/components/TranscriptMessages.d.ts +8 -1
- package/dist/components/TranscriptNextStepBar.d.ts +34 -0
- package/dist/components/TranscriptSessionMicLevels.d.ts +8 -0
- package/dist/components/TranscriptStudioChrome.d.ts +8 -7
- package/dist/components/TranscriptTextInput.d.ts +4 -12
- package/dist/components/TranscriptToolbar.d.ts +3 -1
- package/dist/components/TranscriptWorkflowDrawer.d.ts +5 -7
- package/dist/contexts/GuideAIThemeContext.d.ts +13 -0
- package/dist/devtools/DeveloperToolsShell.d.ts +1 -1
- package/dist/devtools/TranscriptDeveloperToolsMenuItems.d.ts +45 -0
- package/dist/devtools/TranscriptUiDevtoolsPanel.d.ts +10 -0
- package/dist/devtools/adminToolDiagnostics/AdminToolDiagnosticsPanel.d.ts +1 -1
- package/dist/devtools/developerToolPanelId.d.ts +1 -1
- package/dist/devtools/devtoolsAdminPortalLinks.d.ts +11 -0
- package/dist/devtools/devtoolsAuth/DevtoolsAuthContext.d.ts +14 -0
- package/dist/devtools/devtoolsAuth/DevtoolsLoginModal.d.ts +13 -0
- package/dist/devtools/devtoolsAuth/devtoolsAccessTrigger.d.ts +9 -0
- package/dist/devtools/devtoolsAuth/devtoolsAdminApi.d.ts +13 -0
- package/dist/devtools/devtoolsAuth/devtoolsLoginModalStyles.d.ts +1 -0
- package/dist/devtools/devtoolsAuth/devtoolsPortalLogin.d.ts +15 -0
- package/dist/devtools/devtoolsAuth/devtoolsSessionStorage.d.ts +4 -0
- package/dist/devtools/devtoolsAuth/index.d.ts +9 -0
- package/dist/devtools/devtoolsAuth/types.d.ts +21 -0
- package/dist/devtools/devtoolsAuth/useDevtoolsAccess.d.ts +33 -0
- package/dist/devtools/devtoolsThemePreference.d.ts +3 -0
- package/dist/devtools/excavator/ExcavatorPanel.d.ts +17 -0
- package/dist/devtools/excavator/excavatorPanelStyles.d.ts +5 -0
- package/dist/devtools/excavator/excavatorSse.d.ts +6 -0
- package/dist/devtools/learn/LearnCaptureChrome.stub.d.ts +3 -0
- package/dist/devtools/learn/LearnModePanel.d.ts +18 -0
- package/dist/devtools/learn/LearnModePanel.stub.d.ts +3 -0
- package/dist/devtools/learn/LearnOrchestrationHost.d.ts +52 -0
- package/dist/devtools/learn/injectLearnModeStyles.d.ts +2 -0
- package/dist/devtools/learn/learnCaptureChrome.d.ts +33 -0
- package/dist/devtools/learn/learnCaptureLayout.d.ts +26 -0
- package/dist/devtools/learn/learnCaptureToolbar.d.ts +27 -0
- package/dist/devtools/learn/learnClarifyKickoff.d.ts +6 -0
- package/dist/devtools/learn/learnLiteTranscript.d.ts +22 -0
- package/dist/devtools/learn/learnModeStyles.d.ts +5 -0
- package/dist/devtools/learn/learnModeTypes.d.ts +5 -0
- package/dist/devtools/learn/learnOrchestrationStub.d.ts +5 -0
- package/dist/devtools/learn/learnPanelSyncFieldsEqual.d.ts +3 -0
- package/dist/devtools/learn/learnRealtimeSession.d.ts +10 -0
- package/dist/devtools/learn/learnRefBag.d.ts +41 -0
- package/dist/devtools/learn/learnSessionStorage.d.ts +23 -0
- package/dist/devtools/learn/learnWebRTCInit.d.ts +20 -0
- package/dist/devtools/learn/learnWorkspaceContext.d.ts +5 -0
- package/dist/devtools/learn/loadLearnOrchestration.d.ts +10 -0
- package/dist/devtools/learn/useLearnCaptureDuration.d.ts +4 -0
- package/dist/devtools/learn/useLearnClickCapture.d.ts +9 -0
- package/dist/devtools/learn/useLearnMode.d.ts +47 -0
- package/dist/devtools/learn/useLearnMode.stub.d.ts +3 -0
- package/dist/devtools/panelLayout.d.ts +6 -0
- package/dist/devtools/silentMessages/silentMessageDebug.d.ts +86 -0
- package/dist/devtools/silentMessages/useSilentMessageDebug.d.ts +18 -0
- package/dist/devtools/transcriptDevtoolsMenuProps.d.ts +33 -0
- package/dist/devtools/transcriptMoreMenu/DeveloperToolsAdminPortalFlyout.d.ts +20 -0
- package/dist/devtools/transcriptMoreMenu/DeveloperToolsLoggerFlyout.d.ts +16 -0
- package/dist/devtools/transcriptMoreMenu/DeveloperToolsMicPresetFlyout.d.ts +22 -0
- package/dist/devtools/transcriptMoreMenu/ThemePresetSwatch.d.ts +8 -0
- package/dist/devtools/transcriptMoreMenu/TranscriptDeveloperToolsMenuItems.d.ts +25 -0
- package/dist/devtools/transcriptMoreMenu/TranscriptDeveloperToolsThemeFlyout.d.ts +13 -0
- package/dist/devtools/transcriptMoreMenu/TranscriptMoreMenuDevtools.d.ts +27 -0
- package/dist/devtools/transcriptMoreMenu/devtoolsFlyoutTypes.d.ts +1 -0
- package/dist/devtools/transcriptMoreMenu/index.d.ts +2 -0
- package/dist/devtools/transcriptMoreMenu/readWindowGuideAILogger.d.ts +12 -0
- package/dist/devtools/transcriptMoreMenu/useTranscriptMoreMenuDebugFlyouts.d.ts +24 -0
- package/dist/devtools/useDraggableDialog.d.ts +8 -1
- package/dist/devtools/useGuideDeveloperTools.d.ts +16 -7
- package/dist/devtools/useGuideDevtoolsIntegration.d.ts +56 -0
- package/dist/devtools/workflowTester/WorkflowTesterPanel.d.ts +4 -28
- package/dist/devtools/workflowTester/WorkflowTesterPanel.stub.d.ts +3 -0
- package/dist/devtools/workflowTester/index.d.ts +1 -2
- package/dist/devtools/workflowTester/useWorkflowSimulationController.d.ts +12 -0
- package/dist/devtools/workflowTester/useWorkflowSimulationRun.d.ts +47 -0
- package/dist/devtools/workflowTester/workflowSimulationController.d.ts +31 -0
- package/dist/devtools/workflowTester/workflowSimulationDevtoolsApi.d.ts +51 -0
- package/dist/devtools/workflowTester/workflowSimulationFinishRun.d.ts +4 -0
- package/dist/devtools/workflowTester/workflowSimulationRunner.d.ts +46 -0
- package/dist/devtools/workflowTester/workflowSimulationRunnerAi.d.ts +20 -0
- package/dist/devtools/workflowTester/workflowSimulationSessionRestore.d.ts +21 -0
- package/dist/devtools/workflowTester/workflowSimulationTurnState.d.ts +20 -0
- package/dist/devtools/workflowTester/workflowSimulationTypes.d.ts +28 -0
- package/dist/devtools/workflowTester/workflowSimulationWaits.d.ts +55 -0
- package/dist/devtools/workflowTester/workflowTesterPanel.types.d.ts +25 -0
- package/dist/devtools/workflowTester/workflowTesterRunSessionStorage.d.ts +43 -0
- package/dist/devtools/workflowTester/workflowTesterWorkspaceBridge.d.ts +4 -2
- package/dist/hooks/useConversationSession.d.ts +16 -2
- package/dist/hooks/useGuideAIMutePipeline.d.ts +1 -0
- package/dist/hooks/useGuideAIThemeState.d.ts +6 -0
- package/dist/hooks/useHiddenRealtimeSteers.d.ts +3 -1
- package/dist/hooks/useLauncherTabDrag.d.ts +23 -0
- package/dist/hooks/useMicMute.d.ts +1 -0
- package/dist/hooks/useSessionRating.d.ts +21 -0
- package/dist/hooks/useSubtitleAppearancePrefs.d.ts +5 -0
- package/dist/hooks/useThemePortalProps.d.ts +4 -0
- package/dist/hooks/useTranscriptChrome.d.ts +7 -2
- package/dist/hooks/useTranscriptDisplayMode.d.ts +6 -0
- package/dist/hooks/useTranscriptPanelDragResize.d.ts +47 -0
- package/dist/hooks/useWebRTC.d.ts +9 -0
- package/dist/hooks/useWidgetWorkflowSession.d.ts +2 -0
- package/dist/hooks/useWorkflowTesterOverlay.d.ts +10 -10
- package/dist/hooks/useWorkspaceCatalog.d.ts +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/lib/workspaceEmbedIcons.d.ts +0 -1
- package/dist/playwrightBuddyHarness.d.ts +12 -0
- package/dist/playwrightBuddyHarness.js +1766 -0
- package/dist/playwrightSimulationHarness.d.ts +16 -0
- package/dist/playwrightSimulationHarness.js +1 -0
- package/dist/playwrightToolHarness.d.ts +6 -2
- package/dist/playwrightToolHarness.js +1 -1
- package/dist/sessionRating.defaults.d.ts +4 -0
- package/dist/sessionRatingPrompts.d.ts +1 -0
- package/dist/staticContext/collectContext.d.ts +24 -13
- package/dist/staticContext/collectors/domSignals.d.ts +29 -0
- package/dist/staticContext/collectors/jqueryUi.d.ts +7 -0
- package/dist/staticContext/collectors/visibility.d.ts +6 -0
- package/dist/staticContext/hostPageFrameworkProbe.d.ts +21 -0
- package/dist/staticContext/index.d.ts +3 -2
- package/dist/staticContext/types.d.ts +112 -4
- package/dist/staticContext/useStaticContext.d.ts +5 -3
- package/dist/stubs/workspaces.d.ts +2 -2
- package/dist/styles/GuideAI.styles.d.ts +5 -1
- package/dist/styles/guideAIStylesTabLauncher.d.ts +7 -0
- package/dist/styles/guideAIThemeTokens.d.ts +5 -0
- package/dist/styles/guideaiTestsiteWidgetTheme.d.ts +6 -0
- package/dist/themes/buildThemeCss.d.ts +8 -0
- package/dist/themes/guideAIThemeIds.d.ts +5 -0
- package/dist/themes/presetThemes.d.ts +9 -0
- package/dist/themes/syncGuideAITheme.d.ts +2 -0
- package/dist/themes/themeTokens.types.d.ts +37 -0
- package/dist/types/GuideAI.types.d.ts +43 -4
- package/dist/utils/api.d.ts +39 -0
- package/dist/utils/api.learn.d.ts +18 -0
- package/dist/utils/conversationContextSwitch.d.ts +41 -0
- package/dist/utils/conversationManager.d.ts +39 -2
- package/dist/utils/dataChannel.d.ts +15 -0
- package/dist/utils/dataChannelHelpers.d.ts +26 -6
- package/dist/utils/guideaiMirroredStorageKeys.d.ts +35 -0
- package/dist/utils/lastSystemToolCall.d.ts +2 -1
- package/dist/utils/localStorageHelper.d.ts +52 -32
- package/dist/utils/localStorageThrottle.d.ts +6 -0
- package/dist/utils/messageStorage.d.ts +20 -7
- package/dist/utils/parseWorkspaceSlugList.d.ts +13 -0
- package/dist/utils/pathIncludesAnyRef.d.ts +12 -0
- package/dist/utils/resolveCatalogWorkspaceSlug.d.ts +11 -0
- package/dist/utils/sessionRatingThrottle.d.ts +3 -0
- package/dist/utils/sessionStorageJson.d.ts +3 -0
- package/dist/utils/themeRegistry.d.ts +14 -0
- package/dist/utils/tools/clickElement.d.ts +6 -0
- package/dist/utils/tools/cursorStyles.d.ts +17 -0
- package/dist/utils/tools/descriptionToHighlightSelector.d.ts +1 -1
- package/dist/utils/tools/docToForm.d.ts +2 -2
- package/dist/utils/tools/elementInteractions.d.ts +35 -1
- package/dist/utils/tools/elementToBestInteractionSelector.d.ts +8 -0
- package/dist/utils/tools/fillField.d.ts +1 -1
- package/dist/utils/tools/hover.d.ts +6 -0
- package/dist/utils/tools/selectWorkspace.d.ts +45 -0
- package/dist/utils/tools/toolRegistry.d.ts +5 -1
- package/dist/utils/tools/workspaceToolBridge.d.ts +22 -0
- package/dist/utils/transcriptDisplayModePref.d.ts +4 -0
- package/dist/utils/transcriptFloatGeometry.d.ts +78 -0
- package/dist/utils/transcriptSubtitleUiPref.d.ts +5 -0
- package/dist/utils/webrtcConnection.d.ts +7 -0
- package/dist/utils/widgetBearerStorage.d.ts +2 -2
- package/dist/utils/widgetWorkspaces.d.ts +0 -2
- package/dist/utils/workflowProgressSync.d.ts +65 -0
- package/dist/utils/workflowSteer.d.ts +10 -0
- package/dist/utils/workspaceCatalog.d.ts +20 -3
- package/dist/utils/workspaceCatalogFatal.d.ts +4 -0
- package/dist/visualContext/defaultProvider.d.ts +4 -10
- package/dist/visualContext/screenshotEncoding.d.ts +37 -0
- package/dist/visualContext/useVisualContext.d.ts +2 -1
- package/dist/visualContext/visualContextCaptureLock.d.ts +17 -0
- package/package.json +2 -2
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { TranscriptPanelMode, TranscriptSessionMode } from '../types/GuideAI.types';
|
|
2
3
|
import type { StubWorkspaceOption } from '../stubs/workspaces';
|
|
3
4
|
export interface TranscriptStudioChromeProps {
|
|
4
|
-
/**
|
|
5
|
+
/** Current workspace label from catalog (shown when workspace picker is not a menu). */
|
|
5
6
|
workspaceBreadcrumbLabel: string;
|
|
6
|
-
/**
|
|
7
|
+
/** Active workflow step title (breadcrumb; opens workflow drawer). */
|
|
7
8
|
workflowStepLabel: string;
|
|
9
|
+
workspaceOptions: StubWorkspaceOption[];
|
|
10
|
+
transcriptSessionMode: TranscriptSessionMode;
|
|
11
|
+
onWorkspaceChange: (mode: TranscriptSessionMode) => void;
|
|
8
12
|
progressCurrent: number;
|
|
9
13
|
progressTotal: number;
|
|
10
14
|
/** 0-based index of the highlighted workflow step (drives segment styling). */
|
|
@@ -15,17 +19,14 @@ export interface TranscriptStudioChromeProps {
|
|
|
15
19
|
transcriptPanelMode: TranscriptPanelMode;
|
|
16
20
|
onToggleTranscriptPanelMode: () => void;
|
|
17
21
|
onEndSession: () => void;
|
|
18
|
-
workspaceOptions: StubWorkspaceOption[];
|
|
19
|
-
transcriptSessionMode: TranscriptSessionMode;
|
|
20
|
-
onWorkspaceChange: (mode: TranscriptSessionMode) => void;
|
|
21
22
|
React: typeof import('react');
|
|
22
|
-
/** Host `ReactDOM.createPortal` —
|
|
23
|
+
/** Host `ReactDOM.createPortal` — menus port above the clipped float toolbar. */
|
|
23
24
|
ReactDOM?: {
|
|
24
25
|
createPortal: (children: import('react').ReactNode, container: Element) => import('react').ReactNode;
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
declare const TranscriptStudioChrome: {
|
|
28
|
-
({ workspaceBreadcrumbLabel, workflowStepLabel, progressCurrent, progressTotal, activeStepIndex, allWorkflowStepsComplete, workflowDrawerOpen, onToggleWorkflowDrawer, transcriptPanelMode, onToggleTranscriptPanelMode, onEndSession,
|
|
29
|
+
({ workspaceBreadcrumbLabel, workflowStepLabel, workspaceOptions, transcriptSessionMode, onWorkspaceChange, progressCurrent, progressTotal, activeStepIndex, allWorkflowStepsComplete, workflowDrawerOpen, onToggleWorkflowDrawer, transcriptPanelMode, onToggleTranscriptPanelMode, onEndSession, React, ReactDOM, }: TranscriptStudioChromeProps): React.JSX.Element;
|
|
29
30
|
displayName: string;
|
|
30
31
|
};
|
|
31
32
|
export default TranscriptStudioChrome;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import type { RecordingStatus, TranscriptPanelMode, TranscriptSessionMode } from '../types/GuideAI.types';
|
|
3
2
|
import type { StubWorkspaceOption } from '../stubs/workspaces';
|
|
4
|
-
import {
|
|
3
|
+
import type { TranscriptDevtoolsMenuProps } from '../devtools/transcriptDevtoolsMenuProps';
|
|
5
4
|
import type { MicPresetId } from '../types/audioConfig.types';
|
|
6
5
|
interface TranscriptTextInputProps {
|
|
7
6
|
textInput?: string;
|
|
@@ -23,20 +22,13 @@ interface TranscriptTextInputProps {
|
|
|
23
22
|
isAssistantPlaybackMuted?: boolean;
|
|
24
23
|
onToggleAssistantPlaybackMute?: () => void;
|
|
25
24
|
handleResetChat?: () => void;
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
/** Transcript ⋯ → Debug: unified developer tools */
|
|
29
|
-
developerToolsMenu?: {
|
|
30
|
-
shellOpen: boolean;
|
|
31
|
-
onToggleShell: () => void;
|
|
32
|
-
} | null;
|
|
25
|
+
/** Transcript ⋯ developer tools menu (admin / developer access). */
|
|
26
|
+
transcriptDevtools?: TranscriptDevtoolsMenuProps;
|
|
33
27
|
/** User mic preset shown in ⋯ menu. */
|
|
34
28
|
micPreset?: MicPresetId;
|
|
35
29
|
/** Apply mic preset (persists + updates session config). */
|
|
36
30
|
onApplyMicPreset?: (preset: MicPresetId) => void;
|
|
37
31
|
workspaceOptions: StubWorkspaceOption[];
|
|
38
|
-
/** Debug ⋯: stub vs API workspace source (toggle writes localStorage). */
|
|
39
|
-
workspaceDataSource: WorkspaceDataSource;
|
|
40
32
|
/**
|
|
41
33
|
* `docked` (DockedPanel): textarea auto-grows. `float` (FloatPanel): input chrome height is fixed so
|
|
42
34
|
* the workflow sheet does not change footer layout.
|
|
@@ -47,5 +39,5 @@ interface TranscriptTextInputProps {
|
|
|
47
39
|
};
|
|
48
40
|
React: typeof import('react');
|
|
49
41
|
}
|
|
50
|
-
declare const TranscriptTextInput: ({ textInput, setTextInput, handleTextSubmit, handleTextKeyPress, textPlaceholder: _textPlaceholder, connectionMessage, isDataChannelOpen, isResponseActive, sessionMode, onSessionModeChange, recordingStatus, isConnecting, hasMic, isMuted, handleToggleMute, isAssistantPlaybackMuted, onToggleAssistantPlaybackMute, handleResetChat,
|
|
42
|
+
declare const TranscriptTextInput: ({ textInput, setTextInput, handleTextSubmit, handleTextKeyPress, textPlaceholder: _textPlaceholder, connectionMessage, isDataChannelOpen, isResponseActive, sessionMode, onSessionModeChange, recordingStatus, isConnecting, hasMic, isMuted, handleToggleMute, isAssistantPlaybackMuted, onToggleAssistantPlaybackMute, handleResetChat, transcriptDevtools, micPreset, onApplyMicPreset, workspaceOptions, transcriptPanelMode, ReactDOM, React, }: TranscriptTextInputProps) => import("react").JSX.Element;
|
|
51
43
|
export default TranscriptTextInput;
|
|
@@ -14,10 +14,12 @@ interface TranscriptToolbarProps {
|
|
|
14
14
|
onEndSession: () => void;
|
|
15
15
|
transcriptPanelMode: TranscriptPanelMode;
|
|
16
16
|
onToggleTranscriptPanelMode: () => void;
|
|
17
|
+
/** Embed only: triple-click workflow title to reveal Developer login in ⋯. */
|
|
18
|
+
onDevtoolsToolbarTitleClick?: () => void;
|
|
17
19
|
React: typeof import('react');
|
|
18
20
|
}
|
|
19
21
|
declare const TranscriptToolbar: {
|
|
20
|
-
({ workflowChecklistEnabled, workflowCheckedCount, workflowTotalCount, displayWorkflowTitle, workflowDrawerOpen, onToggleWorkflowDrawer, onEndSession, transcriptPanelMode, onToggleTranscriptPanelMode, React, }: TranscriptToolbarProps): import("react").JSX.Element;
|
|
22
|
+
({ workflowChecklistEnabled, workflowCheckedCount, workflowTotalCount, displayWorkflowTitle, workflowDrawerOpen, onToggleWorkflowDrawer, onEndSession, transcriptPanelMode, onToggleTranscriptPanelMode, onDevtoolsToolbarTitleClick, React, }: TranscriptToolbarProps): import("react").JSX.Element;
|
|
21
23
|
displayName: string;
|
|
22
24
|
};
|
|
23
25
|
export default TranscriptToolbar;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TranscriptPanelMode } from '../types/GuideAI.types';
|
|
2
2
|
import type { StubWorkflowItem } from '../stubs/workspaces';
|
|
3
|
+
import type { TranscriptWorkflowStripGestureHandlers } from '../hooks/useTranscriptPanelDragResize';
|
|
3
4
|
interface TranscriptWorkflowDrawerProps {
|
|
4
5
|
open: boolean;
|
|
5
6
|
onOpenChange: (open: boolean) => void;
|
|
@@ -24,16 +25,13 @@ interface TranscriptWorkflowDrawerProps {
|
|
|
24
25
|
workspaceDescription: string;
|
|
25
26
|
workspaceIcon: string;
|
|
26
27
|
/** Float card only: tap toggles workflow; drag starts parent float-pan (replaces vertical strip drag). */
|
|
27
|
-
floatStripGestureHandlers?:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
onPointerUp: (e: import('react').PointerEvent<HTMLButtonElement>) => void;
|
|
31
|
-
onPointerCancel: (e: import('react').PointerEvent<HTMLButtonElement>) => void;
|
|
32
|
-
};
|
|
28
|
+
floatStripGestureHandlers?: TranscriptWorkflowStripGestureHandlers;
|
|
29
|
+
/** Docked panel only: tap toggles workflow; drag left undocks to float (replaces vertical strip drag). */
|
|
30
|
+
dockStripGestureHandlers?: TranscriptWorkflowStripGestureHandlers;
|
|
33
31
|
React: typeof import('react');
|
|
34
32
|
}
|
|
35
33
|
declare const TranscriptWorkflowDrawer: {
|
|
36
|
-
({ open, onOpenChange, transcriptPanelMode, toolbar, workflowChecked, onToggleWorkflowCheck, workflowChecklistEnabled, workflowConfettiEnabled, onWorkflowActivate, highlightedWorkflowId, workflows, workspaceTitle, workspaceDescription, workspaceIcon, floatStripGestureHandlers, React, }: TranscriptWorkflowDrawerProps): import("react").JSX.Element;
|
|
34
|
+
({ open, onOpenChange, transcriptPanelMode, toolbar, workflowChecked, onToggleWorkflowCheck, workflowChecklistEnabled, workflowConfettiEnabled, onWorkflowActivate, highlightedWorkflowId, workflows, workspaceTitle, workspaceDescription, workspaceIcon, floatStripGestureHandlers, dockStripGestureHandlers, React, }: TranscriptWorkflowDrawerProps): import("react").JSX.Element;
|
|
37
35
|
displayName: string;
|
|
38
36
|
};
|
|
39
37
|
export default TranscriptWorkflowDrawer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { GuideAIThemeId } from '../themes/guideAIThemeIds';
|
|
3
|
+
export type GuideAIThemeContextValue = {
|
|
4
|
+
activeThemeId: GuideAIThemeId | null;
|
|
5
|
+
/** Devtools-only: set preset (saved in localStorage) or package default. */
|
|
6
|
+
setThemeId: (id: GuideAIThemeId | 'default') => void;
|
|
7
|
+
};
|
|
8
|
+
export declare function GuideAIThemeContextProvider({ value, children, }: {
|
|
9
|
+
value: GuideAIThemeContextValue;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
}): React.JSX.Element;
|
|
12
|
+
export declare function useGuideAITheme(): GuideAIThemeContextValue;
|
|
13
|
+
export declare function useGuideAIThemeOptional(): GuideAIThemeContextValue | null;
|
|
@@ -17,4 +17,4 @@ export interface DeveloperToolsShellProps {
|
|
|
17
17
|
/**
|
|
18
18
|
* Single floating shell: full-height icon rail (left), header + tool body (right).
|
|
19
19
|
*/
|
|
20
|
-
export declare function DeveloperToolsShell({ React: R, ReactDOM, zIndex, open, activeTab, onActiveTabChange, onClose, tabs, children, }: DeveloperToolsShellProps): string | number | boolean | React.
|
|
20
|
+
export declare function DeveloperToolsShell({ React: R, ReactDOM, zIndex, open, activeTab, onActiveTabChange, onClose, tabs, children, }: DeveloperToolsShellProps): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { GuideAIEnvironment } from '../types/GuideAI.types';
|
|
3
|
+
import type { DeveloperToolsShellControl } from './transcriptDevtoolsMenuProps';
|
|
4
|
+
export type TranscriptDeveloperToolsMoreMenuItemsProps = {
|
|
5
|
+
sectionVisible: boolean;
|
|
6
|
+
shellControl: DeveloperToolsShellControl;
|
|
7
|
+
loginVisible: boolean;
|
|
8
|
+
onOpenLogin: () => void;
|
|
9
|
+
showLogout: boolean;
|
|
10
|
+
onLogout: () => void;
|
|
11
|
+
onCloseMenu: () => void;
|
|
12
|
+
debugFlyout: null | 'logger' | 'micPreset' | 'adminPortal';
|
|
13
|
+
setDebugFlyout: React.Dispatch<React.SetStateAction<null | 'logger' | 'micPreset' | 'adminPortal'>>;
|
|
14
|
+
loggerFlyoutTriggerRef: React.RefObject<HTMLButtonElement>;
|
|
15
|
+
adminPortalFlyoutTriggerRef: React.RefObject<HTMLButtonElement>;
|
|
16
|
+
getServerConversationId?: () => string | null;
|
|
17
|
+
onOpenTranscriptUiSettings?: () => void;
|
|
18
|
+
};
|
|
19
|
+
/** Developer login + Developer tools rows in transcript ⋯. */
|
|
20
|
+
export declare function TranscriptDeveloperToolsMoreMenuItems({ sectionVisible, shellControl, loginVisible, onOpenLogin, showLogout, onLogout, onCloseMenu, debugFlyout, setDebugFlyout, loggerFlyoutTriggerRef, adminPortalFlyoutTriggerRef, getServerConversationId, onOpenTranscriptUiSettings, }: TranscriptDeveloperToolsMoreMenuItemsProps): React.JSX.Element;
|
|
21
|
+
export type DeveloperToolsLoggerFlyoutProps = {
|
|
22
|
+
open: boolean;
|
|
23
|
+
flyoutStyle: React.CSSProperties | null;
|
|
24
|
+
usePortal: boolean;
|
|
25
|
+
ReactDOM?: {
|
|
26
|
+
createPortal: (children: React.ReactNode, container: Element) => React.ReactNode;
|
|
27
|
+
};
|
|
28
|
+
listRef: React.RefObject<HTMLUListElement>;
|
|
29
|
+
};
|
|
30
|
+
/** Portaled Console debugger submenu (⋯ → Developer tools). */
|
|
31
|
+
export declare function DeveloperToolsLoggerFlyout({ open, flyoutStyle, usePortal, ReactDOM, listRef, }: DeveloperToolsLoggerFlyoutProps): React.ReactNode;
|
|
32
|
+
export type DeveloperToolsAdminPortalFlyoutProps = {
|
|
33
|
+
open: boolean;
|
|
34
|
+
flyoutStyle: React.CSSProperties | null;
|
|
35
|
+
usePortal: boolean;
|
|
36
|
+
ReactDOM?: {
|
|
37
|
+
createPortal: (children: React.ReactNode, container: Element) => React.ReactNode;
|
|
38
|
+
};
|
|
39
|
+
listRef: React.RefObject<HTMLUListElement>;
|
|
40
|
+
getServerConversationId: () => string | null;
|
|
41
|
+
widgetEnvironment?: GuideAIEnvironment;
|
|
42
|
+
onCloseMenu: () => void;
|
|
43
|
+
};
|
|
44
|
+
/** Portaled Open in admin submenu (⋯ → Developer tools). */
|
|
45
|
+
export declare function DeveloperToolsAdminPortalFlyout({ open, flyoutStyle, usePortal, ReactDOM, listRef, getServerConversationId, widgetEnvironment, onCloseMenu, }: DeveloperToolsAdminPortalFlyoutProps): React.ReactNode;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TranscriptDisplayMode } from '../types/GuideAI.types';
|
|
3
|
+
export type TranscriptUiDevtoolsPanelProps = {
|
|
4
|
+
transcriptDisplayMode: TranscriptDisplayMode;
|
|
5
|
+
onTranscriptDisplayModeChange: (mode: TranscriptDisplayMode) => void;
|
|
6
|
+
subtitleDarkHighlight: boolean;
|
|
7
|
+
onSubtitleDarkHighlightChange: (enabled: boolean) => void;
|
|
8
|
+
};
|
|
9
|
+
/** Developer tools → Transcript UI tab. */
|
|
10
|
+
export declare function TranscriptUiDevtoolsPanel({ transcriptDisplayMode, onTranscriptDisplayModeChange, subtitleDarkHighlight, onSubtitleDarkHighlightChange, }: TranscriptUiDevtoolsPanelProps): React.JSX.Element;
|
|
@@ -20,4 +20,4 @@ export interface AdminToolDiagnosticsPanelProps {
|
|
|
20
20
|
*/
|
|
21
21
|
devtoolsShellZIndex?: number;
|
|
22
22
|
}
|
|
23
|
-
export declare const AdminToolDiagnosticsPanel: ({ React: R, ReactDOM, runTool, getToolNames, getSampleArgsJsonForToolName, onClose, embedded, devtoolsShellZIndex, }: AdminToolDiagnosticsPanelProps) => string | number | boolean | React.
|
|
23
|
+
export declare const AdminToolDiagnosticsPanel: ({ React: R, ReactDOM, runTool, getToolNames, getSampleArgsJsonForToolName, onClose, embedded, devtoolsShellZIndex, }: AdminToolDiagnosticsPanelProps) => string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Tabs inside the unified transcript Debug → Developer tools shell. */
|
|
2
|
-
export type DeveloperToolPanelId = 'audio' | 'playbackLock' | 'visualContext' | 'toolDiagnostics' | 'workflowTester';
|
|
2
|
+
export type DeveloperToolPanelId = 'audio' | 'playbackLock' | 'visualContext' | 'toolDiagnostics' | 'learn' | 'workflowTester';
|
|
3
3
|
/**
|
|
4
4
|
* Single source for shell rail order and title `<select>` options (when visual context is on).
|
|
5
5
|
* {@link useGuideDeveloperTools} filters out `visualContext` when the feature is disabled.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GuideAIEnvironment } from '../types/GuideAI.types';
|
|
2
|
+
export type DevtoolsAdminPortalLinkTargets = {
|
|
3
|
+
conversationId: string | null;
|
|
4
|
+
workflowId: string | null;
|
|
5
|
+
};
|
|
6
|
+
export type DevtoolsAdminPortalUrls = {
|
|
7
|
+
conversation: string | null;
|
|
8
|
+
workflow: string | null;
|
|
9
|
+
};
|
|
10
|
+
export declare function getDevtoolsAdminSiteOrigin(environment?: GuideAIEnvironment): string | null;
|
|
11
|
+
export declare function buildDevtoolsAdminPortalUrls(origin: string | null, targets: DevtoolsAdminPortalLinkTargets): DevtoolsAdminPortalUrls;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DevtoolsPortalSession } from './types';
|
|
3
|
+
export type DevtoolsAuthContextValue = {
|
|
4
|
+
portalToken: string | null;
|
|
5
|
+
portalUser: DevtoolsPortalSession['user'] | null;
|
|
6
|
+
isAdministrator: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type DevtoolsAuthProviderProps = {
|
|
9
|
+
value: DevtoolsAuthContextValue;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
};
|
|
12
|
+
export declare function DevtoolsAuthProvider({ value, children }: DevtoolsAuthProviderProps): React.JSX.Element;
|
|
13
|
+
/** Portal JWT + user for developer-tools admin API calls. Null when outside the provider. */
|
|
14
|
+
export declare function useDevtoolsAuth(): DevtoolsAuthContextValue | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { GuideAIEnvironment } from '../../types/GuideAI.types';
|
|
3
|
+
export type DevtoolsLoginModalProps = {
|
|
4
|
+
React: typeof import('react');
|
|
5
|
+
ReactDOM?: {
|
|
6
|
+
createPortal: (children: React.ReactNode, container: Element) => React.ReactNode;
|
|
7
|
+
};
|
|
8
|
+
open: boolean;
|
|
9
|
+
environment?: GuideAIEnvironment;
|
|
10
|
+
onClose: () => void;
|
|
11
|
+
onSuccess: () => void;
|
|
12
|
+
};
|
|
13
|
+
export declare function DevtoolsLoginModal({ React: ReactRuntime, ReactDOM, open, environment, onClose, onSuccess, }: DevtoolsLoginModalProps): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Hidden chord: Ctrl/Cmd + Shift + Alt + D (physical D key). */
|
|
2
|
+
export declare function isDevtoolsAccessKeyboardShortcut(event: KeyboardEvent): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Counts rapid presses on the embed unlock target (toolbar workflow title).
|
|
5
|
+
* Uses {@link TRIPLE_CLICK_MS} between first and third press.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createTripleClickDetector(onTripleClick: () => void): () => void;
|
|
8
|
+
/** Attach embed unlock keyboard chord on `document` (capture) so it works inside shadow DOM / iframes. */
|
|
9
|
+
export declare function attachDevtoolsAccessKeyboardListener(onMatch: () => void): () => void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { GuideAIEnvironment } from '../../types/GuideAI.types';
|
|
2
|
+
export type DevtoolsAdminFetchOptions = {
|
|
3
|
+
token: string;
|
|
4
|
+
environment?: GuideAIEnvironment;
|
|
5
|
+
method?: string;
|
|
6
|
+
body?: unknown;
|
|
7
|
+
headers?: Record<string, string>;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Authenticated fetch for extension-scoped admin APIs. Paths are relative to {@link getApiBaseUrl}
|
|
11
|
+
* (which already ends with `/api`), e.g. `/extension/admin/...` — not `/api/extension/...`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function devtoolsAdminFetch(path: string, options: DevtoolsAdminFetchOptions): Promise<Response>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function devtoolsLoginModalStyles(): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { GuideAIEnvironment } from '../../types/GuideAI.types';
|
|
2
|
+
import type { DevtoolsPortalSession } from './types';
|
|
3
|
+
export declare class DevtoolsPortalLoginError extends Error {
|
|
4
|
+
readonly status: number;
|
|
5
|
+
constructor(status: number, message: string);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Authenticate an administrator against the GuideAI portal (Cognito + AuthUser).
|
|
9
|
+
* Only `ADMINISTRATOR` role may unlock developer tools.
|
|
10
|
+
*/
|
|
11
|
+
export declare function loginDevtoolsPortal(input: {
|
|
12
|
+
environment?: GuideAIEnvironment;
|
|
13
|
+
email: string;
|
|
14
|
+
password: string;
|
|
15
|
+
}): Promise<DevtoolsPortalSession>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DevtoolsPortalSession } from './types';
|
|
2
|
+
export declare function readStoredDevtoolsPortalSession(): DevtoolsPortalSession | null;
|
|
3
|
+
export declare function writeStoredDevtoolsPortalSession(session: DevtoolsPortalSession): void;
|
|
4
|
+
export declare function clearStoredDevtoolsPortalSession(): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type { DevtoolsPortalSession, DevtoolsPortalUser, ExtensionPortalAuthProp } from './types';
|
|
2
|
+
export { isDevtoolsAdministrator } from './types';
|
|
3
|
+
export { loginDevtoolsPortal, DevtoolsPortalLoginError } from './devtoolsPortalLogin';
|
|
4
|
+
export { readStoredDevtoolsPortalSession, writeStoredDevtoolsPortalSession, clearStoredDevtoolsPortalSession, } from './devtoolsSessionStorage';
|
|
5
|
+
export { devtoolsAdminFetch, type DevtoolsAdminFetchOptions } from './devtoolsAdminApi';
|
|
6
|
+
export { isDevtoolsAccessKeyboardShortcut, createTripleClickDetector, attachDevtoolsAccessKeyboardListener, } from './devtoolsAccessTrigger';
|
|
7
|
+
export { DevtoolsLoginModal } from './DevtoolsLoginModal';
|
|
8
|
+
export { devtoolsLoginModalStyles } from './devtoolsLoginModalStyles';
|
|
9
|
+
export { useDevtoolsAccess, type DevtoolsAccessState, type UseDevtoolsAccessParams, } from './useDevtoolsAccess';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Portal user snapshot returned by `POST /extension/auth/login`. */
|
|
2
|
+
export type DevtoolsPortalUser = {
|
|
3
|
+
id: string;
|
|
4
|
+
email: string;
|
|
5
|
+
username: string;
|
|
6
|
+
role: string;
|
|
7
|
+
customerId: string | null;
|
|
8
|
+
};
|
|
9
|
+
/** Authenticated administrator session for developer tools (extension portal JWT). */
|
|
10
|
+
export type DevtoolsPortalSession = {
|
|
11
|
+
token: string;
|
|
12
|
+
user: DevtoolsPortalUser;
|
|
13
|
+
expiresAt: string;
|
|
14
|
+
/** `extension` = popup sign-in; `modal` = in-widget admin login. */
|
|
15
|
+
source: 'extension' | 'modal';
|
|
16
|
+
};
|
|
17
|
+
export type ExtensionPortalAuthProp = {
|
|
18
|
+
token: string;
|
|
19
|
+
user: DevtoolsPortalUser;
|
|
20
|
+
} | null;
|
|
21
|
+
export declare function isDevtoolsAdministrator(user: Pick<DevtoolsPortalUser, 'role'> | null | undefined): boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ReactHooks } from '../../utils/reactHooks';
|
|
3
|
+
import type { GuideAIEnvironment } from '../../types/GuideAI.types';
|
|
4
|
+
import type { DevtoolsPortalSession, ExtensionPortalAuthProp } from './types';
|
|
5
|
+
export type UseDevtoolsAccessParams = {
|
|
6
|
+
hooks: ReactHooks;
|
|
7
|
+
React: typeof import('react');
|
|
8
|
+
ReactDOM?: {
|
|
9
|
+
createPortal: (children: React.ReactNode, container: Element) => React.ReactNode;
|
|
10
|
+
};
|
|
11
|
+
environment?: GuideAIEnvironment;
|
|
12
|
+
/** Chrome extension popup sign-in (includes portal JWT when connected). */
|
|
13
|
+
extensionPortalAuth?: ExtensionPortalAuthProp;
|
|
14
|
+
};
|
|
15
|
+
export type DevtoolsAccessState = {
|
|
16
|
+
/** Full Developer tools section in transcript ⋯ (extension admin or embed after admin login). */
|
|
17
|
+
showDeveloperToolsMenu: boolean;
|
|
18
|
+
/** Embed only: hidden unlock revealed the Developer login row (not yet signed in). */
|
|
19
|
+
showDevtoolsLoginItem: boolean;
|
|
20
|
+
openDevtoolsLogin: () => void;
|
|
21
|
+
/** Embed only: triple-click transcript workflow title. No-op in extension. */
|
|
22
|
+
onTranscriptToolbarTitleClick: () => void;
|
|
23
|
+
/** Embed only: hidden unlock reveals the Developer login row in ⋯. */
|
|
24
|
+
revealEmbedDeveloperLogin: () => void;
|
|
25
|
+
revokeEmbedDeveloperAccess: () => void;
|
|
26
|
+
logoutDeveloper: () => void;
|
|
27
|
+
/** Embed with modal admin session: show Logout developer in Debug ⋯. */
|
|
28
|
+
showDeveloperLogout: boolean;
|
|
29
|
+
portalToken: string | null;
|
|
30
|
+
portalUser: DevtoolsPortalSession['user'] | null;
|
|
31
|
+
loginModal: React.ReactNode;
|
|
32
|
+
};
|
|
33
|
+
export declare function useDevtoolsAccess({ hooks, React, ReactDOM, environment, extensionPortalAuth, }: UseDevtoolsAccessParams): DevtoolsAccessState;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GuideAI Excavator — developer tool: browser automation + copilot via the **same Guide AI API base**
|
|
3
|
+
* as the widget (`GET/POST …/api/excavator/…`), or **`excavatorApiBaseUrl`** when the host serves
|
|
4
|
+
* Excavator on a different origin than the widget session. The host implements those routes or proxies
|
|
5
|
+
* Playwright companion; no separate companion URL in the UI.
|
|
6
|
+
*
|
|
7
|
+
* Visual structure matches other dev tools (`guideai-atd-*`). Nested in {@link DeveloperToolsShell}.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
export interface ExcavatorPanelProps {
|
|
11
|
+
zIndex: number;
|
|
12
|
+
visible: boolean;
|
|
13
|
+
onClose: () => void;
|
|
14
|
+
embedded?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare const ExcavatorPanel: ({ zIndex, visible, onClose, embedded }: ExcavatorPanelProps) => React.JSX.Element | null;
|
|
17
|
+
export default ExcavatorPanel;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** One `data:` JSON payload from the companion SSE stream. */
|
|
2
|
+
export type ExcavatorSseEvent = Record<string, unknown>;
|
|
3
|
+
/**
|
|
4
|
+
* Consume crawler companion `text/event-stream` chat responses (same wire format as `crawler/public/app.js`).
|
|
5
|
+
*/
|
|
6
|
+
export declare function consumeExcavatorSseChat(response: Response, onEvent: (ev: ExcavatorSseEvent) => void): Promise<ExcavatorSseEvent | null>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { LearnPhase } from './learnModeTypes';
|
|
3
|
+
export interface LearnModePanelProps {
|
|
4
|
+
embedded?: boolean;
|
|
5
|
+
phase: LearnPhase;
|
|
6
|
+
workspaceLabel: string;
|
|
7
|
+
proposedTitle: string;
|
|
8
|
+
onProposedTitleChange: (t: string) => void;
|
|
9
|
+
clarifyDone: boolean;
|
|
10
|
+
onClarifyDone: () => void;
|
|
11
|
+
onStartCapture: () => void | Promise<void>;
|
|
12
|
+
onGenerate: () => void | Promise<void>;
|
|
13
|
+
onCancel: () => void;
|
|
14
|
+
generatedWorkflowId: string | null;
|
|
15
|
+
adminWorkflowUrl: string | null;
|
|
16
|
+
}
|
|
17
|
+
declare const LearnModePanel: ({ embedded, phase, workspaceLabel, proposedTitle, onProposedTitleChange, clarifyDone, onClarifyDone, onStartCapture, onGenerate, onCancel, generatedWorkflowId, adminWorkflowUrl, }: LearnModePanelProps) => React.JSX.Element;
|
|
18
|
+
export default LearnModePanel;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MutableRefObject } from 'react';
|
|
3
|
+
import type { ReactHooks } from '../../utils/reactHooks';
|
|
4
|
+
import type { GuideAIEnvironment } from '../../types/GuideAI.types';
|
|
5
|
+
import type { RecordingStatus } from '../../types/GuideAI.types';
|
|
6
|
+
import type { StoredMessage } from '../../utils/messageStorage';
|
|
7
|
+
import type { ConversationManager } from '../../utils/conversationManager';
|
|
8
|
+
import type { DataChannelManager } from '../../utils/dataChannel';
|
|
9
|
+
import type { LearnModePanelProps } from './LearnModePanel';
|
|
10
|
+
import { type UseLearnModeResult } from './useLearnMode';
|
|
11
|
+
import type { LearnRealtimeSessionDeps } from './learnRealtimeSession';
|
|
12
|
+
export type LearnOrchestrationHostProps = {
|
|
13
|
+
hooks: ReactHooks;
|
|
14
|
+
React: typeof import('react');
|
|
15
|
+
ReactDOM?: {
|
|
16
|
+
createPortal: (children: React.ReactNode, container: Element) => React.ReactNode;
|
|
17
|
+
};
|
|
18
|
+
adminAvailable: boolean;
|
|
19
|
+
environment?: GuideAIEnvironment;
|
|
20
|
+
portalToken: string | null;
|
|
21
|
+
workspaceSlug: string;
|
|
22
|
+
workspaceName: string;
|
|
23
|
+
zIndexDevTools: number;
|
|
24
|
+
recordingStatus: RecordingStatus;
|
|
25
|
+
isConnecting: boolean;
|
|
26
|
+
connectionMessage?: string | null;
|
|
27
|
+
hasMic: boolean;
|
|
28
|
+
conversationIdRef: MutableRefObject<string | null>;
|
|
29
|
+
getConversationManager: () => ConversationManager | null;
|
|
30
|
+
getDataChannelManager: () => DataChannelManager | null;
|
|
31
|
+
cleanupWebRTC: () => void;
|
|
32
|
+
realtimeSessionDeps: LearnRealtimeSessionDeps;
|
|
33
|
+
performResetChat: () => void | Promise<void>;
|
|
34
|
+
handleToggleMute: () => void;
|
|
35
|
+
applyMicMuted: (muted: boolean) => void;
|
|
36
|
+
isMuted: boolean;
|
|
37
|
+
isAssistantPlaybackMuted: boolean;
|
|
38
|
+
handleToggleAssistantPlaybackMute: () => void;
|
|
39
|
+
syncTranscriptFromStorage: () => void;
|
|
40
|
+
allMessages: StoredMessage[];
|
|
41
|
+
onLearnFocusEnter?: () => void;
|
|
42
|
+
onLearnFocusExit?: () => void;
|
|
43
|
+
onLearnPanelChange: (learn: LearnModePanelProps) => void;
|
|
44
|
+
onLearnRuntimeChange: (runtime: {
|
|
45
|
+
learnFocusMode: boolean;
|
|
46
|
+
finishClarifying: UseLearnModeResult['finishClarifying'];
|
|
47
|
+
}) => void;
|
|
48
|
+
onDoneClarifyingRef: MutableRefObject<(() => void) | null>;
|
|
49
|
+
openShellOnTabRef: MutableRefObject<((tab: 'learn') => void) | null>;
|
|
50
|
+
closeShell: () => void;
|
|
51
|
+
};
|
|
52
|
+
export declare function LearnOrchestrationHost({ hooks, React, ReactDOM, adminAvailable, environment, portalToken, workspaceSlug, workspaceName, zIndexDevTools, recordingStatus, isConnecting, connectionMessage, hasMic, conversationIdRef, getConversationManager, getDataChannelManager, cleanupWebRTC, realtimeSessionDeps, performResetChat, handleToggleMute, applyMicMuted, isMuted, isAssistantPlaybackMuted, handleToggleAssistantPlaybackMute, syncTranscriptFromStorage, allMessages, onLearnFocusEnter, onLearnFocusExit, onLearnPanelChange, onLearnRuntimeChange, onDoneClarifyingRef, openShellOnTabRef, closeShell, }: LearnOrchestrationHostProps): React.JSX.Element | null;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StoredMessage } from '../../utils/messageStorage';
|
|
3
|
+
import type { LearnPhase } from './learnModeTypes';
|
|
4
|
+
import type { RecordingStatus } from '../../types/GuideAI.types';
|
|
5
|
+
import type { ConversationManager } from '../../utils/conversationManager';
|
|
6
|
+
import type { DataChannelManager } from '../../utils/dataChannel';
|
|
7
|
+
import type { ReactHooks } from '../../utils/reactHooks';
|
|
8
|
+
export type LearnCaptureChromeProps = {
|
|
9
|
+
React: typeof import('react');
|
|
10
|
+
ReactDOM?: {
|
|
11
|
+
createPortal: (children: React.ReactNode, container: Element) => React.ReactNode;
|
|
12
|
+
};
|
|
13
|
+
hooks: ReactHooks;
|
|
14
|
+
phase: LearnPhase;
|
|
15
|
+
capturePausedAt: number | null;
|
|
16
|
+
workspaceLabel: string;
|
|
17
|
+
allMessages: StoredMessage[];
|
|
18
|
+
syncTranscriptFromStorage: () => void;
|
|
19
|
+
onPause: () => void;
|
|
20
|
+
onResume: () => void;
|
|
21
|
+
onStop: () => void | Promise<void>;
|
|
22
|
+
onDoneClarifying: () => void;
|
|
23
|
+
clarifyDone: boolean;
|
|
24
|
+
getConversationManager: () => ConversationManager | null;
|
|
25
|
+
getDataChannelManager: () => DataChannelManager | null;
|
|
26
|
+
recordingStatus: RecordingStatus;
|
|
27
|
+
isConnecting: boolean;
|
|
28
|
+
connectionMessage?: string | null;
|
|
29
|
+
hasMic: boolean;
|
|
30
|
+
zIndex: number;
|
|
31
|
+
};
|
|
32
|
+
declare function LearnCaptureChrome({ React: R, ReactDOM, hooks, phase, capturePausedAt, workspaceLabel, allMessages, syncTranscriptFromStorage, onPause, onResume, onStop, onDoneClarifying, clarifyDone, getConversationManager, getDataChannelManager, recordingStatus, isConnecting, connectionMessage, hasMic, zIndex, }: LearnCaptureChromeProps): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
33
|
+
export default LearnCaptureChrome;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { DraggableDialogPosition } from '../useDraggableDialog';
|
|
2
|
+
/** Default width for learn capture chrome; keep in sync with `.guideai-learn-capture-root` in `learnModeStyles.ts`. */
|
|
3
|
+
export declare const LEARN_CAPTURE_PANEL_WIDTH_PX = 420;
|
|
4
|
+
/** Default max height for learn capture chrome; keep in sync with `.guideai-learn-capture-root`. */
|
|
5
|
+
export declare const LEARN_CAPTURE_PANEL_MAX_HEIGHT_PX = 360;
|
|
6
|
+
export declare const LEARN_CAPTURE_MARGIN_PX = 16;
|
|
7
|
+
/** Panel size used for drag clamp (measured when possible). */
|
|
8
|
+
export declare function getLearnCaptureClampExtents(element?: HTMLElement | null): {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
12
|
+
/** Bottom-right default (matches pre-drag fixed placement). */
|
|
13
|
+
export declare function getDefaultLearnCapturePosition(): DraggableDialogPosition;
|
|
14
|
+
/** Clamp a stored / dragged position so the full panel (incl. toolbar) stays on-screen. */
|
|
15
|
+
export declare function clampLearnCapturePosition(position: DraggableDialogPosition, element?: HTMLElement | null): DraggableDialogPosition;
|
|
16
|
+
/** Bottom offset from viewport bottom for a top-anchored panel box. */
|
|
17
|
+
export declare function learnCaptureBottomFromTop(top: number, panelHeight: number): number;
|
|
18
|
+
/**
|
|
19
|
+
* Clamp while preserving the panel bottom edge (transcript growth expands upward).
|
|
20
|
+
* Returns settled `top` for drag state/localStorage and `bottom` for fixed positioning.
|
|
21
|
+
*/
|
|
22
|
+
export declare function clampLearnCapturePositionWithBottomAnchor(position: DraggableDialogPosition, bottomAnchor: number, element?: HTMLElement | null): DraggableDialogPosition & {
|
|
23
|
+
bottom: number;
|
|
24
|
+
};
|
|
25
|
+
/** Restored position from localStorage, or the default bottom-right placement. */
|
|
26
|
+
export declare function getLearnCaptureInitialPosition(): DraggableDialogPosition;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PointerEvent as ReactPointerEvent } from 'react';
|
|
3
|
+
import type { RecordingStatus } from '../../types/GuideAI.types';
|
|
4
|
+
export type LearnCaptureToolbarDragHandlers = {
|
|
5
|
+
onPointerDown: (e: ReactPointerEvent<HTMLDivElement>) => void;
|
|
6
|
+
onPointerMove: (e: ReactPointerEvent<HTMLDivElement>) => void;
|
|
7
|
+
onPointerUp: (e: ReactPointerEvent<HTMLDivElement>) => void;
|
|
8
|
+
onPointerCancel: (e: ReactPointerEvent<HTMLDivElement>) => void;
|
|
9
|
+
};
|
|
10
|
+
export type LearnCaptureToolbarProps = {
|
|
11
|
+
dragHandlers?: LearnCaptureToolbarDragHandlers;
|
|
12
|
+
recordingStatus: RecordingStatus;
|
|
13
|
+
isConnecting: boolean;
|
|
14
|
+
connectionMessage?: string | null;
|
|
15
|
+
hasMic: boolean;
|
|
16
|
+
/** When true (capture pause), VAD is greyed out; mic/playback are muted elsewhere. */
|
|
17
|
+
vadPaused: boolean;
|
|
18
|
+
capturing: boolean;
|
|
19
|
+
clarifying?: boolean;
|
|
20
|
+
clarifyDone?: boolean;
|
|
21
|
+
paused: boolean;
|
|
22
|
+
onPause: () => void;
|
|
23
|
+
onResume: () => void;
|
|
24
|
+
onStop: () => void | Promise<void>;
|
|
25
|
+
onDoneClarifying?: () => void;
|
|
26
|
+
};
|
|
27
|
+
export declare function LearnCaptureToolbar({ dragHandlers, recordingStatus, isConnecting, connectionMessage, hasMic, vadPaused, capturing, clarifying, clarifyDone, paused, onPause, onResume, onStop, onDoneClarifying, }: LearnCaptureToolbarProps): React.JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ConversationManager } from '../../utils/conversationManager';
|
|
2
|
+
import type { DataChannelManager } from '../../utils/dataChannel';
|
|
3
|
+
/**
|
|
4
|
+
* After clarify re-init, wait for the data channel then request the first assistant turn.
|
|
5
|
+
*/
|
|
6
|
+
export declare function triggerLearnClarifyKickoff(getDataChannelManager: () => DataChannelManager | null, getConversationManager: () => ConversationManager | null): Promise<void>;
|