@tutti-os/agent-gui 0.0.217 → 0.0.219

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 (66) hide show
  1. package/dist/{AgentRichTextReadonly-WZHUIARR.js → AgentRichTextReadonly-NBYQHR6U.js} +5 -5
  2. package/dist/agent-conversation/index.js +6 -6
  3. package/dist/agent-gui.js +13 -13
  4. package/dist/agent-message-center/index.js +5 -5
  5. package/dist/app/renderer/agentactivity.css +28 -5
  6. package/dist/app/renderer/assets/icons/agent-vinyl-player-chassis.png +0 -0
  7. package/dist/app/renderer/assets/icons/agent-vinyl-tonearm.png +0 -0
  8. package/dist/app/renderer/assets/icons/agent-vinyls/claude-vinyl.png +0 -0
  9. package/dist/app/renderer/assets/icons/agent-vinyls/codex-vinyl.png +0 -0
  10. package/dist/app/renderer/assets/icons/agent-vinyls/cursor-vinyl.png +0 -0
  11. package/dist/app/renderer/assets/icons/agent-vinyls/openclaw-vinyl.png +0 -0
  12. package/dist/app/renderer/assets/icons/agent-vinyls/opencode-vinyl.png +0 -0
  13. package/dist/app/renderer/assets/icons/agent-vinyls/tutti-vinyl.png +0 -0
  14. package/dist/app/renderer/assets/icons/agents/agent-colorful.png +0 -0
  15. package/dist/app/renderer/assets/icons/agents/claude-rounded.png +0 -0
  16. package/dist/app/renderer/assets/icons/agents/codex-rounded.png +0 -0
  17. package/dist/app/renderer/assets/icons/agents/cursor-colorful.png +0 -0
  18. package/dist/app/renderer/assets/icons/agents/cursor-rounded.png +0 -0
  19. package/dist/app/renderer/assets/icons/agents/gemini-rounded.png +0 -0
  20. package/dist/app/renderer/assets/icons/agents/manage-agent-tutti.png +0 -0
  21. package/dist/app/renderer/assets/icons/agents/openclaw-rounded.png +0 -0
  22. package/dist/app/renderer/assets/icons/agents/opencode-rounded.png +0 -0
  23. package/dist/app/renderer/assets/icons/agents/provider-rail-claude-code-colorful.png +0 -0
  24. package/dist/app/renderer/assets/icons/agents/provider-rail-codex-colorful.png +0 -0
  25. package/dist/app/renderer/assets/icons/agents/provider-rail-opencode-colorful.png +0 -0
  26. package/dist/app/renderer/assets/icons/agents/provider-rail-tutti.png +0 -0
  27. package/dist/app/renderer/assets/icons/user-avatar-placeholder.png +0 -0
  28. package/dist/{chunk-M6HTOCQK.js → chunk-3X5VDG6T.js} +2 -2
  29. package/dist/{chunk-GDLM6FLK.js → chunk-6SYYX63E.js} +210 -67
  30. package/dist/chunk-6SYYX63E.js.map +1 -0
  31. package/dist/{chunk-O4QFGCLU.js → chunk-7V5XYXKB.js} +4 -4
  32. package/dist/chunk-BCBB4HOV.js +56 -0
  33. package/dist/chunk-DBM4HFIU.js +44532 -0
  34. package/dist/{chunk-TKECUCUW.js.map → chunk-DBM4HFIU.js.map} +1 -1
  35. package/dist/{chunk-NXQGAXIE.js → chunk-F6J3LJXK.js} +2 -2
  36. package/dist/{chunk-44OCOBJS.js → chunk-KRITI65C.js} +4 -4
  37. package/dist/{chunk-FS7EMOVD.js → chunk-KZIW5CCW.js} +2 -2
  38. package/dist/{chunk-G7DS23D4.js → chunk-PPA2OB2H.js} +2 -2
  39. package/dist/chunk-SEHJINGH.js +150 -0
  40. package/dist/{chunk-JQOQETPN.js → chunk-SWO67UWQ.js} +2 -2
  41. package/dist/{chunk-G2KRK7Z5.js → chunk-UC2QN7FK.js} +2 -2
  42. package/dist/{chunk-PPAV2TB4.js → chunk-Z35E22WS.js} +2 -2
  43. package/dist/context-mention-palette/index.js +6 -6
  44. package/dist/dock-icons.js +2 -2
  45. package/dist/index.js +13 -13
  46. package/dist/mention-search.js +4 -4
  47. package/dist/provider-icons.js +1 -1
  48. package/dist/workbench/contribution.js +3 -3
  49. package/dist/workbench/index.js +3 -3
  50. package/package.json +17 -17
  51. package/dist/chunk-GDLM6FLK.js.map +0 -1
  52. package/dist/chunk-N2M4B3G3.js +0 -56
  53. package/dist/chunk-QNE2ZPPV.js +0 -150
  54. package/dist/chunk-TKECUCUW.js +0 -44529
  55. /package/dist/{AgentRichTextReadonly-WZHUIARR.js.map → AgentRichTextReadonly-NBYQHR6U.js.map} +0 -0
  56. /package/dist/{chunk-M6HTOCQK.js.map → chunk-3X5VDG6T.js.map} +0 -0
  57. /package/dist/{chunk-O4QFGCLU.js.map → chunk-7V5XYXKB.js.map} +0 -0
  58. /package/dist/{chunk-N2M4B3G3.js.map → chunk-BCBB4HOV.js.map} +0 -0
  59. /package/dist/{chunk-NXQGAXIE.js.map → chunk-F6J3LJXK.js.map} +0 -0
  60. /package/dist/{chunk-44OCOBJS.js.map → chunk-KRITI65C.js.map} +0 -0
  61. /package/dist/{chunk-FS7EMOVD.js.map → chunk-KZIW5CCW.js.map} +0 -0
  62. /package/dist/{chunk-G7DS23D4.js.map → chunk-PPA2OB2H.js.map} +0 -0
  63. /package/dist/{chunk-QNE2ZPPV.js.map → chunk-SEHJINGH.js.map} +0 -0
  64. /package/dist/{chunk-JQOQETPN.js.map → chunk-SWO67UWQ.js.map} +0 -0
  65. /package/dist/{chunk-G2KRK7Z5.js.map → chunk-UC2QN7FK.js.map} +0 -0
  66. /package/dist/{chunk-PPAV2TB4.js.map → chunk-Z35E22WS.js.map} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  AgentRichTextReadonly,
