@arbidocs/blocks 0.4.1 → 0.4.3

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/README.md +42 -0
  2. package/dist/agents/index.cjs +147 -146
  3. package/dist/agents/index.js +3 -2
  4. package/dist/chat/AssistantDock.d.ts +39 -0
  5. package/dist/chat/ChatDocuments.d.ts +17 -0
  6. package/dist/chat/ChatPage.d.ts +16 -0
  7. package/dist/chat/ChatThreads.d.ts +28 -0
  8. package/dist/chat/chat-page-types.d.ts +121 -0
  9. package/dist/chat/chat-surface.d.ts +9 -0
  10. package/dist/chat/index.cjs +247 -205
  11. package/dist/chat/index.d.ts +6 -0
  12. package/dist/chat/index.js +4 -2
  13. package/dist/{chunk-OBLSURHV.js → chunk-2NNTQLBY.js} +3 -3
  14. package/dist/{chunk-OBLSURHV.js.map → chunk-2NNTQLBY.js.map} +1 -1
  15. package/dist/chunk-2VBJ763Y.js +296 -0
  16. package/dist/chunk-2VBJ763Y.js.map +1 -0
  17. package/dist/{chunk-2ORA62OF.js → chunk-67MKU5U7.js} +3 -3
  18. package/dist/{chunk-2ORA62OF.js.map → chunk-67MKU5U7.js.map} +1 -1
  19. package/dist/{chunk-AE5FHFZ5.cjs → chunk-6CHMNKXC.cjs} +6 -6
  20. package/dist/{chunk-AE5FHFZ5.cjs.map → chunk-6CHMNKXC.cjs.map} +1 -1
  21. package/dist/{chunk-ITGHMJOM.js → chunk-AAY5ASZD.js} +5 -4
  22. package/dist/chunk-AAY5ASZD.js.map +1 -0
  23. package/dist/chunk-ATXPAD6S.cjs +1952 -0
  24. package/dist/chunk-ATXPAD6S.cjs.map +1 -0
  25. package/dist/{chunk-YBXCZEWS.js → chunk-B673CCW5.js} +29 -6
  26. package/dist/chunk-B673CCW5.js.map +1 -0
  27. package/dist/{chunk-2K33YGM6.cjs → chunk-DN3NFNIA.cjs} +63 -294
  28. package/dist/chunk-DN3NFNIA.cjs.map +1 -0
  29. package/dist/{chunk-XQ7PKKDY.cjs → chunk-G4YOH5DU.cjs} +3 -3
  30. package/dist/{chunk-XQ7PKKDY.cjs.map → chunk-G4YOH5DU.cjs.map} +1 -1
  31. package/dist/{chunk-AXIZ2MDV.js → chunk-HER7MTRR.js} +3 -3
  32. package/dist/{chunk-AXIZ2MDV.js.map → chunk-HER7MTRR.js.map} +1 -1
  33. package/dist/chunk-JPO3F4J7.js +1899 -0
  34. package/dist/chunk-JPO3F4J7.js.map +1 -0
  35. package/dist/{chunk-WJMEXTVD.cjs → chunk-KDG6FER6.cjs} +28 -2
  36. package/dist/chunk-KDG6FER6.cjs.map +1 -0
  37. package/dist/chunk-KHX2BX3S.cjs +307 -0
  38. package/dist/chunk-KHX2BX3S.cjs.map +1 -0
  39. package/dist/{chunk-WTNMWEBC.js → chunk-NJL4LIXX.js} +4 -3
  40. package/dist/chunk-NJL4LIXX.js.map +1 -0
  41. package/dist/{chunk-J2BGSWXM.cjs → chunk-O637DUKS.cjs} +27 -27
  42. package/dist/{chunk-J2BGSWXM.cjs.map → chunk-O637DUKS.cjs.map} +1 -1
  43. package/dist/{chunk-WW6EOVZA.js → chunk-OXF2IFXG.js} +26 -3
  44. package/dist/chunk-OXF2IFXG.js.map +1 -0
  45. package/dist/{chunk-6HIPFEID.cjs → chunk-PBS5MFIY.cjs} +4 -4
  46. package/dist/{chunk-6HIPFEID.cjs.map → chunk-PBS5MFIY.cjs.map} +1 -1
  47. package/dist/{chunk-AZQDNYH4.js → chunk-RCP6THBS.js} +9 -1249
  48. package/dist/chunk-RCP6THBS.js.map +1 -0
  49. package/dist/{chunk-GDFWJ73C.cjs → chunk-RIL7G7AS.cjs} +4 -1286
  50. package/dist/chunk-RIL7G7AS.cjs.map +1 -0
  51. package/dist/{chunk-DREI7EQ2.cjs → chunk-SS23F63U.cjs} +9 -9
  52. package/dist/{chunk-DREI7EQ2.cjs.map → chunk-SS23F63U.cjs.map} +1 -1
  53. package/dist/{chunk-7PEELPMA.js → chunk-TI4UTYRL.js} +62 -285
  54. package/dist/chunk-TI4UTYRL.js.map +1 -0
  55. package/dist/{chunk-XNBAXRY7.cjs → chunk-VXOGANFJ.cjs} +13 -12
  56. package/dist/chunk-VXOGANFJ.cjs.map +1 -0
  57. package/dist/{chunk-6P6AEQJB.js → chunk-WJZBJUPX.js} +4 -4
  58. package/dist/{chunk-6P6AEQJB.js.map → chunk-WJZBJUPX.js.map} +1 -1
  59. package/dist/{chunk-UFHMLHIR.cjs → chunk-XAJIKT6Y.cjs} +32 -11
  60. package/dist/chunk-XAJIKT6Y.cjs.map +1 -0
  61. package/dist/{chunk-G3G7LZPM.cjs → chunk-XKKGGUU2.cjs} +29 -3
  62. package/dist/chunk-XKKGGUU2.cjs.map +1 -0
  63. package/dist/{chunk-UWGIB3VQ.js → chunk-XNOASBGW.js} +33 -12
  64. package/dist/chunk-XNOASBGW.js.map +1 -0
  65. package/dist/{chunk-CTZ5745I.js → chunk-XQKGYGCJ.js} +3 -3
  66. package/dist/{chunk-CTZ5745I.js.map → chunk-XQKGYGCJ.js.map} +1 -1
  67. package/dist/{chunk-54Q3RNJU.cjs → chunk-ZVPTFTGV.cjs} +4 -3
  68. package/dist/chunk-ZVPTFTGV.cjs.map +1 -0
  69. package/dist/citations/index.cjs +11 -11
  70. package/dist/citations/index.js +2 -2
  71. package/dist/components/MemberAvatarStack.d.ts +7 -2
  72. package/dist/connect/index.cjs +41 -12
  73. package/dist/connect/index.cjs.map +1 -1
  74. package/dist/connect/index.d.ts +3 -2
  75. package/dist/connect/index.js +20 -4
  76. package/dist/connect/index.js.map +1 -1
  77. package/dist/connection/ConnectionProvider.d.ts +2 -0
  78. package/dist/connection/ai.d.ts +13 -1
  79. package/dist/connection/useConnectedShellWorkspaces.d.ts +15 -0
  80. package/dist/facts/index.cjs +3 -3
  81. package/dist/facts/index.cjs.map +1 -1
  82. package/dist/facts/index.js +2 -2
  83. package/dist/facts/index.js.map +1 -1
  84. package/dist/files/index.cjs +4 -3
  85. package/dist/files/index.cjs.map +1 -1
  86. package/dist/files/index.js +4 -3
  87. package/dist/files/index.js.map +1 -1
  88. package/dist/home/index.cjs +18 -17
  89. package/dist/home/index.cjs.map +1 -1
  90. package/dist/home/index.js +3 -2
  91. package/dist/home/index.js.map +1 -1
  92. package/dist/index.cjs +637 -580
  93. package/dist/index.cjs.map +1 -1
  94. package/dist/index.d.ts +1 -1
  95. package/dist/index.js +13 -12
  96. package/dist/index.js.map +1 -1
  97. package/dist/lib/format.d.ts +31 -0
  98. package/dist/retrieval/index.cjs +36 -36
  99. package/dist/retrieval/index.js +1 -1
  100. package/dist/settings/index.cjs +12 -10
  101. package/dist/settings/index.cjs.map +1 -1
  102. package/dist/settings/index.js +12 -10
  103. package/dist/settings/index.js.map +1 -1
  104. package/dist/shell/SplitLayout.d.ts +32 -0
  105. package/dist/shell/index.cjs +72 -68
  106. package/dist/shell/index.d.ts +1 -0
  107. package/dist/shell/index.js +2 -2
  108. package/dist/site/index.cjs +71 -71
  109. package/dist/site/index.js +3 -3
  110. package/dist/studio/index.cjs +79 -76
  111. package/dist/studio/index.cjs.map +1 -1
  112. package/dist/studio/index.js +9 -6
  113. package/dist/studio/index.js.map +1 -1
  114. package/dist/workspaces/WorkspaceGallery.d.ts +42 -0
  115. package/dist/workspaces/index.cjs +74 -7
  116. package/dist/workspaces/index.cjs.map +1 -1
  117. package/dist/workspaces/index.d.ts +2 -0
  118. package/dist/workspaces/index.js +73 -7
  119. package/dist/workspaces/index.js.map +1 -1
  120. package/package.json +3 -3
  121. package/src/blocks.css +10 -13
  122. package/dist/chunk-2K33YGM6.cjs.map +0 -1
  123. package/dist/chunk-54Q3RNJU.cjs.map +0 -1
  124. package/dist/chunk-7PEELPMA.js.map +0 -1
  125. package/dist/chunk-AZQDNYH4.js.map +0 -1
  126. package/dist/chunk-G3G7LZPM.cjs.map +0 -1
  127. package/dist/chunk-GDFWJ73C.cjs.map +0 -1
  128. package/dist/chunk-ITGHMJOM.js.map +0 -1
  129. package/dist/chunk-SCFYPAG6.cjs +0 -18
  130. package/dist/chunk-SCFYPAG6.cjs.map +0 -1
  131. package/dist/chunk-UFHMLHIR.cjs.map +0 -1
  132. package/dist/chunk-UWGIB3VQ.js.map +0 -1
  133. package/dist/chunk-WJMEXTVD.cjs.map +0 -1
  134. package/dist/chunk-WTNMWEBC.js.map +0 -1
  135. package/dist/chunk-WW6EOVZA.js.map +0 -1
  136. package/dist/chunk-XNBAXRY7.cjs.map +0 -1
  137. package/dist/chunk-YBXCZEWS.js.map +0 -1
  138. package/dist/chunk-YDHO4AVL.js +0 -16
  139. package/dist/chunk-YDHO4AVL.js.map +0 -1
