@powerhousedao/design-system 6.0.0-dev.10 → 6.0.0-dev.100

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 (259) hide show
  1. package/dist/src/connect/components/animated-loader/animated-loader.d.ts.map +1 -1
  2. package/dist/src/connect/components/animated-loader/animated-loader.js +1 -1
  3. package/dist/src/connect/components/animated-loader/animated-loader.js.map +1 -1
  4. package/dist/src/connect/components/cookie-banner/cookie-banner.d.ts.map +1 -1
  5. package/dist/src/connect/components/cookie-banner/cookie-banner.js.map +1 -1
  6. package/dist/src/connect/components/document-state-viewer/document-state-viewer.d.ts.map +1 -1
  7. package/dist/src/connect/components/document-state-viewer/document-state-viewer.js +3 -2
  8. package/dist/src/connect/components/document-state-viewer/document-state-viewer.js.map +1 -1
  9. package/dist/src/connect/components/document-timeline/components/timeline-bar.d.ts.map +1 -1
  10. package/dist/src/connect/components/document-timeline/components/timeline-bar.js.map +1 -1
  11. package/dist/src/connect/components/document-toolbar/document-toolbar.d.ts.map +1 -1
  12. package/dist/src/connect/components/document-toolbar/document-toolbar.js +17 -3
  13. package/dist/src/connect/components/document-toolbar/document-toolbar.js.map +1 -1
  14. package/dist/src/connect/components/document-toolbar/document-toolbar.stories.d.ts +38 -0
  15. package/dist/src/connect/components/document-toolbar/document-toolbar.stories.d.ts.map +1 -0
  16. package/dist/src/connect/components/document-toolbar/document-toolbar.stories.js +223 -0
  17. package/dist/src/connect/components/document-toolbar/document-toolbar.stories.js.map +1 -0
  18. package/dist/src/connect/components/ens-avatar/ens-avatar.d.ts.map +1 -1
  19. package/dist/src/connect/components/ens-avatar/ens-avatar.js +1 -1
  20. package/dist/src/connect/components/ens-avatar/ens-avatar.js.map +1 -1
  21. package/dist/src/connect/components/file-item/file-item.d.ts.map +1 -1
  22. package/dist/src/connect/components/file-item/file-item.js +6 -3
  23. package/dist/src/connect/components/file-item/file-item.js.map +1 -1
  24. package/dist/src/connect/components/folder-item/folder-item.d.ts +1 -1
  25. package/dist/src/connect/components/folder-item/folder-item.d.ts.map +1 -1
  26. package/dist/src/connect/components/folder-item/folder-item.js +6 -5
  27. package/dist/src/connect/components/folder-item/folder-item.js.map +1 -1
  28. package/dist/src/connect/components/home-screen/home-background-image.d.ts.map +1 -1
  29. package/dist/src/connect/components/home-screen/home-background-image.js +3 -2
  30. package/dist/src/connect/components/home-screen/home-background-image.js.map +1 -1
  31. package/dist/src/connect/components/home-screen/home-screen-item.js +1 -1
  32. package/dist/src/connect/components/home-screen/home-screen-item.js.map +1 -1
  33. package/dist/src/connect/components/home-screen/home-screen-item.stories.d.ts +1 -0
  34. package/dist/src/connect/components/home-screen/home-screen-item.stories.d.ts.map +1 -1
  35. package/dist/src/connect/components/home-screen/home-screen-item.stories.js +13 -0
  36. package/dist/src/connect/components/home-screen/home-screen-item.stories.js.map +1 -1
  37. package/dist/src/connect/components/index.d.ts +4 -0
  38. package/dist/src/connect/components/index.d.ts.map +1 -1
  39. package/dist/src/connect/components/index.js +4 -0
  40. package/dist/src/connect/components/index.js.map +1 -1
  41. package/dist/src/connect/components/integrity-inspector/index.d.ts +2 -0
  42. package/dist/src/connect/components/integrity-inspector/index.d.ts.map +1 -0
  43. package/dist/src/connect/components/integrity-inspector/index.js +2 -0
  44. package/dist/src/connect/components/integrity-inspector/index.js.map +1 -0
  45. package/dist/src/connect/components/integrity-inspector/integrity-inspector.d.ts +8 -0
  46. package/dist/src/connect/components/integrity-inspector/integrity-inspector.d.ts.map +1 -0
  47. package/dist/src/connect/components/integrity-inspector/integrity-inspector.js +90 -0
  48. package/dist/src/connect/components/integrity-inspector/integrity-inspector.js.map +1 -0
  49. package/dist/src/connect/components/modal/add-drive-modal/add-drive-modal.d.ts.map +1 -1
  50. package/dist/src/connect/components/modal/add-drive-modal/add-drive-modal.js +3 -1
  51. package/dist/src/connect/components/modal/add-drive-modal/add-drive-modal.js.map +1 -1
  52. package/dist/src/connect/components/modal/delete-item-modal.d.ts.map +1 -1
  53. package/dist/src/connect/components/modal/delete-item-modal.js.map +1 -1
  54. package/dist/src/connect/components/modal/index.d.ts +1 -0
  55. package/dist/src/connect/components/modal/index.d.ts.map +1 -1
  56. package/dist/src/connect/components/modal/index.js +1 -0
  57. package/dist/src/connect/components/modal/index.js.map +1 -1
  58. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.d.ts +8 -2
  59. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.d.ts.map +1 -1
  60. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.js +6 -2
  61. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.js.map +1 -1
  62. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.stories.js +4 -4
  63. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.stories.js.map +1 -1
  64. package/dist/src/connect/components/modal/package-install-modal.d.ts +13 -0
  65. package/dist/src/connect/components/modal/package-install-modal.d.ts.map +1 -0
  66. package/dist/src/connect/components/modal/package-install-modal.js +50 -0
  67. package/dist/src/connect/components/modal/package-install-modal.js.map +1 -0
  68. package/dist/src/connect/components/modal/settings-modal/dependency-versions/dependency-versions.d.ts.map +1 -1
  69. package/dist/src/connect/components/modal/settings-modal/dependency-versions/dependency-versions.js +14 -23
  70. package/dist/src/connect/components/modal/settings-modal/dependency-versions/dependency-versions.js.map +1 -1
  71. package/dist/src/connect/components/modal/settings-modal/document-select-row.d.ts.map +1 -1
  72. package/dist/src/connect/components/modal/settings-modal/document-select-row.js.map +1 -1
  73. package/dist/src/connect/components/modal/settings-modal-v2/danger-zone.js +2 -2
  74. package/dist/src/connect/components/modal/settings-modal-v2/danger-zone.js.map +1 -1
  75. package/dist/src/connect/components/modal/settings-modal-v2/index.d.ts +2 -0
  76. package/dist/src/connect/components/modal/settings-modal-v2/index.d.ts.map +1 -1
  77. package/dist/src/connect/components/modal/settings-modal-v2/index.js +2 -0
  78. package/dist/src/connect/components/modal/settings-modal-v2/index.js.map +1 -1
  79. package/dist/src/connect/components/modal/settings-modal-v2/mocks.d.ts +5 -14
  80. package/dist/src/connect/components/modal/settings-modal-v2/mocks.d.ts.map +1 -1
  81. package/dist/src/connect/components/modal/settings-modal-v2/mocks.js +116 -13
  82. package/dist/src/connect/components/modal/settings-modal-v2/mocks.js.map +1 -1
  83. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/dismissed-packages-list.d.ts +11 -0
  84. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/dismissed-packages-list.d.ts.map +1 -0
  85. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/dismissed-packages-list.js +27 -0
  86. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/dismissed-packages-list.js.map +1 -0
  87. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-input.d.ts +4 -3
  88. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-input.d.ts.map +1 -1
  89. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-input.js +20 -57
  90. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-input.js.map +1 -1
  91. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-list.d.ts +1 -0
  92. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-list.d.ts.map +1 -1
  93. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-list.js +16 -4
  94. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-list.js.map +1 -1
  95. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-select.d.ts +9 -6
  96. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-select.d.ts.map +1 -1
  97. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-select.js +19 -6
  98. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager-select.js.map +1 -1
  99. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.d.ts +5 -3
  100. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.d.ts.map +1 -1
  101. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.js +3 -5
  102. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.js.map +1 -1
  103. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.stories.d.ts +5 -2
  104. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.stories.d.ts.map +1 -1
  105. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.stories.js +46 -20
  106. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/package-manager.stories.js.map +1 -1
  107. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/types.d.ts +9 -0
  108. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/types.d.ts.map +1 -0
  109. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/types.js +2 -0
  110. package/dist/src/connect/components/modal/settings-modal-v2/package-manager/types.js.map +1 -0
  111. package/dist/src/connect/components/modal/settings-modal-v2/settings-modal.stories.js +2 -2
  112. package/dist/src/connect/components/modal/settings-modal-v2/settings-modal.stories.js.map +1 -1
  113. package/dist/src/connect/components/object-inspector-modal/index.d.ts +2 -0
  114. package/dist/src/connect/components/object-inspector-modal/index.d.ts.map +1 -0
  115. package/dist/src/connect/components/object-inspector-modal/index.js +2 -0
  116. package/dist/src/connect/components/object-inspector-modal/index.js.map +1 -0
  117. package/dist/src/connect/components/object-inspector-modal/object-inspector-modal.d.ts +8 -0
  118. package/dist/src/connect/components/object-inspector-modal/object-inspector-modal.d.ts.map +1 -0
  119. package/dist/src/connect/components/object-inspector-modal/object-inspector-modal.js +26 -0
  120. package/dist/src/connect/components/object-inspector-modal/object-inspector-modal.js.map +1 -0
  121. package/dist/src/connect/components/processors-inspector/index.d.ts +2 -0
  122. package/dist/src/connect/components/processors-inspector/index.d.ts.map +1 -0
  123. package/dist/src/connect/components/processors-inspector/index.js +2 -0
  124. package/dist/src/connect/components/processors-inspector/index.js.map +1 -0
  125. package/dist/src/connect/components/processors-inspector/processors-inspector.d.ts +16 -0
  126. package/dist/src/connect/components/processors-inspector/processors-inspector.d.ts.map +1 -0
  127. package/dist/src/connect/components/processors-inspector/processors-inspector.js +128 -0
  128. package/dist/src/connect/components/processors-inspector/processors-inspector.js.map +1 -0
  129. package/dist/src/connect/components/queue-inspector/index.d.ts +2 -0
  130. package/dist/src/connect/components/queue-inspector/index.d.ts.map +1 -0
  131. package/dist/src/connect/components/queue-inspector/index.js +2 -0
  132. package/dist/src/connect/components/queue-inspector/index.js.map +1 -0
  133. package/dist/src/connect/components/queue-inspector/queue-inspector.d.ts +15 -0
  134. package/dist/src/connect/components/queue-inspector/queue-inspector.d.ts.map +1 -0
  135. package/dist/src/connect/components/queue-inspector/queue-inspector.js +132 -0
  136. package/dist/src/connect/components/queue-inspector/queue-inspector.js.map +1 -0
  137. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.d.ts +4 -2
  138. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.d.ts.map +1 -1
  139. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.js +90 -5
  140. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.js.map +1 -1
  141. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.stories.d.ts.map +1 -1
  142. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.stories.js +23 -7
  143. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.stories.js.map +1 -1
  144. package/dist/src/connect/components/remotes-inspector/components/connection-state-badge.d.ts +6 -0
  145. package/dist/src/connect/components/remotes-inspector/components/connection-state-badge.d.ts.map +1 -0
  146. package/dist/src/connect/components/remotes-inspector/components/connection-state-badge.js +14 -0
  147. package/dist/src/connect/components/remotes-inspector/components/connection-state-badge.js.map +1 -0
  148. package/dist/src/connect/components/remotes-inspector/components/mailbox-table.d.ts +1 -1
  149. package/dist/src/connect/components/remotes-inspector/components/mailbox-table.d.ts.map +1 -1
  150. package/dist/src/connect/components/remotes-inspector/components/mailbox-table.js +31 -9
  151. package/dist/src/connect/components/remotes-inspector/components/mailbox-table.js.map +1 -1
  152. package/dist/src/connect/components/remotes-inspector/index.d.ts +1 -0
  153. package/dist/src/connect/components/remotes-inspector/index.d.ts.map +1 -1
  154. package/dist/src/connect/components/remotes-inspector/index.js +1 -0
  155. package/dist/src/connect/components/remotes-inspector/index.js.map +1 -1
  156. package/dist/src/connect/components/remotes-inspector/remotes-inspector.d.ts +12 -2
  157. package/dist/src/connect/components/remotes-inspector/remotes-inspector.d.ts.map +1 -1
  158. package/dist/src/connect/components/remotes-inspector/remotes-inspector.js +29 -9
  159. package/dist/src/connect/components/remotes-inspector/remotes-inspector.js.map +1 -1
  160. package/dist/src/connect/components/remotes-inspector/remotes-inspector.stories.d.ts.map +1 -1
  161. package/dist/src/connect/components/remotes-inspector/remotes-inspector.stories.js +58 -6
  162. package/dist/src/connect/components/remotes-inspector/remotes-inspector.stories.js.map +1 -1
  163. package/dist/src/connect/components/revision-history/header/doc-id.d.ts +1 -0
  164. package/dist/src/connect/components/revision-history/header/doc-id.d.ts.map +1 -1
  165. package/dist/src/connect/components/revision-history/header/doc-id.js +6 -2
  166. package/dist/src/connect/components/revision-history/header/doc-id.js.map +1 -1
  167. package/dist/src/connect/components/revision-history/header/header.d.ts +1 -0
  168. package/dist/src/connect/components/revision-history/header/header.d.ts.map +1 -1
  169. package/dist/src/connect/components/revision-history/header/header.js +2 -2
  170. package/dist/src/connect/components/revision-history/header/header.js.map +1 -1
  171. package/dist/src/connect/components/revision-history/revision-history.d.ts +1 -0
  172. package/dist/src/connect/components/revision-history/revision-history.d.ts.map +1 -1
  173. package/dist/src/connect/components/revision-history/revision-history.js +2 -2
  174. package/dist/src/connect/components/revision-history/revision-history.js.map +1 -1
  175. package/dist/src/connect/components/sidebar/sidebar-footer.d.ts.map +1 -1
  176. package/dist/src/connect/components/sidebar/sidebar-footer.js.map +1 -1
  177. package/dist/src/connect/components/sidebar/sidebar-header.d.ts.map +1 -1
  178. package/dist/src/connect/components/sidebar/sidebar-header.js.map +1 -1
  179. package/dist/src/connect/components/sidebar/sidebar-item.d.ts.map +1 -1
  180. package/dist/src/connect/components/sidebar/sidebar-item.js +3 -2
  181. package/dist/src/connect/components/sidebar/sidebar-item.js.map +1 -1
  182. package/dist/src/connect/components/sidebar/sidebar-login.d.ts.map +1 -1
  183. package/dist/src/connect/components/sidebar/sidebar-login.js +2 -2
  184. package/dist/src/connect/components/sidebar/sidebar-login.js.map +1 -1
  185. package/dist/src/connect/components/sidebar/sidebar.d.ts.map +1 -1
  186. package/dist/src/connect/components/sidebar/sidebar.js.map +1 -1
  187. package/dist/src/connect/components/sidebar/sidebar.stories.d.ts.map +1 -1
  188. package/dist/src/connect/components/sidebar/sidebar.stories.js +3 -1
  189. package/dist/src/connect/components/sidebar/sidebar.stories.js.map +1 -1
  190. package/dist/src/connect/components/tabs/tab-content.js +1 -1
  191. package/dist/src/connect/components/tabs/tab-content.js.map +1 -1
  192. package/dist/src/connect/components/tabs/tabs.d.ts.map +1 -1
  193. package/dist/src/connect/components/tabs/tabs.js +3 -3
  194. package/dist/src/connect/components/tabs/tabs.js.map +1 -1
  195. package/dist/src/connect/components/toggle/toggle.stories.d.ts +13 -13
  196. package/dist/src/connect/constants/icons.d.ts.map +1 -1
  197. package/dist/src/connect/constants/icons.js +3 -3
  198. package/dist/src/connect/constants/icons.js.map +1 -1
  199. package/dist/src/connect/constants/options.js +13 -13
  200. package/dist/src/connect/constants/options.js.map +1 -1
  201. package/dist/src/powerhouse/components/pagination/pagination.d.ts.map +1 -1
  202. package/dist/src/powerhouse/components/pagination/pagination.js.map +1 -1
  203. package/dist/src/ui/components/button/button.d.ts.map +1 -1
  204. package/dist/src/ui/components/button/button.js.map +1 -1
  205. package/dist/src/ui/components/checkbox/checkbox.d.ts.map +1 -1
  206. package/dist/src/ui/components/checkbox/checkbox.js.map +1 -1
  207. package/dist/src/ui/components/form-label/form-label.d.ts.map +1 -1
  208. package/dist/src/ui/components/form-label/form-label.js.map +1 -1
  209. package/dist/src/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts.map +1 -1
  210. package/dist/src/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
  211. package/dist/src/ui/components/index.d.ts +1 -1
  212. package/dist/src/ui/components/index.d.ts.map +1 -1
  213. package/dist/src/ui/components/index.js +1 -1
  214. package/dist/src/ui/components/index.js.map +1 -1
  215. package/dist/src/ui/components/json-viewer/json-viewer.d.ts.map +1 -1
  216. package/dist/src/ui/components/json-viewer/json-viewer.js +64 -1
  217. package/dist/src/ui/components/json-viewer/json-viewer.js.map +1 -1
  218. package/dist/src/ui/components/radio-group-field/radio-group.d.ts.map +1 -1
  219. package/dist/src/ui/components/radio-group-field/radio-group.js.map +1 -1
  220. package/dist/src/ui/components/radio-group-field/radio.d.ts.map +1 -1
  221. package/dist/src/ui/components/radio-group-field/radio.js.map +1 -1
  222. package/dist/src/ui/components/search-autocomplete/index.d.ts +4 -0
  223. package/dist/src/ui/components/search-autocomplete/index.d.ts.map +1 -0
  224. package/dist/src/ui/components/search-autocomplete/index.js +3 -0
  225. package/dist/src/ui/components/search-autocomplete/index.js.map +1 -0
  226. package/dist/src/ui/components/search-autocomplete/search-autocomplete.d.ts +4 -0
  227. package/dist/src/ui/components/search-autocomplete/search-autocomplete.d.ts.map +1 -0
  228. package/dist/src/ui/components/search-autocomplete/search-autocomplete.js +52 -0
  229. package/dist/src/ui/components/search-autocomplete/search-autocomplete.js.map +1 -0
  230. package/dist/src/ui/components/search-autocomplete/types.d.ts +19 -0
  231. package/dist/src/ui/components/search-autocomplete/types.d.ts.map +1 -0
  232. package/dist/src/ui/components/search-autocomplete/types.js +2 -0
  233. package/dist/src/ui/components/search-autocomplete/types.js.map +1 -0
  234. package/dist/src/ui/components/search-autocomplete/use-search-autocomplete.d.ts +17 -0
  235. package/dist/src/ui/components/search-autocomplete/use-search-autocomplete.d.ts.map +1 -0
  236. package/dist/src/ui/components/search-autocomplete/use-search-autocomplete.js +78 -0
  237. package/dist/src/ui/components/search-autocomplete/use-search-autocomplete.js.map +1 -0
  238. package/dist/src/ui/components/text-input/text-input.d.ts.map +1 -1
  239. package/dist/src/ui/components/text-input/text-input.js.map +1 -1
  240. package/dist/src/ui/components/tooltip/tooltip.d.ts.map +1 -1
  241. package/dist/src/ui/components/tooltip/tooltip.js.map +1 -1
  242. package/dist/style.css +183 -24
  243. package/dist/tsconfig.tsbuildinfo +1 -1
  244. package/package.json +31 -50
  245. /package/{assets → dist/assets}/connect-loader.mp4 +0 -0
  246. /package/{assets → dist/assets}/connect.png +0 -0
  247. /package/{assets → dist/assets}/home-bg.avif +0 -0
  248. /package/{assets → dist/assets}/home-bg.png +0 -0
  249. /package/{assets → dist/assets}/icons/budget.png +0 -0
  250. /package/{assets → dist/assets}/icons/global.png +0 -0
  251. /package/{assets → dist/assets}/icons/legal.png +0 -0
  252. /package/{assets → dist/assets}/icons/profile.png +0 -0
  253. /package/{assets → dist/assets}/icons/rwa-report.png +0 -0
  254. /package/{assets → dist/assets}/icons/template.png +0 -0
  255. /package/{assets → dist/assets}/powerhouse-rounded.png +0 -0
  256. /package/{assets → dist/assets}/renown-hover.png +0 -0
  257. /package/{assets → dist/assets}/renown-short-hover.png +0 -0
  258. /package/{assets → dist/assets}/renown-short.png +0 -0
  259. /package/{assets → dist/assets}/renown.png +0 -0
