@arbidocs/blocks 0.5.93 → 0.5.95

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 (121) hide show
  1. package/dist/{ConnectedNativeDocxComparison-6KL5XI3L.js → ConnectedNativeDocxComparison-FNHQKY57.js} +6 -6
  2. package/dist/{ConnectedNativeDocxComparison-6KL5XI3L.js.map → ConnectedNativeDocxComparison-FNHQKY57.js.map} +1 -1
  3. package/dist/{ConnectedNativeDocxComparison-P346QOX5.cjs → ConnectedNativeDocxComparison-KIMSYQV2.cjs} +7 -7
  4. package/dist/{ConnectedNativeDocxComparison-P346QOX5.cjs.map → ConnectedNativeDocxComparison-KIMSYQV2.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxEditor-7JHSQ6KI.cjs → ConnectedNativeDocxEditor-UOZGILPM.cjs} +7 -7
  6. package/dist/{ConnectedNativeDocxEditor-7JHSQ6KI.cjs.map → ConnectedNativeDocxEditor-UOZGILPM.cjs.map} +1 -1
  7. package/dist/{ConnectedNativeDocxEditor-ATZ2TG2L.js → ConnectedNativeDocxEditor-WFDFGJYW.js} +5 -5
  8. package/dist/{ConnectedNativeDocxEditor-ATZ2TG2L.js.map → ConnectedNativeDocxEditor-WFDFGJYW.js.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-FHSGQHXQ.js → ConnectedStreamedWordArtifact-SFELZUTS.js} +6 -6
  10. package/dist/{ConnectedStreamedWordArtifact-FHSGQHXQ.js.map → ConnectedStreamedWordArtifact-SFELZUTS.js.map} +1 -1
  11. package/dist/{ConnectedStreamedWordArtifact-5HI3WSAJ.cjs → ConnectedStreamedWordArtifact-WFKYXIX5.cjs} +7 -7
  12. package/dist/ConnectedStreamedWordArtifact-WFKYXIX5.cjs.map +1 -0
  13. package/dist/{DocumentReviewCard-JRY3CX3Q.cjs → DocumentReviewCard-7XUBPCQD.cjs} +14 -14
  14. package/dist/{DocumentReviewCard-JRY3CX3Q.cjs.map → DocumentReviewCard-7XUBPCQD.cjs.map} +1 -1
  15. package/dist/{DocumentReviewCard-6RPKRNAA.js → DocumentReviewCard-X5DXEU2G.js} +9 -9
  16. package/dist/{DocumentReviewCard-6RPKRNAA.js.map → DocumentReviewCard-X5DXEU2G.js.map} +1 -1
  17. package/dist/{FilesViewerDialog-WN2POSGF.js → FilesViewerDialog-4Q6WJMSX.js} +8 -8
  18. package/dist/{FilesViewerDialog-WN2POSGF.js.map → FilesViewerDialog-4Q6WJMSX.js.map} +1 -1
  19. package/dist/{FilesViewerDialog-7MEXD5M3.cjs → FilesViewerDialog-H4ZXFNLV.cjs} +9 -9
  20. package/dist/{FilesViewerDialog-7MEXD5M3.cjs.map → FilesViewerDialog-H4ZXFNLV.cjs.map} +1 -1
  21. package/dist/WorkspaceTableView-DYABS53K.js +1 -1
  22. package/dist/WorkspaceTableView-ZIQ7JWT5.cjs +1 -1
  23. package/dist/agents/index.cjs +254 -254
  24. package/dist/agents/index.js +4 -4
  25. package/dist/calls/index.cjs +1 -1
  26. package/dist/calls/index.js +1 -1
  27. package/dist/{chunk-ZQ2MQBNC.cjs → chunk-33MKOWSA.cjs} +4 -4
  28. package/dist/chunk-33MKOWSA.cjs.map +1 -0
  29. package/dist/{chunk-PG2XUZF6.js → chunk-45M4QWCM.js} +3 -3
  30. package/dist/{chunk-PG2XUZF6.js.map → chunk-45M4QWCM.js.map} +1 -1
  31. package/dist/{chunk-5KQEM2YF.js → chunk-5T5CM7UC.js} +3 -3
  32. package/dist/{chunk-5KQEM2YF.js.map → chunk-5T5CM7UC.js.map} +1 -1
  33. package/dist/{chunk-ECCV4YOL.cjs → chunk-5ZWEUUJN.cjs} +8 -8
  34. package/dist/{chunk-ECCV4YOL.cjs.map → chunk-5ZWEUUJN.cjs.map} +1 -1
  35. package/dist/{chunk-SYWJNSPS.cjs → chunk-6HI5OXB6.cjs} +3 -3
  36. package/dist/{chunk-SYWJNSPS.cjs.map → chunk-6HI5OXB6.cjs.map} +1 -1
  37. package/dist/{chunk-PCAWLVHE.js → chunk-AJ4TBTA3.js} +3 -3
  38. package/dist/{chunk-PCAWLVHE.js.map → chunk-AJ4TBTA3.js.map} +1 -1
  39. package/dist/{chunk-6IS3IRUF.cjs → chunk-CJBDBBN2.cjs} +4 -4
  40. package/dist/{chunk-6IS3IRUF.cjs.map → chunk-CJBDBBN2.cjs.map} +1 -1
  41. package/dist/{chunk-42IVGYNL.js → chunk-CY2K4K5M.js} +4 -4
  42. package/dist/{chunk-42IVGYNL.js.map → chunk-CY2K4K5M.js.map} +1 -1
  43. package/dist/{chunk-HDPT7D6F.cjs → chunk-D3ABKS7T.cjs} +3 -3
  44. package/dist/{chunk-HDPT7D6F.cjs.map → chunk-D3ABKS7T.cjs.map} +1 -1
  45. package/dist/{chunk-FSUWRDZT.cjs → chunk-DCHNB7DF.cjs} +51 -51
  46. package/dist/{chunk-FSUWRDZT.cjs.map → chunk-DCHNB7DF.cjs.map} +1 -1
  47. package/dist/{chunk-SXY7K54A.cjs → chunk-GFG7DCJ3.cjs} +35 -35
  48. package/dist/{chunk-SXY7K54A.cjs.map → chunk-GFG7DCJ3.cjs.map} +1 -1
  49. package/dist/{chunk-RZG4ALKZ.js → chunk-H2DG5HIO.js} +3 -3
  50. package/dist/{chunk-RZG4ALKZ.js.map → chunk-H2DG5HIO.js.map} +1 -1
  51. package/dist/{chunk-QD7ARXGQ.js → chunk-H626HTFB.js} +3 -3
  52. package/dist/{chunk-QD7ARXGQ.js.map → chunk-H626HTFB.js.map} +1 -1
  53. package/dist/{chunk-EW54OI4U.cjs → chunk-HEM27NA3.cjs} +4 -4
  54. package/dist/{chunk-EW54OI4U.cjs.map → chunk-HEM27NA3.cjs.map} +1 -1
  55. package/dist/{chunk-Z4IPTLRS.js → chunk-HU3MX5PY.js} +3 -3
  56. package/dist/{chunk-Z4IPTLRS.js.map → chunk-HU3MX5PY.js.map} +1 -1
  57. package/dist/{chunk-LBQCFJ5O.js → chunk-I4PB257E.js} +3 -3
  58. package/dist/{chunk-LBQCFJ5O.js.map → chunk-I4PB257E.js.map} +1 -1
  59. package/dist/{chunk-UI24FQRU.cjs → chunk-KTHBUDYQ.cjs} +48 -48
  60. package/dist/{chunk-UI24FQRU.cjs.map → chunk-KTHBUDYQ.cjs.map} +1 -1
  61. package/dist/{chunk-TEMJBXGQ.cjs → chunk-MBXQSBG3.cjs} +9 -9
  62. package/dist/{chunk-TEMJBXGQ.cjs.map → chunk-MBXQSBG3.cjs.map} +1 -1
  63. package/dist/{chunk-GUTYYUVC.js → chunk-NIXAAPIG.js} +8 -8
  64. package/dist/{chunk-GUTYYUVC.js.map → chunk-NIXAAPIG.js.map} +1 -1
  65. package/dist/{chunk-QSBPOYWA.js → chunk-O5MH74TI.js} +3 -3
  66. package/dist/{chunk-QSBPOYWA.js.map → chunk-O5MH74TI.js.map} +1 -1
  67. package/dist/{chunk-ZZFOJXGQ.js → chunk-OVO4PUZR.js} +5 -5
  68. package/dist/{chunk-ZZFOJXGQ.js.map → chunk-OVO4PUZR.js.map} +1 -1
  69. package/dist/{chunk-X2QYHDXE.js → chunk-PE4UFYMH.js} +3 -3
  70. package/dist/{chunk-X2QYHDXE.js.map → chunk-PE4UFYMH.js.map} +1 -1
  71. package/dist/{chunk-SHSIZTZX.js → chunk-RQW2CFOQ.js} +4 -4
  72. package/dist/{chunk-SHSIZTZX.js.map → chunk-RQW2CFOQ.js.map} +1 -1
  73. package/dist/{chunk-B3WHUTI7.cjs → chunk-SDXK2COQ.cjs} +8 -8
  74. package/dist/{chunk-B3WHUTI7.cjs.map → chunk-SDXK2COQ.cjs.map} +1 -1
  75. package/dist/{chunk-4NSZCDR6.js → chunk-SH4YEIF6.js} +4 -4
  76. package/dist/chunk-SH4YEIF6.js.map +1 -0
  77. package/dist/{chunk-436ILQPJ.js → chunk-SOBLG72E.js} +3 -3
  78. package/dist/{chunk-436ILQPJ.js.map → chunk-SOBLG72E.js.map} +1 -1
  79. package/dist/{chunk-VEETUCPR.cjs → chunk-TBARSVW7.cjs} +28 -28
  80. package/dist/{chunk-VEETUCPR.cjs.map → chunk-TBARSVW7.cjs.map} +1 -1
  81. package/dist/{chunk-WTXYRXR5.js → chunk-TG4S236F.js} +8 -8
  82. package/dist/{chunk-WTXYRXR5.js.map → chunk-TG4S236F.js.map} +1 -1
  83. package/dist/{chunk-QD4APOHO.cjs → chunk-TZHLO7HF.cjs} +4 -4
  84. package/dist/{chunk-QD4APOHO.cjs.map → chunk-TZHLO7HF.cjs.map} +1 -1
  85. package/dist/{chunk-PAMIB34K.cjs → chunk-U4ZLFL6M.cjs} +5 -5
  86. package/dist/{chunk-PAMIB34K.cjs.map → chunk-U4ZLFL6M.cjs.map} +1 -1
  87. package/dist/{chunk-V2CNHRLZ.cjs → chunk-VVQEEHDV.cjs} +4 -4
  88. package/dist/{chunk-V2CNHRLZ.cjs.map → chunk-VVQEEHDV.cjs.map} +1 -1
  89. package/dist/{chunk-JCZCDIEZ.cjs → chunk-XTCNETMI.cjs} +4 -4
  90. package/dist/{chunk-JCZCDIEZ.cjs.map → chunk-XTCNETMI.cjs.map} +1 -1
  91. package/dist/{chunk-7KQSBID2.js → chunk-Y7UHKEVT.js} +3 -3
  92. package/dist/{chunk-7KQSBID2.js.map → chunk-Y7UHKEVT.js.map} +1 -1
  93. package/dist/{chunk-2BXEHCH2.cjs → chunk-ZSWMRG72.cjs} +4 -4
  94. package/dist/{chunk-2BXEHCH2.cjs.map → chunk-ZSWMRG72.cjs.map} +1 -1
  95. package/dist/connect/docx.cjs +10 -10
  96. package/dist/connect/docx.js +6 -6
  97. package/dist/connect/index.cjs +622 -607
  98. package/dist/connect/index.cjs.map +1 -1
  99. package/dist/connect/index.js +67 -52
  100. package/dist/connect/index.js.map +1 -1
  101. package/dist/connect/viewer.cjs +7 -7
  102. package/dist/connect/viewer.js +6 -6
  103. package/dist/connection/report-problem/ReportProblemDialog.d.ts +1 -0
  104. package/dist/embed/index.cjs +14 -14
  105. package/dist/embed/index.js +8 -8
  106. package/dist/facts/index.cjs +43 -43
  107. package/dist/facts/index.js +2 -2
  108. package/dist/files/AiReviewDialog.d.ts +2 -0
  109. package/dist/files/index.cjs +222 -222
  110. package/dist/files/index.js +1 -1
  111. package/dist/index.cjs +672 -672
  112. package/dist/index.js +11 -11
  113. package/dist/settings/index.cjs +1 -1
  114. package/dist/settings/index.js +1 -1
  115. package/dist/workflow-canvas/index.cjs +30 -30
  116. package/dist/workflow-canvas/index.js +13 -13
  117. package/node_modules/@arbidocs/coedit/package.json +1 -1
  118. package/package.json +5 -5
  119. package/dist/ConnectedStreamedWordArtifact-5HI3WSAJ.cjs.map +0 -1
  120. package/dist/chunk-4NSZCDR6.js.map +0 -1
  121. package/dist/chunk-ZQ2MQBNC.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/agents/workflows/useWorkflowPreview.ts"],"names":[],"mappings":";;;;AAwBO,SAAS,kBAAA,CACd,QAAA,EACA,EAAE,MAAA,GAAS,UAAA,EAAY,OAAA,GAAU,GAAA,EAAK,eAAA,EAAiB,OAAA,EAAQ,GAA+B,EAAC,EAC9E;AACjB,EAAA,MAAM,KAAA,GAAQ,cAAc,QAAQ,CAAA;AACpC,EAAA,MAAM,CAAC,QAAQ,SAAS,CAAA,GAAI,SAAyB,MAAM,gBAAA,CAAiB,QAAQ,CAAC,CAAA;AACrF,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,QAAA,CAA4C,EAAE,CAAA;AAC1E,EAAA,MAAM,GAAA,GAAM,CAAC,EAAA,EAAY,KAAA,KAA6B,UAAU,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,EAAG,CAAC,EAAE,GAAG,OAAM,CAAE,CAAA;AAI9F,EAAA,MAAM,MAAA,GAAS,MAAA,iBAAO,IAAI,GAAA,EAA4C,CAAA;AACtE,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,OAAO,MAAM;AACX,MAAA,KAAA,MAAW,CAAA,IAAK,OAAA,CAAQ,MAAA,EAAO,eAAgB,CAAC,CAAA;AAChD,MAAA,OAAA,CAAQ,KAAA,EAAM;AACd,MAAA,SAAA;AAAA,QAAU,CAAC,MACT,MAAA,CAAO,WAAA;AAAA,UACL,MAAA,CAAO,QAAQ,CAAC,CAAA,CAAE,IAAI,CAAC,CAAC,EAAA,EAAI,CAAC,CAAA,KAAM;AAAA,YACjC,EAAA;AAAA,YACA,EAAE,MAAA,KAAW,SAAA,GAAY,EAAE,MAAA,EAAQ,WAAU,GAAI;AAAA,WAClD;AAAA;AACH,OACF;AAAA,IACF,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAA,CAAO,MAAA,CAAO,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,SAAS,CAAA,EAAG;AAE/D,IAAA,MAAM,OAAO,KAAA,CAAM,IAAA;AAAA,MACjB,CAAC,CAAA,KAAA,CACE,CAAA,CAAE,IAAA,KAAS,OAAA,IAAW,CAAA,CAAE,IAAA,KAAS,QAAA,KAAa,SAAA,CAAU,KAAA,EAAO,MAAA,EAAQ,CAAA,CAAE,EAAE,CAAA,KAAM;AAAA,KACtF;AACA,IAAA,IAAI,CAAC,IAAA,IAAS,IAAA,CAAK,SAAS,OAAA,IAAW,IAAA,CAAK,SAAS,QAAA,EAAW;AAChE,IAAA,MAAM,MAAA,GACJ,IAAA,CAAK,IAAA,KAAS,OAAA,GACV,iBAAA,CAAkB,QAAA,EAAU,IAAA,EAAM,MAAA,EAAQ,EAAE,eAAA,EAAiB,OAAA,EAAS,CAAA,GACtE,EAAA;AACN,IAAA,GAAA,CAAI,IAAA,CAAK,EAAA,EAAI,EAAE,MAAA,EAAQ,SAAA,EAAW,SAAA,EAAA,iBAAW,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY,EAAG,CAAA;AACvE,IAAA,MAAA,CAAO,OAAA,CAAQ,GAAA;AAAA,MACb,IAAA,CAAK,EAAA;AAAA,MACL,WAAW,MAAM;AACf,QAAA,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,IAAA,CAAK,EAAE,CAAA;AAC7B,QAAA,GAAA;AAAA,UACE,IAAA,CAAK,EAAA;AAAA,UACL,IAAA,CAAK,IAAA,KAAS,OAAA,GACV,EAAE,QAAQ,MAAA,EAAQ,IAAA,EAAM,MAAA,CAAO,OAAA,CAAQ,YAAY,MAAM,CAAA,EAAE,GAC3D,EAAE,QAAQ,MAAA;AAAO,SACvB;AAAA,MACF,GAAG,OAAO;AAAA,KACZ;AAAA,EAGF,CAAA,EAAG,CAAC,MAAA,EAAQ,KAAA,EAAO,QAAQ,CAAC,CAAA;AAE5B,EAAA,OAAO,eAAA,CAAgB;AAAA,IACrB,KAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA,EAAU,CAAC,IAAA,EAAM,KAAA,KAAU,UAAU,CAAC,CAAA,MAAO,EAAE,GAAG,CAAA,EAAG,CAAC,IAAI,GAAG,OAAM,CAAE,CAAA;AAAA,IACrE,QAAA,EAAU,OAAO,IAAA,KAAS,GAAA,CAAI,KAAK,EAAA,EAAI,EAAE,MAAA,EAAQ,MAAA,EAAQ,CAAA;AAAA,IACzD,IAAA,EAAM,OAAO,EAAA,KAAO,GAAA,CAAI,IAAI,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,IACjD,KAAA,EAAO,OAAO,EAAA,KAAO,GAAA,CAAI,IAAI,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,IAClD,UAAU,CAAC,EAAA,KAAO,MAAA,CAAO,EAAE,GAAG,MAAA,KAAW;AAAA,GAC1C,CAAA;AACH","file":"chunk-LBQCFJ5O.js","sourcesContent":["/**\n * A stepped workflow run on screen only (the builder's preview): agent steps run one at a time,\n * the way the server does, and answer with the prompt they would send; action steps just finish.\n * No thread, no agent.\n */\n\nimport { useEffect, useRef, useState } from 'react'\nimport {\n composeStepPrompt,\n initialRunInputs,\n stepPhase,\n workflowSteps,\n type StepComposeOptions,\n} from './run'\nimport type { WorkflowDefinition, WorkflowInputs, WorkflowStepState } from './types'\nimport { useWorkflowView, type WorkflowRunView } from './useWorkflowView'\n\nexport interface UseWorkflowPreviewOptions extends StepComposeOptions {\n /** What a stand-in agent step answers; `{prompt}` is replaced with the prompt it would send. */\n answer?: string\n /** How long a stand-in step takes. */\n delayMs?: number\n}\n\nexport function useWorkflowPreview(\n workflow: WorkflowDefinition,\n { answer = '{prompt}', delayMs = 400, resolveWorkflow, compose }: UseWorkflowPreviewOptions = {}\n): WorkflowRunView {\n const steps = workflowSteps(workflow)\n const [inputs, setInputs] = useState<WorkflowInputs>(() => initialRunInputs(workflow))\n const [states, setStates] = useState<Record<string, WorkflowStepState>>({})\n const set = (id: string, state: WorkflowStepState) => setStates((s) => ({ ...s, [id]: state }))\n\n // A stand-in step's timer outlives the re-render its start causes; it is cleared on unmount, and\n // a step it cut short starts again (StrictMode mounts twice).\n const timers = useRef(new Map<string, ReturnType<typeof setTimeout>>())\n useEffect(() => {\n const pending = timers.current\n return () => {\n for (const t of pending.values()) clearTimeout(t)\n pending.clear()\n setStates((s) =>\n Object.fromEntries(\n Object.entries(s).map(([id, v]) => [\n id,\n v.status === 'running' ? { status: 'pending' } : v,\n ])\n )\n )\n }\n }, [])\n\n // One turn at a time: start the first ready agent step when nothing is running.\n useEffect(() => {\n if (Object.values(states).some((s) => s.status === 'running')) return\n // An action step (a signature, an email, a review) stands in the same way, with no answer.\n const next = steps.find(\n (s) =>\n (s.kind === 'agent' || s.kind === 'action') && stepPhase(steps, states, s.id) === 'ready'\n )\n if (!next || (next.kind !== 'agent' && next.kind !== 'action')) return\n const prompt =\n next.kind === 'agent'\n ? composeStepPrompt(workflow, next, inputs, { resolveWorkflow, compose })\n : ''\n set(next.id, { status: 'running', startedAt: new Date().toISOString() })\n timers.current.set(\n next.id,\n setTimeout(() => {\n timers.current.delete(next.id)\n set(\n next.id,\n next.kind === 'agent'\n ? { status: 'done', text: answer.replace('{prompt}', prompt) }\n : { status: 'done' }\n )\n }, delayMs)\n )\n // `inputs` are read when a step starts, not watched.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [states, steps, workflow])\n\n return useWorkflowView({\n steps,\n states,\n inputs,\n setInput: (name, value) => setInputs((i) => ({ ...i, [name]: value })),\n complete: async (step) => set(step.id, { status: 'done' }),\n skip: async (id) => set(id, { status: 'skipped' }),\n retry: async (id) => set(id, { status: 'pending' }),\n isLocked: (id) => states[id]?.status === 'done',\n })\n}\n"]}
1
+ {"version":3,"sources":["../src/agents/workflows/useWorkflowPreview.ts"],"names":[],"mappings":"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","file":"chunk-I4PB257E.js","sourcesContent":["/**\n * A stepped workflow run on screen only (the builder's preview): agent steps run one at a time,\n * the way the server does, and answer with the prompt they would send; action steps just finish.\n * No thread, no agent.\n */\n\nimport { useEffect, useRef, useState } from 'react'\nimport {\n composeStepPrompt,\n initialRunInputs,\n stepPhase,\n workflowSteps,\n type StepComposeOptions,\n} from './run'\nimport type { WorkflowDefinition, WorkflowInputs, WorkflowStepState } from './types'\nimport { useWorkflowView, type WorkflowRunView } from './useWorkflowView'\n\nexport interface UseWorkflowPreviewOptions extends StepComposeOptions {\n /** What a stand-in agent step answers; `{prompt}` is replaced with the prompt it would send. */\n answer?: string\n /** How long a stand-in step takes. */\n delayMs?: number\n}\n\nexport function useWorkflowPreview(\n workflow: WorkflowDefinition,\n { answer = '{prompt}', delayMs = 400, resolveWorkflow, compose }: UseWorkflowPreviewOptions = {}\n): WorkflowRunView {\n const steps = workflowSteps(workflow)\n const [inputs, setInputs] = useState<WorkflowInputs>(() => initialRunInputs(workflow))\n const [states, setStates] = useState<Record<string, WorkflowStepState>>({})\n const set = (id: string, state: WorkflowStepState) => setStates((s) => ({ ...s, [id]: state }))\n\n // A stand-in step's timer outlives the re-render its start causes; it is cleared on unmount, and\n // a step it cut short starts again (StrictMode mounts twice).\n const timers = useRef(new Map<string, ReturnType<typeof setTimeout>>())\n useEffect(() => {\n const pending = timers.current\n return () => {\n for (const t of pending.values()) clearTimeout(t)\n pending.clear()\n setStates((s) =>\n Object.fromEntries(\n Object.entries(s).map(([id, v]) => [\n id,\n v.status === 'running' ? { status: 'pending' } : v,\n ])\n )\n )\n }\n }, [])\n\n // One turn at a time: start the first ready agent step when nothing is running.\n useEffect(() => {\n if (Object.values(states).some((s) => s.status === 'running')) return\n // An action step (a signature, an email, a review) stands in the same way, with no answer.\n const next = steps.find(\n (s) =>\n (s.kind === 'agent' || s.kind === 'action') && stepPhase(steps, states, s.id) === 'ready'\n )\n if (!next || (next.kind !== 'agent' && next.kind !== 'action')) return\n const prompt =\n next.kind === 'agent'\n ? composeStepPrompt(workflow, next, inputs, { resolveWorkflow, compose })\n : ''\n set(next.id, { status: 'running', startedAt: new Date().toISOString() })\n timers.current.set(\n next.id,\n setTimeout(() => {\n timers.current.delete(next.id)\n set(\n next.id,\n next.kind === 'agent'\n ? { status: 'done', text: answer.replace('{prompt}', prompt) }\n : { status: 'done' }\n )\n }, delayMs)\n )\n // `inputs` are read when a step starts, not watched.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [states, steps, workflow])\n\n return useWorkflowView({\n steps,\n states,\n inputs,\n setInput: (name, value) => setInputs((i) => ({ ...i, [name]: value })),\n complete: async (step) => set(step.id, { status: 'done' }),\n skip: async (id) => set(id, { status: 'skipped' }),\n retry: async (id) => set(id, { status: 'pending' }),\n isLocked: (id) => states[id]?.status === 'done',\n })\n}\n"]}
@@ -3,10 +3,10 @@
3
3
 
4
4
  var chunkJXKNPKU6_cjs = require('./chunk-JXKNPKU6.cjs');
5
5
  var chunkKJM5X7NX_cjs = require('./chunk-KJM5X7NX.cjs');
6
- var chunkEW54OI4U_cjs = require('./chunk-EW54OI4U.cjs');
6
+ var chunkHEM27NA3_cjs = require('./chunk-HEM27NA3.cjs');
7
7
  var chunk7E3SUV4J_cjs = require('./chunk-7E3SUV4J.cjs');
8
- var chunkSXY7K54A_cjs = require('./chunk-SXY7K54A.cjs');
9
- var chunkZQ2MQBNC_cjs = require('./chunk-ZQ2MQBNC.cjs');
8
+ var chunkGFG7DCJ3_cjs = require('./chunk-GFG7DCJ3.cjs');
9
+ var chunk33MKOWSA_cjs = require('./chunk-33MKOWSA.cjs');
10
10
  var chunkYYPZOEED_cjs = require('./chunk-YYPZOEED.cjs');
11
11
  var chunkCMXJUCTH_cjs = require('./chunk-CMXJUCTH.cjs');
12
12
  var chunkJH6JTI76_cjs = require('./chunk-JH6JTI76.cjs');
@@ -193,13 +193,13 @@ function ViewerRelatedDocuments({ document: document2 }) {
193
193
  );
194
194
  if (!related) return null;
195
195
  return /* @__PURE__ */ jsxRuntime.jsx(
196
- chunkSXY7K54A_cjs.RelatedDocumentsCell,
196
+ chunkGFG7DCJ3_cjs.RelatedDocumentsCell,
197
197
  {
198
198
  currentDoc: document2,
199
199
  related,
200
200
  viewingDocumentId: viewerOpen ? viewingId : null,
201
201
  onDocumentClick: (id) => session.setViewingDocument({ id, page: null }),
202
- onDelete: (doc) => chunkEW54OI4U_cjs.useFilesDialogs.getState().requestDelete(doc),
202
+ onDelete: (doc) => chunkHEM27NA3_cjs.useFilesDialogs.getState().requestDelete(doc),
203
203
  onCompare
204
204
  }
205
205
  );
@@ -326,7 +326,7 @@ function useViewedDocument(documentId) {
326
326
  const documentData = record?.external_id === documentId ? record : void 0;
327
327
  const { data: tags } = chunkBFKTZUFT_cjs.useConnectedTags();
328
328
  const labelSummaries = React.useMemo(
329
- () => chunkZQ2MQBNC_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkZQ2MQBNC_cjs.isDocumentLabel)),
329
+ () => chunk33MKOWSA_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunk33MKOWSA_cjs.isDocumentLabel)),
330
330
  [documentData, tags]
