@stigmer/react 0.4.8 → 0.5.1

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 (709) 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/composer/ContextChip.d.ts +7 -2
  54. package/composer/ContextChip.d.ts.map +1 -1
  55. package/composer/ContextChip.js +2 -1
  56. package/composer/ContextChip.js.map +1 -1
  57. package/composer/SessionComposer.d.ts +11 -0
  58. package/composer/SessionComposer.d.ts.map +1 -1
  59. package/composer/SessionComposer.js +33 -4
  60. package/composer/SessionComposer.js.map +1 -1
  61. package/dependency-graph/DependencyGraph.d.ts +37 -0
  62. package/dependency-graph/DependencyGraph.d.ts.map +1 -0
  63. package/dependency-graph/DependencyGraph.js +88 -0
  64. package/dependency-graph/DependencyGraph.js.map +1 -0
  65. package/dependency-graph/DependencyTreeNode.d.ts +23 -0
  66. package/dependency-graph/DependencyTreeNode.d.ts.map +1 -0
  67. package/dependency-graph/DependencyTreeNode.js +99 -0
  68. package/dependency-graph/DependencyTreeNode.js.map +1 -0
  69. package/dependency-graph/index.d.ts +4 -0
  70. package/dependency-graph/index.d.ts.map +1 -0
  71. package/dependency-graph/index.js +5 -0
  72. package/dependency-graph/index.js.map +1 -0
  73. package/dependency-graph/types.d.ts +130 -0
  74. package/dependency-graph/types.d.ts.map +1 -0
  75. package/dependency-graph/types.js +2 -0
  76. package/dependency-graph/types.js.map +1 -0
  77. package/dependency-graph/useDependencyGraph.d.ts +27 -0
  78. package/dependency-graph/useDependencyGraph.d.ts.map +1 -0
  79. package/dependency-graph/useDependencyGraph.js +129 -0
  80. package/dependency-graph/useDependencyGraph.js.map +1 -0
  81. package/empty-state/EmptyState.d.ts +29 -0
  82. package/empty-state/EmptyState.d.ts.map +1 -0
  83. package/empty-state/EmptyState.js +45 -0
  84. package/empty-state/EmptyState.js.map +1 -0
  85. package/empty-state/index.d.ts +4 -0
  86. package/empty-state/index.d.ts.map +1 -0
  87. package/empty-state/index.js +3 -0
  88. package/empty-state/index.js.map +1 -0
  89. package/empty-state/types.d.ts +73 -0
  90. package/empty-state/types.d.ts.map +1 -0
  91. package/empty-state/types.js +2 -0
  92. package/empty-state/types.js.map +1 -0
  93. package/empty-state/useEmptyState.d.ts +18 -0
  94. package/empty-state/useEmptyState.d.ts.map +1 -0
  95. package/empty-state/useEmptyState.js +72 -0
  96. package/empty-state/useEmptyState.js.map +1 -0
  97. package/environment/usePersonalEnvironment.d.ts.map +1 -1
  98. package/environment/usePersonalEnvironment.js +1 -0
  99. package/environment/usePersonalEnvironment.js.map +1 -1
  100. package/feedback/StigmerToaster.d.ts +18 -0
  101. package/feedback/StigmerToaster.d.ts.map +1 -0
  102. package/feedback/StigmerToaster.js +31 -0
  103. package/feedback/StigmerToaster.js.map +1 -0
  104. package/feedback/index.d.ts +4 -0
  105. package/feedback/index.d.ts.map +1 -0
  106. package/feedback/index.js +3 -0
  107. package/feedback/index.js.map +1 -0
  108. package/feedback/toast.d.ts +14 -0
  109. package/feedback/toast.d.ts.map +1 -0
  110. package/feedback/toast.js +14 -0
  111. package/feedback/toast.js.map +1 -0
  112. package/feedback/types.d.ts +4 -0
  113. package/feedback/types.d.ts.map +1 -0
  114. package/feedback/types.js +2 -0
  115. package/feedback/types.js.map +1 -0
  116. package/index.d.ts +32 -12
  117. package/index.d.ts.map +1 -1
  118. package/index.js +30 -10
  119. package/index.js.map +1 -1
  120. package/inline-edit/InlineEditImage.d.ts +20 -0
  121. package/inline-edit/InlineEditImage.d.ts.map +1 -0
  122. package/inline-edit/InlineEditImage.js +85 -0
  123. package/inline-edit/InlineEditImage.js.map +1 -0
  124. package/inline-edit/InlineEditKeyValue.d.ts +33 -0
  125. package/inline-edit/InlineEditKeyValue.d.ts.map +1 -0
  126. package/inline-edit/InlineEditKeyValue.js +67 -0
  127. package/inline-edit/InlineEditKeyValue.js.map +1 -0
  128. package/inline-edit/InlineEditResourceList.d.ts +34 -0
  129. package/inline-edit/InlineEditResourceList.d.ts.map +1 -0
  130. package/inline-edit/InlineEditResourceList.js +99 -0
  131. package/inline-edit/InlineEditResourceList.js.map +1 -0
  132. package/inline-edit/InlineEditSelect.d.ts +18 -0
  133. package/inline-edit/InlineEditSelect.d.ts.map +1 -0
  134. package/inline-edit/InlineEditSelect.js +54 -0
  135. package/inline-edit/InlineEditSelect.js.map +1 -0
  136. package/inline-edit/InlineEditText.d.ts +23 -0
  137. package/inline-edit/InlineEditText.d.ts.map +1 -0
  138. package/inline-edit/InlineEditText.js +79 -0
  139. package/inline-edit/InlineEditText.js.map +1 -0
  140. package/inline-edit/InlineEditTextarea.d.ts +22 -0
  141. package/inline-edit/InlineEditTextarea.d.ts.map +1 -0
  142. package/inline-edit/InlineEditTextarea.js +83 -0
  143. package/inline-edit/InlineEditTextarea.js.map +1 -0
  144. package/inline-edit/index.d.ts +16 -0
  145. package/inline-edit/index.d.ts.map +1 -0
  146. package/inline-edit/index.js +8 -0
  147. package/inline-edit/index.js.map +1 -0
  148. package/inline-edit/types.d.ts +42 -0
  149. package/inline-edit/types.d.ts.map +1 -0
  150. package/inline-edit/types.js +2 -0
  151. package/inline-edit/types.js.map +1 -0
  152. package/inline-edit/useInlineFieldSave.d.ts +23 -0
  153. package/inline-edit/useInlineFieldSave.d.ts.map +1 -0
  154. package/inline-edit/useInlineFieldSave.js +44 -0
  155. package/inline-edit/useInlineFieldSave.js.map +1 -0
  156. package/internal/Tabs.d.ts +4 -38
  157. package/internal/Tabs.d.ts.map +1 -1
  158. package/internal/Tabs.js +3 -62
  159. package/internal/Tabs.js.map +1 -1
  160. package/internal/useFetch.js +2 -2
  161. package/internal/useFetch.js.map +1 -1
  162. package/library/ImportResourceDialog.d.ts +43 -0
  163. package/library/ImportResourceDialog.d.ts.map +1 -0
  164. package/library/ImportResourceDialog.js +90 -0
  165. package/library/ImportResourceDialog.js.map +1 -0
  166. package/library/index.d.ts +7 -4
  167. package/library/index.d.ts.map +1 -1
  168. package/library/index.js +4 -2
  169. package/library/index.js.map +1 -1
  170. package/library/serialize-resource-yaml.d.ts +53 -0
  171. package/library/serialize-resource-yaml.d.ts.map +1 -1
  172. package/library/serialize-resource-yaml.js +275 -0
  173. package/library/serialize-resource-yaml.js.map +1 -1
  174. package/library/useExportResource.d.ts +56 -0
  175. package/library/useExportResource.d.ts.map +1 -0
  176. package/library/useExportResource.js +137 -0
  177. package/library/useExportResource.js.map +1 -0
  178. package/library/useImportResource.d.ts +84 -0
  179. package/library/useImportResource.d.ts.map +1 -0
  180. package/library/useImportResource.js +188 -0
  181. package/library/useImportResource.js.map +1 -0
  182. package/mcp-server/McpServerCreationWizard.d.ts +55 -0
  183. package/mcp-server/McpServerCreationWizard.d.ts.map +1 -0
  184. package/mcp-server/McpServerCreationWizard.js +121 -0
  185. package/mcp-server/McpServerCreationWizard.js.map +1 -0
  186. package/mcp-server/McpServerDetailView.d.ts +21 -1
  187. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  188. package/mcp-server/McpServerDetailView.js +235 -43
  189. package/mcp-server/McpServerDetailView.js.map +1 -1
  190. package/mcp-server/index.d.ts +8 -0
  191. package/mcp-server/index.d.ts.map +1 -1
  192. package/mcp-server/index.js +4 -0
  193. package/mcp-server/index.js.map +1 -1
  194. package/mcp-server/internal/mcpServerToInput.d.ts +12 -0
  195. package/mcp-server/internal/mcpServerToInput.d.ts.map +1 -0
  196. package/mcp-server/internal/mcpServerToInput.js +81 -0
  197. package/mcp-server/internal/mcpServerToInput.js.map +1 -0
  198. package/mcp-server/steps/EnvironmentAuthStep.d.ts +15 -0
  199. package/mcp-server/steps/EnvironmentAuthStep.d.ts.map +1 -0
  200. package/mcp-server/steps/EnvironmentAuthStep.js +55 -0
  201. package/mcp-server/steps/EnvironmentAuthStep.js.map +1 -0
  202. package/mcp-server/steps/IdentityTransportStep.d.ts +19 -0
  203. package/mcp-server/steps/IdentityTransportStep.d.ts.map +1 -0
  204. package/mcp-server/steps/IdentityTransportStep.js +73 -0
  205. package/mcp-server/steps/IdentityTransportStep.js.map +1 -0
  206. package/mcp-server/steps/ReviewStep.d.ts +23 -0
  207. package/mcp-server/steps/ReviewStep.d.ts.map +1 -0
  208. package/mcp-server/steps/ReviewStep.js +137 -0
  209. package/mcp-server/steps/ReviewStep.js.map +1 -0
  210. package/mcp-server/steps/types.d.ts +56 -0
  211. package/mcp-server/steps/types.d.ts.map +1 -0
  212. package/mcp-server/steps/types.js +27 -0
  213. package/mcp-server/steps/types.js.map +1 -0
  214. package/mcp-server/useCreateMcpServer.d.ts +45 -0
  215. package/mcp-server/useCreateMcpServer.d.ts.map +1 -0
  216. package/mcp-server/useCreateMcpServer.js +50 -0
  217. package/mcp-server/useCreateMcpServer.js.map +1 -0
  218. package/mcp-server/useUpdateMcpServer.d.ts +24 -0
  219. package/mcp-server/useUpdateMcpServer.d.ts.map +1 -0
  220. package/mcp-server/useUpdateMcpServer.js +35 -0
  221. package/mcp-server/useUpdateMcpServer.js.map +1 -0
  222. package/models/ModelRegistryContext.d.ts +2 -0
  223. package/models/ModelRegistryContext.d.ts.map +1 -1
  224. package/models/ModelRegistryContext.js +1 -0
  225. package/models/ModelRegistryContext.js.map +1 -1
  226. package/models/ModelSelector.d.ts.map +1 -1
  227. package/models/ModelSelector.js +2 -2
  228. package/models/ModelSelector.js.map +1 -1
  229. package/models/__tests__/useModelRegistry.test.js +4 -3
  230. package/models/__tests__/useModelRegistry.test.js.map +1 -1
  231. package/models/useModelRegistry.d.ts +2 -0
  232. package/models/useModelRegistry.d.ts.map +1 -1
  233. package/models/useModelRegistry.js +3 -2
  234. package/models/useModelRegistry.js.map +1 -1
  235. package/package.json +8 -4
  236. package/provider.d.ts.map +1 -1
  237. package/provider.js +69 -22
  238. package/provider.js.map +1 -1
  239. package/resource-creation/CreationPicker.d.ts +60 -0
  240. package/resource-creation/CreationPicker.d.ts.map +1 -0
  241. package/resource-creation/CreationPicker.js +74 -0
  242. package/resource-creation/CreationPicker.js.map +1 -0
  243. package/resource-creation/StepIndicator.d.ts +28 -0
  244. package/resource-creation/StepIndicator.d.ts.map +1 -0
  245. package/resource-creation/StepIndicator.js +40 -0
  246. package/resource-creation/StepIndicator.js.map +1 -0
  247. package/resource-creation/TemplateCard.d.ts +24 -0
  248. package/resource-creation/TemplateCard.d.ts.map +1 -0
  249. package/resource-creation/TemplateCard.js +68 -0
  250. package/resource-creation/TemplateCard.js.map +1 -0
  251. package/resource-creation/TemplateGallery.d.ts +43 -0
  252. package/resource-creation/TemplateGallery.d.ts.map +1 -0
  253. package/resource-creation/TemplateGallery.js +78 -0
  254. package/resource-creation/TemplateGallery.js.map +1 -0
  255. package/resource-creation/WizardNav.d.ts +31 -0
  256. package/resource-creation/WizardNav.d.ts.map +1 -0
  257. package/resource-creation/WizardNav.js +29 -0
  258. package/resource-creation/WizardNav.js.map +1 -0
  259. package/resource-creation/WizardShell.d.ts +41 -0
  260. package/resource-creation/WizardShell.d.ts.map +1 -0
  261. package/resource-creation/WizardShell.js +55 -0
  262. package/resource-creation/WizardShell.js.map +1 -0
  263. package/resource-creation/index.d.ts +21 -0
  264. package/resource-creation/index.d.ts.map +1 -0
  265. package/resource-creation/index.js +14 -0
  266. package/resource-creation/index.js.map +1 -0
  267. package/resource-creation/templates/agent-templates.d.ts +15 -0
  268. package/resource-creation/templates/agent-templates.d.ts.map +1 -0
  269. package/resource-creation/templates/agent-templates.js +148 -0
  270. package/resource-creation/templates/agent-templates.js.map +1 -0
  271. package/resource-creation/templates/index.d.ts +5 -0
  272. package/resource-creation/templates/index.d.ts.map +1 -0
  273. package/resource-creation/templates/index.js +5 -0
  274. package/resource-creation/templates/index.js.map +1 -0
  275. package/resource-creation/templates/mcp-server-templates.d.ts +15 -0
  276. package/resource-creation/templates/mcp-server-templates.d.ts.map +1 -0
  277. package/resource-creation/templates/mcp-server-templates.js +92 -0
  278. package/resource-creation/templates/mcp-server-templates.js.map +1 -0
  279. package/resource-creation/templates/types.d.ts +48 -0
  280. package/resource-creation/templates/types.d.ts.map +1 -0
  281. package/resource-creation/templates/types.js +16 -0
  282. package/resource-creation/templates/types.js.map +1 -0
  283. package/resource-creation/types.d.ts +88 -0
  284. package/resource-creation/types.d.ts.map +1 -0
  285. package/resource-creation/types.js +2 -0
  286. package/resource-creation/types.js.map +1 -0
  287. package/resource-creation/useTemplateFilter.d.ts +43 -0
  288. package/resource-creation/useTemplateFilter.d.ts.map +1 -0
  289. package/resource-creation/useTemplateFilter.js +73 -0
  290. package/resource-creation/useTemplateFilter.js.map +1 -0
  291. package/resource-creation/useWizardState.d.ts +67 -0
  292. package/resource-creation/useWizardState.d.ts.map +1 -0
  293. package/resource-creation/useWizardState.js +143 -0
  294. package/resource-creation/useWizardState.js.map +1 -0
  295. package/resource-detail/ConfirmDialog.d.ts +44 -0
  296. package/resource-detail/ConfirmDialog.d.ts.map +1 -0
  297. package/resource-detail/ConfirmDialog.js +62 -0
  298. package/resource-detail/ConfirmDialog.js.map +1 -0
  299. package/resource-detail/ResourceActionBar.d.ts +42 -0
  300. package/resource-detail/ResourceActionBar.d.ts.map +1 -0
  301. package/resource-detail/ResourceActionBar.js +64 -0
  302. package/resource-detail/ResourceActionBar.js.map +1 -0
  303. package/resource-detail/ResourceDetailShell.d.ts +36 -0
  304. package/resource-detail/ResourceDetailShell.d.ts.map +1 -0
  305. package/resource-detail/ResourceDetailShell.js +65 -0
  306. package/resource-detail/ResourceDetailShell.js.map +1 -0
  307. package/resource-detail/Section.d.ts +18 -0
  308. package/resource-detail/Section.d.ts.map +1 -0
  309. package/resource-detail/Section.js +18 -0
  310. package/resource-detail/Section.js.map +1 -0
  311. package/resource-detail/index.d.ts +15 -0
  312. package/resource-detail/index.d.ts.map +1 -0
  313. package/resource-detail/index.js +10 -0
  314. package/resource-detail/index.js.map +1 -0
  315. package/resource-detail/types.d.ts +146 -0
  316. package/resource-detail/types.d.ts.map +1 -0
  317. package/resource-detail/types.js +2 -0
  318. package/resource-detail/types.js.map +1 -0
  319. package/resource-detail/useConfirmAction.d.ts +41 -0
  320. package/resource-detail/useConfirmAction.d.ts.map +1 -0
  321. package/resource-detail/useConfirmAction.js +30 -0
  322. package/resource-detail/useConfirmAction.js.map +1 -0
  323. package/resource-detail/useCopyResource.d.ts +28 -0
  324. package/resource-detail/useCopyResource.d.ts.map +1 -0
  325. package/resource-detail/useCopyResource.js +46 -0
  326. package/resource-detail/useCopyResource.js.map +1 -0
  327. package/resource-detail/useDeleteResource.d.ts +40 -0
  328. package/resource-detail/useDeleteResource.d.ts.map +1 -0
  329. package/resource-detail/useDeleteResource.js +83 -0
  330. package/resource-detail/useDeleteResource.js.map +1 -0
  331. package/resource-detail/useDetailTabs.d.ts +46 -0
  332. package/resource-detail/useDetailTabs.d.ts.map +1 -0
  333. package/resource-detail/useDetailTabs.js +47 -0
  334. package/resource-detail/useDetailTabs.js.map +1 -0
  335. package/resource-workbench/components/BulkActionBar.d.ts +36 -0
  336. package/resource-workbench/components/BulkActionBar.d.ts.map +1 -0
  337. package/resource-workbench/components/BulkActionBar.js +35 -0
  338. package/resource-workbench/components/BulkActionBar.js.map +1 -0
  339. package/resource-workbench/components/ColumnHeader.d.ts +23 -0
  340. package/resource-workbench/components/ColumnHeader.d.ts.map +1 -0
  341. package/resource-workbench/components/ColumnHeader.js +25 -0
  342. package/resource-workbench/components/ColumnHeader.js.map +1 -0
  343. package/resource-workbench/components/FilterBar.d.ts +33 -0
  344. package/resource-workbench/components/FilterBar.d.ts.map +1 -0
  345. package/resource-workbench/components/FilterBar.js +72 -0
  346. package/resource-workbench/components/FilterBar.js.map +1 -0
  347. package/resource-workbench/components/ResourceAvatar.d.ts +29 -0
  348. package/resource-workbench/components/ResourceAvatar.d.ts.map +1 -0
  349. package/resource-workbench/components/ResourceAvatar.js +51 -0
  350. package/resource-workbench/components/ResourceAvatar.js.map +1 -0
  351. package/resource-workbench/components/ResourceCards.d.ts +39 -0
  352. package/resource-workbench/components/ResourceCards.d.ts.map +1 -0
  353. package/resource-workbench/components/ResourceCards.js +41 -0
  354. package/resource-workbench/components/ResourceCards.js.map +1 -0
  355. package/resource-workbench/components/ResourceInspector.d.ts +26 -0
  356. package/resource-workbench/components/ResourceInspector.d.ts.map +1 -0
  357. package/resource-workbench/components/ResourceInspector.js +22 -0
  358. package/resource-workbench/components/ResourceInspector.js.map +1 -0
  359. package/resource-workbench/components/ResourceList.d.ts +39 -0
  360. package/resource-workbench/components/ResourceList.d.ts.map +1 -0
  361. package/resource-workbench/components/ResourceList.js +41 -0
  362. package/resource-workbench/components/ResourceList.js.map +1 -0
  363. package/resource-workbench/components/ResourceTable.d.ts +47 -0
  364. package/resource-workbench/components/ResourceTable.d.ts.map +1 -0
  365. package/resource-workbench/components/ResourceTable.js +78 -0
  366. package/resource-workbench/components/ResourceTable.js.map +1 -0
  367. package/resource-workbench/components/ResourceWorkbench.d.ts +131 -0
  368. package/resource-workbench/components/ResourceWorkbench.d.ts.map +1 -0
  369. package/resource-workbench/components/ResourceWorkbench.js +170 -0
  370. package/resource-workbench/components/ResourceWorkbench.js.map +1 -0
  371. package/resource-workbench/components/SelectionCheckbox.d.ts +24 -0
  372. package/resource-workbench/components/SelectionCheckbox.d.ts.map +1 -0
  373. package/resource-workbench/components/SelectionCheckbox.js +16 -0
  374. package/resource-workbench/components/SelectionCheckbox.js.map +1 -0
  375. package/resource-workbench/components/StatusBadge.d.ts +31 -0
  376. package/resource-workbench/components/StatusBadge.d.ts.map +1 -0
  377. package/resource-workbench/components/StatusBadge.js +75 -0
  378. package/resource-workbench/components/StatusBadge.js.map +1 -0
  379. package/resource-workbench/components/ViewSwitcher.d.ts +21 -0
  380. package/resource-workbench/components/ViewSwitcher.d.ts.map +1 -0
  381. package/resource-workbench/components/ViewSwitcher.js +37 -0
  382. package/resource-workbench/components/ViewSwitcher.js.map +1 -0
  383. package/resource-workbench/hooks/useResourceCollection.d.ts +93 -0
  384. package/resource-workbench/hooks/useResourceCollection.d.ts.map +1 -0
  385. package/resource-workbench/hooks/useResourceCollection.js +133 -0
  386. package/resource-workbench/hooks/useResourceCollection.js.map +1 -0
  387. package/resource-workbench/hooks/useResourceFilters.d.ts +73 -0
  388. package/resource-workbench/hooks/useResourceFilters.d.ts.map +1 -0
  389. package/resource-workbench/hooks/useResourceFilters.js +105 -0
  390. package/resource-workbench/hooks/useResourceFilters.js.map +1 -0
  391. package/resource-workbench/hooks/useResourceSelection.d.ts +44 -0
  392. package/resource-workbench/hooks/useResourceSelection.d.ts.map +1 -0
  393. package/resource-workbench/hooks/useResourceSelection.js +123 -0
  394. package/resource-workbench/hooks/useResourceSelection.js.map +1 -0
  395. package/resource-workbench/hooks/useViewPreference.d.ts +32 -0
  396. package/resource-workbench/hooks/useViewPreference.d.ts.map +1 -0
  397. package/resource-workbench/hooks/useViewPreference.js +60 -0
  398. package/resource-workbench/hooks/useViewPreference.js.map +1 -0
  399. package/resource-workbench/index.d.ts +34 -0
  400. package/resource-workbench/index.d.ts.map +1 -0
  401. package/resource-workbench/index.js +19 -0
  402. package/resource-workbench/index.js.map +1 -0
  403. package/resource-workbench/types.d.ts +165 -0
  404. package/resource-workbench/types.d.ts.map +1 -0
  405. package/resource-workbench/types.js +2 -0
  406. package/resource-workbench/types.js.map +1 -0
  407. package/runner/RunnerDetailView.d.ts +44 -0
  408. package/runner/RunnerDetailView.d.ts.map +1 -0
  409. package/runner/RunnerDetailView.js +154 -0
  410. package/runner/RunnerDetailView.js.map +1 -0
  411. package/runner/RunnerListPanel.d.ts +26 -1
  412. package/runner/RunnerListPanel.d.ts.map +1 -1
  413. package/runner/RunnerListPanel.js +68 -46
  414. package/runner/RunnerListPanel.js.map +1 -1
  415. package/runner/index.d.ts +7 -1
  416. package/runner/index.d.ts.map +1 -1
  417. package/runner/index.js +3 -0
  418. package/runner/index.js.map +1 -1
  419. package/runner/shared.d.ts +31 -0
  420. package/runner/shared.d.ts.map +1 -0
  421. package/runner/shared.js +55 -0
  422. package/runner/shared.js.map +1 -0
  423. package/runner/useRunner.d.ts +37 -0
  424. package/runner/useRunner.d.ts.map +1 -0
  425. package/runner/useRunner.js +24 -0
  426. package/runner/useRunner.js.map +1 -0
  427. package/session/__tests__/group-sessions.test.js +3 -3
  428. package/session/__tests__/group-sessions.test.js.map +1 -1
  429. package/session/__tests__/session-spec-converters.test.d.ts +2 -0
  430. package/session/__tests__/session-spec-converters.test.d.ts.map +1 -0
  431. package/session/__tests__/session-spec-converters.test.js +162 -0
  432. package/session/__tests__/session-spec-converters.test.js.map +1 -0
  433. package/session/__tests__/useNewSessionFlow.test.js +2 -2
  434. package/session/__tests__/useNewSessionFlow.test.js.map +1 -1
  435. package/session/__tests__/usePersistedModel.test.js +1 -1
  436. package/session/__tests__/usePersistedModel.test.js.map +1 -1
  437. package/session/group-sessions.d.ts +17 -0
  438. package/session/group-sessions.d.ts.map +1 -1
  439. package/session/group-sessions.js +46 -0
  440. package/session/group-sessions.js.map +1 -1
  441. package/session/index.d.ts +4 -2
  442. package/session/index.d.ts.map +1 -1
  443. package/session/index.js +2 -1
  444. package/session/index.js.map +1 -1
  445. package/session/session-spec-converters.d.ts +24 -0
  446. package/session/session-spec-converters.d.ts.map +1 -0
  447. package/session/session-spec-converters.js +72 -0
  448. package/session/session-spec-converters.js.map +1 -0
  449. package/session/useSessionConversation.d.ts.map +1 -1
  450. package/session/useSessionConversation.js +1 -56
  451. package/session/useSessionConversation.js.map +1 -1
  452. package/session/useSessionPageFlow.d.ts +5 -0
  453. package/session/useSessionPageFlow.d.ts.map +1 -1
  454. package/session/useSessionPageFlow.js +20 -6
  455. package/session/useSessionPageFlow.js.map +1 -1
  456. package/session/useSessionSearch.d.ts +57 -0
  457. package/session/useSessionSearch.d.ts.map +1 -0
  458. package/session/useSessionSearch.js +94 -0
  459. package/session/useSessionSearch.js.map +1 -0
  460. package/skill/SkillDetailView.d.ts +70 -7
  461. package/skill/SkillDetailView.d.ts.map +1 -1
  462. package/skill/SkillDetailView.js +107 -39
  463. package/skill/SkillDetailView.js.map +1 -1
  464. package/skill/SkillDiffDialog.d.ts +42 -0
  465. package/skill/SkillDiffDialog.d.ts.map +1 -0
  466. package/skill/SkillDiffDialog.js +72 -0
  467. package/skill/SkillDiffDialog.js.map +1 -0
  468. package/skill/SkillFileBrowser.d.ts +31 -0
  469. package/skill/SkillFileBrowser.d.ts.map +1 -0
  470. package/skill/SkillFileBrowser.js +105 -0
  471. package/skill/SkillFileBrowser.js.map +1 -0
  472. package/skill/SkillUploader.d.ts +39 -0
  473. package/skill/SkillUploader.d.ts.map +1 -0
  474. package/skill/SkillUploader.js +141 -0
  475. package/skill/SkillUploader.js.map +1 -0
  476. package/skill/index.d.ts +18 -0
  477. package/skill/index.d.ts.map +1 -1
  478. package/skill/index.js +9 -0
  479. package/skill/index.js.map +1 -1
  480. package/skill/internal/computeArtifactHash.d.ts +9 -0
  481. package/skill/internal/computeArtifactHash.d.ts.map +1 -0
  482. package/skill/internal/computeArtifactHash.js +14 -0
  483. package/skill/internal/computeArtifactHash.js.map +1 -0
  484. package/skill/internal/fetchAndUnpackArtifact.d.ts +16 -0
  485. package/skill/internal/fetchAndUnpackArtifact.d.ts.map +1 -0
  486. package/skill/internal/fetchAndUnpackArtifact.js +34 -0
  487. package/skill/internal/fetchAndUnpackArtifact.js.map +1 -0
  488. package/skill/usePushSkill.d.ts +53 -0
  489. package/skill/usePushSkill.d.ts.map +1 -0
  490. package/skill/usePushSkill.js +57 -0
  491. package/skill/usePushSkill.js.map +1 -0
  492. package/skill/useSkillArtifact.d.ts +37 -0
  493. package/skill/useSkillArtifact.d.ts.map +1 -0
  494. package/skill/useSkillArtifact.js +76 -0
  495. package/skill/useSkillArtifact.js.map +1 -0
  496. package/skill/useSkillDiff.d.ts +31 -0
  497. package/skill/useSkillDiff.d.ts.map +1 -0
  498. package/skill/useSkillDiff.js +97 -0
  499. package/skill/useSkillDiff.js.map +1 -0
  500. package/skill/useSkillDuplicateCheck.d.ts +34 -0
  501. package/skill/useSkillDuplicateCheck.d.ts.map +1 -0
  502. package/skill/useSkillDuplicateCheck.js +58 -0
  503. package/skill/useSkillDuplicateCheck.js.map +1 -0
  504. package/skill/useSkillUpload.d.ts +69 -0
  505. package/skill/useSkillUpload.d.ts.map +1 -0
  506. package/skill/useSkillUpload.js +157 -0
  507. package/skill/useSkillUpload.js.map +1 -0
  508. package/skill/useSkillVersions.d.ts +46 -0
  509. package/skill/useSkillVersions.d.ts.map +1 -0
  510. package/skill/useSkillVersions.js +104 -0
  511. package/skill/useSkillVersions.js.map +1 -0
  512. package/src/action-menu/ActionMenu.tsx +151 -0
  513. package/src/action-menu/index.ts +9 -0
  514. package/src/action-menu/types.ts +70 -0
  515. package/src/agent/AgentCreationWizard.tsx +201 -0
  516. package/src/agent/AgentDetailView.tsx +817 -321
  517. package/src/agent/index.ts +16 -0
  518. package/src/agent/internal/agentToInput.ts +95 -0
  519. package/src/agent/steps/CapabilitiesStep.tsx +363 -0
  520. package/src/agent/steps/IdentityStep.tsx +259 -0
  521. package/src/agent/steps/ReviewStep.tsx +211 -0
  522. package/src/agent/steps/types.ts +53 -0
  523. package/src/agent/useCreateAgent.ts +76 -0
  524. package/src/agent/useUpdateAgent.ts +55 -0
  525. package/src/composer/ContextChip.tsx +20 -11
  526. package/src/composer/SessionComposer.tsx +52 -3
  527. package/src/dependency-graph/DependencyGraph.tsx +153 -0
  528. package/src/dependency-graph/DependencyTreeNode.tsx +282 -0
  529. package/src/dependency-graph/index.ts +15 -0
  530. package/src/dependency-graph/types.ts +131 -0
  531. package/src/dependency-graph/useDependencyGraph.ts +158 -0
  532. package/src/empty-state/EmptyState.tsx +90 -0
  533. package/src/empty-state/index.ts +9 -0
  534. package/src/empty-state/types.ts +81 -0
  535. package/src/empty-state/useEmptyState.ts +85 -0
  536. package/src/environment/usePersonalEnvironment.ts +1 -0
  537. package/src/feedback/StigmerToaster.tsx +45 -0
  538. package/src/feedback/index.ts +3 -0
  539. package/src/feedback/toast.ts +13 -0
  540. package/src/feedback/types.ts +7 -0
  541. package/src/index.ts +275 -8
  542. package/src/inline-edit/InlineEditImage.tsx +208 -0
  543. package/src/inline-edit/InlineEditKeyValue.tsx +301 -0
  544. package/src/inline-edit/InlineEditResourceList.tsx +325 -0
  545. package/src/inline-edit/InlineEditSelect.tsx +150 -0
  546. package/src/inline-edit/InlineEditText.tsx +211 -0
  547. package/src/inline-edit/InlineEditTextarea.tsx +209 -0
  548. package/src/inline-edit/index.ts +28 -0
  549. package/src/inline-edit/types.ts +47 -0
  550. package/src/inline-edit/useInlineFieldSave.ts +62 -0
  551. package/src/internal/Tabs.tsx +4 -164
  552. package/src/internal/useFetch.ts +2 -2
  553. package/src/library/ImportResourceDialog.tsx +227 -0
  554. package/src/library/index.ts +18 -8
  555. package/src/library/serialize-resource-yaml.ts +356 -0
  556. package/src/library/useExportResource.ts +183 -0
  557. package/src/library/useImportResource.ts +253 -0
  558. package/src/mcp-server/McpServerCreationWizard.tsx +206 -0
  559. package/src/mcp-server/McpServerDetailView.tsx +816 -155
  560. package/src/mcp-server/index.ts +16 -0
  561. package/src/mcp-server/internal/mcpServerToInput.ts +95 -0
  562. package/src/mcp-server/steps/EnvironmentAuthStep.tsx +462 -0
  563. package/src/mcp-server/steps/IdentityTransportStep.tsx +531 -0
  564. package/src/mcp-server/steps/ReviewStep.tsx +297 -0
  565. package/src/mcp-server/steps/types.ts +85 -0
  566. package/src/mcp-server/useCreateMcpServer.ts +76 -0
  567. package/src/mcp-server/useUpdateMcpServer.ts +55 -0
  568. package/src/models/ModelRegistryContext.ts +3 -0
  569. package/src/models/ModelSelector.tsx +25 -2
  570. package/src/models/__tests__/useModelRegistry.test.tsx +5 -3
  571. package/src/models/useModelRegistry.ts +5 -2
  572. package/src/provider.tsx +69 -18
  573. package/src/resource-creation/CreationPicker.tsx +292 -0
  574. package/src/resource-creation/StepIndicator.tsx +156 -0
  575. package/src/resource-creation/TemplateCard.tsx +143 -0
  576. package/src/resource-creation/TemplateGallery.tsx +222 -0
  577. package/src/resource-creation/WizardNav.tsx +163 -0
  578. package/src/resource-creation/WizardShell.tsx +124 -0
  579. package/src/resource-creation/index.ts +45 -0
  580. package/src/resource-creation/templates/agent-templates.ts +160 -0
  581. package/src/resource-creation/templates/index.ts +7 -0
  582. package/src/resource-creation/templates/mcp-server-templates.ts +106 -0
  583. package/src/resource-creation/templates/types.ts +64 -0
  584. package/src/resource-creation/types.ts +105 -0
  585. package/src/resource-creation/useTemplateFilter.ts +117 -0
  586. package/src/resource-creation/useWizardState.ts +223 -0
  587. package/src/resource-detail/ConfirmDialog.tsx +127 -0
  588. package/src/resource-detail/ResourceActionBar.tsx +157 -0
  589. package/src/resource-detail/ResourceDetailShell.tsx +184 -0
  590. package/src/resource-detail/Section.tsx +78 -0
  591. package/src/resource-detail/index.ts +34 -0
  592. package/src/resource-detail/types.ts +177 -0
  593. package/src/resource-detail/useConfirmAction.ts +70 -0
  594. package/src/resource-detail/useCopyResource.ts +74 -0
  595. package/src/resource-detail/useDeleteResource.ts +110 -0
  596. package/src/resource-detail/useDetailTabs.ts +93 -0
  597. package/src/resource-workbench/components/BulkActionBar.tsx +122 -0
  598. package/src/resource-workbench/components/ColumnHeader.tsx +105 -0
  599. package/src/resource-workbench/components/FilterBar.tsx +173 -0
  600. package/src/resource-workbench/components/ResourceAvatar.tsx +109 -0
  601. package/src/resource-workbench/components/ResourceCards.tsx +126 -0
  602. package/src/resource-workbench/components/ResourceInspector.tsx +88 -0
  603. package/src/resource-workbench/components/ResourceList.tsx +121 -0
  604. package/src/resource-workbench/components/ResourceTable.tsx +222 -0
  605. package/src/resource-workbench/components/ResourceWorkbench.tsx +695 -0
  606. package/src/resource-workbench/components/SelectionCheckbox.tsx +52 -0
  607. package/src/resource-workbench/components/StatusBadge.tsx +119 -0
  608. package/src/resource-workbench/components/ViewSwitcher.tsx +135 -0
  609. package/src/resource-workbench/hooks/useResourceCollection.ts +261 -0
  610. package/src/resource-workbench/hooks/useResourceFilters.ts +216 -0
  611. package/src/resource-workbench/hooks/useResourceSelection.ts +178 -0
  612. package/src/resource-workbench/hooks/useViewPreference.ts +75 -0
  613. package/src/resource-workbench/index.ts +73 -0
  614. package/src/resource-workbench/types.ts +220 -0
  615. package/src/runner/RunnerDetailView.tsx +410 -0
  616. package/src/runner/RunnerListPanel.tsx +126 -111
  617. package/src/runner/index.ts +13 -1
  618. package/src/runner/shared.tsx +124 -0
  619. package/src/runner/useRunner.ts +59 -0
  620. package/src/session/__tests__/group-sessions.test.ts +5 -3
  621. package/src/session/__tests__/session-spec-converters.test.ts +185 -0
  622. package/src/session/__tests__/useNewSessionFlow.test.tsx +2 -2
  623. package/src/session/__tests__/usePersistedModel.test.tsx +1 -1
  624. package/src/session/group-sessions.ts +65 -0
  625. package/src/session/index.ts +8 -2
  626. package/src/session/session-spec-converters.ts +86 -0
  627. package/src/session/useSessionConversation.ts +5 -64
  628. package/src/session/useSessionPageFlow.ts +28 -7
  629. package/src/session/useSessionSearch.ts +149 -0
  630. package/src/skill/SkillDetailView.tsx +371 -165
  631. package/src/skill/SkillDiffDialog.tsx +213 -0
  632. package/src/skill/SkillFileBrowser.tsx +289 -0
  633. package/src/skill/SkillUploader.tsx +481 -0
  634. package/src/skill/index.ts +34 -0
  635. package/src/skill/internal/computeArtifactHash.ts +13 -0
  636. package/src/skill/internal/fetchAndUnpackArtifact.ts +48 -0
  637. package/src/skill/usePushSkill.ts +101 -0
  638. package/src/skill/useSkillArtifact.ts +107 -0
  639. package/src/skill/useSkillDiff.ts +128 -0
  640. package/src/skill/useSkillDuplicateCheck.ts +92 -0
  641. package/src/skill/useSkillUpload.ts +231 -0
  642. package/src/skill/useSkillVersions.ts +165 -0
  643. package/src/styles.css +28 -0
  644. package/src/tabs/Tabs.tsx +184 -0
  645. package/src/tabs/index.ts +2 -0
  646. package/src/version-history/DiffFileList.tsx +111 -0
  647. package/src/version-history/DiffSummary.tsx +61 -0
  648. package/src/version-history/DiffViewer.tsx +163 -0
  649. package/src/version-history/MultiFileDiffView.tsx +114 -0
  650. package/src/version-history/VersionTimeline.tsx +232 -0
  651. package/src/version-history/VersionTimelineEntry.tsx +254 -0
  652. package/src/version-history/computeDiff.ts +61 -0
  653. package/src/version-history/computeMultiFileDiff.ts +97 -0
  654. package/src/version-history/index.ts +22 -0
  655. package/src/version-history/types.ts +129 -0
  656. package/styles.css +1 -1
  657. package/tabs/Tabs.d.ts +58 -0
  658. package/tabs/Tabs.d.ts.map +1 -0
  659. package/tabs/Tabs.js +80 -0
  660. package/tabs/Tabs.js.map +1 -0
  661. package/tabs/index.d.ts +3 -0
  662. package/tabs/index.d.ts.map +1 -0
  663. package/tabs/index.js +2 -0
  664. package/tabs/index.js.map +1 -0
  665. package/version-history/DiffFileList.d.ts +22 -0
  666. package/version-history/DiffFileList.d.ts.map +1 -0
  667. package/version-history/DiffFileList.js +37 -0
  668. package/version-history/DiffFileList.js.map +1 -0
  669. package/version-history/DiffSummary.d.ts +21 -0
  670. package/version-history/DiffSummary.d.ts.map +1 -0
  671. package/version-history/DiffSummary.js +16 -0
  672. package/version-history/DiffSummary.js.map +1 -0
  673. package/version-history/DiffViewer.d.ts +31 -0
  674. package/version-history/DiffViewer.d.ts.map +1 -0
  675. package/version-history/DiffViewer.js +60 -0
  676. package/version-history/DiffViewer.js.map +1 -0
  677. package/version-history/MultiFileDiffView.d.ts +30 -0
  678. package/version-history/MultiFileDiffView.d.ts.map +1 -0
  679. package/version-history/MultiFileDiffView.js +40 -0
  680. package/version-history/MultiFileDiffView.js.map +1 -0
  681. package/version-history/VersionTimeline.d.ts +29 -0
  682. package/version-history/VersionTimeline.d.ts.map +1 -0
  683. package/version-history/VersionTimeline.js +87 -0
  684. package/version-history/VersionTimeline.js.map +1 -0
  685. package/version-history/VersionTimelineEntry.d.ts +22 -0
  686. package/version-history/VersionTimelineEntry.d.ts.map +1 -0
  687. package/version-history/VersionTimelineEntry.js +98 -0
  688. package/version-history/VersionTimelineEntry.js.map +1 -0
  689. package/version-history/computeDiff.d.ts +16 -0
  690. package/version-history/computeDiff.d.ts.map +1 -0
  691. package/version-history/computeDiff.js +54 -0
  692. package/version-history/computeDiff.js.map +1 -0
  693. package/version-history/computeMultiFileDiff.d.ts +15 -0
  694. package/version-history/computeMultiFileDiff.d.ts.map +1 -0
  695. package/version-history/computeMultiFileDiff.js +83 -0
  696. package/version-history/computeMultiFileDiff.js.map +1 -0
  697. package/version-history/index.d.ts +14 -0
  698. package/version-history/index.d.ts.map +1 -0
  699. package/version-history/index.js +9 -0
  700. package/version-history/index.js.map +1 -0
  701. package/version-history/types.d.ts +106 -0
  702. package/version-history/types.d.ts.map +1 -0
  703. package/version-history/types.js +2 -0
  704. package/version-history/types.js.map +1 -0
  705. package/library/ResourceListView.d.ts +0 -174
  706. package/library/ResourceListView.d.ts.map +0 -1
  707. package/library/ResourceListView.js +0 -318
  708. package/library/ResourceListView.js.map +0 -1
  709. package/src/library/ResourceListView.tsx +0 -956
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import { useCallback, useState } from "react";
3
+ const VALID_MODES = new Set([
4
+ "table",
5
+ "cards",
6
+ "list",
7
+ ]);
8
+ function isValidMode(value) {
9
+ return VALID_MODES.has(value);
10
+ }
11
+ /**
12
+ * Persists the user's preferred view mode (table / cards / list) in
13
+ * localStorage, scoped by a caller-provided storage key.
14
+ *
15
+ * Falls back to `defaultMode` when no persisted value exists or when
16
+ * the stored value is invalid (forward-compatible with future modes).
17
+ *
18
+ * Pass `undefined` for `storageKey` to use an ephemeral (non-persisted)
19
+ * view mode that resets on unmount.
20
+ *
21
+ * @param storageKey localStorage key (e.g. `"stigmer:workbench:agents:viewMode"`).
22
+ * Pass `undefined` to disable persistence.
23
+ * @param defaultMode The view mode to use when no persisted value exists.
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * const { viewMode, setViewMode } = useViewPreference(
28
+ * "stigmer:workbench:agents:viewMode",
29
+ * "table",
30
+ * );
31
+ * ```
32
+ */
33
+ export function useViewPreference(storageKey, defaultMode) {
34
+ const [viewMode, setViewModeState] = useState(() => {
35
+ if (!storageKey || typeof window === "undefined")
36
+ return defaultMode;
37
+ try {
38
+ const stored = localStorage.getItem(storageKey);
39
+ if (stored && isValidMode(stored))
40
+ return stored;
41
+ }
42
+ catch {
43
+ // localStorage may be unavailable (e.g. sandboxed iframe).
44
+ }
45
+ return defaultMode;
46
+ });
47
+ const setViewMode = useCallback((mode) => {
48
+ setViewModeState(mode);
49
+ if (!storageKey)
50
+ return;
51
+ try {
52
+ localStorage.setItem(storageKey, mode);
53
+ }
54
+ catch {
55
+ // Silently ignore write failures.
56
+ }
57
+ }, [storageKey]);
58
+ return { viewMode, setViewMode };
59
+ }
60
+ //# sourceMappingURL=useViewPreference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useViewPreference.js","sourceRoot":"","sources":["../../../src/resource-workbench/hooks/useViewPreference.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAW9C,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAW;IACzD,OAAO;IACP,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAA8B,EAC9B,WAAqB;IAErB,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE;QAC3D,IAAI,CAAC,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,WAAW,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,IAAc,EAAE,EAAE;QACjB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC"}
@@ -0,0 +1,34 @@
1
+ export type { ViewMode, StatusPhase, WorkbenchColumnDef, FilterOperator, FilterValue, FilterDef, FilterOption, SortDirection, SortValue, SortDef, ResourceAction, BulkAction, WorkbenchState, } from "./types";
2
+ export { useViewPreference } from "./hooks/useViewPreference";
3
+ export type { UseViewPreferenceReturn } from "./hooks/useViewPreference";
4
+ export { useResourceCollection } from "./hooks/useResourceCollection";
5
+ export type { UseResourceCollectionOptions, UseResourceCollectionReturn, } from "./hooks/useResourceCollection";
6
+ export { useResourceSelection } from "./hooks/useResourceSelection";
7
+ export type { UseResourceSelectionReturn } from "./hooks/useResourceSelection";
8
+ export { useResourceFilters } from "./hooks/useResourceFilters";
9
+ export type { UseResourceFiltersOptions, UseResourceFiltersReturn, FilterSortState, } from "./hooks/useResourceFilters";
10
+ export { StatusBadge } from "./components/StatusBadge";
11
+ export type { StatusBadgeProps } from "./components/StatusBadge";
12
+ export { ColumnHeader } from "./components/ColumnHeader";
13
+ export type { ColumnHeaderProps } from "./components/ColumnHeader";
14
+ export { SelectionCheckbox } from "./components/SelectionCheckbox";
15
+ export type { SelectionCheckboxProps } from "./components/SelectionCheckbox";
16
+ export { ResourceTable } from "./components/ResourceTable";
17
+ export type { ResourceTableProps } from "./components/ResourceTable";
18
+ export { ResourceCards } from "./components/ResourceCards";
19
+ export type { ResourceCardsProps } from "./components/ResourceCards";
20
+ export { ResourceList } from "./components/ResourceList";
21
+ export type { ResourceListProps } from "./components/ResourceList";
22
+ export { BulkActionBar } from "./components/BulkActionBar";
23
+ export type { BulkActionBarProps } from "./components/BulkActionBar";
24
+ export { FilterBar } from "./components/FilterBar";
25
+ export type { FilterBarProps } from "./components/FilterBar";
26
+ export { ViewSwitcher } from "./components/ViewSwitcher";
27
+ export type { ViewSwitcherProps } from "./components/ViewSwitcher";
28
+ export { ResourceInspector } from "./components/ResourceInspector";
29
+ export type { ResourceInspectorProps } from "./components/ResourceInspector";
30
+ export { ResourceWorkbench } from "./components/ResourceWorkbench";
31
+ export type { ResourceWorkbenchProps } from "./components/ResourceWorkbench";
32
+ export { ResourceAvatar } from "./components/ResourceAvatar";
33
+ export type { ResourceAvatarProps } from "./components/ResourceAvatar";
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resource-workbench/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,SAAS,EACT,OAAO,EACP,cAAc,EACd,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,19 @@
1
+ // Hooks
2
+ export { useViewPreference } from "./hooks/useViewPreference";
3
+ export { useResourceCollection } from "./hooks/useResourceCollection";
4
+ export { useResourceSelection } from "./hooks/useResourceSelection";
5
+ export { useResourceFilters } from "./hooks/useResourceFilters";
6
+ // Components
7
+ export { StatusBadge } from "./components/StatusBadge";
8
+ export { ColumnHeader } from "./components/ColumnHeader";
9
+ export { SelectionCheckbox } from "./components/SelectionCheckbox";
10
+ export { ResourceTable } from "./components/ResourceTable";
11
+ export { ResourceCards } from "./components/ResourceCards";
12
+ export { ResourceList } from "./components/ResourceList";
13
+ export { BulkActionBar } from "./components/BulkActionBar";
14
+ export { FilterBar } from "./components/FilterBar";
15
+ export { ViewSwitcher } from "./components/ViewSwitcher";
16
+ export { ResourceInspector } from "./components/ResourceInspector";
17
+ export { ResourceWorkbench } from "./components/ResourceWorkbench";
18
+ export { ResourceAvatar } from "./components/ResourceAvatar";
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resource-workbench/index.ts"],"names":[],"mappings":"AAiBA,QAAQ;AACR,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAMtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAOhE,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,165 @@
1
+ import type { ReactNode } from "react";
2
+ import type { SearchResult } from "@stigmer/protos/ai/stigmer/search/v1/io_pb";
3
+ /** Available layout modes for the resource workbench. */
4
+ export type ViewMode = "table" | "cards" | "list";
5
+ /**
6
+ * Resource status phases that map to `--stgm-status-*` design tokens.
7
+ *
8
+ * Each phase corresponds to a token group defined in `@stigmer/theme`
9
+ * (e.g. `--stgm-status-ready`, `--stgm-status-failed-subtle`).
10
+ */
11
+ export type StatusPhase = "ready" | "running" | "pending" | "degraded" | "failed" | "disabled" | "draft";
12
+ /**
13
+ * Defines a single column in the {@link ResourceTable}.
14
+ *
15
+ * Generic over `TData` so platform builders can use richer item types
16
+ * beyond `SearchResult` while the Console uses `SearchResult` directly.
17
+ */
18
+ export interface WorkbenchColumnDef<TData = SearchResult> {
19
+ /** Stable column identifier (used for visibility persistence and URL state). */
20
+ readonly id: string;
21
+ /** Column header label. */
22
+ readonly header: string;
23
+ /**
24
+ * Accessor function that extracts the cell value from a row item.
25
+ * Return a `ReactNode` for custom cell rendering.
26
+ */
27
+ readonly cell: (item: TData) => ReactNode;
28
+ /**
29
+ * Whether this column is sortable. When `true`, clicking the header
30
+ * toggles sort direction.
31
+ * @default false
32
+ */
33
+ readonly sortable?: boolean;
34
+ /**
35
+ * Whether this column is visible by default.
36
+ * Users can toggle visibility via column preferences.
37
+ * @default true
38
+ */
39
+ readonly defaultVisible?: boolean;
40
+ /**
41
+ * Minimum column width in pixels. The table uses this as a CSS
42
+ * `min-width` to prevent content collapse.
43
+ */
44
+ readonly minWidth?: number;
45
+ /**
46
+ * Relative flex weight for distributing remaining horizontal space.
47
+ * Columns with higher weight receive more space.
48
+ * @default 1
49
+ */
50
+ readonly flex?: number;
51
+ }
52
+ /** Operator for a single filter expression. */
53
+ export type FilterOperator = "eq" | "neq" | "contains" | "gt" | "lt" | "gte" | "lte" | "in";
54
+ /** A single active filter value applied to the collection. */
55
+ export interface FilterValue {
56
+ /** The filter definition ID this value applies to. */
57
+ readonly filterId: string;
58
+ /** Comparison operator. */
59
+ readonly operator: FilterOperator;
60
+ /**
61
+ * Filter value(s). A string for scalar operators, an array for `in`.
62
+ */
63
+ readonly value: string | readonly string[];
64
+ }
65
+ /**
66
+ * Defines a filterable property for the {@link FilterBar}.
67
+ *
68
+ * Platform builders declare which properties are filterable and how
69
+ * they appear in the filter UI.
70
+ */
71
+ export interface FilterDef {
72
+ /** Stable filter identifier (used in URL state serialization). */
73
+ readonly id: string;
74
+ /** Human-readable label shown in the filter picker and chips. */
75
+ readonly label: string;
76
+ /** Filter input type. */
77
+ readonly type: "text" | "select" | "multi-select" | "date";
78
+ /**
79
+ * Available options for `select` and `multi-select` types.
80
+ * Ignored for `text` and `date`.
81
+ */
82
+ readonly options?: readonly FilterOption[];
83
+ /**
84
+ * Allowed operators. Defaults to `["eq"]` for selects,
85
+ * `["contains"]` for text, and `["gte", "lte"]` for dates.
86
+ */
87
+ readonly operators?: readonly FilterOperator[];
88
+ }
89
+ /** A selectable option within a `select` or `multi-select` filter. */
90
+ export interface FilterOption {
91
+ /** The value sent in the filter expression. */
92
+ readonly value: string;
93
+ /** Display label. */
94
+ readonly label: string;
95
+ /** Optional icon rendered before the label. */
96
+ readonly icon?: ReactNode;
97
+ }
98
+ /** Sort direction. */
99
+ export type SortDirection = "asc" | "desc";
100
+ /** A single active sort applied to the collection. */
101
+ export interface SortValue {
102
+ /** Column or property ID to sort by. */
103
+ readonly id: string;
104
+ /** Sort direction. */
105
+ readonly direction: SortDirection;
106
+ }
107
+ /**
108
+ * Defines a sortable property. Used by hooks to validate incoming sort
109
+ * state and by the UI to render sort options in column headers and
110
+ * sort dropdowns.
111
+ */
112
+ export interface SortDef {
113
+ /** Stable identifier matching a column ID or virtual sort key. */
114
+ readonly id: string;
115
+ /** Human-readable label (e.g. "Name", "Last updated"). */
116
+ readonly label: string;
117
+ /** Default direction when this sort is first activated. @default "asc" */
118
+ readonly defaultDirection?: SortDirection;
119
+ }
120
+ /** A single action available for a resource item (shown in context menus). */
121
+ export interface ResourceAction<TData = SearchResult> {
122
+ /** Stable action identifier. */
123
+ readonly id: string;
124
+ /** Display label. */
125
+ readonly label: string;
126
+ /** Icon rendered before the label. */
127
+ readonly icon?: ReactNode;
128
+ /** Keyboard shortcut hint displayed in the menu. */
129
+ readonly shortcut?: string;
130
+ /** Visual variant. @default "default" */
131
+ readonly variant?: "default" | "destructive";
132
+ /** Called when the action is selected. Receives the target item. */
133
+ readonly onAction: (item: TData) => void;
134
+ /** When `true`, the action is shown but non-interactive. */
135
+ readonly disabled?: boolean;
136
+ }
137
+ /** A bulk action available when multiple items are selected. */
138
+ export interface BulkAction<TData = SearchResult> {
139
+ /** Stable action identifier. */
140
+ readonly id: string;
141
+ /** Display label (e.g. "Delete", "Change visibility"). */
142
+ readonly label: string;
143
+ /** Icon rendered before the label. */
144
+ readonly icon?: ReactNode;
145
+ /** Visual variant. @default "default" */
146
+ readonly variant?: "default" | "destructive";
147
+ /** Called with the full set of selected items. */
148
+ readonly onAction: (items: readonly TData[]) => void;
149
+ /** When `true`, the action is shown but non-interactive. */
150
+ readonly disabled?: boolean;
151
+ }
152
+ /**
153
+ * Serializable snapshot of the workbench's filter, sort, pagination,
154
+ * and view state. Passed to `onStateChange` so consumers can sync
155
+ * this state to URL search params or other persistence layers.
156
+ */
157
+ export interface WorkbenchState {
158
+ readonly filters: readonly FilterValue[];
159
+ readonly sort: SortValue | null;
160
+ readonly page: number;
161
+ readonly pageSize: number;
162
+ readonly query: string;
163
+ readonly viewMode: ViewMode;
164
+ }
165
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/resource-workbench/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAM/E,yDAAyD;AACzD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAMlD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,SAAS,GACT,SAAS,GACT,UAAU,GACV,QAAQ,GACR,UAAU,GACV,OAAO,CAAC;AAMZ;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,KAAK,GAAG,YAAY;IACtD,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GACtB,IAAI,GACJ,KAAK,GACL,UAAU,GACV,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,IAAI,CAAC;AAET,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAChD;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B;AAMD,sBAAsB;AACtB,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,sDAAsD;AACtD,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAC;CAC3C;AAMD,8EAA8E;AAC9E,MAAM,WAAW,cAAc,CAAC,KAAK,GAAG,YAAY;IAClD,gCAAgC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,gEAAgE;AAChE,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,YAAY;IAC9C,gCAAgC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IAC7C,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,KAAK,IAAI,CAAC;IACrD,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/resource-workbench/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import type { DetailAction } from "../resource-detail/types";
2
+ /** Props for {@link RunnerDetailView}. */
3
+ export interface RunnerDetailViewProps {
4
+ /** Runner ID. */
5
+ readonly id: string;
6
+ /**
7
+ * Called once when the runner resource has been fetched successfully.
8
+ * Provides the resource display name for use cases like breadcrumbs
9
+ * or document titles.
10
+ */
11
+ readonly onResourceLoad?: (meta: {
12
+ name: string;
13
+ id: string;
14
+ }) => void;
15
+ /**
16
+ * Primary action rendered as a visible button in the header area.
17
+ */
18
+ readonly primaryAction?: DetailAction;
19
+ /**
20
+ * Secondary actions rendered in the kebab overflow menu.
21
+ */
22
+ readonly actions?: readonly DetailAction[];
23
+ /** Additional CSS classes for the root container. */
24
+ readonly className?: string;
25
+ }
26
+ /**
27
+ * Operational detail view for a Runner.
28
+ *
29
+ * Fetches the runner via {@link useRunner} internally and renders its
30
+ * status, connection information, and machine details inside a
31
+ * {@link ResourceDetailShell}. Polls automatically when the runner is
32
+ * in a transitional phase (Starting, Pending).
33
+ *
34
+ * Handles loading, error, and not-found states automatically.
35
+ * Zero Console dependencies — safe for platform builder embedding.
36
+ * All visual properties flow through `--stgm-*` design tokens.
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * <RunnerDetailView id={runnerId} />
41
+ * ```
42
+ */
43
+ export declare function RunnerDetailView({ id, onResourceLoad, primaryAction, actions, className, }: RunnerDetailViewProps): import("react/jsx-runtime").JSX.Element;
44
+ //# sourceMappingURL=RunnerDetailView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunnerDetailView.d.ts","sourceRoot":"","sources":["../../src/runner/RunnerDetailView.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,0BAA0B,CAAC;AAGjF,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,iBAAiB;IACjB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,EAAE,EACF,cAAc,EACd,aAAa,EACb,OAAO,EACP,SAAS,GACV,EAAE,qBAAqB,2CA4EvB"}
@@ -0,0 +1,154 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useRef } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { timestampDate } from "@bufbuild/protobuf/wkt";
6
+ import { RunnerPhase } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/enum_pb";
7
+ import { useRunner } from "./useRunner";
8
+ import { phaseLabel, phaseDotColor, isTransitionalPhase } from "./phase";
9
+ import { ErrorMessage } from "../error/ErrorMessage";
10
+ import { ResourceDetailShell } from "../resource-detail/ResourceDetailShell";
11
+ const TRANSITIONAL_POLL_MS = 5_000;
12
+ /**
13
+ * Operational detail view for a Runner.
14
+ *
15
+ * Fetches the runner via {@link useRunner} internally and renders its
16
+ * status, connection information, and machine details inside a
17
+ * {@link ResourceDetailShell}. Polls automatically when the runner is
18
+ * in a transitional phase (Starting, Pending).
19
+ *
20
+ * Handles loading, error, and not-found states automatically.
21
+ * Zero Console dependencies — safe for platform builder embedding.
22
+ * All visual properties flow through `--stgm-*` design tokens.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <RunnerDetailView id={runnerId} />
27
+ * ```
28
+ */
29
+ export function RunnerDetailView({ id, onResourceLoad, primaryAction, actions, className, }) {
30
+ const phase = useRef(RunnerPhase.UNSPECIFIED);
31
+ const opts = {
32
+ refetchInterval: isTransitionalPhase(phase.current)
33
+ ? TRANSITIONAL_POLL_MS
34
+ : false,
35
+ };
36
+ const { runner, isLoading, error, refetch } = useRunner(id, opts);
37
+ if (runner?.status?.phase != null) {
38
+ phase.current = runner.status.phase;
39
+ }
40
+ const onResourceLoadRef = useRef(onResourceLoad);
41
+ onResourceLoadRef.current = onResourceLoad;
42
+ useEffect(() => {
43
+ if (runner?.metadata?.name) {
44
+ onResourceLoadRef.current?.({
45
+ name: runner.metadata.name,
46
+ id: runner.metadata.id,
47
+ });
48
+ }
49
+ }, [runner]);
50
+ if (isLoading)
51
+ return _jsx(LoadingSkeleton, { className: className });
52
+ if (error)
53
+ return _jsx(ErrorMessage, { error: error, retry: refetch, className: className });
54
+ if (!runner)
55
+ return _jsx(NotFoundState, { className: className });
56
+ const meta = runner.metadata;
57
+ const status = runner.status;
58
+ const info = status?.connectionInfo;
59
+ const runnerPhase = status?.phase ?? RunnerPhase.UNSPECIFIED;
60
+ const headerMeta = {
61
+ name: meta?.name || meta?.id || "Unnamed Runner",
62
+ id: meta?.id || id,
63
+ org: meta?.org,
64
+ icon: _jsx(RunnerIcon, { className: "size-6 text-muted-foreground" }),
65
+ status: phaseToStatusPhase(runnerPhase),
66
+ statusLabel: phaseLabel(runnerPhase),
67
+ };
68
+ return (_jsx(ResourceDetailShell, { header: headerMeta, primaryAction: primaryAction, actions: actions, className: className, children: _jsxs("div", { className: "flex flex-col gap-6 pt-2", children: [_jsx(StatusSection, { phase: runnerPhase, lastHeartbeat: status?.lastHeartbeatAt
69
+ ? timestampDate(status.lastHeartbeatAt)
70
+ : null, currentExecutions: status?.currentExecutions ?? 0, taskQueue: status?.taskQueue }), info && (_jsx(ConnectionInfoSection, { hostname: info.hostname, os: info.os, arch: info.arch, runnerVersion: info.runnerVersion }))] }) }));
71
+ }
72
+ // ---------------------------------------------------------------------------
73
+ // Phase → StatusPhase mapping
74
+ // ---------------------------------------------------------------------------
75
+ function phaseToStatusPhase(phase) {
76
+ switch (phase) {
77
+ case RunnerPhase.READY:
78
+ return "ready";
79
+ case RunnerPhase.BUSY:
80
+ return "running";
81
+ case RunnerPhase.STARTING:
82
+ case RunnerPhase.PENDING:
83
+ return "pending";
84
+ case RunnerPhase.FAILED:
85
+ return "failed";
86
+ case RunnerPhase.STOPPED:
87
+ return "disabled";
88
+ default:
89
+ return "draft";
90
+ }
91
+ }
92
+ // ---------------------------------------------------------------------------
93
+ // Sections
94
+ // ---------------------------------------------------------------------------
95
+ function StatusSection({ phase, lastHeartbeat, currentExecutions, taskQueue, }) {
96
+ return (_jsx(Section, { title: "Status", children: _jsxs("div", { className: "grid grid-cols-2 gap-4 p-4 sm:grid-cols-4", children: [_jsx(StatusItem, { label: "Phase", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: cn("size-2 shrink-0 rounded-full", phaseDotColor(phase)), "aria-hidden": "true" }), _jsx("span", { className: "text-sm font-medium text-foreground", children: phaseLabel(phase) })] }) }), _jsx(StatusItem, { label: "Executions", children: _jsx("span", { className: "text-sm font-medium text-foreground", children: currentExecutions }) }), _jsx(StatusItem, { label: "Last heartbeat", children: _jsx("span", { className: "text-sm text-foreground", children: lastHeartbeat ? formatRelativeTime(lastHeartbeat) : "—" }) }), taskQueue && (_jsx(StatusItem, { label: "Task queue", children: _jsx("code", { className: "rounded bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground", children: taskQueue }) }))] }) }));
97
+ }
98
+ function StatusItem({ label, children, }) {
99
+ return (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("span", { className: "text-[11px] font-medium text-muted-foreground", children: label }), children] }));
100
+ }
101
+ function ConnectionInfoSection({ hostname, os, arch, runnerVersion, }) {
102
+ const osArch = os && arch ? `${os}/${arch}` : os || arch || undefined;
103
+ const hasAnyInfo = hostname || osArch || runnerVersion;
104
+ if (!hasAnyInfo)
105
+ return null;
106
+ return (_jsx(Section, { title: "Machine", children: _jsxs("div", { className: "flex flex-col divide-y divide-border", children: [hostname && (_jsx(InfoRow, { label: "Hostname", value: hostname })), osArch && (_jsx(InfoRow, { label: "Platform", value: osArch, mono: true })), runnerVersion && (_jsx(InfoRow, { label: "Runner version", value: runnerVersion, mono: true }))] }) }));
107
+ }
108
+ function InfoRow({ label, value, mono, }) {
109
+ return (_jsxs("div", { className: "flex items-baseline justify-between px-4 py-2.5", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: label }), _jsx("span", { className: cn("text-sm text-foreground", mono && "font-mono text-xs"), children: value })] }));
110
+ }
111
+ // ---------------------------------------------------------------------------
112
+ // Shared layout primitives
113
+ // ---------------------------------------------------------------------------
114
+ function Section({ title, children, }) {
115
+ return (_jsxs("section", { children: [_jsx("h3", { className: "mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground", children: title }), _jsx("div", { className: "overflow-hidden rounded-lg border border-border", children: children })] }));
116
+ }
117
+ // ---------------------------------------------------------------------------
118
+ // Non-happy states
119
+ // ---------------------------------------------------------------------------
120
+ function LoadingSkeleton({ className }) {
121
+ return (_jsxs("div", { className: cn("flex flex-col gap-6", className), "aria-busy": "true", "aria-label": "Loading runner details", children: [_jsxs("div", { className: "flex items-start gap-3", children: [_jsx("div", { className: "mt-1 size-6 shrink-0 animate-pulse rounded bg-muted" }), _jsxs("div", { className: "flex-1 space-y-2", children: [_jsx("div", { className: "h-5 w-48 animate-pulse rounded bg-muted" }), _jsx("div", { className: "h-3 w-32 animate-pulse rounded bg-muted" })] })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "h-3 w-16 animate-pulse rounded bg-muted" }), _jsx("div", { className: "animate-pulse rounded-lg border border-border bg-muted-faint", style: { height: "96px" } })] }), _jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "h-3 w-20 animate-pulse rounded bg-muted" }), _jsx("div", { className: "animate-pulse rounded-lg border border-border bg-muted-faint", style: { height: "96px" } })] })] }));
122
+ }
123
+ function NotFoundState({ className }) {
124
+ return (_jsxs("div", { role: "status", className: cn("flex flex-col items-center gap-2 py-12 text-center", className), children: [_jsx(RunnerIcon, { className: "size-10 text-muted-foreground-faint" }), _jsx("p", { className: "text-sm font-medium text-muted-foreground", children: "Runner not found" }), _jsx("p", { className: "text-xs text-muted-foreground-subtle", children: "This runner doesn't exist or has been removed." })] }));
125
+ }
126
+ // ---------------------------------------------------------------------------
127
+ // Utilities
128
+ // ---------------------------------------------------------------------------
129
+ function formatRelativeTime(date) {
130
+ const now = Date.now();
131
+ const diffMs = now - date.getTime();
132
+ const diffSec = Math.floor(diffMs / 1000);
133
+ if (diffSec < 10)
134
+ return "Just now";
135
+ if (diffSec < 60)
136
+ return `${diffSec}s ago`;
137
+ const diffMin = Math.floor(diffSec / 60);
138
+ if (diffMin < 60)
139
+ return `${diffMin}m ago`;
140
+ const diffHour = Math.floor(diffMin / 60);
141
+ if (diffHour < 24)
142
+ return `${diffHour}h ago`;
143
+ return date.toLocaleDateString("en-US", {
144
+ month: "short",
145
+ day: "numeric",
146
+ });
147
+ }
148
+ // ---------------------------------------------------------------------------
149
+ // Icon
150
+ // ---------------------------------------------------------------------------
151
+ function RunnerIcon({ className }) {
152
+ return (_jsxs("svg", { className: className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("rect", { x: "2", y: "4", width: "12", height: "9", rx: "1.5" }), _jsx("path", { d: "M5 1v3M11 1v3M5 8.5h6" })] }));
153
+ }
154
+ //# sourceMappingURL=RunnerDetailView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunnerDetailView.js","sourceRoot":"","sources":["../../src/runner/RunnerDetailView.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
+ import { RunnerPhase } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/enum_pb";
1
2
  import type { Runner } from "@stigmer/protos/ai/stigmer/agentic/runner/v1/api_pb";
