@stigmer/react 0.4.8 → 0.5.0

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 (631) hide show
  1. package/action-menu/ActionMenu.d.ts +64 -0
  2. package/action-menu/ActionMenu.d.ts.map +1 -0
  3. package/action-menu/ActionMenu.js +78 -0
  4. package/action-menu/ActionMenu.js.map +1 -0
  5. package/action-menu/index.d.ts +3 -0
  6. package/action-menu/index.d.ts.map +1 -0
  7. package/action-menu/index.js +2 -0
  8. package/action-menu/index.js.map +1 -0
  9. package/action-menu/types.d.ts +65 -0
  10. package/action-menu/types.d.ts.map +1 -0
  11. package/action-menu/types.js +2 -0
  12. package/action-menu/types.js.map +1 -0
  13. package/agent/AgentCreationWizard.d.ts +55 -0
  14. package/agent/AgentCreationWizard.d.ts.map +1 -0
  15. package/agent/AgentCreationWizard.js +115 -0
  16. package/agent/AgentCreationWizard.js.map +1 -0
  17. package/agent/AgentDetailView.d.ts +77 -9
  18. package/agent/AgentDetailView.d.ts.map +1 -1
  19. package/agent/AgentDetailView.js +265 -87
  20. package/agent/AgentDetailView.js.map +1 -1
  21. package/agent/index.d.ts +8 -0
  22. package/agent/index.d.ts.map +1 -1
  23. package/agent/index.js +4 -0
  24. package/agent/index.js.map +1 -1
  25. package/agent/internal/agentToInput.d.ts +12 -0
  26. package/agent/internal/agentToInput.d.ts.map +1 -0
  27. package/agent/internal/agentToInput.js +72 -0
  28. package/agent/internal/agentToInput.js.map +1 -0
  29. package/agent/steps/CapabilitiesStep.d.ts +16 -0
  30. package/agent/steps/CapabilitiesStep.d.ts.map +1 -0
  31. package/agent/steps/CapabilitiesStep.js +80 -0
  32. package/agent/steps/CapabilitiesStep.js.map +1 -0
  33. package/agent/steps/IdentityStep.d.ts +18 -0
  34. package/agent/steps/IdentityStep.d.ts.map +1 -0
  35. package/agent/steps/IdentityStep.js +43 -0
  36. package/agent/steps/IdentityStep.js.map +1 -0
  37. package/agent/steps/ReviewStep.d.ts +23 -0
  38. package/agent/steps/ReviewStep.d.ts.map +1 -0
  39. package/agent/steps/ReviewStep.js +73 -0
  40. package/agent/steps/ReviewStep.js.map +1 -0
  41. package/agent/steps/types.d.ts +35 -0
  42. package/agent/steps/types.d.ts.map +1 -0
  43. package/agent/steps/types.js +16 -0
  44. package/agent/steps/types.js.map +1 -0
  45. package/agent/useCreateAgent.d.ts +45 -0
  46. package/agent/useCreateAgent.d.ts.map +1 -0
  47. package/agent/useCreateAgent.js +50 -0
  48. package/agent/useCreateAgent.js.map +1 -0
  49. package/agent/useUpdateAgent.d.ts +24 -0
  50. package/agent/useUpdateAgent.d.ts.map +1 -0
  51. package/agent/useUpdateAgent.js +35 -0
  52. package/agent/useUpdateAgent.js.map +1 -0
  53. package/dependency-graph/DependencyGraph.d.ts +37 -0
  54. package/dependency-graph/DependencyGraph.d.ts.map +1 -0
  55. package/dependency-graph/DependencyGraph.js +88 -0
  56. package/dependency-graph/DependencyGraph.js.map +1 -0
  57. package/dependency-graph/DependencyTreeNode.d.ts +23 -0
  58. package/dependency-graph/DependencyTreeNode.d.ts.map +1 -0
  59. package/dependency-graph/DependencyTreeNode.js +99 -0
  60. package/dependency-graph/DependencyTreeNode.js.map +1 -0
  61. package/dependency-graph/index.d.ts +4 -0
  62. package/dependency-graph/index.d.ts.map +1 -0
  63. package/dependency-graph/index.js +5 -0
  64. package/dependency-graph/index.js.map +1 -0
  65. package/dependency-graph/types.d.ts +130 -0
  66. package/dependency-graph/types.d.ts.map +1 -0
  67. package/dependency-graph/types.js +2 -0
  68. package/dependency-graph/types.js.map +1 -0
  69. package/dependency-graph/useDependencyGraph.d.ts +27 -0
  70. package/dependency-graph/useDependencyGraph.d.ts.map +1 -0
  71. package/dependency-graph/useDependencyGraph.js +129 -0
  72. package/dependency-graph/useDependencyGraph.js.map +1 -0
  73. package/empty-state/EmptyState.d.ts +29 -0
  74. package/empty-state/EmptyState.d.ts.map +1 -0
  75. package/empty-state/EmptyState.js +45 -0
  76. package/empty-state/EmptyState.js.map +1 -0
  77. package/empty-state/index.d.ts +4 -0
  78. package/empty-state/index.d.ts.map +1 -0
  79. package/empty-state/index.js +3 -0
  80. package/empty-state/index.js.map +1 -0
  81. package/empty-state/types.d.ts +73 -0
  82. package/empty-state/types.d.ts.map +1 -0
  83. package/empty-state/types.js +2 -0
  84. package/empty-state/types.js.map +1 -0
  85. package/empty-state/useEmptyState.d.ts +18 -0
  86. package/empty-state/useEmptyState.d.ts.map +1 -0
  87. package/empty-state/useEmptyState.js +72 -0
  88. package/empty-state/useEmptyState.js.map +1 -0
  89. package/feedback/StigmerToaster.d.ts +18 -0
  90. package/feedback/StigmerToaster.d.ts.map +1 -0
  91. package/feedback/StigmerToaster.js +31 -0
  92. package/feedback/StigmerToaster.js.map +1 -0
  93. package/feedback/index.d.ts +4 -0
  94. package/feedback/index.d.ts.map +1 -0
  95. package/feedback/index.js +3 -0
  96. package/feedback/index.js.map +1 -0
  97. package/feedback/toast.d.ts +14 -0
  98. package/feedback/toast.d.ts.map +1 -0
  99. package/feedback/toast.js +14 -0
  100. package/feedback/toast.js.map +1 -0
  101. package/feedback/types.d.ts +4 -0
  102. package/feedback/types.d.ts.map +1 -0
  103. package/feedback/types.js +2 -0
  104. package/feedback/types.js.map +1 -0
  105. package/index.d.ts +30 -10
  106. package/index.d.ts.map +1 -1
  107. package/index.js +29 -9
  108. package/index.js.map +1 -1
  109. package/inline-edit/InlineEditImage.d.ts +20 -0
  110. package/inline-edit/InlineEditImage.d.ts.map +1 -0
  111. package/inline-edit/InlineEditImage.js +85 -0
  112. package/inline-edit/InlineEditImage.js.map +1 -0
  113. package/inline-edit/InlineEditKeyValue.d.ts +29 -0
  114. package/inline-edit/InlineEditKeyValue.d.ts.map +1 -0
  115. package/inline-edit/InlineEditKeyValue.js +67 -0
  116. package/inline-edit/InlineEditKeyValue.js.map +1 -0
  117. package/inline-edit/InlineEditResourceList.d.ts +34 -0
  118. package/inline-edit/InlineEditResourceList.d.ts.map +1 -0
  119. package/inline-edit/InlineEditResourceList.js +99 -0
  120. package/inline-edit/InlineEditResourceList.js.map +1 -0
  121. package/inline-edit/InlineEditSelect.d.ts +18 -0
  122. package/inline-edit/InlineEditSelect.d.ts.map +1 -0
  123. package/inline-edit/InlineEditSelect.js +54 -0
  124. package/inline-edit/InlineEditSelect.js.map +1 -0
  125. package/inline-edit/InlineEditText.d.ts +23 -0
  126. package/inline-edit/InlineEditText.d.ts.map +1 -0
  127. package/inline-edit/InlineEditText.js +79 -0
  128. package/inline-edit/InlineEditText.js.map +1 -0
  129. package/inline-edit/InlineEditTextarea.d.ts +22 -0
  130. package/inline-edit/InlineEditTextarea.d.ts.map +1 -0
  131. package/inline-edit/InlineEditTextarea.js +83 -0
  132. package/inline-edit/InlineEditTextarea.js.map +1 -0
  133. package/inline-edit/index.d.ts +16 -0
  134. package/inline-edit/index.d.ts.map +1 -0
  135. package/inline-edit/index.js +8 -0
  136. package/inline-edit/index.js.map +1 -0
  137. package/inline-edit/types.d.ts +42 -0
  138. package/inline-edit/types.d.ts.map +1 -0
  139. package/inline-edit/types.js +2 -0
  140. package/inline-edit/types.js.map +1 -0
  141. package/inline-edit/useInlineFieldSave.d.ts +23 -0
  142. package/inline-edit/useInlineFieldSave.d.ts.map +1 -0
  143. package/inline-edit/useInlineFieldSave.js +44 -0
  144. package/inline-edit/useInlineFieldSave.js.map +1 -0
  145. package/internal/Tabs.d.ts +4 -38
  146. package/internal/Tabs.d.ts.map +1 -1
  147. package/internal/Tabs.js +3 -62
  148. package/internal/Tabs.js.map +1 -1
  149. package/library/ImportResourceDialog.d.ts +43 -0
  150. package/library/ImportResourceDialog.d.ts.map +1 -0
  151. package/library/ImportResourceDialog.js +90 -0
  152. package/library/ImportResourceDialog.js.map +1 -0
  153. package/library/index.d.ts +7 -4
  154. package/library/index.d.ts.map +1 -1
  155. package/library/index.js +4 -2
  156. package/library/index.js.map +1 -1
  157. package/library/serialize-resource-yaml.d.ts +53 -0
  158. package/library/serialize-resource-yaml.d.ts.map +1 -1
  159. package/library/serialize-resource-yaml.js +275 -0
  160. package/library/serialize-resource-yaml.js.map +1 -1
  161. package/library/useExportResource.d.ts +56 -0
  162. package/library/useExportResource.d.ts.map +1 -0
  163. package/library/useExportResource.js +137 -0
  164. package/library/useExportResource.js.map +1 -0
  165. package/library/useImportResource.d.ts +84 -0
  166. package/library/useImportResource.d.ts.map +1 -0
  167. package/library/useImportResource.js +188 -0
  168. package/library/useImportResource.js.map +1 -0
  169. package/mcp-server/McpServerCreationWizard.d.ts +55 -0
  170. package/mcp-server/McpServerCreationWizard.d.ts.map +1 -0
  171. package/mcp-server/McpServerCreationWizard.js +121 -0
  172. package/mcp-server/McpServerCreationWizard.js.map +1 -0
  173. package/mcp-server/McpServerDetailView.d.ts +21 -1
  174. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  175. package/mcp-server/McpServerDetailView.js +113 -20
  176. package/mcp-server/McpServerDetailView.js.map +1 -1
  177. package/mcp-server/index.d.ts +8 -0
  178. package/mcp-server/index.d.ts.map +1 -1
  179. package/mcp-server/index.js +4 -0
  180. package/mcp-server/index.js.map +1 -1
  181. package/mcp-server/internal/mcpServerToInput.d.ts +12 -0
  182. package/mcp-server/internal/mcpServerToInput.d.ts.map +1 -0
  183. package/mcp-server/internal/mcpServerToInput.js +81 -0
  184. package/mcp-server/internal/mcpServerToInput.js.map +1 -0
  185. package/mcp-server/steps/EnvironmentAuthStep.d.ts +15 -0
  186. package/mcp-server/steps/EnvironmentAuthStep.d.ts.map +1 -0
  187. package/mcp-server/steps/EnvironmentAuthStep.js +55 -0
  188. package/mcp-server/steps/EnvironmentAuthStep.js.map +1 -0
  189. package/mcp-server/steps/IdentityTransportStep.d.ts +19 -0
  190. package/mcp-server/steps/IdentityTransportStep.d.ts.map +1 -0
  191. package/mcp-server/steps/IdentityTransportStep.js +73 -0
  192. package/mcp-server/steps/IdentityTransportStep.js.map +1 -0
  193. package/mcp-server/steps/ReviewStep.d.ts +23 -0
  194. package/mcp-server/steps/ReviewStep.d.ts.map +1 -0
  195. package/mcp-server/steps/ReviewStep.js +137 -0
  196. package/mcp-server/steps/ReviewStep.js.map +1 -0
  197. package/mcp-server/steps/types.d.ts +56 -0
  198. package/mcp-server/steps/types.d.ts.map +1 -0
  199. package/mcp-server/steps/types.js +27 -0
  200. package/mcp-server/steps/types.js.map +1 -0
  201. package/mcp-server/useCreateMcpServer.d.ts +45 -0
  202. package/mcp-server/useCreateMcpServer.d.ts.map +1 -0
  203. package/mcp-server/useCreateMcpServer.js +50 -0
  204. package/mcp-server/useCreateMcpServer.js.map +1 -0
  205. package/mcp-server/useUpdateMcpServer.d.ts +24 -0
  206. package/mcp-server/useUpdateMcpServer.d.ts.map +1 -0
  207. package/mcp-server/useUpdateMcpServer.js +35 -0
  208. package/mcp-server/useUpdateMcpServer.js.map +1 -0
  209. package/package.json +8 -4
  210. package/resource-creation/CreationPicker.d.ts +60 -0
  211. package/resource-creation/CreationPicker.d.ts.map +1 -0
  212. package/resource-creation/CreationPicker.js +74 -0
  213. package/resource-creation/CreationPicker.js.map +1 -0
  214. package/resource-creation/StepIndicator.d.ts +28 -0
  215. package/resource-creation/StepIndicator.d.ts.map +1 -0
  216. package/resource-creation/StepIndicator.js +40 -0
  217. package/resource-creation/StepIndicator.js.map +1 -0
  218. package/resource-creation/TemplateCard.d.ts +24 -0
  219. package/resource-creation/TemplateCard.d.ts.map +1 -0
  220. package/resource-creation/TemplateCard.js +68 -0
  221. package/resource-creation/TemplateCard.js.map +1 -0
  222. package/resource-creation/TemplateGallery.d.ts +43 -0
  223. package/resource-creation/TemplateGallery.d.ts.map +1 -0
  224. package/resource-creation/TemplateGallery.js +78 -0
  225. package/resource-creation/TemplateGallery.js.map +1 -0
  226. package/resource-creation/WizardNav.d.ts +31 -0
  227. package/resource-creation/WizardNav.d.ts.map +1 -0
  228. package/resource-creation/WizardNav.js +29 -0
  229. package/resource-creation/WizardNav.js.map +1 -0
  230. package/resource-creation/WizardShell.d.ts +41 -0
  231. package/resource-creation/WizardShell.d.ts.map +1 -0
  232. package/resource-creation/WizardShell.js +55 -0
  233. package/resource-creation/WizardShell.js.map +1 -0
  234. package/resource-creation/index.d.ts +21 -0
  235. package/resource-creation/index.d.ts.map +1 -0
  236. package/resource-creation/index.js +14 -0
  237. package/resource-creation/index.js.map +1 -0
  238. package/resource-creation/templates/agent-templates.d.ts +15 -0
  239. package/resource-creation/templates/agent-templates.d.ts.map +1 -0
  240. package/resource-creation/templates/agent-templates.js +148 -0
  241. package/resource-creation/templates/agent-templates.js.map +1 -0
  242. package/resource-creation/templates/index.d.ts +5 -0
  243. package/resource-creation/templates/index.d.ts.map +1 -0
  244. package/resource-creation/templates/index.js +5 -0
  245. package/resource-creation/templates/index.js.map +1 -0
  246. package/resource-creation/templates/mcp-server-templates.d.ts +15 -0
  247. package/resource-creation/templates/mcp-server-templates.d.ts.map +1 -0
  248. package/resource-creation/templates/mcp-server-templates.js +92 -0
  249. package/resource-creation/templates/mcp-server-templates.js.map +1 -0
  250. package/resource-creation/templates/types.d.ts +48 -0
  251. package/resource-creation/templates/types.d.ts.map +1 -0
  252. package/resource-creation/templates/types.js +16 -0
  253. package/resource-creation/templates/types.js.map +1 -0
  254. package/resource-creation/types.d.ts +88 -0
  255. package/resource-creation/types.d.ts.map +1 -0
  256. package/resource-creation/types.js +2 -0
  257. package/resource-creation/types.js.map +1 -0
  258. package/resource-creation/useTemplateFilter.d.ts +43 -0
  259. package/resource-creation/useTemplateFilter.d.ts.map +1 -0
  260. package/resource-creation/useTemplateFilter.js +73 -0
  261. package/resource-creation/useTemplateFilter.js.map +1 -0
  262. package/resource-creation/useWizardState.d.ts +67 -0
  263. package/resource-creation/useWizardState.d.ts.map +1 -0
  264. package/resource-creation/useWizardState.js +143 -0
  265. package/resource-creation/useWizardState.js.map +1 -0
  266. package/resource-detail/ConfirmDialog.d.ts +44 -0
  267. package/resource-detail/ConfirmDialog.d.ts.map +1 -0
  268. package/resource-detail/ConfirmDialog.js +62 -0
  269. package/resource-detail/ConfirmDialog.js.map +1 -0
  270. package/resource-detail/ResourceActionBar.d.ts +42 -0
  271. package/resource-detail/ResourceActionBar.d.ts.map +1 -0
  272. package/resource-detail/ResourceActionBar.js +64 -0
  273. package/resource-detail/ResourceActionBar.js.map +1 -0
  274. package/resource-detail/ResourceDetailShell.d.ts +36 -0
  275. package/resource-detail/ResourceDetailShell.d.ts.map +1 -0
  276. package/resource-detail/ResourceDetailShell.js +65 -0
  277. package/resource-detail/ResourceDetailShell.js.map +1 -0
  278. package/resource-detail/Section.d.ts +18 -0
  279. package/resource-detail/Section.d.ts.map +1 -0
  280. package/resource-detail/Section.js +18 -0
  281. package/resource-detail/Section.js.map +1 -0
  282. package/resource-detail/index.d.ts +15 -0
  283. package/resource-detail/index.d.ts.map +1 -0
  284. package/resource-detail/index.js +10 -0
  285. package/resource-detail/index.js.map +1 -0
  286. package/resource-detail/types.d.ts +146 -0
  287. package/resource-detail/types.d.ts.map +1 -0
  288. package/resource-detail/types.js +2 -0
  289. package/resource-detail/types.js.map +1 -0
  290. package/resource-detail/useConfirmAction.d.ts +41 -0
  291. package/resource-detail/useConfirmAction.d.ts.map +1 -0
  292. package/resource-detail/useConfirmAction.js +30 -0
  293. package/resource-detail/useConfirmAction.js.map +1 -0
  294. package/resource-detail/useCopyResource.d.ts +28 -0
  295. package/resource-detail/useCopyResource.d.ts.map +1 -0
  296. package/resource-detail/useCopyResource.js +46 -0
  297. package/resource-detail/useCopyResource.js.map +1 -0
  298. package/resource-detail/useDeleteResource.d.ts +40 -0
  299. package/resource-detail/useDeleteResource.d.ts.map +1 -0
  300. package/resource-detail/useDeleteResource.js +83 -0
  301. package/resource-detail/useDeleteResource.js.map +1 -0
  302. package/resource-detail/useDetailTabs.d.ts +46 -0
  303. package/resource-detail/useDetailTabs.d.ts.map +1 -0
  304. package/resource-detail/useDetailTabs.js +47 -0
  305. package/resource-detail/useDetailTabs.js.map +1 -0
  306. package/resource-workbench/components/BulkActionBar.d.ts +36 -0
  307. package/resource-workbench/components/BulkActionBar.d.ts.map +1 -0
  308. package/resource-workbench/components/BulkActionBar.js +35 -0
  309. package/resource-workbench/components/BulkActionBar.js.map +1 -0
  310. package/resource-workbench/components/ColumnHeader.d.ts +23 -0
  311. package/resource-workbench/components/ColumnHeader.d.ts.map +1 -0
  312. package/resource-workbench/components/ColumnHeader.js +25 -0
  313. package/resource-workbench/components/ColumnHeader.js.map +1 -0
  314. package/resource-workbench/components/FilterBar.d.ts +33 -0
  315. package/resource-workbench/components/FilterBar.d.ts.map +1 -0
  316. package/resource-workbench/components/FilterBar.js +72 -0
  317. package/resource-workbench/components/FilterBar.js.map +1 -0
  318. package/resource-workbench/components/ResourceAvatar.d.ts +29 -0
  319. package/resource-workbench/components/ResourceAvatar.d.ts.map +1 -0
  320. package/resource-workbench/components/ResourceAvatar.js +51 -0
  321. package/resource-workbench/components/ResourceAvatar.js.map +1 -0
  322. package/resource-workbench/components/ResourceCards.d.ts +39 -0
  323. package/resource-workbench/components/ResourceCards.d.ts.map +1 -0
  324. package/resource-workbench/components/ResourceCards.js +41 -0
  325. package/resource-workbench/components/ResourceCards.js.map +1 -0
  326. package/resource-workbench/components/ResourceInspector.d.ts +26 -0
  327. package/resource-workbench/components/ResourceInspector.d.ts.map +1 -0
  328. package/resource-workbench/components/ResourceInspector.js +22 -0
  329. package/resource-workbench/components/ResourceInspector.js.map +1 -0
  330. package/resource-workbench/components/ResourceList.d.ts +39 -0
  331. package/resource-workbench/components/ResourceList.d.ts.map +1 -0
  332. package/resource-workbench/components/ResourceList.js +41 -0
  333. package/resource-workbench/components/ResourceList.js.map +1 -0
  334. package/resource-workbench/components/ResourceTable.d.ts +47 -0
  335. package/resource-workbench/components/ResourceTable.d.ts.map +1 -0
  336. package/resource-workbench/components/ResourceTable.js +78 -0
  337. package/resource-workbench/components/ResourceTable.js.map +1 -0
  338. package/resource-workbench/components/ResourceWorkbench.d.ts +131 -0
  339. package/resource-workbench/components/ResourceWorkbench.d.ts.map +1 -0
  340. package/resource-workbench/components/ResourceWorkbench.js +170 -0
  341. package/resource-workbench/components/ResourceWorkbench.js.map +1 -0
  342. package/resource-workbench/components/SelectionCheckbox.d.ts +24 -0
  343. package/resource-workbench/components/SelectionCheckbox.d.ts.map +1 -0
  344. package/resource-workbench/components/SelectionCheckbox.js +16 -0
  345. package/resource-workbench/components/SelectionCheckbox.js.map +1 -0
  346. package/resource-workbench/components/StatusBadge.d.ts +31 -0
  347. package/resource-workbench/components/StatusBadge.d.ts.map +1 -0
  348. package/resource-workbench/components/StatusBadge.js +75 -0
  349. package/resource-workbench/components/StatusBadge.js.map +1 -0
  350. package/resource-workbench/components/ViewSwitcher.d.ts +21 -0
  351. package/resource-workbench/components/ViewSwitcher.d.ts.map +1 -0
  352. package/resource-workbench/components/ViewSwitcher.js +37 -0
  353. package/resource-workbench/components/ViewSwitcher.js.map +1 -0
  354. package/resource-workbench/hooks/useResourceCollection.d.ts +93 -0
  355. package/resource-workbench/hooks/useResourceCollection.d.ts.map +1 -0
  356. package/resource-workbench/hooks/useResourceCollection.js +133 -0
  357. package/resource-workbench/hooks/useResourceCollection.js.map +1 -0
  358. package/resource-workbench/hooks/useResourceFilters.d.ts +73 -0
  359. package/resource-workbench/hooks/useResourceFilters.d.ts.map +1 -0
  360. package/resource-workbench/hooks/useResourceFilters.js +105 -0
  361. package/resource-workbench/hooks/useResourceFilters.js.map +1 -0
  362. package/resource-workbench/hooks/useResourceSelection.d.ts +44 -0
  363. package/resource-workbench/hooks/useResourceSelection.d.ts.map +1 -0
  364. package/resource-workbench/hooks/useResourceSelection.js +123 -0
  365. package/resource-workbench/hooks/useResourceSelection.js.map +1 -0
  366. package/resource-workbench/hooks/useViewPreference.d.ts +32 -0
  367. package/resource-workbench/hooks/useViewPreference.d.ts.map +1 -0
  368. package/resource-workbench/hooks/useViewPreference.js +60 -0
  369. package/resource-workbench/hooks/useViewPreference.js.map +1 -0
  370. package/resource-workbench/index.d.ts +34 -0
  371. package/resource-workbench/index.d.ts.map +1 -0
  372. package/resource-workbench/index.js +19 -0
  373. package/resource-workbench/index.js.map +1 -0
  374. package/resource-workbench/types.d.ts +165 -0
  375. package/resource-workbench/types.d.ts.map +1 -0
  376. package/resource-workbench/types.js +2 -0
  377. package/resource-workbench/types.js.map +1 -0
  378. package/runner/RunnerDetailView.d.ts +44 -0
  379. package/runner/RunnerDetailView.d.ts.map +1 -0
  380. package/runner/RunnerDetailView.js +154 -0
  381. package/runner/RunnerDetailView.js.map +1 -0
  382. package/runner/RunnerListPanel.d.ts +26 -1
  383. package/runner/RunnerListPanel.d.ts.map +1 -1
  384. package/runner/RunnerListPanel.js +68 -46
  385. package/runner/RunnerListPanel.js.map +1 -1
  386. package/runner/index.d.ts +7 -1
  387. package/runner/index.d.ts.map +1 -1
  388. package/runner/index.js +3 -0
  389. package/runner/index.js.map +1 -1
  390. package/runner/shared.d.ts +31 -0
  391. package/runner/shared.d.ts.map +1 -0
  392. package/runner/shared.js +55 -0
  393. package/runner/shared.js.map +1 -0
  394. package/runner/useRunner.d.ts +37 -0
  395. package/runner/useRunner.d.ts.map +1 -0
  396. package/runner/useRunner.js +24 -0
  397. package/runner/useRunner.js.map +1 -0
  398. package/session/__tests__/group-sessions.test.js +3 -3
  399. package/session/__tests__/group-sessions.test.js.map +1 -1
  400. package/skill/SkillDetailView.d.ts +70 -7
  401. package/skill/SkillDetailView.d.ts.map +1 -1
  402. package/skill/SkillDetailView.js +107 -39
  403. package/skill/SkillDetailView.js.map +1 -1
  404. package/skill/SkillDiffDialog.d.ts +42 -0
  405. package/skill/SkillDiffDialog.d.ts.map +1 -0
  406. package/skill/SkillDiffDialog.js +72 -0
  407. package/skill/SkillDiffDialog.js.map +1 -0
  408. package/skill/SkillFileBrowser.d.ts +31 -0
  409. package/skill/SkillFileBrowser.d.ts.map +1 -0
  410. package/skill/SkillFileBrowser.js +105 -0
  411. package/skill/SkillFileBrowser.js.map +1 -0
  412. package/skill/SkillUploader.d.ts +39 -0
  413. package/skill/SkillUploader.d.ts.map +1 -0
  414. package/skill/SkillUploader.js +141 -0
  415. package/skill/SkillUploader.js.map +1 -0
  416. package/skill/index.d.ts +18 -0
  417. package/skill/index.d.ts.map +1 -1
  418. package/skill/index.js +9 -0
  419. package/skill/index.js.map +1 -1
  420. package/skill/internal/computeArtifactHash.d.ts +9 -0
  421. package/skill/internal/computeArtifactHash.d.ts.map +1 -0
  422. package/skill/internal/computeArtifactHash.js +14 -0
  423. package/skill/internal/computeArtifactHash.js.map +1 -0
  424. package/skill/internal/fetchAndUnpackArtifact.d.ts +16 -0
  425. package/skill/internal/fetchAndUnpackArtifact.d.ts.map +1 -0
  426. package/skill/internal/fetchAndUnpackArtifact.js +34 -0
  427. package/skill/internal/fetchAndUnpackArtifact.js.map +1 -0
  428. package/skill/usePushSkill.d.ts +53 -0
  429. package/skill/usePushSkill.d.ts.map +1 -0
  430. package/skill/usePushSkill.js +57 -0
  431. package/skill/usePushSkill.js.map +1 -0
  432. package/skill/useSkillArtifact.d.ts +37 -0
  433. package/skill/useSkillArtifact.d.ts.map +1 -0
  434. package/skill/useSkillArtifact.js +76 -0
  435. package/skill/useSkillArtifact.js.map +1 -0
  436. package/skill/useSkillDiff.d.ts +31 -0
  437. package/skill/useSkillDiff.d.ts.map +1 -0
  438. package/skill/useSkillDiff.js +97 -0
  439. package/skill/useSkillDiff.js.map +1 -0
  440. package/skill/useSkillDuplicateCheck.d.ts +34 -0
  441. package/skill/useSkillDuplicateCheck.d.ts.map +1 -0
  442. package/skill/useSkillDuplicateCheck.js +58 -0
  443. package/skill/useSkillDuplicateCheck.js.map +1 -0
  444. package/skill/useSkillUpload.d.ts +69 -0
  445. package/skill/useSkillUpload.d.ts.map +1 -0
  446. package/skill/useSkillUpload.js +157 -0
  447. package/skill/useSkillUpload.js.map +1 -0
  448. package/skill/useSkillVersions.d.ts +46 -0
  449. package/skill/useSkillVersions.d.ts.map +1 -0
  450. package/skill/useSkillVersions.js +104 -0
  451. package/skill/useSkillVersions.js.map +1 -0
  452. package/src/action-menu/ActionMenu.tsx +151 -0
  453. package/src/action-menu/index.ts +9 -0
  454. package/src/action-menu/types.ts +70 -0
  455. package/src/agent/AgentCreationWizard.tsx +201 -0
  456. package/src/agent/AgentDetailView.tsx +817 -321
  457. package/src/agent/index.ts +16 -0
  458. package/src/agent/internal/agentToInput.ts +95 -0
  459. package/src/agent/steps/CapabilitiesStep.tsx +363 -0
  460. package/src/agent/steps/IdentityStep.tsx +259 -0
  461. package/src/agent/steps/ReviewStep.tsx +211 -0
  462. package/src/agent/steps/types.ts +53 -0
  463. package/src/agent/useCreateAgent.ts +76 -0
  464. package/src/agent/useUpdateAgent.ts +55 -0
  465. package/src/dependency-graph/DependencyGraph.tsx +153 -0
  466. package/src/dependency-graph/DependencyTreeNode.tsx +282 -0
  467. package/src/dependency-graph/index.ts +15 -0
  468. package/src/dependency-graph/types.ts +131 -0
  469. package/src/dependency-graph/useDependencyGraph.ts +158 -0
  470. package/src/empty-state/EmptyState.tsx +90 -0
  471. package/src/empty-state/index.ts +9 -0
  472. package/src/empty-state/types.ts +81 -0
  473. package/src/empty-state/useEmptyState.ts +85 -0
  474. package/src/feedback/StigmerToaster.tsx +45 -0
  475. package/src/feedback/index.ts +3 -0
  476. package/src/feedback/toast.ts +13 -0
  477. package/src/feedback/types.ts +7 -0
  478. package/src/index.ts +270 -8
  479. package/src/inline-edit/InlineEditImage.tsx +208 -0
  480. package/src/inline-edit/InlineEditKeyValue.tsx +278 -0
  481. package/src/inline-edit/InlineEditResourceList.tsx +325 -0
  482. package/src/inline-edit/InlineEditSelect.tsx +150 -0
  483. package/src/inline-edit/InlineEditText.tsx +211 -0
  484. package/src/inline-edit/InlineEditTextarea.tsx +209 -0
  485. package/src/inline-edit/index.ts +28 -0
  486. package/src/inline-edit/types.ts +47 -0
  487. package/src/inline-edit/useInlineFieldSave.ts +62 -0
  488. package/src/internal/Tabs.tsx +4 -164
  489. package/src/library/ImportResourceDialog.tsx +227 -0
  490. package/src/library/index.ts +18 -8
  491. package/src/library/serialize-resource-yaml.ts +356 -0
  492. package/src/library/useExportResource.ts +183 -0
  493. package/src/library/useImportResource.ts +253 -0
  494. package/src/mcp-server/McpServerCreationWizard.tsx +206 -0
  495. package/src/mcp-server/McpServerDetailView.tsx +392 -105
  496. package/src/mcp-server/index.ts +16 -0
  497. package/src/mcp-server/internal/mcpServerToInput.ts +95 -0
  498. package/src/mcp-server/steps/EnvironmentAuthStep.tsx +462 -0
  499. package/src/mcp-server/steps/IdentityTransportStep.tsx +531 -0
  500. package/src/mcp-server/steps/ReviewStep.tsx +297 -0
  501. package/src/mcp-server/steps/types.ts +85 -0
  502. package/src/mcp-server/useCreateMcpServer.ts +76 -0
  503. package/src/mcp-server/useUpdateMcpServer.ts +55 -0
  504. package/src/resource-creation/CreationPicker.tsx +292 -0
  505. package/src/resource-creation/StepIndicator.tsx +156 -0
  506. package/src/resource-creation/TemplateCard.tsx +143 -0
  507. package/src/resource-creation/TemplateGallery.tsx +222 -0
  508. package/src/resource-creation/WizardNav.tsx +163 -0
  509. package/src/resource-creation/WizardShell.tsx +124 -0
  510. package/src/resource-creation/index.ts +45 -0
  511. package/src/resource-creation/templates/agent-templates.ts +160 -0
  512. package/src/resource-creation/templates/index.ts +7 -0
  513. package/src/resource-creation/templates/mcp-server-templates.ts +106 -0
  514. package/src/resource-creation/templates/types.ts +64 -0
  515. package/src/resource-creation/types.ts +105 -0
  516. package/src/resource-creation/useTemplateFilter.ts +117 -0
  517. package/src/resource-creation/useWizardState.ts +223 -0
  518. package/src/resource-detail/ConfirmDialog.tsx +127 -0
  519. package/src/resource-detail/ResourceActionBar.tsx +157 -0
  520. package/src/resource-detail/ResourceDetailShell.tsx +184 -0
  521. package/src/resource-detail/Section.tsx +78 -0
  522. package/src/resource-detail/index.ts +34 -0
  523. package/src/resource-detail/types.ts +177 -0
  524. package/src/resource-detail/useConfirmAction.ts +70 -0
  525. package/src/resource-detail/useCopyResource.ts +74 -0
  526. package/src/resource-detail/useDeleteResource.ts +110 -0
  527. package/src/resource-detail/useDetailTabs.ts +93 -0
  528. package/src/resource-workbench/components/BulkActionBar.tsx +122 -0
  529. package/src/resource-workbench/components/ColumnHeader.tsx +105 -0
  530. package/src/resource-workbench/components/FilterBar.tsx +173 -0
  531. package/src/resource-workbench/components/ResourceAvatar.tsx +109 -0
  532. package/src/resource-workbench/components/ResourceCards.tsx +126 -0
  533. package/src/resource-workbench/components/ResourceInspector.tsx +88 -0
  534. package/src/resource-workbench/components/ResourceList.tsx +121 -0
  535. package/src/resource-workbench/components/ResourceTable.tsx +222 -0
  536. package/src/resource-workbench/components/ResourceWorkbench.tsx +695 -0
  537. package/src/resource-workbench/components/SelectionCheckbox.tsx +52 -0
  538. package/src/resource-workbench/components/StatusBadge.tsx +119 -0
  539. package/src/resource-workbench/components/ViewSwitcher.tsx +135 -0
  540. package/src/resource-workbench/hooks/useResourceCollection.ts +261 -0
  541. package/src/resource-workbench/hooks/useResourceFilters.ts +216 -0
  542. package/src/resource-workbench/hooks/useResourceSelection.ts +178 -0
  543. package/src/resource-workbench/hooks/useViewPreference.ts +75 -0
  544. package/src/resource-workbench/index.ts +73 -0
  545. package/src/resource-workbench/types.ts +220 -0
  546. package/src/runner/RunnerDetailView.tsx +410 -0
  547. package/src/runner/RunnerListPanel.tsx +126 -111
  548. package/src/runner/index.ts +13 -1
  549. package/src/runner/shared.tsx +124 -0
  550. package/src/runner/useRunner.ts +59 -0
  551. package/src/session/__tests__/group-sessions.test.ts +5 -3
  552. package/src/skill/SkillDetailView.tsx +371 -165
  553. package/src/skill/SkillDiffDialog.tsx +213 -0
  554. package/src/skill/SkillFileBrowser.tsx +289 -0
  555. package/src/skill/SkillUploader.tsx +481 -0
  556. package/src/skill/index.ts +34 -0
  557. package/src/skill/internal/computeArtifactHash.ts +13 -0
  558. package/src/skill/internal/fetchAndUnpackArtifact.ts +48 -0
  559. package/src/skill/usePushSkill.ts +101 -0
  560. package/src/skill/useSkillArtifact.ts +107 -0
  561. package/src/skill/useSkillDiff.ts +128 -0
  562. package/src/skill/useSkillDuplicateCheck.ts +92 -0
  563. package/src/skill/useSkillUpload.ts +231 -0
  564. package/src/skill/useSkillVersions.ts +165 -0
  565. package/src/styles.css +28 -0
  566. package/src/tabs/Tabs.tsx +184 -0
  567. package/src/tabs/index.ts +2 -0
  568. package/src/version-history/DiffFileList.tsx +111 -0
  569. package/src/version-history/DiffSummary.tsx +61 -0
  570. package/src/version-history/DiffViewer.tsx +163 -0
  571. package/src/version-history/MultiFileDiffView.tsx +114 -0
  572. package/src/version-history/VersionTimeline.tsx +232 -0
  573. package/src/version-history/VersionTimelineEntry.tsx +254 -0
  574. package/src/version-history/computeDiff.ts +61 -0
  575. package/src/version-history/computeMultiFileDiff.ts +97 -0
  576. package/src/version-history/index.ts +22 -0
  577. package/src/version-history/types.ts +129 -0
  578. package/styles.css +1 -1
  579. package/tabs/Tabs.d.ts +58 -0
  580. package/tabs/Tabs.d.ts.map +1 -0
  581. package/tabs/Tabs.js +80 -0
  582. package/tabs/Tabs.js.map +1 -0
  583. package/tabs/index.d.ts +3 -0
  584. package/tabs/index.d.ts.map +1 -0
  585. package/tabs/index.js +2 -0
  586. package/tabs/index.js.map +1 -0
  587. package/version-history/DiffFileList.d.ts +22 -0
  588. package/version-history/DiffFileList.d.ts.map +1 -0
  589. package/version-history/DiffFileList.js +37 -0
  590. package/version-history/DiffFileList.js.map +1 -0
  591. package/version-history/DiffSummary.d.ts +21 -0
  592. package/version-history/DiffSummary.d.ts.map +1 -0
  593. package/version-history/DiffSummary.js +16 -0
  594. package/version-history/DiffSummary.js.map +1 -0
  595. package/version-history/DiffViewer.d.ts +31 -0
  596. package/version-history/DiffViewer.d.ts.map +1 -0
  597. package/version-history/DiffViewer.js +60 -0
  598. package/version-history/DiffViewer.js.map +1 -0
  599. package/version-history/MultiFileDiffView.d.ts +30 -0
  600. package/version-history/MultiFileDiffView.d.ts.map +1 -0
  601. package/version-history/MultiFileDiffView.js +40 -0
  602. package/version-history/MultiFileDiffView.js.map +1 -0
  603. package/version-history/VersionTimeline.d.ts +29 -0
  604. package/version-history/VersionTimeline.d.ts.map +1 -0
  605. package/version-history/VersionTimeline.js +87 -0
  606. package/version-history/VersionTimeline.js.map +1 -0
  607. package/version-history/VersionTimelineEntry.d.ts +22 -0
  608. package/version-history/VersionTimelineEntry.d.ts.map +1 -0
  609. package/version-history/VersionTimelineEntry.js +98 -0
  610. package/version-history/VersionTimelineEntry.js.map +1 -0
  611. package/version-history/computeDiff.d.ts +16 -0
  612. package/version-history/computeDiff.d.ts.map +1 -0
  613. package/version-history/computeDiff.js +54 -0
  614. package/version-history/computeDiff.js.map +1 -0
  615. package/version-history/computeMultiFileDiff.d.ts +15 -0
  616. package/version-history/computeMultiFileDiff.d.ts.map +1 -0
  617. package/version-history/computeMultiFileDiff.js +83 -0
  618. package/version-history/computeMultiFileDiff.js.map +1 -0
  619. package/version-history/index.d.ts +14 -0
  620. package/version-history/index.d.ts.map +1 -0
  621. package/version-history/index.js +9 -0
  622. package/version-history/index.js.map +1 -0
  623. package/version-history/types.d.ts +106 -0
  624. package/version-history/types.d.ts.map +1 -0
  625. package/version-history/types.js +2 -0
  626. package/version-history/types.js.map +1 -0
  627. package/library/ResourceListView.d.ts +0 -174
  628. package/library/ResourceListView.d.ts.map +0 -1
  629. package/library/ResourceListView.js +0 -318
  630. package/library/ResourceListView.js.map +0 -1
  631. package/src/library/ResourceListView.tsx +0 -956
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceCards.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceCards.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,uCAAuC;AACvC,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC/D,uDAAuD;IACvD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,gCAAgC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,wDAAwD;IACxD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC;IACvD,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,EACnC,KAAK,EACL,UAAU,EACV,eAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,SAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,YAAY,EAAE,SAA4B,EAC1C,SAAS,GACV,EAAE,kBAAkB,CAAC,KAAK,CAAC,2CAgE3B"}
@@ -0,0 +1,41 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "@stigmer/theme";
4
+ import { SelectionCheckbox } from "./SelectionCheckbox";
5
+ /**
6
+ * Card grid view for the resource workbench.
7
+ *
8
+ * Renders items as a responsive grid of cards. Each card supports an
9
+ * optional selection checkbox, an action slot, and click handling.
10
+ * Card content is fully customizable via the `renderCard` prop.
11
+ *
12
+ * This component renders **only the card grid**. Search, filters, and
13
+ * pagination are handled by the parent `ResourceWorkbench`.
14
+ */
15
+ export function ResourceCards({ items, renderCard, enableSelection = false, selectedIds, onToggleSelection, getItemId = defaultGetId, renderCardAction, onCardClick, "aria-label": ariaLabel = "Resource cards", className, }) {
16
+ return (_jsx("div", { role: "list", "aria-label": ariaLabel, className: cn("grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3", className), children: items.map((item, index) => {
17
+ const id = getItemId(item);
18
+ const isSelected = selectedIds?.has(id) ?? false;
19
+ const isClickable = !!onCardClick;
20
+ return (_jsxs("div", { role: "listitem", "aria-selected": enableSelection ? isSelected : undefined, onClick: isClickable
21
+ ? (e) => {
22
+ const target = e.target;
23
+ if (target.closest("button") ||
24
+ target.closest("input") ||
25
+ target.closest("[role='menu']")) {
26
+ return;
27
+ }
28
+ onCardClick(item);
29
+ }
30
+ : undefined, className: cn("relative flex rounded-lg border border-border bg-card p-4 transition-colors", isSelected && "border-primary/40 bg-primary-subtle", isClickable && "cursor-pointer hover:border-primary/40 hover:bg-accent-hover", isClickable && "focus-within:ring-2 focus-within:ring-ring"), children: [enableSelection && onToggleSelection && (_jsx("div", { className: "absolute left-2 top-2", children: _jsx(SelectionCheckbox, { checked: isSelected, onChange: () => onToggleSelection(id), "aria-label": `Select item ${id}` }) })), _jsx("div", { className: cn("min-w-0 flex-1", enableSelection && "pl-5"), children: renderCard(item, index) }), renderCardAction && (_jsx("div", { className: "ml-2 shrink-0", onClick: (e) => e.stopPropagation(), children: renderCardAction(item) }))] }, id || `card-${index}`));
31
+ }) }));
32
+ }
33
+ function defaultGetId(item) {
34
+ const r = item;
35
+ if (typeof r.id === "string")
36
+ return r.id;
37
+ if (typeof r.slug === "string")
38
+ return r.slug;
39
+ return "";
40
+ }
41
+ //# sourceMappingURL=ResourceCards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceCards.js","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceCards.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA6BxD;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAQ,EACnC,KAAK,EACL,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,WAAW,EACX,iBAAiB,EACjB,SAAS,GAAG,YAAY,EACxB,gBAAgB,EAChB,WAAW,EACX,YAAY,EAAE,SAAS,GAAG,gBAAgB,EAC1C,SAAS,GACiB;IAC1B,OAAO,CACL,cACE,IAAI,EAAC,MAAM,gBACC,SAAS,EACrB,SAAS,EAAE,EAAE,CACX,sDAAsD,EACtD,SAAS,CACV,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;YACjD,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;YAElC,OAAO,CACL,eAEE,IAAI,EAAC,UAAU,mBACA,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACvD,OAAO,EACL,WAAW;oBACT,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBACJ,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;wBACvC,IACE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;4BACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;4BACvB,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAC/B,CAAC;4BACD,OAAO;wBACT,CAAC;wBACD,WAAY,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC;oBACH,CAAC,CAAC,SAAS,EAEf,SAAS,EAAE,EAAE,CACX,6EAA6E,EAC7E,UAAU,IAAI,qCAAqC,EACnD,WAAW,IAAI,8DAA8D,EAC7E,WAAW,IAAI,4CAA4C,CAC5D,aAEA,eAAe,IAAI,iBAAiB,IAAI,CACvC,cAAK,SAAS,EAAC,uBAAuB,YACpC,KAAC,iBAAiB,IAChB,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,gBACzB,eAAe,EAAE,EAAE,GAC/B,GACE,CACP,EACD,cAAK,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,eAAe,IAAI,MAAM,CAAC,YAC5D,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,GACpB,EACL,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAC/D,gBAAgB,CAAC,IAAI,CAAC,GACnB,CACP,KAzCI,EAAE,IAAI,QAAQ,KAAK,EAAE,CA0CtB,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAQ,IAAW;IACtC,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC9C,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { ReactNode } from "react";
2
+ /** Props for {@link ResourceInspector}. */
3
+ export interface ResourceInspectorProps {
4
+ /** Whether the inspector panel is currently visible. */
5
+ readonly open: boolean;
6
+ /** Called when the user closes the inspector (e.g. via the close button). */
7
+ readonly onClose: () => void;
8
+ /** The content to render inside the inspector panel. */
9
+ readonly children: ReactNode;
10
+ /** Accessible label for the panel. @default "Resource inspector" */
11
+ readonly "aria-label"?: string;
12
+ /** Additional CSS classes for the panel. */
13
+ readonly className?: string;
14
+ }
15
+ /**
16
+ * Split-panel inspector that appears to the right of the workbench
17
+ * content area, providing a preview of the focused resource without
18
+ * navigating away from the list.
19
+ *
20
+ * The inspector is a purely presentational shell — what renders inside
21
+ * it is determined by the consumer via the `children` prop. The parent
22
+ * `ResourceWorkbench` manages open/close state and passes the focused
23
+ * item's detail view.
24
+ */
25
+ export declare function ResourceInspector({ open, onClose, children, "aria-label": ariaLabel, className, }: ResourceInspectorProps): import("react/jsx-runtime").JSX.Element | null;
26
+ //# sourceMappingURL=ResourceInspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceInspector.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceInspector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,SAAgC,EAC9C,SAAS,GACV,EAAE,sBAAsB,kDAmCxB"}
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "@stigmer/theme";
4
+ /**
5
+ * Split-panel inspector that appears to the right of the workbench
6
+ * content area, providing a preview of the focused resource without
7
+ * navigating away from the list.
8
+ *
9
+ * The inspector is a purely presentational shell — what renders inside
10
+ * it is determined by the consumer via the `children` prop. The parent
11
+ * `ResourceWorkbench` manages open/close state and passes the focused
12
+ * item's detail view.
13
+ */
14
+ export function ResourceInspector({ open, onClose, children, "aria-label": ariaLabel = "Resource inspector", className, }) {
15
+ if (!open)
16
+ return null;
17
+ return (_jsxs("aside", { role: "complementary", "aria-label": ariaLabel, className: cn("flex w-80 shrink-0 flex-col border-l border-border bg-card", "lg:w-96", className), children: [_jsxs("div", { className: "flex items-center justify-between border-b border-border px-4 py-2", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Preview" }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close inspector", className: cn("inline-flex items-center justify-center rounded-sm p-1", "text-muted-foreground hover:text-foreground hover:bg-accent-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), children: _jsx(CloseIcon, {}) })] }), _jsx("div", { className: "flex-1 overflow-y-auto p-4", children: children })] }));
18
+ }
19
+ function CloseIcon() {
20
+ return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", "aria-hidden": "true", children: _jsx("path", { d: "M3.5 3.5l7 7M10.5 3.5l-7 7" }) }));
21
+ }
22
+ //# sourceMappingURL=ResourceInspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceInspector.js","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceInspector.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAgBpC;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,SAAS,GAAG,oBAAoB,EAC9C,SAAS,GACc;IACvB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,CACL,iBACE,IAAI,EAAC,eAAe,gBACR,SAAS,EACrB,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,SAAS,EACT,SAAS,CACV,aAED,eAAK,SAAS,EAAC,oEAAoE,aACjF,eAAM,SAAS,EAAC,2CAA2C,wBAEpD,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,gBACL,iBAAiB,EAC5B,SAAS,EAAE,EAAE,CACX,wDAAwD,EACxD,mEAAmE,EACnE,yEAAyE,CAC1E,YAED,KAAC,SAAS,KAAG,GACN,IACL,EACN,cAAK,SAAS,EAAC,4BAA4B,YACxC,QAAQ,GACL,IACA,CACT,CAAC;AACJ,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,iBACT,MAAM,YAElB,eAAM,CAAC,EAAC,4BAA4B,GAAG,GACnC,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { ReactNode } from "react";
2
+ /** Props for {@link ResourceList}. */
3
+ export interface ResourceListProps<TData> {
4
+ /** Items to render as compact list rows. */
5
+ readonly items: readonly TData[];
6
+ /** Render function for each row's content. */
7
+ readonly renderRow: (item: TData, index: number) => ReactNode;
8
+ /** Whether selection checkboxes are shown on rows. */
9
+ readonly enableSelection?: boolean;
10
+ /** Set of selected item IDs. */
11
+ readonly selectedIds?: ReadonlySet<string>;
12
+ /** Called when an item's selection state is toggled. */
13
+ readonly onToggleSelection?: (id: string) => void;
14
+ /** Extracts a stable unique ID from an item. */
15
+ readonly getItemId?: (item: TData) => string;
16
+ /**
17
+ * Render function for per-row actions (e.g. an `ActionMenu`).
18
+ * Shown at the end of the row.
19
+ */
20
+ readonly renderRowAction?: (item: TData) => ReactNode;
21
+ /** Called when a row is clicked (not when a control inside is clicked). */
22
+ readonly onRowClick?: (item: TData) => void;
23
+ /** Accessible label for the list region. @default "Resource list" */
24
+ readonly "aria-label"?: string;
25
+ /** Additional CSS classes for the list container. */
26
+ readonly className?: string;
27
+ }
28
+ /**
29
+ * Compact list view for the resource workbench.
30
+ *
31
+ * Renders items as a single-column vertical list of rows. Each row
32
+ * supports selection, an action slot, and click handling. Row content
33
+ * is customizable via the `renderRow` prop.
34
+ *
35
+ * This component renders **only the list**. Search, filters, and
36
+ * pagination are handled by the parent `ResourceWorkbench`.
37
+ */
38
+ export declare function ResourceList<TData>({ items, renderRow, enableSelection, selectedIds, onToggleSelection, getItemId, renderRowAction, onRowClick, "aria-label": ariaLabel, className, }: ResourceListProps<TData>): import("react/jsx-runtime").JSX.Element;
39
+ //# sourceMappingURL=ResourceList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceList.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,sCAAsC;AACtC,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACtC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC9D,sDAAsD;IACtD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,gCAAgC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,wDAAwD;IACxD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC;IACtD,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5C,qEAAqE;IACrE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,EAClC,KAAK,EACL,SAAS,EACT,eAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,SAAwB,EACxB,eAAe,EACf,UAAU,EACV,YAAY,EAAE,SAA2B,EACzC,SAAS,GACV,EAAE,iBAAiB,CAAC,KAAK,CAAC,2CA2D1B"}
@@ -0,0 +1,41 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "@stigmer/theme";
4
+ import { SelectionCheckbox } from "./SelectionCheckbox";
5
+ /**
6
+ * Compact list view for the resource workbench.
7
+ *
8
+ * Renders items as a single-column vertical list of rows. Each row
9
+ * supports selection, an action slot, and click handling. Row content
10
+ * is customizable via the `renderRow` prop.
11
+ *
12
+ * This component renders **only the list**. Search, filters, and
13
+ * pagination are handled by the parent `ResourceWorkbench`.
14
+ */
15
+ export function ResourceList({ items, renderRow, enableSelection = false, selectedIds, onToggleSelection, getItemId = defaultGetId, renderRowAction, onRowClick, "aria-label": ariaLabel = "Resource list", className, }) {
16
+ return (_jsx("div", { role: "list", "aria-label": ariaLabel, className: cn("flex flex-col", className), children: items.map((item, index) => {
17
+ const id = getItemId(item);
18
+ const isSelected = selectedIds?.has(id) ?? false;
19
+ const isClickable = !!onRowClick;
20
+ return (_jsxs("div", { role: "listitem", "aria-selected": enableSelection ? isSelected : undefined, onClick: isClickable
21
+ ? (e) => {
22
+ const target = e.target;
23
+ if (target.closest("button") ||
24
+ target.closest("input") ||
25
+ target.closest("[role='menu']")) {
26
+ return;
27
+ }
28
+ onRowClick(item);
29
+ }
30
+ : undefined, className: cn("flex items-center gap-3 rounded-lg px-3 py-2.5 transition-colors", isSelected && "bg-primary-subtle", isClickable && "cursor-pointer hover:bg-accent-hover", isClickable && "focus-within:ring-2 focus-within:ring-inset focus-within:ring-ring"), children: [enableSelection && onToggleSelection && (_jsx(SelectionCheckbox, { checked: isSelected, onChange: () => onToggleSelection(id), "aria-label": `Select item ${id}` })), _jsx("div", { className: "min-w-0 flex-1", children: renderRow(item, index) }), renderRowAction && (_jsx("div", { className: "ml-auto shrink-0", onClick: (e) => e.stopPropagation(), children: renderRowAction(item) }))] }, id || `row-${index}`));
31
+ }) }));
32
+ }
33
+ function defaultGetId(item) {
34
+ const r = item;
35
+ if (typeof r.id === "string")
36
+ return r.id;
37
+ if (typeof r.slug === "string")
38
+ return r.slug;
39
+ return "";
40
+ }
41
+ //# sourceMappingURL=ResourceList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceList.js","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA6BxD;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAQ,EAClC,KAAK,EACL,SAAS,EACT,eAAe,GAAG,KAAK,EACvB,WAAW,EACX,iBAAiB,EACjB,SAAS,GAAG,YAAY,EACxB,eAAe,EACf,UAAU,EACV,YAAY,EAAE,SAAS,GAAG,eAAe,EACzC,SAAS,GACgB;IACzB,OAAO,CACL,cACE,IAAI,EAAC,MAAM,gBACC,SAAS,EACrB,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,YAExC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,UAAU,GAAG,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;YACjD,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC;YAEjC,OAAO,CACL,eAEE,IAAI,EAAC,UAAU,mBACA,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACvD,OAAO,EACL,WAAW;oBACT,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBACJ,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;wBACvC,IACE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;4BACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;4BACvB,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAC/B,CAAC;4BACD,OAAO;wBACT,CAAC;wBACD,UAAW,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;oBACH,CAAC,CAAC,SAAS,EAEf,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,UAAU,IAAI,mBAAmB,EACjC,WAAW,IAAI,sCAAsC,EACrD,WAAW,IAAI,oEAAoE,CACpF,aAEA,eAAe,IAAI,iBAAiB,IAAI,CACvC,KAAC,iBAAiB,IAChB,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,gBACzB,eAAe,EAAE,EAAE,GAC/B,CACH,EACD,cAAK,SAAS,EAAC,gBAAgB,YAC5B,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,GACnB,EACL,eAAe,IAAI,CAClB,cAAK,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAClE,eAAe,CAAC,IAAI,CAAC,GAClB,CACP,KAvCI,EAAE,IAAI,OAAO,KAAK,EAAE,CAwCrB,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAQ,IAAW;IACtC,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC9C,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { ReactNode } from "react";
2
+ import { type Table } from "@tanstack/react-table";
3
+ /** Props for {@link ResourceTable}. */
4
+ export interface ResourceTableProps<TData> {
5
+ /** TanStack Table instance from `useResourceCollection`. */
6
+ readonly table: Table<TData>;
7
+ /** Whether row selection is enabled. */
8
+ readonly enableSelection?: boolean;
9
+ /**
10
+ * Render function for per-row actions (e.g. an `ActionMenu`).
11
+ * Shown in the last column. Omit to hide the actions column.
12
+ */
13
+ readonly renderRowAction?: (item: TData) => ReactNode;
14
+ /**
15
+ * Called when a row is clicked (but not when a checkbox or action
16
+ * inside the row is clicked).
17
+ */
18
+ readonly onRowClick?: (item: TData) => void;
19
+ /** Accessible label for the table. @default "Resources" */
20
+ readonly "aria-label"?: string;
21
+ /** Additional CSS classes for the root container. */
22
+ readonly className?: string;
23
+ }
24
+ /**
25
+ * Table view for the resource workbench.
26
+ *
27
+ * Renders a semantic `<table>` element using column definitions and
28
+ * data from a TanStack Table instance. Supports sortable column
29
+ * headers, row selection checkboxes, per-row action menus, and
30
+ * keyboard-navigable rows.
31
+ *
32
+ * This component renders **only the table**. Search, filters, view
33
+ * switching, and pagination are handled by the parent `ResourceWorkbench`.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * const { table } = useResourceCollection({ ... });
38
+ * <ResourceTable
39
+ * table={table}
40
+ * enableSelection
41
+ * renderRowAction={(item) => <AgentActionMenu item={item} />}
42
+ * onRowClick={(item) => navigate(item.slug)}
43
+ * />
44
+ * ```
45
+ */
46
+ export declare function ResourceTable<TData>({ table, enableSelection, renderRowAction, onRowClick, "aria-label": ariaLabel, className, }: ResourceTableProps<TData>): import("react/jsx-runtime").JSX.Element;
47
+ //# sourceMappingURL=ResourceTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceTable.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAc,KAAK,KAAK,EAAY,MAAM,uBAAuB,CAAC;AAMzE,uCAAuC;AACvC,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5C,2DAA2D;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,EACnC,KAAK,EACL,eAAuB,EACvB,eAAe,EACf,UAAU,EACV,YAAY,EAAE,SAAuB,EACrC,SAAS,GACV,EAAE,kBAAkB,CAAC,KAAK,CAAC,2CAqF3B"}
@@ -0,0 +1,78 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { flexRender } from "@tanstack/react-table";
4
+ import { cn } from "@stigmer/theme";
5
+ import { ColumnHeader } from "./ColumnHeader";
6
+ import { SelectionCheckbox } from "./SelectionCheckbox";
7
+ /**
8
+ * Table view for the resource workbench.
9
+ *
10
+ * Renders a semantic `<table>` element using column definitions and
11
+ * data from a TanStack Table instance. Supports sortable column
12
+ * headers, row selection checkboxes, per-row action menus, and
13
+ * keyboard-navigable rows.
14
+ *
15
+ * This component renders **only the table**. Search, filters, view
16
+ * switching, and pagination are handled by the parent `ResourceWorkbench`.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * const { table } = useResourceCollection({ ... });
21
+ * <ResourceTable
22
+ * table={table}
23
+ * enableSelection
24
+ * renderRowAction={(item) => <AgentActionMenu item={item} />}
25
+ * onRowClick={(item) => navigate(item.slug)}
26
+ * />
27
+ * ```
28
+ */
29
+ export function ResourceTable({ table, enableSelection = false, renderRowAction, onRowClick, "aria-label": ariaLabel = "Resources", className, }) {
30
+ const headerGroups = table.getHeaderGroups();
31
+ const rows = table.getRowModel().rows;
32
+ const allSelected = table.getIsAllRowsSelected();
33
+ const someSelected = table.getIsSomeRowsSelected();
34
+ return (_jsx("div", { className: cn("overflow-x-auto", className), children: _jsxs("table", { role: "table", "aria-label": ariaLabel, className: "w-full border-collapse text-sm", children: [_jsx("thead", { children: headerGroups.map((headerGroup) => (_jsxs("tr", { className: "border-b border-border", children: [enableSelection && (_jsx("th", { scope: "col", className: "w-10 px-3 py-2", children: _jsx(SelectionCheckbox, { checked: allSelected, indeterminate: someSelected && !allSelected, onChange: table.getToggleAllRowsSelectedHandler()
35
+ ? () => table.toggleAllRowsSelected(!allSelected)
36
+ : () => { }, "aria-label": allSelected
37
+ ? "Deselect all rows"
38
+ : "Select all rows" }) })), headerGroup.headers.map((header) => {
39
+ const canSort = header.column.getCanSort();
40
+ const sorted = header.column.getIsSorted();
41
+ const direction = sorted === "asc"
42
+ ? "asc"
43
+ : sorted === "desc"
44
+ ? "desc"
45
+ : null;
46
+ return (_jsx(ColumnHeader, { label: typeof header.column.columnDef.header === "string"
47
+ ? header.column.columnDef.header
48
+ : header.id, sortable: canSort, sortDirection: direction, onSort: canSort
49
+ ? () => header.column.toggleSorting()
50
+ : undefined }, header.id));
51
+ }), renderRowAction && (_jsx("th", { scope: "col", className: "w-10 px-3 py-2", children: _jsx("span", { className: "sr-only", children: "Actions" }) }))] }, headerGroup.id))) }), _jsx("tbody", { children: rows.map((row) => (_jsx(TableRow, { row: row, enableSelection: enableSelection, renderRowAction: renderRowAction, onRowClick: onRowClick }, row.id))) })] }) }));
52
+ }
53
+ // ---------------------------------------------------------------------------
54
+ // Internal: Table row
55
+ // ---------------------------------------------------------------------------
56
+ function TableRow({ row, enableSelection, renderRowAction, onRowClick, }) {
57
+ const isSelected = row.getIsSelected();
58
+ const item = row.original;
59
+ const isClickable = !!onRowClick;
60
+ return (_jsxs("tr", { className: cn("border-b border-border-muted transition-colors", isSelected && "bg-primary-subtle", isClickable && "cursor-pointer hover:bg-accent-hover"), onClick: isClickable
61
+ ? (e) => {
62
+ // Don't trigger row click when interacting with controls
63
+ const target = e.target;
64
+ if (target.closest("button") ||
65
+ target.closest("input") ||
66
+ target.closest("[role='menu']") ||
67
+ target.closest("[role='menuitem']")) {
68
+ return;
69
+ }
70
+ onRowClick(item);
71
+ }
72
+ : undefined, "aria-selected": enableSelection ? isSelected : undefined, children: [enableSelection && (_jsx("td", { className: "w-10 px-3 py-2", children: _jsx(SelectionCheckbox, { checked: isSelected, onChange: () => row.toggleSelected(), "aria-label": `Select row ${row.id}` }) })), row.getVisibleCells().map((cell) => (_jsx("td", { className: "px-3 py-2 text-sm text-foreground", style: {
73
+ minWidth: cell.column.columnDef.minSize
74
+ ? `${cell.column.columnDef.minSize}px`
75
+ : undefined,
76
+ }, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))), renderRowAction && (_jsx("td", { className: "w-10 px-3 py-2 text-right", children: renderRowAction(item) }))] }));
77
+ }
78
+ //# sourceMappingURL=ResourceTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceTable.js","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import { type ReactNode } from "react";
2
+ import type { SearchResult } from "@stigmer/protos/ai/stigmer/search/v1/io_pb";
3
+ import type { ListParams, ListResult } from "@stigmer/sdk";
4
+ import type { WorkbenchColumnDef, FilterDef, FilterValue, SortValue, BulkAction, ViewMode } from "../types";
5
+ /** Props for {@link ResourceWorkbench}. */
6
+ export interface ResourceWorkbenchProps<TData = SearchResult> {
7
+ /**
8
+ * Async function that fetches a page of resources. Receives `ListParams`
9
+ * and returns `ListResult`. Pass `null` to disable fetching.
10
+ */
11
+ readonly listFn: ((params: ListParams) => Promise<ListResult>) | null;
12
+ /** Organization slug. Pass `null` to disable fetching. */
13
+ readonly org: string | null;
14
+ /** Column definitions for the table view. */
15
+ readonly columns?: readonly WorkbenchColumnDef<TData>[];
16
+ /** Available filter definitions. */
17
+ readonly filterDefs?: readonly FilterDef[];
18
+ /** Available view modes. @default ["table", "cards", "list"] */
19
+ readonly viewModes?: readonly ViewMode[];
20
+ /** Default view mode. @default "table" */
21
+ readonly defaultViewMode?: ViewMode;
22
+ /**
23
+ * localStorage key for persisting view mode preference.
24
+ * Pass `undefined` to disable persistence.
25
+ */
26
+ readonly viewModeStorageKey?: string;
27
+ /**
28
+ * Custom card renderer for card view. Receives the item and its index.
29
+ * When omitted, the workbench falls back to a default card layout.
30
+ */
31
+ readonly renderCard?: (item: TData, index: number) => ReactNode;
32
+ /**
33
+ * Custom row renderer for list view. Receives the item and its index.
34
+ * When omitted, falls back to a default row layout.
35
+ */
36
+ readonly renderRow?: (item: TData, index: number) => ReactNode;
37
+ /** Per-item action renderer (shown in table rows, card corners, list ends). */
38
+ readonly renderItemAction?: (item: TData) => ReactNode;
39
+ /**
40
+ * Inspector content renderer. When provided, clicking an item opens
41
+ * the split-panel inspector with this content. When omitted, the
42
+ * inspector is disabled.
43
+ */
44
+ readonly renderInspector?: (item: TData) => ReactNode;
45
+ /** Bulk actions available when items are selected. */
46
+ readonly bulkActions?: readonly BulkAction<TData>[];
47
+ /** Called when an item is clicked (navigates to detail, etc.). */
48
+ readonly onItemClick?: (item: TData) => void;
49
+ /** Initial filter values (e.g. restored from URL on mount). */
50
+ readonly initialFilters?: readonly FilterValue[];
51
+ /** Initial sort (e.g. restored from URL on mount). */
52
+ readonly initialSort?: SortValue | null;
53
+ /** Initial search query (e.g. restored from URL on mount). */
54
+ readonly initialQuery?: string;
55
+ /** Scope for resource visibility. @default "org" */
56
+ readonly scope?: "org" | "all";
57
+ /** Called when scope changes (for Console to persist). */
58
+ readonly onScopeChange?: (scope: "org" | "all") => void;
59
+ /** Called when any filter/sort/query state changes (for URL sync). */
60
+ readonly onStateChange?: (state: {
61
+ filters: readonly FilterValue[];
62
+ sort: SortValue | null;
63
+ query: string;
64
+ }) => void;
65
+ /** Enable selection checkboxes and bulk actions. @default false */
66
+ readonly enableSelection?: boolean;
67
+ /** Extracts a unique ID from an item (for selection tracking). */
68
+ readonly getItemId?: (item: TData) => string;
69
+ /** Icon for the empty state. */
70
+ readonly emptyIcon?: ReactNode;
71
+ /** Title for the empty state. */
72
+ readonly emptyTitle?: string;
73
+ /** Description for the empty state. */
74
+ readonly emptyDescription?: string;
75
+ /**
76
+ * Custom CTA rendered in the first-use empty state (no items, no
77
+ * active filters). Use this to provide a creation entry point that
78
+ * is visually co-located with the "no resources yet" message.
79
+ *
80
+ * Accepts any ReactNode — typically a `<Link>` or `<button>`.
81
+ */
82
+ readonly emptyAction?: ReactNode;
83
+ /** Called when the user clicks "Retry" after an error. */
84
+ readonly onRetry?: () => void;
85
+ /**
86
+ * Primary action rendered right-aligned in the toolbar, after the
87
+ * view mode switcher. Use this for the workbench's main creation
88
+ * entry point — e.g. a "Create agent" button or link.
89
+ *
90
+ * Accepts any ReactNode so consumers control routing and styling.
91
+ */
92
+ readonly headerAction?: ReactNode;
93
+ /** Search input placeholder text. @default "Search\u2026" */
94
+ readonly searchPlaceholder?: string;
95
+ /** Accessible label for the workbench region. @default "Resource workbench" */
96
+ readonly "aria-label"?: string;
97
+ /** Additional CSS classes for the root container. */
98
+ readonly className?: string;
99
+ }
100
+ /**
101
+ * Full-featured resource collection workbench that composes headless
102
+ * hooks and focused view components into a complete browsing experience.
103
+ *
104
+ * Provides:
105
+ * - Toolbar with search input, filter chips, and view mode switcher
106
+ * - Three view modes: table, cards, and compact list
107
+ * - Row/card selection with bulk action bar
108
+ * - Optional split-panel inspector for item previews
109
+ * - Empty, loading, and error states
110
+ * - Pagination
111
+ *
112
+ * The workbench is the "drop-in" tier of the resource collection
113
+ * architecture. Platform builders who want more control use the
114
+ * individual hooks and view components directly.
115
+ *
116
+ * @example
117
+ * ```tsx
118
+ * <ResourceWorkbench
119
+ * listFn={(params) => stigmer.agent.list(params)}
120
+ * org={activeOrg}
121
+ * columns={agentColumns}
122
+ * filterDefs={agentFilterDefs}
123
+ * renderItemAction={(item) => <AgentActionMenu item={item} />}
124
+ * onItemClick={(item) => navigate(`/agents/${item.slug}`)}
125
+ * emptyTitle="No agents yet"
126
+ * emptyDescription="Create an agent to get started."
127
+ * />
128
+ * ```
129
+ */
130
+ export declare function ResourceWorkbench<TData = SearchResult>({ listFn, org, columns, filterDefs, viewModes, defaultViewMode, viewModeStorageKey, renderCard, renderRow, renderItemAction, renderInspector, bulkActions, onItemClick, initialFilters, initialSort, initialQuery, scope: controlledScope, onScopeChange, onStateChange, enableSelection, getItemId, emptyIcon, emptyTitle, emptyDescription, emptyAction, onRetry, headerAction, searchPlaceholder, "aria-label": ariaLabel, className, }: ResourceWorkbenchProps<TData>): import("react/jsx-runtime").JSX.Element;
131
+ //# sourceMappingURL=ResourceWorkbench.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceWorkbench.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceWorkbench.tsx"],"names":[],"mappings":"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"}