331
331
  );
332
332
  const fileName = documentData?.file_name;
@@ -831,7 +831,7 @@ function PassageTagPanel({
831
831
  [workspaceTags]
832
832
  );
833
833
  return /* @__PURE__ */ jsxRuntime.jsx(
834
- chunkZQ2MQBNC_cjs.TagPassagePanel,
834
+ chunk33MKOWSA_cjs.TagPassagePanel,
835
835
  {
836
836
  pageNumber,
837
837
  preview,
@@ -956,7 +956,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
956
956
  ];
957
957
  }) : [];
958
958
  return /* @__PURE__ */ jsxRuntime.jsx(
959
- chunkZQ2MQBNC_cjs.HtmlPassage,
959
+ chunk33MKOWSA_cjs.HtmlPassage,
960
960
  {
961
961
  chunkId,
962
962
  highlight: isStrong ? "strong" : isLight ? "light" : void 0,
@@ -1132,11 +1132,11 @@ function useDocumentLabels(documentId, doctags, orderedChunkIds) {
1132
1132
  const workspaceTags = React.useMemo(() => allTags.filter(isDocumentTag), [allTags]);
1133
1133
  const documentDoctags = React.useMemo(() => doctags ?? [], [doctags]);
1134
1134
  const tagSummaries = React.useMemo(
1135
- () => chunkZQ2MQBNC_cjs.summariseDocTags(documentDoctags, workspaceTags),
1135
+ () => chunk33MKOWSA_cjs.summariseDocTags(documentDoctags, workspaceTags),
1136
1136
  [documentDoctags, workspaceTags]
1137
1137
  );
1138
1138
  const labelSummaries = React.useMemo(
1139
- () => chunkZQ2MQBNC_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkZQ2MQBNC_cjs.isDocumentLabel)),
1139
+ () => chunk33MKOWSA_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunk33MKOWSA_cjs.isDocumentLabel)),
1140
1140
  [documentDoctags, workspaceTags]
