@arbidocs/blocks 0.4.125 → 0.4.127

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 (120) hide show
  1. package/dist/{NativeDocxEditor-2JTZNFKD.cjs → NativeDocxEditor-BE2OEOTJ.cjs} +7 -7
  2. package/dist/{NativeDocxEditor-2JTZNFKD.cjs.map → NativeDocxEditor-BE2OEOTJ.cjs.map} +1 -1
  3. package/dist/{NativeDocxEditor-QIWYQDIO.js → NativeDocxEditor-KOPFMRYW.js} +3 -3
  4. package/dist/{NativeDocxEditor-QIWYQDIO.js.map → NativeDocxEditor-KOPFMRYW.js.map} +1 -1
  5. package/dist/{StreamedArtifactEditor-DNBDUNP2.cjs → StreamedArtifactEditor-EEYAXJ4H.cjs} +5 -5
  6. package/dist/{StreamedArtifactEditor-DNBDUNP2.cjs.map → StreamedArtifactEditor-EEYAXJ4H.cjs.map} +1 -1
  7. package/dist/{StreamedArtifactEditor-WDHPTWX7.js → StreamedArtifactEditor-TDATDYD2.js} +3 -3
  8. package/dist/{StreamedArtifactEditor-WDHPTWX7.js.map → StreamedArtifactEditor-TDATDYD2.js.map} +1 -1
  9. package/dist/agents/index.cjs +302 -302
  10. package/dist/agents/index.js +10 -10
  11. package/dist/agents/workflows/StepParts.d.ts +3 -3
  12. package/dist/artifacts/VersionTimeline.d.ts +19 -1
  13. package/dist/artifacts/index.cjs +21 -21
  14. package/dist/artifacts/index.d.ts +1 -1
  15. package/dist/artifacts/index.js +1 -1
  16. package/dist/calls/index.cjs +3 -3
  17. package/dist/calls/index.js +2 -2
  18. package/dist/chat/index.cjs +135 -135
  19. package/dist/chat/index.js +4 -4
  20. package/dist/{chunk-7HAM7Y5U.js → chunk-2DFDFOM7.js} +3 -3
  21. package/dist/{chunk-7HAM7Y5U.js.map → chunk-2DFDFOM7.js.map} +1 -1
  22. package/dist/{chunk-BDSKKIFZ.js → chunk-2FL7QJKJ.js} +3 -3
  23. package/dist/{chunk-BDSKKIFZ.js.map → chunk-2FL7QJKJ.js.map} +1 -1
  24. package/dist/{chunk-ERNMU6RV.js → chunk-2PNNCEPH.js} +5 -5
  25. package/dist/chunk-2PNNCEPH.js.map +1 -0
  26. package/dist/{chunk-KUW4ATIC.cjs → chunk-4TR5QCCX.cjs} +5 -5
  27. package/dist/{chunk-KUW4ATIC.cjs.map → chunk-4TR5QCCX.cjs.map} +1 -1
  28. package/dist/{chunk-P5ST47VY.js → chunk-5Y7JRY7Y.js} +3 -3
  29. package/dist/{chunk-P5ST47VY.js.map → chunk-5Y7JRY7Y.js.map} +1 -1
  30. package/dist/{chunk-HM23LXUP.cjs → chunk-6AALMYPS.cjs} +3 -3
  31. package/dist/{chunk-HM23LXUP.cjs.map → chunk-6AALMYPS.cjs.map} +1 -1
  32. package/dist/{chunk-IXTQYFIF.js → chunk-6HCJ3ZEU.js} +34 -6
  33. package/dist/chunk-6HCJ3ZEU.js.map +1 -0
  34. package/dist/{chunk-SHASZLGD.js → chunk-6Z72CXZR.js} +3 -3
  35. package/dist/{chunk-SHASZLGD.js.map → chunk-6Z72CXZR.js.map} +1 -1
  36. package/dist/{chunk-N7ARMX3O.cjs → chunk-DZI7WOUD.cjs} +4 -4
  37. package/dist/{chunk-N7ARMX3O.cjs.map → chunk-DZI7WOUD.cjs.map} +1 -1
  38. package/dist/{chunk-JJLMCV3T.js → chunk-ECERC6TI.js} +32 -28
  39. package/dist/chunk-ECERC6TI.js.map +1 -0
  40. package/dist/{chunk-ETN5EZI4.js → chunk-ENDP7JER.js} +3 -3
  41. package/dist/{chunk-ETN5EZI4.js.map → chunk-ENDP7JER.js.map} +1 -1
  42. package/dist/{chunk-W4GXDARU.cjs → chunk-INW76PEL.cjs} +163 -110
  43. package/dist/chunk-INW76PEL.cjs.map +1 -0
  44. package/dist/{chunk-OTDGTBAS.js → chunk-KELGOCJA.js} +164 -111
  45. package/dist/chunk-KELGOCJA.js.map +1 -0
  46. package/dist/{chunk-WEUCLOBB.cjs → chunk-KYDRUFWT.cjs} +5 -5
  47. package/dist/{chunk-WEUCLOBB.cjs.map → chunk-KYDRUFWT.cjs.map} +1 -1
  48. package/dist/{chunk-D72GGCXN.js → chunk-MCKOZACC.js} +3 -3
  49. package/dist/{chunk-D72GGCXN.js.map → chunk-MCKOZACC.js.map} +1 -1
  50. package/dist/{chunk-SA7TN3AW.cjs → chunk-MCPRNDOJ.cjs} +78 -78
  51. package/dist/{chunk-SA7TN3AW.cjs.map → chunk-MCPRNDOJ.cjs.map} +1 -1
  52. package/dist/{chunk-ZV3BKLFY.cjs → chunk-NYHGG2IA.cjs} +3 -3
  53. package/dist/{chunk-ZV3BKLFY.cjs.map → chunk-NYHGG2IA.cjs.map} +1 -1
  54. package/dist/{chunk-U6MPHCEB.cjs → chunk-O6IEZDRC.cjs} +33 -5
  55. package/dist/chunk-O6IEZDRC.cjs.map +1 -0
  56. package/dist/{chunk-WV4IDVDQ.cjs → chunk-PJJY6CYL.cjs} +11 -11
  57. package/dist/{chunk-WV4IDVDQ.cjs.map → chunk-PJJY6CYL.cjs.map} +1 -1
  58. package/dist/{chunk-CXLVI3SB.js → chunk-PUCY3UXN.js} +3 -3
  59. package/dist/{chunk-CXLVI3SB.js.map → chunk-PUCY3UXN.js.map} +1 -1
  60. package/dist/{chunk-MRURIBBB.cjs → chunk-SARREDFP.cjs} +47 -47
  61. package/dist/chunk-SARREDFP.cjs.map +1 -0
  62. package/dist/{chunk-565NYAM2.js → chunk-T2CVFK2I.js} +10 -10
  63. package/dist/{chunk-565NYAM2.js.map → chunk-T2CVFK2I.js.map} +1 -1
  64. package/dist/{chunk-HQH35JWC.js → chunk-T6I6ZCBE.js} +3 -3
  65. package/dist/{chunk-HQH35JWC.js.map → chunk-T6I6ZCBE.js.map} +1 -1
  66. package/dist/{chunk-Y4X3RBFI.js → chunk-UUXKB3WQ.js} +3 -3
  67. package/dist/{chunk-Y4X3RBFI.js.map → chunk-UUXKB3WQ.js.map} +1 -1
  68. package/dist/{chunk-JSH43QMZ.cjs → chunk-V5OAXIBN.cjs} +3 -3
  69. package/dist/{chunk-JSH43QMZ.cjs.map → chunk-V5OAXIBN.cjs.map} +1 -1
  70. package/dist/{chunk-VMZXFYHK.cjs → chunk-XFKF3WRN.cjs} +5 -5
  71. package/dist/{chunk-VMZXFYHK.cjs.map → chunk-XFKF3WRN.cjs.map} +1 -1
  72. package/dist/{chunk-GICUGQNN.cjs → chunk-ZAVEMQ37.cjs} +31 -27
  73. package/dist/chunk-ZAVEMQ37.cjs.map +1 -0
  74. package/dist/{chunk-4VCKYR4D.cjs → chunk-ZLRQ5K77.cjs} +4 -4
  75. package/dist/{chunk-4VCKYR4D.cjs.map → chunk-ZLRQ5K77.cjs.map} +1 -1
  76. package/dist/collaboration/index.cjs +23 -23
  77. package/dist/collaboration/index.js +1 -1
  78. package/dist/collaboration/mail/MailMessageView.d.ts +5 -1
  79. package/dist/connect/docx.cjs +6 -6
  80. package/dist/connect/docx.js +4 -4
  81. package/dist/connect/index.cjs +121 -66
  82. package/dist/connect/index.cjs.map +1 -1
  83. package/dist/connect/index.js +70 -15
  84. package/dist/connect/index.js.map +1 -1
  85. package/dist/connection/ConnectedWorkflowBuilder.d.ts +3 -0
  86. package/dist/document-tools/index.cjs +1 -1
  87. package/dist/document-tools/index.js +1 -1
  88. package/dist/docx/index.cjs +46 -46
  89. package/dist/docx/index.js +3 -3
  90. package/dist/facts/index.cjs +1 -1
  91. package/dist/facts/index.js +1 -1
  92. package/dist/files/HtmlViewerParts.d.ts +0 -28
  93. package/dist/files/index.cjs +19 -102
  94. package/dist/files/index.cjs.map +1 -1
  95. package/dist/files/index.d.ts +1 -1
  96. package/dist/files/index.js +6 -87
  97. package/dist/files/index.js.map +1 -1
  98. package/dist/home/index.cjs +17 -17
  99. package/dist/home/index.js +3 -3
  100. package/dist/index.cjs +641 -641
  101. package/dist/index.js +20 -20
  102. package/dist/settings/ConfirmDialog.d.ts +4 -1
  103. package/dist/settings/index.cjs +14 -14
  104. package/dist/settings/index.js +4 -4
  105. package/dist/studio/index.cjs +5 -5
  106. package/dist/studio/index.js +4 -4
  107. package/dist/workflow-canvas/index.cjs +64 -62
  108. package/dist/workflow-canvas/index.cjs.map +1 -1
  109. package/dist/workflow-canvas/index.js +13 -11
  110. package/dist/workflow-canvas/index.js.map +1 -1
  111. package/node_modules/@arbidocs/coedit/package.json +1 -1
  112. package/package.json +4 -4
  113. package/dist/chunk-ERNMU6RV.js.map +0 -1
  114. package/dist/chunk-GICUGQNN.cjs.map +0 -1
  115. package/dist/chunk-IXTQYFIF.js.map +0 -1
  116. package/dist/chunk-JJLMCV3T.js.map +0 -1
  117. package/dist/chunk-MRURIBBB.cjs.map +0 -1
  118. package/dist/chunk-OTDGTBAS.js.map +0 -1
  119. package/dist/chunk-U6MPHCEB.cjs.map +0 -1
  120. package/dist/chunk-W4GXDARU.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useConnection } from './chunk-OYMWV45N.js';
