@arbidocs/blocks 0.5.114 → 0.5.115

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 (139) hide show
  1. package/dist/{ConnectedCallDock-2KXEQENS.cjs → ConnectedCallDock-WER7R222.cjs} +21 -21
  2. package/dist/{ConnectedCallDock-2KXEQENS.cjs.map → ConnectedCallDock-WER7R222.cjs.map} +1 -1
  3. package/dist/{ConnectedCallRoom-MU3NPNXF.cjs → ConnectedCallRoom-T7OBQTYP.cjs} +14 -14
  4. package/dist/{ConnectedCallRoom-MU3NPNXF.cjs.map → ConnectedCallRoom-T7OBQTYP.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxComparison-VH3I65H6.cjs → ConnectedNativeDocxComparison-YXMYJWXY.cjs} +19 -19
  6. package/dist/{ConnectedNativeDocxComparison-VH3I65H6.cjs.map → ConnectedNativeDocxComparison-YXMYJWXY.cjs.map} +1 -1
  7. package/dist/{ConnectedProductionSetDialog-4EAY6KAZ.cjs → ConnectedProductionSetDialog-LHB4VQWC.cjs} +3 -3
  8. package/dist/{ConnectedProductionSetDialog-4EAY6KAZ.cjs.map → ConnectedProductionSetDialog-LHB4VQWC.cjs.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-KQSHCA75.cjs → ConnectedStreamedWordArtifact-2RTCHVPI.cjs} +19 -19
  10. package/dist/{ConnectedStreamedWordArtifact-KQSHCA75.cjs.map → ConnectedStreamedWordArtifact-2RTCHVPI.cjs.map} +1 -1
  11. package/dist/{DocumentReviewCard-OCPFVMLD.cjs → DocumentReviewCard-ZSBZBGFK.cjs} +15 -15
  12. package/dist/{DocumentReviewCard-OCPFVMLD.cjs.map → DocumentReviewCard-ZSBZBGFK.cjs.map} +1 -1
  13. package/dist/{FilesViewerDialog-BAGOEMXW.cjs → FilesViewerDialog-I5QIHQZT.cjs} +44 -44
  14. package/dist/{FilesViewerDialog-BAGOEMXW.cjs.map → FilesViewerDialog-I5QIHQZT.cjs.map} +1 -1
  15. package/dist/{NativeDocxEditor-EJEIJDOC.cjs → NativeDocxEditor-H6TAEVGY.cjs} +6 -6
  16. package/dist/{NativeDocxEditor-EJEIJDOC.cjs.map → NativeDocxEditor-H6TAEVGY.cjs.map} +1 -1
  17. package/dist/{WorkspaceTableView-IMAZICIZ.cjs → WorkspaceTableView-J3C6VH4T.cjs} +8 -8
  18. package/dist/{WorkspaceTableView-IMAZICIZ.cjs.map → WorkspaceTableView-J3C6VH4T.cjs.map} +1 -1
  19. package/dist/agents/index.cjs +297 -297
  20. package/dist/{ai-7U4B4CVF.cjs → ai-IM4A23YT.cjs} +24 -24
  21. package/dist/ai-IM4A23YT.cjs.map +1 -0
  22. package/dist/calls/index.cjs +121 -121
  23. package/dist/chat/DraftingDocChip.d.ts +3 -1
  24. package/dist/chat/DraftingDocChip.js +7 -4
  25. package/dist/chat/DraftingDocChip.js.map +2 -2
  26. package/dist/chat/index.cjs +37 -37
  27. package/dist/{chunk-AHT6DQNI.cjs → chunk-24EDG4PC.cjs} +50 -50
  28. package/dist/{chunk-AHT6DQNI.cjs.map → chunk-24EDG4PC.cjs.map} +1 -1
  29. package/dist/{chunk-Q6DQGGP4.cjs → chunk-325GVZE6.cjs} +3 -3
  30. package/dist/{chunk-Q6DQGGP4.cjs.map → chunk-325GVZE6.cjs.map} +1 -1
  31. package/dist/{chunk-HM5L4SBC.cjs → chunk-3A7QWUAW.cjs} +3 -3
  32. package/dist/{chunk-HM5L4SBC.cjs.map → chunk-3A7QWUAW.cjs.map} +1 -1
  33. package/dist/{chunk-ET3NVY27.cjs → chunk-42TURFHF.cjs} +5 -5
  34. package/dist/{chunk-ET3NVY27.cjs.map → chunk-42TURFHF.cjs.map} +1 -1
  35. package/dist/{chunk-LFRNBT2I.cjs → chunk-557MJ4IH.cjs} +20 -20
  36. package/dist/{chunk-LFRNBT2I.cjs.map → chunk-557MJ4IH.cjs.map} +1 -1
  37. package/dist/{chunk-JSQQV23D.cjs → chunk-6UTKM5AB.cjs} +3 -3
  38. package/dist/{chunk-JSQQV23D.cjs.map → chunk-6UTKM5AB.cjs.map} +1 -1
  39. package/dist/{chunk-H5OLHP2U.cjs → chunk-7OPOPYV6.cjs} +3 -3
  40. package/dist/{chunk-H5OLHP2U.cjs.map → chunk-7OPOPYV6.cjs.map} +1 -1
  41. package/dist/{chunk-MGQSLMTC.cjs → chunk-A3T3IC3K.cjs} +57 -57
  42. package/dist/{chunk-MGQSLMTC.cjs.map → chunk-A3T3IC3K.cjs.map} +1 -1
  43. package/dist/{chunk-WW6LXQY6.cjs → chunk-B3LZITVF.cjs} +12 -12
  44. package/dist/{chunk-WW6LXQY6.cjs.map → chunk-B3LZITVF.cjs.map} +1 -1
  45. package/dist/{chunk-V5IMYLYK.cjs → chunk-BQ5RIWWT.cjs} +3 -3
  46. package/dist/{chunk-V5IMYLYK.cjs.map → chunk-BQ5RIWWT.cjs.map} +1 -1
  47. package/dist/chunk-CIHERNDO.cjs +18 -0
  48. package/dist/{chunk-ZZA756I4.cjs.map → chunk-CIHERNDO.cjs.map} +1 -1
  49. package/dist/{chunk-MC4F2URI.cjs → chunk-CPG7II4E.cjs} +28 -28
  50. package/dist/{chunk-MC4F2URI.cjs.map → chunk-CPG7II4E.cjs.map} +1 -1
  51. package/dist/{chunk-7XT5B2DZ.cjs → chunk-CPR6EHG7.cjs} +47 -47
  52. package/dist/{chunk-7XT5B2DZ.cjs.map → chunk-CPR6EHG7.cjs.map} +1 -1
  53. package/dist/{chunk-3U36VYMD.cjs → chunk-DDIW4HLU.cjs} +27 -27
  54. package/dist/{chunk-3U36VYMD.cjs.map → chunk-DDIW4HLU.cjs.map} +1 -1
  55. package/dist/{chunk-INEPPS4H.cjs → chunk-IW7CDJTA.cjs} +4 -4
  56. package/dist/{chunk-INEPPS4H.cjs.map → chunk-IW7CDJTA.cjs.map} +1 -1
  57. package/dist/{chunk-IFOGBMAE.cjs → chunk-KLMNCBLY.cjs} +9 -6
  58. package/dist/chunk-KLMNCBLY.cjs.map +1 -0
  59. package/dist/{chunk-TDN33HSK.cjs → chunk-KTQOGT2L.cjs} +6 -6
  60. package/dist/{chunk-TDN33HSK.cjs.map → chunk-KTQOGT2L.cjs.map} +1 -1
  61. package/dist/{chunk-UUENH4BJ.cjs → chunk-KXIRVKCJ.cjs} +3 -3
  62. package/dist/{chunk-UUENH4BJ.cjs.map → chunk-KXIRVKCJ.cjs.map} +1 -1
  63. package/dist/{chunk-4ED7CNOX.cjs → chunk-M6IKVKU5.cjs} +40 -3
  64. package/dist/chunk-M6IKVKU5.cjs.map +1 -0
  65. package/dist/{chunk-XKDUPU7B.cjs → chunk-NJCK6V6U.cjs} +4 -4
  66. package/dist/{chunk-XKDUPU7B.cjs.map → chunk-NJCK6V6U.cjs.map} +1 -1
  67. package/dist/{chunk-5QUL5BZO.cjs → chunk-NNUK5ZM7.cjs} +4 -4
  68. package/dist/{chunk-5QUL5BZO.cjs.map → chunk-NNUK5ZM7.cjs.map} +1 -1
  69. package/dist/{chunk-4NPCDS2X.cjs → chunk-NY3YUCOW.cjs} +3 -3
  70. package/dist/{chunk-4NPCDS2X.cjs.map → chunk-NY3YUCOW.cjs.map} +1 -1
  71. package/dist/{chunk-6DCIZA3X.cjs → chunk-OEREKAAP.cjs} +75 -75
  72. package/dist/{chunk-6DCIZA3X.cjs.map → chunk-OEREKAAP.cjs.map} +1 -1
  73. package/dist/{chunk-3ODEWSRO.cjs → chunk-P77YTTJ3.cjs} +4 -4
  74. package/dist/{chunk-3ODEWSRO.cjs.map → chunk-P77YTTJ3.cjs.map} +1 -1
  75. package/dist/{chunk-LYTIQQQ2.cjs → chunk-R7CJEIA5.cjs} +3 -3
  76. package/dist/{chunk-LYTIQQQ2.cjs.map → chunk-R7CJEIA5.cjs.map} +1 -1
  77. package/dist/{chunk-2W5E62EY.cjs → chunk-SGYSDABK.cjs} +6 -6
  78. package/dist/{chunk-2W5E62EY.cjs.map → chunk-SGYSDABK.cjs.map} +1 -1
  79. package/dist/{chunk-UNDQYTRF.cjs → chunk-T23UTIRI.cjs} +6 -6
  80. package/dist/{chunk-UNDQYTRF.cjs.map → chunk-T23UTIRI.cjs.map} +1 -1
  81. package/dist/{chunk-E4BLRF2L.cjs → chunk-TDO5UWXF.cjs} +5 -5
  82. package/dist/{chunk-E4BLRF2L.cjs.map → chunk-TDO5UWXF.cjs.map} +1 -1
  83. package/dist/{chunk-4IOYQLKG.cjs → chunk-TP5PGWIO.cjs} +3 -3
  84. package/dist/{chunk-4IOYQLKG.cjs.map → chunk-TP5PGWIO.cjs.map} +1 -1
  85. package/dist/{chunk-7X3FS5HQ.cjs → chunk-TT4IF52H.cjs} +35 -35
  86. package/dist/{chunk-7X3FS5HQ.cjs.map → chunk-TT4IF52H.cjs.map} +1 -1
  87. package/dist/{chunk-GQXPNIRE.cjs → chunk-WAV762GP.cjs} +6 -6
  88. package/dist/{chunk-GQXPNIRE.cjs.map → chunk-WAV762GP.cjs.map} +1 -1
  89. package/dist/{chunk-436I7PQL.cjs → chunk-WR2SF44W.cjs} +9 -9
  90. package/dist/{chunk-436I7PQL.cjs.map → chunk-WR2SF44W.cjs.map} +1 -1
  91. package/dist/{chunk-MZ2KZXNU.cjs → chunk-WXUU3COI.cjs} +3 -3
  92. package/dist/{chunk-MZ2KZXNU.cjs.map → chunk-WXUU3COI.cjs.map} +1 -1
  93. package/dist/{chunk-NHHEMBXQ.cjs → chunk-X5LANJDZ.cjs} +12 -12
  94. package/dist/{chunk-NHHEMBXQ.cjs.map → chunk-X5LANJDZ.cjs.map} +1 -1
  95. package/dist/{chunk-BW5MF464.cjs → chunk-XKVPSOKP.cjs} +4 -4
  96. package/dist/{chunk-BW5MF464.cjs.map → chunk-XKVPSOKP.cjs.map} +1 -1
  97. package/dist/{chunk-57EE6CMW.cjs → chunk-Y24V6HPR.cjs} +15 -15
  98. package/dist/{chunk-57EE6CMW.cjs.map → chunk-Y24V6HPR.cjs.map} +1 -1
  99. package/dist/{chunk-7TEUGFIL.cjs → chunk-YGXOKB5Z.cjs} +4 -4
  100. package/dist/{chunk-7TEUGFIL.cjs.map → chunk-YGXOKB5Z.cjs.map} +1 -1
  101. package/dist/{chunk-3R6YHJ3G.cjs → chunk-ZTXQIIFV.cjs} +6 -6
  102. package/dist/{chunk-3R6YHJ3G.cjs.map → chunk-ZTXQIIFV.cjs.map} +1 -1
  103. package/dist/connect/docx.cjs +23 -23
  104. package/dist/connect/index.cjs +1231 -1069
  105. package/dist/connect/index.cjs.map +1 -1
  106. package/dist/connect/viewer.cjs +33 -33
  107. package/dist/connection/conversation/ConnectedConversation.js +143 -55
  108. package/dist/connection/conversation/ConnectedConversation.js.map +2 -2
  109. package/dist/connection/conversation/ConversationSendButton.d.ts +1 -0
  110. package/dist/connection/conversation/ConversationSendButton.js +3 -2
  111. package/dist/connection/conversation/ConversationSendButton.js.map +2 -2
  112. package/dist/connection/conversation/DocumentTargetNotice.d.ts +7 -0
  113. package/dist/connection/conversation/DocumentTargetNotice.js +45 -0
  114. package/dist/connection/conversation/DocumentTargetNotice.js.map +7 -0
  115. package/dist/connection/conversation/documentSwitch.d.ts +9 -0
  116. package/dist/connection/conversation/documentSwitch.js +40 -0
  117. package/dist/connection/conversation/documentSwitch.js.map +7 -0
  118. package/dist/dashboards/index.cjs +1 -1
  119. package/dist/docx/NativeDocxEditor.js +3 -1
  120. package/dist/docx/NativeDocxEditor.js.map +2 -2
  121. package/dist/docx/index.cjs +38 -38
  122. package/dist/docx/signatures/SignatureFields.d.ts +2 -0
  123. package/dist/docx/signatures/SignatureFields.js +40 -2
  124. package/dist/docx/signatures/SignatureFields.js.map +2 -2
  125. package/dist/embed/index.cjs +38 -38
  126. package/dist/files/index.cjs +224 -224
  127. package/dist/index.cjs +1731 -1731
  128. package/dist/settings/index.cjs +147 -147
  129. package/dist/shell/index.cjs +90 -90
  130. package/dist/site/index.cjs +5 -5
  131. package/dist/studio/index.cjs +27 -27
  132. package/dist/styles.css +1 -1
  133. package/dist/workflow-canvas/index.cjs +54 -54
  134. package/node_modules/@arbidocs/coedit/package.json +1 -1
  135. package/package.json +5 -5
  136. package/dist/ai-7U4B4CVF.cjs.map +0 -1
  137. package/dist/chunk-4ED7CNOX.cjs.map +0 -1
  138. package/dist/chunk-IFOGBMAE.cjs.map +0 -1
  139. package/dist/chunk-ZZA756I4.cjs +0 -18
