@arbidocs/blocks 0.5.113 → 0.5.114

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 (167) hide show
  1. package/dist/{ConnectedCallDock-VCJ6Q7WE.cjs → ConnectedCallDock-2KXEQENS.cjs} +13 -13
  2. package/dist/{ConnectedCallDock-VCJ6Q7WE.cjs.map → ConnectedCallDock-2KXEQENS.cjs.map} +1 -1
  3. package/dist/{ConnectedCallRoom-BUI3ILJD.cjs → ConnectedCallRoom-MU3NPNXF.cjs} +12 -12
  4. package/dist/{ConnectedCallRoom-BUI3ILJD.cjs.map → ConnectedCallRoom-MU3NPNXF.cjs.map} +1 -1
  5. package/dist/{ConnectedMailInviteCard-P65MQM6J.cjs → ConnectedMailInviteCard-EINB3THA.cjs} +5 -5
  6. package/dist/{ConnectedMailInviteCard-P65MQM6J.cjs.map → ConnectedMailInviteCard-EINB3THA.cjs.map} +1 -1
  7. package/dist/{ConnectedNativeDocxComparison-JO2H4QIP.cjs → ConnectedNativeDocxComparison-VH3I65H6.cjs} +16 -16
  8. package/dist/{ConnectedNativeDocxComparison-JO2H4QIP.cjs.map → ConnectedNativeDocxComparison-VH3I65H6.cjs.map} +1 -1
  9. package/dist/{ConnectedProductionSetDialog-BSPM4NQC.cjs → ConnectedProductionSetDialog-4EAY6KAZ.cjs} +8 -8
  10. package/dist/{ConnectedProductionSetDialog-BSPM4NQC.cjs.map → ConnectedProductionSetDialog-4EAY6KAZ.cjs.map} +1 -1
  11. package/dist/{ConnectedStreamedWordArtifact-DMQEJFCA.cjs → ConnectedStreamedWordArtifact-KQSHCA75.cjs} +16 -16
  12. package/dist/{ConnectedStreamedWordArtifact-DMQEJFCA.cjs.map → ConnectedStreamedWordArtifact-KQSHCA75.cjs.map} +1 -1
  13. package/dist/{DocumentReviewCard-UBE2DVAC.cjs → DocumentReviewCard-OCPFVMLD.cjs} +20 -20
  14. package/dist/{DocumentReviewCard-UBE2DVAC.cjs.map → DocumentReviewCard-OCPFVMLD.cjs.map} +1 -1
  15. package/dist/{FilesViewerDialog-EBYRA3ZZ.cjs → FilesViewerDialog-BAGOEMXW.cjs} +38 -38
  16. package/dist/{FilesViewerDialog-EBYRA3ZZ.cjs.map → FilesViewerDialog-BAGOEMXW.cjs.map} +1 -1
  17. package/dist/{WorkspaceTableView-BO2OJO7A.cjs → WorkspaceTableView-IMAZICIZ.cjs} +3 -3
  18. package/dist/{WorkspaceTableView-BO2OJO7A.cjs.map → WorkspaceTableView-IMAZICIZ.cjs.map} +1 -1
  19. package/dist/agents/index.cjs +202 -202
  20. package/dist/{ai-EMNMGDAN.cjs → ai-7U4B4CVF.cjs} +22 -22
  21. package/dist/ai-7U4B4CVF.cjs.map +1 -0
  22. package/dist/calls/index.cjs +51 -51
  23. package/dist/chat/index.cjs +29 -29
  24. package/dist/{chunk-GVTKFVXH.cjs → chunk-2W5E62EY.cjs} +6 -6
  25. package/dist/{chunk-GVTKFVXH.cjs.map → chunk-2W5E62EY.cjs.map} +1 -1
  26. package/dist/{chunk-ZZZ6AZDR.cjs → chunk-3ODEWSRO.cjs} +4 -4
  27. package/dist/{chunk-ZZZ6AZDR.cjs.map → chunk-3ODEWSRO.cjs.map} +1 -1
  28. package/dist/{chunk-LCNKKSN3.cjs → chunk-3R6YHJ3G.cjs} +4 -4
  29. package/dist/{chunk-LCNKKSN3.cjs.map → chunk-3R6YHJ3G.cjs.map} +1 -1
  30. package/dist/{chunk-DZWIVRYP.cjs → chunk-3U36VYMD.cjs} +21 -21
  31. package/dist/{chunk-DZWIVRYP.cjs.map → chunk-3U36VYMD.cjs.map} +1 -1
  32. package/dist/{chunk-DMNX556N.cjs → chunk-436I7PQL.cjs} +8 -8
  33. package/dist/{chunk-DMNX556N.cjs.map → chunk-436I7PQL.cjs.map} +1 -1
  34. package/dist/{chunk-J2RXQVVF.cjs → chunk-4EK7TAP7.cjs} +5 -5
  35. package/dist/{chunk-J2RXQVVF.cjs.map → chunk-4EK7TAP7.cjs.map} +1 -1
  36. package/dist/{chunk-MJHIBCF7.cjs → chunk-4NPCDS2X.cjs} +4 -4
  37. package/dist/{chunk-MJHIBCF7.cjs.map → chunk-4NPCDS2X.cjs.map} +1 -1
  38. package/dist/{chunk-ONZOVO2B.cjs → chunk-57EE6CMW.cjs} +15 -15
  39. package/dist/{chunk-ONZOVO2B.cjs.map → chunk-57EE6CMW.cjs.map} +1 -1
  40. package/dist/{chunk-Y45VRNSZ.cjs → chunk-57NHXEU2.cjs} +4 -4
  41. package/dist/{chunk-Y45VRNSZ.cjs.map → chunk-57NHXEU2.cjs.map} +1 -1
  42. package/dist/{chunk-OVKJ7OVZ.cjs → chunk-5QUL5BZO.cjs} +5 -5
  43. package/dist/{chunk-OVKJ7OVZ.cjs.map → chunk-5QUL5BZO.cjs.map} +1 -1
  44. package/dist/{chunk-MUA5PJGX.cjs → chunk-5SKHK3BG.cjs} +4 -4
  45. package/dist/{chunk-MUA5PJGX.cjs.map → chunk-5SKHK3BG.cjs.map} +1 -1
  46. package/dist/{chunk-AFXDLDPU.cjs → chunk-5UYFLFNR.cjs} +4 -4
  47. package/dist/{chunk-AFXDLDPU.cjs.map → chunk-5UYFLFNR.cjs.map} +1 -1
  48. package/dist/{chunk-R4TP3VS3.cjs → chunk-6DCIZA3X.cjs} +55 -55
  49. package/dist/{chunk-R4TP3VS3.cjs.map → chunk-6DCIZA3X.cjs.map} +1 -1
  50. package/dist/{chunk-KGGSBJMU.cjs → chunk-7TEUGFIL.cjs} +4 -4
  51. package/dist/{chunk-KGGSBJMU.cjs.map → chunk-7TEUGFIL.cjs.map} +1 -1
  52. package/dist/{chunk-A4Z5CTLF.cjs → chunk-7X3FS5HQ.cjs} +39 -39
  53. package/dist/{chunk-A4Z5CTLF.cjs.map → chunk-7X3FS5HQ.cjs.map} +1 -1
  54. package/dist/{chunk-GGBNUDLK.cjs → chunk-7XT5B2DZ.cjs} +25 -25
  55. package/dist/{chunk-GGBNUDLK.cjs.map → chunk-7XT5B2DZ.cjs.map} +1 -1
  56. package/dist/{chunk-AJVZYRAJ.cjs → chunk-AHT6DQNI.cjs} +59 -59
  57. package/dist/{chunk-AJVZYRAJ.cjs.map → chunk-AHT6DQNI.cjs.map} +1 -1
  58. package/dist/{chunk-MY7Q3QE2.cjs → chunk-BW5MF464.cjs} +4 -4
  59. package/dist/{chunk-MY7Q3QE2.cjs.map → chunk-BW5MF464.cjs.map} +1 -1
  60. package/dist/{chunk-NP4EWPIP.cjs → chunk-CJYWHUZR.cjs} +6 -6
  61. package/dist/{chunk-NP4EWPIP.cjs.map → chunk-CJYWHUZR.cjs.map} +1 -1
  62. package/dist/{chunk-6W4X4EFI.cjs → chunk-CMGNRMPA.cjs} +5 -5
  63. package/dist/{chunk-6W4X4EFI.cjs.map → chunk-CMGNRMPA.cjs.map} +1 -1
  64. package/dist/{chunk-Z3VNKPPH.cjs → chunk-E3Y7RI3J.cjs} +4 -4
  65. package/dist/{chunk-Z3VNKPPH.cjs.map → chunk-E3Y7RI3J.cjs.map} +1 -1
  66. package/dist/{chunk-WT7CCCIN.cjs → chunk-GNX3FBBX.cjs} +4 -4
  67. package/dist/{chunk-WT7CCCIN.cjs.map → chunk-GNX3FBBX.cjs.map} +1 -1
  68. package/dist/{chunk-KZKGZ7IG.cjs → chunk-GQXPNIRE.cjs} +14 -14
  69. package/dist/{chunk-KZKGZ7IG.cjs.map → chunk-GQXPNIRE.cjs.map} +1 -1
  70. package/dist/{chunk-IIWJQEBC.cjs → chunk-H7PHOTX2.cjs} +10 -10
  71. package/dist/{chunk-IIWJQEBC.cjs.map → chunk-H7PHOTX2.cjs.map} +1 -1
  72. package/dist/{chunk-LQHXUSWZ.cjs → chunk-HQDR43JC.cjs} +6 -6
  73. package/dist/{chunk-LQHXUSWZ.cjs.map → chunk-HQDR43JC.cjs.map} +1 -1
  74. package/dist/{chunk-6LQN4BMX.cjs → chunk-IDCD5TEZ.cjs} +5 -5
  75. package/dist/{chunk-6LQN4BMX.cjs.map → chunk-IDCD5TEZ.cjs.map} +1 -1
  76. package/dist/{chunk-6YOZKXV6.cjs → chunk-JR2YSBD5.cjs} +4 -4
  77. package/dist/{chunk-6YOZKXV6.cjs.map → chunk-JR2YSBD5.cjs.map} +1 -1
  78. package/dist/{chunk-OTG5T5Z5.cjs → chunk-JSQQV23D.cjs} +4 -4
  79. package/dist/{chunk-OTG5T5Z5.cjs.map → chunk-JSQQV23D.cjs.map} +1 -1
  80. package/dist/{chunk-ZFKWCGA5.cjs → chunk-JV5TVUOU.cjs} +4 -4
  81. package/dist/{chunk-ZFKWCGA5.cjs.map → chunk-JV5TVUOU.cjs.map} +1 -1
  82. package/dist/{chunk-BHTEKYWJ.cjs → chunk-LFRNBT2I.cjs} +21 -21
  83. package/dist/{chunk-BHTEKYWJ.cjs.map → chunk-LFRNBT2I.cjs.map} +1 -1
  84. package/dist/{chunk-WJP6ICDM.cjs → chunk-LYTIQQQ2.cjs} +3 -3
  85. package/dist/{chunk-WJP6ICDM.cjs.map → chunk-LYTIQQQ2.cjs.map} +1 -1
  86. package/dist/{chunk-YONJRX6N.cjs → chunk-MC4F2URI.cjs} +28 -28
  87. package/dist/{chunk-YONJRX6N.cjs.map → chunk-MC4F2URI.cjs.map} +1 -1
  88. package/dist/{chunk-MQANCZOD.cjs → chunk-MGQSLMTC.cjs} +77 -77
  89. package/dist/{chunk-MQANCZOD.cjs.map → chunk-MGQSLMTC.cjs.map} +1 -1
  90. package/dist/{chunk-M2D4POJV.cjs → chunk-MZ2KZXNU.cjs} +8 -8
  91. package/dist/{chunk-M2D4POJV.cjs.map → chunk-MZ2KZXNU.cjs.map} +1 -1
  92. package/dist/{chunk-FGEBA3TL.cjs → chunk-NHHEMBXQ.cjs} +22 -22
  93. package/dist/{chunk-FGEBA3TL.cjs.map → chunk-NHHEMBXQ.cjs.map} +1 -1
  94. package/dist/{chunk-ENUZ35NR.cjs → chunk-P5AQYC4D.cjs} +4 -4
  95. package/dist/{chunk-ENUZ35NR.cjs.map → chunk-P5AQYC4D.cjs.map} +1 -1
  96. package/dist/{chunk-5I2VUNZR.cjs → chunk-PGJYD67F.cjs} +6 -6
  97. package/dist/{chunk-5I2VUNZR.cjs.map → chunk-PGJYD67F.cjs.map} +1 -1
  98. package/dist/{chunk-BYN7UMC5.cjs → chunk-PL7HUTM3.cjs} +8 -8
  99. package/dist/{chunk-BYN7UMC5.cjs.map → chunk-PL7HUTM3.cjs.map} +1 -1
  100. package/dist/{chunk-GTTDJMWX.cjs → chunk-Q6DQGGP4.cjs} +6 -6
  101. package/dist/{chunk-GTTDJMWX.cjs.map → chunk-Q6DQGGP4.cjs.map} +1 -1
  102. package/dist/{chunk-T7J352JD.cjs → chunk-QMIHLJMH.cjs} +6 -6
  103. package/dist/{chunk-T7J352JD.cjs.map → chunk-QMIHLJMH.cjs.map} +1 -1
  104. package/dist/{chunk-IE677C4I.cjs → chunk-SBWIA4PL.cjs} +21 -21
  105. package/dist/{chunk-IE677C4I.cjs.map → chunk-SBWIA4PL.cjs.map} +1 -1
  106. package/dist/{chunk-JDI7E4RI.cjs → chunk-TDN33HSK.cjs} +14 -14
  107. package/dist/{chunk-JDI7E4RI.cjs.map → chunk-TDN33HSK.cjs.map} +1 -1
  108. package/dist/{chunk-U5T46QCS.cjs → chunk-TKHCIHE2.cjs} +3 -3
  109. package/dist/chunk-TKHCIHE2.cjs.map +1 -0
  110. package/dist/{chunk-WIAWHETB.cjs → chunk-ULPTSXXO.cjs} +4 -4
  111. package/dist/{chunk-WIAWHETB.cjs.map → chunk-ULPTSXXO.cjs.map} +1 -1
  112. package/dist/{chunk-PIB7K7HI.cjs → chunk-UNDQYTRF.cjs} +7 -7
  113. package/dist/{chunk-PIB7K7HI.cjs.map → chunk-UNDQYTRF.cjs.map} +1 -1
  114. package/dist/{chunk-OKHKJ5ML.cjs → chunk-UUENH4BJ.cjs} +11 -11
  115. package/dist/{chunk-OKHKJ5ML.cjs.map → chunk-UUENH4BJ.cjs.map} +1 -1
  116. package/dist/{chunk-K5MYEWD5.cjs → chunk-UZHWXKS6.cjs} +7 -7
  117. package/dist/{chunk-K5MYEWD5.cjs.map → chunk-UZHWXKS6.cjs.map} +1 -1
  118. package/dist/{chunk-OZWYCRRK.cjs → chunk-V5IMYLYK.cjs} +29 -29
  119. package/dist/{chunk-OZWYCRRK.cjs.map → chunk-V5IMYLYK.cjs.map} +1 -1
  120. package/dist/{chunk-XW524KUX.cjs → chunk-VJCSEMXT.cjs} +4 -4
  121. package/dist/{chunk-XW524KUX.cjs.map → chunk-VJCSEMXT.cjs.map} +1 -1
  122. package/dist/{chunk-B5442TKX.cjs → chunk-VRK3IQAP.cjs} +4 -4
  123. package/dist/{chunk-B5442TKX.cjs.map → chunk-VRK3IQAP.cjs.map} +1 -1
  124. package/dist/{chunk-MYRKL3JO.cjs → chunk-VWTOIGX4.cjs} +4 -4
  125. package/dist/{chunk-MYRKL3JO.cjs.map → chunk-VWTOIGX4.cjs.map} +1 -1
  126. package/dist/{chunk-5VCID67B.cjs → chunk-WW6LXQY6.cjs} +10 -10
  127. package/dist/{chunk-5VCID67B.cjs.map → chunk-WW6LXQY6.cjs.map} +1 -1
  128. package/dist/{chunk-YAPXIANR.cjs → chunk-YVCOQHCE.cjs} +5 -5
  129. package/dist/{chunk-YAPXIANR.cjs.map → chunk-YVCOQHCE.cjs.map} +1 -1
  130. package/dist/{chunk-L52N2LVE.cjs → chunk-ZZA756I4.cjs} +4 -4
  131. package/dist/{chunk-L52N2LVE.cjs.map → chunk-ZZA756I4.cjs.map} +1 -1
  132. package/dist/citations/index.cjs +8 -8
  133. package/dist/connect/docx.cjs +19 -19
  134. package/dist/connect/index.cjs +1121 -1097
  135. package/dist/connect/index.cjs.map +1 -1
  136. package/dist/connect/viewer.cjs +26 -26
  137. package/dist/connection/ConnectedWorkflowBuilder.d.ts +11 -0
  138. package/dist/connection/ConnectedWorkflowBuilder.js +42 -3
  139. package/dist/connection/ConnectedWorkflowBuilder.js.map +2 -2
  140. package/dist/connection/conversation/ConnectedConversationPage.js +36 -2
  141. package/dist/connection/conversation/ConnectedConversationPage.js.map +2 -2
  142. package/dist/connection/workflows/ConnectedWorkflowsPage.js +10 -3
  143. package/dist/connection/workflows/ConnectedWorkflowsPage.js.map +2 -2
  144. package/dist/connection/workflows/useWorkflowsPageState.d.ts +1 -0
  145. package/dist/connection/workflows/useWorkflowsPageState.js.map +2 -2
  146. package/dist/dashboards/index.cjs +22 -22
  147. package/dist/embed/index.cjs +32 -32
  148. package/dist/facts/index.cjs +44 -44
  149. package/dist/files/index.cjs +226 -226
  150. package/dist/home/index.cjs +32 -32
  151. package/dist/index.cjs +907 -907
  152. package/dist/provider/environment.d.ts +5 -0
  153. package/dist/provider/environment.js +1 -1
  154. package/dist/provider/environment.js.map +2 -2
  155. package/dist/provider/requests.d.ts +2 -0
  156. package/dist/provider/requests.js.map +2 -2
  157. package/dist/retrieval/index.cjs +4 -4
  158. package/dist/shell/index.cjs +50 -50
  159. package/dist/site/index.cjs +5 -5
  160. package/dist/studio/index.cjs +31 -31
  161. package/dist/workflow-canvas/index.cjs +92 -50
  162. package/dist/workflow-canvas/index.cjs.map +1 -1
  163. package/dist/workspaces/index.cjs +27 -27
  164. package/node_modules/@arbidocs/coedit/package.json +1 -1
  165. package/package.json +5 -5
  166. package/dist/ai-EMNMGDAN.cjs.map +0 -1
  167. package/dist/chunk-U5T46QCS.cjs.map +0 -1
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkU5T46QCS_cjs = require('./chunk-U5T46QCS.cjs');
4
+ var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
5
5
  var react = require('react');
