@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,131 @@
1
+ /**
2
+ * Resource kind in a dependency tree.
3
+ *
4
+ * - `"agent"` — the root agent (always the tree root)
5
+ * - `"mcp-server"` — an MCP server referenced via `mcpServerUsages` or `mcpAccess`
6
+ * - `"skill"` — a skill referenced via `skillRefs`
7
+ * - `"sub-agent"` — an inline sub-agent definition with its own dependencies
8
+ */
9
+ export type NodeKind = "agent" | "mcp-server" | "skill" | "sub-agent";
10
+
11
+ /**
12
+ * A single node in the agent dependency tree.
13
+ *
14
+ * The tree is recursive: sub-agent nodes contain their own children
15
+ * (MCP servers and skills they access). Edges are implicit in the
16
+ * parent-child relationship — no separate edge type is needed.
17
+ *
18
+ * Nodes are navigable when `ref` is defined (MCP servers, skills).
19
+ * Sub-agent nodes have no `ref` because they are inline definitions
20
+ * within the agent spec, not standalone resources.
21
+ */
22
+ export interface DependencyNode {
23
+ /**
24
+ * Deterministic identifier. Format: `{kind}:{slug}` for referenced
25
+ * resources, `sub-agent:{name}` for sub-agents, or `agent:{slug}`
26
+ * for the root.
27
+ */
28
+ readonly id: string;
29
+ /** What kind of resource this node represents. */
30
+ readonly kind: NodeKind;
31
+ /** Primary display label (slug for resources, name for sub-agents). */
32
+ readonly label: string;
33
+ /**
34
+ * Qualified label shown when the resource belongs to a different org
35
+ * than the agent (e.g., `"other-org/shared-server"`). Undefined when
36
+ * the resource is in the same org as the parent agent.
37
+ */
38
+ readonly qualifiedLabel?: string;
39
+ /** Short description (sub-agent description, if available). */
40
+ readonly description?: string;
41
+ /**
42
+ * Key-value metadata displayed as secondary info.
43
+ * Examples: `{ tools: "3 tools" }`, `{ model: "gpt-4" }`.
44
+ */
45
+ readonly metadata?: Readonly<Record<string, string>>;
46
+ /** Child nodes. Empty array for leaf nodes (MCP servers, skills). */
47
+ readonly children: readonly DependencyNode[];
48
+ /**
49
+ * Navigation reference for clickable nodes. Defined for MCP servers
50
+ * and skills (standalone resources). Undefined for sub-agents (inline
51
+ * definitions) and the root agent.
52
+ */
53
+ readonly ref?: { readonly org: string; readonly slug: string };
54
+ }
55
+
56
+ /**
57
+ * Complete dependency tree for an agent, rooted at the agent itself.
58
+ */
59
+ export interface DependencyTree {
60
+ /** The agent node with all dependencies as descendants. */
61
+ readonly root: DependencyNode;
62
+ /** Total number of nodes in the tree (including root). */
63
+ readonly nodeCount: number;
64
+ }
65
+
66
+ /** Props for {@link DependencyGraph}. */
67
+ export interface DependencyGraphProps {
68
+ /** The dependency tree to render. */
69
+ readonly tree: DependencyTree;
70
+ /**
71
+ * Called when a navigable node is clicked. The `node.ref` field
72
+ * contains the `org` and `slug` for routing. Only fired for nodes
73
+ * where `ref` is defined (MCP servers, skills).
74
+ */
75
+ readonly onNodeClick?: (node: DependencyNode) => void;
76
+ /**
77
+ * Whether sub-agent subtrees start expanded.
78
+ * @default true
79
+ */
80
+ readonly defaultExpanded?: boolean;
81
+ /** Additional CSS classes for the root container. */
82
+ readonly className?: string;
83
+ }
84
+
85
+ /** Options for {@link useDependencyGraph}. */
86
+ export interface UseDependencyGraphOptions {
87
+ /** Display name of the agent (used as the root node label). */
88
+ readonly agentName: string;
89
+ /** Organization slug of the agent (used for cross-org label detection). */
90
+ readonly agentOrg: string;
91
+ /**
92
+ * The agent's spec containing dependency references.
93
+ * Pass `undefined` while the agent is loading — the hook returns
94
+ * `null` for `tree` and `true` for `isEmpty`.
95
+ */
96
+ readonly spec: {
97
+ readonly mcpServerUsages: readonly {
98
+ readonly mcpServerRef?: {
99
+ readonly org: string;
100
+ readonly slug: string;
101
+ };
102
+ readonly enabledTools: readonly string[];
103
+ readonly toolApprovalOverrides: readonly unknown[];
104
+ }[];
105
+ readonly skillRefs: readonly {
106
+ readonly org: string;
107
+ readonly slug: string;
108
+ }[];
109
+ readonly subAgents: readonly {
110
+ readonly name: string;
111
+ readonly description: string;
112
+ readonly mcpAccess: readonly {
113
+ readonly mcpServer: string;
114
+ readonly enabledTools: readonly string[];
115
+ }[];
116
+ readonly skillRefs: readonly {
117
+ readonly org: string;
118
+ readonly slug: string;
119
+ }[];
120
+ readonly modelOverride: string;
121
+ }[];
122
+ } | undefined;
123
+ }
124
+
125
+ /** Return value of {@link useDependencyGraph}. */
126
+ export interface UseDependencyGraphReturn {
127
+ /** The computed tree, or `null` when spec is undefined. */
128
+ readonly tree: DependencyTree | null;
129
+ /** `true` when the agent has zero dependencies (or spec is undefined). */
130
+ readonly isEmpty: boolean;
131
+ }
@@ -0,0 +1,158 @@
1
+ "use client";
2
+
3
+ import { useMemo } from "react";
4
+ import type {
5
+ DependencyNode,
6
+ DependencyTree,
7
+ UseDependencyGraphOptions,
8
+ UseDependencyGraphReturn,
9
+ } from "./types";
10
+
11
+ /**
12
+ * Pure transformation hook that converts an `AgentSpec` into a
13
+ * {@link DependencyTree} for rendering.
14
+ *
15
+ * No data fetching, no side effects — the tree is computed entirely
16
+ * from the spec fields already available via {@link useAgent}. The
17
+ * result is memoized and only recomputes when the spec reference
18
+ * changes.
19
+ *
20
+ * Returns `null` for `tree` when `spec` is `undefined` (loading state).
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * const { tree, isEmpty } = useDependencyGraph({
25
+ * agentName: agent.metadata.name,
26
+ * agentOrg: agent.metadata.org,
27
+ * spec: agent.spec,
28
+ * });
29
+ *
30
+ * if (!isEmpty && tree) {
31
+ * return <DependencyGraph tree={tree} onNodeClick={handleClick} />;
32
+ * }
33
+ * ```
34
+ */
35
+ export function useDependencyGraph({
36
+ agentName,
37
+ agentOrg,
38
+ spec,
39
+ }: UseDependencyGraphOptions): UseDependencyGraphReturn {
40
+ return useMemo(() => {
41
+ if (!spec) return { tree: null, isEmpty: true };
42
+
43
+ const { mcpServerUsages, skillRefs, subAgents } = spec;
44
+
45
+ const hasDeps =
46
+ mcpServerUsages.length > 0 ||
47
+ skillRefs.length > 0 ||
48
+ subAgents.length > 0;
49
+
50
+ if (!hasDeps) return { tree: null, isEmpty: true };
51
+
52
+ let nodeCount = 1; // root
53
+
54
+ const mcpNodes: DependencyNode[] = mcpServerUsages
55
+ .filter((u) => u.mcpServerRef)
56
+ .map((usage) => {
57
+ nodeCount++;
58
+ const ref = usage.mcpServerRef!;
59
+ const toolCount = usage.enabledTools.length;
60
+
61
+ return {
62
+ id: `mcp-server:${ref.slug}`,
63
+ kind: "mcp-server" as const,
64
+ label: ref.slug,
65
+ qualifiedLabel:
66
+ ref.org && ref.org !== agentOrg
67
+ ? `${ref.org}/${ref.slug}`
68
+ : undefined,
69
+ metadata: {
70
+ tools:
71
+ toolCount > 0
72
+ ? `${toolCount} ${toolCount === 1 ? "tool" : "tools"}`
73
+ : "all tools",
74
+ },
75
+ children: [],
76
+ ref: { org: ref.org || agentOrg, slug: ref.slug },
77
+ };
78
+ });
79
+
80
+ const skillNodes: DependencyNode[] = skillRefs.map((ref) => {
81
+ nodeCount++;
82
+ return {
83
+ id: `skill:${ref.slug}`,
84
+ kind: "skill" as const,
85
+ label: ref.slug,
86
+ qualifiedLabel:
87
+ ref.org && ref.org !== agentOrg
88
+ ? `${ref.org}/${ref.slug}`
89
+ : undefined,
90
+ children: [],
91
+ ref: { org: ref.org || agentOrg, slug: ref.slug },
92
+ };
93
+ });
94
+
95
+ const subAgentNodes: DependencyNode[] = subAgents.map((sa) => {
96
+ nodeCount++;
97
+
98
+ const saMcpNodes: DependencyNode[] = sa.mcpAccess.map((access) => {
99
+ nodeCount++;
100
+ const toolCount = access.enabledTools.length;
101
+ return {
102
+ id: `sub-agent:${sa.name}:mcp-server:${access.mcpServer}`,
103
+ kind: "mcp-server" as const,
104
+ label: access.mcpServer,
105
+ metadata: {
106
+ tools:
107
+ toolCount > 0
108
+ ? `${toolCount} ${toolCount === 1 ? "tool" : "tools"}`
109
+ : "all tools",
110
+ },
111
+ children: [],
112
+ ref: { org: agentOrg, slug: access.mcpServer },
113
+ };
114
+ });
115
+
116
+ const saSkillNodes: DependencyNode[] = sa.skillRefs.map((ref) => {
117
+ nodeCount++;
118
+ return {
119
+ id: `sub-agent:${sa.name}:skill:${ref.slug}`,
120
+ kind: "skill" as const,
121
+ label: ref.slug,
122
+ qualifiedLabel:
123
+ ref.org && ref.org !== agentOrg
124
+ ? `${ref.org}/${ref.slug}`
125
+ : undefined,
126
+ children: [],
127
+ ref: { org: ref.org || agentOrg, slug: ref.slug },
128
+ };
129
+ });
130
+
131
+ const metadata: Record<string, string> = {};
132
+ if (sa.modelOverride) {
133
+ metadata.model = sa.modelOverride;
134
+ }
135
+
136
+ return {
137
+ id: `sub-agent:${sa.name}`,
138
+ kind: "sub-agent" as const,
139
+ label: sa.name,
140
+ description: sa.description || undefined,
141
+ metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
142
+ children: [...saMcpNodes, ...saSkillNodes],
143
+ };
144
+ });
145
+
146
+ const root: DependencyNode = {
147
+ id: `agent:${agentName}`,
148
+ kind: "agent",
149
+ label: agentName,
150
+ children: [...mcpNodes, ...skillNodes, ...subAgentNodes],
151
+ };
152
+
153
+ return {
154
+ tree: { root, nodeCount },
155
+ isEmpty: false,
156
+ };
157
+ }, [agentName, agentOrg, spec]);
158
+ }
@@ -0,0 +1,90 @@
1
+ "use client";
2
+
3
+ import { cn } from "@stigmer/theme";
4
+ import { useEmptyState } from "./useEmptyState";
5
+ import type { EmptyStateProps } from "./types";
6
+
7
+ /**
8
+ * A semantic, accessible empty state component supporting four distinct
9
+ * variants: first-use, zero-results, permission, and error.
10
+ *
11
+ * Each variant provides appropriate default icons, copy, and ARIA roles.
12
+ * All defaults can be overridden via props. The `icon` prop accepts any
13
+ * ReactNode for full visual customization.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * <EmptyState
18
+ * variant="first-use"
19
+ * resourceLabel="agents"
20
+ * action={{ label: "Create agent", onClick: handleCreate }}
21
+ * />
22
+ * ```
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <EmptyState
27
+ * variant="error"
28
+ * errorMessage="Network request failed"
29
+ * action={{ label: "Retry", onClick: handleRetry }}
30
+ * />
31
+ * ```
32
+ */
33
+ export function EmptyState({
34
+ variant,
35
+ resourceLabel,
36
+ icon,
37
+ title,
38
+ description,
39
+ errorMessage,
40
+ action,
41
+ children,
42
+ className,
43
+ }: EmptyStateProps) {
44
+ const resolved = useEmptyState({
45
+ variant,
46
+ resourceLabel,
47
+ title,
48
+ description,
49
+ errorMessage,
50
+ });
51
+
52
+ return (
53
+ <div
54
+ role={resolved.role}
55
+ className={cn(
56
+ "flex flex-col items-center gap-3 py-12 text-center",
57
+ className,
58
+ )}
59
+ >
60
+ <div className="text-muted-foreground-faint">
61
+ {icon ?? resolved.defaultIcon}
62
+ </div>
63
+ <div className="flex flex-col gap-1">
64
+ <p className="text-sm font-medium text-muted-foreground">
65
+ {resolved.title}
66
+ </p>
67
+ <p className="max-w-sm text-xs text-muted-foreground-subtle">
68
+ {resolved.description}
69
+ </p>
70
+ </div>
71
+ {children
72
+ ? <div className="mt-1">{children}</div>
73
+ : action && (
74
+ <button
75
+ type="button"
76
+ onClick={action.onClick}
77
+ className={cn(
78
+ "mt-1 inline-flex items-center rounded-md px-3 py-1.5 text-xs font-medium",
79
+ variant === "error"
80
+ ? "border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground"
81
+ : "bg-primary text-primary-foreground hover:bg-primary-hover",
82
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
83
+ )}
84
+ >
85
+ {action.label}
86
+ </button>
87
+ )}
88
+ </div>
89
+ );
90
+ }
@@ -0,0 +1,9 @@
1
+ export { EmptyState } from "./EmptyState";
2
+ export { useEmptyState } from "./useEmptyState";
3
+ export type {
4
+ EmptyStateVariant,
5
+ EmptyStateAction,
6
+ EmptyStateProps,
7
+ UseEmptyStateOptions,
8
+ UseEmptyStateReturn,
9
+ } from "./types";
@@ -0,0 +1,81 @@
1
+ import type { ReactNode } from "react";
2
+
3
+ /**
4
+ * Semantic variant for an empty state, each representing a distinct
5
+ * reason why no content is visible.
6
+ */
7
+ export type EmptyStateVariant =
8
+ | "first-use"
9
+ | "zero-results"
10
+ | "permission"
11
+ | "error";
12
+
13
+ /** Action rendered as a button within the empty state. */
14
+ export interface EmptyStateAction {
15
+ /** Button label. */
16
+ readonly label: string;
17
+ /** Click handler. */
18
+ readonly onClick: () => void;
19
+ }
20
+
21
+ /** Options for the {@link useEmptyState} behavior hook. */
22
+ export interface UseEmptyStateOptions {
23
+ /** The semantic reason no content is shown. */
24
+ readonly variant: EmptyStateVariant;
25
+ /**
26
+ * Human-readable label for the resource type (e.g. "agents", "skills").
27
+ * Used to generate contextual default copy.
28
+ */
29
+ readonly resourceLabel?: string;
30
+ /** Custom title override. When provided, replaces the generated default. */
31
+ readonly title?: string;
32
+ /** Custom description override. When provided, replaces the generated default. */
33
+ readonly description?: string;
34
+ /** Error message to display — relevant for the "error" variant. */
35
+ readonly errorMessage?: string;
36
+ }
37
+
38
+ /** Return value of the {@link useEmptyState} behavior hook. */
39
+ export interface UseEmptyStateReturn {
40
+ /** Resolved title text. */
41
+ readonly title: string;
42
+ /** Resolved description text. */
43
+ readonly description: string;
44
+ /** Suggested default icon for the variant (as a ReactNode). */
45
+ readonly defaultIcon: ReactNode;
46
+ /** The ARIA role appropriate for this variant. */
47
+ readonly role: "status" | "alert";
48
+ }
49
+
50
+ /** Props for the styled {@link EmptyState} component. */
51
+ export interface EmptyStateProps {
52
+ /**
53
+ * The semantic reason no content is shown.
54
+ * Determines default icon, copy, and ARIA role.
55
+ */
56
+ readonly variant: EmptyStateVariant;
57
+ /**
58
+ * Human-readable label for the resource type (e.g. "agents", "skills").
59
+ * Used to generate contextual default copy.
60
+ */
61
+ readonly resourceLabel?: string;
62
+ /** Custom icon to display. Defaults to a variant-appropriate Lucide icon. */
63
+ readonly icon?: ReactNode;
64
+ /** Custom title override. */
65
+ readonly title?: string;
66
+ /** Custom description override. */
67
+ readonly description?: string;
68
+ /** Error message — only used when variant is "error". */
69
+ readonly errorMessage?: string;
70
+ /** Primary action button. */
71
+ readonly action?: EmptyStateAction;
72
+ /**
73
+ * Custom action slot content. When provided, renders in the action
74
+ * area (centered, below the description) instead of the `action` button.
75
+ * Use this when you need full control over the CTA element — e.g. a
76
+ * `<Link>` for client-side routing or a button with an icon.
77
+ */
78
+ readonly children?: ReactNode;
79
+ /** Additional CSS classes for the root container. */
80
+ readonly className?: string;
81
+ }
@@ -0,0 +1,85 @@
1
+ import { useMemo, createElement } from "react";
2
+ import { Package, SearchX, Lock, AlertCircle } from "lucide-react";
3
+ import type { UseEmptyStateOptions, UseEmptyStateReturn } from "./types";
4
+
5
+ const ICON_CLASSES = "h-10 w-10";
6
+
7
+ function resolveDefaults(
8
+ variant: UseEmptyStateOptions["variant"],
9
+ resourceLabel: string,
10
+ ): { title: string; description: string } {
11
+ switch (variant) {
12
+ case "first-use":
13
+ return {
14
+ title: `No ${resourceLabel} yet`,
15
+ description: `Create ${resourceLabel === "agents" ? "an agent" : `a ${resourceLabel.replace(/s$/, "")}`} to get started.`,
16
+ };
17
+ case "zero-results":
18
+ return {
19
+ title: "No results found",
20
+ description: "Try adjusting your search or filters.",
21
+ };
22
+ case "permission":
23
+ return {
24
+ title: `No access to ${resourceLabel}`,
25
+ description:
26
+ "You don't have permission to view these resources. Contact your organization admin.",
27
+ };
28
+ case "error":
29
+ return {
30
+ title: "Something went wrong",
31
+ description: "We couldn't load this content. Please try again.",
32
+ };
33
+ }
34
+ }
35
+
36
+ function resolveIcon(variant: UseEmptyStateOptions["variant"]) {
37
+ switch (variant) {
38
+ case "first-use":
39
+ return createElement(Package, { className: ICON_CLASSES });
40
+ case "zero-results":
41
+ return createElement(SearchX, { className: ICON_CLASSES });
42
+ case "permission":
43
+ return createElement(Lock, { className: ICON_CLASSES });
44
+ case "error":
45
+ return createElement(AlertCircle, { className: ICON_CLASSES });
46
+ }
47
+ }
48
+
49
+ function resolveRole(
50
+ variant: UseEmptyStateOptions["variant"],
51
+ ): "status" | "alert" {
52
+ return variant === "error" ? "alert" : "status";
53
+ }
54
+
55
+ /**
56
+ * Behavior hook that resolves empty state copy, icon, and accessibility
57
+ * attributes based on the semantic variant and optional overrides.
58
+ *
59
+ * Use this hook when you want full rendering control but need the
60
+ * variant-aware logic (default copy, icons, ARIA roles).
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * const { title, description, defaultIcon, role } = useEmptyState({
65
+ * variant: "first-use",
66
+ * resourceLabel: "agents",
67
+ * });
68
+ * ```
69
+ */
70
+ export function useEmptyState(options: UseEmptyStateOptions): UseEmptyStateReturn {
71
+ const { variant, resourceLabel = "resources", title, description, errorMessage } = options;
72
+
73
+ return useMemo(() => {
74
+ const defaults = resolveDefaults(variant, resourceLabel);
75
+ return {
76
+ title: title ?? defaults.title,
77
+ description:
78
+ variant === "error" && errorMessage
79
+ ? errorMessage
80
+ : (description ?? defaults.description),
81
+ defaultIcon: resolveIcon(variant),
82
+ role: resolveRole(variant),
83
+ };
84
+ }, [variant, resourceLabel, title, description, errorMessage]);
85
+ }
@@ -184,6 +184,7 @@ export function usePersonalEnvironment(
184
184
  data,
185
185
  });
