@stigmer/react 3.2.3 → 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.
- package/agent/steps/ReviewStep.d.ts.map +1 -1
- package/agent/steps/ReviewStep.js +2 -3
- package/agent/steps/ReviewStep.js.map +1 -1
- package/billing/BaselineEditor.d.ts +9 -0
- package/billing/BaselineEditor.d.ts.map +1 -0
- package/billing/BaselineEditor.js +253 -0
- package/billing/BaselineEditor.js.map +1 -0
- package/billing/ModelCatalogPanel.d.ts +28 -0
- package/billing/ModelCatalogPanel.d.ts.map +1 -0
- package/billing/ModelCatalogPanel.js +102 -0
- package/billing/ModelCatalogPanel.js.map +1 -0
- package/billing/ModelGovernanceDetail.d.ts +8 -0
- package/billing/ModelGovernanceDetail.d.ts.map +1 -0
- package/billing/ModelGovernanceDetail.js +64 -0
- package/billing/ModelGovernanceDetail.js.map +1 -0
- package/billing/OperatorAccessNotice.d.ts +12 -0
- package/billing/OperatorAccessNotice.d.ts.map +1 -0
- package/billing/OperatorAccessNotice.js +15 -0
- package/billing/OperatorAccessNotice.js.map +1 -0
- package/billing/PricingGovernanceConsole.d.ts +57 -0
- package/billing/PricingGovernanceConsole.d.ts.map +1 -0
- package/billing/PricingGovernanceConsole.js +164 -0
- package/billing/PricingGovernanceConsole.js.map +1 -0
- package/billing/PricingGovernancePanel.d.ts +26 -0
- package/billing/PricingGovernancePanel.d.ts.map +1 -0
- package/billing/PricingGovernancePanel.js +64 -0
- package/billing/PricingGovernancePanel.js.map +1 -0
- package/billing/RetireConfirm.d.ts +9 -0
- package/billing/RetireConfirm.d.ts.map +1 -0
- package/billing/RetireConfirm.js +19 -0
- package/billing/RetireConfirm.js.map +1 -0
- package/billing/form-primitives.d.ts +18 -0
- package/billing/form-primitives.d.ts.map +1 -0
- package/billing/form-primitives.js +19 -0
- package/billing/form-primitives.js.map +1 -0
- package/billing/governance-primitives.d.ts +33 -0
- package/billing/governance-primitives.d.ts.map +1 -0
- package/billing/governance-primitives.js +43 -0
- package/billing/governance-primitives.js.map +1 -0
- package/billing/index.d.ts +18 -0
- package/billing/index.d.ts.map +1 -1
- package/billing/index.js +9 -0
- package/billing/index.js.map +1 -1
- package/billing/pricing-format.d.ts +12 -0
- package/billing/pricing-format.d.ts.map +1 -0
- package/billing/pricing-format.js +50 -0
- package/billing/pricing-format.js.map +1 -0
- package/billing/useDecidePricingOverride.d.ts +46 -0
- package/billing/useDecidePricingOverride.d.ts.map +1 -0
- package/billing/useDecidePricingOverride.js +44 -0
- package/billing/useDecidePricingOverride.js.map +1 -0
- package/billing/useModelGovernanceView.d.ts +103 -0
- package/billing/useModelGovernanceView.d.ts.map +1 -0
- package/billing/useModelGovernanceView.js +144 -0
- package/billing/useModelGovernanceView.js.map +1 -0
- package/billing/useModelPricingBaselines.d.ts +40 -0
- package/billing/useModelPricingBaselines.d.ts.map +1 -0
- package/billing/useModelPricingBaselines.js +32 -0
- package/billing/useModelPricingBaselines.js.map +1 -0
- package/billing/usePricingGovernance.d.ts +39 -0
- package/billing/usePricingGovernance.d.ts.map +1 -0
- package/billing/usePricingGovernance.js +31 -0
- package/billing/usePricingGovernance.js.map +1 -0
- package/billing/useRetireModelPricingBaseline.d.ts +31 -0
- package/billing/useRetireModelPricingBaseline.d.ts.map +1 -0
- package/billing/useRetireModelPricingBaseline.js +36 -0
- package/billing/useRetireModelPricingBaseline.js.map +1 -0
- package/billing/useUpsertModelPricingBaseline.d.ts +38 -0
- package/billing/useUpsertModelPricingBaseline.d.ts.map +1 -0
- package/billing/useUpsertModelPricingBaseline.js +37 -0
- package/billing/useUpsertModelPricingBaseline.js.map +1 -0
- package/channel/AgentChannelsPanel.d.ts.map +1 -1
- package/channel/AgentChannelsPanel.js +11 -5
- package/channel/AgentChannelsPanel.js.map +1 -1
- package/composer/SessionComposer.d.ts +1 -1
- package/cursor-accounts/CursorAccountEditor.d.ts +28 -0
- package/cursor-accounts/CursorAccountEditor.d.ts.map +1 -0
- package/cursor-accounts/CursorAccountEditor.js +51 -0
- package/cursor-accounts/CursorAccountEditor.js.map +1 -0
- package/cursor-accounts/CursorAccountsAccessNotice.d.ts +11 -0
- package/cursor-accounts/CursorAccountsAccessNotice.d.ts.map +1 -0
- package/cursor-accounts/CursorAccountsAccessNotice.js +14 -0
- package/cursor-accounts/CursorAccountsAccessNotice.js.map +1 -0
- package/cursor-accounts/CursorAccountsConsole.d.ts +28 -0
- package/cursor-accounts/CursorAccountsConsole.d.ts.map +1 -0
- package/cursor-accounts/CursorAccountsConsole.js +275 -0
- package/cursor-accounts/CursorAccountsConsole.js.map +1 -0
- package/cursor-accounts/cursor-account-format.d.ts +10 -0
- package/cursor-accounts/cursor-account-format.d.ts.map +1 -0
- package/cursor-accounts/cursor-account-format.js +26 -0
- package/cursor-accounts/cursor-account-format.js.map +1 -0
- package/cursor-accounts/index.d.ts +18 -0
- package/cursor-accounts/index.d.ts.map +1 -0
- package/cursor-accounts/index.js +13 -0
- package/cursor-accounts/index.js.map +1 -0
- package/cursor-accounts/useCursorAccountView.d.ts +30 -0
- package/cursor-accounts/useCursorAccountView.d.ts.map +1 -0
- package/cursor-accounts/useCursorAccountView.js +25 -0
- package/cursor-accounts/useCursorAccountView.js.map +1 -0
- package/cursor-accounts/useCursorAccounts.d.ts +33 -0
- package/cursor-accounts/useCursorAccounts.d.ts.map +1 -0
- package/cursor-accounts/useCursorAccounts.js +25 -0
- package/cursor-accounts/useCursorAccounts.js.map +1 -0
- package/cursor-accounts/useCursorMemberKeyActions.d.ts +49 -0
- package/cursor-accounts/useCursorMemberKeyActions.d.ts.map +1 -0
- package/cursor-accounts/useCursorMemberKeyActions.js +38 -0
- package/cursor-accounts/useCursorMemberKeyActions.js.map +1 -0
- package/cursor-accounts/useDeleteCursorAccount.d.ts +30 -0
- package/cursor-accounts/useDeleteCursorAccount.d.ts.map +1 -0
- package/cursor-accounts/useDeleteCursorAccount.js +32 -0
- package/cursor-accounts/useDeleteCursorAccount.js.map +1 -0
- package/cursor-accounts/useSyncCursorAccount.d.ts +23 -0
- package/cursor-accounts/useSyncCursorAccount.d.ts.map +1 -0
- package/cursor-accounts/useSyncCursorAccount.js +31 -0
- package/cursor-accounts/useSyncCursorAccount.js.map +1 -0
- package/cursor-accounts/useUpsertCursorAccount.d.ts +26 -0
- package/cursor-accounts/useUpsertCursorAccount.d.ts.map +1 -0
- package/cursor-accounts/useUpsertCursorAccount.js +34 -0
- package/cursor-accounts/useUpsertCursorAccount.js.map +1 -0
- package/datastore/CollectionRecordsBrowser.d.ts +34 -0
- package/datastore/CollectionRecordsBrowser.d.ts.map +1 -0
- package/datastore/CollectionRecordsBrowser.js +209 -0
- package/datastore/CollectionRecordsBrowser.js.map +1 -0
- package/datastore/CollectionSchemaView.d.ts +29 -0
- package/datastore/CollectionSchemaView.d.ts.map +1 -0
- package/datastore/CollectionSchemaView.js +93 -0
- package/datastore/CollectionSchemaView.js.map +1 -0
- package/datastore/DatastoreDetailView.d.ts +44 -0
- package/datastore/DatastoreDetailView.d.ts.map +1 -0
- package/datastore/DatastoreDetailView.js +76 -0
- package/datastore/DatastoreDetailView.js.map +1 -0
- package/datastore/DatastoreSyncReport.d.ts +19 -0
- package/datastore/DatastoreSyncReport.d.ts.map +1 -0
- package/datastore/DatastoreSyncReport.js +45 -0
- package/datastore/DatastoreSyncReport.js.map +1 -0
- package/datastore/DeleteDatastoreDialog.d.ts +35 -0
- package/datastore/DeleteDatastoreDialog.d.ts.map +1 -0
- package/datastore/DeleteDatastoreDialog.js +90 -0
- package/datastore/DeleteDatastoreDialog.js.map +1 -0
- package/datastore/FieldValueControl.d.ts +55 -0
- package/datastore/FieldValueControl.d.ts.map +1 -0
- package/datastore/FieldValueControl.js +138 -0
- package/datastore/FieldValueControl.js.map +1 -0
- package/datastore/RecordFilterBuilder.d.ts +30 -0
- package/datastore/RecordFilterBuilder.d.ts.map +1 -0
- package/datastore/RecordFilterBuilder.js +122 -0
- package/datastore/RecordFilterBuilder.js.map +1 -0
- package/datastore/RecordFormPanel.d.ts +45 -0
- package/datastore/RecordFormPanel.d.ts.map +1 -0
- package/datastore/RecordFormPanel.js +215 -0
- package/datastore/RecordFormPanel.js.map +1 -0
- package/datastore/index.d.ts +43 -0
- package/datastore/index.d.ts.map +1 -0
- package/datastore/index.js +22 -0
- package/datastore/index.js.map +1 -0
- package/datastore/recordFilter.d.ts +54 -0
- package/datastore/recordFilter.d.ts.map +1 -0
- package/datastore/recordFilter.js +93 -0
- package/datastore/recordFilter.js.map +1 -0
- package/datastore/recordValues.d.ts +85 -0
- package/datastore/recordValues.d.ts.map +1 -0
- package/datastore/recordValues.js +282 -0
- package/datastore/recordValues.js.map +1 -0
- package/datastore/useDatastore.d.ts +39 -0
- package/datastore/useDatastore.d.ts.map +1 -0
- package/datastore/useDatastore.js +44 -0
- package/datastore/useDatastore.js.map +1 -0
- package/datastore/useDatastoreCount.d.ts +48 -0
- package/datastore/useDatastoreCount.d.ts.map +1 -0
- package/datastore/useDatastoreCount.js +27 -0
- package/datastore/useDatastoreCount.js.map +1 -0
- package/datastore/useDatastoreDescription.d.ts +54 -0
- package/datastore/useDatastoreDescription.d.ts.map +1 -0
- package/datastore/useDatastoreDescription.js +50 -0
- package/datastore/useDatastoreDescription.js.map +1 -0
- package/datastore/useDatastoreList.d.ts +57 -0
- package/datastore/useDatastoreList.d.ts.map +1 -0
- package/datastore/useDatastoreList.js +29 -0
- package/datastore/useDatastoreList.js.map +1 -0
- package/datastore/useDatastoreSearch.d.ts +19 -0
- package/datastore/useDatastoreSearch.d.ts.map +1 -0
- package/datastore/useDatastoreSearch.js +22 -0
- package/datastore/useDatastoreSearch.js.map +1 -0
- package/datastore/useDeleteDatastore.d.ts +53 -0
- package/datastore/useDeleteDatastore.d.ts.map +1 -0
- package/datastore/useDeleteDatastore.js +40 -0
- package/datastore/useDeleteDatastore.js.map +1 -0
- package/datastore/useDeleteRecord.d.ts +34 -0
- package/datastore/useDeleteRecord.d.ts.map +1 -0
- package/datastore/useDeleteRecord.js +43 -0
- package/datastore/useDeleteRecord.js.map +1 -0
- package/datastore/useInsertRecord.d.ts +50 -0
- package/datastore/useInsertRecord.d.ts.map +1 -0
- package/datastore/useInsertRecord.js +55 -0
- package/datastore/useInsertRecord.js.map +1 -0
- package/datastore/useRecordCollection.d.ts +104 -0
- package/datastore/useRecordCollection.d.ts.map +1 -0
- package/datastore/useRecordCollection.js +136 -0
- package/datastore/useRecordCollection.js.map +1 -0
- package/datastore/useRecordList.d.ts +66 -0
- package/datastore/useRecordList.d.ts.map +1 -0
- package/datastore/useRecordList.js +58 -0
- package/datastore/useRecordList.js.map +1 -0
- package/datastore/useUpdateRecord.d.ts +52 -0
- package/datastore/useUpdateRecord.d.ts.map +1 -0
- package/datastore/useUpdateRecord.js +55 -0
- package/datastore/useUpdateRecord.js.map +1 -0
- package/environment/EnvironmentListPanel.d.ts.map +1 -1
- package/environment/EnvironmentListPanel.js +12 -7
- package/environment/EnvironmentListPanel.js.map +1 -1
- package/iam-policy/index.d.ts +1 -1
- package/iam-policy/index.d.ts.map +1 -1
- package/iam-policy/index.js.map +1 -1
- package/iam-policy/useCheckPermission.d.ts +32 -11
- package/iam-policy/useCheckPermission.d.ts.map +1 -1
- package/iam-policy/useCheckPermission.js +24 -19
- package/iam-policy/useCheckPermission.js.map +1 -1
- package/index.d.ts +12 -6
- package/index.d.ts.map +1 -1
- package/index.js +14 -3
- package/index.js.map +1 -1
- package/library/index.d.ts +0 -7
- package/library/index.d.ts.map +1 -1
- package/library/index.js +0 -4
- package/library/index.js.map +1 -1
- package/library/useApplyResource.d.ts +12 -12
- package/library/useApplyResource.d.ts.map +1 -1
- package/library/useApplyResource.js +16 -25
- package/library/useApplyResource.js.map +1 -1
- package/library/useExportResource.d.ts +13 -9
- package/library/useExportResource.d.ts.map +1 -1
- package/library/useExportResource.js +18 -36
- package/library/useExportResource.js.map +1 -1
- package/manifest/ApplyManifestDialog.d.ts +48 -0
- package/manifest/ApplyManifestDialog.d.ts.map +1 -0
- package/manifest/ApplyManifestDialog.js +135 -0
- package/manifest/ApplyManifestDialog.js.map +1 -0
- package/manifest/EditResourceYamlDialog.d.ts +51 -0
- package/manifest/EditResourceYamlDialog.d.ts.map +1 -0
- package/manifest/EditResourceYamlDialog.js +104 -0
- package/manifest/EditResourceYamlDialog.js.map +1 -0
- package/manifest/RedactedSecretsNotice.d.ts +14 -0
- package/manifest/RedactedSecretsNotice.d.ts.map +1 -0
- package/manifest/RedactedSecretsNotice.js +14 -0
- package/manifest/RedactedSecretsNotice.js.map +1 -0
- package/manifest/YamlEditor.d.ts +44 -0
- package/manifest/YamlEditor.d.ts.map +1 -0
- package/manifest/YamlEditor.js +216 -0
- package/manifest/YamlEditor.js.map +1 -0
- package/manifest/index.d.ts +13 -0
- package/manifest/index.d.ts.map +1 -0
- package/manifest/index.js +13 -0
- package/manifest/index.js.map +1 -0
- package/manifest/useApplyManifest.d.ts +82 -0
- package/manifest/useApplyManifest.d.ts.map +1 -0
- package/manifest/useApplyManifest.js +180 -0
- package/manifest/useApplyManifest.js.map +1 -0
- package/manifest/useEditResourceYaml.d.ts +106 -0
- package/manifest/useEditResourceYaml.d.ts.map +1 -0
- package/manifest/useEditResourceYaml.js +168 -0
- package/manifest/useEditResourceYaml.js.map +1 -0
- package/mcp-server/steps/ReviewStep.d.ts.map +1 -1
- package/mcp-server/steps/ReviewStep.js +2 -3
- package/mcp-server/steps/ReviewStep.js.map +1 -1
- package/package.json +4 -4
- package/resource-creation/templates/workflow-templates.js +4 -4
- package/session/useEditSessionPrep.js +3 -3
- package/session/useEditSessionPrep.js.map +1 -1
- package/settings/index.d.ts +2 -1
- package/settings/index.d.ts.map +1 -1
- package/settings/index.js +2 -1
- package/settings/index.js.map +1 -1
- package/settings/settings-nav.d.ts +22 -0
- package/settings/settings-nav.d.ts.map +1 -1
- package/settings/settings-nav.js +32 -1
- package/settings/settings-nav.js.map +1 -1
- package/settings/useSettingsNavGroups.d.ts +29 -0
- package/settings/useSettingsNavGroups.d.ts.map +1 -0
- package/settings/useSettingsNavGroups.js +61 -0
- package/settings/useSettingsNavGroups.js.map +1 -0
- package/src/agent/steps/ReviewStep.tsx +2 -3
- package/src/billing/BaselineEditor.tsx +619 -0
- package/src/billing/ModelCatalogPanel.tsx +283 -0
- package/src/billing/ModelGovernanceDetail.tsx +289 -0
- package/src/billing/OperatorAccessNotice.tsx +32 -0
- package/src/billing/PricingGovernanceConsole.tsx +465 -0
- package/src/billing/PricingGovernancePanel.tsx +166 -0
- package/src/billing/RetireConfirm.tsx +82 -0
- package/src/billing/__tests__/ModelCatalogPanel.test.tsx +253 -0
- package/src/billing/__tests__/PricingGovernanceConsole.test.tsx +410 -0
- package/src/billing/__tests__/useModelGovernanceView.test.tsx +308 -0
- package/src/billing/form-primitives.tsx +68 -0
- package/src/billing/governance-primitives.tsx +133 -0
- package/src/billing/index.ts +37 -0
- package/src/billing/pricing-format.ts +53 -0
- package/src/billing/useDecidePricingOverride.ts +78 -0
- package/src/billing/useModelGovernanceView.ts +290 -0
- package/src/billing/useModelPricingBaselines.ts +69 -0
- package/src/billing/usePricingGovernance.ts +57 -0
- package/src/billing/useRetireModelPricingBaseline.ts +65 -0
- package/src/billing/useUpsertModelPricingBaseline.ts +72 -0
- package/src/channel/AgentChannelsPanel.tsx +27 -1
- package/src/composer/SessionComposer.tsx +1 -1
- package/src/cursor-accounts/CursorAccountEditor.tsx +181 -0
- package/src/cursor-accounts/CursorAccountsAccessNotice.tsx +36 -0
- package/src/cursor-accounts/CursorAccountsConsole.tsx +810 -0
- package/src/cursor-accounts/__tests__/CursorAccountsConsole.test.tsx +384 -0
- package/src/cursor-accounts/cursor-account-format.ts +29 -0
- package/src/cursor-accounts/index.ts +29 -0
- package/src/cursor-accounts/useCursorAccountView.ts +49 -0
- package/src/cursor-accounts/useCursorAccounts.ts +49 -0
- package/src/cursor-accounts/useCursorMemberKeyActions.ts +106 -0
- package/src/cursor-accounts/useDeleteCursorAccount.ts +62 -0
- package/src/cursor-accounts/useSyncCursorAccount.ts +54 -0
- package/src/cursor-accounts/useUpsertCursorAccount.ts +57 -0
- package/src/datastore/CollectionRecordsBrowser.tsx +544 -0
- package/src/datastore/CollectionSchemaView.tsx +247 -0
- package/src/datastore/DatastoreDetailView.tsx +201 -0
- package/src/datastore/DatastoreSyncReport.tsx +105 -0
- package/src/datastore/DeleteDatastoreDialog.tsx +202 -0
- package/src/datastore/FieldValueControl.tsx +289 -0
- package/src/datastore/RecordFilterBuilder.tsx +411 -0
- package/src/datastore/RecordFormPanel.tsx +432 -0
- package/src/datastore/__tests__/CollectionRecordsBrowser.test.tsx +207 -0
- package/src/datastore/__tests__/DeleteDatastoreDialog.test.tsx +133 -0
- package/src/datastore/__tests__/FieldValueControl.test.tsx +160 -0
- package/src/datastore/__tests__/RecordFilterBuilder.test.tsx +141 -0
- package/src/datastore/__tests__/RecordFormPanel.test.tsx +227 -0
- package/src/datastore/__tests__/recordFilter.test.ts +156 -0
- package/src/datastore/__tests__/recordMutations.test.tsx +195 -0
- package/src/datastore/__tests__/recordValues.test.ts +359 -0
- package/src/datastore/__tests__/schemaAndSyncViews.test.tsx +142 -0
- package/src/datastore/__tests__/useDatastoreDescription.test.tsx +143 -0
- package/src/datastore/__tests__/useRecordCollection.test.tsx +250 -0
- package/src/datastore/__tests__/useRecordList.test.tsx +85 -0
- package/src/datastore/index.ts +111 -0
- package/src/datastore/recordFilter.ts +140 -0
- package/src/datastore/recordValues.ts +327 -0
- package/src/datastore/useDatastore.ts +67 -0
- package/src/datastore/useDatastoreCount.ts +67 -0
- package/src/datastore/useDatastoreDescription.ts +90 -0
- package/src/datastore/useDatastoreList.ts +79 -0
- package/src/datastore/useDatastoreSearch.ts +39 -0
- package/src/datastore/useDeleteDatastore.ts +87 -0
- package/src/datastore/useDeleteRecord.ts +77 -0
- package/src/datastore/useInsertRecord.ts +92 -0
- package/src/datastore/useRecordCollection.ts +256 -0
- package/src/datastore/useRecordList.ts +131 -0
- package/src/datastore/useUpdateRecord.ts +95 -0
- package/src/environment/EnvironmentListPanel.tsx +24 -0
- package/src/execution/__tests__/useArtifactInspection.test.tsx +12 -2
- package/src/iam-policy/__tests__/useCheckPermission.test.tsx +221 -0
- package/src/iam-policy/index.ts +1 -0
- package/src/iam-policy/useCheckPermission.ts +45 -19
- package/src/index.ts +163 -13
- package/src/library/index.ts +0 -20
- package/src/library/useApplyResource.ts +27 -34
- package/src/library/useExportResource.ts +21 -40
- package/src/manifest/ApplyManifestDialog.tsx +315 -0
- package/src/manifest/EditResourceYamlDialog.tsx +265 -0
- package/src/manifest/RedactedSecretsNotice.tsx +30 -0
- package/src/manifest/YamlEditor.tsx +272 -0
- package/src/manifest/__tests__/EditResourceYamlDialog.test.tsx +118 -0
- package/src/manifest/__tests__/useApplyManifest.test.tsx +237 -0
- package/src/manifest/__tests__/useEditResourceYaml.test.tsx +252 -0
- package/src/manifest/index.ts +33 -0
- package/src/manifest/useApplyManifest.ts +270 -0
- package/src/manifest/useEditResourceYaml.ts +273 -0
- package/src/mcp-server/steps/ReviewStep.tsx +2 -3
- package/src/resource-creation/templates/workflow-templates.ts +4 -4
- package/src/session/useEditSessionPrep.ts +3 -3
- package/src/settings/__tests__/useSettingsNavGroups.test.tsx +138 -0
- package/src/settings/index.ts +5 -1
- package/src/settings/settings-nav.ts +43 -0
- package/src/settings/useSettingsNavGroups.ts +81 -0
- package/src/workflow/WorkflowYamlEditor.tsx +6 -270
- package/styles.css +1 -1
- package/workflow/CanvasTransitionEdge.d.ts +1 -1
- package/workflow/WorkflowYamlEditor.d.ts +2 -42
- package/workflow/WorkflowYamlEditor.d.ts.map +1 -1
- package/workflow/WorkflowYamlEditor.js +5 -214
- package/workflow/WorkflowYamlEditor.js.map +1 -1
- package/library/ImportResourceDialog.d.ts +0 -43
- package/library/ImportResourceDialog.d.ts.map +0 -1
- package/library/ImportResourceDialog.js +0 -90
- package/library/ImportResourceDialog.js.map +0 -1
- package/library/parse-resource-yaml.d.ts +0 -63
- package/library/parse-resource-yaml.d.ts.map +0 -1
- package/library/parse-resource-yaml.js +0 -407
- package/library/parse-resource-yaml.js.map +0 -1
- package/library/serialize-resource-yaml.d.ts +0 -103
- package/library/serialize-resource-yaml.d.ts.map +0 -1
- package/library/serialize-resource-yaml.js +0 -565
- package/library/serialize-resource-yaml.js.map +0 -1
- package/library/useImportResource.d.ts +0 -84
- package/library/useImportResource.d.ts.map +0 -1
- package/library/useImportResource.js +0 -188
- package/library/useImportResource.js.map +0 -1
- package/src/library/ImportResourceDialog.tsx +0 -227
- package/src/library/parse-resource-yaml.ts +0 -630
- package/src/library/serialize-resource-yaml.ts +0 -756
- package/src/library/useImportResource.ts +0 -253
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
|
-
import { KeyRound, MessageSquare, MoreHorizontal, Trash2 } from "lucide-react";
|
|
4
|
+
import { FileCode2, KeyRound, MessageSquare, MoreHorizontal, Trash2 } from "lucide-react";
|
|
5
5
|
import { cn } from "@stigmer/theme";
|
|
6
6
|
import { getUserMessage } from "@stigmer/sdk";
|
|
7
7
|
import type { Agent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
|
|
@@ -17,6 +17,7 @@ import { useChannelAppList } from "../channel-app/useChannelAppList.js";
|
|
|
17
17
|
import { useCheckPermission } from "../iam-policy/useCheckPermission.js";
|
|
18
18
|
import { ConfirmDialog } from "../resource-detail/ConfirmDialog.js";
|
|
19
19
|
import { useConfirmAction } from "../resource-detail/useConfirmAction.js";
|
|
20
|
+
import { EditResourceYamlDialog } from "../manifest/EditResourceYamlDialog.js";
|
|
20
21
|
import { useDeploymentMode } from "../deployment-mode.js";
|
|
21
22
|
import { CloudFeatureNotice } from "../internal/CloudFeatureNotice.js";
|
|
22
23
|
import { ChannelConversationsDialog } from "./ChannelConversationsDialog.js";
|
|
@@ -147,6 +148,9 @@ export function AgentChannelsPanel({
|
|
|
147
148
|
const [viewingConversations, setViewingConversations] =
|
|
148
149
|
useState<AgentChannel | null>(null);
|
|
149
150
|
|
|
151
|
+
// The channel being edited as YAML (the kind-agnostic manifest flow).
|
|
152
|
+
const [editingYaml, setEditingYaml] = useState<AgentChannel | null>(null);
|
|
153
|
+
|
|
150
154
|
const handleConnect = useCallback(
|
|
151
155
|
(channel: AgentChannel | null, provider: ChannelProviderDescriptor) => {
|
|
152
156
|
// Only redirect-style installs need the host hand-off (they open a
|
|
@@ -289,6 +293,7 @@ export function AgentChannelsPanel({
|
|
|
289
293
|
onDeleteClick={() => void handleDelete(channel)}
|
|
290
294
|
onEditCredentials={() => setEditingCredentials(channel)}
|
|
291
295
|
onViewConversations={() => setViewingConversations(channel)}
|
|
296
|
+
onEditYaml={() => setEditingYaml(channel)}
|
|
292
297
|
refetch={refetch}
|
|
293
298
|
/>
|
|
294
299
|
);
|
|
@@ -344,6 +349,17 @@ export function AgentChannelsPanel({
|
|
|
344
349
|
/>
|
|
345
350
|
)}
|
|
346
351
|
|
|
352
|
+
{editingYaml && (
|
|
353
|
+
<EditResourceYamlDialog
|
|
354
|
+
open
|
|
355
|
+
onOpenChange={(open) => {
|
|
356
|
+
if (!open) setEditingYaml(null);
|
|
357
|
+
}}
|
|
358
|
+
resource={editingYaml}
|
|
359
|
+
onApplied={refetch}
|
|
360
|
+
/>
|
|
361
|
+
)}
|
|
362
|
+
|
|
347
363
|
<ConfirmDialog
|
|
348
364
|
state={confirmState}
|
|
349
365
|
onConfirm={handleConfirm}
|
|
@@ -367,6 +383,7 @@ interface ChannelCardProps {
|
|
|
367
383
|
readonly onDeleteClick: () => void;
|
|
368
384
|
readonly onEditCredentials: () => void;
|
|
369
385
|
readonly onViewConversations: () => void;
|
|
386
|
+
readonly onEditYaml: () => void;
|
|
370
387
|
readonly refetch: () => void;
|
|
371
388
|
}
|
|
372
389
|
|
|
@@ -379,6 +396,7 @@ function ChannelCard({
|
|
|
379
396
|
onDeleteClick,
|
|
380
397
|
onEditCredentials,
|
|
381
398
|
onViewConversations,
|
|
399
|
+
onEditYaml,
|
|
382
400
|
refetch,
|
|
383
401
|
}: ChannelCardProps) {
|
|
384
402
|
const meta = channel.metadata;
|
|
@@ -503,6 +521,14 @@ function ChannelCard({
|
|
|
503
521
|
Tool credentials
|
|
504
522
|
</ActionMenu.Item>
|
|
505
523
|
)}
|
|
524
|
+
{canEdit && (
|
|
525
|
+
<ActionMenu.Item
|
|
526
|
+
icon={<FileCode2 />}
|
|
527
|
+
onSelect={onEditYaml}
|
|
528
|
+
>
|
|
529
|
+
Edit YAML
|
|
530
|
+
</ActionMenu.Item>
|
|
531
|
+
)}
|
|
506
532
|
{canDelete && (
|
|
507
533
|
<ActionMenu.Item
|
|
508
534
|
icon={<Trash2 />}
|
|
@@ -470,7 +470,7 @@ export interface SessionComposerProps {
|
|
|
470
470
|
*
|
|
471
471
|
* @example
|
|
472
472
|
* ```tsx
|
|
473
|
-
* const yaml =
|
|
473
|
+
* const yaml = serializeManifest(agent);
|
|
474
474
|
* const file = new File([yaml], "my-agent.yaml", { type: "text/yaml" });
|
|
475
475
|
*
|
|
476
476
|
* <SessionComposer
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { create } from "@bufbuild/protobuf";
|
|
5
|
+
import { cn } from "@stigmer/theme";
|
|
6
|
+
import { getUserMessage } from "@stigmer/sdk";
|
|
7
|
+
import {
|
|
8
|
+
CursorAccountSchema,
|
|
9
|
+
type CursorAccount,
|
|
10
|
+
} from "@stigmer/protos/ai/stigmer/platform/cursoraccount/v1/cursor_account_pb";
|
|
11
|
+
import { Button } from "../button/index.js";
|
|
12
|
+
import { Field, INPUT_CLASSES } from "../billing/form-primitives.js";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The redaction marker the server uses for stored secrets. Sending it
|
|
16
|
+
* back on update means "keep the stored admin key".
|
|
17
|
+
*/
|
|
18
|
+
const REDACTED = "***REDACTED***";
|
|
19
|
+
|
|
20
|
+
/** Props for {@link CursorAccountEditor}. */
|
|
21
|
+
export interface CursorAccountEditorProps {
|
|
22
|
+
/** The account to edit, or `null` to create a new one. */
|
|
23
|
+
readonly initial: CursorAccount | null;
|
|
24
|
+
/** `true` while the save is in flight. */
|
|
25
|
+
readonly isSubmitting: boolean;
|
|
26
|
+
/** Error from the last failed save, or `null`. */
|
|
27
|
+
readonly submitError: Error | null;
|
|
28
|
+
/** Called with the assembled account on submit. */
|
|
29
|
+
readonly onSubmit: (account: CursorAccount) => void;
|
|
30
|
+
/** Called when the operator cancels. */
|
|
31
|
+
readonly onCancel: () => void;
|
|
32
|
+
/** Additional CSS class names. */
|
|
33
|
+
readonly className?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Create/edit form for one Cursor account: identity, team Admin API key,
|
|
38
|
+
* enablement, platform-default flag, and org assignments.
|
|
39
|
+
*
|
|
40
|
+
* Admin-key semantics mirror the server contract: on edit the field
|
|
41
|
+
* shows the redaction marker and submitting it unchanged keeps the
|
|
42
|
+
* stored key; typing anything else rotates it (validated live against
|
|
43
|
+
* Cursor before persisting). Member keys are NOT edited here — they have
|
|
44
|
+
* their own panel with per-key add/remove/enable.
|
|
45
|
+
*/
|
|
46
|
+
export function CursorAccountEditor({
|
|
47
|
+
initial,
|
|
48
|
+
isSubmitting,
|
|
49
|
+
submitError,
|
|
50
|
+
onSubmit,
|
|
51
|
+
onCancel,
|
|
52
|
+
className,
|
|
53
|
+
}: CursorAccountEditorProps) {
|
|
54
|
+
const isCreate = initial === null;
|
|
55
|
+
const [displayName, setDisplayName] = useState(initial?.displayName ?? "");
|
|
56
|
+
const [adminApiKey, setAdminApiKey] = useState(isCreate ? "" : REDACTED);
|
|
57
|
+
const [enabled, setEnabled] = useState(initial?.enabled ?? true);
|
|
58
|
+
const [isPlatformDefault, setIsPlatformDefault] = useState(
|
|
59
|
+
initial?.isPlatformDefault ?? false,
|
|
60
|
+
);
|
|
61
|
+
const [orgIdsText, setOrgIdsText] = useState(
|
|
62
|
+
(initial?.orgIds ?? []).join("\n"),
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
const canSubmit =
|
|
66
|
+
displayName.trim() !== "" && adminApiKey.trim() !== "" && !isSubmitting;
|
|
67
|
+
|
|
68
|
+
const handleSubmit = (e: React.FormEvent) => {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
if (!canSubmit) return;
|
|
71
|
+
onSubmit(
|
|
72
|
+
create(CursorAccountSchema, {
|
|
73
|
+
accountId: initial?.accountId ?? "",
|
|
74
|
+
displayName: displayName.trim(),
|
|
75
|
+
adminApiKey: adminApiKey.trim(),
|
|
76
|
+
enabled,
|
|
77
|
+
isPlatformDefault,
|
|
78
|
+
orgIds: orgIdsText
|
|
79
|
+
.split(/[\s,]+/)
|
|
80
|
+
.map((s) => s.trim())
|
|
81
|
+
.filter((s) => s !== ""),
|
|
82
|
+
}),
|
|
83
|
+
);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
return (
|
|
87
|
+
<form className={cn("max-w-xl space-y-3", className)} onSubmit={handleSubmit}>
|
|
88
|
+
<h3 className="text-sm font-semibold text-foreground">
|
|
89
|
+
{isCreate ? "Add Cursor account" : `Edit ${initial.displayName}`}
|
|
90
|
+
</h3>
|
|
91
|
+
|
|
92
|
+
<Field label="Display name" required>
|
|
93
|
+
<input
|
|
94
|
+
className={INPUT_CLASSES}
|
|
95
|
+
value={displayName}
|
|
96
|
+
onChange={(e) => setDisplayName(e.target.value)}
|
|
97
|
+
placeholder="e.g. scenar.ai team"
|
|
98
|
+
disabled={isSubmitting}
|
|
99
|
+
/>
|
|
100
|
+
</Field>
|
|
101
|
+
|
|
102
|
+
<Field label="Team Admin API key" required>
|
|
103
|
+
<input
|
|
104
|
+
className={INPUT_CLASSES}
|
|
105
|
+
type="password"
|
|
106
|
+
value={adminApiKey}
|
|
107
|
+
onChange={(e) => setAdminApiKey(e.target.value)}
|
|
108
|
+
placeholder="key from Cursor dashboard → API → Team tab"
|
|
109
|
+
disabled={isSubmitting}
|
|
110
|
+
autoComplete="off"
|
|
111
|
+
/>
|
|
112
|
+
</Field>
|
|
113
|
+
{!isCreate && (
|
|
114
|
+
<p className="text-[11px] text-muted-foreground">
|
|
115
|
+
Leave the masked value untouched to keep the stored key; typing a
|
|
116
|
+
new key rotates it (validated against Cursor before saving).
|
|
117
|
+
</p>
|
|
118
|
+
)}
|
|
119
|
+
|
|
120
|
+
<Field label="Assigned organization ids">
|
|
121
|
+
<textarea
|
|
122
|
+
className={cn(INPUT_CLASSES, "min-h-16 font-mono")}
|
|
123
|
+
value={orgIdsText}
|
|
124
|
+
onChange={(e) => setOrgIdsText(e.target.value)}
|
|
125
|
+
placeholder={"one org id per line\n(each org may belong to only one account)"}
|
|
126
|
+
disabled={isSubmitting}
|
|
127
|
+
/>
|
|
128
|
+
</Field>
|
|
129
|
+
|
|
130
|
+
<div className="space-y-2">
|
|
131
|
+
<div>
|
|
132
|
+
<label className="flex items-center gap-1.5 text-xs text-foreground">
|
|
133
|
+
<input
|
|
134
|
+
type="checkbox"
|
|
135
|
+
checked={enabled}
|
|
136
|
+
onChange={(e) => setEnabled(e.target.checked)}
|
|
137
|
+
disabled={isSubmitting}
|
|
138
|
+
/>
|
|
139
|
+
Enabled for key selection
|
|
140
|
+
</label>
|
|
141
|
+
<p className="mt-0.5 pl-[1.375rem] text-[11px] text-muted-foreground">
|
|
142
|
+
Leave checked for accounts that should serve traffic. Unchecking
|
|
143
|
+
drains the account: new sessions stop routing here immediately,
|
|
144
|
+
but sessions already pinned to one of its keys keep working.
|
|
145
|
+
</p>
|
|
146
|
+
</div>
|
|
147
|
+
<div>
|
|
148
|
+
<label className="flex items-center gap-1.5 text-xs text-foreground">
|
|
149
|
+
<input
|
|
150
|
+
type="checkbox"
|
|
151
|
+
checked={isPlatformDefault}
|
|
152
|
+
onChange={(e) => setIsPlatformDefault(e.target.checked)}
|
|
153
|
+
disabled={isSubmitting}
|
|
154
|
+
/>
|
|
155
|
+
Platform default (serves unassigned orgs)
|
|
156
|
+
</label>
|
|
157
|
+
<p className="mt-0.5 pl-[1.375rem] text-[11px] text-muted-foreground">
|
|
158
|
+
Check on exactly one account. Orgs not listed in any account's
|
|
159
|
+
assigned ids resolve to the platform default; at most one account
|
|
160
|
+
may hold this flag.
|
|
161
|
+
</p>
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
{submitError && (
|
|
166
|
+
<p className="text-destructive text-xs" role="alert">
|
|
167
|
+
{getUserMessage(submitError)}
|
|
168
|
+
</p>
|
|
169
|
+
)}
|
|
170
|
+
|
|
171
|
+
<div className="flex gap-2">
|
|
172
|
+
<Button type="submit" size="sm" disabled={!canSubmit}>
|
|
173
|
+
{isSubmitting ? "Saving…" : isCreate ? "Create account" : "Save changes"}
|
|
174
|
+
</Button>
|
|
175
|
+
<Button type="button" size="sm" variant="outline" onClick={onCancel} disabled={isSubmitting}>
|
|
176
|
+
Cancel
|
|
177
|
+
</Button>
|
|
178
|
+
</div>
|
|
179
|
+
</form>
|
|
180
|
+
);
|
|
181
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { cn } from "@stigmer/theme";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The access-denied state for the Cursor-accounts operator surface.
|
|
7
|
+
* Server-side authorization (`can_manage_cursor_accounts` on
|
|
8
|
+
* `platform:stigmer`) is the real gate — this is the honest, designed
|
|
9
|
+
* face of that denial for anyone who navigates to the operator route
|
|
10
|
+
* without the permission, instead of a raw RPC error string.
|
|
11
|
+
*/
|
|
12
|
+
export function CursorAccountsAccessNotice({
|
|
13
|
+
className,
|
|
14
|
+
}: {
|
|
15
|
+
readonly className?: string;
|
|
16
|
+
}) {
|
|
17
|
+
return (
|
|
18
|
+
<div
|
|
19
|
+
className={cn(
|
|
20
|
+
"rounded-lg border border-border bg-card px-4 py-6 text-center",
|
|
21
|
+
className,
|
|
22
|
+
)}
|
|
23
|
+
role="status"
|
|
24
|
+
>
|
|
25
|
+
<p className="text-xs font-semibold text-foreground">
|
|
26
|
+
Platform operator access required
|
|
27
|
+
</p>
|
|
28
|
+
<p className="mx-auto mt-1 max-w-md text-xs text-muted-foreground">
|
|
29
|
+
Cursor account management is a Stigmer-internal surface holding
|
|
30
|
+
provider credentials and team spend. It needs the platform operator
|
|
31
|
+
role — organization roles do not grant it. If you believe you should
|
|
32
|
+
have access, contact a platform operator.
|
|
33
|
+
</p>
|
|
34
|
+
</div>
|
|
35
|
+
);
|
|
36
|
+
}
|