@stigmer/react 0.0.71 → 0.0.73

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 (440) hide show
  1. package/agent/AgentEnvForm.d.ts +2 -0
  2. package/agent/AgentEnvForm.d.ts.map +1 -1
  3. package/agent/AgentEnvForm.js.map +1 -1
  4. package/agent/AgentPicker.d.ts +2 -0
  5. package/agent/AgentPicker.d.ts.map +1 -1
  6. package/agent/AgentPicker.js.map +1 -1
  7. package/agent/agentSetupReducer.d.ts +69 -7
  8. package/agent/agentSetupReducer.d.ts.map +1 -1
  9. package/agent/agentSetupReducer.js.map +1 -1
  10. package/agent/useAgentCount.d.ts +2 -0
  11. package/agent/useAgentCount.d.ts.map +1 -1
  12. package/agent/useAgentCount.js.map +1 -1
  13. package/attachment/AttachmentChipList.d.ts +15 -0
  14. package/attachment/AttachmentChipList.d.ts.map +1 -1
  15. package/attachment/AttachmentChipList.js +15 -0
  16. package/attachment/AttachmentChipList.js.map +1 -1
  17. package/attachment/useAttachments.d.ts +14 -0
  18. package/attachment/useAttachments.d.ts.map +1 -1
  19. package/attachment/useAttachments.js.map +1 -1
  20. package/composer/useComposer.d.ts +5 -0
  21. package/composer/useComposer.d.ts.map +1 -1
  22. package/composer/useComposer.js.map +1 -1
  23. package/execution/ExecutionPhaseBadge.d.ts +1 -1
  24. package/execution/ExecutionPhaseBadge.js +1 -1
  25. package/execution/McpToolDetail.d.ts +16 -8
  26. package/execution/McpToolDetail.d.ts.map +1 -1
  27. package/execution/McpToolDetail.js +0 -6
  28. package/execution/McpToolDetail.js.map +1 -1
  29. package/execution/TodoList.d.ts +8 -0
  30. package/execution/TodoList.d.ts.map +1 -1
  31. package/execution/TodoList.js +8 -0
  32. package/execution/TodoList.js.map +1 -1
  33. package/execution/ToolArgsView.d.ts +1 -0
  34. package/execution/ToolArgsView.d.ts.map +1 -1
  35. package/execution/ToolArgsView.js.map +1 -1
  36. package/execution/UsageWidget.d.ts +1 -1
  37. package/execution/UsageWidget.js +1 -1
  38. package/execution/file-path-resolver.d.ts +10 -0
  39. package/execution/file-path-resolver.d.ts.map +1 -1
  40. package/execution/file-path-resolver.js.map +1 -1
  41. package/execution/index.d.ts +1 -1
  42. package/execution/index.d.ts.map +1 -1
  43. package/execution/index.js.map +1 -1
  44. package/execution/useArtifactContent.d.ts +33 -0
  45. package/execution/useArtifactContent.d.ts.map +1 -1
  46. package/execution/useArtifactContent.js +33 -0
  47. package/execution/useArtifactContent.js.map +1 -1
  48. package/execution/useSubmitApproval.d.ts +2 -0
  49. package/execution/useSubmitApproval.d.ts.map +1 -1
  50. package/execution/useSubmitApproval.js.map +1 -1
  51. package/github/GitHubRepoPicker.d.ts +13 -0
  52. package/github/GitHubRepoPicker.d.ts.map +1 -1
  53. package/github/GitHubRepoPicker.js +13 -0
  54. package/github/GitHubRepoPicker.js.map +1 -1
  55. package/github/useGitHubConnection.d.ts +29 -1
  56. package/github/useGitHubConnection.d.ts.map +1 -1
  57. package/github/useGitHubConnection.js +29 -1
  58. package/github/useGitHubConnection.js.map +1 -1
  59. package/github/useGitHubRepos.d.ts +31 -0
  60. package/github/useGitHubRepos.d.ts.map +1 -1
  61. package/github/useGitHubRepos.js +31 -0
  62. package/github/useGitHubRepos.js.map +1 -1
  63. package/github/useGitHubSearch.d.ts +25 -0
  64. package/github/useGitHubSearch.d.ts.map +1 -1
  65. package/github/useGitHubSearch.js +25 -0
  66. package/github/useGitHubSearch.js.map +1 -1
  67. package/iam-policy/GrantAccessForm.d.ts +39 -0
  68. package/iam-policy/GrantAccessForm.d.ts.map +1 -0
  69. package/iam-policy/GrantAccessForm.js +75 -0
  70. package/iam-policy/GrantAccessForm.js.map +1 -0
  71. package/iam-policy/OrgMembersPanel.d.ts +28 -0
  72. package/iam-policy/OrgMembersPanel.d.ts.map +1 -0
  73. package/iam-policy/OrgMembersPanel.js +192 -0
  74. package/iam-policy/OrgMembersPanel.js.map +1 -0
  75. package/iam-policy/RoleSelector.d.ts +37 -0
  76. package/iam-policy/RoleSelector.d.ts.map +1 -0
  77. package/iam-policy/RoleSelector.js +42 -0
  78. package/iam-policy/RoleSelector.js.map +1 -0
  79. package/iam-policy/index.d.ts +12 -0
  80. package/iam-policy/index.d.ts.map +1 -0
  81. package/iam-policy/index.js +12 -0
  82. package/iam-policy/index.js.map +1 -0
  83. package/iam-policy/useCreateIamPolicy.d.ts +35 -0
  84. package/iam-policy/useCreateIamPolicy.d.ts.map +1 -0
  85. package/iam-policy/useCreateIamPolicy.js +46 -0
  86. package/iam-policy/useCreateIamPolicy.js.map +1 -0
  87. package/iam-policy/useDeleteIamPolicy.d.ts +34 -0
  88. package/iam-policy/useDeleteIamPolicy.d.ts.map +1 -0
  89. package/iam-policy/useDeleteIamPolicy.js +45 -0
  90. package/iam-policy/useDeleteIamPolicy.js.map +1 -0
  91. package/iam-policy/useGrantableRoles.d.ts +28 -0
  92. package/iam-policy/useGrantableRoles.d.ts.map +1 -0
  93. package/iam-policy/useGrantableRoles.js +32 -0
  94. package/iam-policy/useGrantableRoles.js.map +1 -0
  95. package/iam-policy/usePrincipalsCount.d.ts +31 -0
  96. package/iam-policy/usePrincipalsCount.d.ts.map +1 -0
  97. package/iam-policy/usePrincipalsCount.js +72 -0
  98. package/iam-policy/usePrincipalsCount.js.map +1 -0
  99. package/iam-policy/useResourceAccess.d.ts +51 -0
  100. package/iam-policy/useResourceAccess.d.ts.map +1 -0
  101. package/iam-policy/useResourceAccess.js +85 -0
  102. package/iam-policy/useResourceAccess.js.map +1 -0
  103. package/iam-policy/useRevokeOrgAccess.d.ts +36 -0
  104. package/iam-policy/useRevokeOrgAccess.d.ts.map +1 -0
  105. package/iam-policy/useRevokeOrgAccess.js +48 -0
  106. package/iam-policy/useRevokeOrgAccess.js.map +1 -0
  107. package/iam-policy/useRoleSelector.d.ts +52 -0
  108. package/iam-policy/useRoleSelector.d.ts.map +1 -0
  109. package/iam-policy/useRoleSelector.js +50 -0
  110. package/iam-policy/useRoleSelector.js.map +1 -0
  111. package/iam-policy/useWhoAmI.d.ts +30 -0
  112. package/iam-policy/useWhoAmI.d.ts.map +1 -0
  113. package/iam-policy/useWhoAmI.js +56 -0
  114. package/iam-policy/useWhoAmI.js.map +1 -0
  115. package/identity-provider/CreateIdentityProviderForm.d.ts +39 -0
  116. package/identity-provider/CreateIdentityProviderForm.d.ts.map +1 -0
  117. package/identity-provider/CreateIdentityProviderForm.js +102 -0
  118. package/identity-provider/CreateIdentityProviderForm.js.map +1 -0
  119. package/identity-provider/IdentityProviderDetailPanel.d.ts +42 -0
  120. package/identity-provider/IdentityProviderDetailPanel.d.ts.map +1 -0
  121. package/identity-provider/IdentityProviderDetailPanel.js +156 -0
  122. package/identity-provider/IdentityProviderDetailPanel.js.map +1 -0
  123. package/identity-provider/IdentityProviderListPanel.d.ts +41 -0
  124. package/identity-provider/IdentityProviderListPanel.d.ts.map +1 -0
  125. package/identity-provider/IdentityProviderListPanel.js +110 -0
  126. package/identity-provider/IdentityProviderListPanel.js.map +1 -0
  127. package/identity-provider/IdentityProviderWizard.d.ts +40 -0
  128. package/identity-provider/IdentityProviderWizard.d.ts.map +1 -0
  129. package/identity-provider/IdentityProviderWizard.js +180 -0
  130. package/identity-provider/IdentityProviderWizard.js.map +1 -0
  131. package/identity-provider/ProviderPicker.d.ts +28 -0
  132. package/identity-provider/ProviderPicker.d.ts.map +1 -0
  133. package/identity-provider/ProviderPicker.js +64 -0
  134. package/identity-provider/ProviderPicker.js.map +1 -0
  135. package/identity-provider/SsoLoginPrompt.d.ts +51 -0
  136. package/identity-provider/SsoLoginPrompt.d.ts.map +1 -0
  137. package/identity-provider/SsoLoginPrompt.js +119 -0
  138. package/identity-provider/SsoLoginPrompt.js.map +1 -0
  139. package/identity-provider/index.d.ts +14 -0
  140. package/identity-provider/index.d.ts.map +1 -0
  141. package/identity-provider/index.js +14 -0
  142. package/identity-provider/index.js.map +1 -0
  143. package/identity-provider/presets.d.ts +65 -0
  144. package/identity-provider/presets.d.ts.map +1 -0
  145. package/identity-provider/presets.js +200 -0
  146. package/identity-provider/presets.js.map +1 -0
  147. package/identity-provider/useCreateIdentityProvider.d.ts +37 -0
  148. package/identity-provider/useCreateIdentityProvider.d.ts.map +1 -0
  149. package/identity-provider/useCreateIdentityProvider.js +48 -0
  150. package/identity-provider/useCreateIdentityProvider.js.map +1 -0
  151. package/identity-provider/useDeleteIdentityProvider.d.ts +34 -0
  152. package/identity-provider/useDeleteIdentityProvider.d.ts.map +1 -0
  153. package/identity-provider/useDeleteIdentityProvider.js +45 -0
  154. package/identity-provider/useDeleteIdentityProvider.js.map +1 -0
  155. package/identity-provider/useIdentityProvider.d.ts +37 -0
  156. package/identity-provider/useIdentityProvider.d.ts.map +1 -0
  157. package/identity-provider/useIdentityProvider.js +62 -0
  158. package/identity-provider/useIdentityProvider.js.map +1 -0
  159. package/identity-provider/useIdentityProviderList.d.ts +48 -0
  160. package/identity-provider/useIdentityProviderList.d.ts.map +1 -0
  161. package/identity-provider/useIdentityProviderList.js +75 -0
  162. package/identity-provider/useIdentityProviderList.js.map +1 -0
  163. package/identity-provider/useOidcDiscovery.d.ts +39 -0
  164. package/identity-provider/useOidcDiscovery.d.ts.map +1 -0
  165. package/identity-provider/useOidcDiscovery.js +76 -0
  166. package/identity-provider/useOidcDiscovery.js.map +1 -0
  167. package/identity-provider/useSsoProvider.d.ts +50 -0
  168. package/identity-provider/useSsoProvider.d.ts.map +1 -0
  169. package/identity-provider/useSsoProvider.js +83 -0
  170. package/identity-provider/useSsoProvider.js.map +1 -0
  171. package/identity-provider/useUpdateIdentityProvider.d.ts +38 -0
  172. package/identity-provider/useUpdateIdentityProvider.d.ts.map +1 -0
  173. package/identity-provider/useUpdateIdentityProvider.js +49 -0
  174. package/identity-provider/useUpdateIdentityProvider.js.map +1 -0
  175. package/index.d.ts +14 -5
  176. package/index.d.ts.map +1 -1
  177. package/index.js +10 -2
  178. package/index.js.map +1 -1
  179. package/internal/CloudFeatureNotice.d.ts +12 -0
  180. package/internal/CloudFeatureNotice.d.ts.map +1 -1
  181. package/internal/CloudFeatureNotice.js +12 -0
  182. package/internal/CloudFeatureNotice.js.map +1 -1
  183. package/invitation/InvitationCreatedAlert.d.ts +35 -0
  184. package/invitation/InvitationCreatedAlert.d.ts.map +1 -0
  185. package/invitation/InvitationCreatedAlert.js +60 -0
  186. package/invitation/InvitationCreatedAlert.js.map +1 -0
  187. package/invitation/InvitationManager.d.ts +44 -0
  188. package/invitation/InvitationManager.d.ts.map +1 -0
  189. package/invitation/InvitationManager.js +248 -0
  190. package/invitation/InvitationManager.js.map +1 -0
  191. package/invitation/InvitationRedemption.d.ts +69 -0
  192. package/invitation/InvitationRedemption.d.ts.map +1 -0
  193. package/invitation/InvitationRedemption.js +140 -0
  194. package/invitation/InvitationRedemption.js.map +1 -0
  195. package/invitation/index.d.ts +17 -0
  196. package/invitation/index.d.ts.map +1 -0
  197. package/invitation/index.js +9 -0
  198. package/invitation/index.js.map +1 -0
  199. package/invitation/useCreateInvitation.d.ts +52 -0
  200. package/invitation/useCreateInvitation.d.ts.map +1 -0
  201. package/invitation/useCreateInvitation.js +55 -0
  202. package/invitation/useCreateInvitation.js.map +1 -0
  203. package/invitation/useInvitationPreview.d.ts +51 -0
  204. package/invitation/useInvitationPreview.d.ts.map +1 -0
  205. package/invitation/useInvitationPreview.js +80 -0
  206. package/invitation/useInvitationPreview.js.map +1 -0
  207. package/invitation/useOrgInvitations.d.ts +36 -0
  208. package/invitation/useOrgInvitations.d.ts.map +1 -0
  209. package/invitation/useOrgInvitations.js +65 -0
  210. package/invitation/useOrgInvitations.js.map +1 -0
  211. package/invitation/useRedeemInvitation.d.ts +47 -0
  212. package/invitation/useRedeemInvitation.d.ts.map +1 -0
  213. package/invitation/useRedeemInvitation.js +53 -0
  214. package/invitation/useRedeemInvitation.js.map +1 -0
  215. package/invitation/useRevokeInvitation.d.ts +35 -0
  216. package/invitation/useRevokeInvitation.d.ts.map +1 -0
  217. package/invitation/useRevokeInvitation.js +47 -0
  218. package/invitation/useRevokeInvitation.js.map +1 -0
  219. package/library/detect-skill-package.d.ts +1 -0
  220. package/library/detect-skill-package.d.ts.map +1 -1
  221. package/library/detect-skill-package.js.map +1 -1
  222. package/library/detect-stigmer-resource.d.ts +1 -0
  223. package/library/detect-stigmer-resource.d.ts.map +1 -1
  224. package/library/detect-stigmer-resource.js.map +1 -1
  225. package/library/parse-resource-yaml.d.ts +4 -0
  226. package/library/parse-resource-yaml.d.ts.map +1 -1
  227. package/library/parse-resource-yaml.js.map +1 -1
  228. package/mcp-server/McpServerDetailView.d.ts +2 -2
  229. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  230. package/mcp-server/McpServerDetailView.js.map +1 -1
  231. package/mcp-server/index.d.ts +1 -1
  232. package/mcp-server/index.d.ts.map +1 -1
  233. package/mcp-server/index.js.map +1 -1
  234. package/mcp-server/mcpServerSetupReducer.d.ts +54 -0
  235. package/mcp-server/mcpServerSetupReducer.d.ts.map +1 -1
  236. package/mcp-server/mcpServerSetupReducer.js.map +1 -1
  237. package/models/ModelSelector.d.ts +9 -0
  238. package/models/ModelSelector.d.ts.map +1 -1
  239. package/models/ModelSelector.js +9 -0
  240. package/models/ModelSelector.js.map +1 -1
  241. package/models/registry.d.ts +11 -1
  242. package/models/registry.d.ts.map +1 -1
  243. package/models/registry.js.map +1 -1
  244. package/models/useModelRegistry.d.ts +20 -0
  245. package/models/useModelRegistry.d.ts.map +1 -1
  246. package/models/useModelRegistry.js +20 -0
  247. package/models/useModelRegistry.js.map +1 -1
  248. package/organization/OrgProfilePanel.d.ts +31 -0
  249. package/organization/OrgProfilePanel.d.ts.map +1 -0
  250. package/organization/OrgProfilePanel.js +147 -0
  251. package/organization/OrgProfilePanel.js.map +1 -0
  252. package/organization/index.d.ts +6 -0
  253. package/organization/index.d.ts.map +1 -1
  254. package/organization/index.js +3 -0
  255. package/organization/index.js.map +1 -1
  256. package/organization/useOrganization.d.ts +31 -0
  257. package/organization/useOrganization.d.ts.map +1 -0
  258. package/organization/useOrganization.js +56 -0
  259. package/organization/useOrganization.js.map +1 -0
  260. package/organization/useUpdateOrganization.d.ts +40 -0
  261. package/organization/useUpdateOrganization.d.ts.map +1 -0
  262. package/organization/useUpdateOrganization.js +51 -0
  263. package/organization/useUpdateOrganization.js.map +1 -0
  264. package/package.json +4 -4
  265. package/provider.d.ts +1 -0
  266. package/provider.d.ts.map +1 -1
  267. package/provider.js.map +1 -1
  268. package/search/useResourceList.d.ts +4 -2
  269. package/search/useResourceList.d.ts.map +1 -1
  270. package/search/useResourceList.js +2 -1
  271. package/search/useResourceList.js.map +1 -1
  272. package/search/useResourceSearch.d.ts +10 -2
  273. package/search/useResourceSearch.d.ts.map +1 -1
  274. package/search/useResourceSearch.js +2 -1
  275. package/search/useResourceSearch.js.map +1 -1
  276. package/session/group-sessions.d.ts +23 -0
  277. package/session/group-sessions.d.ts.map +1 -1
  278. package/session/group-sessions.js +23 -0
  279. package/session/group-sessions.js.map +1 -1
  280. package/session/index.d.ts +1 -1
  281. package/session/index.d.ts.map +1 -1
  282. package/session/index.js.map +1 -1
  283. package/session/useCreateSession.d.ts +11 -2
  284. package/session/useCreateSession.d.ts.map +1 -1
  285. package/session/useCreateSession.js.map +1 -1
  286. package/session/useSession.d.ts +24 -0
  287. package/session/useSession.d.ts.map +1 -1
  288. package/session/useSession.js +24 -0
  289. package/session/useSession.js.map +1 -1
  290. package/session/useSessionArtifacts.d.ts +1 -0
  291. package/session/useSessionArtifacts.d.ts.map +1 -1
  292. package/session/useSessionArtifacts.js.map +1 -1
  293. package/session/useSessionConversation.d.ts +7 -0
  294. package/session/useSessionConversation.d.ts.map +1 -1
  295. package/session/useSessionConversation.js.map +1 -1
  296. package/session/useSessionExecutions.d.ts +23 -0
  297. package/session/useSessionExecutions.d.ts.map +1 -1
  298. package/session/useSessionExecutions.js +23 -0
  299. package/session/useSessionExecutions.js.map +1 -1
  300. package/session/useSessionList.d.ts +19 -0
  301. package/session/useSessionList.d.ts.map +1 -1
  302. package/session/useSessionList.js +19 -0
  303. package/session/useSessionList.js.map +1 -1
  304. package/session/useSessionWriteBacks.d.ts +1 -0
  305. package/session/useSessionWriteBacks.d.ts.map +1 -1
  306. package/session/useSessionWriteBacks.js.map +1 -1
  307. package/session/useUpdateSession.d.ts +22 -0
  308. package/session/useUpdateSession.d.ts.map +1 -1
  309. package/session/useUpdateSession.js +22 -0
  310. package/session/useUpdateSession.js.map +1 -1
  311. package/skill/SkillPicker.d.ts +15 -0
  312. package/skill/SkillPicker.d.ts.map +1 -1
  313. package/skill/SkillPicker.js +15 -0
  314. package/skill/SkillPicker.js.map +1 -1
  315. package/src/agent/AgentEnvForm.tsx +2 -0
  316. package/src/agent/AgentPicker.tsx +2 -0
  317. package/src/agent/agentSetupReducer.ts +109 -20
  318. package/src/agent/useAgentCount.ts +2 -0
  319. package/src/attachment/AttachmentChipList.tsx +15 -0
  320. package/src/attachment/useAttachments.ts +14 -0
  321. package/src/composer/useComposer.ts +5 -0
  322. package/src/execution/ExecutionPhaseBadge.tsx +1 -1
  323. package/src/execution/McpToolDetail.tsx +18 -6
  324. package/src/execution/TodoList.tsx +8 -0
  325. package/src/execution/ToolArgsView.tsx +1 -0
  326. package/src/execution/UsageWidget.tsx +1 -1
  327. package/src/execution/file-path-resolver.ts +28 -4
  328. package/src/execution/index.ts +5 -1
  329. package/src/execution/useArtifactContent.ts +33 -0
  330. package/src/execution/useSubmitApproval.ts +2 -0
  331. package/src/github/GitHubRepoPicker.tsx +13 -0
  332. package/src/github/useGitHubConnection.ts +29 -1
  333. package/src/github/useGitHubRepos.ts +31 -0
  334. package/src/github/useGitHubSearch.ts +25 -0
  335. package/src/iam-policy/GrantAccessForm.tsx +198 -0
  336. package/src/iam-policy/OrgMembersPanel.tsx +572 -0
  337. package/src/iam-policy/RoleSelector.tsx +105 -0
  338. package/src/iam-policy/index.ts +51 -0
  339. package/src/iam-policy/useCreateIamPolicy.ts +66 -0
  340. package/src/iam-policy/useDeleteIamPolicy.ts +65 -0
  341. package/src/iam-policy/useGrantableRoles.ts +45 -0
  342. package/src/iam-policy/usePrincipalsCount.ts +96 -0
  343. package/src/iam-policy/useResourceAccess.ts +128 -0
  344. package/src/iam-policy/useRevokeOrgAccess.ts +74 -0
  345. package/src/iam-policy/useRoleSelector.ts +97 -0
  346. package/src/iam-policy/useWhoAmI.ts +78 -0
  347. package/src/identity-provider/CreateIdentityProviderForm.tsx +308 -0
  348. package/src/identity-provider/IdentityProviderDetailPanel.tsx +583 -0
  349. package/src/identity-provider/IdentityProviderListPanel.tsx +370 -0
  350. package/src/identity-provider/IdentityProviderWizard.tsx +684 -0
  351. package/src/identity-provider/ProviderPicker.tsx +152 -0
  352. package/src/identity-provider/SsoLoginPrompt.tsx +404 -0
  353. package/src/identity-provider/index.ts +67 -0
  354. package/src/identity-provider/presets.ts +262 -0
  355. package/src/identity-provider/useCreateIdentityProvider.ts +68 -0
  356. package/src/identity-provider/useDeleteIdentityProvider.ts +65 -0
  357. package/src/identity-provider/useIdentityProvider.ts +86 -0
  358. package/src/identity-provider/useIdentityProviderList.ts +100 -0
  359. package/src/identity-provider/useOidcDiscovery.ts +124 -0
  360. package/src/identity-provider/useSsoProvider.ts +99 -0
  361. package/src/identity-provider/useUpdateIdentityProvider.ts +69 -0
  362. package/src/index.ts +121 -1
  363. package/src/internal/CloudFeatureNotice.tsx +12 -0
  364. package/src/invitation/InvitationCreatedAlert.tsx +185 -0
  365. package/src/invitation/InvitationManager.tsx +842 -0
  366. package/src/invitation/InvitationRedemption.tsx +434 -0
  367. package/src/invitation/index.ts +16 -0
  368. package/src/invitation/useCreateInvitation.ts +83 -0
  369. package/src/invitation/useInvitationPreview.ts +103 -0
  370. package/src/invitation/useOrgInvitations.ts +88 -0
  371. package/src/invitation/useRedeemInvitation.ts +82 -0
  372. package/src/invitation/useRevokeInvitation.ts +66 -0
  373. package/src/library/detect-skill-package.ts +4 -1
  374. package/src/library/detect-stigmer-resource.ts +4 -1
  375. package/src/library/parse-resource-yaml.ts +12 -2
  376. package/src/mcp-server/McpServerDetailView.tsx +2 -1
  377. package/src/mcp-server/index.ts +4 -1
  378. package/src/mcp-server/mcpServerSetupReducer.ts +86 -8
  379. package/src/models/ModelSelector.tsx +9 -0
  380. package/src/models/registry.ts +11 -1
  381. package/src/models/useModelRegistry.ts +20 -0
  382. package/src/organization/OrgProfilePanel.tsx +451 -0
  383. package/src/organization/index.ts +6 -0
  384. package/src/organization/useOrganization.ts +79 -0
  385. package/src/organization/useUpdateOrganization.ts +71 -0
  386. package/src/provider.tsx +1 -0
  387. package/src/search/useResourceList.ts +6 -3
  388. package/src/search/useResourceSearch.ts +12 -3
  389. package/src/session/group-sessions.ts +23 -0
  390. package/src/session/index.ts +1 -0
  391. package/src/session/useCreateSession.ts +19 -3
  392. package/src/session/useSession.ts +24 -0
  393. package/src/session/useSessionArtifacts.ts +1 -0
  394. package/src/session/useSessionConversation.ts +7 -0
  395. package/src/session/useSessionExecutions.ts +23 -0
  396. package/src/session/useSessionList.ts +19 -0
  397. package/src/session/useSessionWriteBacks.ts +1 -0
  398. package/src/session/useUpdateSession.ts +22 -0
  399. package/src/skill/SkillPicker.tsx +15 -0
  400. package/src/usage/OrgUsagePanel.tsx +465 -0
  401. package/src/usage/date-range.ts +86 -0
  402. package/src/usage/index.ts +13 -0
  403. package/src/usage/useOrgUsageReport.ts +110 -0
  404. package/src/workspace/FolderBrowser.tsx +9 -0
  405. package/src/workspace/WorkspaceEditor.tsx +17 -0
  406. package/src/workspace/useFolderListing.ts +24 -0
  407. package/src/workspace/useWorkspaceEntries.ts +38 -0
  408. package/styles.css +1 -1
  409. package/usage/OrgUsagePanel.d.ts +24 -0
  410. package/usage/OrgUsagePanel.d.ts.map +1 -0
  411. package/usage/OrgUsagePanel.js +134 -0
  412. package/usage/OrgUsagePanel.js.map +1 -0
  413. package/usage/date-range.d.ts +36 -0
  414. package/usage/date-range.d.ts.map +1 -0
  415. package/usage/date-range.js +69 -0
  416. package/usage/date-range.js.map +1 -0
  417. package/usage/index.d.ts +7 -0
  418. package/usage/index.d.ts.map +1 -0
  419. package/usage/index.js +4 -0
  420. package/usage/index.js.map +1 -0
  421. package/usage/useOrgUsageReport.d.ts +48 -0
  422. package/usage/useOrgUsageReport.d.ts.map +1 -0
  423. package/usage/useOrgUsageReport.js +72 -0
  424. package/usage/useOrgUsageReport.js.map +1 -0
  425. package/workspace/FolderBrowser.d.ts +9 -0
  426. package/workspace/FolderBrowser.d.ts.map +1 -1
  427. package/workspace/FolderBrowser.js +9 -0
  428. package/workspace/FolderBrowser.js.map +1 -1
  429. package/workspace/WorkspaceEditor.d.ts +17 -0
  430. package/workspace/WorkspaceEditor.d.ts.map +1 -1
  431. package/workspace/WorkspaceEditor.js +17 -0
  432. package/workspace/WorkspaceEditor.js.map +1 -1
  433. package/workspace/useFolderListing.d.ts +24 -0
  434. package/workspace/useFolderListing.d.ts.map +1 -1
  435. package/workspace/useFolderListing.js +24 -0
  436. package/workspace/useFolderListing.js.map +1 -1
  437. package/workspace/useWorkspaceEntries.d.ts +38 -0
  438. package/workspace/useWorkspaceEntries.d.ts.map +1 -1
  439. package/workspace/useWorkspaceEntries.js +25 -0
  440. package/workspace/useWorkspaceEntries.js.map +1 -1
