local-operator-ui 0.10.9 → 0.11.1
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/out/main/index.jsc +0 -0
- package/out/preload/index.jsc +0 -0
- package/out/renderer/assets/{_basePickBy-r5hhhokw.js → _basePickBy-D7-oSnE5.js} +2 -2
- package/out/renderer/assets/{_baseUniq-BBOEV9y0.js → _baseUniq-X7Vro_wh.js} +1 -1
- package/out/renderer/assets/{arc-Clqwk4k6.js → arc-7P79Je3V.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-Bx8X697l.js → architectureDiagram-IEHRJDOE-ff35K764.js} +8 -8
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-B1Up6r6-.js → blockDiagram-JOT3LUYC-CULzoKmb.js} +6 -6
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-C36lbIjS.js → c4Diagram-VJAJSXHY-Dx-AuScK.js} +3 -3
- package/out/renderer/assets/{channel-RymPaL1a.js → channel-DI0Un_qP.js} +1 -1
- package/out/renderer/assets/{chunk-4BMEZGHF-hetp-v-b.js → chunk-4BMEZGHF-DU1gGN2t.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-RJ03JkZb.js → chunk-A2AXSNBT-KLrIrrqO.js} +2 -2
- package/out/renderer/assets/{chunk-AEK57VVT-DC5ye4z8.js → chunk-AEK57VVT-F_Lp1sht.js} +2 -2
- package/out/renderer/assets/{chunk-D6G4REZN-D6XUL9LI.js → chunk-D6G4REZN-B3sTI3Jm.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-D6JxF993.js → chunk-RZ5BOZE2-75TNXCaI.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX--AwbJm2E.js → chunk-XZIHB7SX-w_rKBzke.js} +1 -1
- package/out/renderer/assets/{classDiagram-GIVACNV2-vtFcXgAr.js → classDiagram-GIVACNV2-Cnd4tPRq.js} +4 -4
- package/out/renderer/assets/{classDiagram-v2-COTLJTTW-vtFcXgAr.js → classDiagram-v2-COTLJTTW-Cnd4tPRq.js} +4 -4
- package/out/renderer/assets/{clone-BAOF7mPn.js → clone-BCPfPeR9.js} +1 -1
- package/out/renderer/assets/{dagre-OKDRZEBW-BsxbY4uX.js → dagre-OKDRZEBW-ibCOzp8h.js} +7 -7
- package/out/renderer/assets/{diagram-SSKATNLV-Cc6v1RBI.js → diagram-SSKATNLV-DZ_28qLH.js} +7 -7
- package/out/renderer/assets/{diagram-VNBRO52H-CU_0csUZ.js → diagram-VNBRO52H-C4EHouH3.js} +7 -7
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-Ccs7n14X.js → erDiagram-Q7BY3M3F-CBixsMqH.js} +4 -4
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-BTDwdXoq.js → flowDiagram-4HSFHLVR-DygsQ6re.js} +4 -4
- package/out/renderer/assets/{fonts-Bb3Axuvj.js → fonts-BuD2eBgu.js} +2 -2
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-BsHcmVQL.js → ganttDiagram-APWFNJXF-DKBtpWjh.js} +2 -2
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-BrsAP7d3.js → gitGraphDiagram-7IBYFJ6S-BOlHobgq.js} +8 -8
- package/out/renderer/assets/{graph-U8n0FRxu.js → graph-BrJ54X2m.js} +2 -2
- package/out/renderer/assets/{index-B1kgBLxO.js → index-B2mf6FAB.js} +2 -2
- package/out/renderer/assets/{index-JQ7XEBgh.js → index-Br4QkH4P.js} +2 -2
- package/out/renderer/assets/{index-DnSZJXOl.js → index-CrpWKqP4.js} +1462 -507
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-CeBCRQ-r.js → infoDiagram-PH2N3AL5-D9LWZKUq.js} +6 -6
- package/out/renderer/assets/{installer-B8QYcS9K.js → installer-CEV9DxzX.js} +1 -1
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-CFEflF1X.js → journeyDiagram-U35MCT3I-CIFZcgcz.js} +4 -4
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-lJsLyjEH.js → kanban-definition-NDS4AKOZ-C3xzGEKO.js} +2 -2
- package/out/renderer/assets/{layout-B7mvVV0Q.js → layout-hum_lC_u.js} +4 -4
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-DuRohiYz.js → mindmap-definition-ALO5MXBD-phUqi7B-.js} +2 -2
- package/out/renderer/assets/{pieDiagram-IB7DONF6-CwHy1pe3.js → pieDiagram-IB7DONF6-QgaDuIyL.js} +8 -8
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-DteRiyWH.js → quadrantDiagram-7GDLP6J5-D4VYcpj4.js} +2 -2
- package/out/renderer/assets/{radar-MK3ICKWK-D4mwq75I.js → radar-MK3ICKWK-Dgp3NTDC.js} +4 -4
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-Cjtft40u.js → requirementDiagram-KVF5MWMF-BCnRxDQW.js} +3 -3
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-DQ_oTubV.js → sankeyDiagram-QLVOVGJD-Yu0_0k4N.js} +2 -2
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-CMUs0WWj.js → sequenceDiagram-X6HHIX6F-Bc6U0Afr.js} +4 -4
- package/out/renderer/assets/{stateDiagram-DGXRK772-JkRRAJkE.js → stateDiagram-DGXRK772-DXpv_6Ah.js} +8 -8
- package/out/renderer/assets/{stateDiagram-v2-YXO3MK2T-DhB-86w-.js → stateDiagram-v2-YXO3MK2T-DAAuA7TF.js} +4 -4
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-DmImWV1j.js → timeline-definition-BDJGKUSR-DmQu0qcd.js} +3 -3
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-DjE9t7Qo.js → xychartDiagram-VJFVF3MP-C3unJ9Bl.js} +2 -2
- package/out/renderer/index.html +3 -3
- package/out/renderer/installer.html +2 -2
- package/package.json +3 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-
|
|
2
|
-
import { i as createStyled, l as resolveProps, m as useTheme, n as useTheme$1, r as reactExports, o as React, p as useEnhancedEffect$1, q as clsx, t as useForkRef$1, v as extendSxProp, j as jsxRuntimeExports, w as handleBreakpoints, x as resolveBreakpointValues, y as createUnarySpacing, z as deepmerge, A as mergeBreakpointsInOrder, F as composeClasses$1, G as generateUtilityClass$1, I as createTheme$1, J as getValue$1, h as React$1, K as requireReactDom, g as getDefaultExportFromCjs, L as defaultTheme$2, M as THEME_ID, N as generateUtilityClasses$1, O as useDefaultProps, s as styled$1, P as capitalize$1, Q as memoTheme, _ as _inheritsLoose, S as _objectWithoutPropertiesLoose$k, U as TransitionGroupContext, V as _extends$w, W as duration, u as useTheme$2, X as useTimeout$1, Y as useId$1, Z as ButtonBase, b as alpha$1, $ as createSimplePaletteValueFilter, a0 as CircularProgress, a1 as Paper, a2 as darken$1, a3 as lighten$1, a4 as useEventCallback$1, a5 as useRtl, a6 as globalCss, a7 as formatMuiErrorMessage$1, a8 as rootShouldForwardProp, T as Typography, a9 as css$1, k as keyframes, aa as getPath$2, ab as isFocusVisible, ac as typographyClasses, ad as slotShouldForwardProp, ae as clamp, af as emphasize, ag as Timeout$1, c as createLucideIcon, a as Button, B as Box, ah as FontAwesomeIcon, ai as faExclamationTriangle, D as DEFAULT_THEME, aj as faChevronLeft, ak as faChevronRight, al as faRobot, am as faCheck, an as faTimes, ao as faEraser, ap as faPen, aq as faFileImport, ar as faUpload, as as GlobalStyles, at as requireReact, au as faComment, av as faSave, aw as faEdit, ax as faTrashAlt, ay as faInfoCircle, az as faGear, aA as faPlus, aB as faServer, aC as faStar, aD as faTag, aE as faIdCard, aF as faCalendarAlt, aG as faCodeBranch, aH as faShieldAlt, aI as faArrowLeft, aJ as faClock, C as Code, aK as faSliders, aL as faTrash, aM as faHome, aN as faDownload, aO as faFileAlt, aP as faDesktop, aQ as faImage, aR as faMusic, aS as faVideo, aT as faLaptop, aU as faUsers, aV as faDatabase, aW as faBoxOpen, aX as faBook, aY as faHdd, aZ as faBox, a_ as faArchive, a$ as faNetworkWired, b0 as faFolder, b1 as faFolderOpen, b2 as faFolderTree, b3 as faArrowDown, b4 as faPaperclip, b5 as faStop, b6 as faPaperPlane, b7 as
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-Br4QkH4P.js","./fonts-BuD2eBgu.js","./fonts-B9KBGB-g.css","./index-B2mf6FAB.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js","./dagre-OKDRZEBW-ibCOzp8h.js","./graph-BrJ54X2m.js","./_baseUniq-X7Vro_wh.js","./layout-hum_lC_u.js","./_basePickBy-D7-oSnE5.js","./clone-BCPfPeR9.js","./c4Diagram-VJAJSXHY-Dx-AuScK.js","./chunk-D6G4REZN-B3sTI3Jm.js","./flowDiagram-4HSFHLVR-DygsQ6re.js","./chunk-RZ5BOZE2-75TNXCaI.js","./channel-DI0Un_qP.js","./erDiagram-Q7BY3M3F-CBixsMqH.js","./gitGraphDiagram-7IBYFJ6S-BOlHobgq.js","./chunk-4BMEZGHF-DU1gGN2t.js","./chunk-XZIHB7SX-w_rKBzke.js","./radar-MK3ICKWK-Dgp3NTDC.js","./ganttDiagram-APWFNJXF-DKBtpWjh.js","./infoDiagram-PH2N3AL5-D9LWZKUq.js","./pieDiagram-IB7DONF6-QgaDuIyL.js","./arc-7P79Je3V.js","./quadrantDiagram-7GDLP6J5-D4VYcpj4.js","./xychartDiagram-VJFVF3MP-C3unJ9Bl.js","./requirementDiagram-KVF5MWMF-BCnRxDQW.js","./sequenceDiagram-X6HHIX6F-Bc6U0Afr.js","./classDiagram-GIVACNV2-Cnd4tPRq.js","./chunk-A2AXSNBT-KLrIrrqO.js","./classDiagram-v2-COTLJTTW-Cnd4tPRq.js","./stateDiagram-DGXRK772-DXpv_6Ah.js","./chunk-AEK57VVT-F_Lp1sht.js","./stateDiagram-v2-YXO3MK2T-DAAuA7TF.js","./journeyDiagram-U35MCT3I-CIFZcgcz.js","./timeline-definition-BDJGKUSR-DmQu0qcd.js","./mindmap-definition-ALO5MXBD-phUqi7B-.js","./cytoscape.esm-C0AOj4uS.js","./kanban-definition-NDS4AKOZ-C3xzGEKO.js","./sankeyDiagram-QLVOVGJD-Yu0_0k4N.js","./diagram-VNBRO52H-C4EHouH3.js","./diagram-SSKATNLV-DZ_28qLH.js","./blockDiagram-JOT3LUYC-CULzoKmb.js","./architectureDiagram-IEHRJDOE-ff35K764.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { i as createStyled, l as resolveProps, m as useTheme, n as useTheme$1, r as reactExports, o as React, p as useEnhancedEffect$1, q as clsx, t as useForkRef$1, v as extendSxProp, j as jsxRuntimeExports, w as handleBreakpoints, x as resolveBreakpointValues, y as createUnarySpacing, z as deepmerge, A as mergeBreakpointsInOrder, F as composeClasses$1, G as generateUtilityClass$1, I as createTheme$1, J as getValue$1, h as React$1, K as requireReactDom, g as getDefaultExportFromCjs, L as defaultTheme$2, M as THEME_ID, N as generateUtilityClasses$1, O as useDefaultProps, s as styled$1, P as capitalize$1, Q as memoTheme, _ as _inheritsLoose, S as _objectWithoutPropertiesLoose$k, U as TransitionGroupContext, V as _extends$w, W as duration, u as useTheme$2, X as useTimeout$1, Y as useId$1, Z as ButtonBase, b as alpha$1, $ as createSimplePaletteValueFilter, a0 as CircularProgress, a1 as Paper, a2 as darken$1, a3 as lighten$1, a4 as useEventCallback$1, a5 as useRtl, a6 as globalCss, a7 as formatMuiErrorMessage$1, a8 as rootShouldForwardProp, T as Typography, a9 as css$1, k as keyframes, aa as getPath$2, ab as isFocusVisible, ac as typographyClasses, ad as slotShouldForwardProp, ae as clamp, af as emphasize, ag as Timeout$1, c as createLucideIcon, a as Button, B as Box, ah as FontAwesomeIcon, ai as faExclamationTriangle, D as DEFAULT_THEME, aj as faChevronLeft, ak as faChevronRight, al as faRobot, am as faCheck, an as faTimes, ao as faEraser, ap as faPen, aq as faFileImport, ar as faUpload, as as GlobalStyles, at as requireReact, au as faComment, av as faSave, aw as faEdit, ax as faTrashAlt, ay as faInfoCircle, az as faGear, aA as faPlus, aB as faServer, aC as faStar, aD as faTag, aE as faIdCard, aF as faCalendarAlt, aG as faCodeBranch, aH as faShieldAlt, aI as faArrowLeft, aJ as faClock, C as Code, aK as faSliders, aL as faTrash, aM as faHome, aN as faDownload, aO as faFileAlt, aP as faDesktop, aQ as faImage, aR as faMusic, aS as faVideo, aT as faLaptop, aU as faUsers, aV as faDatabase, aW as faBoxOpen, aX as faBook, aY as faHdd, aZ as faBox, a_ as faArchive, a$ as faNetworkWired, b0 as faFolder, b1 as faFolderOpen, b2 as faFolderTree, b3 as faArrowDown, b4 as faPaperclip, b5 as faStop, b6 as faPaperPlane, b7 as faExclamationCircle, b8 as faFile, b9 as faChevronDown, ba as isDevelopmentMode, bb as faCommentSlash, bc as faArrowRight, bd as faBrain, be as faWandMagicSparkles, bf as faExternalLinkAlt, bg as faKey, bh as radientTheme, bi as faGlobe, bj as faSearch, bk as PropTypes, bl as shouldForwardProp, bm as TransitionGroup, bn as commonjsGlobal, bo as faLock, bp as faPuzzlePiece, H as HardDrive, bq as faSignOut, br as themes$1, bs as faMoon, bt as faSun, bu as faHexagonNodes, bv as faSkull, bw as faLeaf, bx as faCode, by as faMountain, bz as faFire, bA as faIcicles, bB as faBolt, bC as faAdjust, bD as faWaveSquare, bE as faUser, bF as faEnvelope, bG as faHistory, bH as faListAlt, bI as faCreditCard, bJ as faPlusCircle, bK as faChartLine, bL as faShield, bM as library$1, bN as icons$1, f as CssBaseline, e as ThemeProvider$1, d as getTheme, R as ReactDOM$1, E as ErrorBoundary } from "./fonts-BuD2eBgu.js";
|
|
3
3
|
const styled = createStyled();
|
|
4
4
|
function getThemeProps(params) {
|
|
5
5
|
const {
|
|
@@ -1434,18 +1434,18 @@ var QueryCache = class extends Subscribable {
|
|
|
1434
1434
|
this.#queries = /* @__PURE__ */ new Map();
|
|
1435
1435
|
}
|
|
1436
1436
|
#queries;
|
|
1437
|
-
build(
|
|
1437
|
+
build(client2, options, state2) {
|
|
1438
1438
|
const queryKey = options.queryKey;
|
|
1439
1439
|
const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);
|
|
1440
1440
|
let query = this.get(queryHash);
|
|
1441
1441
|
if (!query) {
|
|
1442
1442
|
query = new Query({
|
|
1443
|
-
client,
|
|
1443
|
+
client: client2,
|
|
1444
1444
|
queryKey,
|
|
1445
1445
|
queryHash,
|
|
1446
|
-
options:
|
|
1446
|
+
options: client2.defaultQueryOptions(options),
|
|
1447
1447
|
state: state2,
|
|
1448
|
-
defaultOptions:
|
|
1448
|
+
defaultOptions: client2.getQueryDefaults(queryKey)
|
|
1449
1449
|
});
|
|
1450
1450
|
this.add(query);
|
|
1451
1451
|
}
|
|
@@ -1752,11 +1752,11 @@ var MutationCache = class extends Subscribable {
|
|
|
1752
1752
|
#mutations;
|
|
1753
1753
|
#scopes;
|
|
1754
1754
|
#mutationId;
|
|
1755
|
-
build(
|
|
1755
|
+
build(client2, options, state2) {
|
|
1756
1756
|
const mutation = new Mutation({
|
|
1757
1757
|
mutationCache: this,
|
|
1758
1758
|
mutationId: ++this.#mutationId,
|
|
1759
|
-
options:
|
|
1759
|
+
options: client2.defaultMutationOptions(options),
|
|
1760
1760
|
state: state2
|
|
1761
1761
|
});
|
|
1762
1762
|
this.add(mutation);
|
|
@@ -2254,10 +2254,10 @@ var QueryClient = class {
|
|
|
2254
2254
|
}
|
|
2255
2255
|
};
|
|
2256
2256
|
var QueryObserver = class extends Subscribable {
|
|
2257
|
-
constructor(
|
|
2257
|
+
constructor(client2, options) {
|
|
2258
2258
|
super();
|
|
2259
2259
|
this.options = options;
|
|
2260
|
-
this.#client =
|
|
2260
|
+
this.#client = client2;
|
|
2261
2261
|
this.#selectError = null;
|
|
2262
2262
|
this.#currentThenable = pendingThenable();
|
|
2263
2263
|
if (!this.options.experimental_prefetchInRender) {
|
|
@@ -2703,8 +2703,8 @@ function shouldAssignObserverCurrentProperties(observer, optimisticResult) {
|
|
|
2703
2703
|
return false;
|
|
2704
2704
|
}
|
|
2705
2705
|
var InfiniteQueryObserver = class extends QueryObserver {
|
|
2706
|
-
constructor(
|
|
2707
|
-
super(
|
|
2706
|
+
constructor(client2, options) {
|
|
2707
|
+
super(client2, options);
|
|
2708
2708
|
}
|
|
2709
2709
|
bindMethods() {
|
|
2710
2710
|
super.bindMethods();
|
|
@@ -2767,9 +2767,9 @@ var MutationObserver$1 = class MutationObserver2 extends Subscribable {
|
|
|
2767
2767
|
#currentResult = void 0;
|
|
2768
2768
|
#currentMutation;
|
|
2769
2769
|
#mutateOptions;
|
|
2770
|
-
constructor(
|
|
2770
|
+
constructor(client2, options) {
|
|
2771
2771
|
super();
|
|
2772
|
-
this.#client =
|
|
2772
|
+
this.#client = client2;
|
|
2773
2773
|
this.setOptions(options);
|
|
2774
2774
|
this.bindMethods();
|
|
2775
2775
|
this.#updateResult();
|
|
@@ -2859,23 +2859,23 @@ var QueryClientContext = reactExports.createContext(
|
|
|
2859
2859
|
void 0
|
|
2860
2860
|
);
|
|
2861
2861
|
var useQueryClient = (queryClient2) => {
|
|
2862
|
-
const
|
|
2863
|
-
if (!
|
|
2862
|
+
const client2 = reactExports.useContext(QueryClientContext);
|
|
2863
|
+
if (!client2) {
|
|
2864
2864
|
throw new Error("No QueryClient set, use QueryClientProvider to set one");
|
|
2865
2865
|
}
|
|
2866
|
-
return
|
|
2866
|
+
return client2;
|
|
2867
2867
|
};
|
|
2868
2868
|
var QueryClientProvider = ({
|
|
2869
|
-
client,
|
|
2869
|
+
client: client2,
|
|
2870
2870
|
children: children2
|
|
2871
2871
|
}) => {
|
|
2872
2872
|
reactExports.useEffect(() => {
|
|
2873
|
-
|
|
2873
|
+
client2.mount();
|
|
2874
2874
|
return () => {
|
|
2875
|
-
|
|
2875
|
+
client2.unmount();
|
|
2876
2876
|
};
|
|
2877
|
-
}, [
|
|
2878
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(QueryClientContext.Provider, { value:
|
|
2877
|
+
}, [client2]);
|
|
2878
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(QueryClientContext.Provider, { value: client2, children: children2 });
|
|
2879
2879
|
};
|
|
2880
2880
|
var IsRestoringContext = reactExports.createContext(false);
|
|
2881
2881
|
var useIsRestoring = () => reactExports.useContext(IsRestoringContext);
|
|
@@ -2940,21 +2940,21 @@ var fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observ
|
|
|
2940
2940
|
errorResetBoundary.clearReset();
|
|
2941
2941
|
});
|
|
2942
2942
|
function useBaseQuery(options, Observer2, queryClient2) {
|
|
2943
|
-
const
|
|
2943
|
+
const client2 = useQueryClient();
|
|
2944
2944
|
const isRestoring = useIsRestoring();
|
|
2945
2945
|
const errorResetBoundary = useQueryErrorResetBoundary();
|
|
2946
|
-
const defaultedOptions =
|
|
2947
|
-
|
|
2946
|
+
const defaultedOptions = client2.defaultQueryOptions(options);
|
|
2947
|
+
client2.getDefaultOptions().queries?._experimental_beforeQuery?.(
|
|
2948
2948
|
defaultedOptions
|
|
2949
2949
|
);
|
|
2950
2950
|
defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic";
|
|
2951
2951
|
ensureSuspenseTimers(defaultedOptions);
|
|
2952
2952
|
ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);
|
|
2953
2953
|
useClearResetErrorBoundary(errorResetBoundary);
|
|
2954
|
-
const isNewCacheEntry = !
|
|
2954
|
+
const isNewCacheEntry = !client2.getQueryCache().get(defaultedOptions.queryHash);
|
|
2955
2955
|
const [observer] = reactExports.useState(
|
|
2956
2956
|
() => new Observer2(
|
|
2957
|
-
|
|
2957
|
+
client2,
|
|
2958
2958
|
defaultedOptions
|
|
2959
2959
|
)
|
|
2960
2960
|
);
|
|
@@ -2982,12 +2982,12 @@ function useBaseQuery(options, Observer2, queryClient2) {
|
|
|
2982
2982
|
result,
|
|
2983
2983
|
errorResetBoundary,
|
|
2984
2984
|
throwOnError: defaultedOptions.throwOnError,
|
|
2985
|
-
query:
|
|
2985
|
+
query: client2.getQueryCache().get(defaultedOptions.queryHash),
|
|
2986
2986
|
suspense: defaultedOptions.suspense
|
|
2987
2987
|
})) {
|
|
2988
2988
|
throw result.error;
|
|
2989
2989
|
}
|
|
2990
|
-
|
|
2990
|
+
client2.getDefaultOptions().queries?._experimental_afterQuery?.(
|
|
2991
2991
|
defaultedOptions,
|
|
2992
2992
|
result
|
|
2993
2993
|
);
|
|
@@ -2997,7 +2997,7 @@ function useBaseQuery(options, Observer2, queryClient2) {
|
|
|
2997
2997
|
fetchOptimistic(defaultedOptions, observer, errorResetBoundary)
|
|
2998
2998
|
) : (
|
|
2999
2999
|
// subscribe to the "cache promise" so that we can finalize the currentThenable once data comes in
|
|
3000
|
-
|
|
3000
|
+
client2.getQueryCache().get(defaultedOptions.queryHash)?.promise
|
|
3001
3001
|
);
|
|
3002
3002
|
promise?.catch(noop$5).finally(() => {
|
|
3003
3003
|
observer.updateResult();
|
|
@@ -3009,10 +3009,10 @@ function useQuery(options, queryClient2) {
|
|
|
3009
3009
|
return useBaseQuery(options, QueryObserver);
|
|
3010
3010
|
}
|
|
3011
3011
|
function useMutation(options, queryClient2) {
|
|
3012
|
-
const
|
|
3012
|
+
const client2 = useQueryClient();
|
|
3013
3013
|
const [observer] = reactExports.useState(
|
|
3014
3014
|
() => new MutationObserver$1(
|
|
3015
|
-
|
|
3015
|
+
client2,
|
|
3016
3016
|
options
|
|
3017
3017
|
)
|
|
3018
3018
|
);
|
|
@@ -7495,26 +7495,26 @@ function isDeepEqual(obj1, obj2, visited) {
|
|
|
7495
7495
|
return true;
|
|
7496
7496
|
}
|
|
7497
7497
|
function PostHogProvider(_a2) {
|
|
7498
|
-
var children2 = _a2.children,
|
|
7498
|
+
var children2 = _a2.children, client2 = _a2.client, apiKey = _a2.apiKey, options = _a2.options;
|
|
7499
7499
|
var previousInitializationRef = reactExports.useRef(null);
|
|
7500
7500
|
var posthog = reactExports.useMemo(function() {
|
|
7501
|
-
if (
|
|
7501
|
+
if (client2) {
|
|
7502
7502
|
if (apiKey) {
|
|
7503
7503
|
console.warn("[PostHog.js] You have provided both `client` and `apiKey` to `PostHogProvider`. `apiKey` will be ignored in favour of `client`.");
|
|
7504
7504
|
}
|
|
7505
7505
|
if (options) {
|
|
7506
7506
|
console.warn("[PostHog.js] You have provided both `client` and `options` to `PostHogProvider`. `options` will be ignored in favour of `client`.");
|
|
7507
7507
|
}
|
|
7508
|
-
return
|
|
7508
|
+
return client2;
|
|
7509
7509
|
}
|
|
7510
7510
|
if (apiKey) {
|
|
7511
7511
|
return aa;
|
|
7512
7512
|
}
|
|
7513
7513
|
console.warn("[PostHog.js] No `apiKey` or `client` were provided to `PostHogProvider`. Using default global `window.posthog` instance. You must initialize it manually. This is not recommended behavior.");
|
|
7514
7514
|
return aa;
|
|
7515
|
-
}, [
|
|
7515
|
+
}, [client2, apiKey, JSON.stringify(options)]);
|
|
7516
7516
|
reactExports.useEffect(function() {
|
|
7517
|
-
if (
|
|
7517
|
+
if (client2) {
|
|
7518
7518
|
return;
|
|
7519
7519
|
}
|
|
7520
7520
|
var previousInitialization = previousInitializationRef.current;
|
|
@@ -7539,23 +7539,23 @@ function PostHogProvider(_a2) {
|
|
|
7539
7539
|
options: options !== null && options !== void 0 ? options : {}
|
|
7540
7540
|
};
|
|
7541
7541
|
}
|
|
7542
|
-
}, [
|
|
7542
|
+
}, [client2, apiKey, JSON.stringify(options)]);
|
|
7543
7543
|
return React$1.createElement(PostHogContext.Provider, { value: { client: posthog } }, children2);
|
|
7544
7544
|
}
|
|
7545
7545
|
var usePostHog = function() {
|
|
7546
|
-
var
|
|
7547
|
-
return
|
|
7546
|
+
var client2 = reactExports.useContext(PostHogContext).client;
|
|
7547
|
+
return client2;
|
|
7548
7548
|
};
|
|
7549
7549
|
function useFeatureFlagEnabled(flag2) {
|
|
7550
|
-
var
|
|
7550
|
+
var client2 = usePostHog();
|
|
7551
7551
|
var _a2 = reactExports.useState(function() {
|
|
7552
|
-
return
|
|
7552
|
+
return client2.isFeatureEnabled(flag2);
|
|
7553
7553
|
}), featureEnabled = _a2[0], setFeatureEnabled = _a2[1];
|
|
7554
7554
|
reactExports.useEffect(function() {
|
|
7555
|
-
return
|
|
7556
|
-
setFeatureEnabled(
|
|
7555
|
+
return client2.onFeatureFlags(function() {
|
|
7556
|
+
setFeatureEnabled(client2.isFeatureEnabled(flag2));
|
|
7557
7557
|
});
|
|
7558
|
-
}, [
|
|
7558
|
+
}, [client2, flag2]);
|
|
7559
7559
|
return featureEnabled;
|
|
7560
7560
|
}
|
|
7561
7561
|
var extendStatics = function(d2, b2) {
|
|
@@ -7605,8 +7605,8 @@ var __POSTHOG_ERROR_MESSAGES = {
|
|
|
7605
7605
|
} else if (typeof additionalProperties === "object") {
|
|
7606
7606
|
currentProperties = additionalProperties;
|
|
7607
7607
|
}
|
|
7608
|
-
var
|
|
7609
|
-
|
|
7608
|
+
var client2 = this.context.client;
|
|
7609
|
+
client2.captureException(error, currentProperties);
|
|
7610
7610
|
};
|
|
7611
7611
|
PostHogErrorBoundary.prototype.render = function() {
|
|
7612
7612
|
var _a2 = this.props, children2 = _a2.children, fallback2 = _a2.fallback;
|
|
@@ -29397,6 +29397,53 @@ const SchedulesApi = {
|
|
|
29397
29397
|
return response.json();
|
|
29398
29398
|
}
|
|
29399
29399
|
};
|
|
29400
|
+
const SpeechApi = {
|
|
29401
|
+
/**
|
|
29402
|
+
* Generates speech from text.
|
|
29403
|
+
* @param baseUrl - The base URL of the API.
|
|
29404
|
+
* @param request - The speech request details.
|
|
29405
|
+
* @returns A promise that resolves to the audio data as a Blob.
|
|
29406
|
+
*/
|
|
29407
|
+
create: async (baseUrl, request) => {
|
|
29408
|
+
const response = await fetch(`${baseUrl}/v1/tools/speech`, {
|
|
29409
|
+
method: "POST",
|
|
29410
|
+
headers: {
|
|
29411
|
+
"Content-Type": "application/json"
|
|
29412
|
+
},
|
|
29413
|
+
body: JSON.stringify(request)
|
|
29414
|
+
});
|
|
29415
|
+
if (!response.ok) {
|
|
29416
|
+
const errorText = await response.text();
|
|
29417
|
+
throw new Error(
|
|
29418
|
+
`Failed to generate speech: ${response.status} ${errorText}`
|
|
29419
|
+
);
|
|
29420
|
+
}
|
|
29421
|
+
return response.blob();
|
|
29422
|
+
},
|
|
29423
|
+
/**
|
|
29424
|
+
* Generates speech from an agent's last message.
|
|
29425
|
+
* @param baseUrl - The base URL of the API.
|
|
29426
|
+
* @param agentId - The ID of the agent.
|
|
29427
|
+
* @param request - The speech request details.
|
|
29428
|
+
* @returns A promise that resolves to the audio data as a Blob.
|
|
29429
|
+
*/
|
|
29430
|
+
createForAgent: async (baseUrl, agentId, request) => {
|
|
29431
|
+
const response = await fetch(`${baseUrl}/v1/agents/${agentId}/speech`, {
|
|
29432
|
+
method: "POST",
|
|
29433
|
+
headers: {
|
|
29434
|
+
"Content-Type": "application/json"
|
|
29435
|
+
},
|
|
29436
|
+
body: JSON.stringify(request)
|
|
29437
|
+
});
|
|
29438
|
+
if (!response.ok) {
|
|
29439
|
+
const errorText = await response.text();
|
|
29440
|
+
throw new Error(
|
|
29441
|
+
`Failed to generate speech: ${response.status} ${errorText}`
|
|
29442
|
+
);
|
|
29443
|
+
}
|
|
29444
|
+
return response.blob();
|
|
29445
|
+
}
|
|
29446
|
+
};
|
|
29400
29447
|
const getImageUrl = (baseUrl, imagePath) => {
|
|
29401
29448
|
const normalizedBaseUrl = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
|
|
29402
29449
|
let normalizedPath = imagePath;
|
|
@@ -29415,6 +29462,15 @@ const getVideoUrl = (baseUrl, videoPath) => {
|
|
|
29415
29462
|
const encodedPath = encodeURIComponent(normalizedPath);
|
|
29416
29463
|
return `${normalizedBaseUrl}/v1/static/videos?path=${encodedPath}`;
|
|
29417
29464
|
};
|
|
29465
|
+
const getAudioUrl = (baseUrl, audioPath) => {
|
|
29466
|
+
const normalizedBaseUrl = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
|
|
29467
|
+
let normalizedPath = audioPath;
|
|
29468
|
+
if (normalizedPath.startsWith("file://")) {
|
|
29469
|
+
normalizedPath = normalizedPath.substring(7);
|
|
29470
|
+
}
|
|
29471
|
+
const encodedPath = encodeURIComponent(normalizedPath);
|
|
29472
|
+
return `${normalizedBaseUrl}/v1/static/audio?path=${encodedPath}`;
|
|
29473
|
+
};
|
|
29418
29474
|
const getHtmlUrl = (baseUrl, htmlPath) => {
|
|
29419
29475
|
const normalizedBaseUrl = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
|
|
29420
29476
|
let normalizedPath = htmlPath;
|
|
@@ -29427,6 +29483,7 @@ const getHtmlUrl = (baseUrl, htmlPath) => {
|
|
|
29427
29483
|
const StaticApi = {
|
|
29428
29484
|
getImageUrl,
|
|
29429
29485
|
getVideoUrl,
|
|
29486
|
+
getAudioUrl,
|
|
29430
29487
|
getHtmlUrl
|
|
29431
29488
|
};
|
|
29432
29489
|
const TranscriptionApi = {
|
|
@@ -30064,6 +30121,12 @@ class LocalOperatorClient {
|
|
|
30064
30121
|
get transcription() {
|
|
30065
30122
|
return this.bindBaseUrlToApi(TranscriptionApi);
|
|
30066
30123
|
}
|
|
30124
|
+
/**
|
|
30125
|
+
* Get the Speech API client with methods bound to the base URL
|
|
30126
|
+
*/
|
|
30127
|
+
get speech() {
|
|
30128
|
+
return this.bindBaseUrlToApi(SpeechApi);
|
|
30129
|
+
}
|
|
30067
30130
|
/**
|
|
30068
30131
|
* Bind the base URL to all methods of an API client
|
|
30069
30132
|
*
|
|
@@ -35326,8 +35389,8 @@ const useConfig = () => {
|
|
|
35326
35389
|
queryKey: configQueryKey,
|
|
35327
35390
|
queryFn: async () => {
|
|
35328
35391
|
try {
|
|
35329
|
-
const
|
|
35330
|
-
const response = await
|
|
35392
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
35393
|
+
const response = await client2.config.getConfig();
|
|
35331
35394
|
if (response.status >= 400) {
|
|
35332
35395
|
throw new Error(response.message || "Failed to fetch configuration");
|
|
35333
35396
|
}
|
|
@@ -35539,8 +35602,8 @@ const useAgents = (page = 1, perPage = 50, refetchInterval = 0, name2, sort, dir
|
|
|
35539
35602
|
queryKey: [...agentsQueryKey, page, perPage, name2, sort, direction],
|
|
35540
35603
|
queryFn: async () => {
|
|
35541
35604
|
try {
|
|
35542
|
-
const
|
|
35543
|
-
const response = await
|
|
35605
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
35606
|
+
const response = await client2.agents.listAgents(
|
|
35544
35607
|
page,
|
|
35545
35608
|
perPage,
|
|
35546
35609
|
name2,
|
|
@@ -35580,8 +35643,8 @@ const useAgent = (agentId) => {
|
|
|
35580
35643
|
queryFn: async () => {
|
|
35581
35644
|
if (!agentId) return null;
|
|
35582
35645
|
try {
|
|
35583
|
-
const
|
|
35584
|
-
const response = await
|
|
35646
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
35647
|
+
const response = await client2.agents.getAgent(agentId);
|
|
35585
35648
|
if (response.status >= 400) {
|
|
35586
35649
|
throw new Error(
|
|
35587
35650
|
response.message || `Failed to fetch agent ${agentId}`
|
|
@@ -35601,11 +35664,11 @@ const useAgent = (agentId) => {
|
|
|
35601
35664
|
};
|
|
35602
35665
|
const useCreateAgent = () => {
|
|
35603
35666
|
const queryClient2 = useQueryClient();
|
|
35604
|
-
const
|
|
35667
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
35605
35668
|
return useMutation({
|
|
35606
35669
|
mutationFn: async (newAgent) => {
|
|
35607
35670
|
try {
|
|
35608
|
-
const response = await
|
|
35671
|
+
const response = await client2.agents.createAgent(newAgent);
|
|
35609
35672
|
if (response.status >= 400) {
|
|
35610
35673
|
throw new Error(response.message || "Failed to create agent");
|
|
35611
35674
|
}
|
|
@@ -35627,11 +35690,11 @@ const useCreateAgent = () => {
|
|
|
35627
35690
|
};
|
|
35628
35691
|
const useUploadAgentToRadientMutation = () => {
|
|
35629
35692
|
const queryClient2 = useQueryClient();
|
|
35630
|
-
const
|
|
35693
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
35631
35694
|
return useMutation({
|
|
35632
35695
|
mutationFn: async (agentId) => {
|
|
35633
35696
|
try {
|
|
35634
|
-
const response = await
|
|
35697
|
+
const response = await client2.agents.uploadAgentToRadient(agentId);
|
|
35635
35698
|
if (response.status >= 400) {
|
|
35636
35699
|
throw new Error(
|
|
35637
35700
|
response.message || `Failed to upload agent ${agentId} to Radient`
|
|
@@ -35657,11 +35720,11 @@ const useUploadAgentToRadientMutation = () => {
|
|
|
35657
35720
|
};
|
|
35658
35721
|
const useDeleteAgent = () => {
|
|
35659
35722
|
const queryClient2 = useQueryClient();
|
|
35660
|
-
const
|
|
35723
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
35661
35724
|
return useMutation({
|
|
35662
35725
|
mutationFn: async (agentId) => {
|
|
35663
35726
|
try {
|
|
35664
|
-
const response = await
|
|
35727
|
+
const response = await client2.agents.deleteAgent(agentId);
|
|
35665
35728
|
if (response.status >= 400) {
|
|
35666
35729
|
throw new Error(
|
|
35667
35730
|
response.message || `Failed to delete agent ${agentId}`
|
|
@@ -35689,11 +35752,11 @@ const useDeleteAgent = () => {
|
|
|
35689
35752
|
};
|
|
35690
35753
|
const useImportAgent = () => {
|
|
35691
35754
|
const queryClient2 = useQueryClient();
|
|
35692
|
-
const
|
|
35755
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
35693
35756
|
return useMutation({
|
|
35694
35757
|
mutationFn: async (file) => {
|
|
35695
35758
|
try {
|
|
35696
|
-
const response = await
|
|
35759
|
+
const response = await client2.agents.importAgent(file);
|
|
35697
35760
|
if (response.status >= 400) {
|
|
35698
35761
|
throw new Error(response.message || "Failed to import agent");
|
|
35699
35762
|
}
|
|
@@ -35715,11 +35778,11 @@ const useImportAgent = () => {
|
|
|
35715
35778
|
});
|
|
35716
35779
|
};
|
|
35717
35780
|
const useExportAgent = () => {
|
|
35718
|
-
const
|
|
35781
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
35719
35782
|
return useMutation({
|
|
35720
35783
|
mutationFn: async (agentId) => {
|
|
35721
35784
|
try {
|
|
35722
|
-
return await
|
|
35785
|
+
return await client2.agents.exportAgent(agentId);
|
|
35723
35786
|
} catch (error) {
|
|
35724
35787
|
const errorMessage = error instanceof Error ? error.message : `An unknown error occurred while exporting agent ${agentId}`;
|
|
35725
35788
|
showErrorToast(errorMessage);
|
|
@@ -36008,30 +36071,30 @@ const useAgentSelectionStore = create$3()(
|
|
|
36008
36071
|
* This source code is licensed under the ISC license.
|
|
36009
36072
|
* See the LICENSE file in the root directory of this source tree.
|
|
36010
36073
|
*/
|
|
36011
|
-
const __iconNode$
|
|
36074
|
+
const __iconNode$1v = [
|
|
36012
36075
|
["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
|
|
36013
36076
|
["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
|
|
36014
36077
|
["path", { d: "M10 12h4", key: "a56b0p" }]
|
|
36015
36078
|
];
|
|
36016
|
-
const Archive = createLucideIcon("archive", __iconNode$
|
|
36079
|
+
const Archive = createLucideIcon("archive", __iconNode$1v);
|
|
36017
36080
|
/**
|
|
36018
36081
|
* @license lucide-react v0.507.0 - ISC
|
|
36019
36082
|
*
|
|
36020
36083
|
* This source code is licensed under the ISC license.
|
|
36021
36084
|
* See the LICENSE file in the root directory of this source tree.
|
|
36022
36085
|
*/
|
|
36023
|
-
const __iconNode$
|
|
36086
|
+
const __iconNode$1u = [
|
|
36024
36087
|
["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
|
|
36025
36088
|
["path", { d: "M19 12H5", key: "x3x0zl" }]
|
|
36026
36089
|
];
|
|
36027
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
36090
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1u);
|
|
36028
36091
|
/**
|
|
36029
36092
|
* @license lucide-react v0.507.0 - ISC
|
|
36030
36093
|
*
|
|
36031
36094
|
* This source code is licensed under the ISC license.
|
|
36032
36095
|
* See the LICENSE file in the root directory of this source tree.
|
|
36033
36096
|
*/
|
|
36034
|
-
const __iconNode$
|
|
36097
|
+
const __iconNode$1t = [
|
|
36035
36098
|
["path", { d: "M2 10v3", key: "1fnikh" }],
|
|
36036
36099
|
["path", { d: "M6 6v11", key: "11sgs0" }],
|
|
36037
36100
|
["path", { d: "M10 3v18", key: "yhl04a" }],
|
|
@@ -36039,14 +36102,14 @@ const __iconNode$1o = [
|
|
|
36039
36102
|
["path", { d: "M18 5v13", key: "123xd1" }],
|
|
36040
36103
|
["path", { d: "M22 10v3", key: "154ddg" }]
|
|
36041
36104
|
];
|
|
36042
|
-
const AudioLines = createLucideIcon("audio-lines", __iconNode$
|
|
36105
|
+
const AudioLines = createLucideIcon("audio-lines", __iconNode$1t);
|
|
36043
36106
|
/**
|
|
36044
36107
|
* @license lucide-react v0.507.0 - ISC
|
|
36045
36108
|
*
|
|
36046
36109
|
* This source code is licensed under the ISC license.
|
|
36047
36110
|
* See the LICENSE file in the root directory of this source tree.
|
|
36048
36111
|
*/
|
|
36049
|
-
const __iconNode$
|
|
36112
|
+
const __iconNode$1s = [
|
|
36050
36113
|
[
|
|
36051
36114
|
"path",
|
|
36052
36115
|
{
|
|
@@ -36055,14 +36118,14 @@ const __iconNode$1n = [
|
|
|
36055
36118
|
}
|
|
36056
36119
|
]
|
|
36057
36120
|
];
|
|
36058
|
-
const Book = createLucideIcon("book", __iconNode$
|
|
36121
|
+
const Book = createLucideIcon("book", __iconNode$1s);
|
|
36059
36122
|
/**
|
|
36060
36123
|
* @license lucide-react v0.507.0 - ISC
|
|
36061
36124
|
*
|
|
36062
36125
|
* This source code is licensed under the ISC license.
|
|
36063
36126
|
* See the LICENSE file in the root directory of this source tree.
|
|
36064
36127
|
*/
|
|
36065
|
-
const __iconNode$
|
|
36128
|
+
const __iconNode$1r = [
|
|
36066
36129
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
36067
36130
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
36068
36131
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -36070,25 +36133,25 @@ const __iconNode$1m = [
|
|
|
36070
36133
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
36071
36134
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
36072
36135
|
];
|
|
36073
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
36136
|
+
const Bot = createLucideIcon("bot", __iconNode$1r);
|
|
36074
36137
|
/**
|
|
36075
36138
|
* @license lucide-react v0.507.0 - ISC
|
|
36076
36139
|
*
|
|
36077
36140
|
* This source code is licensed under the ISC license.
|
|
36078
36141
|
* See the LICENSE file in the root directory of this source tree.
|
|
36079
36142
|
*/
|
|
36080
|
-
const __iconNode$
|
|
36143
|
+
const __iconNode$1q = [
|
|
36081
36144
|
["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
|
|
36082
36145
|
["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
|
|
36083
36146
|
];
|
|
36084
|
-
const Briefcase = createLucideIcon("briefcase", __iconNode$
|
|
36147
|
+
const Briefcase = createLucideIcon("briefcase", __iconNode$1q);
|
|
36085
36148
|
/**
|
|
36086
36149
|
* @license lucide-react v0.507.0 - ISC
|
|
36087
36150
|
*
|
|
36088
36151
|
* This source code is licensed under the ISC license.
|
|
36089
36152
|
* See the LICENSE file in the root directory of this source tree.
|
|
36090
36153
|
*/
|
|
36091
|
-
const __iconNode$
|
|
36154
|
+
const __iconNode$1p = [
|
|
36092
36155
|
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
36093
36156
|
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
36094
36157
|
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
@@ -36100,160 +36163,175 @@ const __iconNode$1k = [
|
|
|
36100
36163
|
["path", { d: "M12 18h.01", key: "mhygvu" }],
|
|
36101
36164
|
["path", { d: "M16 18h.01", key: "kzsmim" }]
|
|
36102
36165
|
];
|
|
36103
|
-
const CalendarDays = createLucideIcon("calendar-days", __iconNode$
|
|
36166
|
+
const CalendarDays = createLucideIcon("calendar-days", __iconNode$1p);
|
|
36104
36167
|
/**
|
|
36105
36168
|
* @license lucide-react v0.507.0 - ISC
|
|
36106
36169
|
*
|
|
36107
36170
|
* This source code is licensed under the ISC license.
|
|
36108
36171
|
* See the LICENSE file in the root directory of this source tree.
|
|
36109
36172
|
*/
|
|
36110
|
-
const __iconNode$
|
|
36173
|
+
const __iconNode$1o = [
|
|
36111
36174
|
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
36112
36175
|
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
36113
36176
|
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
36114
36177
|
["path", { d: "M3 10h18", key: "8toen8" }]
|
|
36115
36178
|
];
|
|
36116
|
-
const Calendar = createLucideIcon("calendar", __iconNode$
|
|
36179
|
+
const Calendar = createLucideIcon("calendar", __iconNode$1o);
|
|
36117
36180
|
/**
|
|
36118
36181
|
* @license lucide-react v0.507.0 - ISC
|
|
36119
36182
|
*
|
|
36120
36183
|
* This source code is licensed under the ISC license.
|
|
36121
36184
|
* See the LICENSE file in the root directory of this source tree.
|
|
36122
36185
|
*/
|
|
36123
|
-
const __iconNode$
|
|
36186
|
+
const __iconNode$1n = [
|
|
36124
36187
|
["line", { x1: "18", x2: "18", y1: "20", y2: "10", key: "1xfpm4" }],
|
|
36125
36188
|
["line", { x1: "12", x2: "12", y1: "20", y2: "4", key: "be30l9" }],
|
|
36126
36189
|
["line", { x1: "6", x2: "6", y1: "20", y2: "14", key: "1r4le6" }]
|
|
36127
36190
|
];
|
|
36128
|
-
const ChartNoAxesColumn = createLucideIcon("chart-no-axes-column", __iconNode$
|
|
36191
|
+
const ChartNoAxesColumn = createLucideIcon("chart-no-axes-column", __iconNode$1n);
|
|
36129
36192
|
/**
|
|
36130
36193
|
* @license lucide-react v0.507.0 - ISC
|
|
36131
36194
|
*
|
|
36132
36195
|
* This source code is licensed under the ISC license.
|
|
36133
36196
|
* See the LICENSE file in the root directory of this source tree.
|
|
36134
36197
|
*/
|
|
36135
|
-
const __iconNode$
|
|
36136
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
36198
|
+
const __iconNode$1m = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
36199
|
+
const Check = createLucideIcon("check", __iconNode$1m);
|
|
36137
36200
|
/**
|
|
36138
36201
|
* @license lucide-react v0.507.0 - ISC
|
|
36139
36202
|
*
|
|
36140
36203
|
* This source code is licensed under the ISC license.
|
|
36141
36204
|
* See the LICENSE file in the root directory of this source tree.
|
|
36142
36205
|
*/
|
|
36143
|
-
const __iconNode$
|
|
36144
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
36206
|
+
const __iconNode$1l = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
36207
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$1l);
|
|
36145
36208
|
/**
|
|
36146
36209
|
* @license lucide-react v0.507.0 - ISC
|
|
36147
36210
|
*
|
|
36148
36211
|
* This source code is licensed under the ISC license.
|
|
36149
36212
|
* See the LICENSE file in the root directory of this source tree.
|
|
36150
36213
|
*/
|
|
36151
|
-
const __iconNode$
|
|
36152
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$
|
|
36214
|
+
const __iconNode$1k = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
36215
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1k);
|
|
36153
36216
|
/**
|
|
36154
36217
|
* @license lucide-react v0.507.0 - ISC
|
|
36155
36218
|
*
|
|
36156
36219
|
* This source code is licensed under the ISC license.
|
|
36157
36220
|
* See the LICENSE file in the root directory of this source tree.
|
|
36158
36221
|
*/
|
|
36159
|
-
const __iconNode$
|
|
36160
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
36222
|
+
const __iconNode$1j = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
36223
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$1j);
|
|
36161
36224
|
/**
|
|
36162
36225
|
* @license lucide-react v0.507.0 - ISC
|
|
36163
36226
|
*
|
|
36164
36227
|
* This source code is licensed under the ISC license.
|
|
36165
36228
|
* See the LICENSE file in the root directory of this source tree.
|
|
36166
36229
|
*/
|
|
36167
|
-
const __iconNode$
|
|
36168
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
36230
|
+
const __iconNode$1i = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
36231
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$1i);
|
|
36169
36232
|
/**
|
|
36170
36233
|
* @license lucide-react v0.507.0 - ISC
|
|
36171
36234
|
*
|
|
36172
36235
|
* This source code is licensed under the ISC license.
|
|
36173
36236
|
* See the LICENSE file in the root directory of this source tree.
|
|
36174
36237
|
*/
|
|
36175
|
-
const __iconNode$
|
|
36238
|
+
const __iconNode$1h = [
|
|
36176
36239
|
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
36177
36240
|
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
36178
36241
|
];
|
|
36179
|
-
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$
|
|
36242
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1h);
|
|
36180
36243
|
/**
|
|
36181
36244
|
* @license lucide-react v0.507.0 - ISC
|
|
36182
36245
|
*
|
|
36183
36246
|
* This source code is licensed under the ISC license.
|
|
36184
36247
|
* See the LICENSE file in the root directory of this source tree.
|
|
36185
36248
|
*/
|
|
36186
|
-
const __iconNode$
|
|
36249
|
+
const __iconNode$1g = [
|
|
36187
36250
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36188
36251
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
36189
36252
|
];
|
|
36190
|
-
const CircleCheck = createLucideIcon("circle-check", __iconNode$
|
|
36253
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode$1g);
|
|
36191
36254
|
/**
|
|
36192
36255
|
* @license lucide-react v0.507.0 - ISC
|
|
36193
36256
|
*
|
|
36194
36257
|
* This source code is licensed under the ISC license.
|
|
36195
36258
|
* See the LICENSE file in the root directory of this source tree.
|
|
36196
36259
|
*/
|
|
36197
|
-
const __iconNode$
|
|
36260
|
+
const __iconNode$1f = [
|
|
36198
36261
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36199
36262
|
["path", { d: "M17 12h.01", key: "1m0b6t" }],
|
|
36200
36263
|
["path", { d: "M12 12h.01", key: "1mp3jc" }],
|
|
36201
36264
|
["path", { d: "M7 12h.01", key: "eqddd0" }]
|
|
36202
36265
|
];
|
|
36203
|
-
const CircleEllipsis = createLucideIcon("circle-ellipsis", __iconNode$
|
|
36266
|
+
const CircleEllipsis = createLucideIcon("circle-ellipsis", __iconNode$1f);
|
|
36204
36267
|
/**
|
|
36205
36268
|
* @license lucide-react v0.507.0 - ISC
|
|
36206
36269
|
*
|
|
36207
36270
|
* This source code is licensed under the ISC license.
|
|
36208
36271
|
* See the LICENSE file in the root directory of this source tree.
|
|
36209
36272
|
*/
|
|
36210
|
-
const __iconNode$
|
|
36273
|
+
const __iconNode$1e = [
|
|
36211
36274
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36212
36275
|
["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
|
|
36213
36276
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
36214
36277
|
];
|
|
36215
|
-
const CircleHelp = createLucideIcon("circle-help", __iconNode$
|
|
36278
|
+
const CircleHelp = createLucideIcon("circle-help", __iconNode$1e);
|
|
36216
36279
|
/**
|
|
36217
36280
|
* @license lucide-react v0.507.0 - ISC
|
|
36218
36281
|
*
|
|
36219
36282
|
* This source code is licensed under the ISC license.
|
|
36220
36283
|
* See the LICENSE file in the root directory of this source tree.
|
|
36221
36284
|
*/
|
|
36222
|
-
const __iconNode$
|
|
36285
|
+
const __iconNode$1d = [
|
|
36286
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36287
|
+
["line", { x1: "10", x2: "10", y1: "15", y2: "9", key: "c1nkhi" }],
|
|
36288
|
+
["line", { x1: "14", x2: "14", y1: "15", y2: "9", key: "h65svq" }]
|
|
36289
|
+
];
|
|
36290
|
+
const CirclePause = createLucideIcon("circle-pause", __iconNode$1d);
|
|
36291
|
+
/**
|
|
36292
|
+
* @license lucide-react v0.507.0 - ISC
|
|
36293
|
+
*
|
|
36294
|
+
* This source code is licensed under the ISC license.
|
|
36295
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36296
|
+
*/
|
|
36297
|
+
const __iconNode$1c = [
|
|
36223
36298
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36224
36299
|
["polygon", { points: "10 8 16 12 10 16 10 8", key: "1cimsy" }]
|
|
36225
36300
|
];
|
|
36226
|
-
const CirclePlay = createLucideIcon("circle-play", __iconNode$
|
|
36301
|
+
const CirclePlay = createLucideIcon("circle-play", __iconNode$1c);
|
|
36227
36302
|
/**
|
|
36228
36303
|
* @license lucide-react v0.507.0 - ISC
|
|
36229
36304
|
*
|
|
36230
36305
|
* This source code is licensed under the ISC license.
|
|
36231
36306
|
* See the LICENSE file in the root directory of this source tree.
|
|
36232
36307
|
*/
|
|
36233
|
-
const __iconNode$
|
|
36308
|
+
const __iconNode$1b = [
|
|
36234
36309
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36235
36310
|
["path", { d: "M8 12h8", key: "1wcyev" }],
|
|
36236
36311
|
["path", { d: "M12 8v8", key: "napkw2" }]
|
|
36237
36312
|
];
|
|
36238
|
-
const CirclePlus = createLucideIcon("circle-plus", __iconNode$
|
|
36313
|
+
const CirclePlus = createLucideIcon("circle-plus", __iconNode$1b);
|
|
36239
36314
|
/**
|
|
36240
36315
|
* @license lucide-react v0.507.0 - ISC
|
|
36241
36316
|
*
|
|
36242
36317
|
* This source code is licensed under the ISC license.
|
|
36243
36318
|
* See the LICENSE file in the root directory of this source tree.
|
|
36244
36319
|
*/
|
|
36245
|
-
const __iconNode$
|
|
36246
|
-
["
|
|
36247
|
-
["
|
|
36320
|
+
const __iconNode$1a = [
|
|
36321
|
+
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
36322
|
+
["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2", key: "4jdomd" }],
|
|
36323
|
+
["path", { d: "M16 4h2a2 2 0 0 1 2 2v4", key: "3hqy98" }],
|
|
36324
|
+
["path", { d: "M21 14H11", key: "1bme5i" }],
|
|
36325
|
+
["path", { d: "m15 10-4 4 4 4", key: "5dvupr" }]
|
|
36248
36326
|
];
|
|
36249
|
-
const
|
|
36327
|
+
const ClipboardCopy = createLucideIcon("clipboard-copy", __iconNode$1a);
|
|
36250
36328
|
/**
|
|
36251
36329
|
* @license lucide-react v0.507.0 - ISC
|
|
36252
36330
|
*
|
|
36253
36331
|
* This source code is licensed under the ISC license.
|
|
36254
36332
|
* See the LICENSE file in the root directory of this source tree.
|
|
36255
36333
|
*/
|
|
36256
|
-
const __iconNode$
|
|
36334
|
+
const __iconNode$19 = [
|
|
36257
36335
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
36258
36336
|
[
|
|
36259
36337
|
"path",
|
|
@@ -36267,72 +36345,72 @@ const __iconNode$15 = [
|
|
|
36267
36345
|
["path", { d: "M8 11h.01", key: "1dfujw" }],
|
|
36268
36346
|
["path", { d: "M8 16h.01", key: "18s6g9" }]
|
|
36269
36347
|
];
|
|
36270
|
-
const ClipboardList = createLucideIcon("clipboard-list", __iconNode$
|
|
36348
|
+
const ClipboardList = createLucideIcon("clipboard-list", __iconNode$19);
|
|
36271
36349
|
/**
|
|
36272
36350
|
* @license lucide-react v0.507.0 - ISC
|
|
36273
36351
|
*
|
|
36274
36352
|
* This source code is licensed under the ISC license.
|
|
36275
36353
|
* See the LICENSE file in the root directory of this source tree.
|
|
36276
36354
|
*/
|
|
36277
|
-
const __iconNode$
|
|
36355
|
+
const __iconNode$18 = [
|
|
36278
36356
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36279
36357
|
["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]
|
|
36280
36358
|
];
|
|
36281
|
-
const Clock$1 = createLucideIcon("clock", __iconNode$
|
|
36359
|
+
const Clock$1 = createLucideIcon("clock", __iconNode$18);
|
|
36282
36360
|
/**
|
|
36283
36361
|
* @license lucide-react v0.507.0 - ISC
|
|
36284
36362
|
*
|
|
36285
36363
|
* This source code is licensed under the ISC license.
|
|
36286
36364
|
* See the LICENSE file in the root directory of this source tree.
|
|
36287
36365
|
*/
|
|
36288
|
-
const __iconNode$
|
|
36366
|
+
const __iconNode$17 = [
|
|
36289
36367
|
["path", { d: "M12 13v8", key: "1l5pq0" }],
|
|
36290
36368
|
["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }],
|
|
36291
36369
|
["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
|
|
36292
36370
|
];
|
|
36293
|
-
const CloudUpload = createLucideIcon("cloud-upload", __iconNode$
|
|
36371
|
+
const CloudUpload = createLucideIcon("cloud-upload", __iconNode$17);
|
|
36294
36372
|
/**
|
|
36295
36373
|
* @license lucide-react v0.507.0 - ISC
|
|
36296
36374
|
*
|
|
36297
36375
|
* This source code is licensed under the ISC license.
|
|
36298
36376
|
* See the LICENSE file in the root directory of this source tree.
|
|
36299
36377
|
*/
|
|
36300
|
-
const __iconNode$
|
|
36378
|
+
const __iconNode$16 = [
|
|
36301
36379
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
36302
36380
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
36303
36381
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
36304
36382
|
];
|
|
36305
|
-
const CodeXml = createLucideIcon("code-xml", __iconNode$
|
|
36383
|
+
const CodeXml = createLucideIcon("code-xml", __iconNode$16);
|
|
36306
36384
|
/**
|
|
36307
36385
|
* @license lucide-react v0.507.0 - ISC
|
|
36308
36386
|
*
|
|
36309
36387
|
* This source code is licensed under the ISC license.
|
|
36310
36388
|
* See the LICENSE file in the root directory of this source tree.
|
|
36311
36389
|
*/
|
|
36312
|
-
const __iconNode$
|
|
36390
|
+
const __iconNode$15 = [
|
|
36313
36391
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
36314
36392
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
36315
36393
|
];
|
|
36316
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
36394
|
+
const Copy = createLucideIcon("copy", __iconNode$15);
|
|
36317
36395
|
/**
|
|
36318
36396
|
* @license lucide-react v0.507.0 - ISC
|
|
36319
36397
|
*
|
|
36320
36398
|
* This source code is licensed under the ISC license.
|
|
36321
36399
|
* See the LICENSE file in the root directory of this source tree.
|
|
36322
36400
|
*/
|
|
36323
|
-
const __iconNode$
|
|
36401
|
+
const __iconNode$14 = [
|
|
36324
36402
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
36325
36403
|
["polyline", { points: "7 10 12 15 17 10", key: "2ggqvy" }],
|
|
36326
36404
|
["line", { x1: "12", x2: "12", y1: "15", y2: "3", key: "1vk2je" }]
|
|
36327
36405
|
];
|
|
36328
|
-
const Download = createLucideIcon("download", __iconNode$
|
|
36406
|
+
const Download = createLucideIcon("download", __iconNode$14);
|
|
36329
36407
|
/**
|
|
36330
36408
|
* @license lucide-react v0.507.0 - ISC
|
|
36331
36409
|
*
|
|
36332
36410
|
* This source code is licensed under the ISC license.
|
|
36333
36411
|
* See the LICENSE file in the root directory of this source tree.
|
|
36334
36412
|
*/
|
|
36335
|
-
const __iconNode
|
|
36413
|
+
const __iconNode$13 = [
|
|
36336
36414
|
["path", { d: "M21.54 15H17a2 2 0 0 0-2 2v4.54", key: "1djwo0" }],
|
|
36337
36415
|
[
|
|
36338
36416
|
"path",
|
|
@@ -36344,38 +36422,38 @@ const __iconNode$$ = [
|
|
|
36344
36422
|
["path", { d: "M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05", key: "14pb5j" }],
|
|
36345
36423
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
|
|
36346
36424
|
];
|
|
36347
|
-
const Earth = createLucideIcon("earth", __iconNode
|
|
36425
|
+
const Earth = createLucideIcon("earth", __iconNode$13);
|
|
36348
36426
|
/**
|
|
36349
36427
|
* @license lucide-react v0.507.0 - ISC
|
|
36350
36428
|
*
|
|
36351
36429
|
* This source code is licensed under the ISC license.
|
|
36352
36430
|
* See the LICENSE file in the root directory of this source tree.
|
|
36353
36431
|
*/
|
|
36354
|
-
const __iconNode$
|
|
36432
|
+
const __iconNode$12 = [
|
|
36355
36433
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
36356
36434
|
["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
|
|
36357
36435
|
["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
|
|
36358
36436
|
];
|
|
36359
|
-
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$
|
|
36437
|
+
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$12);
|
|
36360
36438
|
/**
|
|
36361
36439
|
* @license lucide-react v0.507.0 - ISC
|
|
36362
36440
|
*
|
|
36363
36441
|
* This source code is licensed under the ISC license.
|
|
36364
36442
|
* See the LICENSE file in the root directory of this source tree.
|
|
36365
36443
|
*/
|
|
36366
|
-
const __iconNode$
|
|
36444
|
+
const __iconNode$11 = [
|
|
36367
36445
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
36368
36446
|
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
36369
36447
|
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
36370
36448
|
];
|
|
36371
|
-
const Ellipsis = createLucideIcon("ellipsis", __iconNode$
|
|
36449
|
+
const Ellipsis = createLucideIcon("ellipsis", __iconNode$11);
|
|
36372
36450
|
/**
|
|
36373
36451
|
* @license lucide-react v0.507.0 - ISC
|
|
36374
36452
|
*
|
|
36375
36453
|
* This source code is licensed under the ISC license.
|
|
36376
36454
|
* See the LICENSE file in the root directory of this source tree.
|
|
36377
36455
|
*/
|
|
36378
|
-
const __iconNode$
|
|
36456
|
+
const __iconNode$10 = [
|
|
36379
36457
|
[
|
|
36380
36458
|
"path",
|
|
36381
36459
|
{
|
|
@@ -36386,65 +36464,65 @@ const __iconNode$Y = [
|
|
|
36386
36464
|
["path", { d: "M22 21H7", key: "t4ddhn" }],
|
|
36387
36465
|
["path", { d: "m5 11 9 9", key: "1mo9qw" }]
|
|
36388
36466
|
];
|
|
36389
|
-
const Eraser = createLucideIcon("eraser", __iconNode$
|
|
36467
|
+
const Eraser = createLucideIcon("eraser", __iconNode$10);
|
|
36390
36468
|
/**
|
|
36391
36469
|
* @license lucide-react v0.507.0 - ISC
|
|
36392
36470
|
*
|
|
36393
36471
|
* This source code is licensed under the ISC license.
|
|
36394
36472
|
* See the LICENSE file in the root directory of this source tree.
|
|
36395
36473
|
*/
|
|
36396
|
-
const __iconNode
|
|
36474
|
+
const __iconNode$$ = [
|
|
36397
36475
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
36398
36476
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
36399
36477
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
36400
36478
|
];
|
|
36401
|
-
const ExternalLink = createLucideIcon("external-link", __iconNode
|
|
36479
|
+
const ExternalLink = createLucideIcon("external-link", __iconNode$$);
|
|
36402
36480
|
/**
|
|
36403
36481
|
* @license lucide-react v0.507.0 - ISC
|
|
36404
36482
|
*
|
|
36405
36483
|
* This source code is licensed under the ISC license.
|
|
36406
36484
|
* See the LICENSE file in the root directory of this source tree.
|
|
36407
36485
|
*/
|
|
36408
|
-
const __iconNode$
|
|
36486
|
+
const __iconNode$_ = [
|
|
36409
36487
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36410
36488
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36411
36489
|
["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
|
|
36412
36490
|
["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
|
|
36413
36491
|
];
|
|
36414
|
-
const FileImage = createLucideIcon("file-image", __iconNode$
|
|
36492
|
+
const FileImage = createLucideIcon("file-image", __iconNode$_);
|
|
36415
36493
|
/**
|
|
36416
36494
|
* @license lucide-react v0.507.0 - ISC
|
|
36417
36495
|
*
|
|
36418
36496
|
* This source code is licensed under the ISC license.
|
|
36419
36497
|
* See the LICENSE file in the root directory of this source tree.
|
|
36420
36498
|
*/
|
|
36421
|
-
const __iconNode$
|
|
36499
|
+
const __iconNode$Z = [
|
|
36422
36500
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36423
36501
|
["path", { d: "M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2", key: "1vk7w2" }],
|
|
36424
36502
|
["path", { d: "M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6", key: "1jink5" }],
|
|
36425
36503
|
["path", { d: "m5 11-3 3", key: "1dgrs4" }],
|
|
36426
36504
|
["path", { d: "m5 17-3-3h10", key: "1mvvaf" }]
|
|
36427
36505
|
];
|
|
36428
|
-
const FileOutput = createLucideIcon("file-output", __iconNode$
|
|
36506
|
+
const FileOutput = createLucideIcon("file-output", __iconNode$Z);
|
|
36429
36507
|
/**
|
|
36430
36508
|
* @license lucide-react v0.507.0 - ISC
|
|
36431
36509
|
*
|
|
36432
36510
|
* This source code is licensed under the ISC license.
|
|
36433
36511
|
* See the LICENSE file in the root directory of this source tree.
|
|
36434
36512
|
*/
|
|
36435
|
-
const __iconNode$
|
|
36513
|
+
const __iconNode$Y = [
|
|
36436
36514
|
["path", { d: "M12 17h.01", key: "p32p05" }],
|
|
36437
36515
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }],
|
|
36438
36516
|
["path", { d: "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3", key: "mhlwft" }]
|
|
36439
36517
|
];
|
|
36440
|
-
const FileQuestion = createLucideIcon("file-question", __iconNode$
|
|
36518
|
+
const FileQuestion = createLucideIcon("file-question", __iconNode$Y);
|
|
36441
36519
|
/**
|
|
36442
36520
|
* @license lucide-react v0.507.0 - ISC
|
|
36443
36521
|
*
|
|
36444
36522
|
* This source code is licensed under the ISC license.
|
|
36445
36523
|
* See the LICENSE file in the root directory of this source tree.
|
|
36446
36524
|
*/
|
|
36447
|
-
const __iconNode$
|
|
36525
|
+
const __iconNode$X = [
|
|
36448
36526
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36449
36527
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36450
36528
|
["path", { d: "M8 13h2", key: "yr2amv" }],
|
|
@@ -36452,64 +36530,64 @@ const __iconNode$T = [
|
|
|
36452
36530
|
["path", { d: "M8 17h2", key: "2yhykz" }],
|
|
36453
36531
|
["path", { d: "M14 17h2", key: "10kma7" }]
|
|
36454
36532
|
];
|
|
36455
|
-
const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$
|
|
36533
|
+
const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$X);
|
|
36456
36534
|
/**
|
|
36457
36535
|
* @license lucide-react v0.507.0 - ISC
|
|
36458
36536
|
*
|
|
36459
36537
|
* This source code is licensed under the ISC license.
|
|
36460
36538
|
* See the LICENSE file in the root directory of this source tree.
|
|
36461
36539
|
*/
|
|
36462
|
-
const __iconNode$
|
|
36540
|
+
const __iconNode$W = [
|
|
36463
36541
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36464
36542
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36465
36543
|
["path", { d: "M10 9H8", key: "b1mrlr" }],
|
|
36466
36544
|
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
36467
36545
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
36468
36546
|
];
|
|
36469
|
-
const FileText = createLucideIcon("file-text", __iconNode$
|
|
36547
|
+
const FileText = createLucideIcon("file-text", __iconNode$W);
|
|
36470
36548
|
/**
|
|
36471
36549
|
* @license lucide-react v0.507.0 - ISC
|
|
36472
36550
|
*
|
|
36473
36551
|
* This source code is licensed under the ISC license.
|
|
36474
36552
|
* See the LICENSE file in the root directory of this source tree.
|
|
36475
36553
|
*/
|
|
36476
|
-
const __iconNode$
|
|
36554
|
+
const __iconNode$V = [
|
|
36477
36555
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36478
36556
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36479
36557
|
["path", { d: "M12 12v6", key: "3ahymv" }],
|
|
36480
36558
|
["path", { d: "m15 15-3-3-3 3", key: "15xj92" }]
|
|
36481
36559
|
];
|
|
36482
|
-
const FileUp = createLucideIcon("file-up", __iconNode$
|
|
36560
|
+
const FileUp = createLucideIcon("file-up", __iconNode$V);
|
|
36483
36561
|
/**
|
|
36484
36562
|
* @license lucide-react v0.507.0 - ISC
|
|
36485
36563
|
*
|
|
36486
36564
|
* This source code is licensed under the ISC license.
|
|
36487
36565
|
* See the LICENSE file in the root directory of this source tree.
|
|
36488
36566
|
*/
|
|
36489
|
-
const __iconNode$
|
|
36567
|
+
const __iconNode$U = [
|
|
36490
36568
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36491
36569
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
36492
36570
|
["path", { d: "m10 11 5 3-5 3v-6Z", key: "7ntvm4" }]
|
|
36493
36571
|
];
|
|
36494
|
-
const FileVideo = createLucideIcon("file-video", __iconNode$
|
|
36572
|
+
const FileVideo = createLucideIcon("file-video", __iconNode$U);
|
|
36495
36573
|
/**
|
|
36496
36574
|
* @license lucide-react v0.507.0 - ISC
|
|
36497
36575
|
*
|
|
36498
36576
|
* This source code is licensed under the ISC license.
|
|
36499
36577
|
* See the LICENSE file in the root directory of this source tree.
|
|
36500
36578
|
*/
|
|
36501
|
-
const __iconNode$
|
|
36579
|
+
const __iconNode$T = [
|
|
36502
36580
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
36503
36581
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
|
|
36504
36582
|
];
|
|
36505
|
-
const File$1 = createLucideIcon("file", __iconNode$
|
|
36583
|
+
const File$1 = createLucideIcon("file", __iconNode$T);
|
|
36506
36584
|
/**
|
|
36507
36585
|
* @license lucide-react v0.507.0 - ISC
|
|
36508
36586
|
*
|
|
36509
36587
|
* This source code is licensed under the ISC license.
|
|
36510
36588
|
* See the LICENSE file in the root directory of this source tree.
|
|
36511
36589
|
*/
|
|
36512
|
-
const __iconNode$
|
|
36590
|
+
const __iconNode$S = [
|
|
36513
36591
|
[
|
|
36514
36592
|
"path",
|
|
36515
36593
|
{
|
|
@@ -36520,14 +36598,14 @@ const __iconNode$O = [
|
|
|
36520
36598
|
["path", { d: "M6.453 15h11.094", key: "3shlmq" }],
|
|
36521
36599
|
["path", { d: "M8.5 2h7", key: "csnxdl" }]
|
|
36522
36600
|
];
|
|
36523
|
-
const FlaskConical = createLucideIcon("flask-conical", __iconNode$
|
|
36601
|
+
const FlaskConical = createLucideIcon("flask-conical", __iconNode$S);
|
|
36524
36602
|
/**
|
|
36525
36603
|
* @license lucide-react v0.507.0 - ISC
|
|
36526
36604
|
*
|
|
36527
36605
|
* This source code is licensed under the ISC license.
|
|
36528
36606
|
* See the LICENSE file in the root directory of this source tree.
|
|
36529
36607
|
*/
|
|
36530
|
-
const __iconNode$
|
|
36608
|
+
const __iconNode$R = [
|
|
36531
36609
|
[
|
|
36532
36610
|
"path",
|
|
36533
36611
|
{
|
|
@@ -36536,14 +36614,14 @@ const __iconNode$N = [
|
|
|
36536
36614
|
}
|
|
36537
36615
|
]
|
|
36538
36616
|
];
|
|
36539
|
-
const FolderOpen = createLucideIcon("folder-open", __iconNode$
|
|
36617
|
+
const FolderOpen = createLucideIcon("folder-open", __iconNode$R);
|
|
36540
36618
|
/**
|
|
36541
36619
|
* @license lucide-react v0.507.0 - ISC
|
|
36542
36620
|
*
|
|
36543
36621
|
* This source code is licensed under the ISC license.
|
|
36544
36622
|
* See the LICENSE file in the root directory of this source tree.
|
|
36545
36623
|
*/
|
|
36546
|
-
const __iconNode$
|
|
36624
|
+
const __iconNode$Q = [
|
|
36547
36625
|
[
|
|
36548
36626
|
"path",
|
|
36549
36627
|
{
|
|
@@ -36554,14 +36632,14 @@ const __iconNode$M = [
|
|
|
36554
36632
|
["path", { d: "M22 10v6", key: "1lu8f3" }],
|
|
36555
36633
|
["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
|
|
36556
36634
|
];
|
|
36557
|
-
const GraduationCap = createLucideIcon("graduation-cap", __iconNode$
|
|
36635
|
+
const GraduationCap = createLucideIcon("graduation-cap", __iconNode$Q);
|
|
36558
36636
|
/**
|
|
36559
36637
|
* @license lucide-react v0.507.0 - ISC
|
|
36560
36638
|
*
|
|
36561
36639
|
* This source code is licensed under the ISC license.
|
|
36562
36640
|
* See the LICENSE file in the root directory of this source tree.
|
|
36563
36641
|
*/
|
|
36564
|
-
const __iconNode$
|
|
36642
|
+
const __iconNode$P = [
|
|
36565
36643
|
[
|
|
36566
36644
|
"path",
|
|
36567
36645
|
{
|
|
@@ -36571,14 +36649,14 @@ const __iconNode$L = [
|
|
|
36571
36649
|
],
|
|
36572
36650
|
["path", { d: "M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27", key: "1uw2ng" }]
|
|
36573
36651
|
];
|
|
36574
|
-
const HeartPulse = createLucideIcon("heart-pulse", __iconNode$
|
|
36652
|
+
const HeartPulse = createLucideIcon("heart-pulse", __iconNode$P);
|
|
36575
36653
|
/**
|
|
36576
36654
|
* @license lucide-react v0.507.0 - ISC
|
|
36577
36655
|
*
|
|
36578
36656
|
* This source code is licensed under the ISC license.
|
|
36579
36657
|
* See the LICENSE file in the root directory of this source tree.
|
|
36580
36658
|
*/
|
|
36581
|
-
const __iconNode$
|
|
36659
|
+
const __iconNode$O = [
|
|
36582
36660
|
[
|
|
36583
36661
|
"path",
|
|
36584
36662
|
{
|
|
@@ -36587,26 +36665,26 @@ const __iconNode$K = [
|
|
|
36587
36665
|
}
|
|
36588
36666
|
]
|
|
36589
36667
|
];
|
|
36590
|
-
const Heart = createLucideIcon("heart", __iconNode$
|
|
36668
|
+
const Heart = createLucideIcon("heart", __iconNode$O);
|
|
36591
36669
|
/**
|
|
36592
36670
|
* @license lucide-react v0.507.0 - ISC
|
|
36593
36671
|
*
|
|
36594
36672
|
* This source code is licensed under the ISC license.
|
|
36595
36673
|
* See the LICENSE file in the root directory of this source tree.
|
|
36596
36674
|
*/
|
|
36597
|
-
const __iconNode$
|
|
36675
|
+
const __iconNode$N = [
|
|
36598
36676
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
36599
36677
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }],
|
|
36600
36678
|
["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
|
|
36601
36679
|
];
|
|
36602
|
-
const History = createLucideIcon("history", __iconNode$
|
|
36680
|
+
const History = createLucideIcon("history", __iconNode$N);
|
|
36603
36681
|
/**
|
|
36604
36682
|
* @license lucide-react v0.507.0 - ISC
|
|
36605
36683
|
*
|
|
36606
36684
|
* This source code is licensed under the ISC license.
|
|
36607
36685
|
* See the LICENSE file in the root directory of this source tree.
|
|
36608
36686
|
*/
|
|
36609
|
-
const __iconNode$
|
|
36687
|
+
const __iconNode$M = [
|
|
36610
36688
|
["path", { d: "M12 3v12", key: "1x0j5s" }],
|
|
36611
36689
|
["path", { d: "m8 11 4 4 4-4", key: "1dohi6" }],
|
|
36612
36690
|
[
|
|
@@ -36617,38 +36695,38 @@ const __iconNode$I = [
|
|
|
36617
36695
|
}
|
|
36618
36696
|
]
|
|
36619
36697
|
];
|
|
36620
|
-
const Import = createLucideIcon("import", __iconNode$
|
|
36698
|
+
const Import = createLucideIcon("import", __iconNode$M);
|
|
36621
36699
|
/**
|
|
36622
36700
|
* @license lucide-react v0.507.0 - ISC
|
|
36623
36701
|
*
|
|
36624
36702
|
* This source code is licensed under the ISC license.
|
|
36625
36703
|
* See the LICENSE file in the root directory of this source tree.
|
|
36626
36704
|
*/
|
|
36627
|
-
const __iconNode$
|
|
36705
|
+
const __iconNode$L = [
|
|
36628
36706
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
36629
36707
|
["path", { d: "M12 16v-4", key: "1dtifu" }],
|
|
36630
36708
|
["path", { d: "M12 8h.01", key: "e9boi3" }]
|
|
36631
36709
|
];
|
|
36632
|
-
const Info$1 = createLucideIcon("info", __iconNode$
|
|
36710
|
+
const Info$1 = createLucideIcon("info", __iconNode$L);
|
|
36633
36711
|
/**
|
|
36634
36712
|
* @license lucide-react v0.507.0 - ISC
|
|
36635
36713
|
*
|
|
36636
36714
|
* This source code is licensed under the ISC license.
|
|
36637
36715
|
* See the LICENSE file in the root directory of this source tree.
|
|
36638
36716
|
*/
|
|
36639
|
-
const __iconNode$
|
|
36717
|
+
const __iconNode$K = [
|
|
36640
36718
|
["path", { d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4", key: "g0fldk" }],
|
|
36641
36719
|
["path", { d: "m21 2-9.6 9.6", key: "1j0ho8" }],
|
|
36642
36720
|
["circle", { cx: "7.5", cy: "15.5", r: "5.5", key: "yqb3hr" }]
|
|
36643
36721
|
];
|
|
36644
|
-
const Key = createLucideIcon("key", __iconNode$
|
|
36722
|
+
const Key = createLucideIcon("key", __iconNode$K);
|
|
36645
36723
|
/**
|
|
36646
36724
|
* @license lucide-react v0.507.0 - ISC
|
|
36647
36725
|
*
|
|
36648
36726
|
* This source code is licensed under the ISC license.
|
|
36649
36727
|
* See the LICENSE file in the root directory of this source tree.
|
|
36650
36728
|
*/
|
|
36651
|
-
const __iconNode$
|
|
36729
|
+
const __iconNode$J = [
|
|
36652
36730
|
[
|
|
36653
36731
|
"path",
|
|
36654
36732
|
{
|
|
@@ -36671,27 +36749,27 @@ const __iconNode$F = [
|
|
|
36671
36749
|
}
|
|
36672
36750
|
]
|
|
36673
36751
|
];
|
|
36674
|
-
const Layers = createLucideIcon("layers", __iconNode$
|
|
36752
|
+
const Layers = createLucideIcon("layers", __iconNode$J);
|
|
36675
36753
|
/**
|
|
36676
36754
|
* @license lucide-react v0.507.0 - ISC
|
|
36677
36755
|
*
|
|
36678
36756
|
* This source code is licensed under the ISC license.
|
|
36679
36757
|
* See the LICENSE file in the root directory of this source tree.
|
|
36680
36758
|
*/
|
|
36681
|
-
const __iconNode$
|
|
36759
|
+
const __iconNode$I = [
|
|
36682
36760
|
["rect", { width: "7", height: "7", x: "3", y: "3", rx: "1", key: "1g98yp" }],
|
|
36683
36761
|
["rect", { width: "7", height: "7", x: "14", y: "3", rx: "1", key: "6d4xhi" }],
|
|
36684
36762
|
["rect", { width: "7", height: "7", x: "14", y: "14", rx: "1", key: "nxv5o0" }],
|
|
36685
36763
|
["rect", { width: "7", height: "7", x: "3", y: "14", rx: "1", key: "1bb6yr" }]
|
|
36686
36764
|
];
|
|
36687
|
-
const LayoutGrid = createLucideIcon("layout-grid", __iconNode$
|
|
36765
|
+
const LayoutGrid = createLucideIcon("layout-grid", __iconNode$I);
|
|
36688
36766
|
/**
|
|
36689
36767
|
* @license lucide-react v0.507.0 - ISC
|
|
36690
36768
|
*
|
|
36691
36769
|
* This source code is licensed under the ISC license.
|
|
36692
36770
|
* See the LICENSE file in the root directory of this source tree.
|
|
36693
36771
|
*/
|
|
36694
|
-
const __iconNode$
|
|
36772
|
+
const __iconNode$H = [
|
|
36695
36773
|
[
|
|
36696
36774
|
"path",
|
|
36697
36775
|
{
|
|
@@ -36702,114 +36780,114 @@ const __iconNode$D = [
|
|
|
36702
36780
|
["path", { d: "M9 18h6", key: "x1upvd" }],
|
|
36703
36781
|
["path", { d: "M10 22h4", key: "ceow96" }]
|
|
36704
36782
|
];
|
|
36705
|
-
const Lightbulb = createLucideIcon("lightbulb", __iconNode$
|
|
36783
|
+
const Lightbulb = createLucideIcon("lightbulb", __iconNode$H);
|
|
36706
36784
|
/**
|
|
36707
36785
|
* @license lucide-react v0.507.0 - ISC
|
|
36708
36786
|
*
|
|
36709
36787
|
* This source code is licensed under the ISC license.
|
|
36710
36788
|
* See the LICENSE file in the root directory of this source tree.
|
|
36711
36789
|
*/
|
|
36712
|
-
const __iconNode$
|
|
36790
|
+
const __iconNode$G = [
|
|
36713
36791
|
["path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71", key: "1cjeqo" }],
|
|
36714
36792
|
["path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71", key: "19qd67" }]
|
|
36715
36793
|
];
|
|
36716
|
-
const Link = createLucideIcon("link", __iconNode$
|
|
36794
|
+
const Link = createLucideIcon("link", __iconNode$G);
|
|
36717
36795
|
/**
|
|
36718
36796
|
* @license lucide-react v0.507.0 - ISC
|
|
36719
36797
|
*
|
|
36720
36798
|
* This source code is licensed under the ISC license.
|
|
36721
36799
|
* See the LICENSE file in the root directory of this source tree.
|
|
36722
36800
|
*/
|
|
36723
|
-
const __iconNode$
|
|
36801
|
+
const __iconNode$F = [
|
|
36724
36802
|
["path", { d: "M21 12h-8", key: "1bmf0i" }],
|
|
36725
36803
|
["path", { d: "M21 6H8", key: "1pqkrb" }],
|
|
36726
36804
|
["path", { d: "M21 18h-8", key: "1tm79t" }],
|
|
36727
36805
|
["path", { d: "M3 6v4c0 1.1.9 2 2 2h3", key: "1ywdgy" }],
|
|
36728
36806
|
["path", { d: "M3 10v6c0 1.1.9 2 2 2h3", key: "2wc746" }]
|
|
36729
36807
|
];
|
|
36730
|
-
const ListTree = createLucideIcon("list-tree", __iconNode$
|
|
36808
|
+
const ListTree = createLucideIcon("list-tree", __iconNode$F);
|
|
36731
36809
|
/**
|
|
36732
36810
|
* @license lucide-react v0.507.0 - ISC
|
|
36733
36811
|
*
|
|
36734
36812
|
* This source code is licensed under the ISC license.
|
|
36735
36813
|
* See the LICENSE file in the root directory of this source tree.
|
|
36736
36814
|
*/
|
|
36737
|
-
const __iconNode$
|
|
36815
|
+
const __iconNode$E = [
|
|
36738
36816
|
["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
|
|
36739
36817
|
["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
|
|
36740
36818
|
];
|
|
36741
|
-
const Mail = createLucideIcon("mail", __iconNode$
|
|
36819
|
+
const Mail = createLucideIcon("mail", __iconNode$E);
|
|
36742
36820
|
/**
|
|
36743
36821
|
* @license lucide-react v0.507.0 - ISC
|
|
36744
36822
|
*
|
|
36745
36823
|
* This source code is licensed under the ISC license.
|
|
36746
36824
|
* See the LICENSE file in the root directory of this source tree.
|
|
36747
36825
|
*/
|
|
36748
|
-
const __iconNode$
|
|
36826
|
+
const __iconNode$D = [
|
|
36749
36827
|
["polyline", { points: "15 3 21 3 21 9", key: "mznyad" }],
|
|
36750
36828
|
["polyline", { points: "9 21 3 21 3 15", key: "1avn1i" }],
|
|
36751
36829
|
["line", { x1: "21", x2: "14", y1: "3", y2: "10", key: "ota7mn" }],
|
|
36752
36830
|
["line", { x1: "3", x2: "10", y1: "21", y2: "14", key: "1atl0r" }]
|
|
36753
36831
|
];
|
|
36754
|
-
const Maximize2 = createLucideIcon("maximize-2", __iconNode$
|
|
36832
|
+
const Maximize2 = createLucideIcon("maximize-2", __iconNode$D);
|
|
36755
36833
|
/**
|
|
36756
36834
|
* @license lucide-react v0.507.0 - ISC
|
|
36757
36835
|
*
|
|
36758
36836
|
* This source code is licensed under the ISC license.
|
|
36759
36837
|
* See the LICENSE file in the root directory of this source tree.
|
|
36760
36838
|
*/
|
|
36761
|
-
const __iconNode$
|
|
36839
|
+
const __iconNode$C = [
|
|
36762
36840
|
["path", { d: "m3 11 18-5v12L3 14v-3z", key: "n962bs" }],
|
|
36763
36841
|
["path", { d: "M11.6 16.8a3 3 0 1 1-5.8-1.6", key: "1yl0tm" }]
|
|
36764
36842
|
];
|
|
36765
|
-
const Megaphone = createLucideIcon("megaphone", __iconNode$
|
|
36843
|
+
const Megaphone = createLucideIcon("megaphone", __iconNode$C);
|
|
36766
36844
|
/**
|
|
36767
36845
|
* @license lucide-react v0.507.0 - ISC
|
|
36768
36846
|
*
|
|
36769
36847
|
* This source code is licensed under the ISC license.
|
|
36770
36848
|
* See the LICENSE file in the root directory of this source tree.
|
|
36771
36849
|
*/
|
|
36772
|
-
const __iconNode$
|
|
36850
|
+
const __iconNode$B = [
|
|
36773
36851
|
["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }]
|
|
36774
36852
|
];
|
|
36775
|
-
const MessageCircle = createLucideIcon("message-circle", __iconNode$
|
|
36853
|
+
const MessageCircle = createLucideIcon("message-circle", __iconNode$B);
|
|
36776
36854
|
/**
|
|
36777
36855
|
* @license lucide-react v0.507.0 - ISC
|
|
36778
36856
|
*
|
|
36779
36857
|
* This source code is licensed under the ISC license.
|
|
36780
36858
|
* See the LICENSE file in the root directory of this source tree.
|
|
36781
36859
|
*/
|
|
36782
|
-
const __iconNode$
|
|
36860
|
+
const __iconNode$A = [
|
|
36783
36861
|
["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }]
|
|
36784
36862
|
];
|
|
36785
|
-
const MessageSquare = createLucideIcon("message-square", __iconNode$
|
|
36863
|
+
const MessageSquare = createLucideIcon("message-square", __iconNode$A);
|
|
36786
36864
|
/**
|
|
36787
36865
|
* @license lucide-react v0.507.0 - ISC
|
|
36788
36866
|
*
|
|
36789
36867
|
* This source code is licensed under the ISC license.
|
|
36790
36868
|
* See the LICENSE file in the root directory of this source tree.
|
|
36791
36869
|
*/
|
|
36792
|
-
const __iconNode$
|
|
36870
|
+
const __iconNode$z = [
|
|
36793
36871
|
["path", { d: "M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z", key: "131961" }],
|
|
36794
36872
|
["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2", key: "1vc78b" }],
|
|
36795
36873
|
["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }]
|
|
36796
36874
|
];
|
|
36797
|
-
const Mic = createLucideIcon("mic", __iconNode$
|
|
36875
|
+
const Mic = createLucideIcon("mic", __iconNode$z);
|
|
36798
36876
|
/**
|
|
36799
36877
|
* @license lucide-react v0.507.0 - ISC
|
|
36800
36878
|
*
|
|
36801
36879
|
* This source code is licensed under the ISC license.
|
|
36802
36880
|
* See the LICENSE file in the root directory of this source tree.
|
|
36803
36881
|
*/
|
|
36804
|
-
const __iconNode$
|
|
36805
|
-
const Minus$1 = createLucideIcon("minus", __iconNode$
|
|
36882
|
+
const __iconNode$y = [["path", { d: "M5 12h14", key: "1ays0h" }]];
|
|
36883
|
+
const Minus$1 = createLucideIcon("minus", __iconNode$y);
|
|
36806
36884
|
/**
|
|
36807
36885
|
* @license lucide-react v0.507.0 - ISC
|
|
36808
36886
|
*
|
|
36809
36887
|
* This source code is licensed under the ISC license.
|
|
36810
36888
|
* See the LICENSE file in the root directory of this source tree.
|
|
36811
36889
|
*/
|
|
36812
|
-
const __iconNode$
|
|
36890
|
+
const __iconNode$x = [
|
|
36813
36891
|
["path", { d: "M12 2v20", key: "t6zp3m" }],
|
|
36814
36892
|
["path", { d: "m15 19-3 3-3-3", key: "11eu04" }],
|
|
36815
36893
|
["path", { d: "m19 9 3 3-3 3", key: "1mg7y2" }],
|
|
@@ -36817,14 +36895,14 @@ const __iconNode$t = [
|
|
|
36817
36895
|
["path", { d: "m5 9-3 3 3 3", key: "j64kie" }],
|
|
36818
36896
|
["path", { d: "m9 5 3-3 3 3", key: "l8vdw6" }]
|
|
36819
36897
|
];
|
|
36820
|
-
const Move = createLucideIcon("move", __iconNode$
|
|
36898
|
+
const Move = createLucideIcon("move", __iconNode$x);
|
|
36821
36899
|
/**
|
|
36822
36900
|
* @license lucide-react v0.507.0 - ISC
|
|
36823
36901
|
*
|
|
36824
36902
|
* This source code is licensed under the ISC license.
|
|
36825
36903
|
* See the LICENSE file in the root directory of this source tree.
|
|
36826
36904
|
*/
|
|
36827
|
-
const __iconNode$
|
|
36905
|
+
const __iconNode$w = [
|
|
36828
36906
|
["path", { d: "m14.622 17.897-10.68-2.913", key: "vj2p1u" }],
|
|
36829
36907
|
[
|
|
36830
36908
|
"path",
|
|
@@ -36841,38 +36919,38 @@ const __iconNode$s = [
|
|
|
36841
36919
|
}
|
|
36842
36920
|
]
|
|
36843
36921
|
];
|
|
36844
|
-
const Paintbrush = createLucideIcon("paintbrush", __iconNode$
|
|
36922
|
+
const Paintbrush = createLucideIcon("paintbrush", __iconNode$w);
|
|
36845
36923
|
/**
|
|
36846
36924
|
* @license lucide-react v0.507.0 - ISC
|
|
36847
36925
|
*
|
|
36848
36926
|
* This source code is licensed under the ISC license.
|
|
36849
36927
|
* See the LICENSE file in the root directory of this source tree.
|
|
36850
36928
|
*/
|
|
36851
|
-
const __iconNode$
|
|
36929
|
+
const __iconNode$v = [
|
|
36852
36930
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
36853
36931
|
["path", { d: "M15 3v18", key: "14nvp0" }],
|
|
36854
36932
|
["path", { d: "m8 9 3 3-3 3", key: "12hl5m" }]
|
|
36855
36933
|
];
|
|
36856
|
-
const PanelRightClose = createLucideIcon("panel-right-close", __iconNode$
|
|
36934
|
+
const PanelRightClose = createLucideIcon("panel-right-close", __iconNode$v);
|
|
36857
36935
|
/**
|
|
36858
36936
|
* @license lucide-react v0.507.0 - ISC
|
|
36859
36937
|
*
|
|
36860
36938
|
* This source code is licensed under the ISC license.
|
|
36861
36939
|
* See the LICENSE file in the root directory of this source tree.
|
|
36862
36940
|
*/
|
|
36863
|
-
const __iconNode$
|
|
36941
|
+
const __iconNode$u = [
|
|
36864
36942
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
36865
36943
|
["path", { d: "M15 3v18", key: "14nvp0" }],
|
|
36866
36944
|
["path", { d: "m10 15-3-3 3-3", key: "1pgupc" }]
|
|
36867
36945
|
];
|
|
36868
|
-
const PanelRightOpen = createLucideIcon("panel-right-open", __iconNode$
|
|
36946
|
+
const PanelRightOpen = createLucideIcon("panel-right-open", __iconNode$u);
|
|
36869
36947
|
/**
|
|
36870
36948
|
* @license lucide-react v0.507.0 - ISC
|
|
36871
36949
|
*
|
|
36872
36950
|
* This source code is licensed under the ISC license.
|
|
36873
36951
|
* See the LICENSE file in the root directory of this source tree.
|
|
36874
36952
|
*/
|
|
36875
|
-
const __iconNode$
|
|
36953
|
+
const __iconNode$t = [
|
|
36876
36954
|
["path", { d: "M12 20h9", key: "t2du7b" }],
|
|
36877
36955
|
[
|
|
36878
36956
|
"path",
|
|
@@ -36883,14 +36961,14 @@ const __iconNode$p = [
|
|
|
36883
36961
|
],
|
|
36884
36962
|
["path", { d: "m15 5 3 3", key: "1w25hb" }]
|
|
36885
36963
|
];
|
|
36886
|
-
const PencilLine = createLucideIcon("pencil-line", __iconNode$
|
|
36964
|
+
const PencilLine = createLucideIcon("pencil-line", __iconNode$t);
|
|
36887
36965
|
/**
|
|
36888
36966
|
* @license lucide-react v0.507.0 - ISC
|
|
36889
36967
|
*
|
|
36890
36968
|
* This source code is licensed under the ISC license.
|
|
36891
36969
|
* See the LICENSE file in the root directory of this source tree.
|
|
36892
36970
|
*/
|
|
36893
|
-
const __iconNode$
|
|
36971
|
+
const __iconNode$s = [
|
|
36894
36972
|
[
|
|
36895
36973
|
"path",
|
|
36896
36974
|
{
|
|
@@ -36899,14 +36977,14 @@ const __iconNode$o = [
|
|
|
36899
36977
|
}
|
|
36900
36978
|
]
|
|
36901
36979
|
];
|
|
36902
|
-
const Pen = createLucideIcon("pen", __iconNode$
|
|
36980
|
+
const Pen = createLucideIcon("pen", __iconNode$s);
|
|
36903
36981
|
/**
|
|
36904
36982
|
* @license lucide-react v0.507.0 - ISC
|
|
36905
36983
|
*
|
|
36906
36984
|
* This source code is licensed under the ISC license.
|
|
36907
36985
|
* See the LICENSE file in the root directory of this source tree.
|
|
36908
36986
|
*/
|
|
36909
|
-
const __iconNode$
|
|
36987
|
+
const __iconNode$r = [
|
|
36910
36988
|
[
|
|
36911
36989
|
"path",
|
|
36912
36990
|
{
|
|
@@ -36916,37 +36994,37 @@ const __iconNode$n = [
|
|
|
36916
36994
|
],
|
|
36917
36995
|
["path", { d: "m15 5 4 4", key: "1mk7zo" }]
|
|
36918
36996
|
];
|
|
36919
|
-
const Pencil = createLucideIcon("pencil", __iconNode$
|
|
36997
|
+
const Pencil = createLucideIcon("pencil", __iconNode$r);
|
|
36920
36998
|
/**
|
|
36921
36999
|
* @license lucide-react v0.507.0 - ISC
|
|
36922
37000
|
*
|
|
36923
37001
|
* This source code is licensed under the ISC license.
|
|
36924
37002
|
* See the LICENSE file in the root directory of this source tree.
|
|
36925
37003
|
*/
|
|
36926
|
-
const __iconNode$
|
|
37004
|
+
const __iconNode$q = [
|
|
36927
37005
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
36928
37006
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
36929
37007
|
];
|
|
36930
|
-
const Plus$1 = createLucideIcon("plus", __iconNode$
|
|
37008
|
+
const Plus$1 = createLucideIcon("plus", __iconNode$q);
|
|
36931
37009
|
/**
|
|
36932
37010
|
* @license lucide-react v0.507.0 - ISC
|
|
36933
37011
|
*
|
|
36934
37012
|
* This source code is licensed under the ISC license.
|
|
36935
37013
|
* See the LICENSE file in the root directory of this source tree.
|
|
36936
37014
|
*/
|
|
36937
|
-
const __iconNode$
|
|
37015
|
+
const __iconNode$p = [
|
|
36938
37016
|
["path", { d: "M2 3h20", key: "91anmk" }],
|
|
36939
37017
|
["path", { d: "M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3", key: "2k9sn8" }],
|
|
36940
37018
|
["path", { d: "m7 21 5-5 5 5", key: "bip4we" }]
|
|
36941
37019
|
];
|
|
36942
|
-
const Presentation = createLucideIcon("presentation", __iconNode$
|
|
37020
|
+
const Presentation = createLucideIcon("presentation", __iconNode$p);
|
|
36943
37021
|
/**
|
|
36944
37022
|
* @license lucide-react v0.507.0 - ISC
|
|
36945
37023
|
*
|
|
36946
37024
|
* This source code is licensed under the ISC license.
|
|
36947
37025
|
* See the LICENSE file in the root directory of this source tree.
|
|
36948
37026
|
*/
|
|
36949
|
-
const __iconNode$
|
|
37027
|
+
const __iconNode$o = [
|
|
36950
37028
|
[
|
|
36951
37029
|
"path",
|
|
36952
37030
|
{
|
|
@@ -36955,25 +37033,25 @@ const __iconNode$k = [
|
|
|
36955
37033
|
}
|
|
36956
37034
|
]
|
|
36957
37035
|
];
|
|
36958
|
-
const Puzzle = createLucideIcon("puzzle", __iconNode$
|
|
37036
|
+
const Puzzle = createLucideIcon("puzzle", __iconNode$o);
|
|
36959
37037
|
/**
|
|
36960
37038
|
* @license lucide-react v0.507.0 - ISC
|
|
36961
37039
|
*
|
|
36962
37040
|
* This source code is licensed under the ISC license.
|
|
36963
37041
|
* See the LICENSE file in the root directory of this source tree.
|
|
36964
37042
|
*/
|
|
36965
|
-
const __iconNode$
|
|
37043
|
+
const __iconNode$n = [
|
|
36966
37044
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
36967
37045
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }]
|
|
36968
37046
|
];
|
|
36969
|
-
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$
|
|
37047
|
+
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$n);
|
|
36970
37048
|
/**
|
|
36971
37049
|
* @license lucide-react v0.507.0 - ISC
|
|
36972
37050
|
*
|
|
36973
37051
|
* This source code is licensed under the ISC license.
|
|
36974
37052
|
* See the LICENSE file in the root directory of this source tree.
|
|
36975
37053
|
*/
|
|
36976
|
-
const __iconNode$
|
|
37054
|
+
const __iconNode$m = [
|
|
36977
37055
|
[
|
|
36978
37056
|
"path",
|
|
36979
37057
|
{
|
|
@@ -36984,28 +37062,28 @@ const __iconNode$i = [
|
|
|
36984
37062
|
["path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7", key: "1ydtos" }],
|
|
36985
37063
|
["path", { d: "M7 3v4a1 1 0 0 0 1 1h7", key: "t51u73" }]
|
|
36986
37064
|
];
|
|
36987
|
-
const Save = createLucideIcon("save", __iconNode$
|
|
37065
|
+
const Save = createLucideIcon("save", __iconNode$m);
|
|
36988
37066
|
/**
|
|
36989
37067
|
* @license lucide-react v0.507.0 - ISC
|
|
36990
37068
|
*
|
|
36991
37069
|
* This source code is licensed under the ISC license.
|
|
36992
37070
|
* See the LICENSE file in the root directory of this source tree.
|
|
36993
37071
|
*/
|
|
36994
|
-
const __iconNode$
|
|
37072
|
+
const __iconNode$l = [
|
|
36995
37073
|
["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }],
|
|
36996
37074
|
["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }],
|
|
36997
37075
|
["path", { d: "M7 21h10", key: "1b0cd5" }],
|
|
36998
37076
|
["path", { d: "M12 3v18", key: "108xh3" }],
|
|
36999
37077
|
["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }]
|
|
37000
37078
|
];
|
|
37001
|
-
const Scale = createLucideIcon("scale", __iconNode$
|
|
37079
|
+
const Scale = createLucideIcon("scale", __iconNode$l);
|
|
37002
37080
|
/**
|
|
37003
37081
|
* @license lucide-react v0.507.0 - ISC
|
|
37004
37082
|
*
|
|
37005
37083
|
* This source code is licensed under the ISC license.
|
|
37006
37084
|
* See the LICENSE file in the root directory of this source tree.
|
|
37007
37085
|
*/
|
|
37008
|
-
const __iconNode$
|
|
37086
|
+
const __iconNode$k = [
|
|
37009
37087
|
["path", { d: "M15 12h-5", key: "r7krc0" }],
|
|
37010
37088
|
["path", { d: "M15 8h-5", key: "1khuty" }],
|
|
37011
37089
|
["path", { d: "M19 17V5a2 2 0 0 0-2-2H4", key: "zz82l3" }],
|
|
@@ -37017,25 +37095,25 @@ const __iconNode$g = [
|
|
|
37017
37095
|
}
|
|
37018
37096
|
]
|
|
37019
37097
|
];
|
|
37020
|
-
const ScrollText = createLucideIcon("scroll-text", __iconNode$
|
|
37098
|
+
const ScrollText = createLucideIcon("scroll-text", __iconNode$k);
|
|
37021
37099
|
/**
|
|
37022
37100
|
* @license lucide-react v0.507.0 - ISC
|
|
37023
37101
|
*
|
|
37024
37102
|
* This source code is licensed under the ISC license.
|
|
37025
37103
|
* See the LICENSE file in the root directory of this source tree.
|
|
37026
37104
|
*/
|
|
37027
|
-
const __iconNode$
|
|
37105
|
+
const __iconNode$j = [
|
|
37028
37106
|
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
37029
37107
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
37030
37108
|
];
|
|
37031
|
-
const Search = createLucideIcon("search", __iconNode$
|
|
37109
|
+
const Search = createLucideIcon("search", __iconNode$j);
|
|
37032
37110
|
/**
|
|
37033
37111
|
* @license lucide-react v0.507.0 - ISC
|
|
37034
37112
|
*
|
|
37035
37113
|
* This source code is licensed under the ISC license.
|
|
37036
37114
|
* See the LICENSE file in the root directory of this source tree.
|
|
37037
37115
|
*/
|
|
37038
|
-
const __iconNode$
|
|
37116
|
+
const __iconNode$i = [
|
|
37039
37117
|
[
|
|
37040
37118
|
"path",
|
|
37041
37119
|
{
|
|
@@ -37045,28 +37123,28 @@ const __iconNode$e = [
|
|
|
37045
37123
|
],
|
|
37046
37124
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
37047
37125
|
];
|
|
37048
|
-
const Settings$1 = createLucideIcon("settings", __iconNode$
|
|
37126
|
+
const Settings$1 = createLucideIcon("settings", __iconNode$i);
|
|
37049
37127
|
/**
|
|
37050
37128
|
* @license lucide-react v0.507.0 - ISC
|
|
37051
37129
|
*
|
|
37052
37130
|
* This source code is licensed under the ISC license.
|
|
37053
37131
|
* See the LICENSE file in the root directory of this source tree.
|
|
37054
37132
|
*/
|
|
37055
|
-
const __iconNode$
|
|
37133
|
+
const __iconNode$h = [
|
|
37056
37134
|
["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }],
|
|
37057
37135
|
["circle", { cx: "6", cy: "12", r: "3", key: "w7nqdw" }],
|
|
37058
37136
|
["circle", { cx: "18", cy: "19", r: "3", key: "1xt0gg" }],
|
|
37059
37137
|
["line", { x1: "8.59", x2: "15.42", y1: "13.51", y2: "17.49", key: "47mynk" }],
|
|
37060
37138
|
["line", { x1: "15.41", x2: "8.59", y1: "6.51", y2: "10.49", key: "1n3mei" }]
|
|
37061
37139
|
];
|
|
37062
|
-
const Share2 = createLucideIcon("share-2", __iconNode$
|
|
37140
|
+
const Share2 = createLucideIcon("share-2", __iconNode$h);
|
|
37063
37141
|
/**
|
|
37064
37142
|
* @license lucide-react v0.507.0 - ISC
|
|
37065
37143
|
*
|
|
37066
37144
|
* This source code is licensed under the ISC license.
|
|
37067
37145
|
* See the LICENSE file in the root directory of this source tree.
|
|
37068
37146
|
*/
|
|
37069
|
-
const __iconNode$
|
|
37147
|
+
const __iconNode$g = [
|
|
37070
37148
|
[
|
|
37071
37149
|
"path",
|
|
37072
37150
|
{
|
|
@@ -37075,14 +37153,14 @@ const __iconNode$c = [
|
|
|
37075
37153
|
}
|
|
37076
37154
|
]
|
|
37077
37155
|
];
|
|
37078
|
-
const Shield = createLucideIcon("shield", __iconNode$
|
|
37156
|
+
const Shield = createLucideIcon("shield", __iconNode$g);
|
|
37079
37157
|
/**
|
|
37080
37158
|
* @license lucide-react v0.507.0 - ISC
|
|
37081
37159
|
*
|
|
37082
37160
|
* This source code is licensed under the ISC license.
|
|
37083
37161
|
* See the LICENSE file in the root directory of this source tree.
|
|
37084
37162
|
*/
|
|
37085
|
-
const __iconNode$
|
|
37163
|
+
const __iconNode$f = [
|
|
37086
37164
|
["circle", { cx: "8", cy: "21", r: "1", key: "jimo8o" }],
|
|
37087
37165
|
["circle", { cx: "19", cy: "21", r: "1", key: "13723u" }],
|
|
37088
37166
|
[
|
|
@@ -37093,14 +37171,14 @@ const __iconNode$b = [
|
|
|
37093
37171
|
}
|
|
37094
37172
|
]
|
|
37095
37173
|
];
|
|
37096
|
-
const ShoppingCart = createLucideIcon("shopping-cart", __iconNode$
|
|
37174
|
+
const ShoppingCart = createLucideIcon("shopping-cart", __iconNode$f);
|
|
37097
37175
|
/**
|
|
37098
37176
|
* @license lucide-react v0.507.0 - ISC
|
|
37099
37177
|
*
|
|
37100
37178
|
* This source code is licensed under the ISC license.
|
|
37101
37179
|
* See the LICENSE file in the root directory of this source tree.
|
|
37102
37180
|
*/
|
|
37103
|
-
const __iconNode$
|
|
37181
|
+
const __iconNode$e = [
|
|
37104
37182
|
["path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", key: "1m0v6g" }],
|
|
37105
37183
|
[
|
|
37106
37184
|
"path",
|
|
@@ -37110,26 +37188,36 @@ const __iconNode$a = [
|
|
|
37110
37188
|
}
|
|
37111
37189
|
]
|
|
37112
37190
|
];
|
|
37113
|
-
const SquarePen = createLucideIcon("square-pen", __iconNode$
|
|
37191
|
+
const SquarePen = createLucideIcon("square-pen", __iconNode$e);
|
|
37114
37192
|
/**
|
|
37115
37193
|
* @license lucide-react v0.507.0 - ISC
|
|
37116
37194
|
*
|
|
37117
37195
|
* This source code is licensed under the ISC license.
|
|
37118
37196
|
* See the LICENSE file in the root directory of this source tree.
|
|
37119
37197
|
*/
|
|
37120
|
-
const __iconNode$
|
|
37198
|
+
const __iconNode$d = [
|
|
37121
37199
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
|
|
37122
37200
|
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
|
|
37123
37201
|
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
37124
37202
|
];
|
|
37125
|
-
const SquareX = createLucideIcon("square-x", __iconNode$
|
|
37203
|
+
const SquareX = createLucideIcon("square-x", __iconNode$d);
|
|
37126
37204
|
/**
|
|
37127
37205
|
* @license lucide-react v0.507.0 - ISC
|
|
37128
37206
|
*
|
|
37129
37207
|
* This source code is licensed under the ISC license.
|
|
37130
37208
|
* See the LICENSE file in the root directory of this source tree.
|
|
37131
37209
|
*/
|
|
37132
|
-
const __iconNode$
|
|
37210
|
+
const __iconNode$c = [
|
|
37211
|
+
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }]
|
|
37212
|
+
];
|
|
37213
|
+
const Square = createLucideIcon("square", __iconNode$c);
|
|
37214
|
+
/**
|
|
37215
|
+
* @license lucide-react v0.507.0 - ISC
|
|
37216
|
+
*
|
|
37217
|
+
* This source code is licensed under the ISC license.
|
|
37218
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37219
|
+
*/
|
|
37220
|
+
const __iconNode$b = [
|
|
37133
37221
|
[
|
|
37134
37222
|
"path",
|
|
37135
37223
|
{
|
|
@@ -37138,14 +37226,14 @@ const __iconNode$8 = [
|
|
|
37138
37226
|
}
|
|
37139
37227
|
]
|
|
37140
37228
|
];
|
|
37141
|
-
const Star = createLucideIcon("star", __iconNode$
|
|
37229
|
+
const Star = createLucideIcon("star", __iconNode$b);
|
|
37142
37230
|
/**
|
|
37143
37231
|
* @license lucide-react v0.507.0 - ISC
|
|
37144
37232
|
*
|
|
37145
37233
|
* This source code is licensed under the ISC license.
|
|
37146
37234
|
* See the LICENSE file in the root directory of this source tree.
|
|
37147
37235
|
*/
|
|
37148
|
-
const __iconNode$
|
|
37236
|
+
const __iconNode$a = [
|
|
37149
37237
|
["path", { d: "m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7", key: "ztvudi" }],
|
|
37150
37238
|
["path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8", key: "1b2hhj" }],
|
|
37151
37239
|
["path", { d: "M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4", key: "2ebpfo" }],
|
|
@@ -37158,14 +37246,14 @@ const __iconNode$7 = [
|
|
|
37158
37246
|
}
|
|
37159
37247
|
]
|
|
37160
37248
|
];
|
|
37161
|
-
const Store = createLucideIcon("store", __iconNode$
|
|
37249
|
+
const Store = createLucideIcon("store", __iconNode$a);
|
|
37162
37250
|
/**
|
|
37163
37251
|
* @license lucide-react v0.507.0 - ISC
|
|
37164
37252
|
*
|
|
37165
37253
|
* This source code is licensed under the ISC license.
|
|
37166
37254
|
* See the LICENSE file in the root directory of this source tree.
|
|
37167
37255
|
*/
|
|
37168
|
-
const __iconNode$
|
|
37256
|
+
const __iconNode$9 = [
|
|
37169
37257
|
[
|
|
37170
37258
|
"path",
|
|
37171
37259
|
{
|
|
@@ -37175,45 +37263,98 @@ const __iconNode$6 = [
|
|
|
37175
37263
|
],
|
|
37176
37264
|
["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }]
|
|
37177
37265
|
];
|
|
37178
|
-
const Tag$1 = createLucideIcon("tag", __iconNode$
|
|
37266
|
+
const Tag$1 = createLucideIcon("tag", __iconNode$9);
|
|
37179
37267
|
/**
|
|
37180
37268
|
* @license lucide-react v0.507.0 - ISC
|
|
37181
37269
|
*
|
|
37182
37270
|
* This source code is licensed under the ISC license.
|
|
37183
37271
|
* See the LICENSE file in the root directory of this source tree.
|
|
37184
37272
|
*/
|
|
37185
|
-
const __iconNode$
|
|
37273
|
+
const __iconNode$8 = [
|
|
37186
37274
|
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
37187
37275
|
["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
|
|
37188
37276
|
["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }],
|
|
37189
37277
|
["line", { x1: "10", x2: "10", y1: "11", y2: "17", key: "1uufr5" }],
|
|
37190
37278
|
["line", { x1: "14", x2: "14", y1: "11", y2: "17", key: "xtxkd" }]
|
|
37191
37279
|
];
|
|
37192
|
-
const Trash2 = createLucideIcon("trash-2", __iconNode$
|
|
37280
|
+
const Trash2 = createLucideIcon("trash-2", __iconNode$8);
|
|
37193
37281
|
/**
|
|
37194
37282
|
* @license lucide-react v0.507.0 - ISC
|
|
37195
37283
|
*
|
|
37196
37284
|
* This source code is licensed under the ISC license.
|
|
37197
37285
|
* See the LICENSE file in the root directory of this source tree.
|
|
37198
37286
|
*/
|
|
37199
|
-
const __iconNode$
|
|
37287
|
+
const __iconNode$7 = [
|
|
37200
37288
|
["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2", key: "975kel" }],
|
|
37201
37289
|
["circle", { cx: "12", cy: "7", r: "4", key: "17ys0d" }]
|
|
37202
37290
|
];
|
|
37203
|
-
const User = createLucideIcon("user", __iconNode$
|
|
37291
|
+
const User = createLucideIcon("user", __iconNode$7);
|
|
37204
37292
|
/**
|
|
37205
37293
|
* @license lucide-react v0.507.0 - ISC
|
|
37206
37294
|
*
|
|
37207
37295
|
* This source code is licensed under the ISC license.
|
|
37208
37296
|
* See the LICENSE file in the root directory of this source tree.
|
|
37209
37297
|
*/
|
|
37210
|
-
const __iconNode$
|
|
37298
|
+
const __iconNode$6 = [
|
|
37211
37299
|
["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }],
|
|
37212
37300
|
["path", { d: "M16 3.128a4 4 0 0 1 0 7.744", key: "16gr8j" }],
|
|
37213
37301
|
["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }],
|
|
37214
37302
|
["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }]
|
|
37215
37303
|
];
|
|
37216
|
-
const Users = createLucideIcon("users", __iconNode$
|
|
37304
|
+
const Users = createLucideIcon("users", __iconNode$6);
|
|
37305
|
+
/**
|
|
37306
|
+
* @license lucide-react v0.507.0 - ISC
|
|
37307
|
+
*
|
|
37308
|
+
* This source code is licensed under the ISC license.
|
|
37309
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37310
|
+
*/
|
|
37311
|
+
const __iconNode$5 = [
|
|
37312
|
+
[
|
|
37313
|
+
"path",
|
|
37314
|
+
{
|
|
37315
|
+
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
37316
|
+
key: "uqj9uw"
|
|
37317
|
+
}
|
|
37318
|
+
],
|
|
37319
|
+
["path", { d: "M16 9a5 5 0 0 1 0 6", key: "1q6k2b" }]
|
|
37320
|
+
];
|
|
37321
|
+
const Volume1 = createLucideIcon("volume-1", __iconNode$5);
|
|
37322
|
+
/**
|
|
37323
|
+
* @license lucide-react v0.507.0 - ISC
|
|
37324
|
+
*
|
|
37325
|
+
* This source code is licensed under the ISC license.
|
|
37326
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37327
|
+
*/
|
|
37328
|
+
const __iconNode$4 = [
|
|
37329
|
+
[
|
|
37330
|
+
"path",
|
|
37331
|
+
{
|
|
37332
|
+
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
37333
|
+
key: "uqj9uw"
|
|
37334
|
+
}
|
|
37335
|
+
],
|
|
37336
|
+
["path", { d: "M16 9a5 5 0 0 1 0 6", key: "1q6k2b" }],
|
|
37337
|
+
["path", { d: "M19.364 18.364a9 9 0 0 0 0-12.728", key: "ijwkga" }]
|
|
37338
|
+
];
|
|
37339
|
+
const Volume2 = createLucideIcon("volume-2", __iconNode$4);
|
|
37340
|
+
/**
|
|
37341
|
+
* @license lucide-react v0.507.0 - ISC
|
|
37342
|
+
*
|
|
37343
|
+
* This source code is licensed under the ISC license.
|
|
37344
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37345
|
+
*/
|
|
37346
|
+
const __iconNode$3 = [
|
|
37347
|
+
[
|
|
37348
|
+
"path",
|
|
37349
|
+
{
|
|
37350
|
+
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
37351
|
+
key: "uqj9uw"
|
|
37352
|
+
}
|
|
37353
|
+
],
|
|
37354
|
+
["line", { x1: "22", x2: "16", y1: "9", y2: "15", key: "1ewh16" }],
|
|
37355
|
+
["line", { x1: "16", x2: "22", y1: "9", y2: "15", key: "5ykzw1" }]
|
|
37356
|
+
];
|
|
37357
|
+
const VolumeX = createLucideIcon("volume-x", __iconNode$3);
|
|
37217
37358
|
/**
|
|
37218
37359
|
* @license lucide-react v0.507.0 - ISC
|
|
37219
37360
|
*
|
|
@@ -37387,6 +37528,22 @@ const ConfirmationModal = ({
|
|
|
37387
37528
|
onConfirm,
|
|
37388
37529
|
onCancel
|
|
37389
37530
|
}) => {
|
|
37531
|
+
reactExports.useEffect(() => {
|
|
37532
|
+
const handleKeyDown = (event) => {
|
|
37533
|
+
if (!open2) {
|
|
37534
|
+
return;
|
|
37535
|
+
}
|
|
37536
|
+
if (event.key === "Enter") {
|
|
37537
|
+
onConfirm();
|
|
37538
|
+
} else if (event.key === "Escape") {
|
|
37539
|
+
onCancel();
|
|
37540
|
+
}
|
|
37541
|
+
};
|
|
37542
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
37543
|
+
return () => {
|
|
37544
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
37545
|
+
};
|
|
37546
|
+
}, [open2, onConfirm, onCancel]);
|
|
37390
37547
|
const dialogTitle = isDangerous ? /* @__PURE__ */ jsxRuntimeExports.jsxs(TitleContainer, { children: [
|
|
37391
37548
|
/* @__PURE__ */ jsxRuntimeExports.jsx(WarningIcon, { icon: faExclamationTriangle }),
|
|
37392
37549
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h6", component: "span", color: "error", children: title })
|
|
@@ -38424,8 +38581,8 @@ const useAgentSystemPrompt = (agentId) => {
|
|
|
38424
38581
|
queryKey: agentSystemPromptQueryKey(agentId),
|
|
38425
38582
|
queryFn: async () => {
|
|
38426
38583
|
try {
|
|
38427
|
-
const
|
|
38428
|
-
const response = await
|
|
38584
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
38585
|
+
const response = await client2.agents.getAgentSystemPrompt(agentId);
|
|
38429
38586
|
if (response.status >= 400) {
|
|
38430
38587
|
throw new Error(
|
|
38431
38588
|
response.message || "Failed to fetch agent system prompt"
|
|
@@ -38446,11 +38603,11 @@ const useAgentSystemPrompt = (agentId) => {
|
|
|
38446
38603
|
};
|
|
38447
38604
|
const useUpdateAgentSystemPrompt = (agentId) => {
|
|
38448
38605
|
const queryClient2 = useQueryClient();
|
|
38449
|
-
const
|
|
38606
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
38450
38607
|
return useMutation({
|
|
38451
38608
|
mutationFn: async (systemPrompt) => {
|
|
38452
38609
|
try {
|
|
38453
|
-
const response = await
|
|
38610
|
+
const response = await client2.agents.updateAgentSystemPrompt(
|
|
38454
38611
|
agentId,
|
|
38455
38612
|
systemPrompt
|
|
38456
38613
|
);
|
|
@@ -38565,8 +38722,8 @@ const useCredentials = () => {
|
|
|
38565
38722
|
queryKey: credentialsQueryKey,
|
|
38566
38723
|
queryFn: async () => {
|
|
38567
38724
|
try {
|
|
38568
|
-
const
|
|
38569
|
-
const response = await
|
|
38725
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
38726
|
+
const response = await client2.credentials.listCredentials();
|
|
38570
38727
|
if (response.status >= 400) {
|
|
38571
38728
|
throw new Error(response.message || "Failed to fetch credentials");
|
|
38572
38729
|
}
|
|
@@ -38830,8 +38987,8 @@ const useClearAgentConversation = () => {
|
|
|
38830
38987
|
);
|
|
38831
38988
|
return useMutation({
|
|
38832
38989
|
mutationFn: async ({ agentId }) => {
|
|
38833
|
-
const
|
|
38834
|
-
return
|
|
38990
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
38991
|
+
return client2.agents.clearAgentConversation(agentId);
|
|
38835
38992
|
},
|
|
38836
38993
|
onSuccess: (_2, variables) => {
|
|
38837
38994
|
queryClient2.invalidateQueries({
|
|
@@ -38934,8 +39091,8 @@ const useConversationMessages = (conversationId, pageSize2 = 20) => {
|
|
|
38934
39091
|
};
|
|
38935
39092
|
}
|
|
38936
39093
|
const page = pageParam;
|
|
38937
|
-
const
|
|
38938
|
-
const response = await
|
|
39094
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
39095
|
+
const response = await client2.agents.getAgentExecutionHistory(
|
|
38939
39096
|
conversationId,
|
|
38940
39097
|
page,
|
|
38941
39098
|
pageSize2
|
|
@@ -39125,10 +39282,10 @@ const useModelsStore = create$3()(
|
|
|
39125
39282
|
}
|
|
39126
39283
|
set2({ isLoading: true, error: null });
|
|
39127
39284
|
try {
|
|
39128
|
-
const
|
|
39129
|
-
const providersResponse = await
|
|
39285
|
+
const client2 = createLocalOperatorClient(baseUrl);
|
|
39286
|
+
const providersResponse = await client2.models.listProviders();
|
|
39130
39287
|
const providers = providersResponse.result?.providers || [];
|
|
39131
|
-
const modelsResponse = await
|
|
39288
|
+
const modelsResponse = await client2.models.listModels(
|
|
39132
39289
|
"",
|
|
39133
39290
|
"recommended",
|
|
39134
39291
|
"descending"
|
|
@@ -39310,7 +39467,7 @@ const useJobPolling = ({
|
|
|
39310
39467
|
const queryClient2 = useQueryClient();
|
|
39311
39468
|
const { getMessages, setMessages } = useChatStore();
|
|
39312
39469
|
const lastProcessedJobDataRef = reactExports.useRef(null);
|
|
39313
|
-
const
|
|
39470
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
39314
39471
|
const previousConversationIdRef = reactExports.useRef(conversationId);
|
|
39315
39472
|
const { shouldEnableQuery, getConnectivityError } = useConnectivityGate();
|
|
39316
39473
|
const checkForActiveJobs = reactExports.useCallback(
|
|
@@ -39327,8 +39484,8 @@ const useJobPolling = ({
|
|
|
39327
39484
|
return false;
|
|
39328
39485
|
}
|
|
39329
39486
|
try {
|
|
39330
|
-
const pendingResponse = await
|
|
39331
|
-
const processingResponse = await
|
|
39487
|
+
const pendingResponse = await client2.jobs.listJobs(agentId, "pending");
|
|
39488
|
+
const processingResponse = await client2.jobs.listJobs(
|
|
39332
39489
|
agentId,
|
|
39333
39490
|
"processing"
|
|
39334
39491
|
);
|
|
@@ -39354,7 +39511,7 @@ const useJobPolling = ({
|
|
|
39354
39511
|
}
|
|
39355
39512
|
},
|
|
39356
39513
|
[
|
|
39357
|
-
|
|
39514
|
+
client2.jobs,
|
|
39358
39515
|
currentJobId,
|
|
39359
39516
|
shouldEnableQuery,
|
|
39360
39517
|
getConnectivityError,
|
|
@@ -39378,11 +39535,11 @@ const useJobPolling = ({
|
|
|
39378
39535
|
return;
|
|
39379
39536
|
}
|
|
39380
39537
|
try {
|
|
39381
|
-
const pendingResponse = await
|
|
39538
|
+
const pendingResponse = await client2.jobs.listJobs(
|
|
39382
39539
|
conversationId,
|
|
39383
39540
|
"pending"
|
|
39384
39541
|
);
|
|
39385
|
-
const processingResponse = await
|
|
39542
|
+
const processingResponse = await client2.jobs.listJobs(
|
|
39386
39543
|
conversationId,
|
|
39387
39544
|
"processing"
|
|
39388
39545
|
);
|
|
@@ -39408,7 +39565,7 @@ const useJobPolling = ({
|
|
|
39408
39565
|
previousConversationIdRef.current = conversationId;
|
|
39409
39566
|
}, [
|
|
39410
39567
|
conversationId,
|
|
39411
|
-
|
|
39568
|
+
client2.jobs,
|
|
39412
39569
|
shouldEnableQuery,
|
|
39413
39570
|
getConnectivityError,
|
|
39414
39571
|
setCurrentJobId
|
|
@@ -39427,8 +39584,8 @@ const useJobPolling = ({
|
|
|
39427
39584
|
return false;
|
|
39428
39585
|
}
|
|
39429
39586
|
try {
|
|
39430
|
-
const
|
|
39431
|
-
const response = await
|
|
39587
|
+
const client22 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
39588
|
+
const response = await client22.agents.getAgentExecutionHistory(
|
|
39432
39589
|
agentId,
|
|
39433
39590
|
1,
|
|
39434
39591
|
// First page
|
|
@@ -39513,9 +39670,9 @@ const useJobPolling = ({
|
|
|
39513
39670
|
queryKey: ["job", currentJobId],
|
|
39514
39671
|
queryFn: async () => {
|
|
39515
39672
|
if (!currentJobId) return null;
|
|
39516
|
-
const
|
|
39673
|
+
const client22 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
39517
39674
|
try {
|
|
39518
|
-
const response = await
|
|
39675
|
+
const response = await client22.jobs.getJobStatus(currentJobId);
|
|
39519
39676
|
return response.result;
|
|
39520
39677
|
} catch (err) {
|
|
39521
39678
|
const errorObj = err;
|
|
@@ -41009,11 +41166,11 @@ const useRadientUserQuery = () => {
|
|
|
41009
41166
|
};
|
|
41010
41167
|
const useUpdateConfig = () => {
|
|
41011
41168
|
const queryClient2 = useQueryClient();
|
|
41012
|
-
const
|
|
41169
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
41013
41170
|
return useMutation({
|
|
41014
41171
|
mutationFn: async (update) => {
|
|
41015
41172
|
try {
|
|
41016
|
-
const response = await
|
|
41173
|
+
const response = await client2.config.updateConfig(update);
|
|
41017
41174
|
if (response.status >= 400) {
|
|
41018
41175
|
throw new Error(response.message || "Failed to update configuration");
|
|
41019
41176
|
}
|
|
@@ -41817,13 +41974,13 @@ const useStreamingMessage = ({
|
|
|
41817
41974
|
}
|
|
41818
41975
|
try {
|
|
41819
41976
|
setIsRefetching(true);
|
|
41820
|
-
const
|
|
41977
|
+
const client2 = createLocalOperatorClient(baseUrl);
|
|
41821
41978
|
const registryEntry = globalConnectionRegistry.get(messageId);
|
|
41822
41979
|
const agentId = registryEntry?.conversationId || conversationId;
|
|
41823
41980
|
if (!agentId) {
|
|
41824
41981
|
return;
|
|
41825
41982
|
}
|
|
41826
|
-
const response = await
|
|
41983
|
+
const response = await client2.agents.getAgentExecutionHistory(
|
|
41827
41984
|
agentId,
|
|
41828
41985
|
1,
|
|
41829
41986
|
20
|
|
@@ -41898,11 +42055,11 @@ const useStreamingMessage = ({
|
|
|
41898
42055
|
const doRefetch = async () => {
|
|
41899
42056
|
try {
|
|
41900
42057
|
setIsRefetching(true);
|
|
41901
|
-
const
|
|
42058
|
+
const client2 = createLocalOperatorClient(baseUrl);
|
|
41902
42059
|
const entry = globalConnectionRegistry.get(messageId);
|
|
41903
42060
|
const agentId = entry?.conversationId || conversationId;
|
|
41904
42061
|
if (!agentId) return;
|
|
41905
|
-
const response = await
|
|
42062
|
+
const response = await client2.agents.getAgentExecutionHistory(
|
|
41906
42063
|
agentId,
|
|
41907
42064
|
1,
|
|
41908
42065
|
20
|
|
@@ -42212,8 +42369,8 @@ const useSystemPrompt = () => {
|
|
|
42212
42369
|
queryKey: systemPromptQueryKey,
|
|
42213
42370
|
queryFn: async () => {
|
|
42214
42371
|
try {
|
|
42215
|
-
const
|
|
42216
|
-
const response = await
|
|
42372
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
42373
|
+
const response = await client2.config.getSystemPrompt();
|
|
42217
42374
|
if (response === null) {
|
|
42218
42375
|
return null;
|
|
42219
42376
|
}
|
|
@@ -42235,14 +42392,14 @@ const useSystemPrompt = () => {
|
|
|
42235
42392
|
};
|
|
42236
42393
|
const useUpdateAgent = () => {
|
|
42237
42394
|
const queryClient2 = useQueryClient();
|
|
42238
|
-
const
|
|
42395
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
42239
42396
|
return useMutation({
|
|
42240
42397
|
mutationFn: async ({
|
|
42241
42398
|
agentId,
|
|
42242
42399
|
update
|
|
42243
42400
|
}) => {
|
|
42244
42401
|
try {
|
|
42245
|
-
const response = await
|
|
42402
|
+
const response = await client2.agents.updateAgent(agentId, update);
|
|
42246
42403
|
if (response.status >= 400) {
|
|
42247
42404
|
throw new Error(
|
|
42248
42405
|
response.message || `Failed to update agent ${agentId}`
|
|
@@ -42285,11 +42442,11 @@ const useUpdateAgent = () => {
|
|
|
42285
42442
|
};
|
|
42286
42443
|
const useUpdateCredential = () => {
|
|
42287
42444
|
const queryClient2 = useQueryClient();
|
|
42288
|
-
const
|
|
42445
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
42289
42446
|
return useMutation({
|
|
42290
42447
|
mutationFn: async (credentialUpdate) => {
|
|
42291
42448
|
try {
|
|
42292
|
-
const response = await
|
|
42449
|
+
const response = await client2.credentials.updateCredential(credentialUpdate);
|
|
42293
42450
|
if (response.status >= 400) {
|
|
42294
42451
|
throw new Error(response.message || "Failed to update credential");
|
|
42295
42452
|
}
|
|
@@ -42333,11 +42490,11 @@ const useUpdateCredential = () => {
|
|
|
42333
42490
|
};
|
|
42334
42491
|
const useUpdateSystemPrompt = () => {
|
|
42335
42492
|
const queryClient2 = useQueryClient();
|
|
42336
|
-
const
|
|
42493
|
+
const client2 = createLocalOperatorClient(apiConfig.baseUrl);
|
|
42337
42494
|
return useMutation({
|
|
42338
42495
|
mutationFn: async (update) => {
|
|
42339
42496
|
try {
|
|
42340
|
-
const response = await
|
|
42497
|
+
const response = await client2.config.updateSystemPrompt(update);
|
|
42341
42498
|
if (response.status >= 400) {
|
|
42342
42499
|
throw new Error(response.message || "Failed to update system prompt");
|
|
42343
42500
|
}
|
|
@@ -87055,7 +87212,7 @@ const languages = [
|
|
|
87055
87212
|
name: "Go",
|
|
87056
87213
|
extensions: ["go"],
|
|
87057
87214
|
load() {
|
|
87058
|
-
return __vitePreload(() => import("./index-
|
|
87215
|
+
return __vitePreload(() => import("./index-Br4QkH4P.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
|
|
87059
87216
|
}
|
|
87060
87217
|
}),
|
|
87061
87218
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -87232,7 +87389,7 @@ const languages = [
|
|
|
87232
87389
|
alias: ["yml"],
|
|
87233
87390
|
extensions: ["yaml", "yml"],
|
|
87234
87391
|
load() {
|
|
87235
|
-
return __vitePreload(() => import("./index-
|
|
87392
|
+
return __vitePreload(() => import("./index-B2mf6FAB.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
|
|
87236
87393
|
}
|
|
87237
87394
|
}),
|
|
87238
87395
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -126616,13 +126773,14 @@ const CodeEditor = ({ document: document2 }) => {
|
|
|
126616
126773
|
const [languageExtensions, setLanguageExtensions] = reactExports.useState([]);
|
|
126617
126774
|
const theme2 = useTheme$2();
|
|
126618
126775
|
reactExports.useEffect(() => {
|
|
126619
|
-
if (document2.id !== value?.id) {
|
|
126776
|
+
if (document2.id !== value?.id || document2.content !== value?.content) {
|
|
126620
126777
|
setValue(document2);
|
|
126621
126778
|
const newLangExtension = loadLanguageExtensions(document2.title);
|
|
126622
|
-
if (
|
|
126623
|
-
|
|
126779
|
+
if (newLangExtension) {
|
|
126780
|
+
setLanguageExtensions([newLangExtension]);
|
|
126781
|
+
}
|
|
126624
126782
|
}
|
|
126625
|
-
}, [document2, value?.id]);
|
|
126783
|
+
}, [document2, value?.id, value?.content]);
|
|
126626
126784
|
const codeEditorTheme = theme2.palette.mode === "light" ? basicLight : basicDark;
|
|
126627
126785
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
126628
126786
|
Box,
|
|
@@ -126677,7 +126835,8 @@ const HtmlPreview = ({ document: document2 }) => {
|
|
|
126677
126835
|
src: htmlUrl,
|
|
126678
126836
|
title: `HTML Preview: ${document2.title}`,
|
|
126679
126837
|
sandbox: "allow-scripts allow-same-origin allow-forms"
|
|
126680
|
-
}
|
|
126838
|
+
},
|
|
126839
|
+
document2.content
|
|
126681
126840
|
) });
|
|
126682
126841
|
};
|
|
126683
126842
|
const search = /[#.]/g;
|
|
@@ -169671,7 +169830,7 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
169671
169830
|
registerLayoutLoaders([
|
|
169672
169831
|
{
|
|
169673
169832
|
name: "dagre",
|
|
169674
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-
|
|
169833
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-ibCOzp8h.js"), true ? __vite__mapDeps([6,7,8,9,10,11,1,2]) : void 0, import.meta.url), "loader")
|
|
169675
169834
|
}
|
|
169676
169835
|
]);
|
|
169677
169836
|
}, "registerDefaultLayoutLoaders");
|
|
@@ -170261,7 +170420,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
170261
170420
|
}, "detector");
|
|
170262
170421
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
170263
170422
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170264
|
-
const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-
|
|
170423
|
+
const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-Dx-AuScK.js");
|
|
170265
170424
|
return { diagram: diagram22 };
|
|
170266
170425
|
}, true ? __vite__mapDeps([12,13,1,2]) : void 0, import.meta.url);
|
|
170267
170426
|
return { id, diagram: diagram2 };
|
|
@@ -170281,7 +170440,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
170281
170440
|
}, "detector");
|
|
170282
170441
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
170283
170442
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170284
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
170443
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DygsQ6re.js");
|
|
170285
170444
|
return { diagram: diagram22 };
|
|
170286
170445
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
170287
170446
|
return { id: id2, diagram: diagram2 };
|
|
@@ -170307,7 +170466,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
170307
170466
|
}, "detector");
|
|
170308
170467
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
170309
170468
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170310
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
170469
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DygsQ6re.js");
|
|
170311
170470
|
return { diagram: diagram22 };
|
|
170312
170471
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
170313
170472
|
return { id: id3, diagram: diagram2 };
|
|
@@ -170324,7 +170483,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
170324
170483
|
}, "detector");
|
|
170325
170484
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
170326
170485
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170327
|
-
const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-
|
|
170486
|
+
const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-CBixsMqH.js");
|
|
170328
170487
|
return { diagram: diagram22 };
|
|
170329
170488
|
}, true ? __vite__mapDeps([17,15,16,1,2]) : void 0, import.meta.url);
|
|
170330
170489
|
return { id: id4, diagram: diagram2 };
|
|
@@ -170341,7 +170500,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
170341
170500
|
}, "detector");
|
|
170342
170501
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
170343
170502
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170344
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-
|
|
170503
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-BOlHobgq.js");
|
|
170345
170504
|
return { diagram: diagram22 };
|
|
170346
170505
|
}, true ? __vite__mapDeps([18,19,20,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
170347
170506
|
return { id: id5, diagram: diagram2 };
|
|
@@ -170358,7 +170517,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
170358
170517
|
}, "detector");
|
|
170359
170518
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
170360
170519
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170361
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-
|
|
170520
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-DKBtpWjh.js");
|
|
170362
170521
|
return { diagram: diagram22 };
|
|
170363
170522
|
}, true ? __vite__mapDeps([22,1,2]) : void 0, import.meta.url);
|
|
170364
170523
|
return { id: id6, diagram: diagram2 };
|
|
@@ -170375,7 +170534,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
170375
170534
|
}, "detector");
|
|
170376
170535
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
170377
170536
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170378
|
-
const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-
|
|
170537
|
+
const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-D9LWZKUq.js");
|
|
170379
170538
|
return { diagram: diagram22 };
|
|
170380
170539
|
}, true ? __vite__mapDeps([23,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
170381
170540
|
return { id: id7, diagram: diagram2 };
|
|
@@ -170391,7 +170550,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
170391
170550
|
}, "detector");
|
|
170392
170551
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
170393
170552
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170394
|
-
const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-
|
|
170553
|
+
const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-QgaDuIyL.js");
|
|
170395
170554
|
return { diagram: diagram22 };
|
|
170396
170555
|
}, true ? __vite__mapDeps([24,19,21,8,10,11,25,1,2]) : void 0, import.meta.url);
|
|
170397
170556
|
return { id: id8, diagram: diagram2 };
|
|
@@ -170407,7 +170566,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
170407
170566
|
}, "detector");
|
|
170408
170567
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
170409
170568
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170410
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-
|
|
170569
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-D4VYcpj4.js");
|
|
170411
170570
|
return { diagram: diagram22 };
|
|
170412
170571
|
}, true ? __vite__mapDeps([26,1,2]) : void 0, import.meta.url);
|
|
170413
170572
|
return { id: id9, diagram: diagram2 };
|
|
@@ -170424,7 +170583,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
170424
170583
|
}, "detector");
|
|
170425
170584
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
170426
170585
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170427
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-
|
|
170586
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-C3unJ9Bl.js");
|
|
170428
170587
|
return { diagram: diagram22 };
|
|
170429
170588
|
}, true ? __vite__mapDeps([27,1,2]) : void 0, import.meta.url);
|
|
170430
170589
|
return { id: id10, diagram: diagram2 };
|
|
@@ -170441,7 +170600,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
170441
170600
|
}, "detector");
|
|
170442
170601
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
170443
170602
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170444
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-
|
|
170603
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-BCnRxDQW.js");
|
|
170445
170604
|
return { diagram: diagram22 };
|
|
170446
170605
|
}, true ? __vite__mapDeps([28,15,1,2]) : void 0, import.meta.url);
|
|
170447
170606
|
return { id: id11, diagram: diagram2 };
|
|
@@ -170458,7 +170617,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
170458
170617
|
}, "detector");
|
|
170459
170618
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
170460
170619
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170461
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-
|
|
170620
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-Bc6U0Afr.js");
|
|
170462
170621
|
return { diagram: diagram22 };
|
|
170463
170622
|
}, true ? __vite__mapDeps([29,13,20,1,2]) : void 0, import.meta.url);
|
|
170464
170623
|
return { id: id12, diagram: diagram2 };
|
|
@@ -170478,7 +170637,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
170478
170637
|
}, "detector");
|
|
170479
170638
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
170480
170639
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170481
|
-
const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-
|
|
170640
|
+
const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-Cnd4tPRq.js");
|
|
170482
170641
|
return { diagram: diagram22 };
|
|
170483
170642
|
}, true ? __vite__mapDeps([30,31,15,1,2]) : void 0, import.meta.url);
|
|
170484
170643
|
return { id: id13, diagram: diagram2 };
|
|
@@ -170498,7 +170657,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
170498
170657
|
}, "detector");
|
|
170499
170658
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
170500
170659
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170501
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-
|
|
170660
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-Cnd4tPRq.js");
|
|
170502
170661
|
return { diagram: diagram22 };
|
|
170503
170662
|
}, true ? __vite__mapDeps([32,31,15,1,2]) : void 0, import.meta.url);
|
|
170504
170663
|
return { id: id14, diagram: diagram2 };
|
|
@@ -170518,7 +170677,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
170518
170677
|
}, "detector");
|
|
170519
170678
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
170520
170679
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170521
|
-
const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-
|
|
170680
|
+
const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-DXpv_6Ah.js");
|
|
170522
170681
|
return { diagram: diagram22 };
|
|
170523
170682
|
}, true ? __vite__mapDeps([33,34,15,7,8,9,10,1,2]) : void 0, import.meta.url);
|
|
170524
170683
|
return { id: id15, diagram: diagram2 };
|
|
@@ -170541,7 +170700,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
170541
170700
|
}, "detector");
|
|
170542
170701
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
170543
170702
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170544
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-
|
|
170703
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-DAAuA7TF.js");
|
|
170545
170704
|
return { diagram: diagram22 };
|
|
170546
170705
|
}, true ? __vite__mapDeps([35,34,15,1,2]) : void 0, import.meta.url);
|
|
170547
170706
|
return { id: id16, diagram: diagram2 };
|
|
@@ -170558,7 +170717,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
170558
170717
|
}, "detector");
|
|
170559
170718
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
170560
170719
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170561
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-
|
|
170720
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-CIFZcgcz.js");
|
|
170562
170721
|
return { diagram: diagram22 };
|
|
170563
170722
|
}, true ? __vite__mapDeps([36,13,25,1,2]) : void 0, import.meta.url);
|
|
170564
170723
|
return { id: id17, diagram: diagram2 };
|
|
@@ -170628,7 +170787,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
170628
170787
|
}, "detector");
|
|
170629
170788
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
170630
170789
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170631
|
-
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-
|
|
170790
|
+
const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-DygsQ6re.js");
|
|
170632
170791
|
return { diagram: diagram22 };
|
|
170633
170792
|
}, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
|
|
170634
170793
|
return { id: id18, diagram: diagram2 };
|
|
@@ -170645,7 +170804,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
170645
170804
|
}, "detector");
|
|
170646
170805
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
170647
170806
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170648
|
-
const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-
|
|
170807
|
+
const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-DmQu0qcd.js");
|
|
170649
170808
|
return { diagram: diagram22 };
|
|
170650
170809
|
}, true ? __vite__mapDeps([37,25,1,2]) : void 0, import.meta.url);
|
|
170651
170810
|
return { id: id19, diagram: diagram2 };
|
|
@@ -170662,7 +170821,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
170662
170821
|
}, "detector");
|
|
170663
170822
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
170664
170823
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170665
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-
|
|
170824
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-phUqi7B-.js");
|
|
170666
170825
|
return { diagram: diagram22 };
|
|
170667
170826
|
}, true ? __vite__mapDeps([38,39,1,2]) : void 0, import.meta.url);
|
|
170668
170827
|
return { id: id20, diagram: diagram2 };
|
|
@@ -170679,7 +170838,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
170679
170838
|
}, "detector");
|
|
170680
170839
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
170681
170840
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170682
|
-
const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-
|
|
170841
|
+
const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-C3xzGEKO.js");
|
|
170683
170842
|
return { diagram: diagram22 };
|
|
170684
170843
|
}, true ? __vite__mapDeps([40,1,2]) : void 0, import.meta.url);
|
|
170685
170844
|
return { id: id21, diagram: diagram2 };
|
|
@@ -170696,7 +170855,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
170696
170855
|
}, "detector");
|
|
170697
170856
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
170698
170857
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170699
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-
|
|
170858
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-Yu0_0k4N.js");
|
|
170700
170859
|
return { diagram: diagram22 };
|
|
170701
170860
|
}, true ? __vite__mapDeps([41,1,2]) : void 0, import.meta.url);
|
|
170702
170861
|
return { id: id22, diagram: diagram2 };
|
|
@@ -170713,7 +170872,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
170713
170872
|
}, "detector");
|
|
170714
170873
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
170715
170874
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170716
|
-
const { diagram: diagram22 } = await import("./diagram-VNBRO52H-
|
|
170875
|
+
const { diagram: diagram22 } = await import("./diagram-VNBRO52H-C4EHouH3.js");
|
|
170717
170876
|
return { diagram: diagram22 };
|
|
170718
170877
|
}, true ? __vite__mapDeps([42,19,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
170719
170878
|
return { id: id23, diagram: diagram2 };
|
|
@@ -170729,7 +170888,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
170729
170888
|
}, "detector");
|
|
170730
170889
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
170731
170890
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170732
|
-
const { diagram: diagram22 } = await import("./diagram-SSKATNLV-
|
|
170891
|
+
const { diagram: diagram22 } = await import("./diagram-SSKATNLV-DZ_28qLH.js");
|
|
170733
170892
|
return { diagram: diagram22 };
|
|
170734
170893
|
}, true ? __vite__mapDeps([43,19,21,8,10,11,1,2]) : void 0, import.meta.url);
|
|
170735
170894
|
return { id: id24, diagram: diagram2 };
|
|
@@ -170745,7 +170904,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
170745
170904
|
}, "detector");
|
|
170746
170905
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
170747
170906
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170748
|
-
const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-
|
|
170907
|
+
const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-CULzoKmb.js");
|
|
170749
170908
|
return { diagram: diagram22 };
|
|
170750
170909
|
}, true ? __vite__mapDeps([44,11,8,7,16,1,2]) : void 0, import.meta.url);
|
|
170751
170910
|
return { id: id25, diagram: diagram2 };
|
|
@@ -170762,7 +170921,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
170762
170921
|
}, "detector");
|
|
170763
170922
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
170764
170923
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
170765
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-
|
|
170924
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-ff35K764.js");
|
|
170766
170925
|
return { diagram: diagram22 };
|
|
170767
170926
|
}, true ? __vite__mapDeps([45,19,20,21,8,10,11,39,1,2]) : void 0, import.meta.url);
|
|
170768
170927
|
return { id: id26, diagram: diagram2 };
|
|
@@ -172233,10 +172392,51 @@ const CanvasContentComponent = ({ document: document2 }) => {
|
|
|
172233
172392
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(CodeEditor, { document: document2 });
|
|
172234
172393
|
};
|
|
172235
172394
|
const CanvasContent = reactExports.memo(CanvasContentComponent);
|
|
172395
|
+
const getFileTypeFromPath = (filePath) => {
|
|
172396
|
+
if (filePath.startsWith("data:image/")) return "image";
|
|
172397
|
+
if (filePath.startsWith("data:video/")) return "video";
|
|
172398
|
+
if (filePath.startsWith("data:application/pdf")) return "pdf";
|
|
172399
|
+
const extension2 = filePath.split(".").pop()?.toLowerCase();
|
|
172400
|
+
if (!extension2) return "other";
|
|
172401
|
+
if (["png", "jpg", "jpeg", "gif", "bmp", "webp", "svg"].includes(extension2))
|
|
172402
|
+
return "image";
|
|
172403
|
+
if (["mp4", "webm", "ogg", "mov", "avi", "mkv"].includes(extension2))
|
|
172404
|
+
return "video";
|
|
172405
|
+
if (["pdf"].includes(extension2)) return "pdf";
|
|
172406
|
+
if (["md", "markdown"].includes(extension2)) return "markdown";
|
|
172407
|
+
if (["html", "htm"].includes(extension2)) return "html";
|
|
172408
|
+
if (["zip", "tar", "gz", "rar", "7z"].includes(extension2)) return "archive";
|
|
172409
|
+
if (["txt", "log", "csv", "json", "xml", "yaml", "yml"].includes(extension2))
|
|
172410
|
+
return "text";
|
|
172411
|
+
if ([
|
|
172412
|
+
"js",
|
|
172413
|
+
"ts",
|
|
172414
|
+
"jsx",
|
|
172415
|
+
"tsx",
|
|
172416
|
+
"py",
|
|
172417
|
+
"java",
|
|
172418
|
+
"c",
|
|
172419
|
+
"cpp",
|
|
172420
|
+
"cs",
|
|
172421
|
+
"go",
|
|
172422
|
+
"rb",
|
|
172423
|
+
"php",
|
|
172424
|
+
"sh",
|
|
172425
|
+
"css",
|
|
172426
|
+
"scss",
|
|
172427
|
+
"less"
|
|
172428
|
+
].includes(extension2))
|
|
172429
|
+
return "code";
|
|
172430
|
+
if (["doc", "docx", "odt"].includes(extension2)) return "document";
|
|
172431
|
+
if (["xls", "xlsx", "ods"].includes(extension2)) return "spreadsheet";
|
|
172432
|
+
if (["ppt", "pptx", "odp"].includes(extension2)) return "presentation";
|
|
172433
|
+
if (["mp3", "wav", "aac", "flac"].includes(extension2)) return "audio";
|
|
172434
|
+
return "other";
|
|
172435
|
+
};
|
|
172236
172436
|
const RESOURCE_NAME_REGEX$2 = /name=([^;,]+)/;
|
|
172237
172437
|
const PATH_SEPARATOR_REGEX$5 = /[/\\]/;
|
|
172238
172438
|
const DATA_URI_REGEX = /^data:([^;,]+)/;
|
|
172239
|
-
const getFileName$
|
|
172439
|
+
const getFileName$3 = (path2) => {
|
|
172240
172440
|
if (path2.startsWith("data:image/")) {
|
|
172241
172441
|
const nameMatch = path2.match(RESOURCE_NAME_REGEX$2);
|
|
172242
172442
|
if (nameMatch?.[1]) {
|
|
@@ -172348,6 +172548,18 @@ const FileActionsMenu = ({
|
|
|
172348
172548
|
const handleCloseMenu = () => {
|
|
172349
172549
|
setAnchorEl(null);
|
|
172350
172550
|
};
|
|
172551
|
+
const handleCopyFilePath = async () => {
|
|
172552
|
+
handleCloseMenu();
|
|
172553
|
+
if (filePath) {
|
|
172554
|
+
try {
|
|
172555
|
+
await navigator.clipboard.writeText(filePath);
|
|
172556
|
+
showSuccessToast("File path copied to clipboard");
|
|
172557
|
+
} catch (err) {
|
|
172558
|
+
console.error("Failed to copy file path: ", err);
|
|
172559
|
+
showErrorToast("Failed to copy file path");
|
|
172560
|
+
}
|
|
172561
|
+
}
|
|
172562
|
+
};
|
|
172351
172563
|
const handleOpenFile = () => {
|
|
172352
172564
|
handleCloseMenu();
|
|
172353
172565
|
if (filePath) {
|
|
@@ -172398,7 +172610,11 @@ const FileActionsMenu = ({
|
|
|
172398
172610
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Open Folder" })
|
|
172399
172611
|
]
|
|
172400
172612
|
}
|
|
172401
|
-
)
|
|
172613
|
+
),
|
|
172614
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(StyledMenuItem$2, { onClick: handleCopyFilePath, children: [
|
|
172615
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(MenuItemIcon$1, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(ClipboardCopy, { "aria-label": "Copy File Path" }) }),
|
|
172616
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Copy File Path" })
|
|
172617
|
+
] })
|
|
172402
172618
|
]
|
|
172403
172619
|
}
|
|
172404
172620
|
)
|
|
@@ -172482,7 +172698,7 @@ const isVideo$2 = (path2) => {
|
|
|
172482
172698
|
const lowerPath = path2.toLowerCase();
|
|
172483
172699
|
return videoExtensions.some((ext) => lowerPath.endsWith(ext));
|
|
172484
172700
|
};
|
|
172485
|
-
const getAttachmentUrl$2 = (
|
|
172701
|
+
const getAttachmentUrl$2 = (client2, path2) => {
|
|
172486
172702
|
if (path2.startsWith("http")) {
|
|
172487
172703
|
return path2;
|
|
172488
172704
|
}
|
|
@@ -172491,10 +172707,10 @@ const getAttachmentUrl$2 = (client, path2) => {
|
|
|
172491
172707
|
}
|
|
172492
172708
|
const normalizedPath = path2.startsWith("file://") ? path2 : `file://${path2}`;
|
|
172493
172709
|
if (isImage$2(path2)) {
|
|
172494
|
-
return
|
|
172710
|
+
return client2.static.getImageUrl(normalizedPath);
|
|
172495
172711
|
}
|
|
172496
172712
|
if (isVideo$2(path2)) {
|
|
172497
|
-
return
|
|
172713
|
+
return client2.static.getVideoUrl(normalizedPath);
|
|
172498
172714
|
}
|
|
172499
172715
|
return path2;
|
|
172500
172716
|
};
|
|
@@ -172537,13 +172753,25 @@ const CanvasFileViewer = ({
|
|
|
172537
172753
|
const setFiles = useCanvasStore((s2) => s2.setFiles);
|
|
172538
172754
|
const setOpenTabs = useCanvasStore((s2) => s2.setOpenTabs);
|
|
172539
172755
|
const setSelectedTab = useCanvasStore((s2) => s2.setSelectedTab);
|
|
172540
|
-
const memoizedFiles = reactExports.useMemo(() =>
|
|
172541
|
-
|
|
172756
|
+
const memoizedFiles = reactExports.useMemo(() => {
|
|
172757
|
+
const filesByBaseName = files.reduce(
|
|
172758
|
+
(acc, file) => {
|
|
172759
|
+
const name2 = getFileName$3(file.path);
|
|
172760
|
+
if (!acc[name2] || file.path.length > acc[name2].path.length) {
|
|
172761
|
+
acc[name2] = file;
|
|
172762
|
+
}
|
|
172763
|
+
return acc;
|
|
172764
|
+
},
|
|
172765
|
+
{}
|
|
172766
|
+
);
|
|
172767
|
+
return Object.values(filesByBaseName);
|
|
172768
|
+
}, [files]);
|
|
172769
|
+
const client2 = reactExports.useMemo(() => {
|
|
172542
172770
|
return createLocalOperatorClient(apiConfig.baseUrl);
|
|
172543
172771
|
}, []);
|
|
172544
172772
|
const getUrl2 = reactExports.useCallback(
|
|
172545
|
-
(path2) => getAttachmentUrl$2(
|
|
172546
|
-
[
|
|
172773
|
+
(path2) => getAttachmentUrl$2(client2, path2),
|
|
172774
|
+
[client2]
|
|
172547
172775
|
);
|
|
172548
172776
|
const handleFileClick = reactExports.useCallback(
|
|
172549
172777
|
async (fileDoc) => {
|
|
@@ -172571,8 +172799,9 @@ const CanvasFileViewer = ({
|
|
|
172571
172799
|
title,
|
|
172572
172800
|
path: docId,
|
|
172573
172801
|
// Store data URI as path for consistency if needed
|
|
172574
|
-
content: fileDoc.path
|
|
172802
|
+
content: fileDoc.path,
|
|
172575
172803
|
// The content is the data URI itself
|
|
172804
|
+
type: getFileTypeFromPath(title)
|
|
172576
172805
|
};
|
|
172577
172806
|
const state2 = useCanvasStore.getState();
|
|
172578
172807
|
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
@@ -172608,7 +172837,8 @@ const CanvasFileViewer = ({
|
|
|
172608
172837
|
id: docId,
|
|
172609
172838
|
title,
|
|
172610
172839
|
path: normalizedPath,
|
|
172611
|
-
content: result.data
|
|
172840
|
+
content: result.data,
|
|
172841
|
+
type: getFileTypeFromPath(title)
|
|
172612
172842
|
};
|
|
172613
172843
|
const state2 = useCanvasStore.getState();
|
|
172614
172844
|
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
@@ -172720,7 +172950,7 @@ const CanvasFileViewer = ({
|
|
|
172720
172950
|
CardContent,
|
|
172721
172951
|
{
|
|
172722
172952
|
sx: { width: "100%", pt: 1, pb: "8px !important" },
|
|
172723
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: fileDoc.title, placement: "bottom", arrow: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(FileNameTypography, { variant: "caption", children: getFileName$
|
|
172953
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: fileDoc.title, placement: "bottom", arrow: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(FileNameTypography, { variant: "caption", children: getFileName$3(fileDoc.title) }) })
|
|
172724
172954
|
}
|
|
172725
172955
|
)
|
|
172726
172956
|
]
|
|
@@ -172846,7 +173076,7 @@ const CanvasTabsComponent = ({
|
|
|
172846
173076
|
};
|
|
172847
173077
|
const CanvasTabs = reactExports.memo(CanvasTabsComponent);
|
|
172848
173078
|
const useAgentExecutionVariables = (agentId) => {
|
|
172849
|
-
const
|
|
173079
|
+
const client2 = reactExports.useMemo(
|
|
172850
173080
|
() => createLocalOperatorClient(apiConfig.baseUrl),
|
|
172851
173081
|
[]
|
|
172852
173082
|
);
|
|
@@ -172856,7 +173086,7 @@ const useAgentExecutionVariables = (agentId) => {
|
|
|
172856
173086
|
if (!agentId) {
|
|
172857
173087
|
throw new Error("Agent ID is required to fetch execution variables.");
|
|
172858
173088
|
}
|
|
172859
|
-
return
|
|
173089
|
+
return client2.agents.listAgentExecutionVariables(agentId);
|
|
172860
173090
|
},
|
|
172861
173091
|
enabled: !!agentId
|
|
172862
173092
|
// Only run the query if agentId is provided
|
|
@@ -172864,12 +173094,12 @@ const useAgentExecutionVariables = (agentId) => {
|
|
|
172864
173094
|
};
|
|
172865
173095
|
const useCreateAgentExecutionVariable = () => {
|
|
172866
173096
|
const queryClient2 = useQueryClient();
|
|
172867
|
-
const
|
|
173097
|
+
const client2 = reactExports.useMemo(
|
|
172868
173098
|
() => createLocalOperatorClient(apiConfig.baseUrl),
|
|
172869
173099
|
[]
|
|
172870
173100
|
);
|
|
172871
173101
|
return useMutation({
|
|
172872
|
-
mutationFn: async ({ agentId, variableData }) =>
|
|
173102
|
+
mutationFn: async ({ agentId, variableData }) => client2.agents.createAgentExecutionVariable(agentId, variableData),
|
|
172873
173103
|
onSuccess: (_data, variables) => {
|
|
172874
173104
|
queryClient2.invalidateQueries({
|
|
172875
173105
|
queryKey: ["agentExecutionVariables", variables.agentId]
|
|
@@ -172883,12 +173113,12 @@ const useCreateAgentExecutionVariable = () => {
|
|
|
172883
173113
|
};
|
|
172884
173114
|
const useUpdateAgentExecutionVariable = () => {
|
|
172885
173115
|
const queryClient2 = useQueryClient();
|
|
172886
|
-
const
|
|
173116
|
+
const client2 = reactExports.useMemo(
|
|
172887
173117
|
() => createLocalOperatorClient(apiConfig.baseUrl),
|
|
172888
173118
|
[]
|
|
172889
173119
|
);
|
|
172890
173120
|
return useMutation({
|
|
172891
|
-
mutationFn: async ({ agentId, variableKey, variableData }) =>
|
|
173121
|
+
mutationFn: async ({ agentId, variableKey, variableData }) => client2.agents.updateAgentExecutionVariable(
|
|
172892
173122
|
agentId,
|
|
172893
173123
|
variableKey,
|
|
172894
173124
|
variableData
|
|
@@ -172906,12 +173136,12 @@ const useUpdateAgentExecutionVariable = () => {
|
|
|
172906
173136
|
};
|
|
172907
173137
|
const useDeleteAgentExecutionVariable = () => {
|
|
172908
173138
|
const queryClient2 = useQueryClient();
|
|
172909
|
-
const
|
|
173139
|
+
const client2 = reactExports.useMemo(
|
|
172910
173140
|
() => createLocalOperatorClient(apiConfig.baseUrl),
|
|
172911
173141
|
[]
|
|
172912
173142
|
);
|
|
172913
173143
|
return useMutation({
|
|
172914
|
-
mutationFn: async ({ agentId, variableKey }) =>
|
|
173144
|
+
mutationFn: async ({ agentId, variableKey }) => client2.agents.deleteAgentExecutionVariable(agentId, variableKey),
|
|
172915
173145
|
onSuccess: (_data, variables) => {
|
|
172916
173146
|
queryClient2.invalidateQueries({
|
|
172917
173147
|
queryKey: ["agentExecutionVariables", variables.agentId]
|
|
@@ -174816,7 +175046,7 @@ const AttachmentsPreview = ({
|
|
|
174816
175046
|
onRemoveAttachment,
|
|
174817
175047
|
disabled = false
|
|
174818
175048
|
}) => {
|
|
174819
|
-
const
|
|
175049
|
+
const client2 = reactExports.useMemo(() => {
|
|
174820
175050
|
return createLocalOperatorClient(apiConfig.baseUrl);
|
|
174821
175051
|
}, []);
|
|
174822
175052
|
const isImage2 = reactExports.useCallback((path2) => {
|
|
@@ -174886,14 +175116,14 @@ const AttachmentsPreview = ({
|
|
|
174886
175116
|
}
|
|
174887
175117
|
const normalizedPath = path2.startsWith("file://") ? path2 : `file://${path2}`;
|
|
174888
175118
|
if (isImage2(path2)) {
|
|
174889
|
-
return
|
|
175119
|
+
return client2.static.getImageUrl(normalizedPath);
|
|
174890
175120
|
}
|
|
174891
175121
|
if (isVideo2(path2)) {
|
|
174892
|
-
return
|
|
175122
|
+
return client2.static.getVideoUrl(normalizedPath);
|
|
174893
175123
|
}
|
|
174894
175124
|
return path2;
|
|
174895
175125
|
},
|
|
174896
|
-
[
|
|
175126
|
+
[client2, isImage2, isVideo2]
|
|
174897
175127
|
// isImage and isVideo are stable due to useCallback
|
|
174898
175128
|
);
|
|
174899
175129
|
const handleRemove = reactExports.useCallback(
|
|
@@ -175930,6 +176160,8 @@ const MessageInput = reactExports.forwardRef(
|
|
|
175930
176160
|
const [isTranscribing, setIsTranscribing] = reactExports.useState(false);
|
|
175931
176161
|
const mediaRecorderRef = reactExports.useRef(null);
|
|
175932
176162
|
const audioChunksRef = reactExports.useRef([]);
|
|
176163
|
+
const spacebarTimerRef = reactExports.useRef(null);
|
|
176164
|
+
const [platform, setPlatform] = reactExports.useState("");
|
|
175933
176165
|
const fileInputRef = reactExports.useRef(null);
|
|
175934
176166
|
const { data: credentialsData, isLoading: isLoadingCredentials } = useCredentials();
|
|
175935
176167
|
const isRadientApiKeyConfigured = reactExports.useMemo(
|
|
@@ -175982,7 +176214,15 @@ const MessageInput = reactExports.forwardRef(
|
|
|
175982
176214
|
}
|
|
175983
176215
|
}
|
|
175984
176216
|
}, [isInputDisabled, isRecording, isTranscribing, textareaRef]);
|
|
176217
|
+
reactExports.useEffect(() => {
|
|
176218
|
+
window.electron.ipcRenderer.invoke("get-platform-info").then((info2) => {
|
|
176219
|
+
setPlatform(info2.platform);
|
|
176220
|
+
}).catch((err) => {
|
|
176221
|
+
console.error("Failed to get platform info:", err);
|
|
176222
|
+
});
|
|
176223
|
+
}, []);
|
|
175985
176224
|
const handleStartRecording = reactExports.useCallback(async () => {
|
|
176225
|
+
if (!canEnableRecordingFeature) return;
|
|
175986
176226
|
if (navigator?.mediaDevices?.getUserMedia) {
|
|
175987
176227
|
try {
|
|
175988
176228
|
const stream = await navigator.mediaDevices.getUserMedia({
|
|
@@ -176015,13 +176255,46 @@ const MessageInput = reactExports.forwardRef(
|
|
|
176015
176255
|
console.error("getUserMedia not supported on your browser!");
|
|
176016
176256
|
showErrorToast("Audio recording is not supported on your browser.");
|
|
176017
176257
|
}
|
|
176018
|
-
}, []);
|
|
176019
|
-
const
|
|
176258
|
+
}, [canEnableRecordingFeature]);
|
|
176259
|
+
const handleConfirmRecording = reactExports.useCallback(() => {
|
|
176020
176260
|
if (mediaRecorderRef.current && isRecording) {
|
|
176021
176261
|
mediaRecorderRef.current.stop();
|
|
176022
176262
|
setIsRecording(false);
|
|
176023
176263
|
}
|
|
176024
176264
|
}, [isRecording]);
|
|
176265
|
+
const handleCancelRecording = reactExports.useCallback(() => {
|
|
176266
|
+
if (mediaRecorderRef.current && isRecording) {
|
|
176267
|
+
mediaRecorderRef.current.onstop = () => {
|
|
176268
|
+
if (mediaRecorderRef.current?.stream) {
|
|
176269
|
+
for (const track of mediaRecorderRef.current.stream.getTracks()) {
|
|
176270
|
+
track.stop();
|
|
176271
|
+
}
|
|
176272
|
+
}
|
|
176273
|
+
setAudioBlob(null);
|
|
176274
|
+
audioChunksRef.current = [];
|
|
176275
|
+
};
|
|
176276
|
+
mediaRecorderRef.current.stop();
|
|
176277
|
+
setIsRecording(false);
|
|
176278
|
+
}
|
|
176279
|
+
}, [isRecording]);
|
|
176280
|
+
reactExports.useEffect(() => {
|
|
176281
|
+
if (isRecording) {
|
|
176282
|
+
const handleKeyDown2 = (event) => {
|
|
176283
|
+
if (event.key === "Enter") {
|
|
176284
|
+
event.preventDefault();
|
|
176285
|
+
handleConfirmRecording();
|
|
176286
|
+
} else if (event.key === "Escape") {
|
|
176287
|
+
event.preventDefault();
|
|
176288
|
+
handleCancelRecording();
|
|
176289
|
+
}
|
|
176290
|
+
};
|
|
176291
|
+
window.addEventListener("keydown", handleKeyDown2);
|
|
176292
|
+
return () => {
|
|
176293
|
+
window.removeEventListener("keydown", handleKeyDown2);
|
|
176294
|
+
};
|
|
176295
|
+
}
|
|
176296
|
+
return void 0;
|
|
176297
|
+
}, [isRecording, handleConfirmRecording, handleCancelRecording]);
|
|
176025
176298
|
const handleSendAudio = reactExports.useCallback(async () => {
|
|
176026
176299
|
if (!audioBlob) return;
|
|
176027
176300
|
try {
|
|
@@ -176051,6 +176324,74 @@ const MessageInput = reactExports.forwardRef(
|
|
|
176051
176324
|
handleSendAudio();
|
|
176052
176325
|
}
|
|
176053
176326
|
}, [audioBlob, handleSendAudio]);
|
|
176327
|
+
reactExports.useEffect(() => {
|
|
176328
|
+
const handleStartSpeechToText = () => {
|
|
176329
|
+
if (!isLoading && !isRecording && !isTranscribing && canEnableRecordingFeature) {
|
|
176330
|
+
handleStartRecording();
|
|
176331
|
+
}
|
|
176332
|
+
};
|
|
176333
|
+
window.electron.ipcRenderer.on(
|
|
176334
|
+
"start-speech-to-text",
|
|
176335
|
+
handleStartSpeechToText
|
|
176336
|
+
);
|
|
176337
|
+
return () => {
|
|
176338
|
+
window.electron.ipcRenderer.removeListener(
|
|
176339
|
+
"start-speech-to-text",
|
|
176340
|
+
handleStartSpeechToText
|
|
176341
|
+
);
|
|
176342
|
+
};
|
|
176343
|
+
}, [
|
|
176344
|
+
canEnableRecordingFeature,
|
|
176345
|
+
handleStartRecording,
|
|
176346
|
+
isLoading,
|
|
176347
|
+
isRecording,
|
|
176348
|
+
isTranscribing
|
|
176349
|
+
]);
|
|
176350
|
+
reactExports.useEffect(() => {
|
|
176351
|
+
const handleKeyDown2 = (event) => {
|
|
176352
|
+
if (event.code !== "Space" || spacebarTimerRef.current) {
|
|
176353
|
+
return;
|
|
176354
|
+
}
|
|
176355
|
+
const activeElement = document.activeElement;
|
|
176356
|
+
if (activeElement && (activeElement.tagName === "INPUT" || activeElement.tagName === "TEXTAREA" || activeElement.isContentEditable)) {
|
|
176357
|
+
return;
|
|
176358
|
+
}
|
|
176359
|
+
if (isRecording || isTranscribing || !canEnableRecordingFeature) {
|
|
176360
|
+
return;
|
|
176361
|
+
}
|
|
176362
|
+
event.preventDefault();
|
|
176363
|
+
spacebarTimerRef.current = setTimeout(() => {
|
|
176364
|
+
handleStartRecording();
|
|
176365
|
+
}, 1e3);
|
|
176366
|
+
};
|
|
176367
|
+
const handleKeyUp = (event) => {
|
|
176368
|
+
if (event.code !== "Space") {
|
|
176369
|
+
return;
|
|
176370
|
+
}
|
|
176371
|
+
if (spacebarTimerRef.current) {
|
|
176372
|
+
clearTimeout(spacebarTimerRef.current);
|
|
176373
|
+
spacebarTimerRef.current = null;
|
|
176374
|
+
}
|
|
176375
|
+
if (isRecording) {
|
|
176376
|
+
handleConfirmRecording();
|
|
176377
|
+
}
|
|
176378
|
+
};
|
|
176379
|
+
window.addEventListener("keydown", handleKeyDown2);
|
|
176380
|
+
window.addEventListener("keyup", handleKeyUp);
|
|
176381
|
+
return () => {
|
|
176382
|
+
window.removeEventListener("keydown", handleKeyDown2);
|
|
176383
|
+
window.removeEventListener("keyup", handleKeyUp);
|
|
176384
|
+
if (spacebarTimerRef.current) {
|
|
176385
|
+
clearTimeout(spacebarTimerRef.current);
|
|
176386
|
+
}
|
|
176387
|
+
};
|
|
176388
|
+
}, [
|
|
176389
|
+
isRecording,
|
|
176390
|
+
isTranscribing,
|
|
176391
|
+
canEnableRecordingFeature,
|
|
176392
|
+
handleStartRecording,
|
|
176393
|
+
handleConfirmRecording
|
|
176394
|
+
]);
|
|
176054
176395
|
const handleSubmit = (e3) => {
|
|
176055
176396
|
e3.preventDefault();
|
|
176056
176397
|
if (!newMessage.trim() && attachments.length === 0) return;
|
|
@@ -176112,6 +176453,12 @@ const MessageInput = reactExports.forwardRef(
|
|
|
176112
176453
|
setAttachments([]);
|
|
176113
176454
|
setNewMessage("");
|
|
176114
176455
|
};
|
|
176456
|
+
const shortcutText = reactExports.useMemo(() => {
|
|
176457
|
+
if (platform === "darwin") {
|
|
176458
|
+
return "Cmd+Shift+S";
|
|
176459
|
+
}
|
|
176460
|
+
return "Ctrl+Shift+S";
|
|
176461
|
+
}, [platform]);
|
|
176115
176462
|
const inputContent = /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, style: { width: "100%" }, children: [
|
|
176116
176463
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(InputInnerContainer, { children: [
|
|
176117
176464
|
attachments.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -176178,51 +176525,68 @@ const MessageInput = reactExports.forwardRef(
|
|
|
176178
176525
|
)
|
|
176179
176526
|
] }),
|
|
176180
176527
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
|
|
176181
|
-
!
|
|
176182
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176528
|
+
!isRecording && !isTranscribing && !(isLoading && currentJobId) && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176183
176529
|
Tooltip$1,
|
|
176184
176530
|
{
|
|
176185
|
-
title: !canEnableRecordingFeature ? "Sign in to Radient in the settings page to enable audio recording" :
|
|
176531
|
+
title: !canEnableRecordingFeature ? "Sign in to Radient in the settings page to enable audio recording" : `Start recording (${shortcutText} or hold Space)`,
|
|
176186
176532
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176187
176533
|
IconButton,
|
|
176188
176534
|
{
|
|
176189
|
-
onClick:
|
|
176190
|
-
color:
|
|
176535
|
+
onClick: handleStartRecording,
|
|
176536
|
+
color: "primary",
|
|
176191
176537
|
size: "small",
|
|
176192
|
-
"aria-label":
|
|
176538
|
+
"aria-label": "Start recording",
|
|
176193
176539
|
disabled: isLoading || !canEnableRecordingFeature,
|
|
176194
|
-
children:
|
|
176540
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Mic, { size: 22 })
|
|
176195
176541
|
}
|
|
176196
176542
|
) })
|
|
176197
176543
|
}
|
|
176198
176544
|
),
|
|
176199
|
-
|
|
176200
|
-
|
|
176201
|
-
|
|
176202
|
-
SendButton,
|
|
176545
|
+
isRecording && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
176546
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Confirm recording (Enter)", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176547
|
+
IconButton,
|
|
176203
176548
|
{
|
|
176204
|
-
|
|
176205
|
-
|
|
176206
|
-
|
|
176207
|
-
|
|
176208
|
-
|
|
176209
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176549
|
+
onClick: handleConfirmRecording,
|
|
176550
|
+
color: "success",
|
|
176551
|
+
size: "small",
|
|
176552
|
+
"aria-label": "Confirm recording",
|
|
176553
|
+
disabled: isLoading,
|
|
176554
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { size: 18 })
|
|
176210
176555
|
}
|
|
176211
|
-
) }) })
|
|
176212
|
-
|
|
176213
|
-
|
|
176214
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Send message", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176215
|
-
SendButton,
|
|
176556
|
+
) }) }),
|
|
176557
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Cancel recording (Esc)", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176558
|
+
IconButton,
|
|
176216
176559
|
{
|
|
176217
|
-
|
|
176218
|
-
|
|
176219
|
-
|
|
176220
|
-
|
|
176221
|
-
|
|
176222
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176560
|
+
onClick: handleCancelRecording,
|
|
176561
|
+
color: "error",
|
|
176562
|
+
size: "small",
|
|
176563
|
+
"aria-label": "Cancel recording",
|
|
176564
|
+
disabled: isLoading,
|
|
176565
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X$2, { size: 18 })
|
|
176223
176566
|
}
|
|
176224
176567
|
) }) })
|
|
176225
|
-
)
|
|
176568
|
+
] }),
|
|
176569
|
+
isLoading && currentJobId ? /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop agent", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176570
|
+
SendButton,
|
|
176571
|
+
{
|
|
176572
|
+
type: "button",
|
|
176573
|
+
variant: "contained",
|
|
176574
|
+
color: "error",
|
|
176575
|
+
onClick: () => onCancelJob?.(currentJobId),
|
|
176576
|
+
"aria-label": "Stop agent",
|
|
176577
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faStop })
|
|
176578
|
+
}
|
|
176579
|
+
) }) }) : !isRecording && !isTranscribing && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Send message", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
176580
|
+
SendButton,
|
|
176581
|
+
{
|
|
176582
|
+
type: "submit",
|
|
176583
|
+
variant: "contained",
|
|
176584
|
+
color: "primary",
|
|
176585
|
+
disabled: isLoading || !newMessage.trim() && attachments.length === 0,
|
|
176586
|
+
"aria-label": "Send message",
|
|
176587
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperPlane })
|
|
176588
|
+
}
|
|
176589
|
+
) }) })
|
|
176226
176590
|
] })
|
|
176227
176591
|
] })
|
|
176228
176592
|
] }),
|
|
@@ -176537,47 +176901,6 @@ const LoadingIndicator = reactExports.memo(({ status, currentExecution }) => {
|
|
|
176537
176901
|
] }) }) })
|
|
176538
176902
|
] });
|
|
176539
176903
|
});
|
|
176540
|
-
const getFileTypeFromPath = (filePath) => {
|
|
176541
|
-
if (filePath.startsWith("data:image/")) return "image";
|
|
176542
|
-
if (filePath.startsWith("data:video/")) return "video";
|
|
176543
|
-
if (filePath.startsWith("data:application/pdf")) return "pdf";
|
|
176544
|
-
const extension2 = filePath.split(".").pop()?.toLowerCase();
|
|
176545
|
-
if (!extension2) return "other";
|
|
176546
|
-
if (["png", "jpg", "jpeg", "gif", "bmp", "webp", "svg"].includes(extension2))
|
|
176547
|
-
return "image";
|
|
176548
|
-
if (["mp4", "webm", "ogg", "mov", "avi", "mkv"].includes(extension2))
|
|
176549
|
-
return "video";
|
|
176550
|
-
if (["pdf"].includes(extension2)) return "pdf";
|
|
176551
|
-
if (["md", "markdown"].includes(extension2)) return "markdown";
|
|
176552
|
-
if (["html", "htm"].includes(extension2)) return "html";
|
|
176553
|
-
if (["zip", "tar", "gz", "rar", "7z"].includes(extension2)) return "archive";
|
|
176554
|
-
if (["txt", "log", "csv", "json", "xml", "yaml", "yml"].includes(extension2))
|
|
176555
|
-
return "text";
|
|
176556
|
-
if ([
|
|
176557
|
-
"js",
|
|
176558
|
-
"ts",
|
|
176559
|
-
"jsx",
|
|
176560
|
-
"tsx",
|
|
176561
|
-
"py",
|
|
176562
|
-
"java",
|
|
176563
|
-
"c",
|
|
176564
|
-
"cpp",
|
|
176565
|
-
"cs",
|
|
176566
|
-
"go",
|
|
176567
|
-
"rb",
|
|
176568
|
-
"php",
|
|
176569
|
-
"sh",
|
|
176570
|
-
"css",
|
|
176571
|
-
"scss",
|
|
176572
|
-
"less"
|
|
176573
|
-
].includes(extension2))
|
|
176574
|
-
return "code";
|
|
176575
|
-
if (["doc", "docx", "odt"].includes(extension2)) return "document";
|
|
176576
|
-
if (["xls", "xlsx", "ods"].includes(extension2)) return "spreadsheet";
|
|
176577
|
-
if (["ppt", "pptx", "odp"].includes(extension2)) return "presentation";
|
|
176578
|
-
if (["mp3", "wav", "aac", "flac"].includes(extension2)) return "audio";
|
|
176579
|
-
return "other";
|
|
176580
|
-
};
|
|
176581
176904
|
const FILE_EXTENSION_REGEX = /\.([a-zA-Z0-9]+)$/;
|
|
176582
176905
|
const PATH_SLASH_REGEX = /[\\/]/;
|
|
176583
176906
|
const getLanguageFromExtension = (filename) => {
|
|
@@ -176851,6 +177174,301 @@ const ExpandableActionElement = ({
|
|
|
176851
177174
|
] }) })
|
|
176852
177175
|
] });
|
|
176853
177176
|
};
|
|
177177
|
+
const InvalidAttachmentContainer = styled$1(Box)(({ theme: theme2 }) => ({
|
|
177178
|
+
display: "flex",
|
|
177179
|
+
alignItems: "center",
|
|
177180
|
+
padding: "8px 12px",
|
|
177181
|
+
marginTop: 8,
|
|
177182
|
+
backgroundColor: alpha$1(
|
|
177183
|
+
theme2.palette.mode === "dark" ? theme2.palette.warning.dark : theme2.palette.warning.light,
|
|
177184
|
+
theme2.palette.mode === "dark" ? 0.05 : 0.05
|
|
177185
|
+
),
|
|
177186
|
+
borderRadius: 8,
|
|
177187
|
+
boxShadow: `0 1px 4px ${alpha$1(theme2.palette.common.black, theme2.palette.mode === "dark" ? 0.1 : 0.05)}`,
|
|
177188
|
+
width: "fit-content",
|
|
177189
|
+
maxWidth: "100%"
|
|
177190
|
+
}));
|
|
177191
|
+
const ErrorIcon = styled$1(Box)(({ theme: theme2 }) => ({
|
|
177192
|
+
marginRight: 8,
|
|
177193
|
+
color: theme2.palette.warning.main,
|
|
177194
|
+
display: "flex",
|
|
177195
|
+
alignItems: "center"
|
|
177196
|
+
}));
|
|
177197
|
+
const ErrorText = styled$1(Typography)({
|
|
177198
|
+
fontSize: "0.85rem",
|
|
177199
|
+
overflow: "hidden",
|
|
177200
|
+
textOverflow: "ellipsis",
|
|
177201
|
+
whiteSpace: "nowrap",
|
|
177202
|
+
maxWidth: "100%"
|
|
177203
|
+
});
|
|
177204
|
+
const PATH_SEPARATOR_REGEX$3 = /[/\\]/;
|
|
177205
|
+
const getFileName$2 = (path2) => {
|
|
177206
|
+
const parts = path2.split(PATH_SEPARATOR_REGEX$3);
|
|
177207
|
+
return parts[parts.length - 1];
|
|
177208
|
+
};
|
|
177209
|
+
const InvalidAttachment = ({ file }) => {
|
|
177210
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
177211
|
+
InvalidAttachmentContainer,
|
|
177212
|
+
{
|
|
177213
|
+
title: `File not viewable: ${getFileName$2(file)}`,
|
|
177214
|
+
children: [
|
|
177215
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ErrorIcon, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faExclamationCircle, size: "sm" }) }),
|
|
177216
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(ErrorText, { variant: "body2", children: [
|
|
177217
|
+
getFileName$2(file),
|
|
177218
|
+
" is not viewable (file may be incomplete, deleted, or moved)"
|
|
177219
|
+
] })
|
|
177220
|
+
]
|
|
177221
|
+
}
|
|
177222
|
+
);
|
|
177223
|
+
};
|
|
177224
|
+
const AudioPlayerContainer = styled$1(Box)(({ theme: theme2 }) => ({
|
|
177225
|
+
display: "flex",
|
|
177226
|
+
alignItems: "center",
|
|
177227
|
+
gap: theme2.spacing(1.5),
|
|
177228
|
+
background: theme2.palette.background.paper,
|
|
177229
|
+
borderRadius: theme2.shape.borderRadius,
|
|
177230
|
+
padding: theme2.spacing(1, 2),
|
|
177231
|
+
width: "100%",
|
|
177232
|
+
maxWidth: "600px",
|
|
177233
|
+
border: `1px solid ${theme2.palette.sidebar.border}`
|
|
177234
|
+
}));
|
|
177235
|
+
const TimeDisplay = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
177236
|
+
fontSize: "0.75rem",
|
|
177237
|
+
color: theme2.palette.text.secondary,
|
|
177238
|
+
minWidth: "40px",
|
|
177239
|
+
textAlign: "center"
|
|
177240
|
+
}));
|
|
177241
|
+
const CustomSlider = styled$1(Slider)(({ theme: theme2 }) => ({
|
|
177242
|
+
color: theme2.palette.primary.main,
|
|
177243
|
+
height: 4,
|
|
177244
|
+
"& .MuiSlider-thumb": {
|
|
177245
|
+
width: 12,
|
|
177246
|
+
height: 12,
|
|
177247
|
+
backgroundColor: theme2.palette.primary.main,
|
|
177248
|
+
border: `2px solid ${theme2.palette.background.paper}`,
|
|
177249
|
+
"&:hover, &.Mui-focusVisible": {
|
|
177250
|
+
boxShadow: `0 0 0 8px ${alpha$1(theme2.palette.primary.main, 0.16)}`
|
|
177251
|
+
},
|
|
177252
|
+
"&.Mui-active": {
|
|
177253
|
+
width: 16,
|
|
177254
|
+
height: 16
|
|
177255
|
+
}
|
|
177256
|
+
},
|
|
177257
|
+
"& .MuiSlider-rail": {
|
|
177258
|
+
opacity: 0.3,
|
|
177259
|
+
backgroundColor: theme2.palette.text.secondary
|
|
177260
|
+
},
|
|
177261
|
+
"& .MuiSlider-track": {
|
|
177262
|
+
border: "none"
|
|
177263
|
+
}
|
|
177264
|
+
}));
|
|
177265
|
+
const VolumeControlContainer = styled$1(Box)({
|
|
177266
|
+
display: "flex",
|
|
177267
|
+
alignItems: "center",
|
|
177268
|
+
gap: "8px"
|
|
177269
|
+
});
|
|
177270
|
+
const PlaybackRateButton = styled$1(Typography)(({ theme: theme2 }) => ({
|
|
177271
|
+
fontWeight: "bold",
|
|
177272
|
+
fontSize: "0.75rem",
|
|
177273
|
+
color: theme2.palette.text.secondary,
|
|
177274
|
+
cursor: "pointer",
|
|
177275
|
+
padding: theme2.spacing(0.5, 1),
|
|
177276
|
+
borderRadius: theme2.shape.borderRadius,
|
|
177277
|
+
"&:hover": {
|
|
177278
|
+
backgroundColor: theme2.palette.action.hover
|
|
177279
|
+
}
|
|
177280
|
+
}));
|
|
177281
|
+
const PATH_SEPARATOR_REGEX$2 = /[/\\]/;
|
|
177282
|
+
const getFileNameFromPath = (path2) => {
|
|
177283
|
+
try {
|
|
177284
|
+
const url = new URL(path2);
|
|
177285
|
+
if (url.searchParams.has("path")) {
|
|
177286
|
+
const filePath = url.searchParams.get("path") ?? "";
|
|
177287
|
+
return filePath.split(PATH_SEPARATOR_REGEX$2).pop() ?? "";
|
|
177288
|
+
}
|
|
177289
|
+
return url.pathname.split(PATH_SEPARATOR_REGEX$2).pop() ?? "";
|
|
177290
|
+
} catch {
|
|
177291
|
+
return path2.split(PATH_SEPARATOR_REGEX$2).pop() ?? "";
|
|
177292
|
+
}
|
|
177293
|
+
};
|
|
177294
|
+
const AudioAttachment = reactExports.memo(({ content: content2 }) => {
|
|
177295
|
+
const audioRef = reactExports.useRef(null);
|
|
177296
|
+
const [isPlaying, setIsPlaying] = reactExports.useState(false);
|
|
177297
|
+
const [duration2, setDuration] = reactExports.useState(0);
|
|
177298
|
+
const [currentTime, setCurrentTime] = reactExports.useState(0);
|
|
177299
|
+
const [volume, setVolume] = reactExports.useState(1);
|
|
177300
|
+
const [playbackRate, setPlaybackRate] = reactExports.useState(1);
|
|
177301
|
+
const [isLoading, setIsLoading] = reactExports.useState(true);
|
|
177302
|
+
const [hasError, setHasError] = reactExports.useState(false);
|
|
177303
|
+
const [anchorEl, setAnchorEl] = reactExports.useState(null);
|
|
177304
|
+
reactExports.useEffect(() => {
|
|
177305
|
+
const audioElement = new Audio(content2);
|
|
177306
|
+
audioRef.current = audioElement;
|
|
177307
|
+
setIsLoading(true);
|
|
177308
|
+
const handleLoadedMetadata = () => {
|
|
177309
|
+
if (audioRef.current) {
|
|
177310
|
+
setDuration(audioRef.current.duration);
|
|
177311
|
+
setIsLoading(false);
|
|
177312
|
+
}
|
|
177313
|
+
};
|
|
177314
|
+
const handleTimeUpdate = () => {
|
|
177315
|
+
if (audioRef.current) {
|
|
177316
|
+
setCurrentTime(audioRef.current.currentTime);
|
|
177317
|
+
}
|
|
177318
|
+
};
|
|
177319
|
+
const handleEnded = () => {
|
|
177320
|
+
setIsPlaying(false);
|
|
177321
|
+
setCurrentTime(0);
|
|
177322
|
+
};
|
|
177323
|
+
const handleError2 = () => {
|
|
177324
|
+
setHasError(true);
|
|
177325
|
+
setIsLoading(false);
|
|
177326
|
+
};
|
|
177327
|
+
audioElement.addEventListener("loadedmetadata", handleLoadedMetadata);
|
|
177328
|
+
audioElement.addEventListener("timeupdate", handleTimeUpdate);
|
|
177329
|
+
audioElement.addEventListener("ended", handleEnded);
|
|
177330
|
+
audioElement.addEventListener("error", handleError2);
|
|
177331
|
+
return () => {
|
|
177332
|
+
audioElement.removeEventListener("loadedmetadata", handleLoadedMetadata);
|
|
177333
|
+
audioElement.removeEventListener("timeupdate", handleTimeUpdate);
|
|
177334
|
+
audioElement.removeEventListener("ended", handleEnded);
|
|
177335
|
+
audioElement.removeEventListener("error", handleError2);
|
|
177336
|
+
};
|
|
177337
|
+
}, [content2]);
|
|
177338
|
+
const handlePlayPause = reactExports.useCallback(() => {
|
|
177339
|
+
if (audioRef.current) {
|
|
177340
|
+
if (isPlaying) {
|
|
177341
|
+
audioRef.current.pause();
|
|
177342
|
+
} else {
|
|
177343
|
+
audioRef.current.play().catch(console.error);
|
|
177344
|
+
}
|
|
177345
|
+
setIsPlaying(!isPlaying);
|
|
177346
|
+
}
|
|
177347
|
+
}, [isPlaying]);
|
|
177348
|
+
const handleSeek = reactExports.useCallback((_2, newValue) => {
|
|
177349
|
+
if (audioRef.current) {
|
|
177350
|
+
audioRef.current.currentTime = newValue;
|
|
177351
|
+
setCurrentTime(newValue);
|
|
177352
|
+
}
|
|
177353
|
+
}, []);
|
|
177354
|
+
const handleVolumeChange = reactExports.useCallback(
|
|
177355
|
+
(_2, newValue) => {
|
|
177356
|
+
if (audioRef.current) {
|
|
177357
|
+
const newVolume = newValue;
|
|
177358
|
+
audioRef.current.volume = newVolume;
|
|
177359
|
+
setVolume(newVolume);
|
|
177360
|
+
}
|
|
177361
|
+
},
|
|
177362
|
+
[]
|
|
177363
|
+
);
|
|
177364
|
+
const toggleMute = reactExports.useCallback(() => {
|
|
177365
|
+
if (audioRef.current) {
|
|
177366
|
+
const newVolume = volume > 0 ? 0 : 1;
|
|
177367
|
+
audioRef.current.volume = newVolume;
|
|
177368
|
+
setVolume(newVolume);
|
|
177369
|
+
}
|
|
177370
|
+
}, [volume]);
|
|
177371
|
+
const handlePlaybackRateChange = reactExports.useCallback((rate) => {
|
|
177372
|
+
if (audioRef.current) {
|
|
177373
|
+
audioRef.current.playbackRate = rate;
|
|
177374
|
+
setPlaybackRate(rate);
|
|
177375
|
+
}
|
|
177376
|
+
setAnchorEl(null);
|
|
177377
|
+
}, []);
|
|
177378
|
+
const formatTime2 = (time2) => {
|
|
177379
|
+
if (Number.isNaN(time2) || time2 === 0) return "0:00";
|
|
177380
|
+
const minutes = Math.floor(time2 / 60);
|
|
177381
|
+
const seconds = Math.floor(time2 % 60);
|
|
177382
|
+
return `${minutes}:${seconds.toString().padStart(2, "0")}`;
|
|
177383
|
+
};
|
|
177384
|
+
const VolumeIcon = volume === 0 ? VolumeX : volume < 0.5 ? Volume1 : Volume2;
|
|
177385
|
+
if (hasError) {
|
|
177386
|
+
const fileName = getFileNameFromPath(content2);
|
|
177387
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(InvalidAttachment, { file: fileName });
|
|
177388
|
+
}
|
|
177389
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(AudioPlayerContainer, { children: [
|
|
177390
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
177391
|
+
IconButton,
|
|
177392
|
+
{
|
|
177393
|
+
onClick: handlePlayPause,
|
|
177394
|
+
disabled: isLoading || hasError,
|
|
177395
|
+
size: "small",
|
|
177396
|
+
children: isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircularProgress, { size: 20 }) : isPlaying ? /* @__PURE__ */ jsxRuntimeExports.jsx(CirclePause, { size: 20 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(CirclePlay, { size: 20 })
|
|
177397
|
+
}
|
|
177398
|
+
),
|
|
177399
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TimeDisplay, { children: formatTime2(currentTime) }),
|
|
177400
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
177401
|
+
CustomSlider,
|
|
177402
|
+
{
|
|
177403
|
+
"aria-label": "time-indicator",
|
|
177404
|
+
size: "small",
|
|
177405
|
+
value: currentTime,
|
|
177406
|
+
min: 0,
|
|
177407
|
+
step: 1,
|
|
177408
|
+
max: duration2,
|
|
177409
|
+
onChange: handleSeek,
|
|
177410
|
+
disabled: isLoading || hasError
|
|
177411
|
+
}
|
|
177412
|
+
),
|
|
177413
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TimeDisplay, { children: formatTime2(duration2) }),
|
|
177414
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(VolumeControlContainer, { children: [
|
|
177415
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(IconButton, { onClick: toggleMute, size: "small", disabled: hasError, children: /* @__PURE__ */ jsxRuntimeExports.jsx(VolumeIcon, { size: 16 }) }),
|
|
177416
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
177417
|
+
CustomSlider,
|
|
177418
|
+
{
|
|
177419
|
+
"aria-label": "volume-control",
|
|
177420
|
+
size: "small",
|
|
177421
|
+
value: volume,
|
|
177422
|
+
min: 0,
|
|
177423
|
+
step: 0.1,
|
|
177424
|
+
max: 1,
|
|
177425
|
+
onChange: handleVolumeChange,
|
|
177426
|
+
sx: { width: 70 },
|
|
177427
|
+
disabled: hasError
|
|
177428
|
+
}
|
|
177429
|
+
)
|
|
177430
|
+
] }),
|
|
177431
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
177432
|
+
IconButton,
|
|
177433
|
+
{
|
|
177434
|
+
onClick: (event) => setAnchorEl(event.currentTarget),
|
|
177435
|
+
size: "small",
|
|
177436
|
+
disabled: hasError,
|
|
177437
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(PlaybackRateButton, { children: [
|
|
177438
|
+
playbackRate,
|
|
177439
|
+
"x"
|
|
177440
|
+
] })
|
|
177441
|
+
}
|
|
177442
|
+
),
|
|
177443
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
177444
|
+
Menu,
|
|
177445
|
+
{
|
|
177446
|
+
anchorEl,
|
|
177447
|
+
open: Boolean(anchorEl),
|
|
177448
|
+
onClose: () => setAnchorEl(null),
|
|
177449
|
+
MenuListProps: {
|
|
177450
|
+
sx: {
|
|
177451
|
+
// @ts-ignore
|
|
177452
|
+
backgroundColor: (theme2) => theme2.palette.background.paper
|
|
177453
|
+
}
|
|
177454
|
+
},
|
|
177455
|
+
children: [0.5, 1, 1.5, 2].map((rate) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
177456
|
+
MenuItem,
|
|
177457
|
+
{
|
|
177458
|
+
onClick: () => handlePlaybackRateChange(rate),
|
|
177459
|
+
selected: playbackRate === rate,
|
|
177460
|
+
children: [
|
|
177461
|
+
rate,
|
|
177462
|
+
"x"
|
|
177463
|
+
]
|
|
177464
|
+
},
|
|
177465
|
+
rate
|
|
177466
|
+
))
|
|
177467
|
+
}
|
|
177468
|
+
)
|
|
177469
|
+
] });
|
|
177470
|
+
});
|
|
177471
|
+
AudioAttachment.displayName = "AudioAttachment";
|
|
176854
177472
|
function _objectWithoutProperties$i(e3, t2) {
|
|
176855
177473
|
if (null == e3) return {};
|
|
176856
177474
|
var o2, r2, i2 = _objectWithoutPropertiesLoose$k(e3, t2);
|
|
@@ -214443,8 +215061,8 @@ const FileActionsContainer$2 = styled$1(Box)({
|
|
|
214443
215061
|
visibility: "hidden",
|
|
214444
215062
|
transition: "opacity 0.2s ease, visibility 0.2s ease"
|
|
214445
215063
|
});
|
|
214446
|
-
const PATH_SEPARATOR_REGEX$
|
|
214447
|
-
const getFileName$
|
|
215064
|
+
const PATH_SEPARATOR_REGEX$1 = /[/\\]/;
|
|
215065
|
+
const getFileName$1 = (path2) => {
|
|
214448
215066
|
if (path2.startsWith("data:image/")) {
|
|
214449
215067
|
const nameMatch = path2.match(RESOURCE_NAME_REGEX);
|
|
214450
215068
|
if (nameMatch?.[1]) {
|
|
@@ -214467,15 +215085,69 @@ const getFileName$3 = (path2) => {
|
|
|
214467
215085
|
}
|
|
214468
215086
|
return "Pasted File";
|
|
214469
215087
|
}
|
|
214470
|
-
const parts = path2.split(PATH_SEPARATOR_REGEX$
|
|
215088
|
+
const parts = path2.split(PATH_SEPARATOR_REGEX$1);
|
|
214471
215089
|
return parts[parts.length - 1];
|
|
214472
215090
|
};
|
|
214473
215091
|
const FileAttachment = reactExports.memo(
|
|
214474
215092
|
({ file, onClick, conversationId }) => {
|
|
214475
215093
|
const setCanvasOpen = useUiPreferencesStore((s2) => s2.setCanvasOpen);
|
|
214476
215094
|
const { setViewMode } = useCanvasStore();
|
|
215095
|
+
reactExports.useEffect(() => {
|
|
215096
|
+
const autoUpdateOpenFile = async () => {
|
|
215097
|
+
const state2 = useCanvasStore.getState();
|
|
215098
|
+
const conversationCanvasState = state2.conversations?.[conversationId];
|
|
215099
|
+
if (!conversationCanvasState) return;
|
|
215100
|
+
const openTabs = conversationCanvasState.openTabs ?? [];
|
|
215101
|
+
const filesInState = conversationCanvasState.files ?? [];
|
|
215102
|
+
const title = getFileName$1(file);
|
|
215103
|
+
const normalizedPath2 = file.startsWith("file://") ? file.substring(7) : file;
|
|
215104
|
+
const docId = file.startsWith("data:") ? file : normalizedPath2;
|
|
215105
|
+
const isFileOpen = openTabs.some((tab2) => tab2.id === docId);
|
|
215106
|
+
if (!isFileOpen) return;
|
|
215107
|
+
if (file.startsWith("data:")) {
|
|
215108
|
+
const newDoc = {
|
|
215109
|
+
id: docId,
|
|
215110
|
+
title,
|
|
215111
|
+
path: docId,
|
|
215112
|
+
content: file,
|
|
215113
|
+
type: getFileTypeFromPath(file)
|
|
215114
|
+
};
|
|
215115
|
+
const fileIndex = filesInState.findIndex((f2) => f2.id === docId);
|
|
215116
|
+
if (fileIndex !== -1) {
|
|
215117
|
+
const updatedFiles = [...filesInState];
|
|
215118
|
+
updatedFiles[fileIndex] = newDoc;
|
|
215119
|
+
state2.setFiles(conversationId, updatedFiles);
|
|
215120
|
+
}
|
|
215121
|
+
} else {
|
|
215122
|
+
try {
|
|
215123
|
+
const result = await window.api.readFile(normalizedPath2);
|
|
215124
|
+
if (result.success) {
|
|
215125
|
+
const newDoc = {
|
|
215126
|
+
id: docId,
|
|
215127
|
+
title,
|
|
215128
|
+
path: normalizedPath2,
|
|
215129
|
+
content: result.data,
|
|
215130
|
+
type: getFileTypeFromPath(file)
|
|
215131
|
+
};
|
|
215132
|
+
const fileIndex = filesInState.findIndex((f2) => f2.id === docId);
|
|
215133
|
+
if (fileIndex !== -1) {
|
|
215134
|
+
const updatedFiles = [...filesInState];
|
|
215135
|
+
updatedFiles[fileIndex] = newDoc;
|
|
215136
|
+
state2.setFiles(conversationId, updatedFiles);
|
|
215137
|
+
}
|
|
215138
|
+
}
|
|
215139
|
+
} catch (error) {
|
|
215140
|
+
console.error(
|
|
215141
|
+
`Failed to auto-refresh file in canvas: ${normalizedPath2}`,
|
|
215142
|
+
error
|
|
215143
|
+
);
|
|
215144
|
+
}
|
|
215145
|
+
}
|
|
215146
|
+
};
|
|
215147
|
+
autoUpdateOpenFile();
|
|
215148
|
+
}, [file, conversationId]);
|
|
214477
215149
|
const handleClick = reactExports.useCallback(async () => {
|
|
214478
|
-
const title = getFileName$
|
|
215150
|
+
const title = getFileName$1(file);
|
|
214479
215151
|
const fallbackAction = (err) => {
|
|
214480
215152
|
if (err) console.error("Error processing file:", err);
|
|
214481
215153
|
onClick(file);
|
|
@@ -214572,7 +215244,7 @@ const FileAttachment = reactExports.memo(
|
|
|
214572
215244
|
FileAttachmentContainer,
|
|
214573
215245
|
{
|
|
214574
215246
|
onClick: handleClick,
|
|
214575
|
-
title: `Click to open ${getFileName$
|
|
215247
|
+
title: `Click to open ${getFileName$1(file)}`,
|
|
214576
215248
|
sx: {
|
|
214577
215249
|
padding: isPastedImage ? 0 : "8px 12px",
|
|
214578
215250
|
height: isPastedImage ? "auto" : "auto",
|
|
@@ -214593,7 +215265,7 @@ const FileAttachment = reactExports.memo(
|
|
|
214593
215265
|
}
|
|
214594
215266
|
) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
214595
215267
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FileIcon, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faFile, size: "sm" }) }),
|
|
214596
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FileName, { variant: "body2", children: getFileName$
|
|
215268
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FileName, { variant: "body2", children: getFileName$1(file) }),
|
|
214597
215269
|
isLocalFile && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
214598
215270
|
FileActionsContainer$2,
|
|
214599
215271
|
{
|
|
@@ -214618,53 +215290,6 @@ const FileAttachment = reactExports.memo(
|
|
|
214618
215290
|
}
|
|
214619
215291
|
);
|
|
214620
215292
|
FileAttachment.displayName = "FileAttachment";
|
|
214621
|
-
const InvalidAttachmentContainer = styled$1(Box)(({ theme: theme2 }) => ({
|
|
214622
|
-
display: "flex",
|
|
214623
|
-
alignItems: "center",
|
|
214624
|
-
padding: "8px 12px",
|
|
214625
|
-
marginTop: 8,
|
|
214626
|
-
backgroundColor: alpha$1(
|
|
214627
|
-
theme2.palette.mode === "dark" ? theme2.palette.warning.dark : theme2.palette.warning.light,
|
|
214628
|
-
theme2.palette.mode === "dark" ? 0.05 : 0.05
|
|
214629
|
-
),
|
|
214630
|
-
borderRadius: 8,
|
|
214631
|
-
boxShadow: `0 1px 4px ${alpha$1(theme2.palette.common.black, theme2.palette.mode === "dark" ? 0.1 : 0.05)}`,
|
|
214632
|
-
width: "fit-content",
|
|
214633
|
-
maxWidth: "100%"
|
|
214634
|
-
}));
|
|
214635
|
-
const ErrorIcon = styled$1(Box)(({ theme: theme2 }) => ({
|
|
214636
|
-
marginRight: 8,
|
|
214637
|
-
color: theme2.palette.warning.main,
|
|
214638
|
-
display: "flex",
|
|
214639
|
-
alignItems: "center"
|
|
214640
|
-
}));
|
|
214641
|
-
const ErrorText = styled$1(Typography)({
|
|
214642
|
-
fontSize: "0.85rem",
|
|
214643
|
-
overflow: "hidden",
|
|
214644
|
-
textOverflow: "ellipsis",
|
|
214645
|
-
whiteSpace: "nowrap",
|
|
214646
|
-
maxWidth: "100%"
|
|
214647
|
-
});
|
|
214648
|
-
const PATH_SEPARATOR_REGEX$2 = /[/\\]/;
|
|
214649
|
-
const getFileName$2 = (path2) => {
|
|
214650
|
-
const parts = path2.split(PATH_SEPARATOR_REGEX$2);
|
|
214651
|
-
return parts[parts.length - 1];
|
|
214652
|
-
};
|
|
214653
|
-
const InvalidAttachment = ({ file }) => {
|
|
214654
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
214655
|
-
InvalidAttachmentContainer,
|
|
214656
|
-
{
|
|
214657
|
-
title: `File not viewable: ${getFileName$2(file)}`,
|
|
214658
|
-
children: [
|
|
214659
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ErrorIcon, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faExclamationCircle, size: "sm" }) }),
|
|
214660
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(ErrorText, { variant: "body2", children: [
|
|
214661
|
-
getFileName$2(file),
|
|
214662
|
-
" is not viewable (file may be incomplete, deleted, or moved)"
|
|
214663
|
-
] })
|
|
214664
|
-
]
|
|
214665
|
-
}
|
|
214666
|
-
);
|
|
214667
|
-
};
|
|
214668
215293
|
const AttachmentImage = styled$1("img")(({ theme: theme2 }) => ({
|
|
214669
215294
|
maxWidth: "100%",
|
|
214670
215295
|
maxHeight: 200,
|
|
@@ -214695,9 +215320,9 @@ const AttachmentImageContainer = styled$1(Box)({
|
|
|
214695
215320
|
visibility: "visible"
|
|
214696
215321
|
}
|
|
214697
215322
|
});
|
|
214698
|
-
const PATH_SEPARATOR_REGEX
|
|
214699
|
-
const getFileName
|
|
214700
|
-
const parts = path2.split(PATH_SEPARATOR_REGEX
|
|
215323
|
+
const PATH_SEPARATOR_REGEX = /[/\\]/;
|
|
215324
|
+
const getFileName = (path2) => {
|
|
215325
|
+
const parts = path2.split(PATH_SEPARATOR_REGEX);
|
|
214701
215326
|
return parts[parts.length - 1];
|
|
214702
215327
|
};
|
|
214703
215328
|
const ImageAttachment = reactExports.memo(
|
|
@@ -214706,7 +215331,7 @@ const ImageAttachment = reactExports.memo(
|
|
|
214706
215331
|
const setCanvasOpen = useUiPreferencesStore((s2) => s2.setCanvasOpen);
|
|
214707
215332
|
const { setViewMode } = useCanvasStore();
|
|
214708
215333
|
const handleShowInCanvas = reactExports.useCallback(async () => {
|
|
214709
|
-
const title = getFileName
|
|
215334
|
+
const title = getFileName(file);
|
|
214710
215335
|
const fallbackAction = (err) => {
|
|
214711
215336
|
if (err) console.error("Error processing file:", err);
|
|
214712
215337
|
onClick(file);
|
|
@@ -214809,10 +215434,10 @@ const ImageAttachment = reactExports.memo(
|
|
|
214809
215434
|
AttachmentImage,
|
|
214810
215435
|
{
|
|
214811
215436
|
src,
|
|
214812
|
-
alt: getFileName
|
|
215437
|
+
alt: getFileName(file),
|
|
214813
215438
|
onClick: handleClick,
|
|
214814
215439
|
onError: handleError2,
|
|
214815
|
-
title: `Click to open ${getFileName
|
|
215440
|
+
title: `Click to open ${getFileName(file)}`
|
|
214816
215441
|
}
|
|
214817
215442
|
),
|
|
214818
215443
|
isLocalFile && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -214968,18 +215593,13 @@ const AttachmentVideoContainer = styled$1(Box)({
|
|
|
214968
215593
|
visibility: "visible"
|
|
214969
215594
|
}
|
|
214970
215595
|
});
|
|
214971
|
-
const PATH_SEPARATOR_REGEX = /[/\\]/;
|
|
214972
|
-
const getFileName = (path2) => {
|
|
214973
|
-
const parts = path2.split(PATH_SEPARATOR_REGEX);
|
|
214974
|
-
return parts[parts.length - 1];
|
|
214975
|
-
};
|
|
214976
215596
|
const VideoAttachment = reactExports.memo(
|
|
214977
215597
|
({ file, src, onClick, conversationId }) => {
|
|
214978
215598
|
const [hasError, setHasError] = reactExports.useState(false);
|
|
214979
215599
|
const setCanvasOpen = useUiPreferencesStore((s2) => s2.setCanvasOpen);
|
|
214980
215600
|
const { setViewMode } = useCanvasStore();
|
|
214981
215601
|
const handleShowInCanvas = reactExports.useCallback(async () => {
|
|
214982
|
-
const title = getFileName(file);
|
|
215602
|
+
const title = getFileName$3(file);
|
|
214983
215603
|
const fallbackAction = (err) => {
|
|
214984
215604
|
if (err) console.error("Error processing file:", err);
|
|
214985
215605
|
onClick(file);
|
|
@@ -215085,7 +215705,7 @@ const VideoAttachment = reactExports.memo(
|
|
|
215085
215705
|
preload: "metadata",
|
|
215086
215706
|
onClick: handleClick,
|
|
215087
215707
|
onError: handleError2,
|
|
215088
|
-
title: `Click to open ${getFileName(file)}`
|
|
215708
|
+
title: `Click to open ${getFileName$3(file)}`
|
|
215089
215709
|
}
|
|
215090
215710
|
),
|
|
215091
215711
|
isLocalFile && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -215152,16 +215772,32 @@ const isVideo$1 = (path2) => {
|
|
|
215152
215772
|
const lowerPath = path2.toLowerCase();
|
|
215153
215773
|
return videoExtensions.some((ext) => lowerPath.endsWith(ext));
|
|
215154
215774
|
};
|
|
215155
|
-
const
|
|
215775
|
+
const isAudio$1 = (path2) => {
|
|
215776
|
+
const audioExtensions = [
|
|
215777
|
+
".mp3",
|
|
215778
|
+
".wav",
|
|
215779
|
+
".ogg",
|
|
215780
|
+
".aac",
|
|
215781
|
+
".flac",
|
|
215782
|
+
".m4a",
|
|
215783
|
+
".aiff"
|
|
215784
|
+
];
|
|
215785
|
+
const lowerPath = path2.toLowerCase();
|
|
215786
|
+
return audioExtensions.some((ext) => lowerPath.endsWith(ext));
|
|
215787
|
+
};
|
|
215788
|
+
const getAttachmentUrl$1 = (client2, path2) => {
|
|
215156
215789
|
if (path2.startsWith("http")) {
|
|
215157
215790
|
return path2;
|
|
215158
215791
|
}
|
|
215159
215792
|
const normalizedPath = path2.startsWith("file://") ? path2 : `file://${path2}`;
|
|
215160
215793
|
if (isImage$1(path2)) {
|
|
215161
|
-
return
|
|
215794
|
+
return client2.static.getImageUrl(normalizedPath);
|
|
215162
215795
|
}
|
|
215163
215796
|
if (isVideo$1(path2)) {
|
|
215164
|
-
return
|
|
215797
|
+
return client2.static.getVideoUrl(normalizedPath);
|
|
215798
|
+
}
|
|
215799
|
+
if (isAudio$1(path2)) {
|
|
215800
|
+
return client2.static.getAudioUrl(normalizedPath);
|
|
215165
215801
|
}
|
|
215166
215802
|
return path2;
|
|
215167
215803
|
};
|
|
@@ -215189,12 +215825,12 @@ const ActionBlock = ({
|
|
|
215189
215825
|
e3.stopPropagation();
|
|
215190
215826
|
setIsExpanded(false);
|
|
215191
215827
|
};
|
|
215192
|
-
const
|
|
215828
|
+
const client2 = reactExports.useMemo(() => {
|
|
215193
215829
|
return createLocalOperatorClient(apiConfig.baseUrl);
|
|
215194
215830
|
}, []);
|
|
215195
215831
|
const getUrl2 = reactExports.useCallback(
|
|
215196
|
-
(path2) => getAttachmentUrl$1(
|
|
215197
|
-
[
|
|
215832
|
+
(path2) => getAttachmentUrl$1(client2, path2),
|
|
215833
|
+
[client2]
|
|
215198
215834
|
);
|
|
215199
215835
|
const handleFileClick = reactExports.useCallback((filePath2) => {
|
|
215200
215836
|
try {
|
|
@@ -215284,7 +215920,17 @@ const ActionBlock = ({
|
|
|
215284
215920
|
},
|
|
215285
215921
|
`${file}`
|
|
215286
215922
|
)) }),
|
|
215287
|
-
files && files.length > 0 && !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: {
|
|
215923
|
+
files && files.length > 0 && !isLoading && files.some((file) => isAudio$1(file)) && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { mb: 2 }, children: files.filter((file) => isAudio$1(file)).map((file) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
215924
|
+
AudioAttachment,
|
|
215925
|
+
{
|
|
215926
|
+
content: getUrl2(file),
|
|
215927
|
+
isUser
|
|
215928
|
+
},
|
|
215929
|
+
`${file}`
|
|
215930
|
+
)) }),
|
|
215931
|
+
files && files.length > 0 && !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { mt: 2 }, children: files.filter(
|
|
215932
|
+
(file) => !isImage$1(file) && !isVideo$1(file) && !isAudio$1(file)
|
|
215933
|
+
).map((file) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
215288
215934
|
FileAttachment,
|
|
215289
215935
|
{
|
|
215290
215936
|
file,
|
|
@@ -215421,6 +216067,109 @@ const ExpandableThinkingContent = ({
|
|
|
215421
216067
|
] });
|
|
215422
216068
|
};
|
|
215423
216069
|
ExpandableThinkingContent.displayName = "ExpandableThinkingContent";
|
|
216070
|
+
const client = createLocalOperatorClient(apiConfig.baseUrl);
|
|
216071
|
+
const useSpeechStore = create$3(
|
|
216072
|
+
(set2, get2) => ({
|
|
216073
|
+
audioCache: /* @__PURE__ */ new Map(),
|
|
216074
|
+
loadingMessageId: null,
|
|
216075
|
+
playingMessageId: null,
|
|
216076
|
+
error: null,
|
|
216077
|
+
audioElement: null,
|
|
216078
|
+
playSpeech: async (messageId, agentId, inputText) => {
|
|
216079
|
+
const { audioCache, stopSpeech } = get2();
|
|
216080
|
+
stopSpeech();
|
|
216081
|
+
set2({ loadingMessageId: messageId, error: null });
|
|
216082
|
+
try {
|
|
216083
|
+
let audioBlob = audioCache.get(messageId);
|
|
216084
|
+
if (!audioBlob) {
|
|
216085
|
+
audioBlob = await client.speech.createForAgent(agentId, {
|
|
216086
|
+
input_text: inputText
|
|
216087
|
+
});
|
|
216088
|
+
if (audioBlob) {
|
|
216089
|
+
set2((state2) => ({
|
|
216090
|
+
audioCache: new Map(state2.audioCache).set(
|
|
216091
|
+
messageId,
|
|
216092
|
+
audioBlob
|
|
216093
|
+
)
|
|
216094
|
+
}));
|
|
216095
|
+
}
|
|
216096
|
+
}
|
|
216097
|
+
if (!audioBlob) {
|
|
216098
|
+
throw new Error("Speech generation failed, no audio data received.");
|
|
216099
|
+
}
|
|
216100
|
+
const audioUrl = URL.createObjectURL(audioBlob);
|
|
216101
|
+
const audioElement = new Audio(audioUrl);
|
|
216102
|
+
audioElement.onended = () => {
|
|
216103
|
+
set2({ playingMessageId: null, audioElement: null });
|
|
216104
|
+
URL.revokeObjectURL(audioUrl);
|
|
216105
|
+
};
|
|
216106
|
+
audioElement.onerror = () => {
|
|
216107
|
+
set2({
|
|
216108
|
+
error: "Error playing audio.",
|
|
216109
|
+
playingMessageId: null,
|
|
216110
|
+
audioElement: null
|
|
216111
|
+
});
|
|
216112
|
+
URL.revokeObjectURL(audioUrl);
|
|
216113
|
+
};
|
|
216114
|
+
await audioElement.play();
|
|
216115
|
+
set2({
|
|
216116
|
+
playingMessageId: messageId,
|
|
216117
|
+
loadingMessageId: null,
|
|
216118
|
+
audioElement
|
|
216119
|
+
});
|
|
216120
|
+
} catch (err) {
|
|
216121
|
+
const errorMessage = err instanceof Error ? err.message : "Failed to generate speech";
|
|
216122
|
+
set2({ error: errorMessage, loadingMessageId: null });
|
|
216123
|
+
}
|
|
216124
|
+
},
|
|
216125
|
+
stopSpeech: () => {
|
|
216126
|
+
const { audioElement, playingMessageId } = get2();
|
|
216127
|
+
if (audioElement) {
|
|
216128
|
+
audioElement.pause();
|
|
216129
|
+
audioElement.onended = null;
|
|
216130
|
+
audioElement.onerror = null;
|
|
216131
|
+
if (playingMessageId) {
|
|
216132
|
+
const audioBlob = get2().audioCache.get(playingMessageId);
|
|
216133
|
+
if (audioBlob) {
|
|
216134
|
+
const audioUrl = URL.createObjectURL(audioBlob);
|
|
216135
|
+
URL.revokeObjectURL(audioUrl);
|
|
216136
|
+
}
|
|
216137
|
+
}
|
|
216138
|
+
set2({ playingMessageId: null, audioElement: null });
|
|
216139
|
+
}
|
|
216140
|
+
},
|
|
216141
|
+
replaySpeech: async (messageId) => {
|
|
216142
|
+
const { audioCache, stopSpeech } = get2();
|
|
216143
|
+
const audioBlob = audioCache.get(messageId);
|
|
216144
|
+
stopSpeech();
|
|
216145
|
+
if (audioBlob) {
|
|
216146
|
+
try {
|
|
216147
|
+
const audioUrl = URL.createObjectURL(audioBlob);
|
|
216148
|
+
const audioElement = new Audio(audioUrl);
|
|
216149
|
+
audioElement.onended = () => {
|
|
216150
|
+
set2({ playingMessageId: null, audioElement: null });
|
|
216151
|
+
URL.revokeObjectURL(audioUrl);
|
|
216152
|
+
};
|
|
216153
|
+
audioElement.onerror = () => {
|
|
216154
|
+
set2({
|
|
216155
|
+
error: "Error playing audio.",
|
|
216156
|
+
playingMessageId: null,
|
|
216157
|
+
audioElement: null
|
|
216158
|
+
});
|
|
216159
|
+
URL.revokeObjectURL(audioUrl);
|
|
216160
|
+
};
|
|
216161
|
+
await audioElement.play();
|
|
216162
|
+
set2({ playingMessageId: messageId, audioElement });
|
|
216163
|
+
} catch (err) {
|
|
216164
|
+
const errorMessage = err instanceof Error ? err.message : "Failed to replay speech";
|
|
216165
|
+
set2({ error: errorMessage, playingMessageId: null });
|
|
216166
|
+
}
|
|
216167
|
+
} else {
|
|
216168
|
+
set2({ error: "No audio to replay for this message." });
|
|
216169
|
+
}
|
|
216170
|
+
}
|
|
216171
|
+
})
|
|
216172
|
+
);
|
|
215424
216173
|
const ControlsContainer = styled$1(Box, {
|
|
215425
216174
|
shouldForwardProp: (prop) => prop !== "isUser"
|
|
215426
216175
|
})(({ isUser }) => ({
|
|
@@ -215435,11 +216184,11 @@ const ControlsContainer = styled$1(Box, {
|
|
|
215435
216184
|
transition: "opacity 0.2s ease-in-out",
|
|
215436
216185
|
zIndex: 1
|
|
215437
216186
|
}));
|
|
215438
|
-
const ControlsWrapper = styled$1(Box)(() => ({
|
|
216187
|
+
const ControlsWrapper$1 = styled$1(Box)(() => ({
|
|
215439
216188
|
display: "flex",
|
|
215440
216189
|
alignItems: "flex-start"
|
|
215441
216190
|
}));
|
|
215442
|
-
const StyledIconButton = styled$1(IconButton)(({ theme: theme2 }) => ({
|
|
216191
|
+
const StyledIconButton$1 = styled$1(IconButton)(({ theme: theme2 }) => ({
|
|
215443
216192
|
color: theme2.palette.text.secondary,
|
|
215444
216193
|
width: "34px",
|
|
215445
216194
|
height: "34px",
|
|
@@ -215451,9 +216200,31 @@ const StyledIconButton = styled$1(IconButton)(({ theme: theme2 }) => ({
|
|
|
215451
216200
|
const MessageControls = ({
|
|
215452
216201
|
isUser,
|
|
215453
216202
|
content: content2,
|
|
215454
|
-
sx
|
|
216203
|
+
sx,
|
|
216204
|
+
messageId,
|
|
216205
|
+
agentId
|
|
215455
216206
|
}) => {
|
|
215456
216207
|
const [copied, setCopied] = reactExports.useState(false);
|
|
216208
|
+
const { data: credentialsData, isLoading: isLoadingCredentials } = useCredentials();
|
|
216209
|
+
const {
|
|
216210
|
+
playSpeech,
|
|
216211
|
+
stopSpeech,
|
|
216212
|
+
replaySpeech,
|
|
216213
|
+
loadingMessageId,
|
|
216214
|
+
playingMessageId,
|
|
216215
|
+
audioCache
|
|
216216
|
+
} = useSpeechStore();
|
|
216217
|
+
const isPlaying = playingMessageId === messageId;
|
|
216218
|
+
const isLoading = loadingMessageId === messageId;
|
|
216219
|
+
const hasAudio = audioCache.has(messageId);
|
|
216220
|
+
const isRadientApiKeyConfigured = reactExports.useMemo(
|
|
216221
|
+
() => credentialsData?.keys?.includes("RADIENT_API_KEY"),
|
|
216222
|
+
[credentialsData?.keys]
|
|
216223
|
+
);
|
|
216224
|
+
const canEnableSpeechFeature = reactExports.useMemo(
|
|
216225
|
+
() => isRadientApiKeyConfigured && !isLoadingCredentials,
|
|
216226
|
+
[isRadientApiKeyConfigured, isLoadingCredentials]
|
|
216227
|
+
);
|
|
215457
216228
|
const showCopyButton = content2;
|
|
215458
216229
|
const handleCopy = async () => {
|
|
215459
216230
|
try {
|
|
@@ -215466,7 +216237,36 @@ const MessageControls = ({
|
|
|
215466
216237
|
console.error("Failed to copy text:", error);
|
|
215467
216238
|
}
|
|
215468
216239
|
};
|
|
215469
|
-
|
|
216240
|
+
const handlePlay = () => {
|
|
216241
|
+
if (agentId && content2) {
|
|
216242
|
+
playSpeech(messageId, agentId, content2);
|
|
216243
|
+
}
|
|
216244
|
+
};
|
|
216245
|
+
const handleReplay = () => {
|
|
216246
|
+
replaySpeech(messageId);
|
|
216247
|
+
};
|
|
216248
|
+
const handleStop = () => {
|
|
216249
|
+
stopSpeech();
|
|
216250
|
+
};
|
|
216251
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(ControlsContainer, { isUser, className: "message-controls", sx, children: showCopyButton && /* @__PURE__ */ jsxRuntimeExports.jsxs(ControlsWrapper$1, { children: [
|
|
216252
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: copied ? "Copied!" : "Copy message", placement: "top", children: /* @__PURE__ */ jsxRuntimeExports.jsx(StyledIconButton$1, { size: "small", onClick: handleCopy, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { size: 16 }) }) }),
|
|
216253
|
+
!isUser && (isPlaying ? /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop", placement: "top", children: /* @__PURE__ */ jsxRuntimeExports.jsx(StyledIconButton$1, { size: "small", onClick: handleStop, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Square, { size: 16 }) }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216254
|
+
Tooltip$1,
|
|
216255
|
+
{
|
|
216256
|
+
title: !canEnableSpeechFeature ? "Sign in to Radient in the settings page to enable text to speech" : isLoading ? "Loading" : hasAudio ? "Replay Speech" : "Speak Aloud",
|
|
216257
|
+
placement: "top",
|
|
216258
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216259
|
+
StyledIconButton$1,
|
|
216260
|
+
{
|
|
216261
|
+
size: "small",
|
|
216262
|
+
onClick: hasAudio ? handleReplay : handlePlay,
|
|
216263
|
+
disabled: isLoading || !canEnableSpeechFeature,
|
|
216264
|
+
children: isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircularProgress, { size: 16 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Volume2, { size: 16 })
|
|
216265
|
+
}
|
|
216266
|
+
) })
|
|
216267
|
+
}
|
|
216268
|
+
))
|
|
216269
|
+
] }) });
|
|
215470
216270
|
};
|
|
215471
216271
|
const formatMessageDateTime = (dateTimeString) => {
|
|
215472
216272
|
if (!dateTimeString) return "";
|
|
@@ -215879,6 +216679,113 @@ const StreamingMessage = ({
|
|
|
215879
216679
|
);
|
|
215880
216680
|
};
|
|
215881
216681
|
StreamingMessage.displayName = "StreamingMessage";
|
|
216682
|
+
const ControlsWrapper = styled$1(Box)(({ theme: theme2 }) => ({
|
|
216683
|
+
position: "absolute",
|
|
216684
|
+
backgroundColor: theme2.palette.background.paper,
|
|
216685
|
+
borderRadius: "4px",
|
|
216686
|
+
boxShadow: theme2.shadows[3],
|
|
216687
|
+
zIndex: 10,
|
|
216688
|
+
padding: 4,
|
|
216689
|
+
border: `1px solid ${theme2.palette.divider}`
|
|
216690
|
+
}));
|
|
216691
|
+
const StyledIconButton = styled$1(IconButton)(({ theme: theme2 }) => ({
|
|
216692
|
+
color: theme2.palette.text.secondary,
|
|
216693
|
+
width: "34px",
|
|
216694
|
+
height: "34px",
|
|
216695
|
+
padding: 0,
|
|
216696
|
+
margin: 0,
|
|
216697
|
+
"&:hover": {
|
|
216698
|
+
color: theme2.palette.primary.main,
|
|
216699
|
+
backgroundColor: alpha$1(theme2.palette.primary.main, 0.1)
|
|
216700
|
+
}
|
|
216701
|
+
}));
|
|
216702
|
+
const TextSelectionControls = ({
|
|
216703
|
+
agentId,
|
|
216704
|
+
targetRef,
|
|
216705
|
+
isUser
|
|
216706
|
+
}) => {
|
|
216707
|
+
const [selection2, setSelection] = reactExports.useState({ text: "", rect: null });
|
|
216708
|
+
const { playSpeech, stopSpeech, loadingMessageId, playingMessageId } = useSpeechStore();
|
|
216709
|
+
const { data: credentialsData, isLoading: isLoadingCredentials } = useCredentials();
|
|
216710
|
+
const isRadientApiKeyConfigured = reactExports.useMemo(
|
|
216711
|
+
() => credentialsData?.keys?.includes("RADIENT_API_KEY"),
|
|
216712
|
+
[credentialsData?.keys]
|
|
216713
|
+
);
|
|
216714
|
+
const canEnableSpeechFeature = reactExports.useMemo(
|
|
216715
|
+
() => isRadientApiKeyConfigured && !isLoadingCredentials,
|
|
216716
|
+
[isRadientApiKeyConfigured, isLoadingCredentials]
|
|
216717
|
+
);
|
|
216718
|
+
const [currentSelectionId, setCurrentSelectionId] = reactExports.useState(
|
|
216719
|
+
null
|
|
216720
|
+
);
|
|
216721
|
+
const isPlaying = playingMessageId && playingMessageId === currentSelectionId;
|
|
216722
|
+
const isLoading = loadingMessageId && loadingMessageId === currentSelectionId;
|
|
216723
|
+
const handleMouseUp = reactExports.useCallback(() => {
|
|
216724
|
+
if (!targetRef.current) {
|
|
216725
|
+
setSelection({ text: "", rect: null });
|
|
216726
|
+
return;
|
|
216727
|
+
}
|
|
216728
|
+
const sel = window.getSelection();
|
|
216729
|
+
if (sel && sel.rangeCount > 0 && !sel.isCollapsed && targetRef.current.contains(sel.anchorNode)) {
|
|
216730
|
+
const range3 = sel.getRangeAt(0);
|
|
216731
|
+
const rect2 = range3.getBoundingClientRect();
|
|
216732
|
+
const text4 = sel.toString().trim();
|
|
216733
|
+
if (text4) {
|
|
216734
|
+
setSelection({ text: text4, rect: rect2 });
|
|
216735
|
+
} else {
|
|
216736
|
+
setSelection({ text: "", rect: null });
|
|
216737
|
+
}
|
|
216738
|
+
} else {
|
|
216739
|
+
setSelection({ text: "", rect: null });
|
|
216740
|
+
}
|
|
216741
|
+
}, [targetRef]);
|
|
216742
|
+
reactExports.useEffect(() => {
|
|
216743
|
+
const handleMouseUpEvent = () => {
|
|
216744
|
+
setTimeout(handleMouseUp, 0);
|
|
216745
|
+
};
|
|
216746
|
+
document.addEventListener("mouseup", handleMouseUpEvent);
|
|
216747
|
+
return () => {
|
|
216748
|
+
document.removeEventListener("mouseup", handleMouseUpEvent);
|
|
216749
|
+
};
|
|
216750
|
+
}, [handleMouseUp]);
|
|
216751
|
+
const handlePlay = () => {
|
|
216752
|
+
if (agentId && selection2.text) {
|
|
216753
|
+
const newSelectionId = v4();
|
|
216754
|
+
setCurrentSelectionId(newSelectionId);
|
|
216755
|
+
playSpeech(newSelectionId, agentId, selection2.text);
|
|
216756
|
+
}
|
|
216757
|
+
};
|
|
216758
|
+
const handleStop = () => {
|
|
216759
|
+
stopSpeech();
|
|
216760
|
+
};
|
|
216761
|
+
if (!selection2.rect || !selection2.text || isUser) {
|
|
216762
|
+
return null;
|
|
216763
|
+
}
|
|
216764
|
+
const containerRect = targetRef.current?.getBoundingClientRect();
|
|
216765
|
+
if (!containerRect) return null;
|
|
216766
|
+
const style2 = {
|
|
216767
|
+
top: selection2.rect.top - containerRect.top - 52,
|
|
216768
|
+
// Position above selection
|
|
216769
|
+
left: selection2.rect.left - containerRect.left
|
|
216770
|
+
// Align with the left of the selection
|
|
216771
|
+
};
|
|
216772
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(ControlsWrapper, { style: style2, children: isPlaying ? /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop", placement: "top", children: /* @__PURE__ */ jsxRuntimeExports.jsx(StyledIconButton, { size: "small", onClick: handleStop, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Square, { size: 14 }) }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216773
|
+
Tooltip$1,
|
|
216774
|
+
{
|
|
216775
|
+
title: isLoading ? "Loading" : !canEnableSpeechFeature ? "Sign in to Radient in the settings page to enable text to speech" : "Speak Aloud",
|
|
216776
|
+
placement: "top",
|
|
216777
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216778
|
+
StyledIconButton,
|
|
216779
|
+
{
|
|
216780
|
+
size: "small",
|
|
216781
|
+
onClick: handlePlay,
|
|
216782
|
+
disabled: isLoading || !agentId || !canEnableSpeechFeature,
|
|
216783
|
+
children: isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircularProgress, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Volume2, { size: 14 })
|
|
216784
|
+
}
|
|
216785
|
+
) })
|
|
216786
|
+
}
|
|
216787
|
+
) });
|
|
216788
|
+
};
|
|
215882
216789
|
const StyledPaper$1 = styled$1(Paper)(({ theme: theme2 }) => ({
|
|
215883
216790
|
[theme2.breakpoints.down("sm")]: {
|
|
215884
216791
|
maxWidth: "85%"
|
|
@@ -215905,9 +216812,11 @@ const MessagePaper = ({
|
|
|
215905
216812
|
message: message2,
|
|
215906
216813
|
onMessageComplete,
|
|
215907
216814
|
isLastMessage,
|
|
215908
|
-
isJobRunning
|
|
216815
|
+
isJobRunning,
|
|
216816
|
+
agentId
|
|
215909
216817
|
}) => {
|
|
215910
216818
|
const theme2 = useTheme$2();
|
|
216819
|
+
const messageContentRef = reactExports.useRef(null);
|
|
215911
216820
|
if (isUser) {
|
|
215912
216821
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
215913
216822
|
Box,
|
|
@@ -215932,10 +216841,18 @@ const MessagePaper = ({
|
|
|
215932
216841
|
boxShadow: theme2.palette.userMessage.shadow,
|
|
215933
216842
|
color: theme2.palette.text.primary
|
|
215934
216843
|
},
|
|
215935
|
-
children: children2
|
|
216844
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { ref: messageContentRef, sx: { position: "relative" }, children: children2 })
|
|
215936
216845
|
}
|
|
215937
216846
|
),
|
|
215938
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216847
|
+
message2 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216848
|
+
MessageControls,
|
|
216849
|
+
{
|
|
216850
|
+
isUser,
|
|
216851
|
+
content: content2,
|
|
216852
|
+
messageId: message2.id,
|
|
216853
|
+
agentId
|
|
216854
|
+
}
|
|
216855
|
+
)
|
|
215939
216856
|
]
|
|
215940
216857
|
}
|
|
215941
216858
|
);
|
|
@@ -216018,7 +216935,7 @@ const MessagePaper = ({
|
|
|
216018
216935
|
}, []);
|
|
216019
216936
|
const regularMessageComponents = reactExports.useMemo(() => {
|
|
216020
216937
|
if (isStreamable && isJobRunning || !message2) return null;
|
|
216021
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: messageStyles, children: [
|
|
216938
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: messageStyles, ref: messageContentRef, children: [
|
|
216022
216939
|
message2.thinking && !isUser && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216023
216940
|
ExpandableThinkingContent,
|
|
216024
216941
|
{
|
|
@@ -216028,7 +216945,16 @@ const MessagePaper = ({
|
|
|
216028
216945
|
onCollapse: handleThinkingCollapse
|
|
216029
216946
|
}
|
|
216030
216947
|
),
|
|
216031
|
-
filteredChildren
|
|
216948
|
+
filteredChildren,
|
|
216949
|
+
message2 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216950
|
+
TextSelectionControls,
|
|
216951
|
+
{
|
|
216952
|
+
messageId: message2.id,
|
|
216953
|
+
agentId,
|
|
216954
|
+
targetRef: messageContentRef,
|
|
216955
|
+
isUser
|
|
216956
|
+
}
|
|
216957
|
+
)
|
|
216032
216958
|
] });
|
|
216033
216959
|
}, [
|
|
216034
216960
|
isStreamable,
|
|
@@ -216040,8 +216966,9 @@ const MessagePaper = ({
|
|
|
216040
216966
|
isThinkingExpanded,
|
|
216041
216967
|
handleThinkingExpand,
|
|
216042
216968
|
// Added
|
|
216043
|
-
handleThinkingCollapse
|
|
216969
|
+
handleThinkingCollapse,
|
|
216044
216970
|
// Added
|
|
216971
|
+
agentId
|
|
216045
216972
|
]);
|
|
216046
216973
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
216047
216974
|
Box,
|
|
@@ -216072,11 +216999,13 @@ const MessagePaper = ({
|
|
|
216072
216999
|
}
|
|
216073
217000
|
}
|
|
216074
217001
|
),
|
|
216075
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
217002
|
+
message2 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216076
217003
|
MessageControls,
|
|
216077
217004
|
{
|
|
216078
217005
|
isUser,
|
|
216079
217006
|
content: content2,
|
|
217007
|
+
messageId: message2.id,
|
|
217008
|
+
agentId,
|
|
216080
217009
|
sx: {
|
|
216081
217010
|
// When streaming, force opacity 0 and disable pointer events.
|
|
216082
217011
|
// This inline style for opacity will override the parent's hover rule.
|
|
@@ -216182,16 +217111,32 @@ const isVideo = (path2) => {
|
|
|
216182
217111
|
const lowerPath = path2.toLowerCase();
|
|
216183
217112
|
return videoExtensions.some((ext) => lowerPath.endsWith(ext));
|
|
216184
217113
|
};
|
|
216185
|
-
const
|
|
217114
|
+
const isAudio = (path2) => {
|
|
217115
|
+
const audioExtensions = [
|
|
217116
|
+
".mp3",
|
|
217117
|
+
".wav",
|
|
217118
|
+
".ogg",
|
|
217119
|
+
".aac",
|
|
217120
|
+
".flac",
|
|
217121
|
+
".m4a",
|
|
217122
|
+
".aiff"
|
|
217123
|
+
];
|
|
217124
|
+
const lowerPath = path2.toLowerCase();
|
|
217125
|
+
return audioExtensions.some((ext) => lowerPath.endsWith(ext));
|
|
217126
|
+
};
|
|
217127
|
+
const getAttachmentUrl = (client2, path2) => {
|
|
216186
217128
|
if (path2.startsWith("http")) {
|
|
216187
217129
|
return path2;
|
|
216188
217130
|
}
|
|
216189
217131
|
const normalizedPath = path2.startsWith("file://") ? path2 : `file://${path2}`;
|
|
216190
217132
|
if (isImage(path2)) {
|
|
216191
|
-
return
|
|
217133
|
+
return client2.static.getImageUrl(normalizedPath);
|
|
216192
217134
|
}
|
|
216193
217135
|
if (isVideo(path2)) {
|
|
216194
|
-
return
|
|
217136
|
+
return client2.static.getVideoUrl(normalizedPath);
|
|
217137
|
+
}
|
|
217138
|
+
if (isAudio(path2)) {
|
|
217139
|
+
return client2.static.getAudioUrl(normalizedPath);
|
|
216195
217140
|
}
|
|
216196
217141
|
return path2;
|
|
216197
217142
|
};
|
|
@@ -216212,7 +217157,7 @@ const MessageItem = reactExports.memo(
|
|
|
216212
217157
|
if (fileString.startsWith("data:")) {
|
|
216213
217158
|
return null;
|
|
216214
217159
|
}
|
|
216215
|
-
const title = getFileName$
|
|
217160
|
+
const title = getFileName$3(fileString);
|
|
216216
217161
|
const fileType = getFileTypeFromPath(fileString);
|
|
216217
217162
|
const normalizedPath = fileString.startsWith("file://") ? fileString.substring(7) : fileString;
|
|
216218
217163
|
const id27 = normalizedPath;
|
|
@@ -216231,12 +217176,12 @@ const MessageItem = reactExports.memo(
|
|
|
216231
217176
|
}
|
|
216232
217177
|
}
|
|
216233
217178
|
}, [message2.files, conversationId, addMentionedFilesBatch]);
|
|
216234
|
-
const
|
|
217179
|
+
const client2 = reactExports.useMemo(() => {
|
|
216235
217180
|
return createLocalOperatorClient(apiConfig.baseUrl);
|
|
216236
217181
|
}, []);
|
|
216237
217182
|
const getUrl2 = reactExports.useCallback(
|
|
216238
|
-
(path2) => getAttachmentUrl(
|
|
216239
|
-
[
|
|
217183
|
+
(path2) => getAttachmentUrl(client2, path2),
|
|
217184
|
+
[client2]
|
|
216240
217185
|
);
|
|
216241
217186
|
const handleFileClick = reactExports.useCallback(async (filePath) => {
|
|
216242
217187
|
try {
|
|
@@ -216274,6 +217219,7 @@ const MessageItem = reactExports.memo(
|
|
|
216274
217219
|
onMessageComplete,
|
|
216275
217220
|
isLastMessage: isLastMessage ?? false,
|
|
216276
217221
|
isJobRunning: !!currentExecution,
|
|
217222
|
+
agentId: conversationId,
|
|
216277
217223
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216278
217224
|
ActionBlock,
|
|
216279
217225
|
{
|
|
@@ -216308,6 +217254,7 @@ const MessageItem = reactExports.memo(
|
|
|
216308
217254
|
onMessageComplete,
|
|
216309
217255
|
isLastMessage: isLastMessage ?? false,
|
|
216310
217256
|
isJobRunning: !!currentExecution,
|
|
217257
|
+
agentId: conversationId,
|
|
216311
217258
|
children: [
|
|
216312
217259
|
message2.files && message2.files.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { mb: 2 }, children: message2.files.filter((file) => isImage(file)).map((file) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216313
217260
|
ImageAttachment,
|
|
@@ -216371,6 +217318,7 @@ const MessageItem = reactExports.memo(
|
|
|
216371
217318
|
onMessageComplete,
|
|
216372
217319
|
isLastMessage: isLastMessage ?? false,
|
|
216373
217320
|
isJobRunning: !!currentExecution,
|
|
217321
|
+
agentId: conversationId,
|
|
216374
217322
|
children: [
|
|
216375
217323
|
message2.files && message2.files.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { mb: 2 }, children: message2.files.filter((file) => isImage(file)).map((file) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216376
217324
|
ImageAttachment,
|
|
@@ -216392,6 +217340,14 @@ const MessageItem = reactExports.memo(
|
|
|
216392
217340
|
},
|
|
216393
217341
|
`${message2.id}-${file}`
|
|
216394
217342
|
)) }),
|
|
217343
|
+
message2.files && message2.files.length > 0 && message2.files.some((file) => isAudio(file)) && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { mb: 2 }, children: message2.files.filter((file) => isAudio(file)).map((file) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
217344
|
+
AudioAttachment,
|
|
217345
|
+
{
|
|
217346
|
+
content: getUrl2(file),
|
|
217347
|
+
isUser
|
|
217348
|
+
},
|
|
217349
|
+
`${message2.id}-${file}`
|
|
217350
|
+
)) }),
|
|
216395
217351
|
message2.message && !(message2.is_streamable && !message2.is_complete) && /* @__PURE__ */ jsxRuntimeExports.jsx(MessageContent, { content: message2.message, isUser }),
|
|
216396
217352
|
(() => {
|
|
216397
217353
|
const hasCollapsibleContent = isAction2 && (message2.code || message2.stdout || message2.stderr || message2.logging);
|
|
@@ -216413,7 +217369,9 @@ const MessageItem = reactExports.memo(
|
|
|
216413
217369
|
}
|
|
216414
217370
|
return contentBlocks;
|
|
216415
217371
|
})(),
|
|
216416
|
-
message2.files && message2.files.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { mt: 2 }, children: message2.files.filter(
|
|
217372
|
+
message2.files && message2.files.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { sx: { mt: 2 }, children: message2.files.filter(
|
|
217373
|
+
(file) => !isImage(file) && !isVideo(file) && !isAudio(file)
|
|
217374
|
+
).map((file) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
216417
217375
|
FileAttachment,
|
|
216418
217376
|
{
|
|
216419
217377
|
file,
|
|
@@ -218060,20 +219018,17 @@ const CommandPalette = () => {
|
|
|
218060
219018
|
isCanvasOpen,
|
|
218061
219019
|
setCanvasOpen,
|
|
218062
219020
|
isCreateAgentDialogOpen,
|
|
218063
|
-
// Use global state
|
|
218064
219021
|
openCreateAgentDialog,
|
|
218065
|
-
// Use global action
|
|
218066
219022
|
closeCreateAgentDialog
|
|
218067
|
-
// Use global action
|
|
218068
219023
|
} = useUiPreferencesStore();
|
|
218069
219024
|
const { agentId: currentAgentIdFromRoute } = useAgentRouteParam();
|
|
218070
219025
|
const { getLastAgentId } = useAgentSelectionStore();
|
|
218071
|
-
const
|
|
219026
|
+
const [localQuery, setLocalQuery] = reactExports.useState(commandPaletteQuery);
|
|
219027
|
+
const debouncedLocalQuery = useDebounce(localQuery, 200);
|
|
219028
|
+
const { data: agentsData } = useAgents(1, 10, 0, debouncedLocalQuery);
|
|
218072
219029
|
const theme2 = useTheme$2();
|
|
218073
219030
|
const clearConversationMutation = useClearAgentConversation();
|
|
218074
219031
|
const [selectedIndex, setSelectedIndex] = reactExports.useState(0);
|
|
218075
|
-
const [localQuery, setLocalQuery] = reactExports.useState(commandPaletteQuery);
|
|
218076
|
-
const debouncedLocalQuery = useDebounce(localQuery, 200);
|
|
218077
219032
|
const [isClearConfirmationOpen, setIsClearConfirmationOpen] = reactExports.useState(false);
|
|
218078
219033
|
const effectiveAgentId = currentAgentIdFromRoute || getLastAgentId("chat");
|
|
218079
219034
|
const isOnChatPage = location2.pathname.startsWith("/chat");
|