3
3
  promptForProviderSkills,
4
4
  skillTriggerForPrefix
5
- } from "./chunk-NXQGAXIE.js";
5
+ } from "./chunk-F6J3LJXK.js";
6
6
  import {
7
7
  AgentGUIConversation_styles_default,
8
8
  AgentMessageMarkdown,
@@ -18,7 +18,7 @@ import {
18
18
  resolveWorkspaceFileLinkAction,
19
19
  resolveWorkspaceFilePathCandidate,
20
20
  resolveWorkspaceLinkAction
21
- } from "./chunk-PPAV2TB4.js";
21
+ } from "./chunk-Z35E22WS.js";
22
22
  import {
23
23
  cn
24
24
  } from "./chunk-LQMIEH4C.js";
@@ -37,7 +37,7 @@ import {
37
37
  agentPromptFileBlocks,
38
38
  agentPromptPastedTextBlocks,
39
39
  materializeAgentComposerFileMentions
40
- } from "./chunk-JQOQETPN.js";
40
+ } from "./chunk-SWO67UWQ.js";
41
41
  import {
42
42
  extractImageGenerationPreview,
43
43
  isImageGenerationToolCall,
@@ -8971,7 +8971,7 @@ function fileNameFromPath(path) {
8971
8971
  }
8972
8972
 
8973
8973
  // shared/agentConversation/components/tool-renderers/file-diff/AgentMonacoDiffViewer.tsx
8974
- import { lazy, Suspense } from "react";
8974
+ import { Component, createRef } from "react";
8975
8975
 
8976
8976
  // app/renderer/components/icons/AtomIcon.tsx
8977
8977
  import {
@@ -9136,12 +9136,13 @@ var AtomIcon = forwardRef4(
9136
9136
  );
9137
9137
  AtomIcon.displayName = "AtomIcon";
9138
9138
 
9139
+ // shared/agentConversation/components/tool-renderers/file-diff/loadMonaco.ts
9140
+ function loadMonaco() {
9141
+ return import("monaco-editor");
9142
+ }
9143
+
9139
9144
  // shared/agentConversation/components/tool-renderers/file-diff/AgentMonacoDiffViewer.tsx
9140
9145
  import { jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
9141
- var MonacoDiffEditor = lazy(async () => {
9142
- const module = await import("@monaco-editor/react");
9143
- return { default: module.DiffEditor };
9144
- });
9145
9146
  function AgentMonacoDiffViewer({
9146
9147
  path,
9147
9148
  oldValue,
@@ -9171,42 +9172,159 @@ function AgentMonacoDiffViewer({
9171
9172
  }
9172
9173
  ) : null,
9173
9174
  /* @__PURE__ */ jsx20("div", { className: "h-[220px] bg-[var(--background-panel)]", children: /* @__PURE__ */ jsx20(
9174
- Suspense,
9175
+ MonacoDiffEditorSurface,
9175
9176
  {
9176
- fallback: /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-1.5 px-3 py-2.5 text-[11px] text-[var(--text-secondary)]", children: [
9177
- /* @__PURE__ */ jsx20(
9178
- AtomIcon,
9179
- {
9180
- size: 14,
9181
- active: true,
9182
- "aria-hidden": "true",
9183
- className: "shrink-0"
9184
- }
9185
- ),
9186
- /* @__PURE__ */ jsx20("span", { children: translate("agentHost.agentTool.details.loadingDiff") })
9187
- ] }),
9188
- children: /* @__PURE__ */ jsx20(
9189
- MonacoDiffEditor,
9190
- {
9191
- original: oldValue,
9192
- modified: newValue,
9193
- language: languageForPath2(path),
9194
- options: {
9195
- readOnly: true,
9196
- renderSideBySide: true,
9197
- minimap: { enabled: false },
9198
- scrollBeyondLastLine: false,
9199
- wordWrap: "on",
9200
- automaticLayout: true
9201
- }
9202
- }
9203
- )
9177
+ oldValue,
9178
+ newValue,
9179
+ language: languageForPath2(path)
9204
9180
  }
9205
9181
  ) })
9206
9182
  ]
9207
9183
  }
