@stigmer/react 3.2.2 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/agent/AgentDetailView.d.ts.map +1 -1
  2. package/agent/AgentDetailView.js +6 -3
  3. package/agent/AgentDetailView.js.map +1 -1
  4. package/agent/steps/ReviewStep.d.ts.map +1 -1
  5. package/agent/steps/ReviewStep.js +2 -3
  6. package/agent/steps/ReviewStep.js.map +1 -1
  7. package/billing/BaselineEditor.d.ts +9 -0
  8. package/billing/BaselineEditor.d.ts.map +1 -0
  9. package/billing/BaselineEditor.js +253 -0
  10. package/billing/BaselineEditor.js.map +1 -0
  11. package/billing/ModelCatalogPanel.d.ts +28 -0
  12. package/billing/ModelCatalogPanel.d.ts.map +1 -0
  13. package/billing/ModelCatalogPanel.js +102 -0
  14. package/billing/ModelCatalogPanel.js.map +1 -0
  15. package/billing/ModelGovernanceDetail.d.ts +8 -0
  16. package/billing/ModelGovernanceDetail.d.ts.map +1 -0
  17. package/billing/ModelGovernanceDetail.js +64 -0
  18. package/billing/ModelGovernanceDetail.js.map +1 -0
  19. package/billing/OperatorAccessNotice.d.ts +12 -0
  20. package/billing/OperatorAccessNotice.d.ts.map +1 -0
  21. package/billing/OperatorAccessNotice.js +15 -0
  22. package/billing/OperatorAccessNotice.js.map +1 -0
  23. package/billing/PricingGovernanceConsole.d.ts +57 -0
  24. package/billing/PricingGovernanceConsole.d.ts.map +1 -0
  25. package/billing/PricingGovernanceConsole.js +164 -0
  26. package/billing/PricingGovernanceConsole.js.map +1 -0
  27. package/billing/PricingGovernancePanel.d.ts +26 -0
  28. package/billing/PricingGovernancePanel.d.ts.map +1 -0
  29. package/billing/PricingGovernancePanel.js +64 -0
  30. package/billing/PricingGovernancePanel.js.map +1 -0
  31. package/billing/RetireConfirm.d.ts +9 -0
  32. package/billing/RetireConfirm.d.ts.map +1 -0
  33. package/billing/RetireConfirm.js +19 -0
  34. package/billing/RetireConfirm.js.map +1 -0
  35. package/billing/form-primitives.d.ts +18 -0
  36. package/billing/form-primitives.d.ts.map +1 -0
  37. package/billing/form-primitives.js +19 -0
  38. package/billing/form-primitives.js.map +1 -0
  39. package/billing/governance-primitives.d.ts +33 -0
  40. package/billing/governance-primitives.d.ts.map +1 -0
  41. package/billing/governance-primitives.js +43 -0
  42. package/billing/governance-primitives.js.map +1 -0
  43. package/billing/index.d.ts +18 -0
  44. package/billing/index.d.ts.map +1 -1
  45. package/billing/index.js +9 -0
  46. package/billing/index.js.map +1 -1
  47. package/billing/pricing-format.d.ts +12 -0
  48. package/billing/pricing-format.d.ts.map +1 -0
  49. package/billing/pricing-format.js +50 -0
  50. package/billing/pricing-format.js.map +1 -0
  51. package/billing/useDecidePricingOverride.d.ts +46 -0
  52. package/billing/useDecidePricingOverride.d.ts.map +1 -0
  53. package/billing/useDecidePricingOverride.js +44 -0
  54. package/billing/useDecidePricingOverride.js.map +1 -0
  55. package/billing/useModelGovernanceView.d.ts +103 -0
  56. package/billing/useModelGovernanceView.d.ts.map +1 -0
  57. package/billing/useModelGovernanceView.js +144 -0
  58. package/billing/useModelGovernanceView.js.map +1 -0
  59. package/billing/useModelPricingBaselines.d.ts +40 -0
  60. package/billing/useModelPricingBaselines.d.ts.map +1 -0
  61. package/billing/useModelPricingBaselines.js +32 -0
  62. package/billing/useModelPricingBaselines.js.map +1 -0
  63. package/billing/usePricingGovernance.d.ts +39 -0
  64. package/billing/usePricingGovernance.d.ts.map +1 -0
  65. package/billing/usePricingGovernance.js +31 -0
  66. package/billing/usePricingGovernance.js.map +1 -0
  67. package/billing/useRetireModelPricingBaseline.d.ts +31 -0
  68. package/billing/useRetireModelPricingBaseline.d.ts.map +1 -0
  69. package/billing/useRetireModelPricingBaseline.js +36 -0
  70. package/billing/useRetireModelPricingBaseline.js.map +1 -0
  71. package/billing/useUpsertModelPricingBaseline.d.ts +38 -0
  72. package/billing/useUpsertModelPricingBaseline.d.ts.map +1 -0
  73. package/billing/useUpsertModelPricingBaseline.js +37 -0
  74. package/billing/useUpsertModelPricingBaseline.js.map +1 -0
  75. package/channel/AgentChannelsPanel.d.ts.map +1 -1
  76. package/channel/AgentChannelsPanel.js +11 -5
  77. package/channel/AgentChannelsPanel.js.map +1 -1
  78. package/composer/SessionComposer.d.ts +1 -1
  79. package/cursor-accounts/CursorAccountEditor.d.ts +28 -0
  80. package/cursor-accounts/CursorAccountEditor.d.ts.map +1 -0
  81. package/cursor-accounts/CursorAccountEditor.js +51 -0
  82. package/cursor-accounts/CursorAccountEditor.js.map +1 -0
  83. package/cursor-accounts/CursorAccountsAccessNotice.d.ts +11 -0
  84. package/cursor-accounts/CursorAccountsAccessNotice.d.ts.map +1 -0
  85. package/cursor-accounts/CursorAccountsAccessNotice.js +14 -0
  86. package/cursor-accounts/CursorAccountsAccessNotice.js.map +1 -0
  87. package/cursor-accounts/CursorAccountsConsole.d.ts +28 -0
  88. package/cursor-accounts/CursorAccountsConsole.d.ts.map +1 -0
  89. package/cursor-accounts/CursorAccountsConsole.js +275 -0
  90. package/cursor-accounts/CursorAccountsConsole.js.map +1 -0
  91. package/cursor-accounts/cursor-account-format.d.ts +10 -0
  92. package/cursor-accounts/cursor-account-format.d.ts.map +1 -0
  93. package/cursor-accounts/cursor-account-format.js +26 -0
  94. package/cursor-accounts/cursor-account-format.js.map +1 -0
  95. package/cursor-accounts/index.d.ts +18 -0
  96. package/cursor-accounts/index.d.ts.map +1 -0
  97. package/cursor-accounts/index.js +13 -0
  98. package/cursor-accounts/index.js.map +1 -0
  99. package/cursor-accounts/useCursorAccountView.d.ts +30 -0
  100. package/cursor-accounts/useCursorAccountView.d.ts.map +1 -0
  101. package/cursor-accounts/useCursorAccountView.js +25 -0
  102. package/cursor-accounts/useCursorAccountView.js.map +1 -0
  103. package/cursor-accounts/useCursorAccounts.d.ts +33 -0
  104. package/cursor-accounts/useCursorAccounts.d.ts.map +1 -0
  105. package/cursor-accounts/useCursorAccounts.js +25 -0
  106. package/cursor-accounts/useCursorAccounts.js.map +1 -0
  107. package/cursor-accounts/useCursorMemberKeyActions.d.ts +49 -0
  108. package/cursor-accounts/useCursorMemberKeyActions.d.ts.map +1 -0
  109. package/cursor-accounts/useCursorMemberKeyActions.js +38 -0
  110. package/cursor-accounts/useCursorMemberKeyActions.js.map +1 -0
  111. package/cursor-accounts/useDeleteCursorAccount.d.ts +30 -0
  112. package/cursor-accounts/useDeleteCursorAccount.d.ts.map +1 -0
  113. package/cursor-accounts/useDeleteCursorAccount.js +32 -0
  114. package/cursor-accounts/useDeleteCursorAccount.js.map +1 -0
  115. package/cursor-accounts/useSyncCursorAccount.d.ts +23 -0
  116. package/cursor-accounts/useSyncCursorAccount.d.ts.map +1 -0
  117. package/cursor-accounts/useSyncCursorAccount.js +31 -0
  118. package/cursor-accounts/useSyncCursorAccount.js.map +1 -0
  119. package/cursor-accounts/useUpsertCursorAccount.d.ts +26 -0
  120. package/cursor-accounts/useUpsertCursorAccount.d.ts.map +1 -0
  121. package/cursor-accounts/useUpsertCursorAccount.js +34 -0
  122. package/cursor-accounts/useUpsertCursorAccount.js.map +1 -0
  123. package/datastore/CollectionRecordsBrowser.d.ts +34 -0
  124. package/datastore/CollectionRecordsBrowser.d.ts.map +1 -0
  125. package/datastore/CollectionRecordsBrowser.js +209 -0
  126. package/datastore/CollectionRecordsBrowser.js.map +1 -0
  127. package/datastore/CollectionSchemaView.d.ts +29 -0
  128. package/datastore/CollectionSchemaView.d.ts.map +1 -0
  129. package/datastore/CollectionSchemaView.js +93 -0
  130. package/datastore/CollectionSchemaView.js.map +1 -0
  131. package/datastore/DatastoreDetailView.d.ts +44 -0
  132. package/datastore/DatastoreDetailView.d.ts.map +1 -0
  133. package/datastore/DatastoreDetailView.js +76 -0
  134. package/datastore/DatastoreDetailView.js.map +1 -0
  135. package/datastore/DatastoreSyncReport.d.ts +19 -0
  136. package/datastore/DatastoreSyncReport.d.ts.map +1 -0
  137. package/datastore/DatastoreSyncReport.js +45 -0
  138. package/datastore/DatastoreSyncReport.js.map +1 -0
  139. package/datastore/DeleteDatastoreDialog.d.ts +35 -0
  140. package/datastore/DeleteDatastoreDialog.d.ts.map +1 -0
  141. package/datastore/DeleteDatastoreDialog.js +90 -0
  142. package/datastore/DeleteDatastoreDialog.js.map +1 -0
  143. package/datastore/FieldValueControl.d.ts +55 -0
  144. package/datastore/FieldValueControl.d.ts.map +1 -0
  145. package/datastore/FieldValueControl.js +138 -0
  146. package/datastore/FieldValueControl.js.map +1 -0
  147. package/datastore/RecordFilterBuilder.d.ts +30 -0
  148. package/datastore/RecordFilterBuilder.d.ts.map +1 -0
  149. package/datastore/RecordFilterBuilder.js +122 -0
  150. package/datastore/RecordFilterBuilder.js.map +1 -0
  151. package/datastore/RecordFormPanel.d.ts +45 -0
  152. package/datastore/RecordFormPanel.d.ts.map +1 -0
  153. package/datastore/RecordFormPanel.js +215 -0
  154. package/datastore/RecordFormPanel.js.map +1 -0
  155. package/datastore/index.d.ts +43 -0
  156. package/datastore/index.d.ts.map +1 -0
  157. package/datastore/index.js +22 -0
  158. package/datastore/index.js.map +1 -0
  159. package/datastore/recordFilter.d.ts +54 -0
  160. package/datastore/recordFilter.d.ts.map +1 -0
  161. package/datastore/recordFilter.js +93 -0
  162. package/datastore/recordFilter.js.map +1 -0
  163. package/datastore/recordValues.d.ts +85 -0
  164. package/datastore/recordValues.d.ts.map +1 -0
  165. package/datastore/recordValues.js +282 -0
  166. package/datastore/recordValues.js.map +1 -0
  167. package/datastore/useDatastore.d.ts +39 -0
  168. package/datastore/useDatastore.d.ts.map +1 -0
  169. package/datastore/useDatastore.js +44 -0
  170. package/datastore/useDatastore.js.map +1 -0
  171. package/datastore/useDatastoreCount.d.ts +48 -0
  172. package/datastore/useDatastoreCount.d.ts.map +1 -0
  173. package/datastore/useDatastoreCount.js +27 -0
  174. package/datastore/useDatastoreCount.js.map +1 -0
  175. package/datastore/useDatastoreDescription.d.ts +54 -0
  176. package/datastore/useDatastoreDescription.d.ts.map +1 -0
  177. package/datastore/useDatastoreDescription.js +50 -0
  178. package/datastore/useDatastoreDescription.js.map +1 -0
  179. package/datastore/useDatastoreList.d.ts +57 -0
  180. package/datastore/useDatastoreList.d.ts.map +1 -0
  181. package/datastore/useDatastoreList.js +29 -0
  182. package/datastore/useDatastoreList.js.map +1 -0
  183. package/datastore/useDatastoreSearch.d.ts +19 -0
  184. package/datastore/useDatastoreSearch.d.ts.map +1 -0
  185. package/datastore/useDatastoreSearch.js +22 -0
  186. package/datastore/useDatastoreSearch.js.map +1 -0
  187. package/datastore/useDeleteDatastore.d.ts +53 -0
  188. package/datastore/useDeleteDatastore.d.ts.map +1 -0
  189. package/datastore/useDeleteDatastore.js +40 -0
  190. package/datastore/useDeleteDatastore.js.map +1 -0
  191. package/datastore/useDeleteRecord.d.ts +34 -0
  192. package/datastore/useDeleteRecord.d.ts.map +1 -0
  193. package/datastore/useDeleteRecord.js +43 -0
  194. package/datastore/useDeleteRecord.js.map +1 -0
  195. package/datastore/useInsertRecord.d.ts +50 -0
  196. package/datastore/useInsertRecord.d.ts.map +1 -0
  197. package/datastore/useInsertRecord.js +55 -0
  198. package/datastore/useInsertRecord.js.map +1 -0
  199. package/datastore/useRecordCollection.d.ts +104 -0
  200. package/datastore/useRecordCollection.d.ts.map +1 -0
  201. package/datastore/useRecordCollection.js +136 -0
  202. package/datastore/useRecordCollection.js.map +1 -0
  203. package/datastore/useRecordList.d.ts +66 -0
  204. package/datastore/useRecordList.d.ts.map +1 -0
  205. package/datastore/useRecordList.js +58 -0
  206. package/datastore/useRecordList.js.map +1 -0
  207. package/datastore/useUpdateRecord.d.ts +52 -0
  208. package/datastore/useUpdateRecord.d.ts.map +1 -0
  209. package/datastore/useUpdateRecord.js +55 -0
  210. package/datastore/useUpdateRecord.js.map +1 -0
  211. package/environment/EnvironmentListPanel.d.ts.map +1 -1
  212. package/environment/EnvironmentListPanel.js +12 -7
  213. package/environment/EnvironmentListPanel.js.map +1 -1
  214. package/execution/index.d.ts +1 -2
  215. package/execution/index.d.ts.map +1 -1
  216. package/execution/index.js +0 -1
  217. package/execution/index.js.map +1 -1
  218. package/execution/useLiveAgentExecution.d.ts +17 -1
  219. package/execution/useLiveAgentExecution.d.ts.map +1 -1
  220. package/execution/useLiveAgentExecution.js +19 -4
  221. package/execution/useLiveAgentExecution.js.map +1 -1
  222. package/iam-policy/index.d.ts +1 -1
  223. package/iam-policy/index.d.ts.map +1 -1
  224. package/iam-policy/index.js.map +1 -1
  225. package/iam-policy/useCheckPermission.d.ts +32 -11
  226. package/iam-policy/useCheckPermission.d.ts.map +1 -1
  227. package/iam-policy/useCheckPermission.js +24 -19
  228. package/iam-policy/useCheckPermission.js.map +1 -1
  229. package/index.d.ts +16 -10
  230. package/index.d.ts.map +1 -1
  231. package/index.js +16 -5
  232. package/index.js.map +1 -1
  233. package/internal/useInViewport.d.ts +24 -0
  234. package/internal/useInViewport.d.ts.map +1 -0
  235. package/internal/useInViewport.js +49 -0
  236. package/internal/useInViewport.js.map +1 -0
  237. package/library/VisibilitySelector.d.ts +22 -6
  238. package/library/VisibilitySelector.d.ts.map +1 -1
  239. package/library/VisibilitySelector.js +12 -4
  240. package/library/VisibilitySelector.js.map +1 -1
  241. package/library/index.d.ts +1 -8
  242. package/library/index.d.ts.map +1 -1
  243. package/library/index.js +0 -4
  244. package/library/index.js.map +1 -1
  245. package/library/useApplyResource.d.ts +12 -12
  246. package/library/useApplyResource.d.ts.map +1 -1
  247. package/library/useApplyResource.js +16 -25
  248. package/library/useApplyResource.js.map +1 -1
  249. package/library/useExportResource.d.ts +13 -9
  250. package/library/useExportResource.d.ts.map +1 -1
  251. package/library/useExportResource.js +18 -36
  252. package/library/useExportResource.js.map +1 -1
  253. package/manifest/ApplyManifestDialog.d.ts +48 -0
  254. package/manifest/ApplyManifestDialog.d.ts.map +1 -0
  255. package/manifest/ApplyManifestDialog.js +135 -0
  256. package/manifest/ApplyManifestDialog.js.map +1 -0
  257. package/manifest/EditResourceYamlDialog.d.ts +51 -0
  258. package/manifest/EditResourceYamlDialog.d.ts.map +1 -0
  259. package/manifest/EditResourceYamlDialog.js +104 -0
  260. package/manifest/EditResourceYamlDialog.js.map +1 -0
  261. package/manifest/RedactedSecretsNotice.d.ts +14 -0
  262. package/manifest/RedactedSecretsNotice.d.ts.map +1 -0
  263. package/manifest/RedactedSecretsNotice.js +14 -0
  264. package/manifest/RedactedSecretsNotice.js.map +1 -0
  265. package/manifest/YamlEditor.d.ts +44 -0
  266. package/manifest/YamlEditor.d.ts.map +1 -0
  267. package/manifest/YamlEditor.js +216 -0
  268. package/manifest/YamlEditor.js.map +1 -0
  269. package/manifest/index.d.ts +13 -0
  270. package/manifest/index.d.ts.map +1 -0
  271. package/manifest/index.js +13 -0
  272. package/manifest/index.js.map +1 -0
  273. package/manifest/useApplyManifest.d.ts +82 -0
  274. package/manifest/useApplyManifest.d.ts.map +1 -0
  275. package/manifest/useApplyManifest.js +180 -0
  276. package/manifest/useApplyManifest.js.map +1 -0
  277. package/manifest/useEditResourceYaml.d.ts +106 -0
  278. package/manifest/useEditResourceYaml.d.ts.map +1 -0
  279. package/manifest/useEditResourceYaml.js +168 -0
  280. package/manifest/useEditResourceYaml.js.map +1 -0
  281. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  282. package/mcp-server/McpServerDetailView.js +4 -3
  283. package/mcp-server/McpServerDetailView.js.map +1 -1
  284. package/mcp-server/steps/ReviewStep.d.ts.map +1 -1
  285. package/mcp-server/steps/ReviewStep.js +2 -3
  286. package/mcp-server/steps/ReviewStep.js.map +1 -1
  287. package/package.json +4 -4
  288. package/resource-creation/templates/workflow-templates.js +4 -4
  289. package/session/SessionViewer.js +8 -1
  290. package/session/SessionViewer.js.map +1 -1
  291. package/session/audience.d.ts +6 -1
  292. package/session/audience.d.ts.map +1 -1
  293. package/session/useEditSessionPrep.js +3 -3
  294. package/session/useEditSessionPrep.js.map +1 -1
  295. package/settings/index.d.ts +2 -1
  296. package/settings/index.d.ts.map +1 -1
  297. package/settings/index.js +2 -1
  298. package/settings/index.js.map +1 -1
  299. package/settings/settings-nav.d.ts +22 -0
  300. package/settings/settings-nav.d.ts.map +1 -1
  301. package/settings/settings-nav.js +32 -1
  302. package/settings/settings-nav.js.map +1 -1
  303. package/settings/useSettingsNavGroups.d.ts +29 -0
  304. package/settings/useSettingsNavGroups.d.ts.map +1 -0
  305. package/settings/useSettingsNavGroups.js +61 -0
  306. package/settings/useSettingsNavGroups.js.map +1 -0
  307. package/skill/SkillDetailView.d.ts.map +1 -1
  308. package/skill/SkillDetailView.js +4 -3
  309. package/skill/SkillDetailView.js.map +1 -1
  310. package/src/access/__tests__/useManageAccess.test.tsx +104 -0
  311. package/src/agent/AgentDetailView.tsx +9 -3
  312. package/src/agent/steps/ReviewStep.tsx +2 -3
  313. package/src/billing/BaselineEditor.tsx +619 -0
  314. package/src/billing/ModelCatalogPanel.tsx +283 -0
  315. package/src/billing/ModelGovernanceDetail.tsx +289 -0
  316. package/src/billing/OperatorAccessNotice.tsx +32 -0
  317. package/src/billing/PricingGovernanceConsole.tsx +465 -0
  318. package/src/billing/PricingGovernancePanel.tsx +166 -0
  319. package/src/billing/RetireConfirm.tsx +82 -0
  320. package/src/billing/__tests__/ModelCatalogPanel.test.tsx +253 -0
  321. package/src/billing/__tests__/PricingGovernanceConsole.test.tsx +410 -0
  322. package/src/billing/__tests__/useModelGovernanceView.test.tsx +308 -0
  323. package/src/billing/form-primitives.tsx +68 -0
  324. package/src/billing/governance-primitives.tsx +133 -0
  325. package/src/billing/index.ts +37 -0
  326. package/src/billing/pricing-format.ts +53 -0
  327. package/src/billing/useDecidePricingOverride.ts +78 -0
  328. package/src/billing/useModelGovernanceView.ts +290 -0
  329. package/src/billing/useModelPricingBaselines.ts +69 -0
  330. package/src/billing/usePricingGovernance.ts +57 -0
  331. package/src/billing/useRetireModelPricingBaseline.ts +65 -0
  332. package/src/billing/useUpsertModelPricingBaseline.ts +72 -0
  333. package/src/channel/AgentChannelsPanel.tsx +27 -1
  334. package/src/composer/SessionComposer.tsx +1 -1
  335. package/src/cursor-accounts/CursorAccountEditor.tsx +181 -0
  336. package/src/cursor-accounts/CursorAccountsAccessNotice.tsx +36 -0
  337. package/src/cursor-accounts/CursorAccountsConsole.tsx +810 -0
  338. package/src/cursor-accounts/__tests__/CursorAccountsConsole.test.tsx +384 -0
  339. package/src/cursor-accounts/cursor-account-format.ts +29 -0
  340. package/src/cursor-accounts/index.ts +29 -0
  341. package/src/cursor-accounts/useCursorAccountView.ts +49 -0
  342. package/src/cursor-accounts/useCursorAccounts.ts +49 -0
  343. package/src/cursor-accounts/useCursorMemberKeyActions.ts +106 -0
  344. package/src/cursor-accounts/useDeleteCursorAccount.ts +62 -0
  345. package/src/cursor-accounts/useSyncCursorAccount.ts +54 -0
  346. package/src/cursor-accounts/useUpsertCursorAccount.ts +57 -0
  347. package/src/datastore/CollectionRecordsBrowser.tsx +544 -0
  348. package/src/datastore/CollectionSchemaView.tsx +247 -0
  349. package/src/datastore/DatastoreDetailView.tsx +201 -0
  350. package/src/datastore/DatastoreSyncReport.tsx +105 -0
  351. package/src/datastore/DeleteDatastoreDialog.tsx +202 -0
  352. package/src/datastore/FieldValueControl.tsx +289 -0
  353. package/src/datastore/RecordFilterBuilder.tsx +411 -0
  354. package/src/datastore/RecordFormPanel.tsx +432 -0
  355. package/src/datastore/__tests__/CollectionRecordsBrowser.test.tsx +207 -0
  356. package/src/datastore/__tests__/DeleteDatastoreDialog.test.tsx +133 -0
  357. package/src/datastore/__tests__/FieldValueControl.test.tsx +160 -0
  358. package/src/datastore/__tests__/RecordFilterBuilder.test.tsx +141 -0
  359. package/src/datastore/__tests__/RecordFormPanel.test.tsx +227 -0
  360. package/src/datastore/__tests__/recordFilter.test.ts +156 -0
  361. package/src/datastore/__tests__/recordMutations.test.tsx +195 -0
  362. package/src/datastore/__tests__/recordValues.test.ts +359 -0
  363. package/src/datastore/__tests__/schemaAndSyncViews.test.tsx +142 -0
  364. package/src/datastore/__tests__/useDatastoreDescription.test.tsx +143 -0
  365. package/src/datastore/__tests__/useRecordCollection.test.tsx +250 -0
  366. package/src/datastore/__tests__/useRecordList.test.tsx +85 -0
  367. package/src/datastore/index.ts +111 -0
  368. package/src/datastore/recordFilter.ts +140 -0
  369. package/src/datastore/recordValues.ts +327 -0
  370. package/src/datastore/useDatastore.ts +67 -0
  371. package/src/datastore/useDatastoreCount.ts +67 -0
  372. package/src/datastore/useDatastoreDescription.ts +90 -0
  373. package/src/datastore/useDatastoreList.ts +79 -0
  374. package/src/datastore/useDatastoreSearch.ts +39 -0
  375. package/src/datastore/useDeleteDatastore.ts +87 -0
  376. package/src/datastore/useDeleteRecord.ts +77 -0
  377. package/src/datastore/useInsertRecord.ts +92 -0
  378. package/src/datastore/useRecordCollection.ts +256 -0
  379. package/src/datastore/useRecordList.ts +131 -0
  380. package/src/datastore/useUpdateRecord.ts +95 -0
  381. package/src/environment/EnvironmentListPanel.tsx +24 -0
  382. package/src/execution/__tests__/useArtifactInspection.test.tsx +12 -2
  383. package/src/execution/__tests__/useLiveAgentExecution.test.tsx +125 -0
  384. package/src/execution/index.ts +4 -7
  385. package/src/execution/useLiveAgentExecution.ts +41 -3
  386. package/src/iam-policy/__tests__/useCheckPermission.test.tsx +221 -0
  387. package/src/iam-policy/index.ts +1 -0
  388. package/src/iam-policy/useCheckPermission.ts +45 -19
  389. package/src/index.ts +167 -18
  390. package/src/internal/__tests__/useInViewport.test.tsx +115 -0
  391. package/src/internal/useInViewport.ts +63 -0
  392. package/src/library/VisibilitySelector.tsx +50 -9
  393. package/src/library/__tests__/VisibilitySelector.test.tsx +38 -0
  394. package/src/library/index.ts +4 -21
  395. package/src/library/useApplyResource.ts +27 -34
  396. package/src/library/useExportResource.ts +21 -40
  397. package/src/manifest/ApplyManifestDialog.tsx +315 -0
  398. package/src/manifest/EditResourceYamlDialog.tsx +265 -0
  399. package/src/manifest/RedactedSecretsNotice.tsx +30 -0
  400. package/src/manifest/YamlEditor.tsx +272 -0
  401. package/src/manifest/__tests__/EditResourceYamlDialog.test.tsx +118 -0
  402. package/src/manifest/__tests__/useApplyManifest.test.tsx +237 -0
  403. package/src/manifest/__tests__/useEditResourceYaml.test.tsx +252 -0
  404. package/src/manifest/index.ts +33 -0
  405. package/src/manifest/useApplyManifest.ts +270 -0
  406. package/src/manifest/useEditResourceYaml.ts +273 -0
  407. package/src/mcp-server/McpServerDetailView.tsx +7 -3
  408. package/src/mcp-server/steps/ReviewStep.tsx +2 -3
  409. package/src/resource-creation/templates/workflow-templates.ts +4 -4
  410. package/src/session/SessionViewer.tsx +7 -1
  411. package/src/session/__tests__/audienceWiring.test.tsx +31 -1
  412. package/src/session/audience.ts +6 -1
  413. package/src/session/useEditSessionPrep.ts +3 -3
  414. package/src/settings/__tests__/useSettingsNavGroups.test.tsx +138 -0
  415. package/src/settings/index.ts +5 -1
  416. package/src/settings/settings-nav.ts +43 -0
  417. package/src/settings/useSettingsNavGroups.ts +81 -0
  418. package/src/skill/SkillDetailView.tsx +7 -3
  419. package/src/workflow/WorkflowAgentCallTranscript.tsx +279 -0
  420. package/src/workflow/WorkflowDetailView.tsx +7 -3
  421. package/src/workflow/WorkflowExecutionViewer.tsx +20 -77
  422. package/src/workflow/WorkflowTaskApprovalSummary.tsx +45 -8
  423. package/src/workflow/WorkflowYamlEditor.tsx +6 -270
  424. package/src/workflow/__tests__/WorkflowAgentCallTranscript.liveregion.test.tsx +124 -0
  425. package/src/workflow/__tests__/{WorkflowAgentExecutionDocument.test.tsx → WorkflowAgentCallTranscript.test.tsx} +146 -121
  426. package/src/workflow/__tests__/WorkflowExecutionViewer.approvals.test.tsx +81 -220
  427. package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +17 -16
  428. package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +52 -2
  429. package/src/workflow/__tests__/WorkflowTaskThread.test.tsx +168 -185
  430. package/src/workflow/__tests__/agent-call-live-experience.test.ts +4 -4
  431. package/src/workflow/__tests__/task-approval.test.ts +119 -0
  432. package/src/workflow/__tests__/task-presentation.test.ts +35 -1
  433. package/src/workflow/__tests__/useWorkflowExecutionPanel.test.ts +0 -57
  434. package/src/workflow/index.ts +6 -3
  435. package/src/workflow/task-detail/index.ts +3 -0
  436. package/src/workflow/task-detail/task-approval.ts +95 -1
  437. package/src/workflow/thread/WorkflowTaskThread.tsx +96 -252
  438. package/src/workflow/thread/task-presentation.ts +8 -2
  439. package/src/workflow/useWorkflowExecutionPanel.ts +0 -47
  440. package/styles.css +1 -1
  441. package/workflow/CanvasTransitionEdge.d.ts +1 -1
  442. package/workflow/WorkflowAgentCallTranscript.d.ts +87 -0
  443. package/workflow/WorkflowAgentCallTranscript.d.ts.map +1 -0
  444. package/workflow/WorkflowAgentCallTranscript.js +98 -0
  445. package/workflow/WorkflowAgentCallTranscript.js.map +1 -0
  446. package/workflow/WorkflowDetailView.d.ts.map +1 -1
  447. package/workflow/WorkflowDetailView.js +4 -3
  448. package/workflow/WorkflowDetailView.js.map +1 -1
  449. package/workflow/WorkflowExecutionViewer.d.ts.map +1 -1
  450. package/workflow/WorkflowExecutionViewer.js +23 -52
  451. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  452. package/workflow/WorkflowTaskApprovalSummary.d.ts +1 -1
  453. package/workflow/WorkflowTaskApprovalSummary.d.ts.map +1 -1
  454. package/workflow/WorkflowTaskApprovalSummary.js +18 -1
  455. package/workflow/WorkflowTaskApprovalSummary.js.map +1 -1
  456. package/workflow/WorkflowYamlEditor.d.ts +2 -42
  457. package/workflow/WorkflowYamlEditor.d.ts.map +1 -1
  458. package/workflow/WorkflowYamlEditor.js +5 -214
  459. package/workflow/WorkflowYamlEditor.js.map +1 -1
  460. package/workflow/index.d.ts +2 -2
  461. package/workflow/index.d.ts.map +1 -1
  462. package/workflow/index.js +2 -2
  463. package/workflow/index.js.map +1 -1
  464. package/workflow/task-detail/index.d.ts +1 -1
  465. package/workflow/task-detail/index.d.ts.map +1 -1
  466. package/workflow/task-detail/index.js +1 -1
  467. package/workflow/task-detail/index.js.map +1 -1
  468. package/workflow/task-detail/task-approval.d.ts +44 -1
  469. package/workflow/task-detail/task-approval.d.ts.map +1 -1
  470. package/workflow/task-detail/task-approval.js +47 -0
  471. package/workflow/task-detail/task-approval.js.map +1 -1
  472. package/workflow/thread/WorkflowTaskThread.d.ts +17 -25
  473. package/workflow/thread/WorkflowTaskThread.d.ts.map +1 -1
  474. package/workflow/thread/WorkflowTaskThread.js +60 -105
  475. package/workflow/thread/WorkflowTaskThread.js.map +1 -1
  476. package/workflow/thread/task-presentation.d.ts.map +1 -1
  477. package/workflow/thread/task-presentation.js +7 -2
  478. package/workflow/thread/task-presentation.js.map +1 -1
  479. package/workflow/useWorkflowExecutionPanel.d.ts +0 -12
  480. package/workflow/useWorkflowExecutionPanel.d.ts.map +1 -1
  481. package/workflow/useWorkflowExecutionPanel.js +0 -12
  482. package/workflow/useWorkflowExecutionPanel.js.map +1 -1
  483. package/execution/agent-execution-document.d.ts +0 -31
  484. package/execution/agent-execution-document.d.ts.map +0 -1
  485. package/execution/agent-execution-document.js +0 -48
  486. package/execution/agent-execution-document.js.map +0 -1
  487. package/library/ImportResourceDialog.d.ts +0 -43
  488. package/library/ImportResourceDialog.d.ts.map +0 -1
  489. package/library/ImportResourceDialog.js +0 -90
  490. package/library/ImportResourceDialog.js.map +0 -1
  491. package/library/parse-resource-yaml.d.ts +0 -63
  492. package/library/parse-resource-yaml.d.ts.map +0 -1
  493. package/library/parse-resource-yaml.js +0 -407
  494. package/library/parse-resource-yaml.js.map +0 -1
  495. package/library/serialize-resource-yaml.d.ts +0 -103
  496. package/library/serialize-resource-yaml.d.ts.map +0 -1
  497. package/library/serialize-resource-yaml.js +0 -565
  498. package/library/serialize-resource-yaml.js.map +0 -1
  499. package/library/useImportResource.d.ts +0 -84
  500. package/library/useImportResource.d.ts.map +0 -1
  501. package/library/useImportResource.js +0 -188
  502. package/library/useImportResource.js.map +0 -1
  503. package/src/execution/__tests__/agent-execution-document.test.ts +0 -45
  504. package/src/execution/agent-execution-document.ts +0 -54
  505. package/src/library/ImportResourceDialog.tsx +0 -227
  506. package/src/library/parse-resource-yaml.ts +0 -630
  507. package/src/library/serialize-resource-yaml.ts +0 -756
  508. package/src/library/useImportResource.ts +0 -253
  509. package/src/workflow/WorkflowAgentExecutionDocument.tsx +0 -283
  510. package/workflow/WorkflowAgentExecutionDocument.d.ts +0 -79
  511. package/workflow/WorkflowAgentExecutionDocument.d.ts.map +0 -1
  512. package/workflow/WorkflowAgentExecutionDocument.js +0 -87
  513. package/workflow/WorkflowAgentExecutionDocument.js.map +0 -1