6
6
 
7
7
  function useOpenCitation() {
8
- const { openDocument } = chunkU5T46QCS_cjs.useBlocksEnvironment();
8
+ const { openDocument } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
9
9
  return react.useCallback(
10
10
  ({ documentId, page, passage }) => {
11
11
  const id = documentId ?? passage?.documentId;
@@ -18,5 +18,5 @@ function useOpenCitation() {
18
18
  }
19
19
 
20
20
  exports.useOpenCitation = useOpenCitation;
21
- //# sourceMappingURL=chunk-MUA5PJGX.cjs.map
22
- //# sourceMappingURL=chunk-MUA5PJGX.cjs.map
21
+ //# sourceMappingURL=chunk-5SKHK3BG.cjs.map
22
+ //# sourceMappingURL=chunk-5SKHK3BG.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chat/useOpenCitation.ts"],"names":["useBlocksEnvironment","useCallback"],"mappings":";;;;;AAQO,SAAS,eAAA,GAAwD;AACtE,EAAA,MAAM,EAAE,YAAA,EAAa,GAAIA,sCAAA,EAAqB;AAC9C,EAAA,OAAOC,iBAAA;AAAA,IACL,CAAC,EAAE,UAAA,EAAY,IAAA,EAAM,SAAQ,KAAM;AACjC,MAAA,MAAM,EAAA,GAAK,cAAc,OAAA,EAAS,UAAA;AAClC,MAAA,IAAI,CAAC,EAAA,EAAI;AACT,MAAA,MAAM,EAAA,GAAK,IAAA,IAAQ,OAAA,EAAS,IAAA,IAAQ,MAAA;AACpC,MAAA,YAAA,CAAa,IAAI,EAAE,GAAI,EAAA,IAAM,EAAE,MAAM,EAAA,EAAG,EAAI,GAAI,OAAA,EAAS,MAAM,EAAE,SAAA,EAAW,OAAA,CAAQ,EAAA,IAAO,CAAA;AAAA,IAC7F,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AACF","file":"chunk-MUA5PJGX.cjs","sourcesContent":["import { useCallback } from 'react'\nimport { useBlocksEnvironment } from '../provider/environment'\nimport type { ChatCitationTarget } from './chat-page-types'\n\n/**\n * Open a cited document at its passage and page through the environment (`openDocument`): the\n * `onOpenCitation` of a chat whose host shows documents.\n */\nexport function useOpenCitation(): (target: ChatCitationTarget) => void {\n const { openDocument } = useBlocksEnvironment()\n return useCallback(\n ({ documentId, page, passage }) => {\n const id = documentId ?? passage?.documentId\n if (!id) return\n const at = page ?? passage?.page ?? undefined\n openDocument(id, { ...(at && { page: at }), ...(passage?.id && { passageId: passage.id }) })\n },\n [openDocument]\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/chat/useOpenCitation.ts"],"names":["useBlocksEnvironment","useCallback"],"mappings":";;;;;AAQO,SAAS,eAAA,GAAwD;AACtE,EAAA,MAAM,EAAE,YAAA,EAAa,GAAIA,sCAAA,EAAqB;AAC9C,EAAA,OAAOC,iBAAA;AAAA,IACL,CAAC,EAAE,UAAA,EAAY,IAAA,EAAM,SAAQ,KAAM;AACjC,MAAA,MAAM,EAAA,GAAK,cAAc,OAAA,EAAS,UAAA;AAClC,MAAA,IAAI,CAAC,EAAA,EAAI;AACT,MAAA,MAAM,EAAA,GAAK,IAAA,IAAQ,OAAA,EAAS,IAAA,IAAQ,MAAA;AACpC,MAAA,YAAA,CAAa,IAAI,EAAE,GAAI,EAAA,IAAM,EAAE,MAAM,EAAA,EAAG,EAAI,GAAI,OAAA,EAAS,MAAM,EAAE,SAAA,EAAW,OAAA,CAAQ,EAAA,IAAO,CAAA;AAAA,IAC7F,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AACF","file":"chunk-5SKHK3BG.cjs","sourcesContent":["import { useCallback } from 'react'\nimport { useBlocksEnvironment } from '../provider/environment'\nimport type { ChatCitationTarget } from './chat-page-types'\n\n/**\n * Open a cited document at its passage and page through the environment (`openDocument`): the\n * `onOpenCitation` of a chat whose host shows documents.\n */\nexport function useOpenCitation(): (target: ChatCitationTarget) => void {\n const { openDocument } = useBlocksEnvironment()\n return useCallback(\n ({ documentId, page, passage }) => {\n const id = documentId ?? passage?.documentId\n if (!id) return\n const at = page ?? passage?.page ?? undefined\n openDocument(id, { ...(at && { page: at }), ...(passage?.id && { passageId: passage.id }) })\n },\n [openDocument]\n )\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkU5T46QCS_cjs = require('./chunk-U5T46QCS.cjs');
4
+ var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
5
5
  var react = require('react');
6
6
  var lucideReact = require('lucide-react');
7
7
  var ui = require('@arbidocs/react/ui');
@@ -23,7 +23,7 @@ function AskBar({
23
23
  className,
24
24
  testId = "ask-bar"
25
25
  }) {
26
- const { openNewConversation } = chunkU5T46QCS_cjs.useBlocksEnvironment();
26
+ const { openNewConversation } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
27
27
  const onAsk = onAskProp ?? ((prompt) => openNewConversation({ prompt }));
28
28
  const [innerText, setInnerText] = react.useState("");
29
29
  const text = value !== void 0 ? value : innerText;
@@ -115,5 +115,5 @@ function AskBar({
115
115
  }
116
116
 
117
117
  exports.AskBar = AskBar;
118
- //# sourceMappingURL=chunk-AFXDLDPU.cjs.map
119
- //# sourceMappingURL=chunk-AFXDLDPU.cjs.map
118
+ //# sourceMappingURL=chunk-5UYFLFNR.cjs.map
119
+ //# sourceMappingURL=chunk-5UYFLFNR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AskBar.tsx"],"names":["useBlocksEnvironment","useState","useRef","jsxs","cn","jsx","Search","Button","Sparkles"],"mappings":"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","file":"chunk-AFXDLDPU.cjs","sourcesContent":["/**\n * A question box that IS the product's front door, not a link to one.\n *\n * One input, two destinations: Enter (or the arrow) ASKS — hands the trimmed\n * text to `onAsk`, the conversational answer — while the Search button beside\n * it hands the same text to `onSearch`, the retrieval experience. The split\n * matters because queries come in both registers (\"what does\n * this term mean\" vs \"find every mention of it\") and making them choose a\n * page before typing kills the impulse. Omit `onSearch` and the bar is a plain\n * ask composer.\n *\n * Asking starts a new conversation that sends the question on arrival\n * (`openNewConversation({ prompt })`) unless the consumer says otherwise; the\n * consumer owns what searching means (run smart search, open a record). Suggestion chips prefill the input rather than\n * firing immediately: a suggestion is a starting point you edit, not a button\n * you regret.\n *\n * Styled with SEMANTIC tokens only (card, border, foreground, muted-foreground,\n * primary), so every host gets it in its own colours.\n */\n\nimport {\n useRef,\n useState,\n type InputHTMLAttributes,\n type KeyboardEventHandler,\n type ReactNode,\n type RefObject,\n} from 'react'\nimport { Search, Sparkles } from 'lucide-react'\nimport { Button, cn } from '@arbidocs/react/ui'\nimport { useBlocksEnvironment } from '../provider/environment'\n\nexport interface AskBarProps {\n /** Receives the trimmed question. Default: a new conversation that sends it on arrival. */\n onAsk?: (text: string) => void\n /** Second destination for the same text — retrieval. Omit to hide. */\n onSearch?: (text: string) => void\n /** Prefill-on-click starter questions, shown under the input. */\n suggestions?: string[]\n placeholder?: string\n askLabel?: string\n searchLabel?: string\n /** Controlled value. Omit for the bar to own its own text. */\n value?: string\n onValueChange?: (value: string) => void\n /** Raw keydown on the input — lets a consumer run an autocomplete\n * (arrow/Enter/Tab/Escape) before the form's own submit handling.\n * preventDefault() on Enter suppresses the submit. */\n onInputKeyDown?: KeyboardEventHandler<HTMLInputElement>\n /** External input ref, for consumers that refocus after menu selection. */\n inputRef?: RefObject<HTMLInputElement | null>\n /** Extra attributes for the input, e.g. the combobox props of `useListKeyNav` for a menu. */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /** Rendered over the input row at its width (a slash/autocomplete menu, placed below). */\n menu?: ReactNode\n className?: string\n /** Root test id; children derive `-input`, `-submit`, `-search`, `-suggestion`. */\n testId?: string\n}\n\nexport function AskBar({\n onAsk: onAskProp,\n onSearch,\n suggestions = [],\n placeholder = 'Ask anything…',\n askLabel = 'Ask',\n searchLabel = 'Search',\n value,\n onValueChange,\n onInputKeyDown,\n inputRef: externalInputRef,\n inputProps,\n menu,\n className,\n testId = 'ask-bar',\n}: AskBarProps) {\n const { openNewConversation } = useBlocksEnvironment()\n const onAsk = onAskProp ?? ((prompt: string) => openNewConversation({ prompt }))\n const [innerText, setInnerText] = useState('')\n const text = value !== undefined ? value : innerText\n const setText = (next: string) => {\n onValueChange?.(next)\n if (value === undefined) setInnerText(next)\n }\n const localInputRef = useRef<HTMLInputElement>(null)\n const inputRef = externalInputRef ?? localInputRef\n\n const submitTo = (handler: (text: string) => void) => {\n const question = text.trim()\n if (!question) return\n handler(question)\n setText('')\n }\n\n return (\n <div className={cn('flex flex-col gap-2', className)} data-testid={testId}>\n <div className=\"relative\">\n <form\n onSubmit={(e) => {\n e.preventDefault()\n submitTo(onAsk)\n }}\n // The AppHeader search pill's language exactly — rounded-md,\n // border-input, magnifier left, muted text — so the bar sits in a\n // topbar the way a ⌘K trigger does, not like a chat composer\n // dropped into a header.\n className=\"flex h-12 items-center gap-1.5 rounded-md border border-border/50 bg-background pl-3 pr-1.5 transition-colors focus-within:border-border\"\n >\n <Search className=\"pointer-events-none size-4 shrink-0 text-muted-foreground\" />\n <input\n {...inputProps}\n ref={inputRef}\n type=\"text\"\n value={text}\n onChange={(e) => setText(e.target.value)}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n className=\"h-8 min-w-0 flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground\"\n data-testid={testId && `${testId}-input`}\n />\n {onSearch && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n disabled={!text.trim()}\n onClick={() => submitTo(onSearch)}\n className=\"h-8 shrink-0 px-2.5 text-xs font-medium text-muted-foreground hover:text-foreground\"\n data-testid={testId && `${testId}-search`}\n >\n {searchLabel}\n </Button>\n )}\n {/* The primary door wears the Ask AI anatomy: Sparkles + label. */}\n <Button\n type=\"submit\"\n size=\"sm\"\n disabled={!text.trim()}\n className=\"h-8 shrink-0 px-3 text-xs font-medium\"\n data-testid={testId && `${testId}-submit`}\n >\n <Sparkles className=\"size-3.5\" />\n {askLabel}\n </Button>\n </form>\n {menu}\n </div>\n {suggestions.length > 0 && (\n <div className=\"flex flex-wrap gap-1.5\">\n {suggestions.map((s) => (\n <button\n key={s}\n type=\"button\"\n onClick={() => {\n setText(s)\n inputRef.current?.focus()\n }}\n className=\"rounded-full border border-border/50 bg-card px-3 py-1 text-xs text-muted-foreground transition-colors hover:border-border hover:bg-accent hover:text-foreground\"\n data-testid={testId && `${testId}-suggestion`}\n >\n {s}\n </button>\n ))}\n </div>\n )}\n </div>\n )\n}\n"]}
1
+ {"version":3,"sources":["../src/components/AskBar.tsx"],"names":["useBlocksEnvironment","useState","useRef","jsxs","cn","jsx","Search","Button","Sparkles"],"mappings":"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","file":"chunk-5UYFLFNR.cjs","sourcesContent":["/**\n * A question box that IS the product's front door, not a link to one.\n *\n * One input, two destinations: Enter (or the arrow) ASKS — hands the trimmed\n * text to `onAsk`, the conversational answer — while the Search button beside\n * it hands the same text to `onSearch`, the retrieval experience. The split\n * matters because queries come in both registers (\"what does\n * this term mean\" vs \"find every mention of it\") and making them choose a\n * page before typing kills the impulse. Omit `onSearch` and the bar is a plain\n * ask composer.\n *\n * Asking starts a new conversation that sends the question on arrival\n * (`openNewConversation({ prompt })`) unless the consumer says otherwise; the\n * consumer owns what searching means (run smart search, open a record). Suggestion chips prefill the input rather than\n * firing immediately: a suggestion is a starting point you edit, not a button\n * you regret.\n *\n * Styled with SEMANTIC tokens only (card, border, foreground, muted-foreground,\n * primary), so every host gets it in its own colours.\n */\n\nimport {\n useRef,\n useState,\n type InputHTMLAttributes,\n type KeyboardEventHandler,\n type ReactNode,\n type RefObject,\n} from 'react'\nimport { Search, Sparkles } from 'lucide-react'\nimport { Button, cn } from '@arbidocs/react/ui'\nimport { useBlocksEnvironment } from '../provider/environment'\n\nexport interface AskBarProps {\n /** Receives the trimmed question. Default: a new conversation that sends it on arrival. */\n onAsk?: (text: string) => void\n /** Second destination for the same text — retrieval. Omit to hide. */\n onSearch?: (text: string) => void\n /** Prefill-on-click starter questions, shown under the input. */\n suggestions?: string[]\n placeholder?: string\n askLabel?: string\n searchLabel?: string\n /** Controlled value. Omit for the bar to own its own text. */\n value?: string\n onValueChange?: (value: string) => void\n /** Raw keydown on the input — lets a consumer run an autocomplete\n * (arrow/Enter/Tab/Escape) before the form's own submit handling.\n * preventDefault() on Enter suppresses the submit. */\n onInputKeyDown?: KeyboardEventHandler<HTMLInputElement>\n /** External input ref, for consumers that refocus after menu selection. */\n inputRef?: RefObject<HTMLInputElement | null>\n /** Extra attributes for the input, e.g. the combobox props of `useListKeyNav` for a menu. */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /** Rendered over the input row at its width (a slash/autocomplete menu, placed below). */\n menu?: ReactNode\n className?: string\n /** Root test id; children derive `-input`, `-submit`, `-search`, `-suggestion`. */\n testId?: string\n}\n\nexport function AskBar({\n onAsk: onAskProp,\n onSearch,\n suggestions = [],\n placeholder = 'Ask anything…',\n askLabel = 'Ask',\n searchLabel = 'Search',\n value,\n onValueChange,\n onInputKeyDown,\n inputRef: externalInputRef,\n inputProps,\n menu,\n className,\n testId = 'ask-bar',\n}: AskBarProps) {\n const { openNewConversation } = useBlocksEnvironment()\n const onAsk = onAskProp ?? ((prompt: string) => openNewConversation({ prompt }))\n const [innerText, setInnerText] = useState('')\n const text = value !== undefined ? value : innerText\n const setText = (next: string) => {\n onValueChange?.(next)\n if (value === undefined) setInnerText(next)\n }\n const localInputRef = useRef<HTMLInputElement>(null)\n const inputRef = externalInputRef ?? localInputRef\n\n const submitTo = (handler: (text: string) => void) => {\n const question = text.trim()\n if (!question) return\n handler(question)\n setText('')\n }\n\n return (\n <div className={cn('flex flex-col gap-2', className)} data-testid={testId}>\n <div className=\"relative\">\n <form\n onSubmit={(e) => {\n e.preventDefault()\n submitTo(onAsk)\n }}\n // The AppHeader search pill's language exactly — rounded-md,\n // border-input, magnifier left, muted text — so the bar sits in a\n // topbar the way a ⌘K trigger does, not like a chat composer\n // dropped into a header.\n className=\"flex h-12 items-center gap-1.5 rounded-md border border-border/50 bg-background pl-3 pr-1.5 transition-colors focus-within:border-border\"\n >\n <Search className=\"pointer-events-none size-4 shrink-0 text-muted-foreground\" />\n <input\n {...inputProps}\n ref={inputRef}\n type=\"text\"\n value={text}\n onChange={(e) => setText(e.target.value)}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n className=\"h-8 min-w-0 flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground\"\n data-testid={testId && `${testId}-input`}\n />\n {onSearch && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n disabled={!text.trim()}\n onClick={() => submitTo(onSearch)}\n className=\"h-8 shrink-0 px-2.5 text-xs font-medium text-muted-foreground hover:text-foreground\"\n data-testid={testId && `${testId}-search`}\n >\n {searchLabel}\n </Button>\n )}\n {/* The primary door wears the Ask AI anatomy: Sparkles + label. */}\n <Button\n type=\"submit\"\n size=\"sm\"\n disabled={!text.trim()}\n className=\"h-8 shrink-0 px-3 text-xs font-medium\"\n data-testid={testId && `${testId}-submit`}\n >\n <Sparkles className=\"size-3.5\" />\n {askLabel}\n </Button>\n </form>\n {menu}\n </div>\n {suggestions.length > 0 && (\n <div className=\"flex flex-wrap gap-1.5\">\n {suggestions.map((s) => (\n <button\n key={s}\n type=\"button\"\n onClick={() => {\n setText(s)\n inputRef.current?.focus()\n }}\n className=\"rounded-full border border-border/50 bg-card px-3 py-1 text-xs text-muted-foreground transition-colors hover:border-border hover:bg-accent hover:text-foreground\"\n data-testid={testId && `${testId}-suggestion`}\n >\n {s}\n </button>\n ))}\n </div>\n )}\n </div>\n )\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkBHTEKYWJ_cjs = require('./chunk-BHTEKYWJ.cjs');
5
- var chunkONZOVO2B_cjs = require('./chunk-ONZOVO2B.cjs');
6
- var chunkZZZ6AZDR_cjs = require('./chunk-ZZZ6AZDR.cjs');
4
+ var chunkLFRNBT2I_cjs = require('./chunk-LFRNBT2I.cjs');
5
+ var chunk57EE6CMW_cjs = require('./chunk-57EE6CMW.cjs');
6
+ var chunk3ODEWSRO_cjs = require('./chunk-3ODEWSRO.cjs');
7
7
  var chunkTJY7XPDE_cjs = require('./chunk-TJY7XPDE.cjs');
8
8
  var chunkXNW62J54_cjs = require('./chunk-XNW62J54.cjs');
9
- var chunkOKHKJ5ML_cjs = require('./chunk-OKHKJ5ML.cjs');
9
+ var chunkUUENH4BJ_cjs = require('./chunk-UUENH4BJ.cjs');
10
10
  var chunkXKDUPU7B_cjs = require('./chunk-XKDUPU7B.cjs');
11
11
  var chunk223D4727_cjs = require('./chunk-223D4727.cjs');
12
12
  var chunkQQMMCXBP_cjs = require('./chunk-QQMMCXBP.cjs');
@@ -15,8 +15,8 @@ var chunkJHDCDEXY_cjs = require('./chunk-JHDCDEXY.cjs');
15
15
  var chunkM2FOXGJU_cjs = require('./chunk-M2FOXGJU.cjs');
16
16
  var chunk5F4DCIHS_cjs = require('./chunk-5F4DCIHS.cjs');
17
17
  var chunkMZZ3SBQL_cjs = require('./chunk-MZZ3SBQL.cjs');
18
- var chunkMJHIBCF7_cjs = require('./chunk-MJHIBCF7.cjs');
19
- var chunkGTTDJMWX_cjs = require('./chunk-GTTDJMWX.cjs');
18
+ var chunk4NPCDS2X_cjs = require('./chunk-4NPCDS2X.cjs');
19
+ var chunkQ6DQGGP4_cjs = require('./chunk-Q6DQGGP4.cjs');
20
20
  var chunkORELHENJ_cjs = require('./chunk-ORELHENJ.cjs');
21
21
  var chunkZ2XZ2D4N_cjs = require('./chunk-Z2XZ2D4N.cjs');
22
22
  var chunkMCXS6X37_cjs = require('./chunk-MCXS6X37.cjs');
@@ -28,13 +28,13 @@ var chunkQGVOT7E4_cjs = require('./chunk-QGVOT7E4.cjs');
28
28
  var chunkIPSHAMO2_cjs = require('./chunk-IPSHAMO2.cjs');
29
29
  var chunkV6C2MBFY_cjs = require('./chunk-V6C2MBFY.cjs');
30
30
  var chunkM74FWYNL_cjs = require('./chunk-M74FWYNL.cjs');
31
- var chunkXW524KUX_cjs = require('./chunk-XW524KUX.cjs');
32
- var chunkT7J352JD_cjs = require('./chunk-T7J352JD.cjs');
33
- var chunk6YOZKXV6_cjs = require('./chunk-6YOZKXV6.cjs');
31
+ var chunkVJCSEMXT_cjs = require('./chunk-VJCSEMXT.cjs');
32
+ var chunkQMIHLJMH_cjs = require('./chunk-QMIHLJMH.cjs');
33
+ var chunkJR2YSBD5_cjs = require('./chunk-JR2YSBD5.cjs');
34
34
  var chunk3YZKDCWY_cjs = require('./chunk-3YZKDCWY.cjs');
35
35
  var chunkZW6FPIFC_cjs = require('./chunk-ZW6FPIFC.cjs');
36
- var chunkU5T46QCS_cjs = require('./chunk-U5T46QCS.cjs');
37
36
  var chunkLJJJ6CYH_cjs = require('./chunk-LJJJ6CYH.cjs');
37
+ var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
38
38
  var jsxRuntime = require('react/jsx-runtime');
39
39
  var React6 = require('react');
40
40
  var client = require('@arbidocs/client');
@@ -53,7 +53,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
53
53
  var React6__default = /*#__PURE__*/_interopDefault(React6);
54
54
 
55
55
  var renderConnectedUser = (user, { tooltip, variant = "icon" }) => /* @__PURE__ */ jsxRuntime.jsx(
56
- chunkT7J352JD_cjs.ConnectedUserEntity,
56
+ chunkQMIHLJMH_cjs.ConnectedUserEntity,
57
57
  {
58
58
  user,
59
59
  size: variant === "pill" ? "sm" : "xs",
@@ -157,7 +157,7 @@ function useRemoteControlHandlers() {
157
157
  );
158
158
  }
159
159
  function ConnectionBoundWebSocket({ children }) {
160
- const { status } = chunk6YOZKXV6_cjs.useConnection();
160
+ const { status } = chunkJR2YSBD5_cjs.useConnection();
161
161
  return /* @__PURE__ */ jsxRuntime.jsx(
162
162
  react.ArbiWebSocketProvider,
163
163
  {
@@ -168,7 +168,7 @@ function ConnectionBoundWebSocket({ children }) {
168
168
  );
169
169
  }
170
170
  function OfflineMail({ children }) {
171
- const { openMail } = chunkU5T46QCS_cjs.useBlocksEnvironment();
171
+ const { openMail } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
172
172
  react.useOfflineMailRuntime({ openOutbox: () => openMail?.({ folder: react.OUTBOX_FOLDER }) });
173
173
  return children;
174
174
  }
@@ -183,7 +183,7 @@ function defaultHost(config, { queryClient, sessionStorage: sessionStorage2 } =
183
183
  arbi.onSigningOut(() => client$1.clear());
184
184
  arbi.onSessionExpired(() => client$1.clear());
185
185
  function DefaultHostConnection({ children }) {
186
- return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: client$1, children: /* @__PURE__ */ jsxRuntime.jsx(chunk6YOZKXV6_cjs.ConnectionProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ConnectionBoundWebSocket, { children: /* @__PURE__ */ jsxRuntime.jsx(OfflineMail, { children }) }) }) });
186
+ return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: client$1, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJR2YSBD5_cjs.ConnectionProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(ConnectionBoundWebSocket, { children: /* @__PURE__ */ jsxRuntime.jsx(OfflineMail, { children }) }) }) });
187
187
  }
188
188
  return {
189
189
  arbi,
@@ -230,7 +230,7 @@ function ConnectedProfileCard({
230
230
  nameBadge,
231
231
  children
232
232
  }) {
233
- const { notify: notify3 } = chunkU5T46QCS_cjs.useBlocksEnvironment();
233
+ const { notify: notify3 } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
234
234
  const { data: profile } = react.useProfile();
235
235
  const updateProfile = react.useUpdateProfile();
236
236
  const requestEmailChange = react.useRequestEmailChange();
@@ -328,7 +328,7 @@ function ConnectedIdentityVerification({
328
328
  onManageBilling,
329
329
  formatPrice
330
330
  }) {
331
- const { notify: notify3 } = chunkU5T46QCS_cjs.useBlocksEnvironment();
331
+ const { notify: notify3 } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
332
332
  const { data: profile } = react.useProfile();
333
333
  const flow = react.useIdentityVerification({
334
334
  formatPrice,
@@ -362,7 +362,7 @@ function ConnectedPasswordChangeDialog({
362
362
  recoveryMode = false,
363
363
  onRecoveryComplete
364
364
  }) {
365
- const { notify: notify3 } = chunkU5T46QCS_cjs.useBlocksEnvironment();
365
+ const { notify: notify3 } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
366
366
  const getUnmetRequirement = useAuthPages().passwordRules.unmet;
367
367
  const change = react.usePasswordChange();
368
368
  const form = react.usePasswordChangeForm({
@@ -442,7 +442,7 @@ function ConnectedNotificationPreferences({
442
442
  function ConnectedSessionsRow({
443
443
  renderSessionIcon = renderSessionStatusIcon
444
444
  }) {
445
- const { notify: notify3, confirm } = chunkU5T46QCS_cjs.useBlocksEnvironment();
445
+ const { notify: notify3, confirm } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
446
446
  const [open, setOpen] = React6.useState(false);
447
447
  const sessions = react.useSessions({ enabled: open });
448
448
  const currentSessionId = react.useCurrentSessionId();
@@ -512,7 +512,7 @@ function ConnectedLogoutDialog({
512
512
  const sessions = react.useSessions({ enabled: open });
513
513
  const signOut = react.useSignOut();
514
514
  const isOnline = core.useIsOnline();
515
- const { confirm } = chunkU5T46QCS_cjs.useBlocksEnvironment();
515
+ const { confirm } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
516
516
  const run = async (everywhere) => {
517
517
  onClose();
518
518
  const confirmed = confirmSignOut ? confirmSignOut() : react.confirmLosingOfflineMail(confirm);
@@ -534,7 +534,7 @@ function ConnectedLogoutDialog({
534
534
  );
535
535
  }
536
536
  function ConnectedDangerZone({ renderSubscriptionLink }) {
537
- const { notify: notify3 } = chunkU5T46QCS_cjs.useBlocksEnvironment();
537
+ const { notify: notify3 } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
538
538
  const [zoneOpen, setZoneOpen] = React6.useState(false);
539
539
  const [dialogOpen, setDialogOpen] = React6.useState(false);
540
540
  const { data: profile } = react.useProfile();
@@ -598,7 +598,7 @@ function useModelPicker({
598
598
  const isDeveloper = userSettings?.developer === true;
599
599
  const isControlled = controlledValue !== void 0;
600
600
  const applyChatModel = react.useApplyChatModel();
601
- const { openSettings } = chunkU5T46QCS_cjs.useBlocksEnvironment();
601
+ const { openSettings } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
602
602
  const currentConversationModel = react.useArbiSessionState((state) => state.chatModelName);
603
603
  const chatConfigId = react.useArbiSessionState((state) => state.chatModel);
604
604
  const sendConfigId = chatConfigId ?? userSettings?.last_config;
@@ -997,7 +997,7 @@ var ConversationComposerComponent = function ConversationComposer({
997
997
  filteredItems,
998
998
  isOpen: isSlashMenuOpen,
999
999
  canBrowseSkills
1000
- } = chunkBHTEKYWJ_cjs.useSlashItems(newMessage, skills ? chunk7JLJH5CW_cjs.BUILTIN_SKILLS : NO_SKILLS);
1000
+ } = chunkLFRNBT2I_cjs.useSlashItems(newMessage, skills ? chunk7JLJH5CW_cjs.BUILTIN_SKILLS : NO_SKILLS);
1001
1001
  const insertSlashItem = (item) => {
1002
1002
  if (skills?.openFor(item)) {
1003
1003
  setNewMessage("");
@@ -1375,7 +1375,7 @@ var AgentStepsComponent = ({
1375
1375
  summary && !isActive && (step.narration ? (
1376
1376
  /* Narration is PROSE (headings, bold, lists): render markdown, not raw asterisks.
1377
1377
  Tool summaries stay plain text: one-line headlines where a clamp matters. */
1378
- /* @__PURE__ */ jsxRuntime.jsx(chunk4IOYQLKG_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunkOKHKJ5ML_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
1378
+ /* @__PURE__ */ jsxRuntime.jsx(chunk4IOYQLKG_cjs.StepNarration, { index: step.index, children: /* @__PURE__ */ jsxRuntime.jsx(chunkUUENH4BJ_cjs.ConnectedMarkdown, { isStreaming: false, children: summary }) })
1379
1379
  ) : /* @__PURE__ */ jsxRuntime.jsx(chunk4IOYQLKG_cjs.StepSummary, { index: step.index, multiLine: isMultiLine, children: summary })),
1380
1380
  details.map((d, di) => /* @__PURE__ */ jsxRuntime.jsx(chunk4IOYQLKG_cjs.StepDetail, { index: step.index, children: d }, di)),
1381
1381
  showOutcome && /* @__PURE__ */ jsxRuntime.jsx(chunk4IOYQLKG_cjs.StepOutcome, { index: step.index, failed: outcomeFailed, children: step.outcome }),
@@ -1716,7 +1716,7 @@ function AnswerTable({
1716
1716
  ] });
1717
1717
  }
1718
1718
  function useOpenChunk() {
1719
- const { openDocument } = chunkU5T46QCS_cjs.useBlocksEnvironment();
1719
+ const { openDocument } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
1720
1720
  const { data: documents } = react.useDocuments();
1721
1721
  return React6.useCallback(
1722
1722
  (chunk) => {
@@ -1757,13 +1757,13 @@ function withAnswerTable(components) {
1757
1757
  }
1758
1758
  return merged;
1759
1759
  }
1760
- var renderMarkdown = ({ components, isStreaming, children }) => /* @__PURE__ */ jsxRuntime.jsx(chunkOKHKJ5ML_cjs.ConnectedMarkdown, { components: withAnswerTable(components), isStreaming, children });
1760
+ var renderMarkdown = ({ components, isStreaming, children }) => /* @__PURE__ */ jsxRuntime.jsx(chunkUUENH4BJ_cjs.ConnectedMarkdown, { components: withAnswerTable(components), isStreaming, children });
1761
1761
  function LinkInAnswer({ href, children, ...props }) {
1762
- const docId = chunkZ2XZ2D4N_cjs.workspaceDocIdFromHref(href, chunkU5T46QCS_cjs.useBlocksEnvironment().runtimeConfig.deploymentDomain);
1762
+ const docId = chunkZ2XZ2D4N_cjs.workspaceDocIdFromHref(href, chunkTKHCIHE2_cjs.useBlocksEnvironment().runtimeConfig.deploymentDomain);
1763
1763
  if (docId) {
1764
- return /* @__PURE__ */ jsxRuntime.jsx(chunkOKHKJ5ML_cjs.InternalDocLink, { docId, href, ...props, children });
1764
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUUENH4BJ_cjs.InternalDocLink, { docId, href, ...props, children });
1765
1765
  }
1766
- return /* @__PURE__ */ jsxRuntime.jsx(chunkOKHKJ5ML_cjs.ExternalLink, { href, ...props, children });
1766
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUUENH4BJ_cjs.ExternalLink, { href, ...props, children });
1767
1767
  }
1768
1768
  var ConnectedCitationRendererComponent = (props) => {
1769
1769
  const session = react.useArbiSessionStore();
@@ -1879,7 +1879,7 @@ function useOpenWorkspaceIcon() {
1879
1879
  ui.ShieldIcon,
1880
1880
  {
1881
1881
  char: workspace.name.charAt(0),
1882
- workspaceColor: chunkMJHIBCF7_cjs.workspaceKindColor(react.getWorkspaceKind(workspace)),
1882
+ workspaceColor: chunk4NPCDS2X_cjs.workspaceKindColor(react.getWorkspaceKind(workspace)),
1883
1883
  size
1884
1884
  }
1885
1885
  ) : void 0;
@@ -1899,7 +1899,7 @@ function WorkflowStepMessage({
1899
1899
  const found = steps.find((s) => s.id === step);
1900
1900
  const states = chunkQGVOT7E4_cjs.stepStatesFromActivity(activity.data ?? []);
1901
1901
  const { data: documents = [] } = react.useDocuments();
1902
- const { openDocument } = chunkU5T46QCS_cjs.useBlocksEnvironment();
1902
+ const { openDocument } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
1903
1903
  const ref = found ? chunkHSLPFBK2_cjs.stepDocuments(steps, states, step).at(-1) : void 0;
1904
1904
  const docId = ref ? chunkQGVOT7E4_cjs.splitDocRef(ref).id : void 0;
1905
1905
  const doc = documents.find((d) => d.external_id === docId);
@@ -1936,7 +1936,7 @@ var MessageComponent = ({
1936
1936
  const [showDetailsModal, setShowDetailsModal] = React6.useState(false);
1937
1937
  const messageRef = React6.useRef(null);
1938
1938
  const session = react.useArbiSessionStore();
1939
- const environment = chunkU5T46QCS_cjs.useBlocksEnvironment();
1939
+ const environment = chunkTKHCIHE2_cjs.useBlocksEnvironment();
1940
1940
  const linkMentions = react.useLinkMentions();
1941
1941
  const { notify: notify3 } = environment;
1942
1942
  const editingMessageId = react.useArbiSessionState((state) => state.editingMessageId);
@@ -2232,7 +2232,7 @@ var MessageComponent = ({
2232
2232
  const timeLabel = ui.formatFriendlyDate(message.created_at || "");
2233
2233
  const messageId = message.external_id;
2234
2234
  const assistant = shell.useAssistantCopy();
2235
- const transcriptRuns = chunkXW524KUX_cjs.useTranscriptRuns();
2235
+ const transcriptRuns = chunkVJCSEMXT_cjs.useTranscriptRuns();
2236
2236
  const messageRole = isUser ? "user" : "assistant";
2237
2237
  const menuItems = [
2238
2238
  ...isUser ? [
@@ -2359,7 +2359,7 @@ var MessageComponent = ({
2359
2359
  align: isOtherPerson ? "start" : "end",
2360
2360
  leading: isUser ? (
2361
2361
  // Someone else's author is the pill above their run; only mine is marked here.
2362
- !isOtherPerson && messageAuthorUser && /* @__PURE__ */ jsxRuntime.jsx(chunkZZZ6AZDR_cjs.DocumentUser, { user: messageAuthorUser })
2362
+ !isOtherPerson && messageAuthorUser && /* @__PURE__ */ jsxRuntime.jsx(chunk3ODEWSRO_cjs.DocumentUser, { user: messageAuthorUser })
2363
2363
  ) : /* @__PURE__ */ jsxRuntime.jsx(
2364
2364
  "span",
2365
2365
  {
@@ -2439,7 +2439,7 @@ var MessageComponent = ({
2439
2439
  const speakerName = speaker ? ui.getUserDisplayName(speaker) : null;
2440
2440
  const isMe = transcriptSegment.speaker_ext_id === currentUser?.external_id;
2441
2441
  return /* @__PURE__ */ jsxRuntime.jsx(
2442
- chunkXW524KUX_cjs.TranscriptEntry,
2442
+ chunkVJCSEMXT_cjs.TranscriptEntry,
2443
2443
  {
2444
2444
  speakerId: transcriptSegment.speaker_ext_id,
2445
2445
  speakerName: isMe ? "Me" : speakerName || "Former member",
@@ -2464,7 +2464,7 @@ var MessageComponent = ({
2464
2464
  messageId,
2465
2465
  align: isOtherPerson ? "start" : "end",
2466
2466
  children: [
2467
- startsAuthorRun && messageAuthorUser && /* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.MessageAuthor, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkZZZ6AZDR_cjs.DocumentUser, { user: messageAuthorUser, variant: "pill" }) }),
2467
+ startsAuthorRun && messageAuthorUser && /* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.MessageAuthor, { children: /* @__PURE__ */ jsxRuntime.jsx(chunk3ODEWSRO_cjs.DocumentUser, { user: messageAuthorUser, variant: "pill" }) }),
2468
2468
  /* @__PURE__ */ jsxRuntime.jsxs(
2469
2469
  chunkM2FOXGJU_cjs.MessageBubble,
2470
2470
  {
@@ -2493,7 +2493,7 @@ var MessageComponent = ({
2493
2493
  ),
2494
2494
  subagentTaskRecord && /* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.MessageSubagentBadge, { messageId }),
2495
2495
  /* @__PURE__ */ jsxRuntime.jsxs(chunkM2FOXGJU_cjs.MessageBody, { messageId, children: [
2496
- settledNarration ? /* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.MessageNarration, { messageId, children: /* @__PURE__ */ jsxRuntime.jsx(chunkOKHKJ5ML_cjs.ConnectedMarkdown, { isStreaming: false, children: settledNarration }) }) : null,
2496
+ settledNarration ? /* @__PURE__ */ jsxRuntime.jsx(chunkM2FOXGJU_cjs.MessageNarration, { messageId, children: /* @__PURE__ */ jsxRuntime.jsx(chunkUUENH4BJ_cjs.ConnectedMarkdown, { isStreaming: false, children: settledNarration }) }) : null,
2497
2497
  liveContent ? role === "assistant" ? /* @__PURE__ */ jsxRuntime.jsx(
2498
2498
  ConnectedCitationRenderer,
2499
2499
  {
@@ -2503,7 +2503,7 @@ var MessageComponent = ({
2503
2503
  messageId: message.external_id || "unknown",
2504
2504
  isStreaming: isGenerating
2505
2505
  }
2506
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkOKHKJ5ML_cjs.ConnectedMarkdown, { isStreaming: isGenerating, children: linkMentions(
2506
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkUUENH4BJ_cjs.ConnectedMarkdown, { isStreaming: isGenerating, children: linkMentions(
2507
2507
  isUser && liveContent.startsWith("/pa ") ? liveContent.slice(4) : liveContent,
2508
2508
  message.mentions
2509
2509
  ) }) : null,
@@ -2848,7 +2848,7 @@ function ConnectedMessageList({ messages, scrollElementRef }) {
2848
2848
  React6.useEffect(() => {
2849
2849
  scrollContainerRef.current = scrollElementRef?.current ?? resolveScrollContainer(null);
2850
2850
  }, [scrollElementRef]);
2851
- const { items: activityItems } = chunkONZOVO2B_cjs.useConnectedThreadActivity(currentConversationId);
2851
+ const { items: activityItems } = chunk57EE6CMW_cjs.useConnectedThreadActivity(currentConversationId);
2852
2852
  const transcript = [
2853
2853
  ...displayMessages.map((message, index) => ({
2854
2854
  type: "message",
@@ -3024,7 +3024,7 @@ function ConnectedCompactConversation({ attachments } = {}) {
3024
3024
  parentMessageId
3025
3025
  });
3026
3026
  const session = react.useArbiSessionStore();
3027
- const slashWorkflows = chunkBHTEKYWJ_cjs.useSlashSkillWorkflows({ landing: "current-chat" });
3027
+ const slashWorkflows = chunkLFRNBT2I_cjs.useSlashSkillWorkflows({ landing: "current-chat" });
3028
3028
  react.useAutoSendDraft(sendDraft);
3029
3029
  const skills = React6.useMemo(() => ({ openFor: slashWorkflows.openFor }), [slashWorkflows.openFor]);
3030
3030
  const handleSendMessage = () => {
@@ -3183,7 +3183,7 @@ function ConnectedConversationDocumentPicker({
3183
3183
  onSelectionChange
3184
3184
  }) {
3185
3185
  const session = react.useArbiSessionStore();
3186
- const { openDocument } = chunkU5T46QCS_cjs.useBlocksEnvironment();
3186
+ const { openDocument } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
3187
3187
  const upload = react.useUploadDocuments();
3188
3188
  const role = react.useWorkspaceRole();
3189
3189
  const canUpload = role !== null && role !== "guest";
@@ -3575,9 +3575,9 @@ function useLoginActions({
3575
3575
  onError
3576
3576
  }) {
3577
3577
  const arbi = react.useArbi();
3578
- const signInLayer = chunk6YOZKXV6_cjs.useOptionalConnection();
3578
+ const signInLayer = chunkJR2YSBD5_cjs.useOptionalConnection();
3579
3579
  const sso = useSsoSignIn();
3580
- const environment = chunkU5T46QCS_cjs.useBlocksEnvironment();
3580
+ const environment = chunkTKHCIHE2_cjs.useBlocksEnvironment();
3581
3581
  const environmentNotify = environment.notify;
3582
3582
  const notify3 = React6.useCallback(
3583
3583
  (...args) => args[1] === "error" && onError && typeof args[0] === "string" ? onError(args[0]) : environmentNotify(...args),
@@ -3750,7 +3750,7 @@ function useLoginActions({
3750
3750
  };
3751
3751
  }
3752
3752
  function useLoginForm() {
3753
- const { notify: notify3 } = chunkU5T46QCS_cjs.useBlocksEnvironment();
3753
+ const { notify: notify3 } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
3754
3754
  const { onReturnPath } = useAuthPages();
3755
3755
  const [email, setEmail] = React6.useState("");
3756
3756
  const [password, setPassword] = React6.useState("");
@@ -3959,7 +3959,7 @@ function useRegisterSubmitState(isRegistering, isPending, password, confirmPassw
3959
3959
  }
3960
3960
  function useSsoVerificationRedirect() {
3961
3961
  const sso = useSsoSignIn();
3962
- const { notify: notify3 } = chunkU5T46QCS_cjs.useBlocksEnvironment();
3962
+ const { notify: notify3 } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
3963
3963
  const { onVerificationFailed } = useAuthPages();
3964
3964
  React6.useEffect(() => {
3965
3965
  const urlParams = new URLSearchParams(window.location.search);
@@ -3989,14 +3989,14 @@ var sodiumWarmed = false;
3989
3989
  function warmSodium() {
3990
3990
  if (sodiumWarmed) return;
3991
3991
  sodiumWarmed = true;
3992
- const run = () => void chunkMJHIBCF7_cjs.prefetchChunk(client.initSodium);
3992
+ const run = () => void chunk4NPCDS2X_cjs.prefetchChunk(client.initSodium);
3993
3993
  if (typeof window.requestIdleCallback === "function") window.requestIdleCallback(run);
3994
3994
  else window.setTimeout(run, 200);
3995
3995
  }
3996
3996
  function ConnectedLoginPage() {
3997
3997
  const sso = useSsoSignIn();
3998
3998
  const auth = useAuthPages();
3999
- const { notify: notify3 } = chunkU5T46QCS_cjs.useBlocksEnvironment();
3999
+ const { notify: notify3 } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
4000
4000
  const isSsoOnly = !!auth.ssoOnly;
4001
4001
  const allowRegistration = auth.allowRegistration ?? true;
4002
4002
  const isOnline = core.useIsOnline();
@@ -4546,7 +4546,7 @@ function ConnectedCompactLogin({
4546
4546
  }) {
4547
4547
  const arbi = react.useArbi();
4548
4548
  const auth = useAuthPages();
4549
- const { notify: notify3 } = chunkU5T46QCS_cjs.useBlocksEnvironment();
4549
+ const { notify: notify3 } = chunkTKHCIHE2_cjs.useBlocksEnvironment();
4550
4550
  const isSsoOnly = !!auth.ssoOnly;
4551
4551
  const [error, setError] = React6.useState(null);
4552
4552
  const formState = useLoginForm();
@@ -4799,7 +4799,7 @@ function EmbeddedTopbar({
4799
4799
  };
4800
4800
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4801
4801
  /* @__PURE__ */ jsxRuntime.jsx(
4802
- chunkMJHIBCF7_cjs.MobileAppBar,
4802
+ chunk4NPCDS2X_cjs.MobileAppBar,
4803
4803
  {
4804
4804
  showMenu: true,
4805
4805
  onMenu: () => setMenu(true),
@@ -4816,7 +4816,7 @@ function EmbeddedTopbar({
4816
4816
  }
4817
4817
  ),
4818
4818
  menu && /* @__PURE__ */ jsxRuntime.jsxs(
4819
- chunkGTTDJMWX_cjs.Sidebar.Root,
4819
+ chunkQ6DQGGP4_cjs.Sidebar.Root,
4820
4820
  {
4821
4821
  mode: "drawer",
4822
4822
  expanded: true,
@@ -4825,14 +4825,14 @@ function EmbeddedTopbar({
4825
4825
  "aria-label": "Embedded navigation",
4826
4826
  children: [
4827
4827
  /* @__PURE__ */ jsxRuntime.jsx(
4828
- chunkGTTDJMWX_cjs.Sidebar.DrawerHeader,
4828
+ chunkQ6DQGGP4_cjs.Sidebar.DrawerHeader,
4829
4829
  {
4830
4830
  logo: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: title }),
4831
4831
  onClose: () => setMenu(false)
4832
4832
  }
4833
4833
  ),
4834
4834
  /* @__PURE__ */ jsxRuntime.jsx(
4835
- chunkGTTDJMWX_cjs.Sidebar.Nav,
4835
+ chunkQ6DQGGP4_cjs.Sidebar.Nav,
4836
4836
  {
4837
4837
  items: [
4838
4838
  {
@@ -5051,8 +5051,8 @@ function EmbeddedWorkspaceHeader({ title }) {
5051
5051
  const signedIn = react.useArbiSession();
5052
5052
  const workspaceId = react.useArbiSessionState((s) => s.workspaceId);
5053
5053
  const { data: workspaces = [], isLoading, error: listError } = react.useWorkspaces();
5054
- const select = chunkONZOVO2B_cjs.useSelectWorkspace();
5055
- const connection = chunk6YOZKXV6_cjs.useOptionalConnection();
5054
+ const select = chunk57EE6CMW_cjs.useSelectWorkspace();
5055
+ const connection = chunkJR2YSBD5_cjs.useOptionalConnection();
5056
5056
  const [pending, setPending] = React6.useState(false);
5057
5057
  const [error, setError] = React6.useState(null);
5058
5058
  async function choose(id) {
@@ -5240,5 +5240,5 @@ exports.useRemoteControlHandlers = useRemoteControlHandlers;
5240
5240
  exports.useRemoteControlSessionReset = useRemoteControlSessionReset;
5241
5241
  exports.useSsoSignIn = useSsoSignIn;
5242
5242
  exports.useWorkspaceDocTitles = useWorkspaceDocTitles;
5243
- //# sourceMappingURL=chunk-R4TP3VS3.cjs.map
5244
- //# sourceMappingURL=chunk-R4TP3VS3.cjs.map
5243
+ //# sourceMappingURL=chunk-6DCIZA3X.cjs.map
5244
+ //# sourceMappingURL=chunk-6DCIZA3X.cjs.map