local-operator-ui 0.10.6 → 0.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +2 -2
  2. package/out/main/index.jsc +0 -0
  3. package/out/preload/index.jsc +0 -0
  4. package/out/renderer/assets/{_basePickBy-B_HGm0DH.js → _basePickBy-r5hhhokw.js} +2 -2
  5. package/out/renderer/assets/{_baseUniq-PaYGIuJk.js → _baseUniq-BBOEV9y0.js} +1 -1
  6. package/out/renderer/assets/{arc-CeUjicTC.js → arc-Clqwk4k6.js} +1 -1
  7. package/out/renderer/assets/{architectureDiagram-IEHRJDOE-DpgUpIap.js → architectureDiagram-IEHRJDOE-Bx8X697l.js} +7 -7
  8. package/out/renderer/assets/{blockDiagram-JOT3LUYC-CKZMfayd.js → blockDiagram-JOT3LUYC-B1Up6r6-.js} +5 -5
  9. package/out/renderer/assets/{c4Diagram-VJAJSXHY-B9Sos203.js → c4Diagram-VJAJSXHY-C36lbIjS.js} +2 -2
  10. package/out/renderer/assets/{channel-CkAgcdhG.js → channel-RymPaL1a.js} +1 -1
  11. package/out/renderer/assets/{chunk-4BMEZGHF-CLm5JdxF.js → chunk-4BMEZGHF-hetp-v-b.js} +1 -1
  12. package/out/renderer/assets/{chunk-A2AXSNBT-DzmR84aE.js → chunk-A2AXSNBT-RJ03JkZb.js} +2 -2
  13. package/out/renderer/assets/{chunk-AEK57VVT-CXIKseYz.js → chunk-AEK57VVT-DC5ye4z8.js} +2 -2
  14. package/out/renderer/assets/{chunk-D6G4REZN-DaPkIkgK.js → chunk-D6G4REZN-D6XUL9LI.js} +1 -1
  15. package/out/renderer/assets/{chunk-RZ5BOZE2-DVrUSJ_C.js → chunk-RZ5BOZE2-D6JxF993.js} +1 -1
  16. package/out/renderer/assets/{chunk-XZIHB7SX-BwrmL4cP.js → chunk-XZIHB7SX--AwbJm2E.js} +1 -1
  17. package/out/renderer/assets/{classDiagram-GIVACNV2-BG9YVWo9.js → classDiagram-GIVACNV2-vtFcXgAr.js} +3 -3
  18. package/out/renderer/assets/{classDiagram-v2-COTLJTTW-BG9YVWo9.js → classDiagram-v2-COTLJTTW-vtFcXgAr.js} +3 -3
  19. package/out/renderer/assets/{clone-X6EGrpuy.js → clone-BAOF7mPn.js} +1 -1
  20. package/out/renderer/assets/{dagre-OKDRZEBW-CUqy_fyO.js → dagre-OKDRZEBW-BsxbY4uX.js} +6 -6
  21. package/out/renderer/assets/{diagram-SSKATNLV-BhN3X8_Q.js → diagram-SSKATNLV-Cc6v1RBI.js} +6 -6
  22. package/out/renderer/assets/{diagram-VNBRO52H-BU04y9Fr.js → diagram-VNBRO52H-CU_0csUZ.js} +6 -6
  23. package/out/renderer/assets/{erDiagram-Q7BY3M3F-B6IODaEY.js → erDiagram-Q7BY3M3F-Ccs7n14X.js} +3 -3
  24. package/out/renderer/assets/{flowDiagram-4HSFHLVR-Dl3mQO2q.js → flowDiagram-4HSFHLVR-BTDwdXoq.js} +3 -3
  25. package/out/renderer/assets/{ganttDiagram-APWFNJXF-FX9v3sXK.js → ganttDiagram-APWFNJXF-BsHcmVQL.js} +1 -1
  26. package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-Dni3Jg2a.js → gitGraphDiagram-7IBYFJ6S-BrsAP7d3.js} +7 -7
  27. package/out/renderer/assets/{graph-fl-ETjwU.js → graph-U8n0FRxu.js} +2 -2
  28. package/out/renderer/assets/{index-DT4YjQYg.js → index-B1kgBLxO.js} +1 -1
  29. package/out/renderer/assets/{index-SqVDMQTn.js → index-DnSZJXOl.js} +596 -180
  30. package/out/renderer/assets/{index-CPnY6jn3.js → index-JQ7XEBgh.js} +1 -1
  31. package/out/renderer/assets/{infoDiagram-PH2N3AL5-C04KBzB9.js → infoDiagram-PH2N3AL5-CeBCRQ-r.js} +5 -5
  32. package/out/renderer/assets/{installer-2u6KIViI.js → installer-B8QYcS9K.js} +1 -1
  33. package/out/renderer/assets/{journeyDiagram-U35MCT3I-XjyRPfYe.js → journeyDiagram-U35MCT3I-CFEflF1X.js} +3 -3
  34. package/out/renderer/assets/{kanban-definition-NDS4AKOZ-DVuFQlbH.js → kanban-definition-NDS4AKOZ-lJsLyjEH.js} +1 -1
  35. package/out/renderer/assets/{layout-BqVTWur6.js → layout-B7mvVV0Q.js} +4 -4
  36. package/out/renderer/assets/{mindmap-definition-ALO5MXBD-Dc8z1BYF.js → mindmap-definition-ALO5MXBD-DuRohiYz.js} +1 -1
  37. package/out/renderer/assets/{pieDiagram-IB7DONF6-DNtHn0jA.js → pieDiagram-IB7DONF6-CwHy1pe3.js} +7 -7
  38. package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-DddxYL3U.js → quadrantDiagram-7GDLP6J5-DteRiyWH.js} +1 -1
  39. package/out/renderer/assets/{radar-MK3ICKWK-C_NFwoLX.js → radar-MK3ICKWK-D4mwq75I.js} +4 -4
  40. package/out/renderer/assets/{requirementDiagram-KVF5MWMF-Cfo6ZHQh.js → requirementDiagram-KVF5MWMF-Cjtft40u.js} +2 -2
  41. package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-B86QqVNt.js → sankeyDiagram-QLVOVGJD-DQ_oTubV.js} +1 -1
  42. package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-DKn__Lqs.js → sequenceDiagram-X6HHIX6F-CMUs0WWj.js} +3 -3
  43. package/out/renderer/assets/{stateDiagram-DGXRK772-BVSJzT2-.js → stateDiagram-DGXRK772-JkRRAJkE.js} +7 -7
  44. package/out/renderer/assets/{stateDiagram-v2-YXO3MK2T-CypfddVy.js → stateDiagram-v2-YXO3MK2T-DhB-86w-.js} +3 -3
  45. package/out/renderer/assets/{timeline-definition-BDJGKUSR-DBxUODzY.js → timeline-definition-BDJGKUSR-DmImWV1j.js} +2 -2
  46. package/out/renderer/assets/{xychartDiagram-VJFVF3MP-qhS6hrxS.js → xychartDiagram-VJFVF3MP-DjE9t7Qo.js} +1 -1
  47. package/out/renderer/index.html +1 -1
  48. package/out/renderer/installer.html +1 -1
  49. package/package.json +10 -4
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CPnY6jn3.js","./fonts-Bb3Axuvj.js","./fonts-B9KBGB-g.css","./index-DT4YjQYg.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js","./dagre-OKDRZEBW-CUqy_fyO.js","./graph-fl-ETjwU.js","./_baseUniq-PaYGIuJk.js","./layout-BqVTWur6.js","./_basePickBy-B_HGm0DH.js","./clone-X6EGrpuy.js","./c4Diagram-VJAJSXHY-B9Sos203.js","./chunk-D6G4REZN-DaPkIkgK.js","./flowDiagram-4HSFHLVR-Dl3mQO2q.js","./chunk-RZ5BOZE2-DVrUSJ_C.js","./channel-CkAgcdhG.js","./erDiagram-Q7BY3M3F-B6IODaEY.js","./gitGraphDiagram-7IBYFJ6S-Dni3Jg2a.js","./chunk-4BMEZGHF-CLm5JdxF.js","./chunk-XZIHB7SX-BwrmL4cP.js","./radar-MK3ICKWK-C_NFwoLX.js","./ganttDiagram-APWFNJXF-FX9v3sXK.js","./infoDiagram-PH2N3AL5-C04KBzB9.js","./pieDiagram-IB7DONF6-DNtHn0jA.js","./arc-CeUjicTC.js","./quadrantDiagram-7GDLP6J5-DddxYL3U.js","./xychartDiagram-VJFVF3MP-qhS6hrxS.js","./requirementDiagram-KVF5MWMF-Cfo6ZHQh.js","./sequenceDiagram-X6HHIX6F-DKn__Lqs.js","./classDiagram-GIVACNV2-BG9YVWo9.js","./chunk-A2AXSNBT-DzmR84aE.js","./classDiagram-v2-COTLJTTW-BG9YVWo9.js","./stateDiagram-DGXRK772-BVSJzT2-.js","./chunk-AEK57VVT-CXIKseYz.js","./stateDiagram-v2-YXO3MK2T-CypfddVy.js","./journeyDiagram-U35MCT3I-XjyRPfYe.js","./timeline-definition-BDJGKUSR-DBxUODzY.js","./mindmap-definition-ALO5MXBD-Dc8z1BYF.js","./cytoscape.esm-C0AOj4uS.js","./kanban-definition-NDS4AKOZ-DVuFQlbH.js","./sankeyDiagram-QLVOVGJD-B86QqVNt.js","./diagram-VNBRO52H-BU04y9Fr.js","./diagram-SSKATNLV-BhN3X8_Q.js","./blockDiagram-JOT3LUYC-CKZMfayd.js","./architectureDiagram-IEHRJDOE-DpgUpIap.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-JQ7XEBgh.js","./fonts-Bb3Axuvj.js","./fonts-B9KBGB-g.css","./index-B1kgBLxO.js","./pug-By0kVCfm.js","./javascript-C3MnDRiU.js","./dagre-OKDRZEBW-BsxbY4uX.js","./graph-U8n0FRxu.js","./_baseUniq-BBOEV9y0.js","./layout-B7mvVV0Q.js","./_basePickBy-r5hhhokw.js","./clone-BAOF7mPn.js","./c4Diagram-VJAJSXHY-C36lbIjS.js","./chunk-D6G4REZN-D6XUL9LI.js","./flowDiagram-4HSFHLVR-BTDwdXoq.js","./chunk-RZ5BOZE2-D6JxF993.js","./channel-RymPaL1a.js","./erDiagram-Q7BY3M3F-Ccs7n14X.js","./gitGraphDiagram-7IBYFJ6S-BrsAP7d3.js","./chunk-4BMEZGHF-hetp-v-b.js","./chunk-XZIHB7SX--AwbJm2E.js","./radar-MK3ICKWK-D4mwq75I.js","./ganttDiagram-APWFNJXF-BsHcmVQL.js","./infoDiagram-PH2N3AL5-CeBCRQ-r.js","./pieDiagram-IB7DONF6-CwHy1pe3.js","./arc-Clqwk4k6.js","./quadrantDiagram-7GDLP6J5-DteRiyWH.js","./xychartDiagram-VJFVF3MP-DjE9t7Qo.js","./requirementDiagram-KVF5MWMF-Cjtft40u.js","./sequenceDiagram-X6HHIX6F-CMUs0WWj.js","./classDiagram-GIVACNV2-vtFcXgAr.js","./chunk-A2AXSNBT-RJ03JkZb.js","./classDiagram-v2-COTLJTTW-vtFcXgAr.js","./stateDiagram-DGXRK772-JkRRAJkE.js","./chunk-AEK57VVT-DC5ye4z8.js","./stateDiagram-v2-YXO3MK2T-DhB-86w-.js","./journeyDiagram-U35MCT3I-CFEflF1X.js","./timeline-definition-BDJGKUSR-DmImWV1j.js","./mindmap-definition-ALO5MXBD-DuRohiYz.js","./cytoscape.esm-C0AOj4uS.js","./kanban-definition-NDS4AKOZ-lJsLyjEH.js","./sankeyDiagram-QLVOVGJD-DQ_oTubV.js","./diagram-VNBRO52H-CU_0csUZ.js","./diagram-SSKATNLV-Cc6v1RBI.js","./blockDiagram-JOT3LUYC-B1Up6r6-.js","./architectureDiagram-IEHRJDOE-Bx8X697l.js"])))=>i.map(i=>d[i]);
2
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 faFile, b8 as faExclamationCircle, 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-Bb3Axuvj.js";
3
3
  const styled = createStyled();