3
- import { AssistantDock } from './chunk-CXLVI3SB.js';
3
+ import { AssistantDock } from './chunk-PUCY3UXN.js';
4
4
  import { useCallback } from 'react';
5
5
  import { useAiTask, useWorkspaceDocs as useWorkspaceDocs$1, useSemanticSearch as useSemanticSearch$1, useWorkspaceUsers, useArbiChat } from '@arbidocs/react';
6
6
  export { redlineStats, textToArtifact, toRedlineMarkdown } from '@arbidocs/react';
@@ -64,5 +64,5 @@ function ConnectedAssistantDock(props) {
64
64
  }
65
65
 
66
66
  export { ConnectedAssistantDock, useConnectedAiTask, useConnectedChat, useSemanticSearch, useWorkspaceDocs };
67
- //# sourceMappingURL=chunk-HQH35JWC.js.map
68
- //# sourceMappingURL=chunk-HQH35JWC.js.map
67
+ //# sourceMappingURL=chunk-T6I6ZCBE.js.map
68
+ //# sourceMappingURL=chunk-T6I6ZCBE.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/ai.tsx"],"names":["useKitAiTask","useKitWorkspaceDocs","useKitSemanticSearch"],"mappings":"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","file":"chunk-HQH35JWC.js","sourcesContent":["/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useArbiChat,\n useWorkspaceUsers,\n type ArbiChat,\n type UseArbiChatOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport type { MentionCandidate } from '../chat/mentions'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents and return the top matching passages. */\nexport function useSemanticSearch() {\n const { docIds } = useWorkspaceDocs()\n return useKitSemanticSearch(docIds)\n}\n\n/**\n * The chat controller for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`.\n */\nexport function useConnectedChat(\n options?: Omit<UseArbiChatOptions, 'workspaceId'>\n): ArbiChat & { mentionCandidates: MentionCandidate[] } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n const mentionCandidates: MentionCandidate[] = [\n { id: 'assistant', kind: 'assistant', label: 'Assistant' },\n ...(status === 'authenticated' ? members : [])\n .filter(\n (member) =>\n !member.agent_ext_id &&\n member.user.external_id !== user?.externalId &&\n !member.user.external_id.startsWith('agt-')\n )\n .map((member) => ({\n id: member.user.external_id,\n kind: 'user' as const,\n label:\n [member.user.given_name, member.user.family_name].filter(Boolean).join(' ') ||\n member.user.email,\n description: member.user.email,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\n ]\n const chat = useArbiChat({\n ...options,\n workspaceId: workspaceId ?? fallbackWorkspaceId,\n model: options?.model ?? assistantConfig,\n })\n return {\n ...chat,\n mentionCandidates,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Chat state lives here, so it survives closing the dock.\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/ai.tsx"],"names":["useKitAiTask","useKitWorkspaceDocs","useKitSemanticSearch"],"mappings":"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","file":"chunk-T6I6ZCBE.js","sourcesContent":["/**\n * The connected agent hooks — thin adapters over the reusable AI kit in\n * `@arbidocs/react`. The streaming/accumulation/search plumbing lives once in\n * the SDK; these hooks only bind the *workspace source* (from the connection\n * context, falling back to the configured workspace) and inject the host's\n * default assistant *configuration* so call sites needn't know the config\n * ext_id. An explicit `opts.model` still wins.\n */\nimport { useCallback } from 'react'\nimport {\n useAiTask as useKitAiTask,\n useWorkspaceDocs as useKitWorkspaceDocs,\n useSemanticSearch as useKitSemanticSearch,\n useArbiChat,\n useWorkspaceUsers,\n type ArbiChat,\n type UseArbiChatOptions,\n type AiRunOptions,\n} from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport { AssistantDock, type AssistantDockProps } from '../chat/AssistantDock'\nimport type { MentionCandidate } from '../chat/mentions'\n\nexport type { AiTaskStatus, AiRunOptions, SearchChunk, ArtifactEvent } from '@arbidocs/react'\n\n/** Client-side redlining, re-exported so a host app has one import surface. */\nexport { toRedlineMarkdown, redlineStats, textToArtifact } from '@arbidocs/react'\n\n/**\n * The kit's `useAiTask` with the host's default assistant configuration\n * injected, so call sites needn't know the config ext_id.\n */\nexport function useConnectedAiTask() {\n const { assistantConfig } = useConnection()\n const task = useKitAiTask()\n const kitRun = task.run\n const run = useCallback(\n (question: string, docIds: string[], opts?: AiRunOptions) =>\n kitRun(question, docIds, { ...opts, model: opts?.model ?? assistantConfig }),\n [kitRun, assistantConfig]\n )\n return { ...task, run }\n}\n\n/** Resolve the active workspace + its document ids (what we ground the agent on). */\nexport function useWorkspaceDocs() {\n const { workspaceId, fallbackWorkspaceId } = useConnection()\n return useKitWorkspaceDocs(workspaceId ?? fallbackWorkspaceId)\n}\n\n/** Search the active workspace's documents and return the top matching passages. */\nexport function useSemanticSearch() {\n const { docIds } = useWorkspaceDocs()\n return useKitSemanticSearch(docIds)\n}\n\n/**\n * The chat controller for `ChatPage` bound to the connection: the active workspace and the host's\n * default assistant configuration are injected, so a host writes\n * `<ChatPage chat={useConnectedChat()} />`.\n */\nexport function useConnectedChat(\n options?: Omit<UseArbiChatOptions, 'workspaceId'>\n): ArbiChat & { mentionCandidates: MentionCandidate[] } {\n const { workspaceId, fallbackWorkspaceId, assistantConfig, user, status, ensureWorkspaceOpen } =\n useConnection()\n const wsId = workspaceId ?? fallbackWorkspaceId\n const { data: members = [] } = useWorkspaceUsers(wsId, {\n enabled: status === 'authenticated' && !!wsId,\n beforeFetch: ensureWorkspaceOpen,\n })\n const mentionCandidates: MentionCandidate[] = [\n { id: 'assistant', kind: 'assistant', label: 'Assistant' },\n ...(status === 'authenticated' ? members : [])\n .filter(\n (member) =>\n !member.agent_ext_id &&\n member.user.external_id !== user?.externalId &&\n !member.user.external_id.startsWith('agt-')\n )\n .map((member) => ({\n id: member.user.external_id,\n kind: 'user' as const,\n label:\n [member.user.given_name, member.user.family_name].filter(Boolean).join(' ') ||\n member.user.email,\n description: member.user.email,\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\n ]\n const chat = useArbiChat({\n ...options,\n workspaceId: workspaceId ?? fallbackWorkspaceId,\n model: options?.model ?? assistantConfig,\n })\n return {\n ...chat,\n mentionCandidates,\n messages: chat.messages.map((message) => ({\n ...message,\n ...(message.authorId\n ? {\n senderName:\n message.authorId === user?.externalId\n ? user?.name || user?.email\n : mentionCandidates.find((candidate) => candidate.id === message.authorId)?.label,\n }\n : {}),\n })),\n }\n}\n\n/**\n * The assistant dock bound to the connection: mount it once in the layout (`Shell.Root`'s `aside`)\n * and put `AssistantDockToggle` in the topbar. Chat state lives here, so it survives closing the dock.\n */\nexport function ConnectedAssistantDock(props: Omit<AssistantDockProps, 'chat'>) {\n const chat = useConnectedChat()\n return <AssistantDock {...props} chat={chat} />\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { Toaster } from './chunk-OKERRHLH.js';
3
- import { useAssistantDock, useChatSurface } from './chunk-CXLVI3SB.js';
3
+ import { useAssistantDock, useChatSurface } from './chunk-PUCY3UXN.js';
4
4
  import { BlocksTooltipProvider } from './chunk-7XF5SFJ2.js';