package/README.md CHANGED
@@ -92,6 +92,27 @@ import { PassagePill } from '@arbidocs/blocks/citations'
92
92
  through `testId` / `testIds`.
93
93
  - Parts are not polymorphic: `asChild` exists only where a part documents it.
94
94
 
95
+ ## Assistant chat page
96
+
97
+ `ChatPage` (`@arbidocs/blocks/chat`) is a whole assistant chat: conversations with auto-titles, markdown
98
+ answers, composer with a document chip and upload, empty, error and retry states, plus `header` and `aside`
99
+ (workflow launcher) slots. It sizes to its container, so it holds up beside an open dock. Bind it with the
100
+ `@arbidocs/react` hook:
101
+
102
+ ```tsx
103
+ import { ChatPage, useChatSurface } from '@arbidocs/blocks/chat'
104
+ import { useConnectedChat } from '@arbidocs/blocks/connect' // or useArbiChat({ workspaceId }) from @arbidocs/react
105
+
106
+ const chat = useConnectedChat()
107
+ <ChatPage chat={chat} header={<h2>Assistant</h2>} aside={<WorkflowLauncher … />} />
108
+
109
+ // The dock yields to a mounted page chat:
110
+ const { isDockAvailable } = useChatSurface()
111
+ {isDockAvailable && <MyDock />}
112
+ ```
113
+
114
+ Theme the user bubble with `--chat-user-bubble` and `--chat-user-bubble-foreground` (HSL triplets).
115
+
95
116
  ## Editorial site parts