186
186
 
187
+ environmentRef.current = created;
187
188
  refetch();
188
189
  return created;
189
190
  } catch (err) {
@@ -0,0 +1,45 @@
1
+ "use client";
2
+
3
+ import { Toaster } from "sonner";
4
+ import { useColorMode } from "../color-mode";
5
+ import type { StigmerToasterProps } from "./types";
6
+
7
+ /**
8
+ * Themed toast container for Stigmer SDK components.
9
+ *
10
+ * Uses `data-stgm-color-mode` (via {@link useColorMode}) instead of
11
+ * `next-themes` so it works identically in the Stigmer Console and in
12
+ * any third-party host application.
13
+ *
14
+ * Mount once near your `<StigmerProvider />`:
15
+ * ```tsx
16
+ * <StigmerProvider client={client}>
17
+ * <App />
18
+ * <StigmerToaster />
19
+ * </StigmerProvider>
20
+ * ```
21
+ */
22
+ export function StigmerToaster(props: StigmerToasterProps) {
23
+ const colorMode = useColorMode();
24
+
25
+ return (
26
+ <Toaster
27
+ theme={colorMode}
28
+ position="top-right"
29
+ richColors
30
+ className="toaster group"
31
+ toastOptions={{
32
+ classNames: {
33
+ toast:
34
+ "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
35
+ description: "group-[.toast]:text-muted-foreground",
36
+ actionButton:
37
+ "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
38
+ cancelButton:
39
+ "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",
40
+ },
41
+ }}
42
+ {...props}
43
+ />
44
+ );
45
+ }
@@ -0,0 +1,3 @@
1
+ export { StigmerToaster } from "./StigmerToaster";
2
+ export { toast } from "./toast";
3
+ export type { StigmerToasterProps } from "./types";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Re-export of Sonner's `toast` function with Stigmer defaults.
3
+ *
4
+ * Platform builders use this as their primary feedback mechanism:
5
+ * ```tsx
6
+ * import { toast } from "@stigmer/react";
7
+ *
8
+ * toast.success("Agent created");
9
+ * toast.error("Failed to save");
10
+ * toast("Skill removed", { action: { label: "Undo", onClick: undo } });
11
+ * ```
12
+ */
13
+ export { toast } from "sonner";
@@ -0,0 +1,7 @@
1
+ import type { Toaster } from "sonner";
2
+
3
+ /** Props for the {@link StigmerToaster} component. */
4
+ export type StigmerToasterProps = Omit<
5
+ React.ComponentProps<typeof Toaster>,
6
+ "theme"
7
+ >;