@@ -0,0 +1,103 @@
1
+ import { type ModelPricingBaseline } from "@stigmer/protos/ai/stigmer/billing/v1/model_pricing_baseline_pb";
2
+ import type { ModelPricingGovernanceEntry } from "@stigmer/protos/ai/stigmer/billing/v1/io_pb";
3
+ import type { ModelPricingOverride } from "@stigmer/protos/ai/stigmer/billing/v1/pricing_override_pb";
4
+ /**
5
+ * One model in the unified governance view: the ACTIVE catalog baseline
6
+ * joined with its effective-registry governance state and its
7
+ * append-only revision history.
8
+ */
9
+ export interface ModelGovernanceRow {
10
+ /** Stable identity: `modelId|provider|harness` (the catalog key). */
11
+ readonly key: string;
12
+ /** The ACTIVE baseline revision (catalog fields + list rates). */
13
+ readonly baseline: ModelPricingBaseline;
14
+ /**
15
+ * The base-variant governance entry (baseline vs effective rates,
16
+ * active overrides, ledger reconcilability), or `null` when the
17
+ * governance view has no entry for this key — the row then renders
18
+ * baseline rates with no governance state.
19
+ */
20
+ readonly governance: ModelPricingGovernanceEntry | null;
21
+ /** Governance entries for this model's named pricing variants. */
22
+ readonly variantGovernance: readonly ModelPricingGovernanceEntry[];
23
+ /** SUPERSEDED / RETIRED revisions, newest first as served. */
24
+ readonly history: readonly ModelPricingBaseline[];
25
+ }
26
+ /**
27
+ * Where the operator is in the console: browsing the model list,
28
+ * creating a new catalog entry, or focused on one model (viewing,
29
+ * editing, or retiring it).
30
+ */
31
+ export type GovernanceFlow = {
32
+ readonly phase: "list";
33
+ } | {
34
+ readonly phase: "create";
35
+ } | {
36
+ readonly phase: "detail";
37
+ readonly modelKey: string;
38
+ readonly mode: "view" | "edit" | "retire";
39
+ };
40
+ /** Return value of {@link useModelGovernanceView}. */
41
+ export interface UseModelGovernanceViewReturn {
42
+ /** Unified model rows, filtered by {@link modelQuery}, sorted by display name. */
43
+ readonly models: readonly ModelGovernanceRow[];
44
+ /** PENDING_SIGNOFF overrides, filtered by {@link signOffQuery}, oldest first as served. */
45
+ readonly pendingOverrides: readonly ModelPricingOverride[];
46
+ /** Unfiltered pending-override count (for the Sign-Offs tab badge). */
47
+ readonly pendingCount: number;
48
+ /** Current search text over the model list. */
49
+ readonly modelQuery: string;
50
+ /** Set the model-list search text. */
51
+ readonly setModelQuery: (query: string) => void;
52
+ /** Current search text over the sign-off queue. */
53
+ readonly signOffQuery: string;
54
+ /** Set the sign-off search text. */
55
+ readonly setSignOffQuery: (query: string) => void;
56
+ /** Current console flow state. */
57
+ readonly flow: GovernanceFlow;
58
+ /** The focused model when {@link flow} is in the detail phase, else `null`. */
59
+ readonly selected: ModelGovernanceRow | null;
60
+ /** Focus one model (read-only detail). */
61
+ readonly openDetail: (modelKey: string) => void;
62
+ /** Open the add-model editor. */
63
+ readonly openCreate: () => void;
64
+ /** Switch the focused model into the edit form. */
65
+ readonly openEdit: () => void;
66
+ /** Switch the focused model into the retire confirmation. */
67
+ readonly openRetire: () => void;
68
+ /** Leave edit/retire back to the read-only detail. */
69
+ readonly backToDetail: () => void;
70
+ /** Return to the model list. */
71
+ readonly backToList: () => void;
72
+ /** `true` while either underlying fetch is in its initial load. */
73
+ readonly isLoading: boolean;
74
+ /** First error from the underlying fetches, or `null` when healthy. */
75
+ readonly error: Error | null;
76
+ /** Re-fetch both the catalog and the governance view. */
77
+ readonly refetch: () => void;
78
+ }
79
+ /**
80
+ * Behavior hook backing the pricing-governance console: joins the model
81
+ * registry baseline catalog ({@link useModelPricingBaselines}, with
82
+ * history) and the governance view ({@link usePricingGovernance}) into
83
+ * one row per catalog key, and owns the console's search and
84
+ * list/create/detail flow state.
85
+ *
86
+ * The two RPCs describe the same models from different angles — the
87
+ * catalog is what operators author, governance is what the pricing
88
+ * feedback loop composed on top — so the console renders them as one
89
+ * surface instead of two parallel tables. Per-variant governance
90
+ * entries fold into their model's row rather than appearing as
91
+ * top-level rows.
92
+ *
93
+ * Platform-operator surface: the caller needs `can_manage_model_pricing`
94
+ * on `platform:stigmer`; rates are raw provider prices (pre-markup).
95
+ *
96
+ * @example
97
+ * ```tsx
98
+ * const view = useModelGovernanceView();
99
+ * return view.models.map((row) => <ModelRow key={row.key} row={row} />);
100
+ * ```
101
+ */
102
+ export declare function useModelGovernanceView(): UseModelGovernanceViewReturn;
103
+ //# sourceMappingURL=useModelGovernanceView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModelGovernanceView.d.ts","sourceRoot":"","sources":["../../src/billing/useModelGovernanceView.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,iEAAiE,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AAItG;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACxD,kEAAkE;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACnE,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACnD;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC5B;IACE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC3C,CAAC;AAEN,sDAAsD;AACtD,MAAM,WAAW,4BAA4B;IAC3C,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC/C,2FAA2F;IAC3F,QAAQ,CAAC,gBAAgB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,uEAAuE;IACvE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,oCAAoC;IACpC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC7C,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,gCAAgC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAiBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,IAAI,4BAA4B,CAkKrE"}
@@ -0,0 +1,144 @@
1
+ "use client";
2
+ import { useCallback, useMemo, useState } from "react";
3
+ import { ModelPricingBaselineStatus, } from "@stigmer/protos/ai/stigmer/billing/v1/model_pricing_baseline_pb";
4
+ import { useModelPricingBaselines } from "./useModelPricingBaselines.js";
5
+ import { usePricingGovernance } from "./usePricingGovernance.js";
6
+ /** The catalog identity key shared by both data sources. */
7
+ function modelKey(entry) {
8
+ return `${entry.modelId}|${entry.provider}|${entry.harness}`;
9
+ }
10
+ function matchesQuery(query, ...fields) {
11
+ const q = query.trim().toLowerCase();
12
+ if (q === "")
13
+ return true;
14
+ return fields.some((field) => field.toLowerCase().includes(q));
15
+ }
16
+ /**
17
+ * Behavior hook backing the pricing-governance console: joins the model
18
+ * registry baseline catalog ({@link useModelPricingBaselines}, with
19
+ * history) and the governance view ({@link usePricingGovernance}) into
20
+ * one row per catalog key, and owns the console's search and
21
+ * list/create/detail flow state.
22
+ *
23
+ * The two RPCs describe the same models from different angles — the
24
+ * catalog is what operators author, governance is what the pricing
25
+ * feedback loop composed on top — so the console renders them as one
26
+ * surface instead of two parallel tables. Per-variant governance
27
+ * entries fold into their model's row rather than appearing as
28
+ * top-level rows.
29
+ *
30
+ * Platform-operator surface: the caller needs `can_manage_model_pricing`
31
+ * on `platform:stigmer`; rates are raw provider prices (pre-markup).
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * const view = useModelGovernanceView();
36
+ * return view.models.map((row) => <ModelRow key={row.key} row={row} />);
37
+ * ```
38
+ */
39
+ export function useModelGovernanceView() {
40
+ // History is always fetched so opening a detail view never triggers a
41
+ // second round-trip; the catalog is small (dozens of models) and this
42
+ // is an operator-only surface.
43
+ const baselinesFetch = useModelPricingBaselines({ includeHistory: true });
44
+ const governanceFetch = usePricingGovernance();
45
+ const [modelQuery, setModelQuery] = useState("");
46
+ const [signOffQuery, setSignOffQuery] = useState("");
47
+ const [flow, setFlow] = useState({ phase: "list" });
48
+ const rows = useMemo(() => {
49
+ const baselines = baselinesFetch.baselines ?? [];
50
+ const entries = governanceFetch.governance?.entries ?? [];
51
+ const baseByKey = new Map();
52
+ const variantsByKey = new Map();
53
+ for (const entry of entries) {
54
+ const key = modelKey(entry);
55
+ if (entry.variant === "") {
56
+ baseByKey.set(key, entry);
57
+ }
58
+ else {
59
+ variantsByKey.set(key, [...(variantsByKey.get(key) ?? []), entry]);
60
+ }
61
+ }
62
+ const historyByKey = new Map();
63
+ for (const baseline of baselines) {
64
+ if (baseline.status === ModelPricingBaselineStatus.pricing_baseline_active)
65
+ continue;
66
+ const key = modelKey(baseline);
67
+ historyByKey.set(key, [...(historyByKey.get(key) ?? []), baseline]);
68
+ }
69
+ return baselines
70
+ .filter((b) => b.status === ModelPricingBaselineStatus.pricing_baseline_active)
71
+ .map((baseline) => {
72
+ const key = modelKey(baseline);
73
+ return {
74
+ key,
75
+ baseline,
76
+ governance: baseByKey.get(key) ?? null,
77
+ variantGovernance: variantsByKey.get(key) ?? [],
78
+ history: historyByKey.get(key) ?? [],
79
+ };
80
+ })
81
+ .sort((a, b) => (a.baseline.displayName || a.baseline.modelId).localeCompare(b.baseline.displayName || b.baseline.modelId));
82
+ }, [baselinesFetch.baselines, governanceFetch.governance]);
83
+ const models = useMemo(() => rows.filter((row) => matchesQuery(modelQuery, row.baseline.modelId, row.baseline.displayName, row.baseline.provider, row.baseline.harness)), [rows, modelQuery]);
84
+ const allPending = useMemo(() => governanceFetch.governance?.pendingOverrides ?? [], [governanceFetch.governance]);
85
+ const pendingOverrides = useMemo(() => allPending.filter((override) => matchesQuery(signOffQuery, override.modelId, override.variant)), [allPending, signOffQuery]);
86
+ // Resolve the focused row fresh each render so a refetch (e.g. after an
87
+ // edit) is reflected in the open detail; a retired model resolves to
88
+ // null and the console falls back to the list.
89
+ const selected = useMemo(() => {
90
+ if (flow.phase !== "detail")
91
+ return null;
92
+ return rows.find((row) => row.key === flow.modelKey) ?? null;
93
+ }, [flow, rows]);
94
+ const openDetail = useCallback((key) => setFlow({ phase: "detail", modelKey: key, mode: "view" }), []);
95
+ const openCreate = useCallback(() => setFlow({ phase: "create" }), []);
96
+ const openEdit = useCallback(() => setFlow((f) => f.phase === "detail" ? { ...f, mode: "edit" } : f), []);
97
+ const openRetire = useCallback(() => setFlow((f) => f.phase === "detail" ? { ...f, mode: "retire" } : f), []);
98
+ const backToDetail = useCallback(() => setFlow((f) => f.phase === "detail" ? { ...f, mode: "view" } : f), []);
99
+ const backToList = useCallback(() => setFlow({ phase: "list" }), []);
100
+ const refetch = useCallback(() => {
101
+ baselinesFetch.refetch();
102
+ governanceFetch.refetch();
103
+ }, [baselinesFetch.refetch, governanceFetch.refetch]);
104
+ const isLoading = baselinesFetch.isLoading || governanceFetch.isLoading;
105
+ const error = baselinesFetch.error ?? governanceFetch.error;
106
+ return useMemo(() => ({
107
+ models,
108
+ pendingOverrides,
109
+ pendingCount: allPending.length,
110
+ modelQuery,
111
+ setModelQuery,
112
+ signOffQuery,
113
+ setSignOffQuery,
114
+ flow,
115
+ selected,
116
+ openDetail,
117
+ openCreate,
118
+ openEdit,
119
+ openRetire,
120
+ backToDetail,
121
+ backToList,
122
+ isLoading,
123
+ error,
124
+ refetch,
125
+ }), [
126
+ models,
127
+ pendingOverrides,
128
+ allPending.length,
129
+ modelQuery,
130
+ signOffQuery,
131
+ flow,
132
+ selected,
133
+ openDetail,
134
+ openCreate,
135
+ openEdit,
136
+ openRetire,
137
+ backToDetail,
138
+ backToList,
139
+ isLoading,
140
+ error,
141
+ refetch,
142
+ ]);
143
+ }
144
+ //# sourceMappingURL=useModelGovernanceView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModelGovernanceView.js","sourceRoot":"","sources":["../../src/billing/useModelGovernanceView.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { ModelPricingBaseline } from "@stigmer/protos/ai/stigmer/billing/v1/model_pricing_baseline_pb";
2
+ /** Options for {@link useModelPricingBaselines}. */
3
+ export interface UseModelPricingBaselinesOptions {
4
+ /**
5
+ * When `true`, includes SUPERSEDED and RETIRED revisions (the full
6
+ * append-only audit history). Default: ACTIVE entries only.
7
+ */
8
+ readonly includeHistory?: boolean;
9
+ /** Pass `false` to skip fetching (stable no-op). */
10
+ readonly enabled?: boolean;
11
+ }
12
+ /** Return value of {@link useModelPricingBaselines}. */
13
+ export interface UseModelPricingBaselinesReturn {
14
+ /** The catalog entries, or `null` before the first successful fetch. */
15
+ readonly baselines: readonly ModelPricingBaseline[] | null;
16
+ /** `true` while the initial fetch is in flight. */
17
+ readonly isLoading: boolean;
18
+ /** `true` while a background refetch is in flight and stale data is shown. */
19
+ readonly isRefetching: boolean;
20
+ /** Error from the last failed request, or `null` when healthy. */
21
+ readonly error: Error | null;
22
+ /** Discard cached data and re-fetch from the server. */
23
+ readonly refetch: () => void;
24
+ }
25
+ /**
26
+ * Data hook that fetches the model registry baseline catalog: the
27
+ * operator-governed catalog entries and list prices that (composed with
28
+ * any ledger-derived overrides) form the effective registry.
29
+ *
30
+ * Platform-operator surface: the caller needs `can_manage_model_pricing`
31
+ * on `platform:stigmer`, and the rates are raw provider prices
32
+ * (pre-markup) — never render them as customer prices.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * const { baselines, isLoading, refetch } = useModelPricingBaselines();
37
+ * ```
38
+ */
39
+ export declare function useModelPricingBaselines(options?: UseModelPricingBaselinesOptions): UseModelPricingBaselinesReturn;
40
+ //# sourceMappingURL=useModelPricingBaselines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModelPricingBaselines.d.ts","sourceRoot":"","sources":["../../src/billing/useModelPricingBaselines.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,iEAAiE,CAAC;AAIzE,oDAAoD;AACpD,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,oDAAoD;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wDAAwD;AACxD,MAAM,WAAW,8BAA8B;IAC7C,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC3D,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,+BAA+B,GACxC,8BAA8B,CAmBhC"}
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { useStigmer } from "../hooks.js";
3
+ import { useFetch } from "../internal/useFetch.js";
4
+ /**
5
+ * Data hook that fetches the model registry baseline catalog: the
6
+ * operator-governed catalog entries and list prices that (composed with
7
+ * any ledger-derived overrides) form the effective registry.
8
+ *
9
+ * Platform-operator surface: the caller needs `can_manage_model_pricing`
10
+ * on `platform:stigmer`, and the rates are raw provider prices
11
+ * (pre-markup) — never render them as customer prices.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * const { baselines, isLoading, refetch } = useModelPricingBaselines();
16
+ * ```
17
+ */
18
+ export function useModelPricingBaselines(options) {
19
+ const stigmer = useStigmer();
20
+ const enabled = options?.enabled ?? true;
21
+ const includeHistory = options?.includeHistory ?? false;
22
+ const { data, isLoading, isRefetching, error, refetch } = useFetch(enabled
23
+ ? async () => {
24
+ const response = await stigmer.billing.listModelPricingBaselines({
25
+ includeHistory,
26
+ });
27
+ return response.baselines;
28
+ }
29
+ : null, [enabled, includeHistory, stigmer], null);
30
+ return { baselines: data, isLoading, isRefetching, error, refetch };
31
+ }
32
+ //# sourceMappingURL=useModelPricingBaselines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModelPricingBaselines.js","sourceRoot":"","sources":["../../src/billing/useModelPricingBaselines.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAKb,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA2BnD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAyC;IAEzC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;IACzC,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC;IAExD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAChE,OAAO;QACL,CAAC,CAAC,KAAK,IAAI,EAAE;YACT,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC;gBAC/D,cAAc;aACf,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,SAAS,CAAC;QAC5B,CAAC;QACH,CAAC,CAAC,IAAI,EACR,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAClC,IAA8C,CAC/C,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACtE,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { ModelPricingGovernanceResponse } from "@stigmer/protos/ai/stigmer/billing/v1/io_pb";
2
+ /** Return value of {@link usePricingGovernance}. */
3
+ export interface UsePricingGovernanceReturn {
4
+ /** The governance view, or `null` before the first successful fetch. */
5
+ readonly governance: ModelPricingGovernanceResponse | null;
6
+ /** `true` while the initial fetch is in flight. */
7
+ readonly isLoading: boolean;
8
+ /** `true` while a background refetch is in flight and stale data is shown. */
9
+ readonly isRefetching: boolean;
10
+ /** Error from the last failed request, or `null` when healthy. */
11
+ readonly error: Error | null;
12
+ /** Discard cached data and re-fetch from the server. */
13
+ readonly refetch: () => void;
14
+ }
15
+ /**
16
+ * Data hook that fetches the platform pricing governance view: every
17
+ * model's baseline vs effective rates, the ACTIVE pricing overrides
18
+ * composed into them (with full ledger provenance), and the
19
+ * PENDING_SIGNOFF proposals awaiting an operator decision.
20
+ *
21
+ * Platform-operator surface: the caller needs `can_manage_model_pricing`
22
+ * on `platform:stigmer`, and the rates are raw provider prices
23
+ * (pre-markup) — never render them as customer prices.
24
+ *
25
+ * Pass `enabled: false` to skip fetching (stable no-op) — e.g. while the
26
+ * caller's operator capability is still resolving.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * const { governance, isLoading, refetch } = usePricingGovernance();
31
+ *
32
+ * if (isLoading) return <Skeleton />;
33
+ * return <PricingGovernancePanel />;
34
+ * ```
35
+ */
36
+ export declare function usePricingGovernance(options?: {
37
+ readonly enabled?: boolean;
38
+ }): UsePricingGovernanceReturn;
39
+ //# sourceMappingURL=usePricingGovernance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePricingGovernance.d.ts","sourceRoot":"","sources":["../../src/billing/usePricingGovernance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,8BAA8B,EAC/B,MAAM,6CAA6C,CAAC;AAIrD,oDAAoD;AACpD,MAAM,WAAW,0BAA0B;IACzC,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC3D,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACvC,0BAA0B,CAW5B"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { useStigmer } from "../hooks.js";
3
+ import { useFetch } from "../internal/useFetch.js";
4
+ /**
5
+ * Data hook that fetches the platform pricing governance view: every
6
+ * model's baseline vs effective rates, the ACTIVE pricing overrides
7
+ * composed into them (with full ledger provenance), and the
8
+ * PENDING_SIGNOFF proposals awaiting an operator decision.
9
+ *
10
+ * Platform-operator surface: the caller needs `can_manage_model_pricing`
11
+ * on `platform:stigmer`, and the rates are raw provider prices
12
+ * (pre-markup) — never render them as customer prices.
13
+ *
14
+ * Pass `enabled: false` to skip fetching (stable no-op) — e.g. while the
15
+ * caller's operator capability is still resolving.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * const { governance, isLoading, refetch } = usePricingGovernance();
20
+ *
21
+ * if (isLoading) return <Skeleton />;
22
+ * return <PricingGovernancePanel />;
23
+ * ```
24
+ */
25
+ export function usePricingGovernance(options) {
26
+ const stigmer = useStigmer();
27
+ const enabled = options?.enabled ?? true;
28
+ const { data: governance, isLoading, isRefetching, error, refetch } = useFetch(enabled ? () => stigmer.billing.getModelPricingGovernance() : null, [enabled, stigmer], null);
29
+ return { governance, isLoading, isRefetching, error, refetch };
30
+ }
31
+ //# sourceMappingURL=usePricingGovernance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePricingGovernance.js","sourceRoot":"","sources":["../../src/billing/usePricingGovernance.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAKb,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAgBnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAwC;IAExC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;IAEzC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAC5E,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,EAClE,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB,IAA6C,CAC9C,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACjE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { ModelPricingBaseline } from "@stigmer/protos/ai/stigmer/billing/v1/model_pricing_baseline_pb";
2
+ /** Input for {@link useRetireModelPricingBaseline}. */
3
+ export interface RetireModelPricingBaselineInput {
4
+ readonly modelId: string;
5
+ readonly provider: string;
6
+ readonly harness: string;
7
+ /** Optional operator note recorded on the retirement. */
8
+ readonly revisionNote?: string;
9
+ }
10
+ /** Return value of {@link useRetireModelPricingBaseline}. */
11
+ export interface UseRetireModelPricingBaselineReturn {
12
+ /** Retire a model from the catalog. Returns the RETIRED document. */
13
+ readonly retire: (input: RetireModelPricingBaselineInput) => Promise<ModelPricingBaseline>;
14
+ /** `true` while a retirement is being recorded. */
15
+ readonly isSubmitting: boolean;
16
+ /** Error from the last failed attempt, or `null` when healthy. */
17
+ readonly error: Error | null;
18
+ /** Reset `error` to `null`. */
19
+ readonly clearError: () => void;
20
+ }
21
+ /**
22
+ * Behavior hook for retiring models from the registry catalog.
23
+ *
24
+ * Wraps `billing.retireModelPricingBaseline` with loading and error
25
+ * state. Retirement removes the model from every price surface on the
26
+ * next composition pass; the document is kept for audit and the key can
27
+ * be revived by a subsequent upsert. The parent should refetch its
28
+ * catalog view after a successful retirement.
29
+ */
30
+ export declare function useRetireModelPricingBaseline(): UseRetireModelPricingBaselineReturn;
31
+ //# sourceMappingURL=useRetireModelPricingBaseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRetireModelPricingBaseline.d.ts","sourceRoot":"","sources":["../../src/billing/useRetireModelPricingBaseline.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,iEAAiE,CAAC;AAIzE,uDAAuD;AACvD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,6DAA6D;AAC7D,MAAM,WAAW,mCAAmC;IAClD,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3F,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,IAAI,mCAAmC,CAyBnF"}
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import { useCallback, useState } from "react";
3
+ import { useStigmer } from "../hooks.js";
4
+ import { toError } from "../internal/toError.js";
5
+ /**
6
+ * Behavior hook for retiring models from the registry catalog.
7
+ *
8
+ * Wraps `billing.retireModelPricingBaseline` with loading and error
9
+ * state. Retirement removes the model from every price surface on the
10
+ * next composition pass; the document is kept for audit and the key can
11
+ * be revived by a subsequent upsert. The parent should refetch its
12
+ * catalog view after a successful retirement.
13
+ */
14
+ export function useRetireModelPricingBaseline() {
15
+ const stigmer = useStigmer();
16
+ const [isSubmitting, setIsSubmitting] = useState(false);
17
+ const [error, setError] = useState(null);
18
+ const retire = useCallback(async (input) => {
19
+ setIsSubmitting(true);
20
+ setError(null);
21
+ try {
22
+ return await stigmer.billing.retireModelPricingBaseline(input);
23
+ }
24
+ catch (e) {
25
+ const err = toError(e);
26
+ setError(err);
27
+ throw err;
28
+ }
29
+ finally {
30
+ setIsSubmitting(false);
31
+ }
32
+ }, [stigmer.billing]);
33
+ const clearError = useCallback(() => setError(null), []);
34
+ return { retire, isSubmitting, error, clearError };
35
+ }
36
+ //# sourceMappingURL=useRetireModelPricingBaseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRetireModelPricingBaseline.js","sourceRoot":"","sources":["../../src/billing/useRetireModelPricingBaseline.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAuBjD;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B;IAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,KAAsC,EAAiC,EAAE;QAC9E,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { ModelPricingBaseline } from "@stigmer/protos/ai/stigmer/billing/v1/model_pricing_baseline_pb";
2
+ /** Input for {@link useUpsertModelPricingBaseline}. */
3
+ export interface UpsertModelPricingBaselineInput {
4
+ /**
5
+ * The baseline entry to create or revise, keyed by
6
+ * (modelId, provider, harness). Lifecycle fields (baselineId, status,
7
+ * decision stamps, pricing effectiveAt) are server-owned and ignored.
8
+ */
9
+ readonly baseline: ModelPricingBaseline;
10
+ /** Optional operator note recorded on the revision for the audit trail. */
11
+ readonly revisionNote?: string;
12
+ }
13
+ /** Return value of {@link useUpsertModelPricingBaseline}. */
14
+ export interface UseUpsertModelPricingBaselineReturn {
15
+ /**
16
+ * Create or revise a baseline entry. Returns the new revision with
17
+ * server-stamped lifecycle fields.
18
+ */
19
+ readonly upsert: (input: UpsertModelPricingBaselineInput) => Promise<ModelPricingBaseline>;
20
+ /** `true` while a revision is being written. */
21
+ readonly isSubmitting: boolean;
22
+ /** Error from the last failed attempt, or `null` when healthy. */
23
+ readonly error: Error | null;
24
+ /** Reset `error` to `null`. */
25
+ readonly clearError: () => void;
26
+ }
27
+ /**
28
+ * Behavior hook for creating or revising model registry baseline entries.
29
+ *
30
+ * Wraps `billing.upsertModelPricingBaseline` with loading and error
31
+ * state. The platform recomposes the effective registry immediately, so
32
+ * the parent should refetch its catalog view after a successful upsert.
33
+ *
34
+ * A concurrent-edit conflict surfaces as an ABORTED error telling the
35
+ * operator to reload and re-apply — render it, don't retry silently.
36
+ */
37
+ export declare function useUpsertModelPricingBaseline(): UseUpsertModelPricingBaselineReturn;
38
+ //# sourceMappingURL=useUpsertModelPricingBaseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpsertModelPricingBaseline.d.ts","sourceRoot":"","sources":["../../src/billing/useUpsertModelPricingBaseline.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,iEAAiE,CAAC;AAIzE,uDAAuD;AACvD,MAAM,WAAW,+BAA+B;IAC9C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,6DAA6D;AAC7D,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3F,gDAAgD;IAChD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,IAAI,mCAAmC,CAyBnF"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { useCallback, useState } from "react";
3
+ import { useStigmer } from "../hooks.js";
4
+ import { toError } from "../internal/toError.js";
5
+ /**
6
+ * Behavior hook for creating or revising model registry baseline entries.
7
+ *
8
+ * Wraps `billing.upsertModelPricingBaseline` with loading and error
9
+ * state. The platform recomposes the effective registry immediately, so
10
+ * the parent should refetch its catalog view after a successful upsert.
11
+ *
12
+ * A concurrent-edit conflict surfaces as an ABORTED error telling the
13
+ * operator to reload and re-apply — render it, don't retry silently.
14
+ */
15
+ export function useUpsertModelPricingBaseline() {
16
+ const stigmer = useStigmer();
17
+ const [isSubmitting, setIsSubmitting] = useState(false);
18
+ const [error, setError] = useState(null);
19
+ const upsert = useCallback(async (input) => {
20
+ setIsSubmitting(true);
21
+ setError(null);
22
+ try {
23
+ return await stigmer.billing.upsertModelPricingBaseline(input);
24
+ }
25
+ catch (e) {
26
+ const err = toError(e);
27
+ setError(err);
28
+ throw err;
29
+ }
30
+ finally {
31
+ setIsSubmitting(false);
32
+ }
33
+ }, [stigmer.billing]);
34
+ const clearError = useCallback(() => setError(null), []);
35
+ return { upsert, isSubmitting, error, clearError };
36
+ }
37
+ //# sourceMappingURL=useUpsertModelPricingBaseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpsertModelPricingBaseline.js","sourceRoot":"","sources":["../../src/billing/useUpsertModelPricingBaseline.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AA6BjD;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B;IAC3C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,KAAsC,EAAiC,EAAE;QAC9E,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentChannelsPanel.d.ts","sourceRoot":"","sources":["../../src/channel/AgentChannelsPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAgC9F,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;;;;;;OASG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,kCAAkC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,SAAS,GACV,EAAE,uBAAuB,2CA2PzB"}
1
+ {"version":3,"file":"AgentChannelsPanel.d.ts","sourceRoot":"","sources":["../../src/channel/AgentChannelsPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAiC9F,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;;;;;;OASG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,kCAAkC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,SAAS,GACV,EAAE,uBAAuB,2CA0QzB"}