@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,48 @@
1
+ import { type ManifestPreviewEntry } from "./useApplyManifest.js";
2
+ /** Props for {@link ApplyManifestDialog}. */
3
+ export interface ApplyManifestDialogProps {
4
+ /** Whether the dialog is open. */
5
+ readonly open: boolean;
6
+ /** Called when the dialog should open or close. */
7
+ readonly onOpenChange: (open: boolean) => void;
8
+ /** Target organization slug for documents that omit `metadata.org`. */
9
+ readonly org: string;
10
+ /**
11
+ * Called after every document applied successfully, with the per-document
12
+ * results in apply order. Use for navigation or list refresh.
13
+ */
14
+ readonly onSuccess?: (entries: readonly ManifestPreviewEntry[]) => void;
15
+ }
16
+ /**
17
+ * Modal dialog for applying a Stigmer resource manifest — paste YAML or
18
+ * upload a file, review what will change, and apply. The console
19
+ * counterpart of `stigmer apply -f`, for every supported resource kind.
20
+ *
21
+ * Workflow:
22
+ * 1. Paste manifest YAML (or JSON) into the editor, or pick a file
23
+ * 2. Each document is validated against its kind's generated proto schema
24
+ * and previewed with a create-or-update badge resolved from server state
25
+ * 3. Apply runs the documents sequentially in dependency order with live
26
+ * per-document status; a failure stops the run and renders inline
27
+ *
28
+ * Multi-document manifests (`---` separators) are supported. Documents
29
+ * that omit `metadata.org` are applied to the active org; documents naming
30
+ * a different org are honored with a warning (matching `stigmer apply`).
31
+ *
32
+ * Uses the native `<dialog>` element for built-in focus trapping, Escape
33
+ * key handling, and backdrop — consistent with {@link ConfirmDialog}.
34
+ *
35
+ * Zero Console dependencies — safe for platform builder embedding.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <ApplyManifestDialog
40
+ * open={open}
41
+ * onOpenChange={setOpen}
42
+ * org={activeOrg}
43
+ * onSuccess={() => refetchList()}
44
+ * />
45
+ * ```
46
+ */
47
+ export declare function ApplyManifestDialog({ open, onOpenChange, org, onSuccess, }: ApplyManifestDialogProps): import("react/jsx-runtime").JSX.Element;
48
+ //# sourceMappingURL=ApplyManifestDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplyManifestDialog.d.ts","sourceRoot":"","sources":["../../src/manifest/ApplyManifestDialog.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAO/B,6CAA6C;AAC7C,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,KAAK,IAAI,CAAC;CACzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,GAAG,EACH,SAAS,GACV,EAAE,wBAAwB,2CAqK1B"}
@@ -0,0 +1,135 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { lazy, Suspense, useCallback, useEffect, useRef } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { toast } from "../feedback/toast.js";
6
+ import { RedactedSecretsNotice } from "./RedactedSecretsNotice.js";
7
+ import { useApplyManifest, } from "./useApplyManifest.js";
8
+ // CodeMirror loads only when the dialog actually opens (DD-013).
9
+ const LazyYamlEditor = lazy(() => import("./YamlEditor.js").then((m) => ({ default: m.YamlEditor })));
10
+ /**
11
+ * Modal dialog for applying a Stigmer resource manifest — paste YAML or
12
+ * upload a file, review what will change, and apply. The console
13
+ * counterpart of `stigmer apply -f`, for every supported resource kind.
14
+ *
15
+ * Workflow:
16
+ * 1. Paste manifest YAML (or JSON) into the editor, or pick a file
17
+ * 2. Each document is validated against its kind's generated proto schema
18
+ * and previewed with a create-or-update badge resolved from server state
19
+ * 3. Apply runs the documents sequentially in dependency order with live
20
+ * per-document status; a failure stops the run and renders inline
21
+ *
22
+ * Multi-document manifests (`---` separators) are supported. Documents
23
+ * that omit `metadata.org` are applied to the active org; documents naming
24
+ * a different org are honored with a warning (matching `stigmer apply`).
25
+ *
26
+ * Uses the native `<dialog>` element for built-in focus trapping, Escape
27
+ * key handling, and backdrop — consistent with {@link ConfirmDialog}.
28
+ *
29
+ * Zero Console dependencies — safe for platform builder embedding.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * <ApplyManifestDialog
34
+ * open={open}
35
+ * onOpenChange={setOpen}
36
+ * org={activeOrg}
37
+ * onSuccess={() => refetchList()}
38
+ * />
39
+ * ```
40
+ */
41
+ export function ApplyManifestDialog({ open, onOpenChange, org, onSuccess, }) {
42
+ const dialogRef = useRef(null);
43
+ const fileInputRef = useRef(null);
44
+ const manifest = useApplyManifest(org);
45
+ const { reset } = manifest;
46
+ // Sync dialog open state with the native <dialog> element.
47
+ useEffect(() => {
48
+ const dialog = dialogRef.current;
49
+ if (!dialog)
50
+ return;
51
+ if (open && !dialog.open) {
52
+ dialog.showModal();
53
+ }
54
+ else if (!open && dialog.open) {
55
+ dialog.close();
56
+ }
57
+ }, [open]);
58
+ // Start each session clean.
59
+ useEffect(() => {
60
+ if (open) {
61
+ reset();
62
+ if (fileInputRef.current)
63
+ fileInputRef.current.value = "";
64
+ }
65
+ }, [open, reset]);
66
+ const handleCancel = useCallback((e) => {
67
+ e.preventDefault();
68
+ onOpenChange(false);
69
+ }, [onOpenChange]);
70
+ const handleFileChange = useCallback((e) => {
71
+ const file = e.target.files?.[0];
72
+ if (file)
73
+ manifest.readFile(file);
74
+ }, [manifest]);
75
+ const handleApply = useCallback(async () => {
76
+ const allApplied = await manifest.applyAll();
77
+ if (allApplied && manifest.entries) {
78
+ const count = manifest.entries.length;
79
+ toast.success(count === 1 ? "Resource applied" : `${count} resources applied`);
80
+ onOpenChange(false);
81
+ onSuccess?.(manifest.entries);
82
+ }
83
+ // On failure the dialog stays open — per-entry status shows what
84
+ // applied and what failed.
85
+ }, [manifest, onOpenChange, onSuccess]);
86
+ const canApply = manifest.entries !== null &&
87
+ manifest.entries.length > 0 &&
88
+ !manifest.isValidating &&
89
+ !manifest.isApplying;
90
+ return (_jsx("dialog", { ref: dialogRef, onCancel: handleCancel, className: cn("fixed inset-0 z-50 m-auto w-full max-w-3xl rounded-lg border border-border bg-popover p-0 text-popover-foreground shadow-lg", "backdrop:bg-black/50", "open:animate-in open:fade-in-0 open:zoom-in-95"), children: _jsxs("div", { className: "flex flex-col gap-4 p-6", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("h3", { className: "text-base font-semibold text-foreground", children: "Apply YAML" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Paste a resource manifest or upload a file. Resources are created when new and updated when they already exist." })] }), _jsx("input", { ref: fileInputRef, type: "file", accept: ".yaml,.yml,.json", onChange: handleFileChange, className: cn("w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground", "file:mr-3 file:rounded-md file:border-0 file:bg-primary file:px-2.5 file:py-1 file:text-xs file:font-medium file:text-primary-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"), "aria-label": "Select manifest file" }), _jsx(Suspense, { fallback: _jsx(EditorLoading, {}), children: _jsx(LazyYamlEditor, { value: manifest.content, onChange: manifest.setContent, className: "h-56" }) }), manifest.hasRedactedSecrets && _jsx(RedactedSecretsNotice, {}), manifest.validationError && (_jsx("div", { role: "alert", className: "rounded-md border border-destructive bg-card px-3 py-2.5 text-sm text-destructive", children: manifest.validationError })), manifest.entries && manifest.entries.length > 0 && (_jsx("ul", { className: "flex max-h-48 flex-col gap-2 overflow-y-auto", "aria-label": "Resources to apply", children: manifest.entries.map((entry, index) => (_jsx(PreviewRow, { entry: entry }, `${entry.document.handler.yamlKind}/${entry.document.org}/${entry.document.slug}/${index}`))) })), _jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsx("p", { className: "text-xs text-muted-foreground", "aria-live": "polite", children: manifest.isValidating ? "Validating…" : "" }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { type: "button", onClick: () => onOpenChange(false), disabled: manifest.isApplying, className: cn("rounded-md px-3 py-1.5 text-sm font-medium transition-colors", "border border-input bg-background text-foreground", "hover:bg-accent hover:text-accent-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: "Cancel" }), _jsx("button", { type: "button", onClick: handleApply, disabled: !canApply, className: cn("rounded-md px-3 py-1.5 text-sm font-medium transition-colors", "bg-primary text-primary-foreground hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: manifest.isApplying
91
+ ? "Applying…"
92
+ : applyLabel(manifest.entries?.length ?? 0) })] })] })] }) }));
93
+ }
94
+ function applyLabel(count) {
95
+ if (count <= 1)
96
+ return "Apply";
97
+ return `Apply ${count} resources`;
98
+ }
99
+ function EditorLoading() {
100
+ return (_jsx("div", { className: "flex h-56 items-center justify-center rounded-md border border-border bg-muted text-sm text-muted-foreground", children: "Loading editor\u2026" }));
101
+ }
102
+ // ---------------------------------------------------------------------------
103
+ // Per-document preview row
104
+ // ---------------------------------------------------------------------------
105
+ function PreviewRow({ entry }) {
106
+ return (_jsxs("li", { className: "rounded-md border border-border bg-card px-3 py-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "inline-flex rounded bg-muted px-1.5 py-0.5 text-xs font-medium text-muted-foreground", children: entry.document.handler.displayName }), _jsx("span", { className: "text-sm font-medium text-foreground", children: entry.document.name }), _jsx(ActionBadge, { entry: entry }), _jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: entry.document.org })] }), entry.document.warning && (_jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: entry.document.warning })), entry.status === "failed" && entry.errorMessage && (_jsx("p", { role: "alert", className: "mt-1 text-xs text-destructive", children: entry.errorMessage }))] }));
107
+ }
108
+ function ActionBadge({ entry }) {
109
+ const label = badgeLabel(entry);
110
+ return (_jsx("span", { className: cn("inline-flex rounded px-1.5 py-0.5 text-xs font-medium", entry.status === "failed"
111
+ ? "bg-card text-destructive border border-destructive"
112
+ : "bg-muted text-muted-foreground"), children: label }));
113
+ }
114
+ function badgeLabel(entry) {
115
+ switch (entry.status) {
116
+ case "applying":
117
+ return "Applying…";
118
+ case "applied":
119
+ return "Applied";
120
+ case "failed":
121
+ return "Failed";
122
+ case "skipped":
123
+ return "Skipped";
124
+ case "pending":
125
+ switch (entry.action) {
126
+ case "create":
127
+ return "Will create";
128
+ case "update":
129
+ return "Will update";
130
+ case "unknown":
131
+ return "Create or update";
132
+ }
133
+ }
134
+ }
135
+ //# sourceMappingURL=ApplyManifestDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplyManifestDialog.js","sourceRoot":"","sources":["../../src/manifest/ApplyManifestDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { Message } from "@bufbuild/protobuf";
2
+ import { type AppliedManifest } from "@stigmer/sdk";
3
+ /** Props for {@link EditResourceYamlDialog}. */
4
+ export interface EditResourceYamlDialogProps {
5
+ /** Whether the dialog is open. */
6
+ readonly open: boolean;
7
+ /** Called when the dialog should open or close. */
8
+ readonly onOpenChange: (open: boolean) => void;
9
+ /**
10
+ * The resource to edit, as returned by the server. `null` while loading —
11
+ * the dialog shows the editor as soon as the resource arrives.
12
+ */
13
+ readonly resource: Message | null;
14
+ /** Called after a successful apply. Use for refetching or navigation. */
15
+ readonly onApplied?: (result: AppliedManifest) => void;
16
+ }
17
+ /**
18
+ * Modal dialog for editing a resource as YAML and applying the changes —
19
+ * the kind-agnostic "Edit YAML" experience for detail pages and panels.
20
+ *
21
+ * Workflow:
22
+ * 1. The resource is serialized to canonical YAML (system-managed state
23
+ * stripped) and seeded into a CodeMirror editor
24
+ * 2. Every edit is validated against the kind's generated proto schema;
25
+ * errors render inline with the exact schema complaint
26
+ * 3. A live summary states what applying will do ("update X" / "create Y"),
27
+ * resolved against server state — so a rename reads as a create
28
+ * 4. Apply calls the kind's `apply` RPC (create-or-update by slug)
29
+ *
30
+ * Redacted secret values (`***REDACTED***`) are explained inline: applying
31
+ * them preserves the stored secrets (the server's marker contract).
32
+ *
33
+ * Uses the native `<dialog>` element for built-in focus trapping, Escape
34
+ * key handling, and backdrop — consistent with {@link ConfirmDialog}.
35
+ *
36
+ * Zero Console dependencies — safe for platform builder embedding.
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * const { agent, refetch } = useAgent(org, slug);
41
+ *
42
+ * <EditResourceYamlDialog
43
+ * open={editOpen}
44
+ * onOpenChange={setEditOpen}
45
+ * resource={agent}
46
+ * onApplied={() => refetch()}
47
+ * />
48
+ * ```
49
+ */
50
+ export declare function EditResourceYamlDialog({ open, onOpenChange, resource, onApplied, }: EditResourceYamlDialogProps): import("react/jsx-runtime").JSX.Element;
51
+ //# sourceMappingURL=EditResourceYamlDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditResourceYamlDialog.d.ts","sourceRoot":"","sources":["../../src/manifest/EditResourceYamlDialog.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAUpE,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,yEAAyE;IACzE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,EAAE,2BAA2B,2CA0K7B"}
@@ -0,0 +1,104 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { lazy, Suspense, useCallback, useEffect, useRef } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { getUserMessage } from "@stigmer/sdk";
6
+ import { toast } from "../feedback/toast.js";
7
+ import { RedactedSecretsNotice } from "./RedactedSecretsNotice.js";
8
+ import { useEditResourceYaml } from "./useEditResourceYaml.js";
9
+ // CodeMirror loads only when an editor dialog actually opens (DD-013).
10
+ const LazyYamlEditor = lazy(() => import("./YamlEditor.js").then((m) => ({ default: m.YamlEditor })));
11
+ /**
12
+ * Modal dialog for editing a resource as YAML and applying the changes —
13
+ * the kind-agnostic "Edit YAML" experience for detail pages and panels.
14
+ *
15
+ * Workflow:
16
+ * 1. The resource is serialized to canonical YAML (system-managed state
17
+ * stripped) and seeded into a CodeMirror editor
18
+ * 2. Every edit is validated against the kind's generated proto schema;
19
+ * errors render inline with the exact schema complaint
20
+ * 3. A live summary states what applying will do ("update X" / "create Y"),
21
+ * resolved against server state — so a rename reads as a create
22
+ * 4. Apply calls the kind's `apply` RPC (create-or-update by slug)
23
+ *
24
+ * Redacted secret values (`***REDACTED***`) are explained inline: applying
25
+ * them preserves the stored secrets (the server's marker contract).
26
+ *
27
+ * Uses the native `<dialog>` element for built-in focus trapping, Escape
28
+ * key handling, and backdrop — consistent with {@link ConfirmDialog}.
29
+ *
30
+ * Zero Console dependencies — safe for platform builder embedding.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * const { agent, refetch } = useAgent(org, slug);
35
+ *
36
+ * <EditResourceYamlDialog
37
+ * open={editOpen}
38
+ * onOpenChange={setEditOpen}
39
+ * resource={agent}
40
+ * onApplied={() => refetch()}
41
+ * />
42
+ * ```
43
+ */
44
+ export function EditResourceYamlDialog({ open, onOpenChange, resource, onApplied, }) {
45
+ const dialogRef = useRef(null);
46
+ const edit = useEditResourceYaml({ resource });
47
+ const { reset } = edit;
48
+ // Sync dialog open state with the native <dialog> element.
49
+ useEffect(() => {
50
+ const dialog = dialogRef.current;
51
+ if (!dialog)
52
+ return;
53
+ if (open && !dialog.open) {
54
+ dialog.showModal();
55
+ }
56
+ else if (!open && dialog.open) {
57
+ dialog.close();
58
+ }
59
+ }, [open]);
60
+ // Discard stale edits from a previous session when the dialog opens.
61
+ useEffect(() => {
62
+ if (open)
63
+ reset();
64
+ }, [open, reset]);
65
+ const handleCancel = useCallback((e) => {
66
+ e.preventDefault();
67
+ onOpenChange(false);
68
+ }, [onOpenChange]);
69
+ const handleApply = useCallback(async () => {
70
+ try {
71
+ const result = await edit.apply();
72
+ if (!result)
73
+ return;
74
+ toast.success(`${result.displayName} "${result.name}" applied`);
75
+ onOpenChange(false);
76
+ onApplied?.(result);
77
+ }
78
+ catch {
79
+ // error state is set by the hook and rendered inline
80
+ }
81
+ }, [edit, onOpenChange, onApplied]);
82
+ const canApply = edit.validation.status === "valid" && edit.isDirty && !edit.isApplying;
83
+ return (_jsx("dialog", { ref: dialogRef, onCancel: handleCancel, className: cn("fixed inset-0 z-50 m-auto w-full max-w-3xl rounded-lg border border-border bg-popover p-0 text-popover-foreground shadow-lg", "backdrop:bg-black/50", "open:animate-in open:fade-in-0 open:zoom-in-95"), children: _jsxs("div", { className: "flex flex-col gap-4 p-6", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("h3", { className: "text-base font-semibold text-foreground", children: "Edit YAML" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Edit the resource definition and apply. Changes are validated against the resource schema as you type." })] }), resource ? (_jsx(Suspense, { fallback: _jsx(EditorLoading, {}), children: _jsx(LazyYamlEditor, { value: edit.yaml, onChange: edit.setYaml, className: "h-80" }) })) : (_jsx(EditorLoading, { label: "Loading resource\u2026" })), edit.hasRedactedSecrets && _jsx(RedactedSecretsNotice, {}), edit.validation.status === "invalid" && (_jsx("div", { role: "alert", className: "rounded-md border border-destructive bg-card px-3 py-2.5 text-sm text-destructive", children: edit.validation.message })), edit.error && (_jsxs("div", { role: "alert", className: "flex items-start gap-3 rounded-md border border-destructive bg-card px-3 py-2.5", children: [_jsx("p", { className: "flex-1 text-sm text-destructive", children: getUserMessage(edit.error) }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [_jsx("button", { type: "button", onClick: handleApply, disabled: edit.validation.status !== "valid" || edit.isApplying, className: cn("rounded-md border border-input bg-background px-2 py-1 text-xs font-medium text-foreground", "hover:bg-accent hover:text-accent-foreground", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: "Try again" }), _jsx("button", { type: "button", onClick: edit.clearError, "aria-label": "Dismiss error", className: cn("rounded-md px-2 py-1 text-xs font-medium text-muted-foreground", "hover:bg-accent hover:text-foreground", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"), children: "Dismiss" })] })] })), _jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsx("p", { className: "text-xs text-muted-foreground", "aria-live": "polite", children: targetSummary(edit.validation.status, edit.isDirty, edit.target) }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { type: "button", onClick: () => onOpenChange(false), disabled: edit.isApplying, className: cn("rounded-md px-3 py-1.5 text-sm font-medium transition-colors", "border border-input bg-background text-foreground", "hover:bg-accent hover:text-accent-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: "Cancel" }), _jsx("button", { type: "button", onClick: handleApply, disabled: !canApply, className: cn("rounded-md px-3 py-1.5 text-sm font-medium transition-colors", "bg-primary text-primary-foreground hover:bg-primary-hover", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50"), children: edit.isApplying ? "Applying…" : "Apply changes" })] })] })] }) }));
84
+ }
85
+ function targetSummary(validationStatus, isDirty, target) {
86
+ if (validationStatus !== "valid")
87
+ return "";
88
+ if (!isDirty)
89
+ return "No changes yet.";
90
+ if (target === null)
91
+ return "Checking what applying will do…";
92
+ switch (target.action) {
93
+ case "update":
94
+ return `Applying will update ${target.slug}.`;
95
+ case "create":
96
+ return `Applying will create ${target.slug} — the name or slug changed.`;
97
+ case "unknown":
98
+ return `Applying will create or update ${target.slug}.`;
99
+ }
100
+ }
101
+ function EditorLoading({ label = "Loading editor…" }) {
102
+ return (_jsx("div", { className: "flex h-80 items-center justify-center rounded-md border border-border bg-muted text-sm text-muted-foreground", children: label }));
103
+ }
104
+ //# sourceMappingURL=EditResourceYamlDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditResourceYamlDialog.js","sourceRoot":"","sources":["../../src/manifest/EditResourceYamlDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /** Props for {@link RedactedSecretsNotice}. */
2
+ export interface RedactedSecretsNoticeProps {
3
+ /** Additional CSS classes for the root container. */
4
+ readonly className?: string;
5
+ }
6
+ /**
7
+ * Inline explanation shown when manifest content contains `***REDACTED***`
8
+ * secret markers, so the marker reads as a contract rather than a bug:
9
+ * applying it preserves the stored secret; replacing it sets a new value.
10
+ *
11
+ * Shared by {@link EditResourceYamlDialog} and {@link ApplyManifestDialog}.
12
+ */
13
+ export declare function RedactedSecretsNotice({ className }: RedactedSecretsNoticeProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=RedactedSecretsNotice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedactedSecretsNotice.d.ts","sourceRoot":"","sources":["../../src/manifest/RedactedSecretsNotice.tsx"],"names":[],"mappings":"AAIA,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,EAAE,0BAA0B,2CAY9E"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "@stigmer/theme";
4
+ /**
5
+ * Inline explanation shown when manifest content contains `***REDACTED***`
6
+ * secret markers, so the marker reads as a contract rather than a bug:
7
+ * applying it preserves the stored secret; replacing it sets a new value.
8
+ *
9
+ * Shared by {@link EditResourceYamlDialog} and {@link ApplyManifestDialog}.
10
+ */
11
+ export function RedactedSecretsNotice({ className }) {
12
+ return (_jsxs("p", { className: cn("rounded-md border border-border bg-muted px-3 py-2 text-xs text-muted-foreground", className), children: ["Secret values are shown as ", _jsx("code", { className: "font-mono", children: "***REDACTED***" }), ". Applying keeps the stored secrets; replace a marker to set a new value."] }));
13
+ }
14
+ //# sourceMappingURL=RedactedSecretsNotice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedactedSecretsNotice.js","sourceRoot":"","sources":["../../src/manifest/RedactedSecretsNotice.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAQpC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,SAAS,EAA8B;IAC7E,OAAO,CACL,aACE,SAAS,EAAE,EAAE,CACX,kFAAkF,EAClF,SAAS,CACV,4CAE0B,eAAM,SAAS,EAAC,WAAW,+BAAsB,iFAE1E,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { type CSSProperties } from "react";
2
+ import { type Diagnostic } from "@codemirror/lint";
3
+ /** Props for {@link YamlEditor}. */
4
+ export interface YamlEditorProps {
5
+ /** Current YAML content. */
6
+ readonly value: string;
7
+ /** Called when the editor content changes. */
8
+ readonly onChange?: (value: string) => void;
9
+ /** Validation diagnostics to display as inline markers. */
10
+ readonly diagnostics?: readonly Diagnostic[];
11
+ /** Whether the editor is read-only. @default false */
12
+ readonly readOnly?: boolean;
13
+ /** Additional CSS class names for the root container. */
14
+ readonly className?: string;
15
+ /** Additional inline styles for the root container. */
16
+ readonly style?: CSSProperties;
17
+ }
18
+ /**
19
+ * YAML editor built on CodeMirror 6, shared by every YAML surface in the
20
+ * SDK (workflow editor tab, resource manifest dialogs).
21
+ *
22
+ * Provides syntax highlighting, line numbers, bracket matching,
23
+ * code folding, undo/redo, and inline diagnostic markers driven by
24
+ * external validation (via the `diagnostics` prop).
25
+ *
26
+ * Themed via `--stgm-*` CSS custom properties to respect the host
27
+ * application's design tokens.
28
+ *
29
+ * This is an optional SDK component — it requires CodeMirror peer
30
+ * dependencies. Consumers that render it conditionally should load it
31
+ * via `React.lazy` so the CodeMirror bundle stays out of paths that
32
+ * never open an editor (DD-013).
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * <YamlEditor
37
+ * value={yaml}
38
+ * onChange={setYaml}
39
+ * diagnostics={diagnostics}
40
+ * />
41
+ * ```
42
+ */
43
+ export declare const YamlEditor: import("react").NamedExoticComponent<YamlEditorProps>;
44
+ //# sourceMappingURL=YamlEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YamlEditor.d.ts","sourceRoot":"","sources":["../../src/manifest/YamlEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAOf,OAAO,EAAc,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAI/E,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,UAAU,uDAwHrB,CAAC"}