@@ -0,0 +1,128 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Icon } from "@powerhousedao/design-system";
3
+ import { useCallback, useEffect, useState } from "react";
4
+ import { twMerge } from "tailwind-merge";
5
+ import { ObjectInspectorModal } from "../object-inspector-modal/index.js";
6
+ const VIEW_COLUMN = { key: "view", label: "", width: "60px" };
7
+ const COLUMNS = [
8
+ VIEW_COLUMN,
9
+ { key: "status", label: "Status", width: "90px" },
10
+ { key: "processorId", label: "Processor ID", width: "150px" },
11
+ { key: "factoryId", label: "Factory ID", width: "150px" },
12
+ { key: "driveId", label: "Drive ID", width: "150px" },
13
+ { key: "processorIndex", label: "Index", width: "70px" },
14
+ { key: "lastOrdinal", label: "Last Ordinal", width: "100px" },
15
+ { key: "lastError", label: "Error", width: "180px" },
16
+ { key: "lastErrorTimestamp", label: "Error At", width: "160px" },
17
+ { key: "actions", label: "Actions", width: "80px" },
18
+ ];
19
+ function truncateId(id, maxLength = 12) {
20
+ if (id.length <= maxLength)
21
+ return id;
22
+ return id.slice(0, maxLength) + "...";
23
+ }
24
+ function sortProcessors(processors, sort) {
25
+ if (!sort)
26
+ return processors;
27
+ return [...processors].sort((a, b) => {
28
+ let comparison = 0;
29
+ switch (sort.column) {
30
+ case "status":
31
+ comparison = a.status.localeCompare(b.status);
32
+ break;
33
+ case "processorId":
34
+ comparison = a.processorId.localeCompare(b.processorId);
35
+ break;
36
+ case "factoryId":
37
+ comparison = a.factoryId.localeCompare(b.factoryId);
38
+ break;
39
+ case "driveId":
40
+ comparison = a.driveId.localeCompare(b.driveId);
41
+ break;
42
+ case "processorIndex":
43
+ comparison = a.processorIndex - b.processorIndex;
44
+ break;
45
+ case "lastOrdinal":
46
+ comparison = a.lastOrdinal - b.lastOrdinal;
47
+ break;
48
+ case "lastError":
49
+ comparison = (a.lastError ?? "").localeCompare(b.lastError ?? "");
50
+ break;
51
+ case "lastErrorTimestamp":
52
+ comparison =
53
+ (a.lastErrorTimestamp?.getTime() ?? 0) -
54
+ (b.lastErrorTimestamp?.getTime() ?? 0);
55
+ break;
56
+ default:
57
+ return 0;
58
+ }
59
+ return sort.direction === "asc" ? comparison : -comparison;
60
+ });
61
+ }
62
+ function SortIcon({ direction, active, }) {
63
+ if (!active) {
64
+ return (_jsx(Icon, { className: "opacity-0 group-hover:opacity-50", name: "CaretSort", size: 12 }));
65
+ }
66
+ return (_jsx(Icon, { className: direction === "asc" ? "rotate-180" : undefined, name: "TriangleDown", size: 12 }));
67
+ }
68
+ export function ProcessorsInspector({ getProcessors, onRetry, }) {
69
+ const [processors, setProcessors] = useState([]);
70
+ const [loading, setLoading] = useState(true);
71
+ const [sort, setSort] = useState();
72
+ const [retryingId, setRetryingId] = useState(null);
73
+ const [selectedProcessor, setSelectedProcessor] = useState(null);
74
+ const [error, setError] = useState(null);
75
+ const loadProcessors = useCallback(async () => {
76
+ try {
77
+ const result = await getProcessors();
78
+ setProcessors(result);
79
+ setError(null);
80
+ }
81
+ catch (e) {
82
+ setError(e instanceof Error ? e.message : String(e));
83
+ }
84
+ finally {
85
+ setLoading(false);
86
+ }
87
+ }, [getProcessors]);
88
+ useEffect(() => {
89
+ void loadProcessors();
90
+ const interval = setInterval(() => {
91
+ void loadProcessors();
92
+ }, 2000);
93
+ return () => clearInterval(interval);
94
+ }, [loadProcessors]);
95
+ const handleRefresh = useCallback(async () => {
96
+ setLoading(true);
97
+ await loadProcessors();
98
+ }, [loadProcessors]);
99
+ const handleRetry = useCallback(async (processorId) => {
100
+ if (!onRetry)
101
+ return;
102
+ setRetryingId(processorId);
103
+ try {
104
+ await onRetry(processorId);
105
+ await loadProcessors();
106
+ }
107
+ finally {
108
+ setRetryingId(null);
109
+ }
110
+ }, [onRetry, loadProcessors]);
111
+ const handleSort = (columnKey) => {
112
+ const newDirection = sort?.column === columnKey && sort.direction === "asc" ? "desc" : "asc";
113
+ setSort({ column: columnKey, direction: newDirection });
114
+ };
115
+ const sortedProcessors = sortProcessors(processors, sort);
116
+ const activeCount = processors.filter((p) => p.status === "active").length;
117
+ const erroredCount = processors.filter((p) => p.status === "errored").length;
118
+ return (_jsxs("div", { className: "flex h-full flex-col gap-2", children: [_jsxs("div", { className: "flex shrink-0 items-center justify-between", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900", children: "Processors Inspector" }), _jsx("div", { className: "flex items-center gap-2", children: _jsxs("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:opacity-50", disabled: loading, onClick: () => void handleRefresh(), type: "button", children: [_jsx(Icon, { name: "Reload", size: 14 }), "Refresh"] }) })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-4 rounded-lg bg-gray-100 px-4 py-2 text-sm", children: [_jsxs("div", { className: "text-gray-600", children: ["Total: ", _jsx("span", { className: "font-medium", children: processors.length })] }), _jsxs("div", { className: "flex items-center gap-2 text-gray-600", children: [_jsx("span", { className: "size-2 rounded-full bg-green-500" }), "Active: ", _jsx("span", { className: "font-medium", children: activeCount })] }), _jsxs("div", { className: "flex items-center gap-2 text-gray-600", children: [_jsx("span", { className: "size-2 rounded-full bg-red-500" }), "Errored: ", _jsx("span", { className: "font-medium", children: erroredCount })] })] }), error && (_jsxs("div", { className: "shrink-0 rounded-lg border border-red-300 bg-red-50 px-4 py-2 text-sm text-red-700", children: ["Failed to load processors: ", error] })), _jsx("div", { className: "max-h-full overflow-auto rounded-lg border border-gray-300", children: _jsxs("table", { className: "w-full border-collapse", children: [_jsx("thead", { className: "sticky top-0 bg-gray-100", children: _jsx("tr", { children: COLUMNS.map((column, index) => {
119
+ const isActive = sort?.column === column.key;
120
+ const sortDirection = isActive ? sort.direction : "asc";
121
+ return (_jsx("th", { className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-gray-600 hover:bg-gray-200 hover:text-gray-900", index > 0 && "border-l border-gray-300"), onClick: () => handleSort(column.key), style: { width: column.width }, children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("span", { className: "truncate", children: column.label }), _jsx(SortIcon, { active: isActive, direction: sortDirection })] }) }, column.key));
122
+ }) }) }), _jsx("tbody", { children: loading && sortedProcessors.length === 0 ? (_jsx("tr", { children: _jsx("td", { className: "px-3 py-8 text-center text-sm text-gray-500", colSpan: COLUMNS.length, children: "Loading..." }) })) : sortedProcessors.length === 0 ? (_jsx("tr", { children: _jsx("td", { className: "px-3 py-8 text-center text-sm text-gray-500", colSpan: COLUMNS.length, children: "No processors registered" }) })) : (sortedProcessors.map((processor) => (_jsxs("tr", { className: twMerge("hover:bg-blue-50", processor.status === "errored"
123
+ ? "bg-red-50"
124
+ : "odd:bg-white even:bg-gray-50"), children: [_jsx("td", { className: "px-3 py-2 text-xs", children: _jsx("button", { className: "flex items-center gap-1 rounded bg-blue-50 px-2 py-1 text-xs text-blue-700 hover:bg-blue-100", onClick: () => setSelectedProcessor(processor), type: "button", children: "View" }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs", children: _jsxs("span", { className: twMerge("inline-flex items-center gap-1 rounded px-1.5 py-0.5", processor.status === "active"
125
+ ? "bg-green-100 text-green-700"
126
+ : "bg-red-100 text-red-700"), children: [processor.status === "active" && (_jsx("span", { className: "inline-block size-1.5 rounded-full bg-green-500" })), processor.status === "errored" && (_jsx("span", { className: "inline-block size-1.5 rounded-full bg-red-500" })), processor.status] }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: processor.processorId, children: truncateId(processor.processorId) }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: processor.factoryId, children: truncateId(processor.factoryId) }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: processor.driveId, children: truncateId(processor.driveId) }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: processor.processorIndex }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: processor.lastOrdinal }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: processor.lastError ? (_jsx("span", { className: "block truncate text-red-600", title: processor.lastError, children: processor.lastError })) : (_jsx("span", { className: "text-gray-400", children: "-" })) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: processor.lastErrorTimestamp ? (_jsx("span", { className: "block truncate", title: processor.lastErrorTimestamp.toISOString(), children: processor.lastErrorTimestamp.toLocaleString() })) : (_jsx("span", { className: "text-gray-400", children: "-" })) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs", children: processor.status === "errored" && onRetry && (_jsx("button", { className: "flex items-center gap-1 rounded bg-yellow-50 px-2 py-1 text-xs text-yellow-700 hover:bg-yellow-100 disabled:opacity-50", disabled: retryingId === processor.processorId, onClick: () => void handleRetry(processor.processorId), type: "button", children: "Retry" })) })] }, processor.processorId)))) })] }) }), _jsxs("div", { className: "shrink-0 text-sm text-gray-600", children: ["Showing ", sortedProcessors.length, " processor(s)"] }), _jsx(ObjectInspectorModal, { object: selectedProcessor, onOpenChange: (open) => !open && setSelectedProcessor(null), open: selectedProcessor !== null, title: "Processor" })] }));
127
+ }
128
+ //# sourceMappingURL=processors-inspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processors-inspector.js","sourceRoot":"","sources":["../../../../../src/connect/components/processors-inspector/processors-inspector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./queue-inspector.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/queue-inspector/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./queue-inspector.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/connect/components/queue-inspector/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Job } from "@powerhousedao/reactor-browser";
2
+ export type QueueState = {
3
+ readonly isPaused: boolean;
4
+ readonly pendingJobs: Job[];
5
+ readonly executingJobs: Job[];
6
+ readonly totalPending: number;
7
+ readonly totalExecuting: number;
8
+ };
9
+ export type QueueInspectorProps = {
10
+ readonly getQueueState: () => Promise<QueueState>;
11
+ readonly onPause: () => Promise<void>;
12
+ readonly onResume: () => Promise<void>;
13
+ };
14
+ export declare function QueueInspector({ getQueueState, onPause, onResume, }: QueueInspectorProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=queue-inspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-inspector.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/queue-inspector/queue-inspector.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAK1D,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AA6GF,wBAAgB,cAAc,CAAC,EAC7B,aAAa,EACb,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,2CA2PrB"}
@@ -0,0 +1,132 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Icon } from "@powerhousedao/design-system";
3
+ import { useCallback, useEffect, useState } from "react";
4
+ import { twMerge } from "tailwind-merge";
5
+ import { ObjectInspectorModal } from "../object-inspector-modal/index.js";
6
+ const VIEW_COLUMN = { key: "view", label: "", width: "60px" };
7
+ const COLUMNS = [
8
+ VIEW_COLUMN,
9
+ { key: "id", label: "ID", width: "120px" },
10
+ { key: "kind", label: "Kind", width: "80px" },
11
+ { key: "documentId", label: "Document ID", width: "150px" },
12
+ { key: "scope", label: "Scope", width: "100px" },
13
+ { key: "branch", label: "Branch", width: "100px" },
14
+ { key: "createdAt", label: "Created At", width: "160px" },
15
+ { key: "retryCount", label: "Retries", width: "70px" },
16
+ { key: "status", label: "Status", width: "100px" },
17
+ ];
18
+ function truncateId(id, maxLength = 12) {
19
+ if (id.length <= maxLength)
20
+ return id;
21
+ return id.slice(0, maxLength) + "...";
22
+ }
23
+ function formatDate(dateStr) {
24
+ const date = new Date(dateStr);
25
+ return date.toLocaleString();
26
+ }
27
+ function sortJobs(jobs, sort) {
28
+ if (!sort)
29
+ return jobs;
30
+ return [...jobs].sort((a, b) => {
31
+ let comparison = 0;
32
+ switch (sort.column) {
33
+ case "id":
34
+ comparison = a.id.localeCompare(b.id);
35
+ break;
36
+ case "kind":
37
+ comparison = a.kind.localeCompare(b.kind);
38
+ break;
39
+ case "documentId":
40
+ comparison = a.documentId.localeCompare(b.documentId);
41
+ break;
42
+ case "scope":
43
+ comparison = a.scope.localeCompare(b.scope);
44
+ break;
45
+ case "branch":
46
+ comparison = a.branch.localeCompare(b.branch);
47
+ break;
48
+ case "createdAt":
49
+ comparison = a.createdAt.localeCompare(b.createdAt);
50
+ break;
51
+ case "retryCount":
52
+ comparison = (a.retryCount ?? 0) - (b.retryCount ?? 0);
53
+ break;
54
+ case "status":
55
+ comparison = a.status.localeCompare(b.status);
56
+ break;
57
+ default:
58
+ return 0;
59
+ }
60
+ return sort.direction === "asc" ? comparison : -comparison;
61
+ });
62
+ }
63
+ function SortIcon({ direction, active, }) {
64
+ if (!active) {
65
+ return (_jsx(Icon, { className: "opacity-0 group-hover:opacity-50", name: "CaretSort", size: 12 }));
66
+ }
67
+ return (_jsx(Icon, { className: direction === "asc" ? "rotate-180" : undefined, name: "TriangleDown", size: 12 }));
68
+ }
69
+ export function QueueInspector({ getQueueState, onPause, onResume, }) {
70
+ const [state, setState] = useState({
71
+ isPaused: false,
72
+ pendingJobs: [],
73
+ executingJobs: [],
74
+ totalPending: 0,
75
+ totalExecuting: 0,
76
+ });
77
+ const [loading, setLoading] = useState(true);
78
+ const [sort, setSort] = useState();
79
+ const [actionInProgress, setActionInProgress] = useState(false);
80
+ const [selectedJob, setSelectedJob] = useState(null);
81
+ const loadState = useCallback(async () => {
82
+ const newState = await getQueueState();
83
+ setState(newState);
84
+ setLoading(false);
85
+ }, [getQueueState]);
86
+ useEffect(() => {
87
+ void loadState();
88
+ const interval = setInterval(() => {
89
+ void loadState();
90
+ }, 2000);
91
+ return () => clearInterval(interval);
92
+ }, [loadState]);
93
+ const handleRefresh = useCallback(async () => {
94
+ setLoading(true);
95
+ await loadState();
96
+ }, [loadState]);
97
+ const handlePauseResume = useCallback(async () => {
98
+ setActionInProgress(true);
99
+ if (state.isPaused) {
100
+ await onResume();
101
+ }
102
+ else {
103
+ await onPause();
104
+ }
105
+ await loadState();
106
+ setActionInProgress(false);
107
+ }, [state.isPaused, onPause, onResume, loadState]);
108
+ const handleSort = (columnKey) => {
109
+ const newDirection = sort?.column === columnKey && sort.direction === "asc" ? "desc" : "asc";
110
+ setSort({ column: columnKey, direction: newDirection });
111
+ };
112
+ const allJobs = [
113
+ ...state.executingJobs.map((job) => ({
114
+ ...job,
115
+ status: "executing",
116
+ })),
117
+ ...state.pendingJobs.map((job) => ({ ...job, status: "pending" })),
118
+ ];
119
+ const sortedJobs = sortJobs(allJobs, sort);
120
+ return (_jsxs("div", { className: "flex h-full flex-col gap-2", children: [_jsxs("div", { className: "flex shrink-0 items-center justify-between", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900", children: "Queue Inspector" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { className: twMerge("flex items-center gap-1 rounded border px-3 py-1.5 text-sm disabled:opacity-50", state.isPaused
121
+ ? "border-green-300 bg-green-50 text-green-700 hover:bg-green-100"
122
+ : "border-yellow-300 bg-yellow-50 text-yellow-700 hover:bg-yellow-100"), disabled: actionInProgress, onClick: () => void handlePauseResume(), type: "button", children: [_jsx(Icon, { name: state.isPaused ? "ArrowFilledRight" : "Ellipsis", size: 14 }), state.isPaused ? "Resume" : "Pause"] }), _jsxs("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:opacity-50", disabled: loading, onClick: () => void handleRefresh(), type: "button", children: [_jsx(Icon, { name: "Reload", size: 14 }), "Refresh"] })] })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-4 rounded-lg bg-gray-100 px-4 py-2 text-sm", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: twMerge("size-2 rounded-full", state.isPaused ? "bg-yellow-500" : "bg-green-500") }), _jsx("span", { className: "font-medium text-gray-700", children: state.isPaused ? "Paused" : "Running" })] }), _jsxs("div", { className: "text-gray-600", children: ["Pending: ", _jsx("span", { className: "font-medium", children: state.totalPending })] }), _jsxs("div", { className: "text-gray-600", children: ["Executing: ", _jsx("span", { className: "font-medium", children: state.totalExecuting })] })] }), _jsx("div", { className: "max-h-full overflow-auto rounded-lg border border-gray-300", children: _jsxs("table", { className: "w-full border-collapse", children: [_jsx("thead", { className: "sticky top-0 bg-gray-100", children: _jsx("tr", { children: COLUMNS.map((column, index) => {
123
+ const isActive = sort?.column === column.key;
124
+ const sortDirection = isActive ? sort.direction : "asc";
125
+ return (_jsx("th", { className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-gray-600 hover:bg-gray-200 hover:text-gray-900", index > 0 && "border-l border-gray-300"), onClick: () => handleSort(column.key), style: { width: column.width }, children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("span", { className: "truncate", children: column.label }), _jsx(SortIcon, { active: isActive, direction: sortDirection })] }) }, column.key));
126
+ }) }) }), _jsx("tbody", { children: loading && sortedJobs.length === 0 ? (_jsx("tr", { children: _jsx("td", { className: "px-3 py-8 text-center text-sm text-gray-500", colSpan: COLUMNS.length, children: "Loading..." }) })) : sortedJobs.length === 0 ? (_jsx("tr", { children: _jsx("td", { className: "px-3 py-8 text-center text-sm text-gray-500", colSpan: COLUMNS.length, children: "No jobs in queue" }) })) : (sortedJobs.map((job) => (_jsxs("tr", { className: "odd:bg-white even:bg-gray-50 hover:bg-blue-50", children: [_jsx("td", { className: "px-3 py-2 text-xs", children: _jsx("button", { className: "flex items-center gap-1 rounded bg-blue-50 px-2 py-1 text-xs text-blue-700 hover:bg-blue-100", onClick: () => setSelectedJob(job), type: "button", children: "View" }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: job.id, children: truncateId(job.id) }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: twMerge("inline-block rounded px-1.5 py-0.5", job.kind === "mutation"
127
+ ? "bg-purple-100 text-purple-700"
128
+ : "bg-blue-100 text-blue-700"), children: job.kind }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: job.documentId, children: truncateId(job.documentId) }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: job.scope, children: job.scope }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: job.branch, children: job.branch }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: job.createdAt, children: formatDate(job.createdAt) }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: job.retryCount ?? 0 }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs", children: _jsxs("span", { className: twMerge("inline-flex items-center gap-1 rounded px-1.5 py-0.5", job.status === "executing"
129
+ ? "bg-green-100 text-green-700"
130
+ : "bg-gray-100 text-gray-600"), children: [job.status === "executing" && (_jsx("span", { className: "inline-block size-1.5 animate-pulse rounded-full bg-green-500" })), job.status] }) })] }, job.id)))) })] }) }), _jsxs("div", { className: "shrink-0 text-sm text-gray-600", children: ["Showing ", sortedJobs.length, " job(s)"] }), _jsx(ObjectInspectorModal, { object: selectedJob, onOpenChange: (open) => !open && setSelectedJob(null), open: selectedJob !== null, title: "Job" })] }));
131
+ }
132
+ //# sourceMappingURL=queue-inspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-inspector.js","sourceRoot":"","sources":["../../../../../src/connect/components/queue-inspector/queue-inspector.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import { type IChannel } from "@powerhousedao/reactor";
1
+ import { type IChannel } from "@powerhousedao/reactor-browser";
2
+ import type { ConnectionStateSummary } from "../remotes-inspector.js";
2
3
  export type ChannelInspectorProps = {
3
4
  readonly remoteName: string;
4
5
  readonly channel: IChannel;
5
6
  readonly onBack: () => void;
6
7
  readonly onRefresh?: () => void;
8
+ readonly connectionState?: ConnectionStateSummary;
7
9
  };