96
117
 
97
118
  `@arbidocs/blocks/site` (and the root) carry the layout parts for static marketing pages:
@@ -114,6 +135,27 @@ import { EditorialHero, EditorialSection, PanelGrid, CtaBand } from '@arbidocs/b
114
135
  See `examples/custom-ui/MarketingPage.tsx` for a full page and `docs/design/blocks-package.md` for
115
136
  the part table.
116
137
 
138
+ ## Workspaces: gallery and switcher in a few lines
139
+
140
+ ```tsx
141
+ import { WorkspaceGallery } from '@arbidocs/blocks/workspaces'
142
+ import { WorkspaceSwitcher } from '@arbidocs/blocks'
143
+ import { useConnectedShellWorkspaces } from '@arbidocs/blocks/connect'
144
+
145
+ const { items, active, recent, open, openingId } = useConnectedShellWorkspaces({
146
+ seed: { workspaces: demoWorkspaces, activeId: 'demo-1' }, // host data, shown only if the account has none
147
+ onOpened: () => navigate('/app/documents'), // runs after the workspace is selected
148
+ })
149
+
150
+ <WorkspaceSwitcher workspace={active} recent={recent} onSwitch={open} /* ... */ />
151
+ <WorkspaceGallery workspaces={items} currentId={active?.id} openingId={openingId} onOpen={open} />
152
+ ```
153
+
154
+ Clicking any card, the current one too, selects the workspace and then navigates. Without a
155
+ connection layer use `useShellWorkspaces` from `@arbidocs/react` and pass your own list and `select`.
156
+ Small helpers for host copy: `formatCount(1, { one: 'document', other: 'documents' })` and
157
+ `displayName(user)` for greetings. See `examples/custom-ui/HomePage.tsx`.
158
+
117
159
  ## Workspace isolation
118
160
 
119
161
  Blocks hold no keys and do no crypto. Parts take the data of one workspace and never merge data