4
4
  function getThemeProps(params) {
@@ -29429,6 +29429,52 @@ const StaticApi = {
29429
29429
  getVideoUrl,
29430
29430
  getHtmlUrl
29431
29431
  };
29432
+ const TranscriptionApi = {
29433
+ /**
29434
+ * Transcribe Audio File
29435
+ *
29436
+ * Transcribes an audio file using the specified model and parameters.
29437
+ * The audio file is sent as `multipart/form-data`.
29438
+ * @param baseUrl - The base URL of the Local Operator API.
29439
+ * @param params - The parameters for the transcription request.
29440
+ * @returns A promise that resolves to the transcription result.
29441
+ * @throws Will throw an error if the request fails.
29442
+ */
29443
+ async createTranscription(baseUrl, params) {
29444
+ const formData = new FormData();
29445
+ formData.append("file", params.file);
29446
+ if (params.model !== void 0) formData.append("model", params.model);
29447
+ if (params.prompt !== void 0) formData.append("prompt", params.prompt);
29448
+ if (params.response_format !== void 0)
29449
+ formData.append("response_format", params.response_format);
29450
+ if (params.temperature !== void 0)
29451
+ formData.append("temperature", params.temperature.toString());
29452
+ if (params.language !== void 0)
29453
+ formData.append("language", params.language);
29454
+ if (params.provider !== void 0)
29455
+ formData.append("provider", params.provider);
29456
+ const response = await fetch(`${baseUrl}/v1/transcriptions`, {
29457
+ method: "POST",
29458
+ body: formData,
29459
+ // Content-Type for FormData is set automatically by the browser, including the boundary.
29460
+ // Ensure 'Accept' header is set if the server expects it, though for FormData it's often not strictly needed for the request itself.
29461
+ // However, for consistency with other API calls and to ensure JSON error responses are handled:
29462
+ headers: {
29463
+ Accept: "application/json"
29464
+ }
29465
+ });
29466
+ if (!response.ok) {
29467
+ let errorDetail = `Transcription request failed: ${response.status} ${response.statusText}`;
29468
+ try {
29469
+ const errorData = await response.json();
29470
+ errorDetail = errorData.message || errorData.detail || errorDetail;
29471
+ } catch (_2) {
29472
+ }
29473
+ throw new Error(errorDetail);
29474
+ }
29475
+ return response.json();
29476
+ }
29477
+ };
29432
29478
  var WebsocketConnectionType = /* @__PURE__ */ ((WebsocketConnectionType2) => {
29433
29479
  WebsocketConnectionType2["MESSAGE"] = "message";
29434
29480
  WebsocketConnectionType2["HEALTH"] = "health";
@@ -30012,6 +30058,12 @@ class LocalOperatorClient {
30012
30058
  get schedules() {
30013
30059
  return this.bindBaseUrlToApi(SchedulesApi);
30014
30060
  }
30061
+ /**
30062
+ * Get the Transcription API client with methods bound to the base URL
30063
+ */
30064
+ get transcription() {
30065
+ return this.bindBaseUrlToApi(TranscriptionApi);
30066
+ }
30015
30067
  /**
30016
30068
  * Bind the base URL to all methods of an API client
30017
30069
  *
@@ -35956,30 +36008,30 @@ const useAgentSelectionStore = create$3()(
35956
36008
  * This source code is licensed under the ISC license.
35957
36009
  * See the LICENSE file in the root directory of this source tree.
35958
36010
  */
35959
- const __iconNode$1o = [
36011
+ const __iconNode$1q = [
35960
36012
  ["rect", { width: "20", height: "5", x: "2", y: "3", rx: "1", key: "1wp1u1" }],
35961
36013
  ["path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", key: "1s80jp" }],
35962
36014
  ["path", { d: "M10 12h4", key: "a56b0p" }]
35963
36015
  ];
35964
- const Archive = createLucideIcon("archive", __iconNode$1o);
36016
+ const Archive = createLucideIcon("archive", __iconNode$1q);
35965
36017
  /**
35966
36018
  * @license lucide-react v0.507.0 - ISC
35967
36019
  *
35968
36020
  * This source code is licensed under the ISC license.
35969
36021
  * See the LICENSE file in the root directory of this source tree.
35970
36022
  */
35971
- const __iconNode$1n = [
36023
+ const __iconNode$1p = [
35972
36024
  ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
35973
36025
  ["path", { d: "M19 12H5", key: "x3x0zl" }]
35974
36026
  ];
35975
- const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1n);
36027
+ const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1p);
35976
36028
  /**
35977
36029
  * @license lucide-react v0.507.0 - ISC
35978
36030
  *
35979
36031
  * This source code is licensed under the ISC license.
35980
36032
  * See the LICENSE file in the root directory of this source tree.
35981
36033
  */
35982
- const __iconNode$1m = [
36034
+ const __iconNode$1o = [
35983
36035
  ["path", { d: "M2 10v3", key: "1fnikh" }],
35984
36036
  ["path", { d: "M6 6v11", key: "11sgs0" }],
35985
36037
  ["path", { d: "M10 3v18", key: "yhl04a" }],
@@ -35987,14 +36039,14 @@ const __iconNode$1m = [
35987
36039
  ["path", { d: "M18 5v13", key: "123xd1" }],
35988
36040
  ["path", { d: "M22 10v3", key: "154ddg" }]
35989
36041
  ];
35990
- const AudioLines = createLucideIcon("audio-lines", __iconNode$1m);
36042
+ const AudioLines = createLucideIcon("audio-lines", __iconNode$1o);
35991
36043
  /**
35992
36044
  * @license lucide-react v0.507.0 - ISC
35993
36045
  *
35994
36046
  * This source code is licensed under the ISC license.
35995
36047
  * See the LICENSE file in the root directory of this source tree.
35996
36048
  */
35997
- const __iconNode$1l = [
36049
+ const __iconNode$1n = [
35998
36050
  [
35999
36051
  "path",
36000
36052
  {
@@ -36003,14 +36055,14 @@ const __iconNode$1l = [
36003
36055
  }
36004
36056
  ]
36005
36057
  ];
36006
- const Book = createLucideIcon("book", __iconNode$1l);
36058
+ const Book = createLucideIcon("book", __iconNode$1n);
36007
36059
  /**
36008
36060
  * @license lucide-react v0.507.0 - ISC
36009
36061
  *
36010
36062
  * This source code is licensed under the ISC license.
36011
36063
  * See the LICENSE file in the root directory of this source tree.
36012
36064
  */
36013
- const __iconNode$1k = [
36065
+ const __iconNode$1m = [
36014
36066
  ["path", { d: "M12 8V4H8", key: "hb8ula" }],
36015
36067
  ["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
36016
36068
  ["path", { d: "M2 14h2", key: "vft8re" }],
@@ -36018,25 +36070,25 @@ const __iconNode$1k = [
36018
36070
  ["path", { d: "M15 13v2", key: "1xurst" }],
36019
36071
  ["path", { d: "M9 13v2", key: "rq6x2g" }]
36020
36072
  ];
36021
- const Bot = createLucideIcon("bot", __iconNode$1k);
36073
+ const Bot = createLucideIcon("bot", __iconNode$1m);
36022
36074
  /**
36023
36075
  * @license lucide-react v0.507.0 - ISC
36024
36076
  *
36025
36077
  * This source code is licensed under the ISC license.
36026
36078
  * See the LICENSE file in the root directory of this source tree.
36027
36079
  */
36028
- const __iconNode$1j = [
36080
+ const __iconNode$1l = [
36029
36081
  ["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
36030
36082
  ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
36031
36083
  ];
36032
- const Briefcase = createLucideIcon("briefcase", __iconNode$1j);
36084
+ const Briefcase = createLucideIcon("briefcase", __iconNode$1l);
36033
36085
  /**
36034
36086
  * @license lucide-react v0.507.0 - ISC
36035
36087
  *
36036
36088
  * This source code is licensed under the ISC license.
36037
36089
  * See the LICENSE file in the root directory of this source tree.
36038
36090
  */
36039
- const __iconNode$1i = [
36091
+ const __iconNode$1k = [
36040
36092
  ["path", { d: "M8 2v4", key: "1cmpym" }],
36041
36093
  ["path", { d: "M16 2v4", key: "4m81vk" }],
36042
36094
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
@@ -36048,149 +36100,160 @@ const __iconNode$1i = [
36048
36100
  ["path", { d: "M12 18h.01", key: "mhygvu" }],
36049
36101
  ["path", { d: "M16 18h.01", key: "kzsmim" }]
36050
36102
  ];
36051
- const CalendarDays = createLucideIcon("calendar-days", __iconNode$1i);
36103
+ const CalendarDays = createLucideIcon("calendar-days", __iconNode$1k);
36052
36104
  /**
36053
36105
  * @license lucide-react v0.507.0 - ISC
36054
36106
  *
36055
36107
  * This source code is licensed under the ISC license.
36056
36108
  * See the LICENSE file in the root directory of this source tree.
36057
36109
  */
36058
- const __iconNode$1h = [
36110
+ const __iconNode$1j = [
36059
36111
  ["path", { d: "M8 2v4", key: "1cmpym" }],
36060
36112
  ["path", { d: "M16 2v4", key: "4m81vk" }],
36061
36113
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
36062
36114
  ["path", { d: "M3 10h18", key: "8toen8" }]
36063
36115
  ];
36064
- const Calendar = createLucideIcon("calendar", __iconNode$1h);
36116
+ const Calendar = createLucideIcon("calendar", __iconNode$1j);
36065
36117
  /**
36066
36118
  * @license lucide-react v0.507.0 - ISC
36067
36119
  *
36068
36120
  * This source code is licensed under the ISC license.
36069
36121
  * See the LICENSE file in the root directory of this source tree.
36070
36122
  */
36071
- const __iconNode$1g = [
36123
+ const __iconNode$1i = [
36072
36124
  ["line", { x1: "18", x2: "18", y1: "20", y2: "10", key: "1xfpm4" }],
36073
36125
  ["line", { x1: "12", x2: "12", y1: "20", y2: "4", key: "be30l9" }],
36074
36126
  ["line", { x1: "6", x2: "6", y1: "20", y2: "14", key: "1r4le6" }]
36075
36127
  ];
36076
- const ChartNoAxesColumn = createLucideIcon("chart-no-axes-column", __iconNode$1g);
36128
+ const ChartNoAxesColumn = createLucideIcon("chart-no-axes-column", __iconNode$1i);
36077
36129
  /**
36078
36130
  * @license lucide-react v0.507.0 - ISC
36079
36131
  *
36080
36132
  * This source code is licensed under the ISC license.
36081
36133
  * See the LICENSE file in the root directory of this source tree.
36082
36134
  */
36083
- const __iconNode$1f = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
36084
- const Check = createLucideIcon("check", __iconNode$1f);
36135
+ const __iconNode$1h = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
36136
+ const Check = createLucideIcon("check", __iconNode$1h);
36085
36137
  /**
36086
36138
  * @license lucide-react v0.507.0 - ISC
36087
36139
  *
36088
36140
  * This source code is licensed under the ISC license.
36089
36141
  * See the LICENSE file in the root directory of this source tree.
36090
36142
  */
36091
- const __iconNode$1e = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
36092
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$1e);
36143
+ const __iconNode$1g = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
36144
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$1g);
36093
36145
  /**
36094
36146
  * @license lucide-react v0.507.0 - ISC
36095
36147
  *
36096
36148
  * This source code is licensed under the ISC license.
36097
36149
  * See the LICENSE file in the root directory of this source tree.
36098
36150
  */
36099
- const __iconNode$1d = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
36100
- const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1d);
36151
+ const __iconNode$1f = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
36152
+ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1f);
36101
36153
  /**
36102
36154
  * @license lucide-react v0.507.0 - ISC
36103
36155
  *
36104
36156
  * This source code is licensed under the ISC license.
36105
36157
  * See the LICENSE file in the root directory of this source tree.
36106
36158
  */
36107
- const __iconNode$1c = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
36108
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$1c);
36159
+ const __iconNode$1e = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
36160
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$1e);
36109
36161
  /**
36110
36162
  * @license lucide-react v0.507.0 - ISC
36111
36163
  *
36112
36164
  * This source code is licensed under the ISC license.
36113
36165
  * See the LICENSE file in the root directory of this source tree.
36114
36166
  */
36115
- const __iconNode$1b = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
36116
- const ChevronUp = createLucideIcon("chevron-up", __iconNode$1b);
36167
+ const __iconNode$1d = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
36168
+ const ChevronUp = createLucideIcon("chevron-up", __iconNode$1d);
36117
36169
  /**
36118
36170
  * @license lucide-react v0.507.0 - ISC
36119
36171
  *
36120
36172
  * This source code is licensed under the ISC license.
36121
36173
  * See the LICENSE file in the root directory of this source tree.
36122
36174
  */
36123
- const __iconNode$1a = [
36175
+ const __iconNode$1c = [
36124
36176
  ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
36125
36177
  ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
36126
36178
  ];
36127
- const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1a);
36179
+ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$1c);
36128
36180
  /**
36129
36181
  * @license lucide-react v0.507.0 - ISC
36130
36182
  *
36131
36183
  * This source code is licensed under the ISC license.
36132
36184
  * See the LICENSE file in the root directory of this source tree.
36133
36185
  */
36134
- const __iconNode$19 = [
36186
+ const __iconNode$1b = [
36135
36187
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36136
36188
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
36137
36189
  ];
36138
- const CircleCheck = createLucideIcon("circle-check", __iconNode$19);
36190
+ const CircleCheck = createLucideIcon("circle-check", __iconNode$1b);
36139
36191
  /**
36140
36192
  * @license lucide-react v0.507.0 - ISC
36141
36193
  *
36142
36194
  * This source code is licensed under the ISC license.
36143
36195
  * See the LICENSE file in the root directory of this source tree.
36144
36196
  */
36145
- const __iconNode$18 = [
36197
+ const __iconNode$1a = [
36146
36198
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36147
36199
  ["path", { d: "M17 12h.01", key: "1m0b6t" }],
36148
36200
  ["path", { d: "M12 12h.01", key: "1mp3jc" }],
36149
36201
  ["path", { d: "M7 12h.01", key: "eqddd0" }]
36150
36202
  ];
36151
- const CircleEllipsis = createLucideIcon("circle-ellipsis", __iconNode$18);
36203
+ const CircleEllipsis = createLucideIcon("circle-ellipsis", __iconNode$1a);
36152
36204
  /**
36153
36205
  * @license lucide-react v0.507.0 - ISC
36154
36206
  *
36155
36207
  * This source code is licensed under the ISC license.
36156
36208
  * See the LICENSE file in the root directory of this source tree.
36157
36209
  */
36158
- const __iconNode$17 = [
36210
+ const __iconNode$19 = [
36159
36211
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36160
36212
  ["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
36161
36213
  ["path", { d: "M12 17h.01", key: "p32p05" }]
36162
36214
  ];
36163
- const CircleHelp = createLucideIcon("circle-help", __iconNode$17);
36215
+ const CircleHelp = createLucideIcon("circle-help", __iconNode$19);
36164
36216
  /**
36165
36217
  * @license lucide-react v0.507.0 - ISC
36166
36218
  *
36167
36219
  * This source code is licensed under the ISC license.
36168
36220
  * See the LICENSE file in the root directory of this source tree.
36169
36221
  */
36170
- const __iconNode$16 = [
36222
+ const __iconNode$18 = [
36171
36223
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36172
36224
  ["polygon", { points: "10 8 16 12 10 16 10 8", key: "1cimsy" }]
36173
36225
  ];
36174
- const CirclePlay = createLucideIcon("circle-play", __iconNode$16);
36226
+ const CirclePlay = createLucideIcon("circle-play", __iconNode$18);
36175
36227
  /**
36176
36228
  * @license lucide-react v0.507.0 - ISC
36177
36229
  *
36178
36230
  * This source code is licensed under the ISC license.
36179
36231
  * See the LICENSE file in the root directory of this source tree.
36180
36232
  */
36181
- const __iconNode$15 = [
36233
+ const __iconNode$17 = [
36182
36234
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36183
36235
  ["path", { d: "M8 12h8", key: "1wcyev" }],
36184
36236
  ["path", { d: "M12 8v8", key: "napkw2" }]
36185
36237
  ];
36186
- const CirclePlus = createLucideIcon("circle-plus", __iconNode$15);
36238
+ const CirclePlus = createLucideIcon("circle-plus", __iconNode$17);
36187
36239
  /**
36188
36240
  * @license lucide-react v0.507.0 - ISC
36189
36241
  *
36190
36242
  * This source code is licensed under the ISC license.
36191
36243
  * See the LICENSE file in the root directory of this source tree.
36192
36244
  */
36193
- const __iconNode$14 = [
36245
+ const __iconNode$16 = [
36246
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36247
+ ["rect", { x: "9", y: "9", width: "6", height: "6", rx: "1", key: "1ssd4o" }]
36248
+ ];
36249
+ const CircleStop = createLucideIcon("circle-stop", __iconNode$16);
36250
+ /**
36251
+ * @license lucide-react v0.507.0 - ISC
36252
+ *
36253
+ * This source code is licensed under the ISC license.
36254
+ * See the LICENSE file in the root directory of this source tree.
36255
+ */
36256
+ const __iconNode$15 = [
36194
36257
  ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
36195
36258
  [
36196
36259
  "path",
@@ -36204,72 +36267,72 @@ const __iconNode$14 = [
36204
36267
  ["path", { d: "M8 11h.01", key: "1dfujw" }],
36205
36268
  ["path", { d: "M8 16h.01", key: "18s6g9" }]
36206
36269
  ];
36207
- const ClipboardList = createLucideIcon("clipboard-list", __iconNode$14);
36270
+ const ClipboardList = createLucideIcon("clipboard-list", __iconNode$15);
36208
36271
  /**
36209
36272
  * @license lucide-react v0.507.0 - ISC
36210
36273
  *
36211
36274
  * This source code is licensed under the ISC license.
36212
36275
  * See the LICENSE file in the root directory of this source tree.
36213
36276
  */
36214
- const __iconNode$13 = [
36277
+ const __iconNode$14 = [
36215
36278
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36216
36279
  ["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]
36217
36280
  ];
36218
- const Clock$1 = createLucideIcon("clock", __iconNode$13);
36281
+ const Clock$1 = createLucideIcon("clock", __iconNode$14);
36219
36282
  /**
36220
36283
  * @license lucide-react v0.507.0 - ISC
36221
36284
  *
36222
36285
  * This source code is licensed under the ISC license.
36223
36286
  * See the LICENSE file in the root directory of this source tree.
36224
36287
  */
36225
- const __iconNode$12 = [
36288
+ const __iconNode$13 = [
36226
36289
  ["path", { d: "M12 13v8", key: "1l5pq0" }],
36227
36290
  ["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" }],
36228
36291
  ["path", { d: "m8 17 4-4 4 4", key: "1quai1" }]
36229
36292
  ];
36230
- const CloudUpload = createLucideIcon("cloud-upload", __iconNode$12);
36293
+ const CloudUpload = createLucideIcon("cloud-upload", __iconNode$13);
36231
36294
  /**
36232
36295
  * @license lucide-react v0.507.0 - ISC
36233
36296
  *
36234
36297
  * This source code is licensed under the ISC license.
36235
36298
  * See the LICENSE file in the root directory of this source tree.
36236
36299
  */
36237
- const __iconNode$11 = [
36300
+ const __iconNode$12 = [
36238
36301
  ["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
36239
36302
  ["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
36240
36303
  ["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
36241
36304
  ];
36242
- const CodeXml = createLucideIcon("code-xml", __iconNode$11);
36305
+ const CodeXml = createLucideIcon("code-xml", __iconNode$12);
36243
36306
  /**
36244
36307
  * @license lucide-react v0.507.0 - ISC
36245
36308
  *
36246
36309
  * This source code is licensed under the ISC license.
36247
36310
  * See the LICENSE file in the root directory of this source tree.
36248
36311
  */
36249
- const __iconNode$10 = [
36312
+ const __iconNode$11 = [
36250
36313
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
36251
36314
  ["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" }]
36252
36315
  ];
36253
- const Copy = createLucideIcon("copy", __iconNode$10);
36316
+ const Copy = createLucideIcon("copy", __iconNode$11);
36254
36317
  /**
36255
36318
  * @license lucide-react v0.507.0 - ISC
36256
36319
  *
36257
36320
  * This source code is licensed under the ISC license.
36258
36321
  * See the LICENSE file in the root directory of this source tree.
36259
36322
  */
36260
- const __iconNode$$ = [
36323
+ const __iconNode$10 = [
36261
36324
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
36262
36325
  ["polyline", { points: "7 10 12 15 17 10", key: "2ggqvy" }],
36263
36326
  ["line", { x1: "12", x2: "12", y1: "15", y2: "3", key: "1vk2je" }]
36264
36327
  ];
36265
- const Download = createLucideIcon("download", __iconNode$$);
36328
+ const Download = createLucideIcon("download", __iconNode$10);
36266
36329
  /**
36267
36330
  * @license lucide-react v0.507.0 - ISC
36268
36331
  *
36269
36332
  * This source code is licensed under the ISC license.
36270
36333
  * See the LICENSE file in the root directory of this source tree.
36271
36334
  */
36272
- const __iconNode$_ = [
36335
+ const __iconNode$$ = [
36273
36336
  ["path", { d: "M21.54 15H17a2 2 0 0 0-2 2v4.54", key: "1djwo0" }],
36274
36337
  [
36275
36338
  "path",
@@ -36281,38 +36344,38 @@ const __iconNode$_ = [
36281
36344
  ["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" }],
36282
36345
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
36283
36346
  ];
36284
- const Earth = createLucideIcon("earth", __iconNode$_);
36347
+ const Earth = createLucideIcon("earth", __iconNode$$);
36285
36348
  /**
36286
36349
  * @license lucide-react v0.507.0 - ISC
36287
36350
  *
36288
36351
  * This source code is licensed under the ISC license.
36289
36352
  * See the LICENSE file in the root directory of this source tree.
36290
36353
  */
36291
- const __iconNode$Z = [
36354
+ const __iconNode$_ = [
36292
36355
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
36293
36356
  ["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
36294
36357
  ["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
36295
36358
  ];
36296
- const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$Z);
36359
+ const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$_);
36297
36360
  /**
36298
36361
  * @license lucide-react v0.507.0 - ISC
36299
36362
  *
36300
36363
  * This source code is licensed under the ISC license.
36301
36364
  * See the LICENSE file in the root directory of this source tree.
36302
36365
  */
36303
- const __iconNode$Y = [
36366
+ const __iconNode$Z = [
36304
36367
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
36305
36368
  ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
36306
36369
  ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
36307
36370
  ];
36308
- const Ellipsis = createLucideIcon("ellipsis", __iconNode$Y);
36371
+ const Ellipsis = createLucideIcon("ellipsis", __iconNode$Z);
36309
36372
  /**
36310
36373
  * @license lucide-react v0.507.0 - ISC
36311
36374
  *
36312
36375
  * This source code is licensed under the ISC license.
36313
36376
  * See the LICENSE file in the root directory of this source tree.
36314
36377
  */
36315
- const __iconNode$X = [
36378
+ const __iconNode$Y = [
36316
36379
  [
36317
36380
  "path",
36318
36381
  {
@@ -36323,65 +36386,65 @@ const __iconNode$X = [
36323
36386
  ["path", { d: "M22 21H7", key: "t4ddhn" }],
36324
36387
  ["path", { d: "m5 11 9 9", key: "1mo9qw" }]
36325
36388
  ];
36326
- const Eraser = createLucideIcon("eraser", __iconNode$X);
36389
+ const Eraser = createLucideIcon("eraser", __iconNode$Y);
36327
36390
  /**
36328
36391
  * @license lucide-react v0.507.0 - ISC
36329
36392
  *
36330
36393
  * This source code is licensed under the ISC license.
36331
36394
  * See the LICENSE file in the root directory of this source tree.
36332
36395
  */
36333
- const __iconNode$W = [
36396
+ const __iconNode$X = [
36334
36397
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
36335
36398
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
36336
36399
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
36337
36400
  ];
36338
- const ExternalLink = createLucideIcon("external-link", __iconNode$W);
36401
+ const ExternalLink = createLucideIcon("external-link", __iconNode$X);
36339
36402
  /**
36340
36403
  * @license lucide-react v0.507.0 - ISC
36341
36404
  *
36342
36405
  * This source code is licensed under the ISC license.
36343
36406
  * See the LICENSE file in the root directory of this source tree.
36344
36407
  */
36345
- const __iconNode$V = [
36408
+ const __iconNode$W = [
36346
36409
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36347
36410
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36348
36411
  ["circle", { cx: "10", cy: "12", r: "2", key: "737tya" }],
36349
36412
  ["path", { d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22", key: "wt3hpn" }]
36350
36413
  ];
36351
- const FileImage = createLucideIcon("file-image", __iconNode$V);
36414
+ const FileImage = createLucideIcon("file-image", __iconNode$W);
36352
36415
  /**
36353
36416
  * @license lucide-react v0.507.0 - ISC
36354
36417
  *
36355
36418
  * This source code is licensed under the ISC license.
36356
36419
  * See the LICENSE file in the root directory of this source tree.
36357
36420
  */
36358
- const __iconNode$U = [
36421
+ const __iconNode$V = [
36359
36422
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36360
36423
  ["path", { d: "M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2", key: "1vk7w2" }],
36361
36424
  ["path", { d: "M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6", key: "1jink5" }],
36362
36425
  ["path", { d: "m5 11-3 3", key: "1dgrs4" }],
36363
36426
  ["path", { d: "m5 17-3-3h10", key: "1mvvaf" }]
36364
36427
  ];
36365
- const FileOutput = createLucideIcon("file-output", __iconNode$U);
36428
+ const FileOutput = createLucideIcon("file-output", __iconNode$V);
36366
36429
  /**
36367
36430
  * @license lucide-react v0.507.0 - ISC
36368
36431
  *
36369
36432
  * This source code is licensed under the ISC license.
36370
36433
  * See the LICENSE file in the root directory of this source tree.
36371
36434
  */
36372
- const __iconNode$T = [
36435
+ const __iconNode$U = [
36373
36436
  ["path", { d: "M12 17h.01", key: "p32p05" }],
36374
36437
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }],
36375
36438
  ["path", { d: "M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3", key: "mhlwft" }]
36376
36439
  ];
36377
- const FileQuestion = createLucideIcon("file-question", __iconNode$T);
36440
+ const FileQuestion = createLucideIcon("file-question", __iconNode$U);
36378
36441
  /**
36379
36442
  * @license lucide-react v0.507.0 - ISC
36380
36443
  *
36381
36444
  * This source code is licensed under the ISC license.
36382
36445
  * See the LICENSE file in the root directory of this source tree.
36383
36446
  */
36384
- const __iconNode$S = [
36447
+ const __iconNode$T = [
36385
36448
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36386
36449
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36387
36450
  ["path", { d: "M8 13h2", key: "yr2amv" }],
@@ -36389,64 +36452,64 @@ const __iconNode$S = [
36389
36452
  ["path", { d: "M8 17h2", key: "2yhykz" }],
36390
36453
  ["path", { d: "M14 17h2", key: "10kma7" }]
36391
36454
  ];
36392
- const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$S);
36455
+ const FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode$T);
36393
36456
  /**
36394
36457
  * @license lucide-react v0.507.0 - ISC
36395
36458
  *
36396
36459
  * This source code is licensed under the ISC license.
36397
36460
  * See the LICENSE file in the root directory of this source tree.
36398
36461
  */
36399
- const __iconNode$R = [
36462
+ const __iconNode$S = [
36400
36463
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36401
36464
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36402
36465
  ["path", { d: "M10 9H8", key: "b1mrlr" }],
36403
36466
  ["path", { d: "M16 13H8", key: "t4e002" }],
36404
36467
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
36405
36468
  ];
36406
- const FileText = createLucideIcon("file-text", __iconNode$R);
36469
+ const FileText = createLucideIcon("file-text", __iconNode$S);
36407
36470
  /**
36408
36471
  * @license lucide-react v0.507.0 - ISC
36409
36472
  *
36410
36473
  * This source code is licensed under the ISC license.
36411
36474
  * See the LICENSE file in the root directory of this source tree.
36412
36475
  */
36413
- const __iconNode$Q = [
36476
+ const __iconNode$R = [
36414
36477
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36415
36478
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36416
36479
  ["path", { d: "M12 12v6", key: "3ahymv" }],
36417
36480
  ["path", { d: "m15 15-3-3-3 3", key: "15xj92" }]
36418
36481
  ];
36419
- const FileUp = createLucideIcon("file-up", __iconNode$Q);
36482
+ const FileUp = createLucideIcon("file-up", __iconNode$R);
36420
36483
  /**
36421
36484
  * @license lucide-react v0.507.0 - ISC
36422
36485
  *
36423
36486
  * This source code is licensed under the ISC license.
36424
36487
  * See the LICENSE file in the root directory of this source tree.
36425
36488
  */
36426
- const __iconNode$P = [
36489
+ const __iconNode$Q = [
36427
36490
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36428
36491
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
36429
36492
  ["path", { d: "m10 11 5 3-5 3v-6Z", key: "7ntvm4" }]
36430
36493
  ];
36431
- const FileVideo = createLucideIcon("file-video", __iconNode$P);
36494
+ const FileVideo = createLucideIcon("file-video", __iconNode$Q);
36432
36495
  /**
36433
36496
  * @license lucide-react v0.507.0 - ISC
36434
36497
  *
36435
36498
  * This source code is licensed under the ISC license.
36436
36499
  * See the LICENSE file in the root directory of this source tree.
36437
36500
  */
36438
- const __iconNode$O = [
36501
+ const __iconNode$P = [
36439
36502
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
36440
36503
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }]
36441
36504
  ];
36442
- const File$1 = createLucideIcon("file", __iconNode$O);
36505
+ const File$1 = createLucideIcon("file", __iconNode$P);
36443
36506
  /**
36444
36507
  * @license lucide-react v0.507.0 - ISC
36445
36508
  *
36446
36509
  * This source code is licensed under the ISC license.
36447
36510
  * See the LICENSE file in the root directory of this source tree.
36448
36511
  */
36449
- const __iconNode$N = [
36512
+ const __iconNode$O = [
36450
36513
  [
36451
36514
  "path",
36452
36515
  {
@@ -36457,14 +36520,14 @@ const __iconNode$N = [
36457
36520
  ["path", { d: "M6.453 15h11.094", key: "3shlmq" }],
36458
36521
  ["path", { d: "M8.5 2h7", key: "csnxdl" }]
36459
36522
  ];
36460
- const FlaskConical = createLucideIcon("flask-conical", __iconNode$N);
36523
+ const FlaskConical = createLucideIcon("flask-conical", __iconNode$O);
36461
36524
  /**
36462
36525
  * @license lucide-react v0.507.0 - ISC
36463
36526
  *
36464
36527
  * This source code is licensed under the ISC license.
36465
36528
  * See the LICENSE file in the root directory of this source tree.
36466
36529
  */
36467
- const __iconNode$M = [
36530
+ const __iconNode$N = [
36468
36531
  [
36469
36532
  "path",
36470
36533
  {
@@ -36473,14 +36536,14 @@ const __iconNode$M = [
36473
36536
  }
36474
36537
  ]
36475
36538
  ];
36476
- const FolderOpen = createLucideIcon("folder-open", __iconNode$M);
36539
+ const FolderOpen = createLucideIcon("folder-open", __iconNode$N);
36477
36540
  /**
36478
36541
  * @license lucide-react v0.507.0 - ISC
36479
36542
  *
36480
36543
  * This source code is licensed under the ISC license.
36481
36544
  * See the LICENSE file in the root directory of this source tree.
36482
36545
  */
36483
- const __iconNode$L = [
36546
+ const __iconNode$M = [
36484
36547
  [
36485
36548
  "path",
36486
36549
  {
@@ -36491,14 +36554,14 @@ const __iconNode$L = [
36491
36554
  ["path", { d: "M22 10v6", key: "1lu8f3" }],
36492
36555
  ["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
36493
36556
  ];
36494
- const GraduationCap = createLucideIcon("graduation-cap", __iconNode$L);
36557
+ const GraduationCap = createLucideIcon("graduation-cap", __iconNode$M);
36495
36558
  /**
36496
36559
  * @license lucide-react v0.507.0 - ISC
36497
36560
  *
36498
36561
  * This source code is licensed under the ISC license.
36499
36562
  * See the LICENSE file in the root directory of this source tree.
36500
36563
  */
36501
- const __iconNode$K = [
36564
+ const __iconNode$L = [
36502
36565
  [
36503
36566
  "path",
36504
36567
  {
@@ -36508,14 +36571,14 @@ const __iconNode$K = [
36508
36571
  ],
36509
36572
  ["path", { d: "M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27", key: "1uw2ng" }]
36510
36573
  ];
36511
- const HeartPulse = createLucideIcon("heart-pulse", __iconNode$K);
36574
+ const HeartPulse = createLucideIcon("heart-pulse", __iconNode$L);
36512
36575
  /**
36513
36576
  * @license lucide-react v0.507.0 - ISC
36514
36577
  *
36515
36578
  * This source code is licensed under the ISC license.
36516
36579
  * See the LICENSE file in the root directory of this source tree.
36517
36580
  */
36518
- const __iconNode$J = [
36581
+ const __iconNode$K = [
36519
36582
  [
36520
36583
  "path",
36521
36584
  {
@@ -36524,26 +36587,26 @@ const __iconNode$J = [
36524
36587
  }
36525
36588
  ]
36526
36589
  ];
36527
- const Heart = createLucideIcon("heart", __iconNode$J);
36590
+ const Heart = createLucideIcon("heart", __iconNode$K);
36528
36591
  /**
36529
36592
  * @license lucide-react v0.507.0 - ISC
36530
36593
  *
36531
36594
  * This source code is licensed under the ISC license.
36532
36595
  * See the LICENSE file in the root directory of this source tree.
36533
36596
  */
36534
- const __iconNode$I = [
36597
+ const __iconNode$J = [
36535
36598
  ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
36536
36599
  ["path", { d: "M3 3v5h5", key: "1xhq8a" }],
36537
36600
  ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
36538
36601
  ];
36539
- const History = createLucideIcon("history", __iconNode$I);
36602
+ const History = createLucideIcon("history", __iconNode$J);
36540
36603
  /**
36541
36604
  * @license lucide-react v0.507.0 - ISC
36542
36605
  *
36543
36606
  * This source code is licensed under the ISC license.
36544
36607
  * See the LICENSE file in the root directory of this source tree.
36545
36608
  */
36546
- const __iconNode$H = [
36609
+ const __iconNode$I = [
36547
36610
  ["path", { d: "M12 3v12", key: "1x0j5s" }],
36548
36611
  ["path", { d: "m8 11 4 4 4-4", key: "1dohi6" }],
36549
36612
  [
@@ -36554,38 +36617,38 @@ const __iconNode$H = [
36554
36617
  }
36555
36618
  ]
36556
36619
  ];
36557
- const Import = createLucideIcon("import", __iconNode$H);
36620
+ const Import = createLucideIcon("import", __iconNode$I);
36558
36621
  /**
36559
36622
  * @license lucide-react v0.507.0 - ISC
36560
36623
  *
36561
36624
  * This source code is licensed under the ISC license.
36562
36625
  * See the LICENSE file in the root directory of this source tree.
36563
36626
  */
36564
- const __iconNode$G = [
36627
+ const __iconNode$H = [
36565
36628
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
36566
36629
  ["path", { d: "M12 16v-4", key: "1dtifu" }],
36567
36630
  ["path", { d: "M12 8h.01", key: "e9boi3" }]
36568
36631
  ];
36569
- const Info$1 = createLucideIcon("info", __iconNode$G);
36632
+ const Info$1 = createLucideIcon("info", __iconNode$H);
36570
36633
  /**
36571
36634
  * @license lucide-react v0.507.0 - ISC
36572
36635
  *
36573
36636
  * This source code is licensed under the ISC license.
36574
36637
  * See the LICENSE file in the root directory of this source tree.
36575
36638
  */
36576
- const __iconNode$F = [
36639
+ const __iconNode$G = [
36577
36640
  ["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" }],
36578
36641
  ["path", { d: "m21 2-9.6 9.6", key: "1j0ho8" }],
36579
36642
  ["circle", { cx: "7.5", cy: "15.5", r: "5.5", key: "yqb3hr" }]
36580
36643
  ];
36581
- const Key = createLucideIcon("key", __iconNode$F);
36644
+ const Key = createLucideIcon("key", __iconNode$G);
36582
36645
  /**
36583
36646
  * @license lucide-react v0.507.0 - ISC
36584
36647
  *
36585
36648
  * This source code is licensed under the ISC license.
36586
36649
  * See the LICENSE file in the root directory of this source tree.
36587
36650
  */
36588
- const __iconNode$E = [
36651
+ const __iconNode$F = [
36589
36652
  [
36590
36653
  "path",
36591
36654
  {
@@ -36608,27 +36671,27 @@ const __iconNode$E = [
36608
36671
  }
36609
36672
  ]
36610
36673
  ];
36611
- const Layers = createLucideIcon("layers", __iconNode$E);
36674
+ const Layers = createLucideIcon("layers", __iconNode$F);
36612
36675
  /**
36613
36676
  * @license lucide-react v0.507.0 - ISC
36614
36677
  *
36615
36678
  * This source code is licensed under the ISC license.
36616
36679
  * See the LICENSE file in the root directory of this source tree.
36617
36680
  */
36618
- const __iconNode$D = [
36681
+ const __iconNode$E = [
36619
36682
  ["rect", { width: "7", height: "7", x: "3", y: "3", rx: "1", key: "1g98yp" }],
36620
36683
  ["rect", { width: "7", height: "7", x: "14", y: "3", rx: "1", key: "6d4xhi" }],
36621
36684
  ["rect", { width: "7", height: "7", x: "14", y: "14", rx: "1", key: "nxv5o0" }],
36622
36685
  ["rect", { width: "7", height: "7", x: "3", y: "14", rx: "1", key: "1bb6yr" }]
36623
36686
  ];
36624
- const LayoutGrid = createLucideIcon("layout-grid", __iconNode$D);
36687
+ const LayoutGrid = createLucideIcon("layout-grid", __iconNode$E);
36625
36688
  /**
36626
36689
  * @license lucide-react v0.507.0 - ISC
36627
36690
  *
36628
36691
  * This source code is licensed under the ISC license.
36629
36692
  * See the LICENSE file in the root directory of this source tree.
36630
36693
  */
36631
- const __iconNode$C = [
36694
+ const __iconNode$D = [
36632
36695
  [
36633
36696
  "path",
36634
36697
  {
@@ -36639,87 +36702,99 @@ const __iconNode$C = [
36639
36702
  ["path", { d: "M9 18h6", key: "x1upvd" }],
36640
36703
  ["path", { d: "M10 22h4", key: "ceow96" }]
36641
36704
  ];
36642
- const Lightbulb = createLucideIcon("lightbulb", __iconNode$C);
36705
+ const Lightbulb = createLucideIcon("lightbulb", __iconNode$D);
36643
36706
  /**
36644
36707
  * @license lucide-react v0.507.0 - ISC
36645
36708
  *
36646
36709
  * This source code is licensed under the ISC license.
36647
36710
  * See the LICENSE file in the root directory of this source tree.
36648
36711
  */
36649
- const __iconNode$B = [
36712
+ const __iconNode$C = [
36650
36713
  ["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" }],
36651
36714
  ["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" }]
36652
36715
  ];
36653
- const Link = createLucideIcon("link", __iconNode$B);
36716
+ const Link = createLucideIcon("link", __iconNode$C);
36654
36717
  /**
36655
36718
  * @license lucide-react v0.507.0 - ISC
36656
36719
  *
36657
36720
  * This source code is licensed under the ISC license.
36658
36721
  * See the LICENSE file in the root directory of this source tree.
36659
36722
  */
36660
- const __iconNode$A = [
36723
+ const __iconNode$B = [
36661
36724
  ["path", { d: "M21 12h-8", key: "1bmf0i" }],
36662
36725
  ["path", { d: "M21 6H8", key: "1pqkrb" }],
36663
36726
  ["path", { d: "M21 18h-8", key: "1tm79t" }],
36664
36727
  ["path", { d: "M3 6v4c0 1.1.9 2 2 2h3", key: "1ywdgy" }],
36665
36728
  ["path", { d: "M3 10v6c0 1.1.9 2 2 2h3", key: "2wc746" }]
36666
36729
  ];
36667
- const ListTree = createLucideIcon("list-tree", __iconNode$A);
36730
+ const ListTree = createLucideIcon("list-tree", __iconNode$B);
36668
36731
  /**
36669
36732
  * @license lucide-react v0.507.0 - ISC
36670
36733
  *
36671
36734
  * This source code is licensed under the ISC license.
36672
36735
  * See the LICENSE file in the root directory of this source tree.
36673
36736
  */
36674
- const __iconNode$z = [
36737
+ const __iconNode$A = [
36675
36738
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
36676
36739
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
36677
36740
  ];
36678
- const Mail = createLucideIcon("mail", __iconNode$z);
36741
+ const Mail = createLucideIcon("mail", __iconNode$A);
36679
36742
  /**
36680
36743
  * @license lucide-react v0.507.0 - ISC
36681
36744
  *
36682
36745
  * This source code is licensed under the ISC license.
36683
36746
  * See the LICENSE file in the root directory of this source tree.
36684
36747
  */
36685
- const __iconNode$y = [
36748
+ const __iconNode$z = [
36686
36749
  ["polyline", { points: "15 3 21 3 21 9", key: "mznyad" }],
36687
36750
  ["polyline", { points: "9 21 3 21 3 15", key: "1avn1i" }],
36688
36751
  ["line", { x1: "21", x2: "14", y1: "3", y2: "10", key: "ota7mn" }],
36689
36752
  ["line", { x1: "3", x2: "10", y1: "21", y2: "14", key: "1atl0r" }]
36690
36753
  ];
36691
- const Maximize2 = createLucideIcon("maximize-2", __iconNode$y);
36754
+ const Maximize2 = createLucideIcon("maximize-2", __iconNode$z);
36692
36755
  /**
36693
36756
  * @license lucide-react v0.507.0 - ISC
36694
36757
  *
36695
36758
  * This source code is licensed under the ISC license.
36696
36759
  * See the LICENSE file in the root directory of this source tree.
36697
36760
  */
36698
- const __iconNode$x = [
36761
+ const __iconNode$y = [
36699
36762
  ["path", { d: "m3 11 18-5v12L3 14v-3z", key: "n962bs" }],
36700
36763
  ["path", { d: "M11.6 16.8a3 3 0 1 1-5.8-1.6", key: "1yl0tm" }]
36701
36764
  ];
36702
- const Megaphone = createLucideIcon("megaphone", __iconNode$x);
36765
+ const Megaphone = createLucideIcon("megaphone", __iconNode$y);
36703
36766
  /**
36704
36767
  * @license lucide-react v0.507.0 - ISC
36705
36768
  *
36706
36769
  * This source code is licensed under the ISC license.
36707
36770
  * See the LICENSE file in the root directory of this source tree.
36708
36771
  */
36709
- const __iconNode$w = [
36772
+ const __iconNode$x = [
36710
36773
  ["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }]
36711
36774
  ];
36712
- const MessageCircle = createLucideIcon("message-circle", __iconNode$w);
36775
+ const MessageCircle = createLucideIcon("message-circle", __iconNode$x);
36713
36776
  /**
36714
36777
  * @license lucide-react v0.507.0 - ISC
36715
36778
  *
36716
36779
  * This source code is licensed under the ISC license.
36717
36780
  * See the LICENSE file in the root directory of this source tree.
36718
36781
  */
36719
- const __iconNode$v = [
36782
+ const __iconNode$w = [
36720
36783
  ["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" }]
36721
36784
  ];
36722
- const MessageSquare = createLucideIcon("message-square", __iconNode$v);
36785
+ const MessageSquare = createLucideIcon("message-square", __iconNode$w);
36786
+ /**
36787
+ * @license lucide-react v0.507.0 - ISC
36788
+ *
36789
+ * This source code is licensed under the ISC license.
36790
+ * See the LICENSE file in the root directory of this source tree.
36791
+ */
36792
+ const __iconNode$v = [
36793
+ ["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
+ ["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2", key: "1vc78b" }],
36795
+ ["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }]
36796
+ ];
36797
+ const Mic = createLucideIcon("mic", __iconNode$v);
36723
36798
  /**
36724
36799
  * @license lucide-react v0.507.0 - ISC
36725
36800
  *
@@ -86980,7 +87055,7 @@ const languages = [
86980
87055
  name: "Go",
86981
87056
  extensions: ["go"],
86982
87057
  load() {
86983
- return __vitePreload(() => import("./index-CPnY6jn3.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
87058
+ return __vitePreload(() => import("./index-JQ7XEBgh.js"), true ? __vite__mapDeps([0,1,2]) : void 0, import.meta.url).then((m2) => m2.go());
86984
87059
  }
86985
87060
  }),
86986
87061
  /* @__PURE__ */ LanguageDescription.of({
@@ -87157,7 +87232,7 @@ const languages = [
87157
87232
  alias: ["yml"],
87158
87233
  extensions: ["yaml", "yml"],
87159
87234
  load() {
87160
- return __vitePreload(() => import("./index-DT4YjQYg.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
87235
+ return __vitePreload(() => import("./index-B1kgBLxO.js"), true ? __vite__mapDeps([3,1,2]) : void 0, import.meta.url).then((m2) => m2.yaml());
87161
87236
  }
87162
87237
  }),
87163
87238
  // Legacy modes ported from CodeMirror 5
@@ -169596,7 +169671,7 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
169596
169671
  registerLayoutLoaders([
169597
169672
  {
169598
169673
  name: "dagre",
169599
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-CUqy_fyO.js"), true ? __vite__mapDeps([6,7,8,9,10,11,1,2]) : void 0, import.meta.url), "loader")
169674
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-OKDRZEBW-BsxbY4uX.js"), true ? __vite__mapDeps([6,7,8,9,10,11,1,2]) : void 0, import.meta.url), "loader")
169600
169675
  }
169601
169676
  ]);
169602
169677
  }, "registerDefaultLayoutLoaders");
@@ -170186,7 +170261,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
170186
170261
  }, "detector");
170187
170262
  var loader = /* @__PURE__ */ __name(async () => {
170188
170263
  const { diagram: diagram2 } = await __vitePreload(async () => {
170189
- const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-B9Sos203.js");
170264
+ const { diagram: diagram22 } = await import("./c4Diagram-VJAJSXHY-C36lbIjS.js");
170190
170265
  return { diagram: diagram22 };
170191
170266
  }, true ? __vite__mapDeps([12,13,1,2]) : void 0, import.meta.url);
170192
170267
  return { id, diagram: diagram2 };
@@ -170206,7 +170281,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
170206
170281
  }, "detector");
170207
170282
  var loader2 = /* @__PURE__ */ __name(async () => {
170208
170283
  const { diagram: diagram2 } = await __vitePreload(async () => {
170209
- const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-Dl3mQO2q.js");
170284
+ const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-BTDwdXoq.js");
170210
170285
  return { diagram: diagram22 };
170211
170286
  }, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
170212
170287
  return { id: id2, diagram: diagram2 };
@@ -170232,7 +170307,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
170232
170307
  }, "detector");
170233
170308
  var loader3 = /* @__PURE__ */ __name(async () => {
170234
170309
  const { diagram: diagram2 } = await __vitePreload(async () => {
170235
- const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-Dl3mQO2q.js");
170310
+ const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-BTDwdXoq.js");
170236
170311
  return { diagram: diagram22 };
170237
170312
  }, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
170238
170313
  return { id: id3, diagram: diagram2 };
@@ -170249,7 +170324,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
170249
170324
  }, "detector");
170250
170325
  var loader4 = /* @__PURE__ */ __name(async () => {
170251
170326
  const { diagram: diagram2 } = await __vitePreload(async () => {
170252
- const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-B6IODaEY.js");
170327
+ const { diagram: diagram22 } = await import("./erDiagram-Q7BY3M3F-Ccs7n14X.js");
170253
170328
  return { diagram: diagram22 };
170254
170329
  }, true ? __vite__mapDeps([17,15,16,1,2]) : void 0, import.meta.url);
170255
170330
  return { id: id4, diagram: diagram2 };
@@ -170266,7 +170341,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
170266
170341
  }, "detector");
170267
170342
  var loader5 = /* @__PURE__ */ __name(async () => {
170268
170343
  const { diagram: diagram2 } = await __vitePreload(async () => {
170269
- const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-Dni3Jg2a.js");
170344
+ const { diagram: diagram22 } = await import("./gitGraphDiagram-7IBYFJ6S-BrsAP7d3.js");
170270
170345
  return { diagram: diagram22 };
170271
170346
  }, true ? __vite__mapDeps([18,19,20,21,8,10,11,1,2]) : void 0, import.meta.url);
170272
170347
  return { id: id5, diagram: diagram2 };
@@ -170283,7 +170358,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
170283
170358
  }, "detector");
170284
170359
  var loader6 = /* @__PURE__ */ __name(async () => {
170285
170360
  const { diagram: diagram2 } = await __vitePreload(async () => {
170286
- const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-FX9v3sXK.js");
170361
+ const { diagram: diagram22 } = await import("./ganttDiagram-APWFNJXF-BsHcmVQL.js");
170287
170362
  return { diagram: diagram22 };
170288
170363
  }, true ? __vite__mapDeps([22,1,2]) : void 0, import.meta.url);
170289
170364
  return { id: id6, diagram: diagram2 };
@@ -170300,7 +170375,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
170300
170375
  }, "detector");
170301
170376
  var loader7 = /* @__PURE__ */ __name(async () => {
170302
170377
  const { diagram: diagram2 } = await __vitePreload(async () => {
170303
- const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-C04KBzB9.js");
170378
+ const { diagram: diagram22 } = await import("./infoDiagram-PH2N3AL5-CeBCRQ-r.js");
170304
170379
  return { diagram: diagram22 };
170305
170380
  }, true ? __vite__mapDeps([23,21,8,10,11,1,2]) : void 0, import.meta.url);
170306
170381
  return { id: id7, diagram: diagram2 };
@@ -170316,7 +170391,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
170316
170391
  }, "detector");
170317
170392
  var loader8 = /* @__PURE__ */ __name(async () => {
170318
170393
  const { diagram: diagram2 } = await __vitePreload(async () => {
170319
- const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-DNtHn0jA.js");
170394
+ const { diagram: diagram22 } = await import("./pieDiagram-IB7DONF6-CwHy1pe3.js");
170320
170395
  return { diagram: diagram22 };
170321
170396
  }, true ? __vite__mapDeps([24,19,21,8,10,11,25,1,2]) : void 0, import.meta.url);
170322
170397
  return { id: id8, diagram: diagram2 };
@@ -170332,7 +170407,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
170332
170407
  }, "detector");
170333
170408
  var loader9 = /* @__PURE__ */ __name(async () => {
170334
170409
  const { diagram: diagram2 } = await __vitePreload(async () => {
170335
- const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-DddxYL3U.js");
170410
+ const { diagram: diagram22 } = await import("./quadrantDiagram-7GDLP6J5-DteRiyWH.js");
170336
170411
  return { diagram: diagram22 };
170337
170412
  }, true ? __vite__mapDeps([26,1,2]) : void 0, import.meta.url);
170338
170413
  return { id: id9, diagram: diagram2 };
@@ -170349,7 +170424,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
170349
170424
  }, "detector");
170350
170425
  var loader10 = /* @__PURE__ */ __name(async () => {
170351
170426
  const { diagram: diagram2 } = await __vitePreload(async () => {
170352
- const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-qhS6hrxS.js");
170427
+ const { diagram: diagram22 } = await import("./xychartDiagram-VJFVF3MP-DjE9t7Qo.js");
170353
170428
  return { diagram: diagram22 };
170354
170429
  }, true ? __vite__mapDeps([27,1,2]) : void 0, import.meta.url);
170355
170430
  return { id: id10, diagram: diagram2 };
@@ -170366,7 +170441,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
170366
170441
  }, "detector");
170367
170442
  var loader11 = /* @__PURE__ */ __name(async () => {
170368
170443
  const { diagram: diagram2 } = await __vitePreload(async () => {
170369
- const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-Cfo6ZHQh.js");
170444
+ const { diagram: diagram22 } = await import("./requirementDiagram-KVF5MWMF-Cjtft40u.js");
170370
170445
  return { diagram: diagram22 };
170371
170446
  }, true ? __vite__mapDeps([28,15,1,2]) : void 0, import.meta.url);
170372
170447
  return { id: id11, diagram: diagram2 };
@@ -170383,7 +170458,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
170383
170458
  }, "detector");
170384
170459
  var loader12 = /* @__PURE__ */ __name(async () => {
170385
170460
  const { diagram: diagram2 } = await __vitePreload(async () => {
170386
- const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-DKn__Lqs.js");
170461
+ const { diagram: diagram22 } = await import("./sequenceDiagram-X6HHIX6F-CMUs0WWj.js");
170387
170462
  return { diagram: diagram22 };
170388
170463
  }, true ? __vite__mapDeps([29,13,20,1,2]) : void 0, import.meta.url);
170389
170464
  return { id: id12, diagram: diagram2 };
@@ -170403,7 +170478,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
170403
170478
  }, "detector");
170404
170479
  var loader13 = /* @__PURE__ */ __name(async () => {
170405
170480
  const { diagram: diagram2 } = await __vitePreload(async () => {
170406
- const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-BG9YVWo9.js");
170481
+ const { diagram: diagram22 } = await import("./classDiagram-GIVACNV2-vtFcXgAr.js");
170407
170482
  return { diagram: diagram22 };
170408
170483
  }, true ? __vite__mapDeps([30,31,15,1,2]) : void 0, import.meta.url);
170409
170484
  return { id: id13, diagram: diagram2 };
@@ -170423,7 +170498,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
170423
170498
  }, "detector");
170424
170499
  var loader14 = /* @__PURE__ */ __name(async () => {
170425
170500
  const { diagram: diagram2 } = await __vitePreload(async () => {
170426
- const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-BG9YVWo9.js");
170501
+ const { diagram: diagram22 } = await import("./classDiagram-v2-COTLJTTW-vtFcXgAr.js");
170427
170502
  return { diagram: diagram22 };
170428
170503
  }, true ? __vite__mapDeps([32,31,15,1,2]) : void 0, import.meta.url);
170429
170504
  return { id: id14, diagram: diagram2 };
@@ -170443,7 +170518,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
170443
170518
  }, "detector");
170444
170519
  var loader15 = /* @__PURE__ */ __name(async () => {
170445
170520
  const { diagram: diagram2 } = await __vitePreload(async () => {
170446
- const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-BVSJzT2-.js");
170521
+ const { diagram: diagram22 } = await import("./stateDiagram-DGXRK772-JkRRAJkE.js");
170447
170522
  return { diagram: diagram22 };
170448
170523
  }, true ? __vite__mapDeps([33,34,15,7,8,9,10,1,2]) : void 0, import.meta.url);
170449
170524
  return { id: id15, diagram: diagram2 };
@@ -170466,7 +170541,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
170466
170541
  }, "detector");
170467
170542
  var loader16 = /* @__PURE__ */ __name(async () => {
170468
170543
  const { diagram: diagram2 } = await __vitePreload(async () => {
170469
- const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-CypfddVy.js");
170544
+ const { diagram: diagram22 } = await import("./stateDiagram-v2-YXO3MK2T-DhB-86w-.js");
170470
170545
  return { diagram: diagram22 };
170471
170546
  }, true ? __vite__mapDeps([35,34,15,1,2]) : void 0, import.meta.url);
170472
170547
  return { id: id16, diagram: diagram2 };
@@ -170483,7 +170558,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
170483
170558
  }, "detector");
170484
170559
  var loader17 = /* @__PURE__ */ __name(async () => {
170485
170560
  const { diagram: diagram2 } = await __vitePreload(async () => {
170486
- const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-XjyRPfYe.js");
170561
+ const { diagram: diagram22 } = await import("./journeyDiagram-U35MCT3I-CFEflF1X.js");
170487
170562
  return { diagram: diagram22 };
170488
170563
  }, true ? __vite__mapDeps([36,13,25,1,2]) : void 0, import.meta.url);
170489
170564
  return { id: id17, diagram: diagram2 };
@@ -170553,7 +170628,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
170553
170628
  }, "detector");
170554
170629
  var loader18 = /* @__PURE__ */ __name(async () => {
170555
170630
  const { diagram: diagram2 } = await __vitePreload(async () => {
170556
- const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-Dl3mQO2q.js");
170631
+ const { diagram: diagram22 } = await import("./flowDiagram-4HSFHLVR-BTDwdXoq.js");
170557
170632
  return { diagram: diagram22 };
170558
170633
  }, true ? __vite__mapDeps([14,15,16,1,2]) : void 0, import.meta.url);
170559
170634
  return { id: id18, diagram: diagram2 };
@@ -170570,7 +170645,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
170570
170645
  }, "detector");
170571
170646
  var loader19 = /* @__PURE__ */ __name(async () => {
170572
170647
  const { diagram: diagram2 } = await __vitePreload(async () => {
170573
- const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-DBxUODzY.js");
170648
+ const { diagram: diagram22 } = await import("./timeline-definition-BDJGKUSR-DmImWV1j.js");
170574
170649
  return { diagram: diagram22 };
170575
170650
  }, true ? __vite__mapDeps([37,25,1,2]) : void 0, import.meta.url);
170576
170651
  return { id: id19, diagram: diagram2 };
@@ -170587,7 +170662,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
170587
170662
  }, "detector");
170588
170663
  var loader20 = /* @__PURE__ */ __name(async () => {
170589
170664
  const { diagram: diagram2 } = await __vitePreload(async () => {
170590
- const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-Dc8z1BYF.js");
170665
+ const { diagram: diagram22 } = await import("./mindmap-definition-ALO5MXBD-DuRohiYz.js");
170591
170666
  return { diagram: diagram22 };
170592
170667
  }, true ? __vite__mapDeps([38,39,1,2]) : void 0, import.meta.url);
170593
170668
  return { id: id20, diagram: diagram2 };
@@ -170604,7 +170679,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
170604
170679
  }, "detector");
170605
170680
  var loader21 = /* @__PURE__ */ __name(async () => {
170606
170681
  const { diagram: diagram2 } = await __vitePreload(async () => {
170607
- const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-DVuFQlbH.js");
170682
+ const { diagram: diagram22 } = await import("./kanban-definition-NDS4AKOZ-lJsLyjEH.js");
170608
170683
  return { diagram: diagram22 };
170609
170684
  }, true ? __vite__mapDeps([40,1,2]) : void 0, import.meta.url);
170610
170685
  return { id: id21, diagram: diagram2 };
@@ -170621,7 +170696,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
170621
170696
  }, "detector");
170622
170697
  var loader22 = /* @__PURE__ */ __name(async () => {
170623
170698
  const { diagram: diagram2 } = await __vitePreload(async () => {
170624
- const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-B86QqVNt.js");
170699
+ const { diagram: diagram22 } = await import("./sankeyDiagram-QLVOVGJD-DQ_oTubV.js");
170625
170700
  return { diagram: diagram22 };
170626
170701
  }, true ? __vite__mapDeps([41,1,2]) : void 0, import.meta.url);
170627
170702
  return { id: id22, diagram: diagram2 };
@@ -170638,7 +170713,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
170638
170713
  }, "detector");
170639
170714
  var loader23 = /* @__PURE__ */ __name(async () => {
170640
170715
  const { diagram: diagram2 } = await __vitePreload(async () => {
170641
- const { diagram: diagram22 } = await import("./diagram-VNBRO52H-BU04y9Fr.js");
170716
+ const { diagram: diagram22 } = await import("./diagram-VNBRO52H-CU_0csUZ.js");
170642
170717
  return { diagram: diagram22 };
170643
170718
  }, true ? __vite__mapDeps([42,19,21,8,10,11,1,2]) : void 0, import.meta.url);
170644
170719
  return { id: id23, diagram: diagram2 };
@@ -170654,7 +170729,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
170654
170729
  }, "detector");
170655
170730
  var loader24 = /* @__PURE__ */ __name(async () => {
170656
170731
  const { diagram: diagram2 } = await __vitePreload(async () => {
170657
- const { diagram: diagram22 } = await import("./diagram-SSKATNLV-BhN3X8_Q.js");
170732
+ const { diagram: diagram22 } = await import("./diagram-SSKATNLV-Cc6v1RBI.js");
170658
170733
  return { diagram: diagram22 };
170659
170734
  }, true ? __vite__mapDeps([43,19,21,8,10,11,1,2]) : void 0, import.meta.url);
170660
170735
  return { id: id24, diagram: diagram2 };
@@ -170670,7 +170745,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
170670
170745
  }, "detector");
170671
170746
  var loader25 = /* @__PURE__ */ __name(async () => {
170672
170747
  const { diagram: diagram2 } = await __vitePreload(async () => {
170673
- const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-CKZMfayd.js");
170748
+ const { diagram: diagram22 } = await import("./blockDiagram-JOT3LUYC-B1Up6r6-.js");
170674
170749
  return { diagram: diagram22 };
170675
170750
  }, true ? __vite__mapDeps([44,11,8,7,16,1,2]) : void 0, import.meta.url);
170676
170751
  return { id: id25, diagram: diagram2 };
@@ -170687,7 +170762,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
170687
170762
  }, "detector");
170688
170763
  var loader26 = /* @__PURE__ */ __name(async () => {
170689
170764
  const { diagram: diagram2 } = await __vitePreload(async () => {
170690
- const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-DpgUpIap.js");
170765
+ const { diagram: diagram22 } = await import("./architectureDiagram-IEHRJDOE-Bx8X697l.js");
170691
170766
  return { diagram: diagram22 };
170692
170767
  }, true ? __vite__mapDeps([45,19,20,21,8,10,11,39,1,2]) : void 0, import.meta.url);
170693
170768
  return { id: id26, diagram: diagram2 };
@@ -174878,6 +174953,200 @@ const AttachmentsPreview = ({
174878
174953
  ) })
174879
174954
  ] }, `${index2}-${attachment}`)) });
174880
174955
  };
174956
+ const BUFFER_SIZE = 120;
174957
+ const MIN_BAR_HEIGHT = 2;
174958
+ const MAX_BAR_HEIGHT = 24;
174959
+ const FRAMES_TO_SKIP = 4;
174960
+ const createPulseAnimation = (primaryColor) => keyframes`
174961
+ 0% {
174962
+ transform: scale(0.95);
174963
+ box-shadow: 0 0 0 0 ${alpha$1(primaryColor, 0.7)};
174964
+ }
174965
+ 70% {
174966
+ transform: scale(1);
174967
+ box-shadow: 0 0 0 10px ${alpha$1(primaryColor, 0)};
174968
+ }
174969
+ 100% {
174970
+ transform: scale(0.95);
174971
+ box-shadow: 0 0 0 0 ${alpha$1(primaryColor, 0)};
174972
+ }
174973
+ `;
174974
+ const RecordingIndicatorContainer = styled$1(Box)(({ theme: theme2 }) => ({
174975
+ flex: 1,
174976
+ display: "flex",
174977
+ alignItems: "center",
174978
+ justifyContent: "center",
174979
+ minHeight: "50px",
174980
+ padding: theme2.spacing(1, 2),
174981
+ borderRadius: theme2.shape.borderRadius * 2,
174982
+ backgroundColor: alpha$1(theme2.palette.primary.main, 0.08),
174983
+ border: `1px solid ${alpha$1(theme2.palette.primary.main, 0.2)}`,
174984
+ color: theme2.palette.primary.main,
174985
+ gap: theme2.spacing(2)
174986
+ }));
174987
+ const RecordingText = styled$1(Typography)(({ theme: theme2 }) => ({
174988
+ fontSize: "0.9rem",
174989
+ fontWeight: 500,
174990
+ color: theme2.palette.primary.main
174991
+ }));
174992
+ const RecordingDot = styled$1(Box)(({ theme: theme2 }) => ({
174993
+ width: 8,
174994
+ height: 8,
174995
+ backgroundColor: theme2.palette.primary.main,
174996
+ borderRadius: "50%",
174997
+ animation: `${createPulseAnimation(theme2.palette.primary.main)} 1.5s infinite ease-in-out`,
174998
+ flexShrink: 0
174999
+ }));
175000
+ const WaveformCanvas = styled$1("canvas")(() => ({
175001
+ display: "block",
175002
+ width: "100%",
175003
+ height: `${MAX_BAR_HEIGHT}px`,
175004
+ flex: 1
175005
+ }));
175006
+ const AudioRecordingIndicator = ({
175007
+ isRecording
175008
+ }) => {
175009
+ const theme2 = useTheme$2();
175010
+ const canvasRef = reactExports.useRef(null);
175011
+ const animationFrameRef = reactExports.useRef();
175012
+ const mediaStreamRef = reactExports.useRef(null);
175013
+ const audioContextRef = reactExports.useRef(null);
175014
+ const analyserRef = reactExports.useRef(null);
175015
+ const dataArrayRef = reactExports.useRef(null);
175016
+ const heightsRef = reactExports.useRef(Array(BUFFER_SIZE).fill(MIN_BAR_HEIGHT));
175017
+ const frameCountRef = reactExports.useRef(0);
175018
+ reactExports.useEffect(() => {
175019
+ if (!isRecording) {
175020
+ return;
175021
+ }
175022
+ const canvas = canvasRef.current;
175023
+ if (!canvas) {
175024
+ return;
175025
+ }
175026
+ const ctx = canvas.getContext("2d");
175027
+ if (!ctx) {
175028
+ return;
175029
+ }
175030
+ const resizeCanvas = () => {
175031
+ const { width, height } = canvas.getBoundingClientRect();
175032
+ const dpr = window.devicePixelRatio || 1;
175033
+ canvas.width = width * dpr;
175034
+ canvas.height = height * dpr;
175035
+ ctx.scale(dpr, dpr);
175036
+ };
175037
+ resizeCanvas();
175038
+ window.addEventListener("resize", resizeCanvas);
175039
+ heightsRef.current = Array(BUFFER_SIZE).fill(MIN_BAR_HEIGHT);
175040
+ frameCountRef.current = 0;
175041
+ const drawWaveform = () => {
175042
+ const { width, height } = canvas.getBoundingClientRect();
175043
+ ctx.clearRect(0, 0, width, height);
175044
+ const barWidth = width / BUFFER_SIZE;
175045
+ const spacingRatio = 0.4;
175046
+ const barSpacing = barWidth * spacingRatio;
175047
+ const actualBarWidth = barWidth * (1 - spacingRatio);
175048
+ const radius = actualBarWidth / 2;
175049
+ heightsRef.current.forEach((h2, i2) => {
175050
+ const x2 = i2 * barWidth + barSpacing / 2;
175051
+ const centerY = height / 2;
175052
+ const barHeight = h2;
175053
+ const y2 = centerY - barHeight / 2;
175054
+ const isMinimalData = h2 <= MIN_BAR_HEIGHT;
175055
+ ctx.fillStyle = isMinimalData ? alpha$1(theme2.palette.primary.main, 0.3) : theme2.palette.primary.main;
175056
+ ctx.beginPath();
175057
+ ctx.roundRect(x2, y2, actualBarWidth, barHeight, radius);
175058
+ ctx.fill();
175059
+ });
175060
+ };
175061
+ const updateLoop = () => {
175062
+ if (analyserRef.current && dataArrayRef.current) {
175063
+ analyserRef.current.getByteFrequencyData(dataArrayRef.current);
175064
+ let sum = 0;
175065
+ const data2 = dataArrayRef.current;
175066
+ for (let i2 = 0; i2 < data2.length; i2++) {
175067
+ sum += data2[i2];
175068
+ }
175069
+ const avg = data2.length ? sum / data2.length : 0;
175070
+ const newHeight = Math.max(
175071
+ MIN_BAR_HEIGHT,
175072
+ avg / 255 * (MAX_BAR_HEIGHT - MIN_BAR_HEIGHT) + MIN_BAR_HEIGHT
175073
+ );
175074
+ frameCountRef.current += 1;
175075
+ if (frameCountRef.current > FRAMES_TO_SKIP) {
175076
+ heightsRef.current.shift();
175077
+ heightsRef.current.push(newHeight);
175078
+ frameCountRef.current = 0;
175079
+ drawWaveform();
175080
+ }
175081
+ }
175082
+ animationFrameRef.current = requestAnimationFrame(updateLoop);
175083
+ };
175084
+ (async () => {
175085
+ try {
175086
+ const stream = await navigator.mediaDevices.getUserMedia({
175087
+ audio: true
175088
+ });
175089
+ mediaStreamRef.current = stream;
175090
+ const AudioContextClass = window.AudioContext || window.webkitAudioContext;
175091
+ const audioCtx = new AudioContextClass();
175092
+ audioContextRef.current = audioCtx;
175093
+ const analyser = audioCtx.createAnalyser();
175094
+ analyser.fftSize = 64;
175095
+ analyser.smoothingTimeConstant = 0.6;
175096
+ analyserRef.current = analyser;
175097
+ const source = audioCtx.createMediaStreamSource(stream);
175098
+ source.connect(analyser);
175099
+ dataArrayRef.current = new Uint8Array(analyser.frequencyBinCount);
175100
+ updateLoop();
175101
+ } catch (error) {
175102
+ console.warn(
175103
+ "Could not access microphone for waveform visualization:",
175104
+ error
175105
+ );
175106
+ const randomLoop = () => {
175107
+ const randH = Math.max(
175108
+ MIN_BAR_HEIGHT,
175109
+ Math.random() * (MAX_BAR_HEIGHT - MIN_BAR_HEIGHT) + MIN_BAR_HEIGHT
175110
+ );
175111
+ frameCountRef.current += 1;
175112
+ if (frameCountRef.current > FRAMES_TO_SKIP) {
175113
+ heightsRef.current.shift();
175114
+ heightsRef.current.push(randH);
175115
+ frameCountRef.current = 0;
175116
+ drawWaveform();
175117
+ }
175118
+ animationFrameRef.current = requestAnimationFrame(randomLoop);
175119
+ };
175120
+ randomLoop();
175121
+ }
175122
+ })();
175123
+ return () => {
175124
+ window.removeEventListener("resize", resizeCanvas);
175125
+ if (animationFrameRef.current) {
175126
+ cancelAnimationFrame(animationFrameRef.current);
175127
+ }
175128
+ if (mediaStreamRef.current) {
175129
+ for (const track of mediaStreamRef.current.getTracks()) {
175130
+ track.stop();
175131
+ }
175132
+ mediaStreamRef.current = null;
175133
+ }
175134
+ if (audioContextRef.current && audioContextRef.current.state !== "closed") {
175135
+ audioContextRef.current.close().catch(console.error);
175136
+ audioContextRef.current = null;
175137
+ }
175138
+ };
175139
+ }, [isRecording, theme2.palette.primary.main]);
175140
+ if (!isRecording) {
175141
+ return null;
175142
+ }
175143
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(RecordingIndicatorContainer, { children: [
175144
+ /* @__PURE__ */ jsxRuntimeExports.jsx(RecordingDot, {}),
175145
+ /* @__PURE__ */ jsxRuntimeExports.jsx(RecordingText, { variant: "body2", children: "Recording" }),
175146
+ /* @__PURE__ */ jsxRuntimeExports.jsx(WaveformCanvas, { ref: canvasRef })
175147
+ ] });
175148
+ };
175149
+ AudioRecordingIndicator.displayName = "AudioRecordingIndicator";
174881
175150
  const MAX_RECENT_DIRECTORIES = 5;
174882
175151
  const useRecentDirectoriesStore = create$3()(
174883
175152
  persist(
@@ -175397,6 +175666,32 @@ const ScrollToBottomButton = ({
175397
175666
  }
175398
175667
  ) }) });
175399
175668
  };
175669
+ const waveformAnimation = keyframes`
175670
+ 0%, 100% { height: 2px; }
175671
+ 50% { height: 16px; }
175672
+ `;
175673
+ const WaveformContainer = styled$1(Box)(() => ({
175674
+ display: "flex",
175675
+ alignItems: "center",
175676
+ height: "24px",
175677
+ gap: "2px"
175678
+ }));
175679
+ const WaveformBar = styled$1(Box)(({ theme: theme2 }) => ({
175680
+ width: "3px",
175681
+ backgroundColor: theme2.palette.primary.main,
175682
+ animation: `${waveformAnimation} 1.2s infinite ease-in-out`,
175683
+ borderRadius: "1px"
175684
+ }));
175685
+ const WaveformAnimation = () => {
175686
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(WaveformContainer, { children: [
175687
+ /* @__PURE__ */ jsxRuntimeExports.jsx(WaveformBar, { sx: { animationDelay: "0s" } }),
175688
+ /* @__PURE__ */ jsxRuntimeExports.jsx(WaveformBar, { sx: { animationDelay: "0.2s", height: "8px" } }),
175689
+ /* @__PURE__ */ jsxRuntimeExports.jsx(WaveformBar, { sx: { animationDelay: "0.4s" } }),
175690
+ /* @__PURE__ */ jsxRuntimeExports.jsx(WaveformBar, { sx: { animationDelay: "0.6s", height: "12px" } }),
175691
+ /* @__PURE__ */ jsxRuntimeExports.jsx(WaveformBar, { sx: { animationDelay: "0.8s" } })
175692
+ ] });
175693
+ };
175694
+ WaveformAnimation.displayName = "WaveformAnimation";
175400
175695
  const InputOuterContainer = styled$1(Box)(({ theme: theme2 }) => ({
175401
175696
  width: "100%",
175402
175697
  flexGrow: 1,
@@ -175598,6 +175893,23 @@ const EmptyStateTitle = styled$1(Typography)(({ theme: theme2 }) => ({
175598
175893
  marginBottom: theme2.spacing(2)
175599
175894
  }
175600
175895
  }));
175896
+ const TranscriptionIndicator = styled$1(Box)(({ theme: theme2 }) => ({
175897
+ flex: 1,
175898
+ display: "flex",
175899
+ alignItems: "center",
175900
+ justifyContent: "center",
175901
+ minHeight: "50px",
175902
+ padding: theme2.spacing(1, 2),
175903
+ borderRadius: theme2.shape.borderRadius,
175904
+ color: theme2.palette.primary.dark,
175905
+ gap: theme2.spacing(1)
175906
+ }));
175907
+ const TranscriptionText = styled$1(Typography)(({ theme: theme2 }) => ({
175908
+ fontSize: "0.875rem",
175909
+ fontWeight: 500,
175910
+ marginRight: theme2.spacing(1.5),
175911
+ color: theme2.palette.text.secondary
175912
+ }));
175601
175913
  const MessageInput = reactExports.forwardRef(
175602
175914
  ({
175603
175915
  onSendMessage,
@@ -175613,7 +175925,21 @@ const MessageInput = reactExports.forwardRef(
175613
175925
  agentData
175614
175926
  }, ref) => {
175615
175927
  const [attachments, setAttachments] = reactExports.useState([]);
175928
+ const [isRecording, setIsRecording] = reactExports.useState(false);
175929
+ const [audioBlob, setAudioBlob] = reactExports.useState(null);
175930
+ const [isTranscribing, setIsTranscribing] = reactExports.useState(false);
175931
+ const mediaRecorderRef = reactExports.useRef(null);
175932
+ const audioChunksRef = reactExports.useRef([]);
175616
175933
  const fileInputRef = reactExports.useRef(null);
175934
+ const { data: credentialsData, isLoading: isLoadingCredentials } = useCredentials();
175935
+ const isRadientApiKeyConfigured = reactExports.useMemo(
175936
+ () => credentialsData?.keys?.includes("RADIENT_API_KEY"),
175937
+ [credentialsData?.keys]
175938
+ );
175939
+ const canEnableRecordingFeature = reactExports.useMemo(
175940
+ () => isRadientApiKeyConfigured && !isLoadingCredentials,
175941
+ [isRadientApiKeyConfigured, isLoadingCredentials]
175942
+ );
175617
175943
  const MAX_SUGGESTIONS2 = 7;
175618
175944
  const suggestions = reactExports.useMemo(() => {
175619
175945
  if (!initialSuggestions || initialSuggestions.length === 0) return [];
@@ -175628,8 +175954,6 @@ const MessageInput = reactExports.forwardRef(
175628
175954
  onSendMessage(message2, attachments);
175629
175955
  setAttachments([]);
175630
175956
  },
175631
- // attachments is a dependency, but this is safe because attachments is local state
175632
- // and onSendMessage is a prop (assumed stable)
175633
175957
  [onSendMessage, attachments]
175634
175958
  );
175635
175959
  const {
@@ -175650,14 +175974,83 @@ const MessageInput = reactExports.forwardRef(
175650
175974
  }));
175651
175975
  const isInputDisabled = Boolean(isLoading && currentJobId);
175652
175976
  reactExports.useEffect(() => {
175653
- if (!isInputDisabled) {
175977
+ if (!isInputDisabled && !isRecording && !isTranscribing) {
175654
175978
  const activeElement = document.activeElement;
175655
175979
  const isInputFocused = activeElement && (activeElement.tagName === "INPUT" || activeElement.tagName === "TEXTAREA");
175656
175980
  if (!isInputFocused) {
175657
175981
  textareaRef.current?.focus();
175658
175982
  }
175659
175983
  }
175660
- }, [isInputDisabled, textareaRef.current]);
175984
+ }, [isInputDisabled, isRecording, isTranscribing, textareaRef]);
175985
+ const handleStartRecording = reactExports.useCallback(async () => {
175986
+ if (navigator?.mediaDevices?.getUserMedia) {
175987
+ try {
175988
+ const stream = await navigator.mediaDevices.getUserMedia({
175989
+ audio: true
175990
+ });
175991
+ mediaRecorderRef.current = new MediaRecorder(stream);
175992
+ audioChunksRef.current = [];
175993
+ mediaRecorderRef.current.ondataavailable = (event) => {
175994
+ audioChunksRef.current.push(event.data);
175995
+ };
175996
+ mediaRecorderRef.current.onstop = () => {
175997
+ const completeAudioBlob = new Blob(audioChunksRef.current, {
175998
+ type: "audio/webm"
175999
+ });
176000
+ setAudioBlob(completeAudioBlob);
176001
+ for (const track of stream.getTracks()) {
176002
+ track.stop();
176003
+ }
176004
+ };
176005
+ mediaRecorderRef.current.start();
176006
+ setIsRecording(true);
176007
+ setAudioBlob(null);
176008
+ } catch (err) {
176009
+ console.error("Error accessing microphone:", err);
176010
+ showErrorToast(
176011
+ "Error accessing microphone. Please ensure microphone permissions are granted."
176012
+ );
176013
+ }
176014
+ } else {
176015
+ console.error("getUserMedia not supported on your browser!");
176016
+ showErrorToast("Audio recording is not supported on your browser.");
176017
+ }
176018
+ }, []);
176019
+ const handleStopRecording = reactExports.useCallback(() => {
176020
+ if (mediaRecorderRef.current && isRecording) {
176021
+ mediaRecorderRef.current.stop();
176022
+ setIsRecording(false);
176023
+ }
176024
+ }, [isRecording]);
176025
+ const handleSendAudio = reactExports.useCallback(async () => {
176026
+ if (!audioBlob) return;
176027
+ try {
176028
+ setIsTranscribing(true);
176029
+ const response = await TranscriptionApi.createTranscription(
176030
+ apiConfig.baseUrl,
176031
+ {
176032
+ file: new File([audioBlob], "recording.webm", {
176033
+ type: "audio/webm"
176034
+ })
176035
+ }
176036
+ );
176037
+ if (response.result?.text) {
176038
+ const newText = response.result?.text || "";
176039
+ setNewMessage(newMessage + newText);
176040
+ }
176041
+ setAudioBlob(null);
176042
+ } catch (error) {
176043
+ console.error("Error transcribing audio:", error);
176044
+ showErrorToast("Error transcribing audio. Please try again.");
176045
+ } finally {
176046
+ setIsTranscribing(false);
176047
+ }
176048
+ }, [audioBlob, setNewMessage, newMessage]);
176049
+ reactExports.useEffect(() => {
176050
+ if (audioBlob) {
176051
+ handleSendAudio();
176052
+ }
176053
+ }, [audioBlob, handleSendAudio]);
175661
176054
  const handleSubmit = (e3) => {
175662
176055
  e3.preventDefault();
175663
176056
  if (!newMessage.trim() && attachments.length === 0) return;
@@ -175726,10 +176119,13 @@ const MessageInput = reactExports.forwardRef(
175726
176119
  {
175727
176120
  attachments,
175728
176121
  onRemoveAttachment: handleRemoveAttachment,
175729
- disabled: isInputDisabled
176122
+ disabled: isInputDisabled || isRecording || isTranscribing
175730
176123
  }
175731
176124
  ),
175732
- /* @__PURE__ */ jsxRuntimeExports.jsx(
176125
+ isRecording ? /* @__PURE__ */ jsxRuntimeExports.jsx(AudioRecordingIndicator, { isRecording }) : isTranscribing ? /* @__PURE__ */ jsxRuntimeExports.jsxs(TranscriptionIndicator, { children: [
176126
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TranscriptionText, { variant: "body2", children: "Processing audio" }),
176127
+ /* @__PURE__ */ jsxRuntimeExports.jsx(WaveformAnimation, {})
176128
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
175733
176129
  StyledTextField$2,
175734
176130
  {
175735
176131
  fullWidth: true,
@@ -175757,7 +176153,7 @@ const MessageInput = reactExports.forwardRef(
175757
176153
  ref: fileInputRef,
175758
176154
  onChange: handleFileSelect,
175759
176155
  style: { display: "none" },
175760
- disabled: isInputDisabled,
176156
+ disabled: isInputDisabled || isRecording || isTranscribing,
175761
176157
  multiple: true
175762
176158
  }
175763
176159
  ),
@@ -175769,7 +176165,7 @@ const MessageInput = reactExports.forwardRef(
175769
176165
  size: "small",
175770
176166
  "aria-label": "Attach file",
175771
176167
  "data-tour-tag": "chat-input-attach-file-button",
175772
- disabled: isInputDisabled,
176168
+ disabled: isInputDisabled || isRecording || isTranscribing,
175773
176169
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperclip })
175774
176170
  }
175775
176171
  ) }) }),
@@ -175781,33 +176177,53 @@ const MessageInput = reactExports.forwardRef(
175781
176177
  }
175782
176178
  )
175783
176179
  ] }),
175784
- /* @__PURE__ */ jsxRuntimeExports.jsx(Box, { display: "flex", alignItems: "center", gap: 1, children: isLoading && currentJobId ? (
175785
- // @ts-ignore Tooltip type issue
175786
- /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop agent", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175787
- SendButton,
175788
- {
175789
- type: "button",
175790
- variant: "contained",
175791
- color: "error",
175792
- onClick: () => onCancelJob?.(currentJobId),
175793
- "aria-label": "Stop agent",
175794
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faStop })
175795
- }
175796
- ) }) })
175797
- ) : (
175798
- // @ts-ignore Tooltip type issue
175799
- /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Send message", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
175800
- SendButton,
176180
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { display: "flex", alignItems: "center", gap: 1, children: [
176181
+ !isLoading && !currentJobId && !isTranscribing && // @ts-ignore Tooltip type issue
176182
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
176183
+ Tooltip$1,
175801
176184
  {
175802
- type: "submit",
175803
- variant: "contained",
175804
- color: "primary",
175805
- disabled: isLoading || !newMessage.trim() && attachments.length === 0,
175806
- "aria-label": "Send message",
175807
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperPlane })
176185
+ title: !canEnableRecordingFeature ? "Sign in to Radient in the settings page to enable audio recording" : isRecording ? "Stop recording" : "Start recording",
176186
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
176187
+ IconButton,
176188
+ {
176189
+ onClick: isRecording ? handleStopRecording : handleStartRecording,
176190
+ color: isRecording ? "error" : "primary",
176191
+ size: "small",
176192
+ "aria-label": isRecording ? "Stop recording" : "Start recording",
176193
+ disabled: isLoading || !canEnableRecordingFeature,
176194
+ children: isRecording ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircleStop, { size: 24 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Mic, { size: 24 })
176195
+ }
176196
+ ) })
175808
176197
  }
175809
- ) }) })
175810
- ) })
176198
+ ),
176199
+ isLoading && currentJobId ? (
176200
+ // @ts-ignore Tooltip type issue
176201
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Stop agent", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
176202
+ SendButton,
176203
+ {
176204
+ type: "button",
176205
+ variant: "contained",
176206
+ color: "error",
176207
+ onClick: () => onCancelJob?.(currentJobId),
176208
+ "aria-label": "Stop agent",
176209
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faStop })
176210
+ }
176211
+ ) }) })
176212
+ ) : (
176213
+ // @ts-ignore Tooltip type issue
176214
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip$1, { title: "Send message", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
176215
+ SendButton,
176216
+ {
176217
+ type: "submit",
176218
+ variant: "contained",
176219
+ color: "primary",
176220
+ disabled: isLoading || isRecording || isTranscribing || !newMessage.trim() && attachments.length === 0,
176221
+ "aria-label": "Send message",
176222
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faPaperPlane })
176223
+ }
176224
+ ) }) })
176225
+ )
176226
+ ] })
175811
176227
  ] })
175812
176228
  ] }),
175813
176229
  messages.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(SuggestionsContainer, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -175826,7 +176242,7 @@ const MessageInput = reactExports.forwardRef(
175826
176242
  variant: "outlined",
175827
176243
  size: "small",
175828
176244
  onClick: () => handleSuggestionClick(suggestion),
175829
- disabled: isInputDisabled,
176245
+ disabled: isInputDisabled || isRecording || isTranscribing,
175830
176246
  children: suggestion
175831
176247
  },
175832
176248
  suggestion