1141
1141
  );
1142
1142
  const labelsByChunk = React.useMemo(() => {
@@ -1644,14 +1644,14 @@ function ParsedTextView({
1644
1644
  }
1645
1645
  }
1646
1646
  }, [maxPageNumber, onLoadSuccess]);
1647
- if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "Loading parsed document..." });
1647
+ if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "Loading parsed document..." });
1648
1648
  if (error) {
1649
- return /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1649
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1650
1650
  }
1651
1651
  const taggingChunk = labels.taggingChunkId ? processedChunks.flatMap((page) => page.chunks).find((c) => c.chunkExtId === labels.taggingChunkId) : void 0;
1652
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkZQ2MQBNC_cjs.HtmlViewerRoot, { children: [
1652
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunk33MKOWSA_cjs.HtmlViewerRoot, { children: [
1653
1653
  /* @__PURE__ */ jsxRuntime.jsx(
1654
- chunkZQ2MQBNC_cjs.DocumentLabelBar,
1654
+ chunk33MKOWSA_cjs.DocumentLabelBar,
1655
1655
  {
1656
1656
  summaries: labels.labelSummaries,
1657
1657
  activeTagExtId: labels.activeTagExtId,
@@ -1676,15 +1676,15 @@ function ParsedTextView({
1676
1676
  }
1677
1677
  ),
1678
1678
  !citation.factCitationActive && citation.runStartIds.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1679
- chunkZQ2MQBNC_cjs.CitedRunNav,
1679
+ chunk33MKOWSA_cjs.CitedRunNav,
1680
1680
  {
1681
1681
  position: citation.runCursor + 1,
1682
1682
  total: citation.runStartIds.length,
1683
1683
  onStep: citation.gotoRun
1684
1684
  }
1685
1685
  ),
1686
- /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1687
- chunkZQ2MQBNC_cjs.HtmlPage,
1686
+ /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1687
+ chunk33MKOWSA_cjs.HtmlPage,
1688
1688
  {
1689
1689
  pageNumber: page.pageNumber,
1690
1690
  totalPages,
@@ -1725,7 +1725,7 @@ function ParsedTextView({
1725
1725
  })
1726
1726
  },
1727
1727
  pageIndex
1728
- )) : /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.HtmlViewerEmpty, {}) })
1728
+ )) : /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.HtmlViewerEmpty, {}) })
1729
1729
  ] });