8
- export declare function ChannelInspector({ remoteName, channel, onBack, onRefresh, }: ChannelInspectorProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionState, }: ChannelInspectorProps): import("react/jsx-runtime").JSX.Element;
9
11
  //# sourceMappingURL=channel-inspector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel-inspector.d.ts","sourceRoot":"","sources":["../../../../../../src/connect/components/remotes-inspector/components/channel-inspector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKvD,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,OAAO,EACP,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,2CAkGvB"}
1
+ {"version":3,"file":"channel-inspector.d.ts","sourceRoot":"","sources":["../../../../../../src/connect/components/remotes-inspector/components/channel-inspector.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAKtE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAC;CACnD,CAAC;AAOF,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,OAAO,EACP,MAAM,EACN,SAAS,EACT,eAAe,GAChB,EAAE,qBAAqB,2CA2ZvB"}
@@ -1,10 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Icon } from "@powerhousedao/design-system";
3
- import {} from "@powerhousedao/reactor";
4
- import { useState } from "react";
5
- import { MailboxTable } from "./mailbox-table.js";
3
+ import { GqlRequestChannel, IntervalPollTimer, } from "@powerhousedao/reactor-browser";
4
+ import { useCallback, useState } from "react";
6
5
  import {} from "../utils.js";
7
- export function ChannelInspector({ remoteName, channel, onBack, onRefresh, }) {
6
+ import { ConnectionStateBadge } from "./connection-state-badge.js";
7
+ import { MailboxTable } from "./mailbox-table.js";
8
+ function formatTimestamp(ms) {
9
+ if (ms === 0)
10
+ return "-";
11
+ return new Date(ms).toLocaleTimeString();
12
+ }
13
+ export function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionState, }) {
8
14
  const [sorts, setSorts] = useState({
9
15
  inbox: undefined,
10
16
  outbox: undefined,
@@ -33,6 +39,85 @@ export function ChannelInspector({ remoteName, channel, onBack, onRefresh, }) {
33
39
  };
34
40
  });
35
41
  };