5
5
  import { listOptionId } from './chunk-AA3PT6KR.js';
6
6
  import { speakerAccent, speakerDot } from './chunk-Z3AZ7Q5X.js';
@@ -1831,5 +1831,5 @@ function transcriptRuns(items, speakerOf, timeOf, gapMs = 2 * 6e4) {
1831
1831
  }
1832
1832
 
1833
1833
  export { AssistantToaster, BranchControls, ComposerAccessories, ComposerTools, ContextActionButton, ContextCheckRow, ContextPanelContent, ContextPanelFooter, ContextPanelTabs, ContextPickerList, ContextPickerRow, ContextSearchInput, ContextSelectList, ContextSelectRow, Conversation, ConversationBody, ConversationFilter, ConversationHeader, ConversationHeaderActions, ConversationHistoryPane, ConversationLoading, ConversationMain, ConversationRoot, ConversationSearchView, ConversationSettingsButton, DEFAULT_BRANCH_CONTROLS_LABELS, DEFAULT_CONVERSATION_LAYOUT_LABELS, DEFAULT_CONVERSATION_PARTS_LABELS, DEFAULT_CONVERSATION_SEARCH_LABELS, DEFAULT_DRAFTING_DOC_CHIP_LABELS, DEFAULT_LABEL_PIN_ROW_LABELS, DEFAULT_MODEL_PRICING_TIP_LABELS, DEFAULT_PENDING_ANSWER_BAR_LABELS, DEFAULT_PINNED_DOC_CHIP_LABELS, DEFAULT_SLASH_MENU_LABELS, DEFAULT_THREAD_MAP_LABELS, DraftingDocChip, LabelPinRow, ModelAutoIcon, ModelConfigureButton, ModelDot, ModelMenuDivider, ModelMenuMessage, ModelOption, ModelOptionLabel, ModelPickerPopover, ModelPickerTrigger, ModelPricingTip, ModelTierIcon, ModelTierOption, ModelTriggerContent, NewChatButton, NewPaChatButton, PaModeBadge, PendingAnswerBar, PinnedDocChip, ProvisionalTranscriptLine, SlashMenu, ThreadMap, ThreadMapDiagram, ThreadMapError, ThreadMapLoading, TranscriptLine, flashMessage, getParticipantTints, hasMessageBody, isLongPastedText, transcriptRuns, useDismissibleCard, useLongPaste, useRecipientDraft };
1834
- //# sourceMappingURL=chunk-Y4X3RBFI.js.map
1835
- //# sourceMappingURL=chunk-Y4X3RBFI.js.map
1834
+ //# sourceMappingURL=chunk-UUXKB3WQ.js.map
1835
+ //# sourceMappingURL=chunk-UUXKB3WQ.js.map