1730
1730
  }
1731
1731
  var AnnotatedPdfViewer = React.lazy(
@@ -1775,7 +1775,7 @@ function ViewerPdfPane({
1775
1775
  const showMarkup = markup.hasMarkup && !markup.showOriginal;
1776
1776
  if (isDownloadOnly) {
1777
1777
  return /* @__PURE__ */ jsxRuntime.jsx(
1778
- chunkZQ2MQBNC_cjs.ViewerPreviewUnavailable,
1778
+ chunk33MKOWSA_cjs.ViewerPreviewUnavailable,
1779
1779
  {
1780
1780
  extension: fileExtension(documentData?.file_name),
1781
1781
  onDownload
@@ -1785,26 +1785,26 @@ function ViewerPdfPane({
1785
1785
  const loadingLabel = isVideo ? "Loading video..." : isAudio ? "Loading audio..." : isImage ? "Loading image..." : !documentData ? "Loading document..." : ui.friendlyFileType(documentData.file_type, documentData.file_name) === "Text" ? "Loading text..." : "Loading PDF...";
1786
1786
  const errorLabel = isVideo ? "Failed to load video" : isAudio ? "Failed to load audio" : isImage ? "Failed to load image" : "Failed to load PDF";
1787
1787
  if (isDocx && documentData && !["completed", "low-content", "failed"].includes(documentData.status || "")) {
1788
- return /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
1788
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
1789
1789
  }
1790
- if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: loadingLabel });
1790
+ if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: loadingLabel });
1791
1791
  if (pdfError) {
1792
1792
  return /* @__PURE__ */ jsxRuntime.jsx(
1793
- chunkZQ2MQBNC_cjs.ViewerLoadError,
1793
+ chunk33MKOWSA_cjs.ViewerLoadError,
1794
1794
  {
1795
1795
  message: isVideo || isAudio || isImage ? `${errorLabel} \u2014 download it instead.` : "Couldn't display the PDF \u2014 download it instead.",
1796
1796
  onDownload
1797
1797
  }
1798
1798
  );
1799
1799
  }
1800
- if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: loadingLabel });
1800
+ if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: loadingLabel });
1801
1801
  if (isVideo) return /* @__PURE__ */ jsxRuntime.jsx(viewers.VideoViewer, { blob: pdfBlob, title: documentData?.file_name || "Video" });