36
- return (_jsxs("div", { className: "flex h-full flex-col gap-4 p-4", children: [_jsxs("div", { className: "flex shrink-0 items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-2 py-1 text-sm text-gray-700 hover:bg-gray-100", onClick: onBack, type: "button", children: [_jsx(Icon, { className: "rotate-90", name: "ChevronDown", size: 14 }), "Back"] }), _jsxs("h2", { className: "text-lg font-semibold text-gray-900", children: ["Channel: ", remoteName] })] }), onRefresh && (_jsxs("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", onClick: onRefresh, type: "button", children: [_jsx(Icon, { name: "Reload", size: 14 }), "Refresh"] }))] }), _jsxs("div", { className: "flex flex-1 flex-col gap-6 overflow-auto", children: [_jsx(MailboxTable, { collapsed: collapsed.inbox, mailboxType: "inbox", onSort: handleSort, onToggleCollapse: () => handleToggleCollapse("inbox"), operations: channel.inbox.items, sort: sorts.inbox, title: "Inbox" }), _jsx(MailboxTable, { collapsed: collapsed.outbox, mailboxType: "outbox", onSort: handleSort, onToggleCollapse: () => handleToggleCollapse("outbox"), operations: channel.outbox.items, sort: sorts.outbox, title: "Outbox" }), _jsx(MailboxTable, { collapsed: collapsed.deadLetter, mailboxType: "deadLetter", onSort: handleSort, onToggleCollapse: () => handleToggleCollapse("deadLetter"), operations: channel.deadLetter.items, sort: sorts.deadLetter, title: "Dead Letter" })] })] }));
42
+ const getPollerControls = useCallback(() => {
43
+ if (!(channel instanceof GqlRequestChannel)) {
44
+ return null;
45
+ }
46
+ const poller = channel.poller;
47
+ if (!(poller instanceof IntervalPollTimer)) {
48
+ return null;
49
+ }
50
+ return poller;
51
+ }, [channel]);
52
+ const pollerControls = getPollerControls();
53
+ const [pollerState, setPollerState] = useState(() => ({
54
+ isPaused: pollerControls?.isPaused() ?? false,
55
+ isRunning: pollerControls?.isRunning() ?? false,
56
+ }));
57
+ const [intervalMs, setIntervalMs] = useState(() => pollerControls?.getIntervalMs() ?? 2000);
58
+ const [mailboxStates, setMailboxStates] = useState(() => ({
59
+ inbox: { isPaused: channel.inbox.isPaused() },
60
+ outbox: { isPaused: channel.outbox.isPaused() },
61
+ }));
62
+ const handlePause = useCallback(() => {
63
+ if (pollerControls) {
64
+ pollerControls.pause();
65
+ setPollerState({
66
+ isPaused: pollerControls.isPaused(),
67
+ isRunning: pollerControls.isRunning(),
68
+ });
69
+ }
70
+ }, [pollerControls]);
71
+ const handleResume = useCallback(() => {
72
+ if (pollerControls) {
73
+ pollerControls.resume();
74
+ setPollerState({
75
+ isPaused: pollerControls.isPaused(),
76
+ isRunning: pollerControls.isRunning(),
77
+ });
78
+ }
79
+ }, [pollerControls]);
80
+ const handlePollNow = useCallback(() => {
81
+ if (pollerControls) {
82
+ pollerControls.triggerNow();
83
+ }
84
+ }, [pollerControls]);
85
+ const handleApplyInterval = useCallback(() => {
86
+ if (pollerControls) {
87
+ pollerControls.setIntervalMs(intervalMs);
88
+ }
89
+ }, [pollerControls, intervalMs]);
90
+ const handleMailboxPause = useCallback((mailbox) => {
91
+ const mailboxInstance = mailbox === "inbox" ? channel.inbox : channel.outbox;
92
+ mailboxInstance.pause();
93
+ setMailboxStates((prev) => ({
94
+ ...prev,
95
+ [mailbox]: { isPaused: mailboxInstance.isPaused() },
96
+ }));
97
+ }, [channel]);
98
+ const handleMailboxResume = useCallback((mailbox) => {
99
+ const mailboxInstance = mailbox === "inbox" ? channel.inbox : channel.outbox;
100
+ mailboxInstance.resume();
101
+ setMailboxStates((prev) => ({
102
+ ...prev,
103
+ [mailbox]: { isPaused: mailboxInstance.isPaused() },
104
+ }));
105
+ }, [channel]);
106
+ const handleMailboxFlush = useCallback((mailbox) => {
107
+ const mailboxInstance = mailbox === "inbox" ? channel.inbox : channel.outbox;
108
+ mailboxInstance.flush();
109
+ onRefresh?.();
110
+ }, [channel, onRefresh]);
111
+ return (_jsxs("div", { className: "flex h-full flex-col gap-3 overflow-auto", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-2 py-1 text-sm text-gray-700 hover:bg-gray-100", onClick: onBack, type: "button", children: [_jsx(Icon, { className: "rotate-90", name: "ChevronDown", size: 14 }), "Back"] }), _jsxs("h2", { className: "text-lg font-semibold text-gray-900", children: ["Channel: ", remoteName] })] }), onRefresh && (_jsxs("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", onClick: onRefresh, type: "button", children: [_jsx(Icon, { name: "Reload", size: 14 }), "Refresh"] }))] }), connectionState && (_jsxs("div", { className: "rounded border border-gray-200 bg-white p-4", children: [_jsx("h3", { className: "mb-3 text-sm font-semibold text-gray-900", children: "Connection State" }), _jsxs("div", { className: "flex flex-wrap items-center gap-4 text-sm text-gray-600", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { children: "State:" }), _jsx(ConnectionStateBadge, { failureCount: connectionState.failureCount, state: connectionState.state })] }), _jsxs("div", { children: ["Last success: ", formatTimestamp(connectionState.lastSuccessUtcMs)] }), _jsxs("div", { children: ["Last failure: ", formatTimestamp(connectionState.lastFailureUtcMs)] }), _jsxs("div", { children: ["Failures: ", connectionState.failureCount] }), _jsxs("div", { children: ["Push:", " ", _jsx("span", { className: connectionState.pushBlocked
112
+ ? "text-red-600"
113
+ : "text-green-600", children: connectionState.pushBlocked ? "Blocked" : "OK" }), connectionState.pushFailureCount > 0 && (_jsxs("span", { className: "ml-1 text-red-600", children: ["(", connectionState.pushFailureCount, " failures)"] }))] })] })] })), pollerControls && (_jsxs("div", { className: "rounded border border-gray-200 bg-white p-4", children: [_jsx("h3", { className: "mb-3 text-sm font-semibold text-gray-900", children: "Poller" }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsxs("div", { className: "text-sm text-gray-600", children: ["Status:", " ", _jsx("span", { className: pollerState.isPaused ? "text-yellow-600" : "text-green-600", children: pollerState.isPaused ? "Paused" : "Running" })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("label", { className: "text-sm text-gray-600", htmlFor: "poll-interval", children: "Interval:" }), _jsx("input", { className: "w-20 rounded border border-gray-300 px-2 py-1 text-sm", id: "poll-interval", min: 100, onChange: (e) => setIntervalMs(Number(e.target.value)), onKeyDown: (e) => {
114
+ if (e.key === "Enter") {
115
+ handleApplyInterval();
116
+ }
117
+ }, type: "number", value: intervalMs }), _jsx("span", { className: "text-sm text-gray-500", children: "ms" }), _jsx("button", { className: "ml-1 rounded border border-gray-300 bg-white px-2 py-1 text-sm text-gray-700 hover:bg-gray-100", onClick: handleApplyInterval, type: "button", children: "Apply" })] })] }), _jsxs("div", { className: "flex gap-2", children: [pollerState.isPaused ? (_jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", onClick: handleResume, type: "button", children: "Resume" })) : (_jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", onClick: handlePause, type: "button", children: "Pause" })), _jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50", disabled: !pollerState.isPaused, onClick: handlePollNow, type: "button", children: "Poll Now" })] })] })] })), _jsxs("div", { className: "rounded border border-gray-200 bg-white p-4", children: [_jsx("h3", { className: "mb-3 text-sm font-semibold text-gray-900", children: "Mailbox Processing" }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-3 text-sm text-gray-600", children: [_jsxs("span", { children: ["Inbox:", " ", _jsx("span", { className: mailboxStates.inbox.isPaused
118
+ ? "text-yellow-600"
119
+ : "text-green-600", children: mailboxStates.inbox.isPaused ? "Paused" : "Active" })] }), _jsxs("span", { className: "font-mono text-sm text-gray-500", children: ["We ack'd (theirs): ", channel.inbox.ackOrdinal, " | Received:", " ", channel.inbox.latestOrdinal] })] }), _jsxs("div", { className: "flex gap-2", children: [mailboxStates.inbox.isPaused ? (_jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", onClick: () => handleMailboxResume("inbox"), type: "button", children: "Resume" })) : (_jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", onClick: () => handleMailboxPause("inbox"), type: "button", children: "Pause" })), _jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50", disabled: !mailboxStates.inbox.isPaused, onClick: () => handleMailboxFlush("inbox"), type: "button", children: "Flush" })] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-3 text-sm text-gray-600", children: [_jsxs("span", { children: ["Outbox:", " ", _jsx("span", { className: mailboxStates.outbox.isPaused
120
+ ? "text-yellow-600"
121
+ : "text-green-600", children: mailboxStates.outbox.isPaused ? "Paused" : "Active" })] }), _jsxs("span", { className: "font-mono text-sm text-gray-500", children: ["They ack'd (ours): ", channel.outbox.ackOrdinal, " | Sent:", " ", channel.outbox.latestOrdinal] })] }), _jsxs("div", { className: "flex gap-2", children: [mailboxStates.outbox.isPaused ? (_jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", onClick: () => handleMailboxResume("outbox"), type: "button", children: "Resume" })) : (_jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100", onClick: () => handleMailboxPause("outbox"), type: "button", children: "Pause" })), _jsx("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50", disabled: !mailboxStates.outbox.isPaused, onClick: () => handleMailboxFlush("outbox"), type: "button", children: "Flush" })] })] })] })] }), _jsxs("div", { className: "flex flex-col gap-6", children: [_jsx(MailboxTable, { collapsed: collapsed.inbox, mailboxType: "inbox", onSort: handleSort, onToggleCollapse: () => handleToggleCollapse("inbox"), operations: channel.inbox.items, sort: sorts.inbox, title: "Inbox" }), _jsx(MailboxTable, { collapsed: collapsed.outbox, mailboxType: "outbox", onSort: handleSort, onToggleCollapse: () => handleToggleCollapse("outbox"), operations: channel.outbox.items, sort: sorts.outbox, title: "Outbox" }), _jsx(MailboxTable, { collapsed: collapsed.deadLetter, mailboxType: "deadLetter", onSort: handleSort, onToggleCollapse: () => handleToggleCollapse("deadLetter"), operations: channel.deadLetter.items, sort: sorts.deadLetter, title: "Dead Letter" })] })] }));
37
122
  }