9208
9184
  );
9209
9185
  }
9186
+ var MonacoDiffEditorSurface = class extends Component {
9187
+ containerRef = createRef();
9188
+ resources = null;
9189
+ loadGeneration = 0;
9190
+ state = {
9191
+ loadError: null,
9192
+ loading: true
9193
+ };
9194
+ componentDidMount() {
9195
+ const loadGeneration = ++this.loadGeneration;
9196
+ void loadMonaco().then((monaco) => {
9197
+ const container = this.containerRef.current;
9198
+ if (loadGeneration !== this.loadGeneration || !container) {
9199
+ return;
9200
+ }
9201
+ this.resources = createMonacoDiffResources(
9202
+ monaco,
9203
+ container,
9204
+ this.props
9205
+ );
9206
+ this.setState({ loading: false });
9207
+ }).catch((error) => {
9208
+ if (loadGeneration === this.loadGeneration) {
9209
+ this.setState({
9210
+ loadError: error instanceof Error ? error : new Error(String(error))
9211
+ });
9212
+ }
9213
+ });
9214
+ }
9215
+ componentDidUpdate() {
9216
+ if (this.resources) {
9217
+ updateMonacoDiffResources(this.resources, this.props);
9218
+ }
9219
+ }
9220
+ componentWillUnmount() {
9221
+ this.loadGeneration += 1;
9222
+ const resources = this.resources;
9223
+ this.resources = null;
9224
+ if (resources) {
9225
+ disposeMonacoDiffResources(resources);
9226
+ }
9227
+ }
9228
+ render() {
9229
+ if (this.state.loadError) {
9230
+ throw this.state.loadError;
9231
+ }
9232
+ return /* @__PURE__ */ jsxs12("div", { className: "relative h-full w-full", children: [
9233
+ /* @__PURE__ */ jsx20("div", { ref: this.containerRef, className: "h-full w-full" }),
9234
+ this.state.loading ? /* @__PURE__ */ jsxs12("div", { className: "absolute inset-0 flex items-start gap-1.5 px-3 py-2.5 text-[11px] text-[var(--text-secondary)]", children: [
9235
+ /* @__PURE__ */ jsx20(
9236
+ AtomIcon,
9237
+ {
9238
+ size: 14,
9239
+ active: true,
9240
+ "aria-hidden": "true",
9241
+ className: "shrink-0"
9242
+ }
9243
+ ),
9244
+ /* @__PURE__ */ jsx20("span", { children: translate("agentHost.agentTool.details.loadingDiff") })
9245
+ ] }) : null
9246
+ ] });
9247
+ }
9248
+ };
9249
+ function createMonacoDiffResources(monaco, container, content) {
9250
+ const originalModel = monaco.editor.createModel(
9251
+ content.oldValue,
9252
+ content.language
9253
+ );
9254
+ const modifiedModel = monaco.editor.createModel(
9255
+ content.newValue,
9256
+ content.language
9257
+ );
9258
+ let editor = null;
9259
+ try {
9260
+ monaco.editor.setTheme("light");
9261
+ editor = monaco.editor.createDiffEditor(container, {
9262
+ readOnly: true,
9263
+ renderSideBySide: true,
9264
+ minimap: { enabled: false },
9265
+ scrollBeyondLastLine: false,
9266
+ wordWrap: "on",
9267
+ automaticLayout: true
9268
+ });
9269
+ editor.setModel({
9270
+ original: originalModel,
9271
+ modified: modifiedModel
9272
+ });
9273
+ return { monaco, editor, originalModel, modifiedModel };
9274
+ } catch (error) {
9275
+ if (editor) {
9276
+ try {
9277
+ editor.setModel(null);
9278
+ } finally {
9279
+ try {
9280
+ editor.dispose();
9281
+ } finally {
9282
+ disposeMonacoModels(originalModel, modifiedModel);
9283
+ }
9284
+ }
9285
+ } else {
9286
+ disposeMonacoModels(originalModel, modifiedModel);
9287
+ }
9288
+ throw error;
9289
+ }
9290
+ }
9291
+ function updateMonacoDiffResources(resources, content) {
9292
+ if (resources.originalModel.getValue() !== content.oldValue) {
9293
+ resources.originalModel.setValue(content.oldValue);
9294
+ }
9295
+ if (resources.modifiedModel.getValue() !== content.newValue) {
9296
+ resources.modifiedModel.setValue(content.newValue);
9297
+ }
9298
+ const currentLanguage = resources.originalModel.getLanguageId();
9299
+ if (currentLanguage !== content.language) {
9300
+ resources.monaco.editor.setModelLanguage(
9301
+ resources.originalModel,
9302
+ content.language
9303
+ );
9304
+ resources.monaco.editor.setModelLanguage(
9305
+ resources.modifiedModel,
9306
+ content.language
9307
+ );
9308
+ }
9309
+ }
9310
+ function disposeMonacoDiffResources(resources) {
9311
+ try {
9312
+ resources.editor.setModel(null);
9313
+ } finally {
9314
+ try {
9315
+ resources.editor.dispose();
9316
+ } finally {
9317
+ disposeMonacoModels(resources.originalModel, resources.modifiedModel);
9318
+ }
9319
+ }
9320
+ }
9321
+ function disposeMonacoModels(originalModel, modifiedModel) {
9322
+ try {
9323
+ originalModel.dispose();
9324
+ } finally {
9325
+ modifiedModel.dispose();
9326
+ }
9327
+ }
9210
9328
  function languageForPath2(path) {
9211
9329
  const extension = path?.split(".").pop()?.toLowerCase();
9212
9330
  switch (extension) {
@@ -13847,33 +13965,48 @@ import { Button as Button2 } from "@tutti-os/ui-system/components";
13847
13965
  import { ChevronDownIcon } from "@tutti-os/ui-system/icons";
13848
13966
 
13849
13967
  // shared/agentConversation/components/agentTurnWorkSectionModel.ts
13850
- function findParticipantHeaderRenderKeys(groups, rowKeys, modelByGroupKey) {
13851
- const headerKeys = /* @__PURE__ */ new Set();
13968
+ function findParticipantHeaderRenderKeys(groups, rowKeys, modelByGroupKey, participantTurnIndexByRowIndex) {
13969
+ const headerCandidateByTurn = /* @__PURE__ */ new Map();
13852
13970
  for (const group of groups) {
13853
13971
  const model = modelByGroupKey.get(group.key);
13854
- const renderedRows = model ? model.collapseEligible ? [
13855
- ...model.leadingRows,
13856
- ...model.sections.flatMap(
13857
- (section) => section.kind === "visible" ? section.rows : []
13858
- ),
13972
+ const renderedRows = model ? [
13973
+ ...model.leadingRows.map((entry) => ({
13974
+ entry,
13975
+ visibilityPriority: 0
13976
+ })),
13859
13977
  ...model.sections.flatMap(
13860
- (section) => section.kind === "work" ? section.rows : []
13978
+ (section) => section.rows.map((entry) => ({
13979
+ entry,
13980
+ visibilityPriority: model.collapseEligible && section.kind === "work" ? 1 : 0
13981
+ }))
13861
13982
  )
13862
- ] : [
13863
- ...model.leadingRows,
13864
- ...model.sections.flatMap((section) => section.rows)
13865
- ] : group.rows;
13866
- const seenSpeakers = /* @__PURE__ */ new Set();
13867
- for (const entry of renderedRows) {
13983
+ ] : group.rows.map((entry) => ({ entry, visibilityPriority: 0 }));
13984
+ for (const { entry, visibilityPriority } of renderedRows) {
13868
13985
  const row = entry.row;
13869
- if (row.kind !== "message" || row.messages.length === 0 || seenSpeakers.has(row.speaker)) {
13986
+ if (row.kind !== "message" || row.messages.length === 0) {
13987
+ continue;
13988
+ }
13989
+ const participantTurnIndex = participantTurnIndexByRowIndex.get(entry.rowIndex) ?? entry.rowIndex;
13990
+ let candidateBySpeaker = headerCandidateByTurn.get(participantTurnIndex);
13991
+ if (!candidateBySpeaker) {
13992
+ candidateBySpeaker = /* @__PURE__ */ new Map();
13993
+ headerCandidateByTurn.set(participantTurnIndex, candidateBySpeaker);
13994
+ }
13995
+ const currentCandidate = candidateBySpeaker.get(row.speaker);
13996
+ if (currentCandidate && currentCandidate.visibilityPriority <= visibilityPriority) {
13870
13997
  continue;
13871
13998
  }
13872
- seenSpeakers.add(row.speaker);
13873
- headerKeys.add(entry.renderKey ?? rowKeys[entry.rowIndex] ?? row.id);
13999
+ candidateBySpeaker.set(row.speaker, {
14000
+ renderKey: entry.renderKey ?? rowKeys[entry.rowIndex] ?? row.id,
14001
+ visibilityPriority
14002
+ });
13874
14003
  }
13875
14004
  }
13876
- return headerKeys;
14005
+ return new Set(
14006
+ [...headerCandidateByTurn.values()].flatMap(
14007
+ (candidateBySpeaker) => [...candidateBySpeaker.values()].map((candidate) => candidate.renderKey)
14008
+ )
14009
+ );
13877
14010
  }
13878
14011
  function resolveAgentTurnTiming(turn, isActiveTurn, submittedAtUnixMs) {
13879
14012
  if (!turn || !Number.isFinite(turn.startedAtUnixMs)) {
@@ -14557,14 +14690,21 @@ function findTurnDividerRowIndexes(turnIndexById, rows) {
14557
14690
  });
14558
14691
  return dividerRowIndexes;
14559
14692
  }
14560
- function findParticipantTurnDividerRowIndexes(rows) {
14693
+ function buildAgentParticipantTurnProjection(rows) {
14561
14694
  const dividerRowIndexes = /* @__PURE__ */ new Set();
14695
+ const turnIndexByRowIndex = /* @__PURE__ */ new Map();
14696
+ let turnIndex = 0;
14562
14697
  rows.forEach((row, rowIndex) => {
14563
14698
  if (rowIndex > 0 && row.kind === "message" && row.speaker === "user") {
14699
+ turnIndex += 1;
14564
14700
  dividerRowIndexes.add(rowIndex);
14565
14701
  }
14702
+ turnIndexByRowIndex.set(rowIndex, turnIndex);
14566
14703
  });
14567
- return dividerRowIndexes;
14704
+ return {
14705
+ dividerRowIndexes,
14706
+ turnIndexByRowIndex
14707
+ };
14568
14708
  }
14569
14709
  function attachLeadingToolRowsToFollowingMessages(rows) {
14570
14710
  const result = [];
@@ -14578,10 +14718,7 @@ function attachLeadingToolRowsToFollowingMessages(rows) {
14578
14718
  if (pendingToolRows.length > 0) {
14579
14719
  result.push({
14580
14720
  ...row,
14581
- leadingToolRows: [
14582
- ...row.leadingToolRows ?? [],
14583
- ...pendingToolRows
14584
- ]
14721
+ leadingToolRows: [...row.leadingToolRows ?? [], ...pendingToolRows]
14585
14722
  });
14586
14723
  pendingToolRows = [];
14587
14724
  continue;
@@ -14601,7 +14738,11 @@ function attachLeadingToolRowsToFollowingMessages(rows) {
14601
14738
  function useAgentTranscriptDisplayRows(rows, participantHeadersEnabled) {
14602
14739
  return useMemo7(() => {
14603
14740
  const displayRows = participantHeadersEnabled ? attachLeadingToolRowsToFollowingMessages(rows) : rows;
14604
- return { rows: displayRows, rowKeys: displayRows.map(transcriptRowKey) };
14741
+ return {
14742
+ rows: displayRows,
14743
+ rowKeys: displayRows.map(transcriptRowKey),
14744
+ participantTurnProjection: participantHeadersEnabled ? buildAgentParticipantTurnProjection(displayRows) : null
14745
+ };
14605
14746
  }, [rows, participantHeadersEnabled]);
14606
14747
  }
14607
14748
 
@@ -15424,6 +15565,7 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
15424
15565
  );
15425
15566
  const displayRows = transcriptRowSet.rows;
15426
15567
  const rowKeys = transcriptRowSet.rowKeys;
15568
+ const participantTurnProjection = transcriptRowSet.participantTurnProjection;
15427
15569
  const turnGroups = useMemo9(
15428
15570
  () => buildAgentTranscriptTurnGroups(displayRows, rowKeys),
15429
15571
  [displayRows, rowKeys]
@@ -15462,8 +15604,8 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
15462
15604
  [conversation.sourceDetail.turns]
15463
15605
  );
15464
15606
  const dividerRowIndexes = useMemo9(
15465
- () => participantHeadersEnabled ? findParticipantTurnDividerRowIndexes(displayRows) : findTurnDividerRowIndexes(turnIndexById, displayRows),
15466
- [displayRows, turnIndexById, participantHeadersEnabled]
15607
+ () => participantTurnProjection ? participantTurnProjection.dividerRowIndexes : findTurnDividerRowIndexes(turnIndexById, displayRows),
15608
+ [displayRows, turnIndexById, participantTurnProjection]
15467
15609
  );
15468
15610
  const canonicalTurnById = new Map(
15469
15611
  (conversation.sourceDetail.sessionTurns ?? []).map((turn) => [
@@ -15487,10 +15629,11 @@ var AgentTranscriptView = memo4(function AgentTranscriptView2({
15487
15629
  ];
15488
15630
  })
15489
15631
  );
15490
- const participantHeaderRenderKeys = participantHeadersEnabled ? findParticipantHeaderRenderKeys(
15632
+ const participantHeaderRenderKeys = participantTurnProjection ? findParticipantHeaderRenderKeys(
15491
15633
  turnGroups,
15492
15634
  rowKeys,
15493
- turnWorkSectionModelByKey
15635
+ turnWorkSectionModelByKey,
15636
+ participantTurnProjection.turnIndexByRowIndex
15494
15637
  ) : null;
15495
15638
  const basePath = conversation.sourceDetail.cwd;
15496
15639
  const workspaceRoot = conversation.workspaceRoot;
@@ -15824,4 +15967,4 @@ export {
15824
15967
  AgentConversationFlow,
15825
15968
  useProjectedAgentConversation
15826
15969
  };
15827
- //# sourceMappingURL=chunk-GDLM6FLK.js.map
15970
+ //# sourceMappingURL=chunk-6SYYX63E.js.map