3
+ /** Sort key for the runner list. */
4
+ export type RunnerSortKey = "phase" | "name" | "heartbeat" | "executions";
2
5
  /** Props for {@link RunnerListPanel}. */
3
6
  export interface RunnerListPanelProps {
4
7
  /** Organization slug to scope the runner list. */
@@ -14,6 +17,28 @@ export interface RunnerListPanelProps {
14
17
  * @default false
15
18
  */
16
19
  readonly includeSystemManaged?: boolean;
20
+ /**
21
+ * Restrict the list to runners in the specified phases.
22
+ *
23
+ * When provided, only runners whose phase is in this array are shown.
24
+ * When omitted or empty, all phases are included.
25
+ */
26
+ readonly filterPhases?: readonly RunnerPhase[];
27
+ /**
28
+ * Client-side text filter. When provided, only runners whose name
29
+ * or hostname contains this substring (case-insensitive) are shown.
30
+ */
31
+ readonly searchQuery?: string;
32
+ /**
33
+ * Sort key for ordering the runner list.
34
+ * @default "phase"
35
+ */
36
+ readonly sortBy?: RunnerSortKey;
37
+ /**
38
+ * Sort direction.
39
+ * @default "asc"
40
+ */
41
+ readonly sortDirection?: "asc" | "desc";
17
42
  /** Expose refetch so parent components can trigger a list refresh. */
18
43
  readonly onRefetchRef?: (refetch: () => void) => void;
19
44
  /**
@@ -66,5 +91,5 @@ export interface RunnerListPanelProps {
66
91
  * />
67
92
  * ```
68
93
  */
69
- export declare function RunnerListPanel({ org, includeSystemManaged, onRefetchRef, onStopped, onDeleted, className, }: RunnerListPanelProps): import("react/jsx-runtime").JSX.Element;
94
+ export declare function RunnerListPanel({ org, includeSystemManaged, filterPhases, searchQuery, sortBy, sortDirection, onRefetchRef, onStopped, onDeleted, className, }: RunnerListPanelProps): import("react/jsx-runtime").JSX.Element;
70
95
  //# sourceMappingURL=RunnerListPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerListPanel.d.ts","sourceRoot":"","sources":["../../src/runner/RunnerListPanel.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AAwBlF,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,oBAA4B,EAC5B,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE,oBAAoB,2CAqHtB"}
1
+ {"version":3,"file":"RunnerListPanel.d.ts","sourceRoot":"","sources":["../../src/runner/RunnerListPanel.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AA0BlF,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;AAE1E,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxC,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,oBAA4B,EAC5B,YAAY,EACZ,WAAW,EACX,MAAgB,EAChB,aAAqB,EACrB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,GACV,EAAE,oBAAoB,2CAgJtB"}