38
123
  //# sourceMappingURL=channel-inspector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel-inspector.js","sourceRoot":"","sources":["../../../../../../src/connect/components/remotes-inspector/components/channel-inspector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-inspector.js","sourceRoot":"","sources":["../../../../../../src/connect/components/remotes-inspector/components/channel-inspector.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"channel-inspector.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/connect/components/remotes-inspector/components/channel-inspector.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAavC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAgG/C,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KA0BvB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAoC5B,CAAC;AAqCF,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAM5B,CAAC"}
1
+ {"version":3,"file":"channel-inspector.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/connect/components/remotes-inspector/components/channel-inspector.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAavC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA6H/C,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAO1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KA0BvB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAoC5B,CAAC;AAqCF,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAM5B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { fn } from "@storybook/test";
3
- import { SyncOperationStatus, } from "@powerhousedao/reactor";
3
+ import { SyncOperationStatus, } from "@powerhousedao/reactor-browser";
4
4
  import { ChannelInspector } from "./channel-inspector.js";
5
5
  const meta = {
6
6
  title: "Connect/Components/RemotesInspector/ChannelInspector",
@@ -9,15 +9,28 @@ const meta = {
9
9
  layout: "fullscreen",
10
10
  },
11
11
  decorators: [
12
- (Story) => (_jsx("div", { className: "h-[700px] w-full", children: _jsx(Story, {}) })),
12
+ (Story) => (_jsx("div", { className: "h-[90vh] w-full", children: _jsx(Story, {}) })),
13
13
  ],
14
14
  };
15
15
  export default meta;
16
- function createMockMailbox(items) {
16
+ function createMockMailbox(items, ackOrdinal = 0, latestOrdinal = 0) {
17
+ let paused = false;
17
18
  return {
18
19
  get items() {
19
20
  return items;
20
21
  },
22
+ ackOrdinal,
23
+ latestOrdinal,
24
+ pause() {
25
+ paused = true;
26
+ },
27
+ resume() {
28
+ paused = false;
29
+ },
30
+ flush() { },
31
+ isPaused() {
32
+ return paused;
33
+ },
21
34
  };
22
35
  }
23
36
  function createMockSyncOperation(id, documentId, branch, status, opsCount, errorMessage) {
@@ -34,10 +47,10 @@ function createMockSyncOperation(id, documentId, branch, status, opsCount, error
34
47
  : undefined,
35
48
  };
36
49
  }
37
- function createMockChannel(inboxOps, outboxOps, deadLetterOps) {
50
+ function createMockChannel(inboxOps, outboxOps, deadLetterOps, ordinals) {
38
51
  return {
39
- inbox: createMockMailbox(inboxOps),
40
- outbox: createMockMailbox(outboxOps),
52
+ inbox: createMockMailbox(inboxOps, ordinals?.inbox?.ack ?? 0, ordinals?.inbox?.latest ?? 0),
53
+ outbox: createMockMailbox(outboxOps, ordinals?.outbox?.ack ?? 0, ordinals?.outbox?.latest ?? 0),
41
54
  deadLetter: createMockMailbox(deadLetterOps),
42
55
  };
43
56
  }
@@ -50,7 +63,10 @@ const fullChannel = createMockChannel([
50
63
  createMockSyncOperation("outbox-op-102", "doc-uvw-222", "feat", SyncOperationStatus.TransportPending, 1),
51
64
  ], [
52
65
  createMockSyncOperation("dead-op-050", "doc-err-333", "main", SyncOperationStatus.Error, 4, "SIGNATURE_INVALID"),
53
- ]);
66
+ ], {
67
+ inbox: { ack: 42, latest: 45 },
68
+ outbox: { ack: 38, latest: 40 },
69
+ });
54
70
  export const Default = {
55
71
  args: {
56
72
  remoteName: "remote-main",