@@ -0,0 +1,36 @@
1
+ /** Return value of {@link useRevokeOrgAccess}. */
2
+ export interface UseRevokeOrgAccessReturn {
3
+ /**
4
+ * Remove all of a user's access to an organization.
5
+ *
6
+ * Deletes every IAM policy granting the identity account access
7
+ * to the organization and its child resources (agents, environments,
8
+ * etc.) in a single operation.
9
+ */
10
+ readonly revoke: (accountId: string, orgId: string) => Promise<void>;
11
+ /** `true` while the revoke request is in flight. */
12
+ readonly isRevoking: boolean;
13
+ /** Error from the last failed revoke, or `null` when healthy. */
14
+ readonly error: Error | null;
15
+ /** Reset `error` to `null`. */
16
+ readonly clearError: () => void;
17
+ }
18
+ /**
19
+ * Behavior hook that wraps `iamPolicy.revokeOrgAccess()` with
20
+ * loading/error state.
21
+ *
22
+ * Removes all IAM policy bindings for a specific identity account
23
+ * within an organization — including bindings on child resources
24
+ * (agents, environments, etc.). This is the "remove member from org"
25
+ * operation.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * const { revoke, isRevoking, error } = useRevokeOrgAccess();
30
+ *
31
+ * await revoke("ia-alice-123", "org-demo-456");
32
+ * refetchMembers();
33
+ * ```
34
+ */
35
+ export declare function useRevokeOrgAccess(): UseRevokeOrgAccessReturn;
36
+ //# sourceMappingURL=useRevokeOrgAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRevokeOrgAccess.d.ts","sourceRoot":"","sources":["../../src/iam-policy/useRevokeOrgAccess.ts"],"names":[],"mappings":"AAQA,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,IAAI,wBAAwB,CA8B7D"}
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { useCallback, useState } from "react";
3
+ import { create } from "@bufbuild/protobuf";
4
+ import { RevokeOrgAccessInputSchema } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/io_pb";
5
+ import { useStigmer } from "../hooks";
6
+ import { toError } from "../internal/toError";
7
+ /**
8
+ * Behavior hook that wraps `iamPolicy.revokeOrgAccess()` with
9
+ * loading/error state.
10
+ *
11
+ * Removes all IAM policy bindings for a specific identity account
12
+ * within an organization — including bindings on child resources
13
+ * (agents, environments, etc.). This is the "remove member from org"
14
+ * operation.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * const { revoke, isRevoking, error } = useRevokeOrgAccess();
19
+ *
20
+ * await revoke("ia-alice-123", "org-demo-456");
21
+ * refetchMembers();
22
+ * ```
23
+ */
24
+ export function useRevokeOrgAccess() {
25
+ const stigmer = useStigmer();
26
+ const [isRevoking, setIsRevoking] = useState(false);
27
+ const [error, setError] = useState(null);
28
+ const clearError = useCallback(() => setError(null), []);
29
+ const revoke = useCallback(async (accountId, orgId) => {
30
+ setIsRevoking(true);
31
+ setError(null);
32
+ try {
33
+ await stigmer.iamPolicy.revokeOrgAccess(create(RevokeOrgAccessInputSchema, {
34
+ identityAccountId: accountId,
35
+ organizationId: orgId,
36
+ }));
37
+ }
38
+ catch (err) {
39
+ setError(toError(err));
40
+ throw err;
41
+ }
42
+ finally {
43
+ setIsRevoking(false);
44
+ }
45
+ }, [stigmer]);
46
+ return { revoke, isRevoking, error, clearError };
47
+ }
48
+ //# sourceMappingURL=useRevokeOrgAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRevokeOrgAccess.js","sourceRoot":"","sources":["../../src/iam-policy/useRevokeOrgAccess.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAoB9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,SAAiB,EAAE,KAAa,EAAiB,EAAE;QACxD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,CAAC,eAAe,CACrC,MAAM,CAAC,0BAA0B,EAAE;gBACjC,iBAAiB,EAAE,SAAS;gBAC5B,cAAc,EAAE,KAAK;aACtB,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACnD,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
2
+ import { IamRole } from "@stigmer/protos/ai/stigmer/iam/v1/enum_pb";
3
+ /** A single role option with display metadata. */
4
+ export interface RoleOption {
5
+ /** The IamRole enum value. */
6
+ readonly role: IamRole;
7
+ /** Human-readable display name (e.g. "Admin"). */
8
+ readonly label: string;
9
+ /** Short description suitable for tooltips (e.g. "Edit access and member management"). */
10
+ readonly description: string;
11
+ /** The FGA relation string (e.g. "admin"). */
12
+ readonly value: string;
13
+ }
14
+ /** Return value of {@link useRoleSelector}. */
15
+ export interface UseRoleSelectorReturn {
16
+ /** Available role options for the given resource kind. */
17
+ readonly options: readonly RoleOption[];
18
+ /** Currently selected role, or `null` if nothing is selected. */
19
+ readonly selected: IamRole | null;
20
+ /** FGA relation string for the selected role, or `""` if nothing is selected. */
21
+ readonly selectedValue: string;
22
+ /** Select a role. */
23
+ readonly select: (role: IamRole) => void;
24
+ /** Clear the selection. */
25
+ readonly clear: () => void;
26
+ /** Whether at least one role option exists. */
27
+ readonly hasOptions: boolean;
28
+ }
29
+ /**
30
+ * Headless hook for selecting an IAM role for a given resource kind.
31
+ *
32
+ * Provides role options with display metadata (label, description,
33
+ * FGA relation string) and selection state. Use this directly if you
34
+ * need a custom role picker UI; for the styled version, use
35
+ * {@link RoleSelector}.
36
+ *
37
+ * @param kind - The resource kind to show grantable roles for, or `null`.
38
+ * @param defaultRole - Optional initial selection.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * const { options, selected, select } = useRoleSelector(ApiResourceKind.organization);
43
+ *
44
+ * options.map(opt => (
45
+ * <button key={opt.value} onClick={() => select(opt.role)}>
46
+ * {opt.label} — {opt.description}
47
+ * </button>
48
+ * ));
49
+ * ```
50
+ */
51
+ export declare function useRoleSelector(kind: ApiResourceKind | null, defaultRole?: IamRole): UseRoleSelectorReturn;
52
+ //# sourceMappingURL=useRoleSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRoleSelector.d.ts","sourceRoot":"","sources":["../../src/iam-policy/useRoleSelector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAC3H,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAQpE,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0FAA0F;IAC1F,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,+CAA+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,qBAAqB;IACrB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,WAAW,CAAC,EAAE,OAAO,GACpB,qBAAqB,CA+BvB"}
@@ -0,0 +1,50 @@
1
+ "use client";
2
+ import { useCallback, useMemo, useState } from "react";
3
+ import { getGrantableRoles, iamRoleDisplayName, iamRoleDescription, iamRoleToString, } from "@stigmer/sdk";
4
+ /**
5
+ * Headless hook for selecting an IAM role for a given resource kind.
6
+ *
7
+ * Provides role options with display metadata (label, description,
8
+ * FGA relation string) and selection state. Use this directly if you
9
+ * need a custom role picker UI; for the styled version, use
10
+ * {@link RoleSelector}.
11
+ *
12
+ * @param kind - The resource kind to show grantable roles for, or `null`.
13
+ * @param defaultRole - Optional initial selection.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * const { options, selected, select } = useRoleSelector(ApiResourceKind.organization);
18
+ *
19
+ * options.map(opt => (
20
+ * <button key={opt.value} onClick={() => select(opt.role)}>
21
+ * {opt.label} — {opt.description}
22
+ * </button>
23
+ * ));
24
+ * ```
25
+ */
26
+ export function useRoleSelector(kind, defaultRole) {
27
+ const [selected, setSelected] = useState(defaultRole ?? null);
28
+ const options = useMemo(() => {
29
+ if (kind === null)
30
+ return [];
31
+ return getGrantableRoles(kind).map((role) => ({
32
+ role,
33
+ label: iamRoleDisplayName(role),
34
+ description: iamRoleDescription(role),
35
+ value: iamRoleToString(role),
36
+ }));
37
+ }, [kind]);
38
+ const selectedValue = useMemo(() => (selected !== null ? iamRoleToString(selected) : ""), [selected]);
39
+ const select = useCallback((role) => setSelected(role), []);
40
+ const clear = useCallback(() => setSelected(null), []);
41
+ return {
42
+ options,
43
+ selected,
44
+ selectedValue,
45
+ select,
46
+ clear,
47
+ hasOptions: options.length > 0,
48
+ };
49
+ }
50
+ //# sourceMappingURL=useRoleSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRoleSelector.js","sourceRoot":"","sources":["../../src/iam-policy/useRoleSelector.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AA8BtB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA4B,EAC5B,WAAqB;IAErB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,WAAW,IAAI,IAAI,CACpB,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAwB,GAAG,EAAE;QAClD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI;YACJ,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC;YAC/B,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC;YACrC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1D,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvD,OAAO;QACL,OAAO;QACP,QAAQ;QACR,aAAa;QACb,MAAM;QACN,KAAK;QACL,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;KAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { IdentityAccount } from "@stigmer/protos/ai/stigmer/iam/identityaccount/v1/api_pb";
2
+ /** Return value of {@link useWhoAmI}. */
3
+ export interface UseWhoAmIReturn {
4
+ /** The authenticated user's identity account, or `null` while loading / on error. */
5
+ readonly account: IdentityAccount | null;
6
+ /** `true` while the initial fetch is in flight. */
7
+ readonly isLoading: boolean;
8
+ /** Error from the failed request, or `null` when healthy. */
9
+ readonly error: Error | null;
10
+ }
11
+ /**
12
+ * Data hook that fetches the current authenticated user's
13
+ * {@link IdentityAccount} via `identityAccount.whoAmI()`.
14
+ *
15
+ * The result is cached for the lifetime of the `Stigmer` client
16
+ * instance — subsequent mounts and re-renders reuse the cached
17
+ * value without additional network calls.
18
+ *
19
+ * Useful for self-protection in access management UIs (disabling
20
+ * "remove" or "change role" on the current user) and displaying
21
+ * a "You" indicator.
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * const { account } = useWhoAmI();
26
+ * const myId = account?.metadata?.id;
27
+ * ```
28
+ */
29
+ export declare function useWhoAmI(): UseWhoAmIReturn;
30
+ //# sourceMappingURL=useWhoAmI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWhoAmI.d.ts","sourceRoot":"","sources":["../../src/iam-policy/useWhoAmI.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAIhG,yCAAyC;AACzC,MAAM,WAAW,eAAe;IAC9B,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,IAAI,eAAe,CA0C3C"}
@@ -0,0 +1,56 @@
1
+ "use client";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { useStigmer } from "../hooks";
4
+ import { toError } from "../internal/toError";
5
+ /**
6
+ * Data hook that fetches the current authenticated user's
7
+ * {@link IdentityAccount} via `identityAccount.whoAmI()`.
8
+ *
9
+ * The result is cached for the lifetime of the `Stigmer` client
10
+ * instance — subsequent mounts and re-renders reuse the cached
11
+ * value without additional network calls.
12
+ *
13
+ * Useful for self-protection in access management UIs (disabling
14
+ * "remove" or "change role" on the current user) and displaying
15
+ * a "You" indicator.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * const { account } = useWhoAmI();
20
+ * const myId = account?.metadata?.id;
21
+ * ```
22
+ */
23
+ export function useWhoAmI() {
24
+ const stigmer = useStigmer();
25
+ const [account, setAccount] = useState(null);
26
+ const [isLoading, setIsLoading] = useState(true);
27
+ const [error, setError] = useState(null);
28
+ const cacheRef = useRef(null);
29
+ useEffect(() => {
30
+ if (cacheRef.current?.client === stigmer && cacheRef.current.account) {
31
+ setAccount(cacheRef.current.account);
32
+ setIsLoading(false);
33
+ return;
34
+ }
35
+ const cancelled = { current: false };
36
+ stigmer.identityAccount
37
+ .whoAmI()
38
+ .then((result) => {
39
+ if (cancelled.current)
40
+ return;
41
+ cacheRef.current = { client: stigmer, account: result };
42
+ setAccount(result);
43
+ setIsLoading(false);
44
+ }, (err) => {
45
+ if (cancelled.current)
46
+ return;
47
+ setError(toError(err));
48
+ setIsLoading(false);
49
+ });
50
+ return () => {
51
+ cancelled.current = true;
52
+ };
53
+ }, [stigmer]);
54
+ return { account, isLoading, error };
55
+ }
56
+ //# sourceMappingURL=useWhoAmI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWhoAmI.js","sourceRoot":"","sources":["../../src/iam-policy/useWhoAmI.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAY9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,CAGb,IAAI,CAAC,CAAC;IAEhB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAErC,OAAO,CAAC,eAAe;aACpB,MAAM,EAAE;aACR,IAAI,CACH,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,SAAS,CAAC,OAAO;gBAAE,OAAO;YAC9B,QAAQ,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACxD,UAAU,CAAC,MAAM,CAAC,CAAC;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,SAAS,CAAC,OAAO;gBAAE,OAAO;YAC9B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CACF,CAAC;QAEJ,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { IdentityProvider } from "@stigmer/protos/ai/stigmer/iam/identityprovider/v1/api_pb";
2
+ /** Props for {@link CreateIdentityProviderForm}. */
3
+ export interface CreateIdentityProviderFormProps {
4
+ /** Organization slug — the IdP will be created in this org. */
5
+ readonly org: string;
6
+ /** Fired with the newly created identity provider on success. */
7
+ readonly onCreated?: (idp: IdentityProvider) => void;
8
+ /** Fired when the user cancels creation. */
9
+ readonly onCancel?: () => void;
10
+ /** Additional CSS class names for the root container. */
11
+ readonly className?: string;
12
+ }
13
+ /**
14
+ * Form for creating a new identity provider within an organization.
15
+ *
16
+ * Collects the required OIDC trust configuration: **name** (display
17
+ * name), **JWKS URI**, **allowed issuers**, and **expected audience**.
18
+ * Optionally enables SSO by toggling the SSO switch and providing an
19
+ * **OIDC client ID**.
20
+ *
21
+ * On success it fires `onCreated` with the full {@link IdentityProvider}
22
+ * response.
23
+ *
24
+ * All visual properties flow through `--stgm-*` design tokens.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <CreateIdentityProviderForm
29
+ * org="acme"
30
+ * onCreated={(idp) => {
31
+ * refetch();
32
+ * setShowForm(false);
33
+ * }}
34
+ * onCancel={() => setShowForm(false)}
35
+ * />
36
+ * ```
37
+ */
38
+ export declare function CreateIdentityProviderForm({ org, onCreated, onCancel, className, }: CreateIdentityProviderFormProps): import("react/jsx-runtime").JSX.Element;
39
+ //# sourceMappingURL=CreateIdentityProviderForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateIdentityProviderForm.d.ts","sourceRoot":"","sources":["../../src/identity-provider/CreateIdentityProviderForm.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAGlG,oDAAoD;AACpD,MAAM,WAAW,+BAA+B;IAC9C,+DAA+D;IAC/D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,GAAG,EACH,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,+BAA+B,2CAyLjC"}
@@ -0,0 +1,102 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useState } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { getUserMessage } from "@stigmer/sdk";
6
+ import { useCreateIdentityProvider } from "./useCreateIdentityProvider";
7
+ /**
8
+ * Form for creating a new identity provider within an organization.
9
+ *
10
+ * Collects the required OIDC trust configuration: **name** (display
11
+ * name), **JWKS URI**, **allowed issuers**, and **expected audience**.
12
+ * Optionally enables SSO by toggling the SSO switch and providing an
13
+ * **OIDC client ID**.
14
+ *
15
+ * On success it fires `onCreated` with the full {@link IdentityProvider}
16
+ * response.
17
+ *
18
+ * All visual properties flow through `--stgm-*` design tokens.
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <CreateIdentityProviderForm
23
+ * org="acme"
24
+ * onCreated={(idp) => {
25
+ * refetch();
26
+ * setShowForm(false);
27
+ * }}
28
+ * onCancel={() => setShowForm(false)}
29
+ * />
30
+ * ```
31
+ */
32
+ export function CreateIdentityProviderForm({ org, onCreated, onCancel, className, }) {
33
+ const { create, isCreating, error, clearError } = useCreateIdentityProvider();
34
+ const [name, setName] = useState("");
35
+ const [jwksUri, setJwksUri] = useState("");
36
+ const [issuers, setIssuers] = useState("");
37
+ const [audience, setAudience] = useState("");
38
+ const [isSso, setIsSso] = useState(false);
39
+ const [oidcClientId, setOidcClientId] = useState("");
40
+ const trimmedName = name.trim();
41
+ const trimmedJwksUri = jwksUri.trim();
42
+ const trimmedIssuers = issuers.trim();
43
+ const trimmedAudience = audience.trim();
44
+ const canSubmit = trimmedName !== "" &&
45
+ trimmedJwksUri !== "" &&
46
+ trimmedIssuers !== "" &&
47
+ trimmedAudience !== "" &&
48
+ (!isSso || oidcClientId.trim() !== "") &&
49
+ !isCreating;
50
+ const handleSubmit = useCallback(async (e) => {
51
+ e.preventDefault();
52
+ if (!canSubmit)
53
+ return;
54
+ clearError();
55
+ try {
56
+ const idp = await create({
57
+ name: trimmedName,
58
+ org,
59
+ jwksUri: trimmedJwksUri,
60
+ allowedIssuers: trimmedIssuers
61
+ .split(",")
62
+ .map((s) => s.trim())
63
+ .filter(Boolean),
64
+ expectedAudience: trimmedAudience,
65
+ ...(isSso && {
66
+ isSsoProvider: true,
67
+ oidcClientId: oidcClientId.trim(),
68
+ }),
69
+ });
70
+ onCreated?.(idp);
71
+ }
72
+ catch {
73
+ // error state is managed by useCreateIdentityProvider
74
+ }
75
+ }, [
76
+ canSubmit,
77
+ trimmedName,
78
+ org,
79
+ trimmedJwksUri,
80
+ trimmedIssuers,
81
+ trimmedAudience,
82
+ isSso,
83
+ oidcClientId,
84
+ create,
85
+ clearError,
86
+ onCreated,
87
+ ]);
88
+ return (_jsxs("form", { onSubmit: handleSubmit, className: cn("space-y-3", className), children: [_jsxs("div", { className: "space-y-3", children: [_jsx(FormField, { id: "stgm-idp-name", label: "Name", value: name, onChange: setName, placeholder: "e.g. Acme Corp SSO", disabled: isCreating, required: true }), _jsx(FormField, { id: "stgm-idp-jwks", label: "JWKS URI", value: jwksUri, onChange: setJwksUri, placeholder: "https://example.com/.well-known/jwks.json", disabled: isCreating, required: true }), _jsx(FormField, { id: "stgm-idp-issuers", label: "Allowed issuers", value: issuers, onChange: setIssuers, placeholder: "issuer-1, issuer-2", hint: "Comma-separated list of trusted JWT issuer values", disabled: isCreating, required: true }), _jsx(FormField, { id: "stgm-idp-audience", label: "Expected audience", value: audience, onChange: setAudience, placeholder: "stigmer-api", disabled: isCreating, required: true }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("button", { type: "button", role: "switch", "aria-checked": isSso, onClick: () => setIsSso((v) => !v), disabled: isCreating, className: cn("relative inline-flex h-5 w-9 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors", isSso ? "bg-primary" : "bg-muted", "disabled:pointer-events-none disabled:opacity-50"), children: _jsx("span", { className: cn("pointer-events-none inline-block h-4 w-4 rounded-full bg-background shadow-sm ring-0 transition-transform", isSso ? "translate-x-4" : "translate-x-0") }) }), _jsx("span", { className: "text-xs font-medium text-foreground", children: "SSO provider" })] }), isSso && (_jsx(FormField, { id: "stgm-idp-client-id", label: "OIDC client ID", value: oidcClientId, onChange: setOidcClientId, placeholder: "public-client-id", hint: "Client ID for the PKCE-based Authorization Code flow", disabled: isCreating, required: true }))] }), error && (_jsx("p", { className: "text-destructive text-[0.65rem]", role: "alert", children: getUserMessage(error) })), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { type: "submit", disabled: !canSubmit, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium", "bg-primary text-primary-foreground hover:bg-primary/90", "disabled:pointer-events-none disabled:opacity-40"), children: [isCreating && _jsx(SpinnerIcon, {}), "Create identity provider"] }), onCancel && (_jsx("button", { type: "button", onClick: onCancel, disabled: isCreating, className: cn("rounded-md px-3 py-1.5 text-xs", "text-muted-foreground hover:text-foreground hover:bg-accent/50", "disabled:pointer-events-none disabled:opacity-50"), children: "Cancel" }))] })] }));
89
+ }
90
+ // ---------------------------------------------------------------------------
91
+ // FormField (internal)
92
+ // ---------------------------------------------------------------------------
93
+ function FormField({ id, label, value, onChange, placeholder, hint, disabled, required, }) {
94
+ return (_jsxs("div", { className: "space-y-1", children: [_jsx("label", { htmlFor: id, className: "text-xs font-medium text-foreground", children: label }), _jsx("input", { id: id, type: "text", value: value, onChange: (e) => onChange(e.target.value), placeholder: placeholder, disabled: disabled, required: required, className: cn("w-full rounded-md border border-input bg-background px-2.5 py-1.5 text-xs text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50") }), hint && (_jsx("p", { className: "text-[0.65rem] text-muted-foreground", children: hint }))] }));
95
+ }
96
+ // ---------------------------------------------------------------------------
97
+ // Icons
98
+ // ---------------------------------------------------------------------------
99
+ function SpinnerIcon() {
100
+ return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", className: "animate-spin", "aria-hidden": "true", children: _jsx("path", { d: "M8 2a6 6 0 1 0 6 6" }) }));
101
+ }
102
+ //# sourceMappingURL=CreateIdentityProviderForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateIdentityProviderForm.js","sourceRoot":"","sources":["../../src/identity-provider/CreateIdentityProviderForm.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { IdentityProvider } from "@stigmer/protos/ai/stigmer/iam/identityprovider/v1/api_pb";
2
+ /** Props for {@link IdentityProviderDetailPanel}. */
3
+ export interface IdentityProviderDetailPanelProps {
4
+ /** The identity provider resource to display and edit. */
5
+ readonly identityProvider: IdentityProvider;
6
+ /** Fired with the updated resource after a successful save. */
7
+ readonly onUpdated?: (idp: IdentityProvider) => void;
8
+ /** Fired when the user clicks the back button. */
9
+ readonly onBack?: () => void;
10
+ /**
11
+ * Pre-computed SSO login URL to display when the IdP is an SSO provider.
12
+ * Omit to hide the field. The consumer is responsible for constructing
13
+ * the URL (e.g., `${window.location.origin}/login?org=${orgSlug}`).
14
+ */
15
+ readonly ssoLoginUrl?: string;
16
+ /** Additional CSS class names for the root container. */
17
+ readonly className?: string;
18
+ }
19
+ /**
20
+ * View and edit panel for an existing identity provider.
21
+ *
22
+ * In **view mode**, displays all OIDC configuration fields in a
23
+ * structured label/value layout with an "Edit" button.
24
+ *
25
+ * In **edit mode**, fields become editable inputs. The SSO toggle and
26
+ * OIDC client ID are editable. "Save" submits the update via
27
+ * {@link useUpdateIdentityProvider}; "Cancel" discards changes and
28
+ * returns to view mode.
29
+ *
30
+ * All visual properties flow through `--stgm-*` design tokens.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * <IdentityProviderDetailPanel
35
+ * identityProvider={idp}
36
+ * onUpdated={(updated) => refetch()}
37
+ * onBack={() => setFlow({ phase: "idle" })}
38
+ * />
39
+ * ```
40
+ */
41
+ export declare function IdentityProviderDetailPanel({ identityProvider, onUpdated, onBack, ssoLoginUrl, className, }: IdentityProviderDetailPanelProps): import("react/jsx-runtime").JSX.Element;
42
+ //# sourceMappingURL=IdentityProviderDetailPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentityProviderDetailPanel.d.ts","sourceRoot":"","sources":["../../src/identity-provider/IdentityProviderDetailPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAIlG,qDAAqD;AACrD,MAAM,WAAW,gCAAgC;IAC/C,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrD,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,WAAW,EACX,SAAS,GACV,EAAE,gCAAgC,2CAsQlC"}