@@ -19,6 +19,7 @@ function DraftingDocChip({
19
19
  state = "bound",
20
20
  onAttach,
21
21
  onDetach,
22
+ disabled = false,
22
23
  className,
23
24
  labels,
24
25
  testId = "drafting-doc-chip"
@@ -37,12 +38,13 @@ function DraftingDocChip({
37
38
  {
38
39
  type: "button",
39
40
  onClick: onAttach,
41
+ disabled,
40
42
  className: cn(
41
43
  CHIP,
42
- "border-dashed border-border hover:border-primary/60 hover:text-foreground",
44
+ "border-dashed border-border hover:border-primary/60 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",
43
45
  className
44
46
  ),
45
- title: `${text2}. ${l.attachHint}`,
47
+ title: disabled ? "Wait for the current turn or document switch to finish." : `${text2}. ${l.attachHint}`,
46
48
  "data-testid": `${testId}-attach`,
47
49
  children: [
48
50
  /* @__PURE__ */ jsx(PenLine, { className: "size-3.5 shrink-0", "aria-hidden": true }),
@@ -73,9 +75,10 @@ function DraftingDocChip({
73
75
  {
74
76
  type: "button",
75
77
  onClick: onDetach,
76
- className: "flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted hover:text-foreground",
78
+ disabled,
79
+ className: "flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",
77
80
  "aria-label": l.detach,
78
- title: l.detach,
81
+ title: disabled ? "Wait for the current turn or document switch to finish." : l.detach,
79
82
  "data-testid": `${testId}-detach`,
80
83
  children: /* @__PURE__ */ jsx(X, { className: "size-3", "aria-hidden": true })
81
84
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/chat/DraftingDocChip.tsx"],
4
- "sourcesContent": ["import { PenLine, X } from 'lucide-react'\nimport { cn } from '@arbidocs/react/ui'\nimport { assistantCopy, useAssistantCopy } from '@arbidocs/react/shell'\n\n/** Every fixed string of the chip. Pass a partial `labels` to translate or reword. */\nexport interface DraftingDocChipLabels {\n /** `{title}` is the thread's document. */\n drafting: string\n /** What it means, on hover. */\n hint: string\n /** The attach offer in a thread not bound to the open document; `{title}` is its name. */\n attach: string\n /** What attaching does, on hover. */\n attachHint: string\n /** Unbind the thread from its document. */\n detach: string\n /** A thread bound to a document this person cannot open (another member's private document). */\n unavailable: string\n /** What that means, on hover. */\n unavailableHint: string\n}\n\n/** ARBI's own phrases (the defaults below). */\nconst ARBI = assistantCopy()\n\nexport const DEFAULT_DRAFTING_DOC_CHIP_LABELS: DraftingDocChipLabels = {\n drafting: 'Drafting in {title}',\n hint: ARBI.draftingHint,\n attach: 'Draft in {title}',\n attachHint: ARBI.draftingAttachHint,\n detach: 'Stop drafting in this document',\n unavailable: 'Drafting in a document you cannot open',\n unavailableHint:\n 'This thread is bound to a document you do not have access to. Your questions here only get answers; unbind it to draft in another document.',\n}\n\nexport interface DraftingDocChipProps {\n /** The document's name. */\n title: string\n /**\n * `bound`: the thread drafts in the document (every turn names it). `attach`: the document is\n * open but the thread is not bound to it; clicking binds it (`onAttach`). `unavailable`: the\n * thread is bound to a document this person cannot open (`title` is not shown).\n */\n state?: 'bound' | 'attach' | 'unavailable'\n /** Bind the thread to the open document (the `attach` state). */\n onAttach?: () => void\n /** Unbind the thread (the `bound` state). Absent: not offered. */\n onDetach?: () => void\n className?: string\n labels?: Partial<DraftingDocChipLabels>\n testId?: string\n}\n\nconst CHIP =\n 'flex h-7 min-w-0 max-w-[16rem] items-center gap-1.5 rounded-md border bg-card px-2 text-xs text-muted-foreground'\n\n/**\n * Drafting mode, said in the composer. A thread drafts in a document only when it is bound to it\n * (started from it, attached in it, or made in it): then the chip says so, and the assistant reads\n * the document on demand and edits it granularly as tracked changes, never as a whole document\n * resent each turn (that is what a pin is for). A document merely open beside an unbound thread is\n * offered as an explicit attach: being open never makes a question an edit.\n */\nexport function DraftingDocChip({\n title,\n state = 'bound',\n onAttach,\n onDetach,\n className,\n labels,\n testId = 'drafting-doc-chip',\n}: DraftingDocChipProps) {\n const assistant = useAssistantCopy()\n const l = {\n ...DEFAULT_DRAFTING_DOC_CHIP_LABELS,\n hint: assistant.draftingHint,\n attachHint: assistant.draftingAttachHint,\n ...labels,\n }\n if (state === 'attach') {\n const text = l.attach.replace('{title}', title)\n return (\n <button\n type=\"button\"\n onClick={onAttach}\n className={cn(\n CHIP,\n 'border-dashed border-border hover:border-primary/60 hover:text-foreground',\n className\n )}\n title={`${text}. ${l.attachHint}`}\n data-testid={`${testId}-attach`}\n >\n <PenLine className=\"size-3.5 shrink-0\" aria-hidden />\n <span className=\"truncate\">{text}</span>\n </button>\n )\n }\n const unavailable = state === 'unavailable'\n const text = unavailable ? l.unavailable : l.drafting.replace('{title}', title)\n return (\n <span\n className={cn(CHIP, 'border-border', onDetach && 'pr-0.5', className)}\n title={`${text}. ${unavailable ? l.unavailableHint : l.hint}`}\n data-testid={unavailable ? `${testId}-unavailable` : testId}\n >\n <PenLine\n className={cn('size-3.5 shrink-0', unavailable ? 'text-muted-foreground' : 'text-primary')}\n aria-hidden\n />\n <span className=\"truncate\">{text}</span>\n {onDetach && (\n <button\n type=\"button\"\n onClick={onDetach}\n className=\"flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted hover:text-foreground\"\n aria-label={l.detach}\n title={l.detach}\n data-testid={`${testId}-detach`}\n >\n <X className=\"size-3\" aria-hidden />\n </button>\n )}\n </span>\n )\n}\n"],
5
- "mappings": ";AAmFM,SAWE,KAXF;AAnFN,SAAS,SAAS,SAAS;AAC3B,SAAS,UAAU;AACnB,SAAS,eAAe,wBAAwB;AAqBhD,MAAM,OAAO,cAAc;AAEpB,MAAM,mCAA0D;AAAA,EACrE,UAAU;AAAA,EACV,MAAM,KAAK;AAAA,EACX,QAAQ;AAAA,EACR,YAAY,KAAK;AAAA,EACjB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,iBACE;AACJ;AAoBA,MAAM,OACJ;AASK,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AACX,GAAyB;AACvB,QAAM,YAAY,iBAAiB;AACnC,QAAM,IAAI;AAAA,IACR,GAAG;AAAA,IACH,MAAM,UAAU;AAAA,IAChB,YAAY,UAAU;AAAA,IACtB,GAAG;AAAA,EACL;AACA,MAAI,UAAU,UAAU;AACtB,UAAMA,QAAO,EAAE,OAAO,QAAQ,WAAW,KAAK;AAC9C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,OAAO,GAAGA,KAAI,KAAK,EAAE,UAAU;AAAA,QAC/B,eAAa,GAAG,MAAM;AAAA,QAEtB;AAAA,8BAAC,WAAQ,WAAU,qBAAoB,eAAW,MAAC;AAAA,UACnD,oBAAC,UAAK,WAAU,YAAY,UAAAA,OAAK;AAAA;AAAA;AAAA,IACnC;AAAA,EAEJ;AACA,QAAM,cAAc,UAAU;AAC9B,QAAM,OAAO,cAAc,EAAE,cAAc,EAAE,SAAS,QAAQ,WAAW,KAAK;AAC9E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,MAAM,iBAAiB,YAAY,UAAU,SAAS;AAAA,MACpE,OAAO,GAAG,IAAI,KAAK,cAAc,EAAE,kBAAkB,EAAE,IAAI;AAAA,MAC3D,eAAa,cAAc,GAAG,MAAM,iBAAiB;AAAA,MAErD;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,qBAAqB,cAAc,0BAA0B,cAAc;AAAA,YACzF,eAAW;AAAA;AAAA,QACb;AAAA,QACA,oBAAC,UAAK,WAAU,YAAY,gBAAK;AAAA,QAChC,YACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,WAAU;AAAA,YACV,cAAY,EAAE;AAAA,YACd,OAAO,EAAE;AAAA,YACT,eAAa,GAAG,MAAM;AAAA,YAEtB,8BAAC,KAAE,WAAU,UAAS,eAAW,MAAC;AAAA;AAAA,QACpC;AAAA;AAAA;AAAA,EAEJ;AAEJ;",
4
+ "sourcesContent": ["import { PenLine, X } from 'lucide-react'\nimport { cn } from '@arbidocs/react/ui'\nimport { assistantCopy, useAssistantCopy } from '@arbidocs/react/shell'\n\n/** Every fixed string of the chip. Pass a partial `labels` to translate or reword. */\nexport interface DraftingDocChipLabels {\n /** `{title}` is the thread's document. */\n drafting: string\n /** What it means, on hover. */\n hint: string\n /** The attach offer in a thread not bound to the open document; `{title}` is its name. */\n attach: string\n /** What attaching does, on hover. */\n attachHint: string\n /** Unbind the thread from its document. */\n detach: string\n /** A thread bound to a document this person cannot open (another member's private document). */\n unavailable: string\n /** What that means, on hover. */\n unavailableHint: string\n}\n\n/** ARBI's own phrases (the defaults below). */\nconst ARBI = assistantCopy()\n\nexport const DEFAULT_DRAFTING_DOC_CHIP_LABELS: DraftingDocChipLabels = {\n drafting: 'Drafting in {title}',\n hint: ARBI.draftingHint,\n attach: 'Draft in {title}',\n attachHint: ARBI.draftingAttachHint,\n detach: 'Stop drafting in this document',\n unavailable: 'Drafting in a document you cannot open',\n unavailableHint:\n 'This thread is bound to a document you do not have access to. Your questions here only get answers; unbind it to draft in another document.',\n}\n\nexport interface DraftingDocChipProps {\n /** The document's name. */\n title: string\n /**\n * `bound`: the thread drafts in the document (every turn names it). `attach`: the document is\n * open but the thread is not bound to it; clicking binds it (`onAttach`). `unavailable`: the\n * thread is bound to a document this person cannot open (`title` is not shown).\n */\n state?: 'bound' | 'attach' | 'unavailable'\n /** Bind the thread to the open document (the `attach` state). */\n onAttach?: () => void\n /** Unbind the thread (the `bound` state). Absent: not offered. */\n onDetach?: () => void\n /** A turn or binding update is in progress. */\n disabled?: boolean\n className?: string\n labels?: Partial<DraftingDocChipLabels>\n testId?: string\n}\n\nconst CHIP =\n 'flex h-7 min-w-0 max-w-[16rem] items-center gap-1.5 rounded-md border bg-card px-2 text-xs text-muted-foreground'\n\n/**\n * Drafting mode, said in the composer. A thread drafts in a document only when it is bound to it\n * (started from it, attached in it, or made in it): then the chip says so, and the assistant reads\n * the document on demand and edits it granularly as tracked changes, never as a whole document\n * resent each turn (that is what a pin is for). A document merely open beside an unbound thread is\n * offered as an explicit attach: being open never makes a question an edit.\n */\nexport function DraftingDocChip({\n title,\n state = 'bound',\n onAttach,\n onDetach,\n disabled = false,\n className,\n labels,\n testId = 'drafting-doc-chip',\n}: DraftingDocChipProps) {\n const assistant = useAssistantCopy()\n const l = {\n ...DEFAULT_DRAFTING_DOC_CHIP_LABELS,\n hint: assistant.draftingHint,\n attachHint: assistant.draftingAttachHint,\n ...labels,\n }\n if (state === 'attach') {\n const text = l.attach.replace('{title}', title)\n return (\n <button\n type=\"button\"\n onClick={onAttach}\n disabled={disabled}\n className={cn(\n CHIP,\n 'border-dashed border-border hover:border-primary/60 hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n title={\n disabled\n ? 'Wait for the current turn or document switch to finish.'\n : `${text}. ${l.attachHint}`\n }\n data-testid={`${testId}-attach`}\n >\n <PenLine className=\"size-3.5 shrink-0\" aria-hidden />\n <span className=\"truncate\">{text}</span>\n </button>\n )\n }\n const unavailable = state === 'unavailable'\n const text = unavailable ? l.unavailable : l.drafting.replace('{title}', title)\n return (\n <span\n className={cn(CHIP, 'border-border', onDetach && 'pr-0.5', className)}\n title={`${text}. ${unavailable ? l.unavailableHint : l.hint}`}\n data-testid={unavailable ? `${testId}-unavailable` : testId}\n >\n <PenLine\n className={cn('size-3.5 shrink-0', unavailable ? 'text-muted-foreground' : 'text-primary')}\n aria-hidden\n />\n <span className=\"truncate\">{text}</span>\n {onDetach && (\n <button\n type=\"button\"\n onClick={onDetach}\n disabled={disabled}\n className=\"flex size-5 shrink-0 items-center justify-center rounded hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label={l.detach}\n title={disabled ? 'Wait for the current turn or document switch to finish.' : l.detach}\n data-testid={`${testId}-detach`}\n >\n <X className=\"size-3\" aria-hidden />\n </button>\n )}\n </span>\n )\n}\n"],
5
+ "mappings": ";AAsFM,SAgBE,KAhBF;AAtFN,SAAS,SAAS,SAAS;AAC3B,SAAS,UAAU;AACnB,SAAS,eAAe,wBAAwB;AAqBhD,MAAM,OAAO,cAAc;AAEpB,MAAM,mCAA0D;AAAA,EACrE,UAAU;AAAA,EACV,MAAM,KAAK;AAAA,EACX,QAAQ;AAAA,EACR,YAAY,KAAK;AAAA,EACjB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,iBACE;AACJ;AAsBA,MAAM,OACJ;AASK,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,SAAS;AACX,GAAyB;AACvB,QAAM,YAAY,iBAAiB;AACnC,QAAM,IAAI;AAAA,IACR,GAAG;AAAA,IACH,MAAM,UAAU;AAAA,IAChB,YAAY,UAAU;AAAA,IACtB,GAAG;AAAA,EACL;AACA,MAAI,UAAU,UAAU;AACtB,UAAMA,QAAO,EAAE,OAAO,QAAQ,WAAW,KAAK;AAC9C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,OACE,WACI,4DACA,GAAGA,KAAI,KAAK,EAAE,UAAU;AAAA,QAE9B,eAAa,GAAG,MAAM;AAAA,QAEtB;AAAA,8BAAC,WAAQ,WAAU,qBAAoB,eAAW,MAAC;AAAA,UACnD,oBAAC,UAAK,WAAU,YAAY,UAAAA,OAAK;AAAA;AAAA;AAAA,IACnC;AAAA,EAEJ;AACA,QAAM,cAAc,UAAU;AAC9B,QAAM,OAAO,cAAc,EAAE,cAAc,EAAE,SAAS,QAAQ,WAAW,KAAK;AAC9E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,MAAM,iBAAiB,YAAY,UAAU,SAAS;AAAA,MACpE,OAAO,GAAG,IAAI,KAAK,cAAc,EAAE,kBAAkB,EAAE,IAAI;AAAA,MAC3D,eAAa,cAAc,GAAG,MAAM,iBAAiB;AAAA,MAErD;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,qBAAqB,cAAc,0BAA0B,cAAc;AAAA,YACzF,eAAW;AAAA;AAAA,QACb;AAAA,QACA,oBAAC,UAAK,WAAU,YAAY,gBAAK;AAAA,QAChC,YACC;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT;AAAA,YACA,WAAU;AAAA,YACV,cAAY,EAAE;AAAA,YACd,OAAO,WAAW,4DAA4D,EAAE;AAAA,YAChF,eAAa,GAAG,MAAM;AAAA,YAEtB,8BAAC,KAAE,WAAU,UAAS,eAAW,MAAC;AAAA;AAAA,QACpC;AAAA;AAAA;AAAA,EAEJ;AAEJ;",
6
6
  "names": ["text"]
7
7
  }
@@ -2,7 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkCJYWHUZR_cjs = require('../chunk-CJYWHUZR.cjs');
5
- var chunkIFOGBMAE_cjs = require('../chunk-IFOGBMAE.cjs');
5
+ var chunkKLMNCBLY_cjs = require('../chunk-KLMNCBLY.cjs');
6
6
  var chunkPGJYD67F_cjs = require('../chunk-PGJYD67F.cjs');
7
7
  var chunk5SKHK3BG_cjs = require('../chunk-5SKHK3BG.cjs');
8
8
  var chunkIDCD5TEZ_cjs = require('../chunk-IDCD5TEZ.cjs');
@@ -26,10 +26,10 @@ require('../chunk-UDSHVNU3.cjs');
26
26
  require('../chunk-IPSHAMO2.cjs');
27
27
  var chunkZBP4ZSAJ_cjs = require('../chunk-ZBP4ZSAJ.cjs');
28
28
  require('../chunk-PPCATBOY.cjs');
29
- require('../chunk-LJJJ6CYH.cjs');
30
29
  require('../chunk-TKHCIHE2.cjs');
31
30
  require('../chunk-JDFBEGQO.cjs');
32
31
  require('../chunk-ULWRNGGE.cjs');
32
+ require('../chunk-LJJJ6CYH.cjs');
33
33
  require('../chunk-PLIF5CUV.cjs');
34
34
 
35
35
 
@@ -40,143 +40,143 @@ Object.defineProperty(exports, "AssistantToaster", {
40
40
  });
41
41
  Object.defineProperty(exports, "ComposerAccessories", {
42
42
  enumerable: true,
43
- get: function () { return chunkIFOGBMAE_cjs.ComposerAccessories; }
43
+ get: function () { return chunkKLMNCBLY_cjs.ComposerAccessories; }
44
44
  });
45
45
  Object.defineProperty(exports, "ComposerTools", {
46
46
  enumerable: true,
47
- get: function () { return chunkIFOGBMAE_cjs.ComposerTools; }
47
+ get: function () { return chunkKLMNCBLY_cjs.ComposerTools; }
48
48
  });
49
49
  Object.defineProperty(exports, "ContextActionButton", {
50
50
  enumerable: true,
51
- get: function () { return chunkIFOGBMAE_cjs.ContextActionButton; }
51
+ get: function () { return chunkKLMNCBLY_cjs.ContextActionButton; }
52
52
  });
53
53
  Object.defineProperty(exports, "ContextCheckRow", {
54
54
  enumerable: true,
55
- get: function () { return chunkIFOGBMAE_cjs.ContextCheckRow; }
55
+ get: function () { return chunkKLMNCBLY_cjs.ContextCheckRow; }
56
56
  });
57
57
  Object.defineProperty(exports, "ContextPanelContent", {
58
58
  enumerable: true,
59
- get: function () { return chunkIFOGBMAE_cjs.ContextPanelContent; }
59
+ get: function () { return chunkKLMNCBLY_cjs.ContextPanelContent; }
60
60
  });
61
61
  Object.defineProperty(exports, "ContextPanelFooter", {
62
62
  enumerable: true,
63
- get: function () { return chunkIFOGBMAE_cjs.ContextPanelFooter; }
63
+ get: function () { return chunkKLMNCBLY_cjs.ContextPanelFooter; }
64
64
  });
65
65
  Object.defineProperty(exports, "ContextPanelTabs", {
66
66
  enumerable: true,
67
- get: function () { return chunkIFOGBMAE_cjs.ContextPanelTabs; }
67
+ get: function () { return chunkKLMNCBLY_cjs.ContextPanelTabs; }
68
68
  });
69
69
  Object.defineProperty(exports, "ContextPickerList", {
70
70
  enumerable: true,
71
- get: function () { return chunkIFOGBMAE_cjs.ContextPickerList; }
71
+ get: function () { return chunkKLMNCBLY_cjs.ContextPickerList; }
72
72
  });
73
73
  Object.defineProperty(exports, "ContextPickerRow", {
74
74
  enumerable: true,
75
- get: function () { return chunkIFOGBMAE_cjs.ContextPickerRow; }
75
+ get: function () { return chunkKLMNCBLY_cjs.ContextPickerRow; }
76
76
  });
77
77
  Object.defineProperty(exports, "ContextSearchInput", {
78
78
  enumerable: true,
79
- get: function () { return chunkIFOGBMAE_cjs.ContextSearchInput; }
79
+ get: function () { return chunkKLMNCBLY_cjs.ContextSearchInput; }
80
80
  });
81
81
  Object.defineProperty(exports, "Conversation", {
82
82
  enumerable: true,
83
- get: function () { return chunkIFOGBMAE_cjs.Conversation; }
83
+ get: function () { return chunkKLMNCBLY_cjs.Conversation; }
84
84
  });
85
85
  Object.defineProperty(exports, "ConversationBody", {
86
86
  enumerable: true,
87
- get: function () { return chunkIFOGBMAE_cjs.ConversationBody; }
87
+ get: function () { return chunkKLMNCBLY_cjs.ConversationBody; }
88
88
  });
89
89
  Object.defineProperty(exports, "ConversationHeader", {
90
90
  enumerable: true,
91
- get: function () { return chunkIFOGBMAE_cjs.ConversationHeader; }
91
+ get: function () { return chunkKLMNCBLY_cjs.ConversationHeader; }
92
92
  });
93
93
  Object.defineProperty(exports, "ConversationHeaderActions", {
94
94
  enumerable: true,
95
- get: function () { return chunkIFOGBMAE_cjs.ConversationHeaderActions; }
95
+ get: function () { return chunkKLMNCBLY_cjs.ConversationHeaderActions; }
96
96
  });
97
97
  Object.defineProperty(exports, "ConversationHistoryPane", {
98
98
  enumerable: true,
99
- get: function () { return chunkIFOGBMAE_cjs.ConversationHistoryPane; }
99
+ get: function () { return chunkKLMNCBLY_cjs.ConversationHistoryPane; }
100
100
  });
101
101
  Object.defineProperty(exports, "ConversationLoading", {
102
102
  enumerable: true,
103
- get: function () { return chunkIFOGBMAE_cjs.ConversationLoading; }
103
+ get: function () { return chunkKLMNCBLY_cjs.ConversationLoading; }
104
104
  });
105
105
  Object.defineProperty(exports, "ConversationMain", {
106
106
  enumerable: true,
107
- get: function () { return chunkIFOGBMAE_cjs.ConversationMain; }
107
+ get: function () { return chunkKLMNCBLY_cjs.ConversationMain; }
108
108
  });
109
109
  Object.defineProperty(exports, "ConversationRoot", {
110
110
  enumerable: true,
111
- get: function () { return chunkIFOGBMAE_cjs.ConversationRoot; }
111
+ get: function () { return chunkKLMNCBLY_cjs.ConversationRoot; }
112
112
  });
113
113
  Object.defineProperty(exports, "ConversationSearchView", {
114
114
  enumerable: true,
115
- get: function () { return chunkIFOGBMAE_cjs.ConversationSearchView; }
115
+ get: function () { return chunkKLMNCBLY_cjs.ConversationSearchView; }
116
116
  });
117
117
  Object.defineProperty(exports, "ConversationSettingsButton", {
118
118
  enumerable: true,
119
- get: function () { return chunkIFOGBMAE_cjs.ConversationSettingsButton; }
119
+ get: function () { return chunkKLMNCBLY_cjs.ConversationSettingsButton; }
120
120
  });
121
121
  Object.defineProperty(exports, "DEFAULT_CONVERSATION_LAYOUT_LABELS", {
122
122
  enumerable: true,
123
- get: function () { return chunkIFOGBMAE_cjs.DEFAULT_CONVERSATION_LAYOUT_LABELS; }
123
+ get: function () { return chunkKLMNCBLY_cjs.DEFAULT_CONVERSATION_LAYOUT_LABELS; }
124
124
  });
125
125
  Object.defineProperty(exports, "DEFAULT_CONVERSATION_PARTS_LABELS", {
126
126
  enumerable: true,
127
- get: function () { return chunkIFOGBMAE_cjs.DEFAULT_CONVERSATION_PARTS_LABELS; }
127
+ get: function () { return chunkKLMNCBLY_cjs.DEFAULT_CONVERSATION_PARTS_LABELS; }
128
128
  });
129
129
  Object.defineProperty(exports, "DEFAULT_CONVERSATION_SEARCH_LABELS", {
130
130
  enumerable: true,
131
- get: function () { return chunkIFOGBMAE_cjs.DEFAULT_CONVERSATION_SEARCH_LABELS; }
131
+ get: function () { return chunkKLMNCBLY_cjs.DEFAULT_CONVERSATION_SEARCH_LABELS; }
132
132
  });
133
133
  Object.defineProperty(exports, "DEFAULT_DRAFTING_DOC_CHIP_LABELS", {
134
134
  enumerable: true,
135
- get: function () { return chunkIFOGBMAE_cjs.DEFAULT_DRAFTING_DOC_CHIP_LABELS; }
135
+ get: function () { return chunkKLMNCBLY_cjs.DEFAULT_DRAFTING_DOC_CHIP_LABELS; }
136
136
  });
137
137
  Object.defineProperty(exports, "DEFAULT_LABEL_PIN_ROW_LABELS", {
138
138
  enumerable: true,
139
- get: function () { return chunkIFOGBMAE_cjs.DEFAULT_LABEL_PIN_ROW_LABELS; }
139
+ get: function () { return chunkKLMNCBLY_cjs.DEFAULT_LABEL_PIN_ROW_LABELS; }
140
140
  });
141
141
  Object.defineProperty(exports, "DEFAULT_PENDING_ANSWER_BAR_LABELS", {
142
142
  enumerable: true,
143
- get: function () { return chunkIFOGBMAE_cjs.DEFAULT_PENDING_ANSWER_BAR_LABELS; }
143
+ get: function () { return chunkKLMNCBLY_cjs.DEFAULT_PENDING_ANSWER_BAR_LABELS; }
144
144
  });
145
145
  Object.defineProperty(exports, "DEFAULT_PINNED_DOC_CHIP_LABELS", {
146
146
  enumerable: true,
147
- get: function () { return chunkIFOGBMAE_cjs.DEFAULT_PINNED_DOC_CHIP_LABELS; }
147
+ get: function () { return chunkKLMNCBLY_cjs.DEFAULT_PINNED_DOC_CHIP_LABELS; }
148
148
  });
149
149
  Object.defineProperty(exports, "DraftingDocChip", {
150
150
  enumerable: true,
151
- get: function () { return chunkIFOGBMAE_cjs.DraftingDocChip; }
151
+ get: function () { return chunkKLMNCBLY_cjs.DraftingDocChip; }
152
152
  });
153
153
  Object.defineProperty(exports, "LabelPinRow", {
154
154
  enumerable: true,
155
- get: function () { return chunkIFOGBMAE_cjs.LabelPinRow; }
155
+ get: function () { return chunkKLMNCBLY_cjs.LabelPinRow; }
156
156
  });
157
157
  Object.defineProperty(exports, "NewChatButton", {
158
158
  enumerable: true,
159
- get: function () { return chunkIFOGBMAE_cjs.NewChatButton; }
159
+ get: function () { return chunkKLMNCBLY_cjs.NewChatButton; }
160
160
  });
161
161
  Object.defineProperty(exports, "NewPaChatButton", {
162
162
  enumerable: true,
163
- get: function () { return chunkIFOGBMAE_cjs.NewPaChatButton; }
163
+ get: function () { return chunkKLMNCBLY_cjs.NewPaChatButton; }
164
164
  });
165
165
  Object.defineProperty(exports, "PaModeBadge", {
166
166
  enumerable: true,
167
- get: function () { return chunkIFOGBMAE_cjs.PaModeBadge; }
167
+ get: function () { return chunkKLMNCBLY_cjs.PaModeBadge; }
168
168
  });
169
169
  Object.defineProperty(exports, "PendingAnswerBar", {
170
170
  enumerable: true,
171
- get: function () { return chunkIFOGBMAE_cjs.PendingAnswerBar; }
171
+ get: function () { return chunkKLMNCBLY_cjs.PendingAnswerBar; }
172
172
  });
173
173
  Object.defineProperty(exports, "PinnedDocChip", {
174
174
  enumerable: true,
175
- get: function () { return chunkIFOGBMAE_cjs.PinnedDocChip; }
175
+ get: function () { return chunkKLMNCBLY_cjs.PinnedDocChip; }
176
176
  });
177
177
  Object.defineProperty(exports, "useDismissibleCard", {
178
178
  enumerable: true,
179
- get: function () { return chunkIFOGBMAE_cjs.useDismissibleCard; }
179
+ get: function () { return chunkKLMNCBLY_cjs.useDismissibleCard; }
180
180
  });
181
181
  Object.defineProperty(exports, "AssistantDock", {
182
182
  enumerable: true,
@@ -3,30 +3,30 @@
3
3
 
4
4
  var chunkYZ6YOOTF_cjs = require('./chunk-YZ6YOOTF.cjs');
5
5
  var chunkKWJW5TMH_cjs = require('./chunk-KWJW5TMH.cjs');
6
- var chunk57EE6CMW_cjs = require('./chunk-57EE6CMW.cjs');
7
- var chunk3ODEWSRO_cjs = require('./chunk-3ODEWSRO.cjs');
8
- var chunkJSQQV23D_cjs = require('./chunk-JSQQV23D.cjs');
9
- var chunkXKDUPU7B_cjs = require('./chunk-XKDUPU7B.cjs');
10
- var chunkNHHEMBXQ_cjs = require('./chunk-NHHEMBXQ.cjs');
6
+ var chunkY24V6HPR_cjs = require('./chunk-Y24V6HPR.cjs');
7
+ var chunkP77YTTJ3_cjs = require('./chunk-P77YTTJ3.cjs');
8
+ var chunk6UTKM5AB_cjs = require('./chunk-6UTKM5AB.cjs');
9
+ var chunkNJCK6V6U_cjs = require('./chunk-NJCK6V6U.cjs');
10
+ var chunkX5LANJDZ_cjs = require('./chunk-X5LANJDZ.cjs');
11
11
  var chunkP5AQYC4D_cjs = require('./chunk-P5AQYC4D.cjs');
12
- var chunkGQXPNIRE_cjs = require('./chunk-GQXPNIRE.cjs');
12
+ var chunkWAV762GP_cjs = require('./chunk-WAV762GP.cjs');
13
13
  var chunkJH6JTI76_cjs = require('./chunk-JH6JTI76.cjs');
14
14
  var chunkZ3LFF3YT_cjs = require('./chunk-Z3LFF3YT.cjs');
15
- var chunk5SKHK3BG_cjs = require('./chunk-5SKHK3BG.cjs');
16
- var chunkIDCD5TEZ_cjs = require('./chunk-IDCD5TEZ.cjs');
17
15
  var chunkNSD37OF5_cjs = require('./chunk-NSD37OF5.cjs');
18
- var chunk3U36VYMD_cjs = require('./chunk-3U36VYMD.cjs');
19
- var chunk4IOYQLKG_cjs = require('./chunk-4IOYQLKG.cjs');
16
+ var chunkDDIW4HLU_cjs = require('./chunk-DDIW4HLU.cjs');
17
+ var chunkTP5PGWIO_cjs = require('./chunk-TP5PGWIO.cjs');
20
18
  var chunk7JLJH5CW_cjs = require('./chunk-7JLJH5CW.cjs');
19
+ var chunkR7CJEIA5_cjs = require('./chunk-R7CJEIA5.cjs');
20
+ var chunkWXUU3COI_cjs = require('./chunk-WXUU3COI.cjs');
21
+ var chunkQUMUAJ2P_cjs = require('./chunk-QUMUAJ2P.cjs');
22
+ var chunkHQDR43JC_cjs = require('./chunk-HQDR43JC.cjs');
23
+ var chunkJR2YSBD5_cjs = require('./chunk-JR2YSBD5.cjs');
24
+ var chunk5SKHK3BG_cjs = require('./chunk-5SKHK3BG.cjs');
25
+ var chunkIDCD5TEZ_cjs = require('./chunk-IDCD5TEZ.cjs');
21
26
  var chunkHSLPFBK2_cjs = require('./chunk-HSLPFBK2.cjs');
22
- var chunkLYTIQQQ2_cjs = require('./chunk-LYTIQQQ2.cjs');
23
- var chunkMZ2KZXNU_cjs = require('./chunk-MZ2KZXNU.cjs');
24
27
  var chunkQGVOT7E4_cjs = require('./chunk-QGVOT7E4.cjs');
25
28
  var chunkQRAQZTJE_cjs = require('./chunk-QRAQZTJE.cjs');
26
29
  var chunkIPSHAMO2_cjs = require('./chunk-IPSHAMO2.cjs');
27
- var chunkQUMUAJ2P_cjs = require('./chunk-QUMUAJ2P.cjs');
28
- var chunkHQDR43JC_cjs = require('./chunk-HQDR43JC.cjs');
29
- var chunkJR2YSBD5_cjs = require('./chunk-JR2YSBD5.cjs');
30
30
  var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
31
31
  var chunkULWRNGGE_cjs = require('./chunk-ULWRNGGE.cjs');
32
32
  var react = require('@arbidocs/react');
@@ -70,7 +70,7 @@ function ConnectedTaskComposer({
70
70
  const startLater = startLaterProp && automationsEnabled;
71
71
  const isWorkflow = kind === "workflow";
72
72
  const isEdit = isWorkflow ? !!editingWorkflow : !!task;
73
- const { forTasks: baseSkills, skills } = chunkJSQQV23D_cjs.useWorkflowDefinitions();
73
+ const { forTasks: baseSkills, skills } = chunk6UTKM5AB_cjs.useWorkflowDefinitions();
74
74
  const { data: reviewFields = [] } = react.useTags();
75
75
  const scheduledSkills = react$1.useMemo(
76
76
  () => [
@@ -129,8 +129,8 @@ function ConnectedTaskComposer({
129
129
  const { data: workspaces = [] } = react.useWorkspaces();
130
130
  const { tasks: allTasks } = react.useWorkItems();
131
131
  const { data: documents = [] } = react.useDocuments();
132
- const { create, update, updateWorkflow, isPending } = chunkJSQQV23D_cjs.useWorkflowTasks();
133
- const scopeSource = chunkGQXPNIRE_cjs.useConnectedWorkflowScopeSource();
132
+ const { create, update, updateWorkflow, isPending } = chunk6UTKM5AB_cjs.useWorkflowTasks();
133
+ const scopeSource = chunkWAV762GP_cjs.useConnectedWorkflowScopeSource();
134
134
  const activeWorkspaceId = react.useArbiSessionState((s) => s.workspaceId);
135
135
  const planWork = react.usePlanWork(activeWorkspaceId);
136
136
  const activeWorkspace = react$1.useMemo(
@@ -148,7 +148,7 @@ function ConnectedTaskComposer({
148
148
  const label = (t) => t.title?.trim() || "Untitled task";
149
149
  if (isWorkflow) return allTasks.map((t) => ({ id: t.external_id, name: label(t) }));
150
150
  const subject = task ?? { external_id: "__new__" };
151
- return chunk3U36VYMD_cjs.moveTargets(
151
+ return chunkDDIW4HLU_cjs.moveTargets(
152
152
  [...allTasks.filter((t) => t.external_id !== subject.external_id), subject],
153
153
  subject
154
154
  ).map((t) => ({ id: t.external_id, name: label(t) }));
@@ -286,7 +286,7 @@ function ConnectedTaskComposer({
286
286
  }
287
287
  };
288
288
  return /* @__PURE__ */ jsxRuntime.jsx(
289
- chunk3U36VYMD_cjs.TaskComposer,
289
+ chunkDDIW4HLU_cjs.TaskComposer,
290
290
  {
291
291
  open,
292
292
  onOpenChange,
@@ -300,7 +300,7 @@ function ConnectedTaskComposer({
300
300
  tasks: taskOptions,
301
301
  initialValues,
302
302
  timezones,
303
- eventOptions: chunk4IOYQLKG_cjs.AUTOMATION_EVENTS,
303
+ eventOptions: chunkTP5PGWIO_cjs.AUTOMATION_EVENTS,
304
304
  eventWorkflowOptions: workspaceAutomations.filter((item) => item.external_id !== editingWorkflow?.external_id).map((item) => ({ id: item.external_id, label: item.name })),
305
305
  isPending,
306
306
  planDrafting: planWork.isPending,
@@ -308,7 +308,7 @@ function ConnectedTaskComposer({
308
308
  renderIcon: chunk7JLJH5CW_cjs.renderWorkflowIcon,
309
309
  scopeSource,
310
310
  renderDocuments: (field, value, onChange) => /* @__PURE__ */ jsxRuntime.jsx(
311
- chunkGQXPNIRE_cjs.ConnectedWorkflowDocumentsField,
311
+ chunkWAV762GP_cjs.ConnectedWorkflowDocumentsField,
312
312
  {
313
313
  field,
314
314
  value,
@@ -340,7 +340,7 @@ function ConnectedTaskComposer({
340
340
  },
341
341
  onSubmit: submit,
342
342
  goal: (values) => values.workflowId === chunk7JLJH5CW_cjs.CUSTOM_TASK_ID ? /* @__PURE__ */ jsxRuntime.jsx(
343
- chunk3U36VYMD_cjs.TaskPlan,
343
+ chunkDDIW4HLU_cjs.TaskPlan,
344
344
  {
345
345
  plan,
346
346
  onChange: setPlan,
@@ -386,7 +386,7 @@ function ConnectedWorkflowHistory({
386
386
  const { openConversation } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
387
387
  const { data: runs = [], isLoading } = react.useWorkflowRuns(workflow?.external_id);
388
388
  return /* @__PURE__ */ jsxRuntime.jsx(
389
- chunk3U36VYMD_cjs.TaskRunsDialog,
389
+ chunkDDIW4HLU_cjs.TaskRunsDialog,
390
390
  {
391
391
  inline,
392
392
  hideHeader,
@@ -421,14 +421,14 @@ function ConnectedTaskActivityDialog({
421
421
  const activity = react.useConversationActivity(conversationId, { live });
422
422
  const { data: agents = [] } = react.useAgents();
423
423
  const { userId } = chunkJR2YSBD5_cjs.useConnectedWorkspace();
424
- const { members } = chunkNHHEMBXQ_cjs.useConnectedWorkspaceRole();
424
+ const { members } = chunkX5LANJDZ_cjs.useConnectedWorkspaceRole();
425
425
  const renderPerson = react$1.useCallback(
426
426
  (id) => {
427
427
  const isMe = !!id && id === userId;
428
428
  const member = members.find((m) => m.user.external_id === id)?.user;
429
429
  const name = member && [member.given_name, member.family_name].filter(Boolean).join(" ") || member?.email;
430
430
  const person = { id, label: isMe ? "You" : name || "Someone", isMe };
431
- return /* @__PURE__ */ jsxRuntime.jsx(chunkLYTIQQQ2_cjs.PersonPill, { person });
431
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkR7CJEIA5_cjs.PersonPill, { person });
432
432
  },
433
433
  [userId, members]
434
434
  );
@@ -437,7 +437,7 @@ function ConnectedTaskActivityDialog({
437
437
  [agents]
438
438
  );
439
439
  return /* @__PURE__ */ jsxRuntime.jsx(
440
- chunk3U36VYMD_cjs.TaskActivityDialog,
440
+ chunkDDIW4HLU_cjs.TaskActivityDialog,
441
441
  {
442
442
  open: true,
443
443
  onOpenChange: (open) => !open && onClose(),
@@ -474,7 +474,7 @@ function useRenderTaskPerson() {
474
474
  return react$1.useCallback(
475
475
  (person) => {
476
476
  const user = person.id ? byId.get(person.id) : void 0;
477
- return user ? /* @__PURE__ */ jsxRuntime.jsx(chunk3ODEWSRO_cjs.DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkLYTIQQQ2_cjs.PersonPill, { person });
477
+ return user ? /* @__PURE__ */ jsxRuntime.jsx(chunkP77YTTJ3_cjs.DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkR7CJEIA5_cjs.PersonPill, { person });
478
478
  },
479
479
  [byId]
480
480
  );
@@ -487,7 +487,7 @@ function ConnectedThreadTaskBar({
487
487
  renderIcon
488
488
  }) {
489
489
  const { conversations } = react.useConversationItems();
490
- const { activity, items, related, signals, startedBy } = chunk57EE6CMW_cjs.useConnectedThreadActivity(conversationId);
490
+ const { activity, items, related, signals, startedBy } = chunkY24V6HPR_cjs.useConnectedThreadActivity(conversationId);
491
491
  const canEditShared = react.useCanEditShared();
492
492
  const update = react.useUpdateConversation();
493
493
  const actOnStep = react.useActOnStep();
@@ -508,7 +508,7 @@ function ConnectedThreadTaskBar({
508
508
  const person = members.find((m) => m.user.external_id === id)?.user;
509
509
  return person ? ui.getUserDisplayName(person) : void 0;
510
510
  };
511
- const steps = chunk4IOYQLKG_cjs.fromPlanSteps(task?.plan?.steps ?? []);
511
+ const steps = chunkTP5PGWIO_cjs.fromPlanSteps(task?.plan?.steps ?? []);
512
512
  const states = chunkQGVOT7E4_cjs.stepStatesFromActivity(activity.data ?? []);
513
513
  const runInputs = task?.skill_inputs ?? {};
514
514
  const stepCall = (body) => actOnStep.mutateAsync({ conversationId, body });
@@ -535,7 +535,7 @@ function ConnectedThreadTaskBar({
535
535
  ).finally(() => setBusy(false));
536
536
  };
537
537
  const strip = /* @__PURE__ */ jsxRuntime.jsx(
538
- chunk3U36VYMD_cjs.WorkflowThreadStrip,
538
+ chunkDDIW4HLU_cjs.WorkflowThreadStrip,
539
539
  {
540
540
  renderIcon,
541
541
  ...variant === "steps" ? { maxSpan: 3, current: currentStepId, onSelectStep } : {},
@@ -564,7 +564,7 @@ function ConnectedThreadTaskBar({
564
564
  renderStepAction: (step, phase) => (
565
565
  // A signer or a draft's person acts on their step even on a thread they cannot edit.
566
566
  canEdit || phase === "waiting" || phase === "done" ? /* @__PURE__ */ jsxRuntime.jsx(
567
- chunk3U36VYMD_cjs.WorkflowStepAction,
567
+ chunkDDIW4HLU_cjs.WorkflowStepAction,
568
568
  {
569
569
  step,
570
570
  phase,
@@ -602,8 +602,8 @@ function ConnectedThreadTaskBar({
602
602
  // A workflow run: its named steps, with what happened in the thread under each.
603
603
  strip
604
604
  ) : items.length || startedBy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
605
- startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunk3U36VYMD_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
606
- /* @__PURE__ */ jsxRuntime.jsx(chunk4IOYQLKG_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
605
+ startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkDDIW4HLU_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
606
+ /* @__PURE__ */ jsxRuntime.jsx(chunkTP5PGWIO_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
607
607
  ] }) : (
608
608
  // Ordinary chats record no activity events, so an empty ribbon says nothing rather than
609
609
  // "No recorded activity yet" while the answer and its steps are right there in the thread.
@@ -688,7 +688,7 @@ function ConnectedThreadTaskBar({
688
688
  ] }),
689
689
  error && /* @__PURE__ */ jsxRuntime.jsx("span", { role: "alert", className: "text-xs text-destructive", children: error }),
690
690
  /* @__PURE__ */ jsxRuntime.jsx(
691
- chunkXKDUPU7B_cjs.RenameDialog,
691
+ chunkNJCK6V6U_cjs.RenameDialog,
692
692
  {
693
693
  open: renameOpen,
694
694
  onClose: () => setRenameOpen(false),
@@ -721,7 +721,7 @@ ${labels.map((l) => `${l.key}=${l.name}`).join("\n")}`;
721
721
  if (known) return known;
722
722
  const setUp = (async () => {
723
723
  const existing = await arbi.tags.list({ workspaceId });
724
- const { ids, missing } = chunk3U36VYMD_cjs.matchRequiredLabels(labels, existing);
724
+ const { ids, missing } = chunkDDIW4HLU_cjs.matchRequiredLabels(labels, existing);
725
725
  for (const label of missing) {
726
726
  const tag = await createTag({
727
727
  name: label.name,
@@ -973,7 +973,7 @@ function useWorkflowRunTarget({
973
973
  }) {
974
974
  const { workspaceId: open } = chunkJR2YSBD5_cjs.useConnectedWorkspace();
975
975
  const session = react.useArbiSessionStore();
976
- const selectWorkspace = chunk57EE6CMW_cjs.useSelectWorkspace();
976
+ const selectWorkspace = chunkY24V6HPR_cjs.useSelectWorkspace();
977
977
  const createProject = react.useCreateProject();
978
978
  const { mutateAsync: updateProject } = react.useUpdateProjectFields();
979
979
  const { mutateAsync: updateWorkspace } = react.useUpdateWorkspace();
@@ -1180,7 +1180,7 @@ function WorkflowRunProjectChooser({
1180
1180
  "data-testid": `${testId}-new-project`,
1181
1181
  children: [
1182
1182
  /* @__PURE__ */ jsxRuntime.jsx(
1183
- chunkMZ2KZXNU_cjs.SchemaForm,
1183
+ chunkWXUU3COI_cjs.SchemaForm,
1184
1184
  {
1185
1185
  fields,
1186
1186
  values,
@@ -1428,7 +1428,7 @@ function useWorkflowThread(workflow, options = {}) {
1428
1428
  );
1429
1429
  const conversation = conversations.data?.find((c) => c.external_id === threadId);
1430
1430
  const steps = react$1.useMemo(
1431
- () => chunkQGVOT7E4_cjs.workflowSteps(workflow).length > 0 ? chunkQGVOT7E4_cjs.workflowSteps(workflow) : chunk4IOYQLKG_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
1431
+ () => chunkQGVOT7E4_cjs.workflowSteps(workflow).length > 0 ? chunkQGVOT7E4_cjs.workflowSteps(workflow) : chunkTP5PGWIO_cjs.fromPlanSteps(conversation?.plan?.steps ?? []),
1432
1432
  [workflow, conversation?.plan?.steps]
1433
1433
  );
1434
1434
  const activity = react.useConversationActivity(threadId, { live: !!threadId });
@@ -1475,7 +1475,7 @@ function useWorkflowThread(workflow, options = {}) {
1475
1475
  const createThread = react$1.useCallback(
1476
1476
  async (values, done) => {
1477
1477
  const prepared = await options.beforeStart?.();
1478
- const planned = prepared?.labelIds ? chunk3U36VYMD_cjs.withLabelIds(workflow, prepared.labelIds) : workflow;
1478
+ const planned = prepared?.labelIds ? chunkDDIW4HLU_cjs.withLabelIds(workflow, prepared.labelIds) : workflow;
1479
1479
  const created = await createWork.mutateAsync({
1480
1480
  title: chunkQGVOT7E4_cjs.runThreadTitle(workflow, values).slice(0, 60),
1481
1481
  description: workflow.description || null,
@@ -1489,7 +1489,7 @@ function useWorkflowThread(workflow, options = {}) {
1489
1489
  criteria: [],
1490
1490
  max_passes: 3,
1491
1491
  documents: [],
1492
- steps: chunk4IOYQLKG_cjs.toPlanSteps(planned, {
1492
+ steps: chunkTP5PGWIO_cjs.toPlanSteps(planned, {
1493
1493
  inputs: values,
1494
1494
  resolveWorkflow: options.resolveWorkflow,
1495
1495
  compose: options.compose
@@ -1576,7 +1576,7 @@ function useWorkflowThread(workflow, options = {}) {
1576
1576
  const anyRunning = Object.values(states).some((s) => s.status === "running");
1577
1577
  const needsStart = !threadId || idle && !anyRunning;
1578
1578
  const runError = idle ? conversation?.last_error ?? null : null;
1579
- const view = chunk3U36VYMD_cjs.useWorkflowView({
1579
+ const view = chunkDDIW4HLU_cjs.useWorkflowView({
1580
1580
  steps,
1581
1581
  states,
1582
1582
  inputs,
@@ -1712,7 +1712,7 @@ function WorkflowWordDialog({
1712
1712
  title: title ?? labels.wordTitle,
1713
1713
  size: "xl",
1714
1714
  testId: "workflow-word-dialog",
1715
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkNHHEMBXQ_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
1715
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkX5LANJDZ_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
1716
1716
  }
1717
1717
  );
1718
1718
  }
@@ -1868,7 +1868,7 @@ function WorkflowRunBody({
1868
1868
  const session = react.useArbiSessionStore();
1869
1869
  const openRef = react$1.useRef(workspaceId);
1870
1870
  openRef.current = workspaceId;
1871
- const required = chunk3U36VYMD_cjs.requiredLabelsOf(given);
1871
+ const required = chunkDDIW4HLU_cjs.requiredLabelsOf(given);
1872
1872
  const ownEnsureLabels = useEnsureRequiredLabels();
1873
1873
  const ensureLabels = page?.ensureLabels ?? ownEnsureLabels;
1874
1874
  const [startedLabelIds, setStartedLabelIds] = react$1.useState({});
@@ -1883,7 +1883,7 @@ function WorkflowRunBody({
1883
1883
  const fromStep = pageTarget ? projectStepOf(projectFrom) : void 0;
1884
1884
  const projectStep = fromStep?.step;
1885
1885
  const workflow = react$1.useMemo(
1886
- () => withCommitStep(chunk3U36VYMD_cjs.withLabelIds(given, labelIds), projectStep),
1886
+ () => withCommitStep(chunkDDIW4HLU_cjs.withLabelIds(given, labelIds), projectStep),
1887
1887
  [given, labelIds, projectStep]
1888
1888
  );
1889
1889
  const hostBeforeStart = options?.beforeStart;
@@ -2076,7 +2076,7 @@ function WorkflowRunBody({
2076
2076
  ) : null;
2077
2077
  };
2078
2078
  const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
2079
- chunk3U36VYMD_cjs.WorkflowRunner,
2079
+ chunkDDIW4HLU_cjs.WorkflowRunner,
2080
2080
  {
2081
2081
  people,
2082
2082
  ...runnerProps,
@@ -2137,7 +2137,7 @@ function WorkflowRunBody({
2137
2137
  pageBar,
2138
2138
  inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2139
2139
  !page && /* @__PURE__ */ jsxRuntime.jsx(
2140
- chunk3U36VYMD_cjs.WorkflowStepBar,
2140
+ chunkDDIW4HLU_cjs.WorkflowStepBar,
2141
2141
  {
2142
2142
  run: view,
2143
2143
  levels: chunkQGVOT7E4_cjs.stepLevels(view.steps),
@@ -2377,7 +2377,7 @@ function ConnectedWorkflowRunPage({
2377
2377
  workspaceId,
2378
2378
  onProjectCreated
2379
2379
  });
2380
- const required = chunk3U36VYMD_cjs.requiredLabelsOf(workflow);
2380
+ const required = chunkDDIW4HLU_cjs.requiredLabelsOf(workflow);
2381
2381
  const ensure = useEnsureRequiredLabels();
2382
2382
  const labels = useRequiredLabels(required, target.target, ensure, target.stage === "ready");
2383
2383
  const fromStep = !!projectStepOf(projectFrom);
@@ -2502,5 +2502,5 @@ exports.useRequiredLabels = useRequiredLabels;
2502
2502
  exports.useTaskPeople = useTaskPeople;
2503
2503
  exports.useWorkflowsPageState = useWorkflowsPageState;
2504
2504
  exports.workflowRunView = workflowRunView;
2505
- //# sourceMappingURL=chunk-AHT6DQNI.cjs.map
2506
- //# sourceMappingURL=chunk-AHT6DQNI.cjs.map
2505
+ //# sourceMappingURL=chunk-24EDG4PC.cjs.map
2506
+ //# sourceMappingURL=chunk-24EDG4PC.cjs.map