@burtson-labs/bandit-engine 2.0.76 → 2.0.78
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/dist/{chat-ZIHCX6ES.mjs → chat-C2C5VSLI.mjs} +4 -4
- package/dist/{chunk-62PZTN7J.mjs → chunk-2IK2YJGB.mjs} +4 -4
- package/dist/chunk-2IK2YJGB.mjs.map +1 -0
- package/dist/{chunk-6DY7W4NK.mjs → chunk-57L7TXB6.mjs} +3 -3
- package/dist/{chunk-6DY7W4NK.mjs.map → chunk-57L7TXB6.mjs.map} +1 -1
- package/dist/{chunk-JURUEF52.mjs → chunk-5DSDARPR.mjs} +2 -2
- package/dist/{chunk-E5ROHXFN.mjs → chunk-UDSKWLDG.mjs} +43 -16
- package/dist/chunk-UDSKWLDG.mjs.map +1 -0
- package/dist/{chunk-U633CJBV.mjs → chunk-YYYEMVBV.mjs} +2 -2
- package/dist/index.d.mts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +121 -47
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +79 -33
- package/dist/index.mjs.map +1 -1
- package/dist/management/management.js +41 -14
- package/dist/management/management.js.map +1 -1
- package/dist/management/management.mjs +4 -4
- package/dist/modals/chat-modal/chat-modal.js +2 -2
- package/dist/modals/chat-modal/chat-modal.js.map +1 -1
- package/dist/modals/chat-modal/chat-modal.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-62PZTN7J.mjs.map +0 -1
- package/dist/chunk-E5ROHXFN.mjs.map +0 -1
- /package/dist/{chat-ZIHCX6ES.mjs.map → chat-C2C5VSLI.mjs.map} +0 -0
- /package/dist/{chunk-JURUEF52.mjs.map → chunk-5DSDARPR.mjs.map} +0 -0
- /package/dist/{chunk-U633CJBV.mjs.map → chunk-YYYEMVBV.mjs.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getHighlightTree,
|
|
5
5
|
markdownSanitizeSchema,
|
|
6
6
|
renderLowlightChildren
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-57L7TXB6.mjs";
|
|
8
8
|
|
|
9
9
|
// src/components/StreamingMarkdown.tsx
|
|
10
10
|
import React, { useEffect, useMemo, useRef, useState } from "react";
|
|
@@ -495,4 +495,4 @@ var StreamingMarkdown_default = React.memo(StreamingMarkdown, arePropsEqual);
|
|
|
495
495
|
export {
|
|
496
496
|
StreamingMarkdown_default
|
|
497
497
|
};
|
|
498
|
-
//# sourceMappingURL=chunk-
|
|
498
|
+
//# sourceMappingURL=chunk-YYYEMVBV.mjs.map
|
package/dist/index.d.mts
CHANGED
|
@@ -14,6 +14,18 @@ declare const Chat: () => react_jsx_runtime.JSX.Element | null;
|
|
|
14
14
|
|
|
15
15
|
declare const Management: () => react_jsx_runtime.JSX.Element | null;
|
|
16
16
|
|
|
17
|
+
interface InterestsEditorProps {
|
|
18
|
+
title?: string | null;
|
|
19
|
+
description?: string | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Topic picker for the user's interests. Self-contained — hydrates the
|
|
23
|
+
* preferences store on mount so it works anywhere (e.g. the account profile
|
|
24
|
+
* page, outside the chat). Edits persist to the same store the home-screen
|
|
25
|
+
* conversation starters read from.
|
|
26
|
+
*/
|
|
27
|
+
declare const InterestsEditor: ({ title, description, }: InterestsEditorProps) => react_jsx_runtime.JSX.Element;
|
|
28
|
+
|
|
17
29
|
declare function defineCustomElement<Props extends Record<string, unknown>>(name: string, Component: React.ComponentType<Props>): void;
|
|
18
30
|
|
|
19
31
|
/**
|
|
@@ -1337,4 +1349,4 @@ declare const useVectorStore: () => {
|
|
|
1337
1349
|
initializeVectorService: () => Promise<void>;
|
|
1338
1350
|
};
|
|
1339
1351
|
|
|
1340
|
-
export { Chat, type CreateMemoryOptions, DebugLogger, FeatureEvaluation, FeatureFlagConfig, FeatureFlagContext, type FeatureFlagContextValue, FeatureFlagProvider, type FeatureFlagProviderProps, FeatureFlagService, FeatureKey, FeedbackButton, type FeedbackButtonProps, type FeedbackCategories, FeedbackModal, type FeedbackModalProps, type FeedbackPriorities, type FeedbackRequest, type FeedbackResponse, type FileUploadResult, type GatewayQueryOptions, type LogContext, Management, type MemorySearchFilters, type MigrationProgress, type MigrationStatus, type NotificationConfig, type NotificationContextType, NotificationProvider, type NotificationProviderProps, NotificationService, SYSTEM_FLAGS, type SearchOptions, type SearchResult, StreamingTTSClient, SubscriptionExpiredGuard, type SubscriptionExpiredGuardProps, SubscriptionExpiredModal, type SubscriptionExpiredModalProps, SubscriptionTier, type TTSOptions, type TTSProgress, TTSState, TrialUsage, type UploadRequest, type UseTTSReturn, VectorDatabaseService, type VectorDocument, type VectorMemory, type VectorMemoryMetadata, VectorMigrationService, type VectorStoreStatus, type VoiceState, authenticationService, debugLogger, defineCustomElement, featureFlagService, getCriticalConfig, getFeatureMatrix, getStreamingTTSClient, getSystemConstants, getTTSState, handleHttpError, handleSubscriptionUpgrade, handleValidationError, initializeCoreSystem, notificationService, pauseTTS, previewTierUpgrade, resumeTTS, showInfoNotification, showSuccessNotification, speakStream as speakWithStreaming, stopTTS, syncSubscriptionWithAPI, updateSubscriptionTier, useFeatureFlag, useFeatureVisibility, useFeatures, useGatewayHealth, useGatewayMemory, useGatewayModels, useGlobalTTS, useNotification, useNotificationService, useTTS, useVectorStore, useVoiceStore, useVoices, validateEnvironment, validateSystemIntegrity, vectorDatabaseService, vectorMigrationService };
|
|
1352
|
+
export { Chat, type CreateMemoryOptions, DebugLogger, FeatureEvaluation, FeatureFlagConfig, FeatureFlagContext, type FeatureFlagContextValue, FeatureFlagProvider, type FeatureFlagProviderProps, FeatureFlagService, FeatureKey, FeedbackButton, type FeedbackButtonProps, type FeedbackCategories, FeedbackModal, type FeedbackModalProps, type FeedbackPriorities, type FeedbackRequest, type FeedbackResponse, type FileUploadResult, type GatewayQueryOptions, InterestsEditor, type LogContext, Management, type MemorySearchFilters, type MigrationProgress, type MigrationStatus, type NotificationConfig, type NotificationContextType, NotificationProvider, type NotificationProviderProps, NotificationService, SYSTEM_FLAGS, type SearchOptions, type SearchResult, StreamingTTSClient, SubscriptionExpiredGuard, type SubscriptionExpiredGuardProps, SubscriptionExpiredModal, type SubscriptionExpiredModalProps, SubscriptionTier, type TTSOptions, type TTSProgress, TTSState, TrialUsage, type UploadRequest, type UseTTSReturn, VectorDatabaseService, type VectorDocument, type VectorMemory, type VectorMemoryMetadata, VectorMigrationService, type VectorStoreStatus, type VoiceState, authenticationService, debugLogger, defineCustomElement, featureFlagService, getCriticalConfig, getFeatureMatrix, getStreamingTTSClient, getSystemConstants, getTTSState, handleHttpError, handleSubscriptionUpgrade, handleValidationError, initializeCoreSystem, notificationService, pauseTTS, previewTierUpgrade, resumeTTS, showInfoNotification, showSuccessNotification, speakStream as speakWithStreaming, stopTTS, syncSubscriptionWithAPI, updateSubscriptionTier, useFeatureFlag, useFeatureVisibility, useFeatures, useGatewayHealth, useGatewayMemory, useGatewayModels, useGlobalTTS, useNotification, useNotificationService, useTTS, useVectorStore, useVoiceStore, useVoices, validateEnvironment, validateSystemIntegrity, vectorDatabaseService, vectorMigrationService };
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,18 @@ declare const Chat: () => react_jsx_runtime.JSX.Element | null;
|
|
|
14
14
|
|
|
15
15
|
declare const Management: () => react_jsx_runtime.JSX.Element | null;
|
|
16
16
|
|
|
17
|
+
interface InterestsEditorProps {
|
|
18
|
+
title?: string | null;
|
|
19
|
+
description?: string | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Topic picker for the user's interests. Self-contained — hydrates the
|
|
23
|
+
* preferences store on mount so it works anywhere (e.g. the account profile
|
|
24
|
+
* page, outside the chat). Edits persist to the same store the home-screen
|
|
25
|
+
* conversation starters read from.
|
|
26
|
+
*/
|
|
27
|
+
declare const InterestsEditor: ({ title, description, }: InterestsEditorProps) => react_jsx_runtime.JSX.Element;
|
|
28
|
+
|
|
17
29
|
declare function defineCustomElement<Props extends Record<string, unknown>>(name: string, Component: React.ComponentType<Props>): void;
|
|
18
30
|
|
|
19
31
|
/**
|
|
@@ -1337,4 +1349,4 @@ declare const useVectorStore: () => {
|
|
|
1337
1349
|
initializeVectorService: () => Promise<void>;
|
|
1338
1350
|
};
|
|
1339
1351
|
|
|
1340
|
-
export { Chat, type CreateMemoryOptions, DebugLogger, FeatureEvaluation, FeatureFlagConfig, FeatureFlagContext, type FeatureFlagContextValue, FeatureFlagProvider, type FeatureFlagProviderProps, FeatureFlagService, FeatureKey, FeedbackButton, type FeedbackButtonProps, type FeedbackCategories, FeedbackModal, type FeedbackModalProps, type FeedbackPriorities, type FeedbackRequest, type FeedbackResponse, type FileUploadResult, type GatewayQueryOptions, type LogContext, Management, type MemorySearchFilters, type MigrationProgress, type MigrationStatus, type NotificationConfig, type NotificationContextType, NotificationProvider, type NotificationProviderProps, NotificationService, SYSTEM_FLAGS, type SearchOptions, type SearchResult, StreamingTTSClient, SubscriptionExpiredGuard, type SubscriptionExpiredGuardProps, SubscriptionExpiredModal, type SubscriptionExpiredModalProps, SubscriptionTier, type TTSOptions, type TTSProgress, TTSState, TrialUsage, type UploadRequest, type UseTTSReturn, VectorDatabaseService, type VectorDocument, type VectorMemory, type VectorMemoryMetadata, VectorMigrationService, type VectorStoreStatus, type VoiceState, authenticationService, debugLogger, defineCustomElement, featureFlagService, getCriticalConfig, getFeatureMatrix, getStreamingTTSClient, getSystemConstants, getTTSState, handleHttpError, handleSubscriptionUpgrade, handleValidationError, initializeCoreSystem, notificationService, pauseTTS, previewTierUpgrade, resumeTTS, showInfoNotification, showSuccessNotification, speakStream as speakWithStreaming, stopTTS, syncSubscriptionWithAPI, updateSubscriptionTier, useFeatureFlag, useFeatureVisibility, useFeatures, useGatewayHealth, useGatewayMemory, useGatewayModels, useGlobalTTS, useNotification, useNotificationService, useTTS, useVectorStore, useVoiceStore, useVoices, validateEnvironment, validateSystemIntegrity, vectorDatabaseService, vectorMigrationService };
|
|
1352
|
+
export { Chat, type CreateMemoryOptions, DebugLogger, FeatureEvaluation, FeatureFlagConfig, FeatureFlagContext, type FeatureFlagContextValue, FeatureFlagProvider, type FeatureFlagProviderProps, FeatureFlagService, FeatureKey, FeedbackButton, type FeedbackButtonProps, type FeedbackCategories, FeedbackModal, type FeedbackModalProps, type FeedbackPriorities, type FeedbackRequest, type FeedbackResponse, type FileUploadResult, type GatewayQueryOptions, InterestsEditor, type LogContext, Management, type MemorySearchFilters, type MigrationProgress, type MigrationStatus, type NotificationConfig, type NotificationContextType, NotificationProvider, type NotificationProviderProps, NotificationService, SYSTEM_FLAGS, type SearchOptions, type SearchResult, StreamingTTSClient, SubscriptionExpiredGuard, type SubscriptionExpiredGuardProps, SubscriptionExpiredModal, type SubscriptionExpiredModalProps, SubscriptionTier, type TTSOptions, type TTSProgress, TTSState, TrialUsage, type UploadRequest, type UseTTSReturn, VectorDatabaseService, type VectorDocument, type VectorMemory, type VectorMemoryMetadata, VectorMigrationService, type VectorStoreStatus, type VoiceState, authenticationService, debugLogger, defineCustomElement, featureFlagService, getCriticalConfig, getFeatureMatrix, getStreamingTTSClient, getSystemConstants, getTTSState, handleHttpError, handleSubscriptionUpgrade, handleValidationError, initializeCoreSystem, notificationService, pauseTTS, previewTierUpgrade, resumeTTS, showInfoNotification, showSuccessNotification, speakStream as speakWithStreaming, stopTTS, syncSubscriptionWithAPI, updateSubscriptionTier, useFeatureFlag, useFeatureVisibility, useFeatures, useGatewayHealth, useGatewayMemory, useGatewayModels, useGlobalTTS, useNotification, useNotificationService, useTTS, useVectorStore, useVoiceStore, useVoices, validateEnvironment, validateSystemIntegrity, vectorDatabaseService, vectorMigrationService };
|
package/dist/index.js
CHANGED
|
@@ -16262,7 +16262,7 @@ var init_memory_modal = __esm({
|
|
|
16262
16262
|
{
|
|
16263
16263
|
variant: "body2",
|
|
16264
16264
|
sx: { color: theme.palette.text.secondary, fontSize: "0.85rem", textAlign: isMobileView ? "left" : "center" },
|
|
16265
|
-
children: shouldUseVectorForMemories ? "
|
|
16265
|
+
children: shouldUseVectorForMemories ? "Semantic memory \u2014 searches meaning across your conversations." : "Private and local. You decide what's remembered."
|
|
16266
16266
|
}
|
|
16267
16267
|
) }),
|
|
16268
16268
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
@@ -16495,7 +16495,7 @@ var init_memory_modal = __esm({
|
|
|
16495
16495
|
fontStyle: "italic",
|
|
16496
16496
|
mt: 0.5,
|
|
16497
16497
|
display: "block"
|
|
16498
|
-
}, children: "
|
|
16498
|
+
}, children: "Pinned" })
|
|
16499
16499
|
] })
|
|
16500
16500
|
]
|
|
16501
16501
|
}
|
|
@@ -18617,7 +18617,7 @@ ${sanitize(
|
|
|
18617
18617
|
};
|
|
18618
18618
|
const memory = localStorage.getItem("bandit-memory");
|
|
18619
18619
|
const hasAttachmentAction = !isPlaygroundMode3 && fileInputs.length < 3 && isDocumentUploadEnabled;
|
|
18620
|
-
const hasMemoryAction =
|
|
18620
|
+
const hasMemoryAction = false;
|
|
18621
18621
|
const hasFeedbackAction = isFeedbackEnabled && isMobile;
|
|
18622
18622
|
const hasSttAction = isSTTAvailable && !isVoiceModeEnabled;
|
|
18623
18623
|
const hasSecondaryActions = isMobile && (hasAttachmentAction || hasMemoryAction || hasFeedbackAction || hasSttAction);
|
|
@@ -30613,6 +30613,7 @@ __export(index_exports, {
|
|
|
30613
30613
|
FeatureFlagService: () => FeatureFlagService,
|
|
30614
30614
|
FeedbackButton: () => FeedbackButton,
|
|
30615
30615
|
FeedbackModal: () => FeedbackModal,
|
|
30616
|
+
InterestsEditor: () => InterestsEditor_default,
|
|
30616
30617
|
Management: () => management_default,
|
|
30617
30618
|
NotificationProvider: () => NotificationProvider,
|
|
30618
30619
|
NotificationService: () => NotificationService,
|
|
@@ -34646,7 +34647,7 @@ var PersonalitiesTab = ({
|
|
|
34646
34647
|
import_material38.Card,
|
|
34647
34648
|
{
|
|
34648
34649
|
sx: {
|
|
34649
|
-
mb: { xs: 2, md:
|
|
34650
|
+
mb: { xs: 2, md: 2.5 },
|
|
34650
34651
|
background: "linear-gradient(135deg, #1976d2 0%, #42a5f5 100%)",
|
|
34651
34652
|
border: "2px solid transparent",
|
|
34652
34653
|
borderRadius: { xs: 2.25, sm: 3 },
|
|
@@ -34683,24 +34684,24 @@ var PersonalitiesTab = ({
|
|
|
34683
34684
|
setPersonalityTabIndex(1);
|
|
34684
34685
|
},
|
|
34685
34686
|
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_material38.CardContent, { sx: {
|
|
34686
|
-
p: { xs: 1.75, sm:
|
|
34687
|
+
p: { xs: 1.75, sm: 2.5 },
|
|
34687
34688
|
color: "white",
|
|
34688
|
-
textAlign:
|
|
34689
|
+
textAlign: "left",
|
|
34689
34690
|
position: "relative",
|
|
34690
34691
|
zIndex: 1,
|
|
34691
34692
|
display: "flex",
|
|
34692
|
-
flexDirection:
|
|
34693
|
-
alignItems:
|
|
34694
|
-
gap: { xs: 1.25, sm:
|
|
34693
|
+
flexDirection: "row",
|
|
34694
|
+
alignItems: "center",
|
|
34695
|
+
gap: { xs: 1.25, sm: 2 }
|
|
34695
34696
|
}, children: [
|
|
34696
34697
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_material38.Box, { sx: {
|
|
34697
34698
|
display: "flex",
|
|
34698
34699
|
alignItems: "center",
|
|
34699
34700
|
justifyContent: "center",
|
|
34700
34701
|
fontSize: 0,
|
|
34701
|
-
mb:
|
|
34702
|
+
mb: 0,
|
|
34702
34703
|
flexShrink: 0
|
|
34703
|
-
}, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AutoAwesomeIcon, { sx: { fontSize: { xs: 28, sm:
|
|
34704
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AutoAwesomeIcon, { sx: { fontSize: { xs: 28, sm: 34 }, color: "common.white", filter: "drop-shadow(0 4px 12px rgba(0,0,0,0.25))" } }) }),
|
|
34704
34705
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_material38.Box, { sx: { flex: 1, minWidth: 0 }, children: [
|
|
34705
34706
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
34706
34707
|
import_material38.Typography,
|
|
@@ -34708,9 +34709,9 @@ var PersonalitiesTab = ({
|
|
|
34708
34709
|
variant: "h5",
|
|
34709
34710
|
sx: {
|
|
34710
34711
|
fontWeight: 700,
|
|
34711
|
-
mb:
|
|
34712
|
+
mb: 0.25,
|
|
34712
34713
|
textShadow: "0 2px 4px rgba(0,0,0,0.2)",
|
|
34713
|
-
fontSize: { xs: "1.1rem", sm: "1.
|
|
34714
|
+
fontSize: { xs: "1.1rem", sm: "1.25rem" }
|
|
34714
34715
|
},
|
|
34715
34716
|
children: "Create from Scratch"
|
|
34716
34717
|
}
|
|
@@ -35846,6 +35847,7 @@ var PersonalitiesTab_default = PersonalitiesTab;
|
|
|
35846
35847
|
|
|
35847
35848
|
// src/management/components/PreferencesTab.tsx
|
|
35848
35849
|
var import_react48 = require("react");
|
|
35850
|
+
init_memory_modal();
|
|
35849
35851
|
var import_material39 = require("@mui/material");
|
|
35850
35852
|
init_preferencesStore();
|
|
35851
35853
|
init_getStableQuestionPrompt();
|
|
@@ -35942,6 +35944,7 @@ var PreferencesTab = ({
|
|
|
35942
35944
|
const [syncToggleLoading, setSyncToggleLoading] = (0, import_react48.useState)(false);
|
|
35943
35945
|
const [manualSyncLoading, setManualSyncLoading] = (0, import_react48.useState)(false);
|
|
35944
35946
|
const [advancedVectorToggleLoading, setAdvancedVectorToggleLoading] = (0, import_react48.useState)(false);
|
|
35947
|
+
const [memoryModalOpen, setMemoryModalOpen] = (0, import_react48.useState)(false);
|
|
35945
35948
|
const timeoutRef = (0, import_react48.useRef)(null);
|
|
35946
35949
|
const fileInputRef = (0, import_react48.useRef)(null);
|
|
35947
35950
|
const { exportPreferences, importPreferences, resetToDefaults } = usePreferencesStore();
|
|
@@ -36501,6 +36504,10 @@ var PreferencesTab = ({
|
|
|
36501
36504
|
] })
|
|
36502
36505
|
}
|
|
36503
36506
|
),
|
|
36507
|
+
preferences.memoryEnabled && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_material39.Box, { sx: { pl: { xs: 0, sm: 6 }, mt: -0.5, mb: 0.5 }, children: [
|
|
36508
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_material39.Button, { size: "small", variant: "outlined", onClick: () => setMemoryModalOpen(true), children: "Manage memories" }),
|
|
36509
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(memory_modal_default, { open: memoryModalOpen, onClose: () => setMemoryModalOpen(false) })
|
|
36510
|
+
] }),
|
|
36504
36511
|
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
36505
36512
|
import_material39.FormControlLabel,
|
|
36506
36513
|
{
|
|
@@ -44101,6 +44108,14 @@ var Management = () => {
|
|
|
44101
44108
|
const currentTheme = (0, import_react60.useMemo)(() => {
|
|
44102
44109
|
const baseTheme = predefinedThemes[theme] || banditDarkTheme;
|
|
44103
44110
|
return (0, import_styles32.createTheme)(baseTheme, {
|
|
44111
|
+
// Management-scoped density: condenses every settings tab at once. This
|
|
44112
|
+
// theme only wraps the admin console, so the chat UI is unaffected.
|
|
44113
|
+
typography: {
|
|
44114
|
+
h3: { fontSize: "1.7rem" },
|
|
44115
|
+
h4: { fontSize: "1.35rem" },
|
|
44116
|
+
h5: { fontSize: "1.15rem" },
|
|
44117
|
+
h6: { fontSize: "1rem" }
|
|
44118
|
+
},
|
|
44104
44119
|
components: {
|
|
44105
44120
|
MuiInputBase: {
|
|
44106
44121
|
styleOverrides: {
|
|
@@ -44121,6 +44136,19 @@ var Management = () => {
|
|
|
44121
44136
|
}
|
|
44122
44137
|
}
|
|
44123
44138
|
}
|
|
44139
|
+
},
|
|
44140
|
+
MuiCardContent: {
|
|
44141
|
+
styleOverrides: {
|
|
44142
|
+
root: {
|
|
44143
|
+
padding: 16,
|
|
44144
|
+
"&:last-child": { paddingBottom: 16 }
|
|
44145
|
+
}
|
|
44146
|
+
}
|
|
44147
|
+
},
|
|
44148
|
+
MuiCard: {
|
|
44149
|
+
styleOverrides: {
|
|
44150
|
+
root: { borderRadius: 12 }
|
|
44151
|
+
}
|
|
44124
44152
|
}
|
|
44125
44153
|
}
|
|
44126
44154
|
});
|
|
@@ -44570,7 +44598,7 @@ var Management = () => {
|
|
|
44570
44598
|
{
|
|
44571
44599
|
sx: {
|
|
44572
44600
|
flex: 1,
|
|
44573
|
-
p: { xs: 1, sm:
|
|
44601
|
+
p: { xs: 1.5, sm: 2.5, md: 3 },
|
|
44574
44602
|
overflowY: "auto",
|
|
44575
44603
|
overflowX: "hidden",
|
|
44576
44604
|
maxWidth: "100vw",
|
|
@@ -44696,8 +44724,53 @@ var Management = () => {
|
|
|
44696
44724
|
};
|
|
44697
44725
|
var management_default = Management;
|
|
44698
44726
|
|
|
44727
|
+
// src/management/components/InterestsEditor.tsx
|
|
44728
|
+
var import_react61 = require("react");
|
|
44729
|
+
var import_material51 = require("@mui/material");
|
|
44730
|
+
init_preferencesStore();
|
|
44731
|
+
init_getStableQuestionPrompt();
|
|
44732
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
44733
|
+
var InterestsEditor = ({
|
|
44734
|
+
title = "Your interests",
|
|
44735
|
+
description = "Pick the topics you care about \u2014 your home-screen conversation starters lean toward them."
|
|
44736
|
+
}) => {
|
|
44737
|
+
const preferences = usePreferencesStore((s) => s.preferences);
|
|
44738
|
+
const updatePreference = usePreferencesStore((s) => s.updatePreference);
|
|
44739
|
+
const loadPreferences = usePreferencesStore((s) => s.loadPreferences);
|
|
44740
|
+
const isLoaded = usePreferencesStore((s) => s.isLoaded);
|
|
44741
|
+
(0, import_react61.useEffect)(() => {
|
|
44742
|
+
if (!isLoaded) {
|
|
44743
|
+
void loadPreferences();
|
|
44744
|
+
}
|
|
44745
|
+
}, [isLoaded, loadPreferences]);
|
|
44746
|
+
const interests = preferences?.interests ?? [];
|
|
44747
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_material51.Box, { children: [
|
|
44748
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material51.Typography, { variant: "h6", sx: { fontWeight: 600, color: "text.primary" }, children: title }),
|
|
44749
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material51.Typography, { variant: "body2", color: "text.secondary", sx: { mb: 1.5 }, children: description }),
|
|
44750
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_material51.Box, { sx: { display: "flex", flexWrap: "wrap", gap: 1 }, children: TOPICS.map((topic) => {
|
|
44751
|
+
const selected = interests.includes(topic);
|
|
44752
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
44753
|
+
import_material51.Chip,
|
|
44754
|
+
{
|
|
44755
|
+
label: topic,
|
|
44756
|
+
size: "small",
|
|
44757
|
+
color: selected ? "primary" : "default",
|
|
44758
|
+
variant: selected ? "filled" : "outlined",
|
|
44759
|
+
onClick: () => {
|
|
44760
|
+
const next = selected ? interests.filter((t) => t !== topic) : [...interests, topic];
|
|
44761
|
+
updatePreference("interests", next);
|
|
44762
|
+
},
|
|
44763
|
+
sx: { textTransform: "capitalize" }
|
|
44764
|
+
},
|
|
44765
|
+
topic
|
|
44766
|
+
);
|
|
44767
|
+
}) })
|
|
44768
|
+
] });
|
|
44769
|
+
};
|
|
44770
|
+
var InterestsEditor_default = InterestsEditor;
|
|
44771
|
+
|
|
44699
44772
|
// src/shared/custom-element.ts
|
|
44700
|
-
var
|
|
44773
|
+
var import_react62 = __toESM(require("react"));
|
|
44701
44774
|
var import_client = __toESM(require("react-dom/client"));
|
|
44702
44775
|
function defineCustomElement(name, Component) {
|
|
44703
44776
|
if (customElements.get(name)) return;
|
|
@@ -44725,7 +44798,7 @@ function defineCustomElement(name, Component) {
|
|
|
44725
44798
|
if (!this.root) {
|
|
44726
44799
|
this.root = import_client.default.createRoot(this.mountPoint);
|
|
44727
44800
|
}
|
|
44728
|
-
this.root.render(
|
|
44801
|
+
this.root.render(import_react62.default.createElement(Component, props));
|
|
44729
44802
|
}
|
|
44730
44803
|
}
|
|
44731
44804
|
customElements.define(name, ReactElement);
|
|
@@ -44934,7 +45007,7 @@ var getFeatureMatrix = () => featureFlagService.generateFeatureMatrix();
|
|
|
44934
45007
|
init_featureFlags();
|
|
44935
45008
|
|
|
44936
45009
|
// src/hooks/useVoices.ts
|
|
44937
|
-
var
|
|
45010
|
+
var import_react63 = require("react");
|
|
44938
45011
|
init_voiceStore();
|
|
44939
45012
|
init_packageSettingsStore();
|
|
44940
45013
|
init_authenticationStore();
|
|
@@ -44954,7 +45027,7 @@ var useVoices = () => {
|
|
|
44954
45027
|
} = useVoiceStore();
|
|
44955
45028
|
const gatewayApiUrl = usePackageSettingsStore((state) => state.settings?.gatewayApiUrl);
|
|
44956
45029
|
const { token } = useAuthenticationStore();
|
|
44957
|
-
(0,
|
|
45030
|
+
(0, import_react63.useEffect)(() => {
|
|
44958
45031
|
const isAuthenticated = authenticationService.isAuthenticated();
|
|
44959
45032
|
if (gatewayApiUrl && token && isAuthenticated && !isServiceAvailable) {
|
|
44960
45033
|
debugLogger.debug("Gateway API URL and JWT token available, loading voice models...");
|
|
@@ -44989,9 +45062,9 @@ init_useTTS();
|
|
|
44989
45062
|
init_streaming_tts();
|
|
44990
45063
|
|
|
44991
45064
|
// src/modals/SubscriptionExpiredModal.tsx
|
|
44992
|
-
var
|
|
45065
|
+
var import_material52 = require("@mui/material");
|
|
44993
45066
|
var import_lucide_react12 = require("lucide-react");
|
|
44994
|
-
var
|
|
45067
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
44995
45068
|
var SubscriptionExpiredModal = ({
|
|
44996
45069
|
open,
|
|
44997
45070
|
onNavigateHome,
|
|
@@ -45013,8 +45086,8 @@ var SubscriptionExpiredModal = ({
|
|
|
45013
45086
|
window.location.href = "/manage-subscription";
|
|
45014
45087
|
}
|
|
45015
45088
|
};
|
|
45016
|
-
return /* @__PURE__ */ (0,
|
|
45017
|
-
|
|
45089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
45090
|
+
import_material52.Dialog,
|
|
45018
45091
|
{
|
|
45019
45092
|
open,
|
|
45020
45093
|
onClose,
|
|
@@ -45028,47 +45101,47 @@ var SubscriptionExpiredModal = ({
|
|
|
45028
45101
|
}
|
|
45029
45102
|
},
|
|
45030
45103
|
children: [
|
|
45031
|
-
/* @__PURE__ */ (0,
|
|
45032
|
-
/* @__PURE__ */ (0,
|
|
45033
|
-
/* @__PURE__ */ (0,
|
|
45104
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material52.DialogTitle, { sx: { textAlign: "center", pb: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_material52.Box, { sx: { display: "flex", alignItems: "center", justifyContent: "center", gap: 1, mb: 1 }, children: [
|
|
45105
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react12.AlertTriangle, { size: 32, color: "warning" }),
|
|
45106
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material52.Typography, { variant: "h5", component: "span", fontWeight: "bold", children: "Subscription Expired" })
|
|
45034
45107
|
] }) }),
|
|
45035
|
-
/* @__PURE__ */ (0,
|
|
45036
|
-
/* @__PURE__ */ (0,
|
|
45037
|
-
userEmail && /* @__PURE__ */ (0,
|
|
45108
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material52.DialogContent, { sx: { pt: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_material52.Stack, { spacing: 2, children: [
|
|
45109
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material52.Alert, { severity: "warning", sx: { mb: 2 }, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material52.Typography, { variant: "body2", children: "Your subscription has expired and access to features has been restricted." }) }),
|
|
45110
|
+
userEmail && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_material52.Typography, { variant: "body2", color: "text.secondary", sx: { textAlign: "center" }, children: [
|
|
45038
45111
|
"Account: ",
|
|
45039
|
-
/* @__PURE__ */ (0,
|
|
45112
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("strong", { children: userEmail })
|
|
45040
45113
|
] }),
|
|
45041
|
-
/* @__PURE__ */ (0,
|
|
45042
|
-
/* @__PURE__ */ (0,
|
|
45114
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material52.Typography, { variant: "body1", sx: { textAlign: "center", color: "text.secondary" }, children: "To continue using all features, please renew your subscription or return to the main application." }),
|
|
45115
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_material52.Box, { sx: {
|
|
45043
45116
|
bgcolor: "background.paper",
|
|
45044
45117
|
border: 1,
|
|
45045
45118
|
borderColor: "divider",
|
|
45046
45119
|
borderRadius: 1,
|
|
45047
45120
|
p: 2,
|
|
45048
45121
|
mt: 2
|
|
45049
|
-
}, children: /* @__PURE__ */ (0,
|
|
45050
|
-
/* @__PURE__ */ (0,
|
|
45122
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_material52.Typography, { variant: "caption", color: "text.secondary", sx: { fontStyle: "italic" }, children: [
|
|
45123
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("strong", { children: "What's affected:" }),
|
|
45051
45124
|
" All premium features including document upload, voice controls, advanced search, and admin dashboard access have been disabled until your subscription is renewed."
|
|
45052
45125
|
] }) })
|
|
45053
45126
|
] }) }),
|
|
45054
|
-
/* @__PURE__ */ (0,
|
|
45055
|
-
/* @__PURE__ */ (0,
|
|
45056
|
-
|
|
45127
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_material52.DialogActions, { sx: { px: 3, pb: 3, gap: 1, justifyContent: "center" }, children: [
|
|
45128
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
45129
|
+
import_material52.Button,
|
|
45057
45130
|
{
|
|
45058
45131
|
onClick: handleNavigateHome,
|
|
45059
45132
|
variant: "outlined",
|
|
45060
|
-
startIcon: /* @__PURE__ */ (0,
|
|
45133
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react12.Home, {}),
|
|
45061
45134
|
size: "large",
|
|
45062
45135
|
sx: { minWidth: 140 },
|
|
45063
45136
|
children: "Go Home"
|
|
45064
45137
|
}
|
|
45065
45138
|
),
|
|
45066
|
-
/* @__PURE__ */ (0,
|
|
45067
|
-
|
|
45139
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
45140
|
+
import_material52.Button,
|
|
45068
45141
|
{
|
|
45069
45142
|
onClick: handleManageSubscription,
|
|
45070
45143
|
variant: "contained",
|
|
45071
|
-
startIcon: /* @__PURE__ */ (0,
|
|
45144
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react12.CreditCard, {}),
|
|
45072
45145
|
size: "large",
|
|
45073
45146
|
color: "primary",
|
|
45074
45147
|
sx: { minWidth: 140 },
|
|
@@ -45082,9 +45155,9 @@ var SubscriptionExpiredModal = ({
|
|
|
45082
45155
|
};
|
|
45083
45156
|
|
|
45084
45157
|
// src/guards/SubscriptionExpiredGuard.tsx
|
|
45085
|
-
var
|
|
45158
|
+
var import_react64 = require("react");
|
|
45086
45159
|
init_useFeatures();
|
|
45087
|
-
var
|
|
45160
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
45088
45161
|
var SubscriptionExpiredGuard = ({
|
|
45089
45162
|
children,
|
|
45090
45163
|
onNavigateHome,
|
|
@@ -45093,9 +45166,9 @@ var SubscriptionExpiredGuard = ({
|
|
|
45093
45166
|
allowContinue = false
|
|
45094
45167
|
}) => {
|
|
45095
45168
|
const { isExpiredTier, getFullEvaluation } = useFeatures();
|
|
45096
|
-
const [showModal, setShowModal] = (0,
|
|
45097
|
-
const [userDismissed, setUserDismissed] = (0,
|
|
45098
|
-
(0,
|
|
45169
|
+
const [showModal, setShowModal] = (0, import_react64.useState)(false);
|
|
45170
|
+
const [userDismissed, setUserDismissed] = (0, import_react64.useState)(false);
|
|
45171
|
+
(0, import_react64.useEffect)(() => {
|
|
45099
45172
|
if (isExpiredTier() && !userDismissed) {
|
|
45100
45173
|
setShowModal(true);
|
|
45101
45174
|
} else {
|
|
@@ -45121,9 +45194,9 @@ var SubscriptionExpiredGuard = ({
|
|
|
45121
45194
|
}
|
|
45122
45195
|
return void 0;
|
|
45123
45196
|
})() : void 0;
|
|
45124
|
-
return /* @__PURE__ */ (0,
|
|
45197
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
|
45125
45198
|
children,
|
|
45126
|
-
/* @__PURE__ */ (0,
|
|
45199
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
45127
45200
|
SubscriptionExpiredModal,
|
|
45128
45201
|
{
|
|
45129
45202
|
open: showModal,
|
|
@@ -45324,6 +45397,7 @@ init_useVectorStore();
|
|
|
45324
45397
|
FeatureFlagService,
|
|
45325
45398
|
FeedbackButton,
|
|
45326
45399
|
FeedbackModal,
|
|
45400
|
+
InterestsEditor,
|
|
45327
45401
|
Management,
|
|
45328
45402
|
NotificationProvider,
|
|
45329
45403
|
NotificationService,
|