1802
1802
  if (isAudio) return /* @__PURE__ */ jsxRuntime.jsx(viewers.AudioViewer, { blob: pdfBlob, title: documentData?.file_name || "Audio" });
1803
1803
  if (isImage) {
1804
1804
  return /* @__PURE__ */ jsxRuntime.jsx(viewers.ImageViewer, { blob: pdfBlob, alt: documentData?.file_name || "Document image" });
1805
1805
  }
1806
1806
  if (signatureFlow?.kind === "prepare") {
1807
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1807
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1808
1808
  SignatureRequestEditor,
1809
1809
  {
1810
1810
  ...viewerProps,
@@ -1822,7 +1822,7 @@ function ViewerPdfPane({
1822
1822
  }
1823
1823
  if (signatureFlow?.kind === "sign" && currentUserId) {
1824
1824
  const { currentPage: _page, scrollTrigger: _trigger, ...guidedProps } = viewerProps;
1825
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1825
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1826
1826
  GuidedSigningViewer,
1827
1827
  {
1828
1828
  ...guidedProps,
@@ -1836,7 +1836,7 @@ function ViewerPdfPane({
1836
1836
  ) });
1837
1837
  }
1838
1838
  if (placingSignature) {
1839
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1839
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1840
1840
  SignaturePlacementViewer,
1841
1841
  {
1842
1842
  ...viewerProps,
@@ -1852,7 +1852,7 @@ function ViewerPdfPane({
1852
1852
  return /* @__PURE__ */ jsxRuntime.jsx(
1853
1853
  React.Suspense,
1854
1854
  {
1855
- fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
1855
+ fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
1856
1856
  children: /* @__PURE__ */ jsxRuntime.jsx(
1857
1857
  AnnotatedPdfViewer,
1858
1858
  {
@@ -1878,17 +1878,17 @@ function ViewerPdfPane({
1878
1878
  return /* @__PURE__ */ jsxRuntime.jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
1879
1879
  }
1880
1880
  var NativeDocxEditor = React.lazy(
1881
- () => import('./ConnectedNativeDocxEditor-7JHSQ6KI.cjs').then((m) => ({
1881
+ () => import('./ConnectedNativeDocxEditor-UOZGILPM.cjs').then((m) => ({
1882
1882
  default: m.ConnectedNativeDocxEditor
1883
1883
  }))
1884
1884
  );
1885
1885
  var StreamedWordArtifact = React.lazy(
1886
- () => import('./ConnectedStreamedWordArtifact-5HI3WSAJ.cjs').then((m) => ({
1886
+ () => import('./ConnectedStreamedWordArtifact-WFKYXIX5.cjs').then((m) => ({
1887
1887
  default: m.ConnectedStreamedWordArtifact
1888
1888
  }))
1889
1889
  );
1890
1890
  var NativeDocxComparison = React.lazy(
1891
- () => import('./ConnectedNativeDocxComparison-P346QOX5.cjs').then((m) => ({
1891
+ () => import('./ConnectedNativeDocxComparison-KIMSYQV2.cjs').then((m) => ({
1892
1892
  default: m.ConnectedNativeDocxComparison
1893
1893
  }))
1894
1894
  );
@@ -2043,15 +2043,15 @@ function DocumentViewerContent({
2043
2043
  };
2044
2044
  const documentTitle = streamingDoc?.title || draftDoc?.title || documentData?.doc_metadata?.title || documentData?.file_name || "Document";
2045
2045
  const pageNav = totalPages > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2046
- /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
2046
+ /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
2047
2047
  /* @__PURE__ */ jsxRuntime.jsx(
2048
- chunkZQ2MQBNC_cjs.PdfPageNav,
2048
+ chunk33MKOWSA_cjs.PdfPageNav,
2049
2049
  {
2050
2050
  canPrev: (viewingDocumentPage || 1) > 1,
2051
2051
  canNext: (viewingDocumentPage || 1) < totalPages,
2052
2052
  onPrev: () => stepPage(-1),
2053
2053
  onNext: () => stepPage(1),
2054
- counter: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
2054
+ counter: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
2055
2055
  }
2056
2056
  )
2057
2057
  ] });
@@ -2075,7 +2075,7 @@ function DocumentViewerContent({
2075
2075
  );
2076
2076
  const titleBlock = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2077
2077
  isDraft ? /* @__PURE__ */ jsxRuntime.jsx(ViewerDraftTitle, { documentId }) : /* @__PURE__ */ jsxRuntime.jsx(
2078
- chunkZQ2MQBNC_cjs.ViewerTitle,
2078
+ chunk33MKOWSA_cjs.ViewerTitle,
2079
2079
  {
2080
2080
  title: documentTitle,
2081
2081
  versionLabel: currentVersionLabel,
@@ -2100,7 +2100,7 @@ function DocumentViewerContent({
2100
2100
  // A draft's kind replaces the tabs: neither Versions nor the text view means anything
2101
2101
  // before the first save.
2102
2102
  /* @__PURE__ */ jsxRuntime.jsx(ViewerDraftKind, { documentId })
2103
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerTabBar, { tabs: viewerTabs, activeId: activeTab, onChange: handleTabChange }),
2103
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerTabBar, { tabs: viewerTabs, activeId: activeTab, onChange: handleTabChange }),
2104
2104
  !isCompact && titleBlock
2105
2105
  ] });
2106
2106
  const annotatable = documentTools.canAnnotate({
@@ -2173,7 +2173,7 @@ function DocumentViewerContent({
2173
2173
  }
2174
2174
  ),
2175
2175
  activeTab === "pdf" && isImage && pdfBlob && /* @__PURE__ */ jsxRuntime.jsx(
2176
- chunkZQ2MQBNC_cjs.ViewerImageActions,
2176
+ chunk33MKOWSA_cjs.ViewerImageActions,
2177
2177
  {
2178
2178
  compact: isCompact,
2179
2179
  onUseAsReference: support.useImageAsReference ? () => support.useImageAsReference(documentId) : void 0,
@@ -2242,7 +2242,7 @@ function DocumentViewerContent({
2242
2242
  {
2243
2243
  state: documentData?.shared ? "shared" : "private",
2244
2244
  onToggle: share,
2245
- disabled: !chunkZQ2MQBNC_cjs.canChangeVisibility(documentData, currentUserId),
2245
+ disabled: !chunk33MKOWSA_cjs.canChangeVisibility(documentData, currentUserId),
2246
2246
  disabledTooltip: "Only the owner can change visibility",
2247
2247
  tooltip: documentData?.shared ? "Shared with the workspace \u2014 click to share with specific people" : "Share with the workspace, then optionally notify specific people by email",
2248
2248
  variant: "outline",
@@ -2386,7 +2386,7 @@ function DocumentViewerContent({
2386
2386
  onZoomChange: setZoom
2387
2387
  };
2388
2388
  return /* @__PURE__ */ jsxRuntime.jsxs(
2389
- chunkZQ2MQBNC_cjs.ViewerFrame,
2389
+ chunk33MKOWSA_cjs.ViewerFrame,
2390
2390
  {
2391
2391
  frameRef: containerRef,
2392
2392
  contentId: documentId,
@@ -2431,7 +2431,7 @@ function DocumentViewerContent({
2431
2431
  )
2432
2432
  ),
2433
2433
  children: [
2434
- isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2434
+ isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2435
2435
  NativeDocxComparison,
2436
2436
  {
2437
2437
  baseId: compareDocumentId,
@@ -2441,7 +2441,7 @@ function DocumentViewerContent({
2441
2441
  ) }),
2442
2442
  isCaptureDraft && /* @__PURE__ */ jsxRuntime.jsx(ViewerCaptureDraft, { documentId }),
2443
2443
  !isCaptureDraft && (activeTab === "pdf" || isMedia && activeTab === "html") && !isArtifact && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(chunkDTMBAFIL_cjs.ViewerPane, { hidden: activeTab !== "pdf", children: [
2444
- /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.DocumentLabelBar, { summaries: labelSummaries }),
2444
+ /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.DocumentLabelBar, { summaries: labelSummaries }),
2445
2445
  !isMedia && !isImage && signatureBanner,
2446
2446
  activeTab === "pdf" && !isMedia && !isImage && /* @__PURE__ */ jsxRuntime.jsx(
2447
2447
  chunkYYPZOEED_cjs.MarkupNotices,
@@ -2451,7 +2451,7 @@ function DocumentViewerContent({
2451
2451
  onOpenVersion: (n) => setSnapshotDocumentId(`${documentId}@v${n}`)
2452
2452
  }
2453
2453
  ),
2454
- /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerControlBar, { controls: activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2454
+ /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerControlBar, { controls: activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2455
2455
  ViewerPdfPane,
2456
2456
  {
2457
2457
  documentId,
@@ -2490,7 +2490,7 @@ function DocumentViewerContent({
2490
2490
  }
2491
2491
  ),
2492
2492
  activeTab === "edit" && isArtifact && liveKind && /* @__PURE__ */ jsxRuntime.jsx(chunkCYKHYFI3_cjs.ArtifactCodeView, { source: liveSource, fileName: documentData?.file_name ?? void 0 }),
2493
- activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2493
+ activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2494
2494
  isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkYYPZOEED_cjs.SignedEditNote, {}),
2495
2495
  /* @__PURE__ */ jsxRuntime.jsx(
2496
2496
  NativeDocxEditor,
@@ -2533,8 +2533,8 @@ function DocumentViewerContent({
2533
2533
  onOpenTranslation: (id) => setViewingDocumentId(id)
2534
2534
  }
2535
2535
  ),
2536
- activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
2537
- activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2536
+ activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
2537
+ activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2538
2538
  signatureBanner,
2539
2539
  isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkYYPZOEED_cjs.SignedEditNote, {}),
2540
2540
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2547,7 +2547,7 @@ function DocumentViewerContent({
2547
2547
  `${snapshotDocumentId || documentId}-${snapshotDocumentId ? "snapshot" : "live"}`
2548
2548
  )
2549
2549
  ] }),
2550
- streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2550
+ streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2551
2551
  StreamedWordArtifact,
2552
2552
  {
2553
2553
  documentId: documentId.startsWith("doc-") ? documentId : void 0,
@@ -2557,7 +2557,7 @@ function DocumentViewerContent({
2557
2557
  },
2558
2558
  documentId
2559
2559
  ) }),
2560
- !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkDTMBAFIL_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZQ2MQBNC_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2560
+ !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkDTMBAFIL_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk33MKOWSA_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2561
2561
  ParsedTextView,
2562
2562
  {
2563
2563
  documentId: pdfSnapshotId || documentId,
@@ -2573,5 +2573,5 @@ function DocumentViewerContent({
2573
2573
  }
2574
2574
 
2575
2575
  exports.ConnectedDocumentViewer = ConnectedDocumentViewer;
2576
- //# sourceMappingURL=chunk-UI24FQRU.cjs.map
2577
- //# sourceMappingURL=chunk-UI24FQRU.cjs.map
2576
+ //# sourceMappingURL=chunk-KTHBUDYQ.cjs.map
2577
+ //# sourceMappingURL=chunk-KTHBUDYQ.cjs.map