@stigmer/react 0.0.36 → 0.0.39
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/README.md +4 -88
- package/__tests__/hooks.test.d.ts +2 -0
- package/__tests__/hooks.test.d.ts.map +1 -0
- package/__tests__/hooks.test.js +18 -0
- package/__tests__/hooks.test.js.map +1 -0
- package/agent/AgentDetailView.d.ts +69 -0
- package/agent/AgentDetailView.d.ts.map +1 -0
- package/agent/AgentDetailView.js +183 -0
- package/agent/AgentDetailView.js.map +1 -0
- package/agent/AgentEnvForm.d.ts +83 -0
- package/agent/AgentEnvForm.d.ts.map +1 -0
- package/agent/AgentEnvForm.js +31 -0
- package/agent/AgentEnvForm.js.map +1 -0
- package/agent/AgentPicker.d.ts +44 -0
- package/agent/AgentPicker.d.ts.map +1 -0
- package/agent/AgentPicker.js +121 -0
- package/agent/AgentPicker.js.map +1 -0
- package/agent/agentSetupReducer.d.ts +122 -0
- package/agent/agentSetupReducer.d.ts.map +1 -0
- package/agent/agentSetupReducer.js +75 -0
- package/agent/agentSetupReducer.js.map +1 -0
- package/agent/index.d.ts +19 -8
- package/agent/index.d.ts.map +1 -1
- package/agent/index.js +10 -6
- package/agent/index.js.map +1 -1
- package/agent/useAgent.d.ts +48 -0
- package/agent/useAgent.d.ts.map +1 -0
- package/agent/useAgent.js +82 -0
- package/agent/useAgent.js.map +1 -0
- package/agent/useAgentCount.d.ts +49 -0
- package/agent/useAgentCount.d.ts.map +1 -0
- package/agent/useAgentCount.js +32 -0
- package/agent/useAgentCount.js.map +1 -0
- package/agent/useAgentList.d.ts +62 -0
- package/agent/useAgentList.d.ts.map +1 -0
- package/agent/useAgentList.js +38 -0
- package/agent/useAgentList.js.map +1 -0
- package/agent/useAgentSearch.d.ts +23 -0
- package/agent/useAgentSearch.d.ts.map +1 -0
- package/agent/useAgentSearch.js +28 -0
- package/agent/useAgentSearch.js.map +1 -0
- package/agent/useAgentSetup.d.ts +115 -0
- package/agent/useAgentSetup.d.ts.map +1 -0
- package/agent/useAgentSetup.js +244 -0
- package/agent/useAgentSetup.js.map +1 -0
- package/agent/useDefaultAgent.d.ts +29 -0
- package/agent/useDefaultAgent.d.ts.map +1 -0
- package/agent/useDefaultAgent.js +60 -0
- package/agent/useDefaultAgent.js.map +1 -0
- package/agent-instance/buildPersonalInstanceInput.d.ts +20 -0
- package/agent-instance/buildPersonalInstanceInput.d.ts.map +1 -0
- package/agent-instance/buildPersonalInstanceInput.js +29 -0
- package/agent-instance/buildPersonalInstanceInput.js.map +1 -0
- package/agent-instance/index.d.ts +9 -0
- package/agent-instance/index.d.ts.map +1 -0
- package/agent-instance/index.js +5 -0
- package/agent-instance/index.js.map +1 -0
- package/agent-instance/useAgentInstance.d.ts +35 -0
- package/agent-instance/useAgentInstance.d.ts.map +1 -0
- package/agent-instance/useAgentInstance.js +67 -0
- package/agent-instance/useAgentInstance.js.map +1 -0
- package/agent-instance/useAgentInstanceList.d.ts +29 -0
- package/agent-instance/useAgentInstanceList.d.ts.map +1 -0
- package/agent-instance/useAgentInstanceList.js +74 -0
- package/agent-instance/useAgentInstanceList.js.map +1 -0
- package/agent-instance/useCreateAgentInstance.d.ts +44 -0
- package/agent-instance/useCreateAgentInstance.d.ts.map +1 -0
- package/agent-instance/useCreateAgentInstance.js +60 -0
- package/agent-instance/useCreateAgentInstance.js.map +1 -0
- package/agent-instance/usePersonalAgentInstance.d.ts +93 -0
- package/agent-instance/usePersonalAgentInstance.d.ts.map +1 -0
- package/agent-instance/usePersonalAgentInstance.js +103 -0
- package/agent-instance/usePersonalAgentInstance.js.map +1 -0
- package/attachment/AttachmentChipList.d.ts +24 -0
- package/attachment/AttachmentChipList.d.ts.map +1 -0
- package/attachment/AttachmentChipList.js +45 -0
- package/attachment/AttachmentChipList.js.map +1 -0
- package/attachment/attachment-utils.d.ts +32 -0
- package/attachment/attachment-utils.d.ts.map +1 -0
- package/attachment/attachment-utils.js +104 -0
- package/attachment/attachment-utils.js.map +1 -0
- package/attachment/index.d.ts +6 -0
- package/attachment/index.d.ts.map +1 -0
- package/attachment/index.js +4 -0
- package/attachment/index.js.map +1 -0
- package/attachment/useAttachments.d.ts +113 -0
- package/attachment/useAttachments.d.ts.map +1 -0
- package/attachment/useAttachments.js +175 -0
- package/attachment/useAttachments.js.map +1 -0
- package/composer/ComposerToolbar.d.ts +37 -0
- package/composer/ComposerToolbar.d.ts.map +1 -0
- package/composer/ComposerToolbar.js +24 -0
- package/composer/ComposerToolbar.js.map +1 -0
- package/composer/ConfigureMenu.d.ts +37 -0
- package/composer/ConfigureMenu.d.ts.map +1 -0
- package/composer/ConfigureMenu.js +53 -0
- package/composer/ConfigureMenu.js.map +1 -0
- package/composer/ContextChip.d.ts +22 -0
- package/composer/ContextChip.d.ts.map +1 -0
- package/composer/ContextChip.js +19 -0
- package/composer/ContextChip.js.map +1 -0
- package/composer/ContextPopover.d.ts +10 -0
- package/composer/ContextPopover.d.ts.map +1 -0
- package/composer/ContextPopover.js +11 -0
- package/composer/ContextPopover.js.map +1 -0
- package/composer/SessionComposer.d.ts +269 -0
- package/composer/SessionComposer.d.ts.map +1 -0
- package/composer/SessionComposer.js +568 -0
- package/composer/SessionComposer.js.map +1 -0
- package/composer/icons.d.ts +15 -0
- package/composer/icons.d.ts.map +1 -0
- package/composer/icons.js +42 -0
- package/composer/icons.js.map +1 -0
- package/composer/index.d.ts +5 -0
- package/composer/index.d.ts.map +1 -0
- package/composer/index.js +3 -0
- package/composer/index.js.map +1 -0
- package/composer/useComposer.d.ts +74 -0
- package/composer/useComposer.d.ts.map +1 -0
- package/composer/useComposer.js +94 -0
- package/composer/useComposer.js.map +1 -0
- package/environment/CreateEnvironmentForm.d.ts +31 -0
- package/environment/CreateEnvironmentForm.d.ts.map +1 -0
- package/environment/CreateEnvironmentForm.js +57 -0
- package/environment/CreateEnvironmentForm.js.map +1 -0
- package/environment/EnvVarForm.d.ts +134 -0
- package/environment/EnvVarForm.d.ts.map +1 -0
- package/environment/EnvVarForm.js +122 -0
- package/environment/EnvVarForm.js.map +1 -0
- package/environment/EnvironmentListPanel.d.ts +51 -0
- package/environment/EnvironmentListPanel.d.ts.map +1 -0
- package/environment/EnvironmentListPanel.js +96 -0
- package/environment/EnvironmentListPanel.js.map +1 -0
- package/environment/EnvironmentVariableEditor.d.ts +43 -0
- package/environment/EnvironmentVariableEditor.d.ts.map +1 -0
- package/environment/EnvironmentVariableEditor.js +269 -0
- package/environment/EnvironmentVariableEditor.js.map +1 -0
- package/environment/diffEnvSpec.d.ts +34 -0
- package/environment/diffEnvSpec.d.ts.map +1 -0
- package/environment/diffEnvSpec.js +44 -0
- package/environment/diffEnvSpec.js.map +1 -0
- package/environment/index.d.ts +28 -0
- package/environment/index.d.ts.map +1 -0
- package/environment/index.js +15 -0
- package/environment/index.js.map +1 -0
- package/environment/useCreateEnvironment.d.ts +43 -0
- package/environment/useCreateEnvironment.d.ts.map +1 -0
- package/environment/useCreateEnvironment.js +59 -0
- package/environment/useCreateEnvironment.js.map +1 -0
- package/environment/useEnvironment.d.ts +37 -0
- package/environment/useEnvironment.d.ts.map +1 -0
- package/environment/useEnvironment.js +69 -0
- package/environment/useEnvironment.js.map +1 -0
- package/environment/useEnvironmentList.d.ts +31 -0
- package/environment/useEnvironmentList.d.ts.map +1 -0
- package/environment/useEnvironmentList.js +88 -0
- package/environment/useEnvironmentList.js.map +1 -0
- package/environment/usePersonalEnvironment.d.ts +100 -0
- package/environment/usePersonalEnvironment.d.ts.map +1 -0
- package/environment/usePersonalEnvironment.js +168 -0
- package/environment/usePersonalEnvironment.js.map +1 -0
- package/environment/useRemoveEnvironmentVariables.d.ts +45 -0
- package/environment/useRemoveEnvironmentVariables.d.ts.map +1 -0
- package/environment/useRemoveEnvironmentVariables.js +57 -0
- package/environment/useRemoveEnvironmentVariables.js.map +1 -0
- package/environment/useRevealSecretValue.d.ts +66 -0
- package/environment/useRevealSecretValue.d.ts.map +1 -0
- package/environment/useRevealSecretValue.js +92 -0
- package/environment/useRevealSecretValue.js.map +1 -0
- package/environment/useSessionEnvPool.d.ts +80 -0
- package/environment/useSessionEnvPool.d.ts.map +1 -0
- package/environment/useSessionEnvPool.js +72 -0
- package/environment/useSessionEnvPool.js.map +1 -0
- package/environment/useUpdateEnvironment.d.ts +43 -0
- package/environment/useUpdateEnvironment.d.ts.map +1 -0
- package/environment/useUpdateEnvironment.js +59 -0
- package/environment/useUpdateEnvironment.js.map +1 -0
- package/environment/useUpdateEnvironmentVariables.d.ts +53 -0
- package/environment/useUpdateEnvironmentVariables.d.ts.map +1 -0
- package/environment/useUpdateEnvironmentVariables.js +71 -0
- package/environment/useUpdateEnvironmentVariables.js.map +1 -0
- package/error/ErrorMessage.d.ts +33 -0
- package/error/ErrorMessage.d.ts.map +1 -0
- package/error/ErrorMessage.js +60 -0
- package/error/ErrorMessage.js.map +1 -0
- package/error/SecretFlowErrorGuide.d.ts +41 -0
- package/error/SecretFlowErrorGuide.d.ts.map +1 -0
- package/error/SecretFlowErrorGuide.js +87 -0
- package/error/SecretFlowErrorGuide.js.map +1 -0
- package/error/index.d.ts +5 -0
- package/error/index.d.ts.map +1 -0
- package/error/index.js +3 -0
- package/error/index.js.map +1 -0
- package/execution/ApprovalCard.d.ts +35 -0
- package/execution/ApprovalCard.d.ts.map +1 -0
- package/execution/ApprovalCard.js +192 -0
- package/execution/ApprovalCard.js.map +1 -0
- package/execution/ArtifactCard.d.ts +70 -0
- package/execution/ArtifactCard.d.ts.map +1 -0
- package/execution/ArtifactCard.js +109 -0
- package/execution/ArtifactCard.js.map +1 -0
- package/execution/ArtifactPreviewModal.d.ts +77 -0
- package/execution/ArtifactPreviewModal.d.ts.map +1 -0
- package/execution/ArtifactPreviewModal.js +310 -0
- package/execution/ArtifactPreviewModal.js.map +1 -0
- package/execution/ArtifactsWidget.d.ts +63 -0
- package/execution/ArtifactsWidget.d.ts.map +1 -0
- package/execution/ArtifactsWidget.js +61 -0
- package/execution/ArtifactsWidget.js.map +1 -0
- package/execution/ExecutionCostSummary.d.ts +47 -0
- package/execution/ExecutionCostSummary.d.ts.map +1 -0
- package/execution/ExecutionCostSummary.js +77 -0
- package/execution/ExecutionCostSummary.js.map +1 -0
- package/execution/ExecutionPhaseBadge.d.ts +20 -0
- package/execution/ExecutionPhaseBadge.d.ts.map +1 -0
- package/execution/ExecutionPhaseBadge.js +112 -0
- package/execution/ExecutionPhaseBadge.js.map +1 -0
- package/execution/ExecutionProgress.d.ts +32 -0
- package/execution/ExecutionProgress.d.ts.map +1 -0
- package/execution/ExecutionProgress.js +96 -0
- package/execution/ExecutionProgress.js.map +1 -0
- package/execution/FilePathContext.d.ts +22 -0
- package/execution/FilePathContext.d.ts.map +1 -0
- package/execution/FilePathContext.js +6 -0
- package/execution/FilePathContext.js.map +1 -0
- package/execution/FilePathLink.d.ts +26 -0
- package/execution/FilePathLink.d.ts.map +1 -0
- package/execution/FilePathLink.js +64 -0
- package/execution/FilePathLink.js.map +1 -0
- package/execution/FollowUpInput.d.ts +55 -0
- package/execution/FollowUpInput.d.ts.map +1 -0
- package/execution/FollowUpInput.js +95 -0
- package/execution/FollowUpInput.js.map +1 -0
- package/execution/MessageEntry.d.ts +25 -0
- package/execution/MessageEntry.d.ts.map +1 -0
- package/execution/MessageEntry.js +46 -0
- package/execution/MessageEntry.js.map +1 -0
- package/execution/MessageThread.d.ts +88 -0
- package/execution/MessageThread.d.ts.map +1 -0
- package/execution/MessageThread.js +157 -0
- package/execution/MessageThread.js.map +1 -0
- package/execution/SessionVariablesInput.d.ts +47 -0
- package/execution/SessionVariablesInput.d.ts.map +1 -0
- package/execution/SessionVariablesInput.js +80 -0
- package/execution/SessionVariablesInput.js.map +1 -0
- package/execution/SubAgentSection.d.ts +23 -0
- package/execution/SubAgentSection.d.ts.map +1 -0
- package/execution/SubAgentSection.js +103 -0
- package/execution/SubAgentSection.js.map +1 -0
- package/execution/ToolCallDetail.d.ts +32 -0
- package/execution/ToolCallDetail.d.ts.map +1 -0
- package/execution/ToolCallDetail.js +204 -0
- package/execution/ToolCallDetail.js.map +1 -0
- package/execution/ToolCallGroup.d.ts +45 -0
- package/execution/ToolCallGroup.d.ts.map +1 -0
- package/execution/ToolCallGroup.js +160 -0
- package/execution/ToolCallGroup.js.map +1 -0
- package/execution/ToolCallItem.d.ts +39 -0
- package/execution/ToolCallItem.d.ts.map +1 -0
- package/execution/ToolCallItem.js +164 -0
- package/execution/ToolCallItem.js.map +1 -0
- package/execution/__tests__/ExecutionCostSummary.test.d.ts +2 -0
- package/execution/__tests__/ExecutionCostSummary.test.d.ts.map +1 -0
- package/execution/__tests__/ExecutionCostSummary.test.js +255 -0
- package/execution/__tests__/ExecutionCostSummary.test.js.map +1 -0
- package/execution/__tests__/execution-phases.test.d.ts +2 -0
- package/execution/__tests__/execution-phases.test.d.ts.map +1 -0
- package/execution/__tests__/execution-phases.test.js +25 -0
- package/execution/__tests__/execution-phases.test.js.map +1 -0
- package/execution/__tests__/useExecutionStream.test.d.ts +2 -0
- package/execution/__tests__/useExecutionStream.test.d.ts.map +1 -0
- package/execution/__tests__/useExecutionStream.test.js +190 -0
- package/execution/__tests__/useExecutionStream.test.js.map +1 -0
- package/execution/__tests__/useExecutionUsage.test.d.ts +2 -0
- package/execution/__tests__/useExecutionUsage.test.d.ts.map +1 -0
- package/execution/__tests__/useExecutionUsage.test.js +303 -0
- package/execution/__tests__/useExecutionUsage.test.js.map +1 -0
- package/execution/artifact-utils.d.ts +58 -0
- package/execution/artifact-utils.d.ts.map +1 -0
- package/execution/artifact-utils.js +123 -0
- package/execution/artifact-utils.js.map +1 -0
- package/execution/execution-phases.d.ts +7 -0
- package/execution/execution-phases.d.ts.map +1 -0
- package/execution/execution-phases.js +15 -0
- package/execution/execution-phases.js.map +1 -0
- package/execution/file-path-resolver.d.ts +63 -0
- package/execution/file-path-resolver.d.ts.map +1 -0
- package/execution/file-path-resolver.js +121 -0
- package/execution/file-path-resolver.js.map +1 -0
- package/execution/index.d.ts +55 -0
- package/execution/index.d.ts.map +1 -0
- package/execution/index.js +29 -0
- package/execution/index.js.map +1 -0
- package/execution/tool-categories.d.ts +36 -0
- package/execution/tool-categories.d.ts.map +1 -0
- package/execution/tool-categories.js +110 -0
- package/execution/tool-categories.js.map +1 -0
- package/execution/useArtifactContent.d.ts +75 -0
- package/execution/useArtifactContent.d.ts.map +1 -0
- package/execution/useArtifactContent.js +102 -0
- package/execution/useArtifactContent.js.map +1 -0
- package/execution/useCreateAgentExecution.d.ts +84 -0
- package/execution/useCreateAgentExecution.d.ts.map +1 -0
- package/execution/useCreateAgentExecution.js +79 -0
- package/execution/useCreateAgentExecution.js.map +1 -0
- package/execution/useExecutionArtifacts.d.ts +42 -0
- package/execution/useExecutionArtifacts.d.ts.map +1 -0
- package/execution/useExecutionArtifacts.js +43 -0
- package/execution/useExecutionArtifacts.js.map +1 -0
- package/execution/useExecutionStream.d.ts +62 -0
- package/execution/useExecutionStream.d.ts.map +1 -0
- package/execution/useExecutionStream.js +99 -0
- package/execution/useExecutionStream.js.map +1 -0
- package/execution/useExecutionUsage.d.ts +45 -0
- package/execution/useExecutionUsage.d.ts.map +1 -0
- package/execution/useExecutionUsage.js +157 -0
- package/execution/useExecutionUsage.js.map +1 -0
- package/execution/useSessionVariables.d.ts +102 -0
- package/execution/useSessionVariables.d.ts.map +1 -0
- package/execution/useSessionVariables.js +102 -0
- package/execution/useSessionVariables.js.map +1 -0
- package/execution/useSubmitApproval.d.ts +39 -0
- package/execution/useSubmitApproval.d.ts.map +1 -0
- package/execution/useSubmitApproval.js +62 -0
- package/execution/useSubmitApproval.js.map +1 -0
- package/github/GitHubRepoPicker.d.ts +24 -0
- package/github/GitHubRepoPicker.d.ts.map +1 -0
- package/github/GitHubRepoPicker.js +248 -0
- package/github/GitHubRepoPicker.js.map +1 -0
- package/github/index.d.ts +4 -0
- package/github/index.d.ts.map +1 -0
- package/github/index.js +4 -0
- package/github/index.js.map +1 -0
- package/github/useGitHubConnection.d.ts +72 -0
- package/github/useGitHubConnection.d.ts.map +1 -0
- package/github/useGitHubConnection.js +268 -0
- package/github/useGitHubConnection.js.map +1 -0
- package/github/useGitHubRepos.d.ts +39 -0
- package/github/useGitHubRepos.d.ts.map +1 -0
- package/github/useGitHubRepos.js +135 -0
- package/github/useGitHubRepos.js.map +1 -0
- package/index.d.ts +32 -0
- package/index.d.ts.map +1 -1
- package/index.js +31 -0
- package/index.js.map +1 -1
- package/internal/ScrollFade.d.ts +15 -0
- package/internal/ScrollFade.d.ts.map +1 -0
- package/internal/ScrollFade.js +24 -0
- package/internal/ScrollFade.js.map +1 -0
- package/internal/markdown-components.d.ts +18 -0
- package/internal/markdown-components.d.ts.map +1 -0
- package/internal/markdown-components.js +78 -0
- package/internal/markdown-components.js.map +1 -0
- package/internal/slug.d.ts +32 -0
- package/internal/slug.d.ts.map +1 -0
- package/internal/slug.js +41 -0
- package/internal/slug.js.map +1 -0
- package/internal/toError.d.ts +16 -0
- package/internal/toError.d.ts.map +1 -0
- package/internal/toError.js +22 -0
- package/internal/toError.js.map +1 -0
- package/internal/useScrollShadows.d.ts +22 -0
- package/internal/useScrollShadows.d.ts.map +1 -0
- package/internal/useScrollShadows.js +40 -0
- package/internal/useScrollShadows.js.map +1 -0
- package/library/ResourceCountCard.d.ts +104 -0
- package/library/ResourceCountCard.d.ts.map +1 -0
- package/library/ResourceCountCard.js +80 -0
- package/library/ResourceCountCard.js.map +1 -0
- package/library/ResourceListView.d.ts +123 -0
- package/library/ResourceListView.d.ts.map +1 -0
- package/library/ResourceListView.js +208 -0
- package/library/ResourceListView.js.map +1 -0
- package/library/ScopeToggle.d.ts +38 -0
- package/library/ScopeToggle.d.ts.map +1 -0
- package/library/ScopeToggle.js +61 -0
- package/library/ScopeToggle.js.map +1 -0
- package/library/detect-skill-package.d.ts +79 -0
- package/library/detect-skill-package.d.ts.map +1 -0
- package/library/detect-skill-package.js +113 -0
- package/library/detect-skill-package.js.map +1 -0
- package/library/detect-stigmer-resource.d.ts +66 -0
- package/library/detect-stigmer-resource.d.ts.map +1 -0
- package/library/detect-stigmer-resource.js +77 -0
- package/library/detect-stigmer-resource.js.map +1 -0
- package/library/index.d.ts +20 -0
- package/library/index.d.ts.map +1 -0
- package/library/index.js +11 -0
- package/library/index.js.map +1 -0
- package/library/parse-resource-yaml.d.ts +59 -0
- package/library/parse-resource-yaml.d.ts.map +1 -0
- package/library/parse-resource-yaml.js +397 -0
- package/library/parse-resource-yaml.js.map +1 -0
- package/library/serialize-resource-yaml.d.ts +50 -0
- package/library/serialize-resource-yaml.d.ts.map +1 -0
- package/library/serialize-resource-yaml.js +294 -0
- package/library/serialize-resource-yaml.js.map +1 -0
- package/library/useApplyResource.d.ts +115 -0
- package/library/useApplyResource.d.ts.map +1 -0
- package/library/useApplyResource.js +124 -0
- package/library/useApplyResource.js.map +1 -0
- package/library/useDetectSkillPackage.d.ts +54 -0
- package/library/useDetectSkillPackage.d.ts.map +1 -0
- package/library/useDetectSkillPackage.js +59 -0
- package/library/useDetectSkillPackage.js.map +1 -0
- package/library/useDetectStigmerResource.d.ts +30 -0
- package/library/useDetectStigmerResource.d.ts.map +1 -0
- package/library/useDetectStigmerResource.js +35 -0
- package/library/useDetectStigmerResource.js.map +1 -0
- package/mcp-server/McpServerConfigPanel.d.ts +116 -0
- package/mcp-server/McpServerConfigPanel.d.ts.map +1 -0
- package/mcp-server/McpServerConfigPanel.js +72 -0
- package/mcp-server/McpServerConfigPanel.js.map +1 -0
- package/mcp-server/McpServerDetailView.d.ts +43 -0
- package/mcp-server/McpServerDetailView.d.ts.map +1 -0
- package/mcp-server/McpServerDetailView.js +137 -0
- package/mcp-server/McpServerDetailView.js.map +1 -0
- package/mcp-server/McpServerPicker.d.ts +158 -0
- package/mcp-server/McpServerPicker.d.ts.map +1 -0
- package/mcp-server/McpServerPicker.js +265 -0
- package/mcp-server/McpServerPicker.js.map +1 -0
- package/mcp-server/McpToolSelector.d.ts +44 -0
- package/mcp-server/McpToolSelector.d.ts.map +1 -0
- package/mcp-server/McpToolSelector.js +75 -0
- package/mcp-server/McpToolSelector.js.map +1 -0
- package/mcp-server/index.d.ts +18 -2
- package/mcp-server/index.d.ts.map +1 -1
- package/mcp-server/index.js +9 -2
- package/mcp-server/index.js.map +1 -1
- package/mcp-server/mcpServerSetupReducer.d.ts +138 -0
- package/mcp-server/mcpServerSetupReducer.d.ts.map +1 -0
- package/mcp-server/mcpServerSetupReducer.js +163 -0
- package/mcp-server/mcpServerSetupReducer.js.map +1 -0
- package/mcp-server/useMcpServer.d.ts +48 -0
- package/mcp-server/useMcpServer.d.ts.map +1 -0
- package/mcp-server/useMcpServer.js +82 -0
- package/mcp-server/useMcpServer.js.map +1 -0
- package/mcp-server/useMcpServerCount.d.ts +49 -0
- package/mcp-server/useMcpServerCount.d.ts.map +1 -0
- package/mcp-server/useMcpServerCount.js +32 -0
- package/mcp-server/useMcpServerCount.js.map +1 -0
- package/mcp-server/useMcpServerList.d.ts +62 -0
- package/mcp-server/useMcpServerList.d.ts.map +1 -0
- package/mcp-server/useMcpServerList.js +38 -0
- package/mcp-server/useMcpServerList.js.map +1 -0
- package/mcp-server/useMcpServerSearch.d.ts +18 -0
- package/mcp-server/useMcpServerSearch.d.ts.map +1 -0
- package/mcp-server/useMcpServerSearch.js +23 -0
- package/mcp-server/useMcpServerSearch.js.map +1 -0
- package/mcp-server/useMcpServerSetup.d.ts +162 -0
- package/mcp-server/useMcpServerSetup.d.ts.map +1 -0
- package/mcp-server/useMcpServerSetup.js +269 -0
- package/mcp-server/useMcpServerSetup.js.map +1 -0
- package/models/ModelSelector.d.ts +22 -0
- package/models/ModelSelector.d.ts.map +1 -0
- package/models/ModelSelector.js +59 -0
- package/models/ModelSelector.js.map +1 -0
- package/models/index.d.ts +7 -0
- package/models/index.d.ts.map +1 -0
- package/models/index.js +4 -0
- package/models/index.js.map +1 -0
- package/models/registry.d.ts +22 -0
- package/models/registry.d.ts.map +1 -0
- package/models/registry.js +43 -0
- package/models/registry.js.map +1 -0
- package/models/useModelRegistry.d.ts +18 -0
- package/models/useModelRegistry.d.ts.map +1 -0
- package/models/useModelRegistry.js +40 -0
- package/models/useModelRegistry.js.map +1 -0
- package/organization/CreateOrganizationForm.d.ts +28 -0
- package/organization/CreateOrganizationForm.d.ts.map +1 -0
- package/organization/CreateOrganizationForm.js +91 -0
- package/organization/CreateOrganizationForm.js.map +1 -0
- package/organization/index.d.ts +5 -0
- package/organization/index.d.ts.map +1 -0
- package/organization/index.js +3 -0
- package/organization/index.js.map +1 -0
- package/organization/useCreateOrganization.d.ts +34 -0
- package/organization/useCreateOrganization.d.ts.map +1 -0
- package/organization/useCreateOrganization.js +50 -0
- package/organization/useCreateOrganization.js.map +1 -0
- package/package.json +12 -40
- package/search/index.d.ts +7 -0
- package/search/index.d.ts.map +1 -0
- package/search/index.js +4 -0
- package/search/index.js.map +1 -0
- package/search/useResourceCount.d.ts +42 -0
- package/search/useResourceCount.d.ts.map +1 -0
- package/search/useResourceCount.js +58 -0
- package/search/useResourceCount.js.map +1 -0
- package/search/useResourceList.d.ts +43 -0
- package/search/useResourceList.d.ts.map +1 -0
- package/search/useResourceList.js +73 -0
- package/search/useResourceList.js.map +1 -0
- package/search/useResourceSearch.d.ts +27 -0
- package/search/useResourceSearch.d.ts.map +1 -0
- package/search/useResourceSearch.js +55 -0
- package/search/useResourceSearch.js.map +1 -0
- package/session/__tests__/group-sessions.test.d.ts +2 -0
- package/session/__tests__/group-sessions.test.d.ts.map +1 -0
- package/session/__tests__/group-sessions.test.js +91 -0
- package/session/__tests__/group-sessions.test.js.map +1 -0
- package/session/__tests__/useSessionConversation.test.d.ts +2 -0
- package/session/__tests__/useSessionConversation.test.d.ts.map +1 -0
- package/session/__tests__/useSessionConversation.test.js +209 -0
- package/session/__tests__/useSessionConversation.test.js.map +1 -0
- package/session/group-sessions.d.ts +20 -0
- package/session/group-sessions.d.ts.map +1 -0
- package/session/group-sessions.js +61 -0
- package/session/group-sessions.js.map +1 -0
- package/session/index.d.ts +16 -6
- package/session/index.d.ts.map +1 -1
- package/session/index.js +8 -5
- package/session/index.js.map +1 -1
- package/session/useAgentRefFromSession.d.ts +28 -0
- package/session/useAgentRefFromSession.d.ts.map +1 -0
- package/session/useAgentRefFromSession.js +73 -0
- package/session/useAgentRefFromSession.js.map +1 -0
- package/session/useCreateSession.d.ts +73 -0
- package/session/useCreateSession.d.ts.map +1 -0
- package/session/useCreateSession.js +86 -0
- package/session/useCreateSession.js.map +1 -0
- package/session/useSession.d.ts +17 -0
- package/session/useSession.d.ts.map +1 -0
- package/session/useSession.js +46 -0
- package/session/useSession.js.map +1 -0
- package/session/useSessionConversation.d.ts +151 -0
- package/session/useSessionConversation.d.ts.map +1 -0
- package/session/useSessionConversation.js +282 -0
- package/session/useSessionConversation.js.map +1 -0
- package/session/useSessionExecutions.d.ts +20 -0
- package/session/useSessionExecutions.d.ts.map +1 -0
- package/session/useSessionExecutions.js +57 -0
- package/session/useSessionExecutions.js.map +1 -0
- package/session/useSessionList.d.ts +25 -0
- package/session/useSessionList.d.ts.map +1 -0
- package/session/useSessionList.js +57 -0
- package/session/useSessionList.js.map +1 -0
- package/session/useUpdateSession.d.ts +22 -0
- package/session/useUpdateSession.d.ts.map +1 -0
- package/session/useUpdateSession.js +38 -0
- package/session/useUpdateSession.js.map +1 -0
- package/skill/SkillDetailView.d.ts +51 -0
- package/skill/SkillDetailView.d.ts.map +1 -0
- package/skill/SkillDetailView.js +156 -0
- package/skill/SkillDetailView.js.map +1 -0
- package/skill/SkillPicker.d.ts +26 -0
- package/skill/SkillPicker.d.ts.map +1 -0
- package/skill/SkillPicker.js +102 -0
- package/skill/SkillPicker.js.map +1 -0
- package/skill/index.d.ts +12 -2
- package/skill/index.d.ts.map +1 -1
- package/skill/index.js +6 -2
- package/skill/index.js.map +1 -1
- package/skill/useSkill.d.ts +49 -0
- package/skill/useSkill.d.ts.map +1 -0
- package/skill/useSkill.js +83 -0
- package/skill/useSkill.js.map +1 -0
- package/skill/useSkillCount.d.ts +49 -0
- package/skill/useSkillCount.d.ts.map +1 -0
- package/skill/useSkillCount.js +32 -0
- package/skill/useSkillCount.js.map +1 -0
- package/skill/useSkillList.d.ts +62 -0
- package/skill/useSkillList.d.ts.map +1 -0
- package/skill/useSkillList.js +38 -0
- package/skill/useSkillList.js.map +1 -0
- package/skill/useSkillSearch.d.ts +18 -0
- package/skill/useSkillSearch.d.ts.map +1 -0
- package/skill/useSkillSearch.js +23 -0
- package/skill/useSkillSearch.js.map +1 -0
- package/src/__tests__/hooks.test.tsx +28 -0
- package/src/agent/AgentDetailView.tsx +712 -0
- package/src/agent/AgentEnvForm.tsx +113 -0
- package/src/agent/AgentPicker.tsx +342 -0
- package/src/agent/agentSetupReducer.ts +222 -0
- package/src/agent/index.ts +43 -11
- package/src/agent/useAgent.ts +103 -0
- package/src/agent/useAgentCount.ts +68 -0
- package/src/agent/useAgentList.ts +84 -0
- package/src/agent/useAgentSearch.ts +43 -0
- package/src/agent/useAgentSetup.ts +384 -0
- package/src/agent/useDefaultAgent.ts +77 -0
- package/src/agent-instance/buildPersonalInstanceInput.ts +40 -0
- package/src/agent-instance/index.ts +11 -0
- package/src/agent-instance/useAgentInstance.ts +87 -0
- package/src/agent-instance/useAgentInstanceList.ts +99 -0
- package/src/agent-instance/useCreateAgentInstance.ts +75 -0
- package/src/agent-instance/usePersonalAgentInstance.ts +185 -0
- package/src/attachment/AttachmentChipList.tsx +189 -0
- package/src/attachment/attachment-utils.ts +114 -0
- package/src/attachment/index.ts +17 -0
- package/src/attachment/useAttachments.ts +293 -0
- package/src/composer/ComposerToolbar.tsx +169 -0
- package/src/composer/ConfigureMenu.tsx +237 -0
- package/src/composer/ContextChip.tsx +104 -0
- package/src/composer/ContextPopover.tsx +54 -0
- package/src/composer/SessionComposer.tsx +1175 -0
- package/src/composer/icons.tsx +253 -0
- package/src/composer/index.ts +8 -0
- package/src/composer/useComposer.ts +163 -0
- package/src/environment/CreateEnvironmentForm.tsx +188 -0
- package/src/environment/EnvVarForm.tsx +475 -0
- package/src/environment/EnvironmentListPanel.tsx +258 -0
- package/src/environment/EnvironmentVariableEditor.tsx +811 -0
- package/src/environment/diffEnvSpec.ts +50 -0
- package/src/environment/index.ts +43 -0
- package/src/environment/useCreateEnvironment.ts +74 -0
- package/src/environment/useEnvironment.ts +89 -0
- package/src/environment/useEnvironmentList.ts +112 -0
- package/src/environment/usePersonalEnvironment.ts +285 -0
- package/src/environment/useRemoveEnvironmentVariables.ts +86 -0
- package/src/environment/useRevealSecretValue.ts +141 -0
- package/src/environment/useSessionEnvPool.ts +151 -0
- package/src/environment/useUpdateEnvironment.ts +74 -0
- package/src/environment/useUpdateEnvironmentVariables.ts +106 -0
- package/src/error/ErrorMessage.tsx +225 -0
- package/src/error/SecretFlowErrorGuide.tsx +189 -0
- package/src/error/index.ts +5 -0
- package/src/execution/ApprovalCard.tsx +499 -0
- package/src/execution/ArtifactCard.tsx +275 -0
- package/src/execution/ArtifactPreviewModal.tsx +942 -0
- package/src/execution/ArtifactsWidget.tsx +128 -0
- package/src/execution/ExecutionCostSummary.tsx +172 -0
- package/src/execution/ExecutionPhaseBadge.tsx +223 -0
- package/src/execution/ExecutionProgress.tsx +191 -0
- package/src/execution/FilePathContext.tsx +32 -0
- package/src/execution/FilePathLink.tsx +147 -0
- package/src/execution/FollowUpInput.tsx +220 -0
- package/src/execution/MessageEntry.tsx +120 -0
- package/src/execution/MessageThread.tsx +343 -0
- package/src/execution/SessionVariablesInput.tsx +374 -0
- package/src/execution/SubAgentSection.tsx +243 -0
- package/src/execution/ToolCallDetail.tsx +452 -0
- package/src/execution/ToolCallGroup.tsx +342 -0
- package/src/execution/ToolCallItem.tsx +426 -0
- package/src/execution/__tests__/ExecutionCostSummary.test.tsx +416 -0
- package/src/execution/__tests__/execution-phases.test.ts +31 -0
- package/src/execution/__tests__/useExecutionStream.test.tsx +242 -0
- package/src/execution/__tests__/useExecutionUsage.test.tsx +408 -0
- package/src/execution/artifact-utils.ts +136 -0
- package/src/execution/execution-phases.ts +16 -0
- package/src/execution/file-path-resolver.ts +171 -0
- package/src/execution/index.ts +97 -0
- package/src/execution/tool-categories.ts +171 -0
- package/src/execution/useArtifactContent.ts +156 -0
- package/src/execution/useCreateAgentExecution.ts +137 -0
- package/src/execution/useExecutionArtifacts.ts +58 -0
- package/src/execution/useExecutionStream.ts +149 -0
- package/src/execution/useExecutionUsage.ts +213 -0
- package/src/execution/useSessionVariables.ts +189 -0
- package/src/execution/useSubmitApproval.ts +98 -0
- package/src/github/GitHubRepoPicker.tsx +568 -0
- package/src/github/index.ts +19 -0
- package/src/github/useGitHubConnection.ts +368 -0
- package/src/github/useGitHubRepos.ts +197 -0
- package/src/index.ts +367 -0
- package/src/internal/ScrollFade.tsx +29 -0
- package/src/internal/markdown-components.tsx +197 -0
- package/src/internal/slug.ts +41 -0
- package/src/internal/toError.ts +19 -0
- package/src/internal/useScrollShadows.ts +54 -0
- package/src/library/ResourceCountCard.tsx +187 -0
- package/src/library/ResourceListView.tsx +698 -0
- package/src/library/ScopeToggle.tsx +121 -0
- package/src/library/detect-skill-package.ts +162 -0
- package/src/library/detect-stigmer-resource.ts +130 -0
- package/src/library/index.ts +42 -0
- package/src/library/parse-resource-yaml.ts +611 -0
- package/src/library/serialize-resource-yaml.ts +407 -0
- package/src/library/useApplyResource.ts +211 -0
- package/src/library/useDetectSkillPackage.ts +91 -0
- package/src/library/useDetectStigmerResource.ts +45 -0
- package/src/mcp-server/McpServerConfigPanel.tsx +265 -0
- package/src/mcp-server/McpServerDetailView.tsx +580 -0
- package/src/mcp-server/McpServerPicker.tsx +857 -0
- package/src/mcp-server/McpToolSelector.tsx +243 -0
- package/src/mcp-server/index.ts +44 -3
- package/src/mcp-server/mcpServerSetupReducer.ts +308 -0
- package/src/mcp-server/useMcpServer.ts +103 -0
- package/src/mcp-server/useMcpServerCount.ts +68 -0
- package/src/mcp-server/useMcpServerList.ts +84 -0
- package/src/mcp-server/useMcpServerSearch.ts +38 -0
- package/src/mcp-server/useMcpServerSetup.ts +487 -0
- package/src/models/ModelSelector.tsx +132 -0
- package/src/models/index.ts +6 -0
- package/src/models/registry.ts +60 -0
- package/src/models/useModelRegistry.ts +58 -0
- package/src/organization/CreateOrganizationForm.tsx +269 -0
- package/src/organization/index.ts +4 -0
- package/src/organization/useCreateOrganization.ts +65 -0
- package/src/search/index.ts +18 -0
- package/src/search/useResourceCount.ts +102 -0
- package/src/search/useResourceList.ts +123 -0
- package/src/search/useResourceSearch.ts +90 -0
- package/src/session/__tests__/group-sessions.test.ts +113 -0
- package/src/session/__tests__/useSessionConversation.test.tsx +305 -0
- package/src/session/group-sessions.ts +80 -0
- package/src/session/index.ts +30 -10
- package/src/session/useAgentRefFromSession.ts +94 -0
- package/src/session/useCreateSession.ts +141 -0
- package/src/session/useSession.ts +60 -0
- package/src/session/useSessionConversation.ts +515 -0
- package/src/session/useSessionExecutions.ts +77 -0
- package/src/session/useSessionList.ts +90 -0
- package/src/session/useUpdateSession.ts +54 -0
- package/src/skill/SkillDetailView.tsx +477 -0
- package/src/skill/SkillPicker.tsx +331 -0
- package/src/skill/index.ts +23 -3
- package/src/skill/useSkill.ts +105 -0
- package/src/skill/useSkillCount.ts +68 -0
- package/src/skill/useSkillList.ts +84 -0
- package/src/skill/useSkillSearch.ts +38 -0
- package/src/styles.css +2 -0
- package/src/workspace/FolderBrowser.tsx +568 -0
- package/src/workspace/WorkspaceEditor.tsx +480 -0
- package/src/workspace/WorkspaceSummary.tsx +109 -0
- package/src/workspace/index.ts +17 -0
- package/src/workspace/useFolderListing.ts +126 -0
- package/src/workspace/useWorkspaceEntries.ts +98 -0
- package/styles.css +1 -1
- package/workspace/FolderBrowser.d.ts +26 -0
- package/workspace/FolderBrowser.d.ts.map +1 -0
- package/workspace/FolderBrowser.js +179 -0
- package/workspace/FolderBrowser.js.map +1 -0
- package/workspace/WorkspaceEditor.d.ts +30 -0
- package/workspace/WorkspaceEditor.d.ts.map +1 -0
- package/workspace/WorkspaceEditor.js +116 -0
- package/workspace/WorkspaceEditor.js.map +1 -0
- package/workspace/WorkspaceSummary.d.ts +30 -0
- package/workspace/WorkspaceSummary.d.ts.map +1 -0
- package/workspace/WorkspaceSummary.js +53 -0
- package/workspace/WorkspaceSummary.js.map +1 -0
- package/workspace/index.d.ts +11 -0
- package/workspace/index.d.ts.map +1 -0
- package/workspace/index.js +6 -0
- package/workspace/index.js.map +1 -0
- package/workspace/useFolderListing.d.ts +35 -0
- package/workspace/useFolderListing.d.ts.map +1 -0
- package/workspace/useFolderListing.js +86 -0
- package/workspace/useFolderListing.js.map +1 -0
- package/workspace/useWorkspaceEntries.d.ts +28 -0
- package/workspace/useWorkspaceEntries.d.ts.map +1 -0
- package/workspace/useWorkspaceEntries.js +66 -0
- package/workspace/useWorkspaceEntries.js.map +1 -0
- package/agent/components/AgentCard.d.ts +0 -9
- package/agent/components/AgentCard.d.ts.map +0 -1
- package/agent/components/AgentCard.js +0 -26
- package/agent/components/AgentCard.js.map +0 -1
- package/agent/components/AgentOverview.d.ts +0 -7
- package/agent/components/AgentOverview.d.ts.map +0 -1
- package/agent/components/AgentOverview.js +0 -36
- package/agent/components/AgentOverview.js.map +0 -1
- package/agent/components/AgentPicker.d.ts +0 -17
- package/agent/components/AgentPicker.d.ts.map +0 -1
- package/agent/components/AgentPicker.js +0 -86
- package/agent/components/AgentPicker.js.map +0 -1
- package/agent/hooks/useAgentSearch.d.ts +0 -28
- package/agent/hooks/useAgentSearch.d.ts.map +0 -1
- package/agent/hooks/useAgentSearch.js +0 -63
- package/agent/hooks/useAgentSearch.js.map +0 -1
- package/agent-execution/components/ApprovalControls.d.ts +0 -10
- package/agent-execution/components/ApprovalControls.d.ts.map +0 -1
- package/agent-execution/components/ApprovalControls.js +0 -19
- package/agent-execution/components/ApprovalControls.js.map +0 -1
- package/agent-execution/components/ExecutionStatus.d.ts +0 -8
- package/agent-execution/components/ExecutionStatus.d.ts.map +0 -1
- package/agent-execution/components/ExecutionStatus.js +0 -14
- package/agent-execution/components/ExecutionStatus.js.map +0 -1
- package/agent-execution/components/ExecutionStream.d.ts +0 -16
- package/agent-execution/components/ExecutionStream.d.ts.map +0 -1
- package/agent-execution/components/ExecutionStream.js +0 -39
- package/agent-execution/components/ExecutionStream.js.map +0 -1
- package/agent-execution/components/MessageEntry.d.ts +0 -17
- package/agent-execution/components/MessageEntry.d.ts.map +0 -1
- package/agent-execution/components/MessageEntry.js +0 -36
- package/agent-execution/components/MessageEntry.js.map +0 -1
- package/agent-execution/components/MessageInput.d.ts +0 -10
- package/agent-execution/components/MessageInput.d.ts.map +0 -1
- package/agent-execution/components/MessageInput.js +0 -27
- package/agent-execution/components/MessageInput.js.map +0 -1
- package/agent-execution/components/OutputBlock.d.ts +0 -9
- package/agent-execution/components/OutputBlock.d.ts.map +0 -1
- package/agent-execution/components/OutputBlock.js +0 -15
- package/agent-execution/components/OutputBlock.js.map +0 -1
- package/agent-execution/components/SubAgentCard.d.ts +0 -11
- package/agent-execution/components/SubAgentCard.d.ts.map +0 -1
- package/agent-execution/components/SubAgentCard.js +0 -19
- package/agent-execution/components/SubAgentCard.js.map +0 -1
- package/agent-execution/components/ToolCallCard.d.ts +0 -11
- package/agent-execution/components/ToolCallCard.d.ts.map +0 -1
- package/agent-execution/components/ToolCallCard.js +0 -25
- package/agent-execution/components/ToolCallCard.js.map +0 -1
- package/agent-execution/helpers.d.ts +0 -35
- package/agent-execution/helpers.d.ts.map +0 -1
- package/agent-execution/helpers.js +0 -157
- package/agent-execution/helpers.js.map +0 -1
- package/agent-execution/hooks/useAgentExecution.d.ts +0 -21
- package/agent-execution/hooks/useAgentExecution.d.ts.map +0 -1
- package/agent-execution/hooks/useAgentExecution.js +0 -99
- package/agent-execution/hooks/useAgentExecution.js.map +0 -1
- package/agent-execution/hooks/useApproval.d.ts +0 -12
- package/agent-execution/hooks/useApproval.d.ts.map +0 -1
- package/agent-execution/hooks/useApproval.js +0 -32
- package/agent-execution/hooks/useApproval.js.map +0 -1
- package/agent-execution/index.d.ts +0 -14
- package/agent-execution/index.d.ts.map +0 -1
- package/agent-execution/index.js +0 -15
- package/agent-execution/index.js.map +0 -1
- package/catalog/components/ResourceSearchCard.d.ts +0 -23
- package/catalog/components/ResourceSearchCard.d.ts.map +0 -1
- package/catalog/components/ResourceSearchCard.js +0 -36
- package/catalog/components/ResourceSearchCard.js.map +0 -1
- package/catalog/index.d.ts +0 -4
- package/catalog/index.d.ts.map +0 -1
- package/catalog/index.js +0 -5
- package/catalog/index.js.map +0 -1
- package/catalog/internal/time.d.ts +0 -13
- package/catalog/internal/time.d.ts.map +0 -1
- package/catalog/internal/time.js +0 -41
- package/catalog/internal/time.js.map +0 -1
- package/internal/badge.d.ts +0 -8
- package/internal/badge.d.ts.map +0 -1
- package/internal/badge.js +0 -34
- package/internal/badge.js.map +0 -1
- package/internal/button.d.ts +0 -9
- package/internal/button.d.ts.map +0 -1
- package/internal/button.js +0 -36
- package/internal/button.js.map +0 -1
- package/internal/collapsible.d.ts +0 -6
- package/internal/collapsible.d.ts.map +0 -1
- package/internal/collapsible.js +0 -14
- package/internal/collapsible.js.map +0 -1
- package/internal/section.d.ts +0 -8
- package/internal/section.d.ts.map +0 -1
- package/internal/section.js +0 -6
- package/internal/section.js.map +0 -1
- package/internal/textarea.d.ts +0 -4
- package/internal/textarea.d.ts.map +0 -1
- package/internal/textarea.js +0 -9
- package/internal/textarea.js.map +0 -1
- package/mcp-server/hooks/useMcpServerSearch.d.ts +0 -25
- package/mcp-server/hooks/useMcpServerSearch.d.ts.map +0 -1
- package/mcp-server/hooks/useMcpServerSearch.js +0 -57
- package/mcp-server/hooks/useMcpServerSearch.js.map +0 -1
- package/session/components/AgentSessionHistory.d.ts +0 -8
- package/session/components/AgentSessionHistory.d.ts.map +0 -1
- package/session/components/AgentSessionHistory.js +0 -11
- package/session/components/AgentSessionHistory.js.map +0 -1
- package/session/components/SessionCard.d.ts +0 -8
- package/session/components/SessionCard.d.ts.map +0 -1
- package/session/components/SessionCard.js +0 -57
- package/session/components/SessionCard.js.map +0 -1
- package/session/hooks/useAgentSessionList.d.ts +0 -21
- package/session/hooks/useAgentSessionList.d.ts.map +0 -1
- package/session/hooks/useAgentSessionList.js +0 -90
- package/session/hooks/useAgentSessionList.js.map +0 -1
- package/skill/hooks/useSkillSearch.d.ts +0 -25
- package/skill/hooks/useSkillSearch.d.ts.map +0 -1
- package/skill/hooks/useSkillSearch.js +0 -57
- package/skill/hooks/useSkillSearch.js.map +0 -1
- package/src/agent/components/AgentCard.tsx +0 -125
- package/src/agent/components/AgentOverview.tsx +0 -209
- package/src/agent/components/AgentPicker.tsx +0 -255
- package/src/agent/hooks/useAgentSearch.ts +0 -94
- package/src/agent-execution/components/ApprovalControls.tsx +0 -99
- package/src/agent-execution/components/ExecutionStatus.tsx +0 -33
- package/src/agent-execution/components/ExecutionStream.tsx +0 -148
- package/src/agent-execution/components/MessageEntry.tsx +0 -125
- package/src/agent-execution/components/MessageInput.tsx +0 -70
- package/src/agent-execution/components/OutputBlock.tsx +0 -43
- package/src/agent-execution/components/SubAgentCard.tsx +0 -138
- package/src/agent-execution/components/ToolCallCard.tsx +0 -153
- package/src/agent-execution/helpers.ts +0 -193
- package/src/agent-execution/hooks/useAgentExecution.ts +0 -147
- package/src/agent-execution/hooks/useApproval.ts +0 -56
- package/src/agent-execution/index.ts +0 -46
- package/src/catalog/components/ResourceSearchCard.tsx +0 -137
- package/src/catalog/index.ts +0 -6
- package/src/catalog/internal/time.ts +0 -40
- package/src/internal/badge.tsx +0 -52
- package/src/internal/button.tsx +0 -60
- package/src/internal/collapsible.tsx +0 -21
- package/src/internal/section.tsx +0 -18
- package/src/internal/textarea.tsx +0 -23
- package/src/mcp-server/hooks/useMcpServerSearch.ts +0 -79
- package/src/session/components/AgentSessionHistory.tsx +0 -109
- package/src/session/components/SessionCard.tsx +0 -113
- package/src/session/hooks/useAgentSessionList.ts +0 -117
- package/src/skill/hooks/useSkillSearch.ts +0 -79
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useReducer } from "react";
|
|
4
|
+
import { create } from "@bufbuild/protobuf";
|
|
5
|
+
import type { EnvVarInput, ResourceRef } from "@stigmer/sdk";
|
|
6
|
+
import { ListAgentInstancesRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/io_pb";
|
|
7
|
+
import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
|
|
8
|
+
import { useStigmer } from "../hooks";
|
|
9
|
+
import { toError } from "../internal/toError";
|
|
10
|
+
import { usePersonalEnvironment } from "../environment/usePersonalEnvironment";
|
|
11
|
+
import { buildPersonalInstanceInput } from "../agent-instance/buildPersonalInstanceInput";
|
|
12
|
+
import { diffEnvSpec } from "../environment/diffEnvSpec";
|
|
13
|
+
import {
|
|
14
|
+
agentSetupReducer,
|
|
15
|
+
INITIAL_STATE,
|
|
16
|
+
type AgentResolution,
|
|
17
|
+
type AgentSetupResult,
|
|
18
|
+
type AgentSetupReadyResult,
|
|
19
|
+
type AgentSetupState,
|
|
20
|
+
} from "./agentSetupReducer";
|
|
21
|
+
|
|
22
|
+
const PERSONAL_LABEL = "stigmer.ai/personal";
|
|
23
|
+
const FOR_AGENT_LABEL = "stigmer.ai/for-agent";
|
|
24
|
+
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Public types (re-exported from agentSetupReducer for convenience)
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
|
|
29
|
+
export type {
|
|
30
|
+
AgentResolution,
|
|
31
|
+
AgentSetupResult,
|
|
32
|
+
AgentSetupReadyResult,
|
|
33
|
+
AgentSetupState,
|
|
34
|
+
AgentSetupPhase,
|
|
35
|
+
} from "./agentSetupReducer";
|
|
36
|
+
|
|
37
|
+
export interface SubmitEnvVarsOptions {
|
|
38
|
+
/**
|
|
39
|
+
* When `true` (default), the provided values are saved to the user's
|
|
40
|
+
* personal environment and a personal agent instance is created.
|
|
41
|
+
* Subsequent runs of the same agent will reuse these credentials.
|
|
42
|
+
*
|
|
43
|
+
* When `false`, the values are collected as `runtimeEnv` for this
|
|
44
|
+
* execution only — no data is persisted and no agent instance is
|
|
45
|
+
* created. This path is instant (no network calls).
|
|
46
|
+
*
|
|
47
|
+
* @default true
|
|
48
|
+
*/
|
|
49
|
+
readonly saveForFuture?: boolean;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface UseAgentSetupReturn {
|
|
53
|
+
/**
|
|
54
|
+
* Current state of the agent setup flow.
|
|
55
|
+
*
|
|
56
|
+
* A discriminated union on `status`:
|
|
57
|
+
* - `"idle"` — no agent selected
|
|
58
|
+
* - `"resolving"` — evaluating an agent's requirements
|
|
59
|
+
* - `"needsEnvVars"` — waiting for user to provide missing variables
|
|
60
|
+
* - `"submitting"` — saving environment / creating instance
|
|
61
|
+
* - `"ready"` — agent resolved, `resolution` describes how to proceed
|
|
62
|
+
*
|
|
63
|
+
* `error` is available on all variants (orthogonal to phase).
|
|
64
|
+
*/
|
|
65
|
+
readonly state: AgentSetupState;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Evaluate whether an agent is ready to use or needs env var collection.
|
|
69
|
+
*
|
|
70
|
+
* Fetches the full agent to read its `env_spec`, checks for an existing
|
|
71
|
+
* personal instance, and diffs env_spec keys against the personal
|
|
72
|
+
* environment. Returns `"ready"` when the agent can be used immediately,
|
|
73
|
+
* or `"needsEnvVars"` when the caller should present {@link AgentEnvForm}.
|
|
74
|
+
*/
|
|
75
|
+
readonly resolveAgent: (ref: ResourceRef) => Promise<AgentSetupResult>;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Complete the env var collection flow for the pending agent.
|
|
79
|
+
*
|
|
80
|
+
* Behavior depends on `options.saveForFuture`:
|
|
81
|
+
* - `true` (default) — Creates or updates the personal environment
|
|
82
|
+
* with the provided values, then creates a personal agent instance.
|
|
83
|
+
* Returns `{ resolution: { mode: "saved", instanceId } }`.
|
|
84
|
+
* - `false` — Collects values as `runtimeEnv` without any API calls.
|
|
85
|
+
* Returns `{ resolution: { mode: "oneTime", runtimeEnv } }`.
|
|
86
|
+
*
|
|
87
|
+
* Must only be called when `state.status === "needsEnvVars"`.
|
|
88
|
+
*/
|
|
89
|
+
readonly submitEnvVars: (
|
|
90
|
+
values: Record<string, EnvVarInput>,
|
|
91
|
+
options?: SubmitEnvVarsOptions,
|
|
92
|
+
) => Promise<AgentSetupReadyResult>;
|
|
93
|
+
|
|
94
|
+
/** Clear the error without changing the current phase. */
|
|
95
|
+
readonly clearError: () => void;
|
|
96
|
+
|
|
97
|
+
/** Reset to `idle` state, clearing all phase data and errors. */
|
|
98
|
+
readonly reset: () => void;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Layer 2 behavior hook that encapsulates the agent selection,
|
|
103
|
+
* personal environment resolution, and secret delivery routing flow.
|
|
104
|
+
*
|
|
105
|
+
* When a user picks an agent in the {@link AgentPicker}, this hook
|
|
106
|
+
* determines whether the agent requires credentials (via its
|
|
107
|
+
* `env_spec`), checks what the user has already provided in their
|
|
108
|
+
* personal environment, and either reports the agent as ready or
|
|
109
|
+
* identifies the missing variables so the caller can render
|
|
110
|
+
* {@link AgentEnvForm}.
|
|
111
|
+
*
|
|
112
|
+
* The hook supports two secret delivery paths via the `saveForFuture`
|
|
113
|
+
* option on {@link submitEnvVars}:
|
|
114
|
+
* - **Saved** — secrets are persisted to the personal environment and
|
|
115
|
+
* a personal agent instance is created for reuse.
|
|
116
|
+
* - **One-time** — secrets are returned as `runtimeEnv` for a single
|
|
117
|
+
* execution, with no data persisted.
|
|
118
|
+
*
|
|
119
|
+
* State is managed by a `useReducer` state machine with five phases:
|
|
120
|
+
* `idle → resolving → needsEnvVars → submitting → ready`.
|
|
121
|
+
*
|
|
122
|
+
* Composes {@link usePersonalEnvironment} for personal environment
|
|
123
|
+
* operations and calls the Stigmer client directly for agent and
|
|
124
|
+
* agent instance queries.
|
|
125
|
+
*
|
|
126
|
+
* > **Why not compose `usePersonalAgentInstance`?**
|
|
127
|
+
* > `resolveAgent` is an imperative async callback that needs
|
|
128
|
+
* > immediate results within a single invocation. Hook state
|
|
129
|
+
* > updates require a render cycle. Instance creation is delegated
|
|
130
|
+
* > through the shared `buildPersonalInstanceInput` helper instead.
|
|
131
|
+
*
|
|
132
|
+
* Pass `null` as `org` to disable all operations (stable no-op).
|
|
133
|
+
*
|
|
134
|
+
* @param org - Organization slug. Pass `null` to disable.
|
|
135
|
+
* @param poolKeys - Optional set of env-var keys already available
|
|
136
|
+
* from the session env pool (manual secrets, one-time env vars from
|
|
137
|
+
* other components). When provided, agents whose `env_spec` keys
|
|
138
|
+
* are fully covered by `poolKeys` + personal env auto-resolve to
|
|
139
|
+
* `ready` without prompting. Reactive — when `poolKeys` changes,
|
|
140
|
+
* `needsEnvVars` is re-evaluated.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```tsx
|
|
144
|
+
* const { state, resolveAgent, submitEnvVars } = useAgentSetup("acme", pool.availableKeys);
|
|
145
|
+
*
|
|
146
|
+
* const result = await resolveAgent({ org: "acme", slug: "code-reviewer" });
|
|
147
|
+
*
|
|
148
|
+
* if (result.status === "needsEnvVars") {
|
|
149
|
+
* // Render AgentEnvForm with result.missingVariables
|
|
150
|
+
* // On form submit:
|
|
151
|
+
* const ready = await submitEnvVars(formValues, { saveForFuture: true });
|
|
152
|
+
* // ready.resolution.mode === "saved" | "oneTime"
|
|
153
|
+
* }
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
export function useAgentSetup(
|
|
157
|
+
org: string | null,
|
|
158
|
+
poolKeys?: Set<string>,
|
|
159
|
+
): UseAgentSetupReturn {
|
|
160
|
+
const stigmer = useStigmer();
|
|
161
|
+
const personalEnv = usePersonalEnvironment(org);
|
|
162
|
+
|
|
163
|
+
const [state, dispatch] = useReducer(agentSetupReducer, INITIAL_STATE);
|
|
164
|
+
|
|
165
|
+
const clearError = useCallback(() => dispatch({ type: "CLEAR_ERROR" }), []);
|
|
166
|
+
const reset = useCallback(() => dispatch({ type: "RESET" }), []);
|
|
167
|
+
|
|
168
|
+
// -------------------------------------------------------------------------
|
|
169
|
+
// resolveAgent
|
|
170
|
+
// -------------------------------------------------------------------------
|
|
171
|
+
|
|
172
|
+
const resolveAgent = useCallback(
|
|
173
|
+
async (ref: ResourceRef): Promise<AgentSetupResult> => {
|
|
174
|
+
if (!org) {
|
|
175
|
+
throw new Error(
|
|
176
|
+
"useAgentSetup: cannot resolve agent when org is null.",
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
dispatch({ type: "RESOLVE_START", agentRef: ref });
|
|
181
|
+
|
|
182
|
+
try {
|
|
183
|
+
const agent = await stigmer.agent.getByReference(ref);
|
|
184
|
+
const agentName = agent.metadata?.name ?? ref.slug;
|
|
185
|
+
const envSpecData = agent.spec?.envSpec?.data;
|
|
186
|
+
|
|
187
|
+
// No env_spec — agent is immediately ready (direct mode).
|
|
188
|
+
if (!envSpecData || Object.keys(envSpecData).length === 0) {
|
|
189
|
+
const resolution: AgentResolution = { mode: "direct" };
|
|
190
|
+
dispatch({
|
|
191
|
+
type: "RESOLVE_READY",
|
|
192
|
+
agentRef: ref,
|
|
193
|
+
agentName,
|
|
194
|
+
resolution,
|
|
195
|
+
});
|
|
196
|
+
return { status: "ready", agentRef: ref, agentName, resolution };
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Agent has env_spec — check for existing personal instance.
|
|
200
|
+
const agentLabel = `${ref.org}/${ref.slug}`;
|
|
201
|
+
const instanceList = await stigmer.agentInstance.list(
|
|
202
|
+
create(ListAgentInstancesRequestSchema, {
|
|
203
|
+
org,
|
|
204
|
+
labels: {
|
|
205
|
+
[PERSONAL_LABEL]: "true",
|
|
206
|
+
[FOR_AGENT_LABEL]: agentLabel,
|
|
207
|
+
},
|
|
208
|
+
}),
|
|
209
|
+
);
|
|
210
|
+
|
|
211
|
+
if (instanceList.items.length > 0) {
|
|
212
|
+
const resolution: AgentResolution = {
|
|
213
|
+
mode: "saved",
|
|
214
|
+
instanceId: instanceList.items[0].metadata!.id,
|
|
215
|
+
};
|
|
216
|
+
dispatch({
|
|
217
|
+
type: "RESOLVE_READY",
|
|
218
|
+
agentRef: ref,
|
|
219
|
+
agentName,
|
|
220
|
+
resolution,
|
|
221
|
+
});
|
|
222
|
+
return { status: "ready", agentRef: ref, agentName, resolution };
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// No personal instance — diff against existing env keys + pool.
|
|
226
|
+
const existingKeys = new Set(
|
|
227
|
+
Object.keys(personalEnv.environment?.spec?.data ?? {}),
|
|
228
|
+
);
|
|
229
|
+
const missingVariables = diffEnvSpec(envSpecData, existingKeys, poolKeys);
|
|
230
|
+
|
|
231
|
+
if (missingVariables.length === 0) {
|
|
232
|
+
// All variables present — create personal instance.
|
|
233
|
+
const env = await personalEnv.getOrCreate();
|
|
234
|
+
const envRef: ResourceRef = {
|
|
235
|
+
org,
|
|
236
|
+
slug: env.metadata!.slug,
|
|
237
|
+
kind: ApiResourceKind.environment,
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
const instance = await stigmer.agentInstance.create(
|
|
241
|
+
buildPersonalInstanceInput({
|
|
242
|
+
org,
|
|
243
|
+
agentId: agent.metadata!.id,
|
|
244
|
+
agentSlug: ref.slug,
|
|
245
|
+
environmentRef: envRef,
|
|
246
|
+
}),
|
|
247
|
+
);
|
|
248
|
+
|
|
249
|
+
const resolution: AgentResolution = {
|
|
250
|
+
mode: "saved",
|
|
251
|
+
instanceId: instance.metadata!.id,
|
|
252
|
+
};
|
|
253
|
+
dispatch({
|
|
254
|
+
type: "RESOLVE_READY",
|
|
255
|
+
agentRef: ref,
|
|
256
|
+
agentName,
|
|
257
|
+
resolution,
|
|
258
|
+
});
|
|
259
|
+
return { status: "ready", agentRef: ref, agentName, resolution };
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
// Missing variables — transition to needsEnvVars.
|
|
263
|
+
dispatch({
|
|
264
|
+
type: "RESOLVE_NEEDS_ENV",
|
|
265
|
+
agentRef: ref,
|
|
266
|
+
agentId: agent.metadata!.id,
|
|
267
|
+
agentName,
|
|
268
|
+
missingVariables,
|
|
269
|
+
});
|
|
270
|
+
return {
|
|
271
|
+
status: "needsEnvVars",
|
|
272
|
+
agentRef: ref,
|
|
273
|
+
agentName,
|
|
274
|
+
missingVariables,
|
|
275
|
+
};
|
|
276
|
+
} catch (err) {
|
|
277
|
+
dispatch({ type: "ERROR", error: toError(err) });
|
|
278
|
+
throw err;
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
[org, stigmer, personalEnv, poolKeys],
|
|
282
|
+
);
|
|
283
|
+
|
|
284
|
+
// -------------------------------------------------------------------------
|
|
285
|
+
// Pool re-evaluation — auto-resolve needsEnvVars when pool changes
|
|
286
|
+
// -------------------------------------------------------------------------
|
|
287
|
+
|
|
288
|
+
const agentMissingVars =
|
|
289
|
+
state.status === "needsEnvVars" ? state.missingVariables : null;
|
|
290
|
+
|
|
291
|
+
useEffect(() => {
|
|
292
|
+
if (!poolKeys || poolKeys.size === 0) return;
|
|
293
|
+
if (!agentMissingVars) return;
|
|
294
|
+
|
|
295
|
+
const stillMissing = agentMissingVars.filter(
|
|
296
|
+
(v) => !poolKeys.has(v.key),
|
|
297
|
+
);
|
|
298
|
+
|
|
299
|
+
dispatch({ type: "POOL_RESOLVE", missingVariables: stillMissing });
|
|
300
|
+
}, [poolKeys, agentMissingVars]);
|
|
301
|
+
|
|
302
|
+
// -------------------------------------------------------------------------
|
|
303
|
+
// submitEnvVars
|
|
304
|
+
// -------------------------------------------------------------------------
|
|
305
|
+
|
|
306
|
+
const submitEnvVars = useCallback(
|
|
307
|
+
async (
|
|
308
|
+
values: Record<string, EnvVarInput>,
|
|
309
|
+
options?: SubmitEnvVarsOptions,
|
|
310
|
+
): Promise<AgentSetupReadyResult> => {
|
|
311
|
+
if (state.status !== "needsEnvVars") {
|
|
312
|
+
throw new Error(
|
|
313
|
+
"useAgentSetup: submitEnvVars requires state.status === 'needsEnvVars'. " +
|
|
314
|
+
`Current status is '${state.status}'. Call resolveAgent() first ` +
|
|
315
|
+
"and ensure it returned status 'needsEnvVars'.",
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
if (!org) {
|
|
319
|
+
throw new Error(
|
|
320
|
+
"useAgentSetup: cannot submit env vars when org is null.",
|
|
321
|
+
);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
const { agentRef, agentId, agentName } = state;
|
|
325
|
+
const saveForFuture = options?.saveForFuture ?? true;
|
|
326
|
+
|
|
327
|
+
// ----- One-time path: no API calls, instant result -----
|
|
328
|
+
if (!saveForFuture) {
|
|
329
|
+
const resolution: AgentResolution = {
|
|
330
|
+
mode: "oneTime",
|
|
331
|
+
runtimeEnv: values,
|
|
332
|
+
};
|
|
333
|
+
dispatch({
|
|
334
|
+
type: "SUBMIT_READY",
|
|
335
|
+
agentRef,
|
|
336
|
+
agentName,
|
|
337
|
+
resolution,
|
|
338
|
+
});
|
|
339
|
+
return { status: "ready", agentRef, agentName, resolution };
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// ----- Save path: persist to environment + create instance -----
|
|
343
|
+
dispatch({ type: "SUBMIT_START" });
|
|
344
|
+
|
|
345
|
+
try {
|
|
346
|
+
const env = await personalEnv.getOrCreate();
|
|
347
|
+
await personalEnv.addVariables(values);
|
|
348
|
+
|
|
349
|
+
const envRef: ResourceRef = {
|
|
350
|
+
org,
|
|
351
|
+
slug: env.metadata!.slug,
|
|
352
|
+
kind: ApiResourceKind.environment,
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
const instance = await stigmer.agentInstance.create(
|
|
356
|
+
buildPersonalInstanceInput({
|
|
357
|
+
org,
|
|
358
|
+
agentId,
|
|
359
|
+
agentSlug: agentRef.slug,
|
|
360
|
+
environmentRef: envRef,
|
|
361
|
+
}),
|
|
362
|
+
);
|
|
363
|
+
|
|
364
|
+
const resolution: AgentResolution = {
|
|
365
|
+
mode: "saved",
|
|
366
|
+
instanceId: instance.metadata!.id,
|
|
367
|
+
};
|
|
368
|
+
dispatch({
|
|
369
|
+
type: "SUBMIT_READY",
|
|
370
|
+
agentRef,
|
|
371
|
+
agentName,
|
|
372
|
+
resolution,
|
|
373
|
+
});
|
|
374
|
+
return { status: "ready", agentRef, agentName, resolution };
|
|
375
|
+
} catch (err) {
|
|
376
|
+
dispatch({ type: "ERROR", error: toError(err) });
|
|
377
|
+
throw err;
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
[org, stigmer, personalEnv, state],
|
|
381
|
+
);
|
|
382
|
+
|
|
383
|
+
return { state, resolveAgent, submitEnvVars, clearError, reset };
|
|
384
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useState } from "react";
|
|
4
|
+
import { create } from "@bufbuild/protobuf";
|
|
5
|
+
import type { Agent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
|
|
6
|
+
import { GetDefaultAgentRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/io_pb";
|
|
7
|
+
import { useStigmer } from "../hooks";
|
|
8
|
+
import { toError } from "../internal/toError";
|
|
9
|
+
|
|
10
|
+
export interface UseDefaultAgentReturn {
|
|
11
|
+
/** The platform default agent, or null while loading / on error. */
|
|
12
|
+
readonly agent: Agent | null;
|
|
13
|
+
readonly isLoading: boolean;
|
|
14
|
+
readonly error: Error | null;
|
|
15
|
+
readonly refetch: () => void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Data hook that fetches the platform's default agent.
|
|
20
|
+
*
|
|
21
|
+
* The default agent is the one labeled `stigmer.ai/default-agent: "true"`
|
|
22
|
+
* with `visibility_public`. It enables session-first UX where users
|
|
23
|
+
* start a conversation without choosing an agent.
|
|
24
|
+
*
|
|
25
|
+
* Pass `null` for `org` to skip fetching (stable no-op). The hook
|
|
26
|
+
* fetches once on mount and caches the result — the default agent
|
|
27
|
+
* rarely changes within a session.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* const { agent: defaultAgent, isLoading } = useDefaultAgent("acme");
|
|
32
|
+
*
|
|
33
|
+
* // Use defaultAgent.status.defaultInstanceId for session creation
|
|
34
|
+
* // when the user hasn't explicitly selected an agent.
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export function useDefaultAgent(org: string | null): UseDefaultAgentReturn {
|
|
38
|
+
const stigmer = useStigmer();
|
|
39
|
+
const [agent, setAgent] = useState<Agent | null>(null);
|
|
40
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
41
|
+
const [error, setError] = useState<Error | null>(null);
|
|
42
|
+
const [fetchKey, setFetchKey] = useState(0);
|
|
43
|
+
|
|
44
|
+
const refetch = useCallback(() => setFetchKey((k) => k + 1), []);
|
|
45
|
+
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (!org) {
|
|
48
|
+
setAgent(null);
|
|
49
|
+
setIsLoading(false);
|
|
50
|
+
setError(null);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const cancelled = { current: false };
|
|
55
|
+
setIsLoading(true);
|
|
56
|
+
setError(null);
|
|
57
|
+
|
|
58
|
+
stigmer.agent.getDefault(create(GetDefaultAgentRequestSchema, { org })).then(
|
|
59
|
+
(result) => {
|
|
60
|
+
if (cancelled.current) return;
|
|
61
|
+
setAgent(result);
|
|
62
|
+
setIsLoading(false);
|
|
63
|
+
},
|
|
64
|
+
(err) => {
|
|
65
|
+
if (cancelled.current) return;
|
|
66
|
+
setError(toError(err));
|
|
67
|
+
setIsLoading(false);
|
|
68
|
+
},
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
return () => {
|
|
72
|
+
cancelled.current = true;
|
|
73
|
+
};
|
|
74
|
+
}, [org, stigmer, fetchKey]);
|
|
75
|
+
|
|
76
|
+
return { agent, isLoading, error, refetch };
|
|
77
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { AgentInstanceInput, ResourceRef } from "@stigmer/sdk";
|
|
2
|
+
import { generateSlugSuffix } from "../internal/slug";
|
|
3
|
+
|
|
4
|
+
const PERSONAL_LABEL = "stigmer.ai/personal";
|
|
5
|
+
const FOR_AGENT_LABEL = "stigmer.ai/for-agent";
|
|
6
|
+
|
|
7
|
+
export interface PersonalInstanceParams {
|
|
8
|
+
readonly org: string;
|
|
9
|
+
readonly agentId: string;
|
|
10
|
+
readonly agentSlug: string;
|
|
11
|
+
readonly environmentRef: ResourceRef;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Builds the {@link AgentInstanceInput} for creating a personal agent
|
|
16
|
+
* instance. Centralizes the naming convention, unique slug generation,
|
|
17
|
+
* and label assignment so that every call site produces consistent
|
|
18
|
+
* personal instances.
|
|
19
|
+
*
|
|
20
|
+
* The slug includes a random suffix to guarantee uniqueness within
|
|
21
|
+
* the org (multiple users can each have their own personal instance
|
|
22
|
+
* for the same agent). Lookup is always label-based via FGA-scoped
|
|
23
|
+
* list queries, so the slug is never used for retrieval.
|
|
24
|
+
*/
|
|
25
|
+
export function buildPersonalInstanceInput(
|
|
26
|
+
params: PersonalInstanceParams,
|
|
27
|
+
): AgentInstanceInput {
|
|
28
|
+
const { org, agentId, agentSlug, environmentRef } = params;
|
|
29
|
+
return {
|
|
30
|
+
name: `${agentSlug} Personal`,
|
|
31
|
+
slug: `${agentSlug}-personal-${generateSlugSuffix()}`,
|
|
32
|
+
org,
|
|
33
|
+
agentId,
|
|
34
|
+
labels: {
|
|
35
|
+
[PERSONAL_LABEL]: "true",
|
|
36
|
+
[FOR_AGENT_LABEL]: `${org}/${agentSlug}`,
|
|
37
|
+
},
|
|
38
|
+
environmentRefs: [environmentRef],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { useAgentInstance } from "./useAgentInstance";
|
|
2
|
+
export type { UseAgentInstanceReturn } from "./useAgentInstance";
|
|
3
|
+
export { useAgentInstanceList } from "./useAgentInstanceList";
|
|
4
|
+
export type { UseAgentInstanceListReturn } from "./useAgentInstanceList";
|
|
5
|
+
export { useCreateAgentInstance } from "./useCreateAgentInstance";
|
|
6
|
+
export type { UseCreateAgentInstanceReturn } from "./useCreateAgentInstance";
|
|
7
|
+
export { usePersonalAgentInstance } from "./usePersonalAgentInstance";
|
|
8
|
+
export type {
|
|
9
|
+
GetOrCreatePersonalInstanceInput,
|
|
10
|
+
UsePersonalAgentInstanceReturn,
|
|
11
|
+
} from "./usePersonalAgentInstance";
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useState } from "react";
|
|
4
|
+
import type { AgentInstance } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/api_pb";
|
|
5
|
+
import type { ResourceRef } from "@stigmer/sdk";
|
|
6
|
+
import { useStigmer } from "../hooks";
|
|
7
|
+
import { toError } from "../internal/toError";
|
|
8
|
+
|
|
9
|
+
export interface UseAgentInstanceReturn {
|
|
10
|
+
readonly agentInstance: AgentInstance | null;
|
|
11
|
+
readonly isLoading: boolean;
|
|
12
|
+
readonly error: Error | null;
|
|
13
|
+
readonly refetch: () => void;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Data hook that fetches a single AgentInstance by resource reference.
|
|
18
|
+
*
|
|
19
|
+
* Pass `null` to skip fetching (stable no-op). When the reference
|
|
20
|
+
* fields change, the previous in-flight request is discarded and a
|
|
21
|
+
* fresh fetch begins. Call `refetch()` to re-query after mutating the
|
|
22
|
+
* agent instance through a separate hook or API call.
|
|
23
|
+
*
|
|
24
|
+
* Returns the full proto {@link AgentInstance} resource so consumers
|
|
25
|
+
* have access to metadata, spec (including `environment_refs` and
|
|
26
|
+
* agent reference), and status without additional calls.
|
|
27
|
+
*
|
|
28
|
+
* This is a Layer 1 building-block hook for the **Environment Flow**
|
|
29
|
+
* — agent instances bind Environment resources to Agent blueprints.
|
|
30
|
+
* For the managed "personal agent instance" convenience, see
|
|
31
|
+
* {@link usePersonalAgentInstance}.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```tsx
|
|
35
|
+
* const { agentInstance, isLoading, error } = useAgentInstance({
|
|
36
|
+
* org: "acme",
|
|
37
|
+
* slug: "my-agent-personal",
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export function useAgentInstance(
|
|
42
|
+
ref: ResourceRef | null,
|
|
43
|
+
): UseAgentInstanceReturn {
|
|
44
|
+
const stigmer = useStigmer();
|
|
45
|
+
const [agentInstance, setAgentInstance] = useState<AgentInstance | null>(null);
|
|
46
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
47
|
+
const [error, setError] = useState<Error | null>(null);
|
|
48
|
+
const [fetchKey, setFetchKey] = useState(0);
|
|
49
|
+
|
|
50
|
+
const refetch = useCallback(() => setFetchKey((k) => k + 1), []);
|
|
51
|
+
|
|
52
|
+
const org = ref?.org;
|
|
53
|
+
const slug = ref?.slug;
|
|
54
|
+
const version = ref?.version;
|
|
55
|
+
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
if (!org || !slug) {
|
|
58
|
+
setAgentInstance(null);
|
|
59
|
+
setIsLoading(false);
|
|
60
|
+
setError(null);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const cancelled = { current: false };
|
|
65
|
+
setIsLoading(true);
|
|
66
|
+
setError(null);
|
|
67
|
+
|
|
68
|
+
stigmer.agentInstance.getByReference({ org, slug, version }).then(
|
|
69
|
+
(result) => {
|
|
70
|
+
if (cancelled.current) return;
|
|
71
|
+
setAgentInstance(result);
|
|
72
|
+
setIsLoading(false);
|
|
73
|
+
},
|
|
74
|
+
(err) => {
|
|
75
|
+
if (cancelled.current) return;
|
|
76
|
+
setError(toError(err));
|
|
77
|
+
setIsLoading(false);
|
|
78
|
+
},
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
return () => {
|
|
82
|
+
cancelled.current = true;
|
|
83
|
+
};
|
|
84
|
+
}, [org, slug, version, stigmer, fetchKey]);
|
|
85
|
+
|
|
86
|
+
return { agentInstance, isLoading, error, refetch };
|
|
87
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
|
+
import { create } from "@bufbuild/protobuf";
|
|
5
|
+
import type { AgentInstance } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/api_pb";
|
|
6
|
+
import { ListAgentInstancesRequestSchema } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/io_pb";
|
|
7
|
+
import { useStigmer } from "../hooks";
|
|
8
|
+
import { toError } from "../internal/toError";
|
|
9
|
+
|
|
10
|
+
export interface UseAgentInstanceListReturn {
|
|
11
|
+
readonly agentInstances: readonly AgentInstance[];
|
|
12
|
+
readonly totalCount: number;
|
|
13
|
+
readonly isLoading: boolean;
|
|
14
|
+
readonly error: Error | null;
|
|
15
|
+
readonly refetch: () => void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Data hook that fetches a paginated list of {@link AgentInstance} entries
|
|
20
|
+
* for a given organization, with optional label filtering.
|
|
21
|
+
*
|
|
22
|
+
* Pass `null` as `org` to skip fetching (stable no-op). When the org
|
|
23
|
+
* or labels change, the previous in-flight request is discarded and a
|
|
24
|
+
* fresh fetch begins. Call `refetch()` to re-query after mutations.
|
|
25
|
+
*
|
|
26
|
+
* This is a Layer 1 building-block hook for the **Environment Flow**.
|
|
27
|
+
* For the managed "personal agent instance" convenience, see
|
|
28
|
+
* {@link usePersonalAgentInstance}.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* const { agentInstances, isLoading } = useAgentInstanceList("acme", {
|
|
33
|
+
* "stigmer.ai/personal": "true",
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export function useAgentInstanceList(
|
|
38
|
+
org: string | null,
|
|
39
|
+
labels?: Record<string, string>,
|
|
40
|
+
): UseAgentInstanceListReturn {
|
|
41
|
+
const stigmer = useStigmer();
|
|
42
|
+
const [agentInstances, setAgentInstances] = useState<AgentInstance[]>([]);
|
|
43
|
+
const [totalCount, setTotalCount] = useState(0);
|
|
44
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
45
|
+
const [error, setError] = useState<Error | null>(null);
|
|
46
|
+
const [fetchKey, setFetchKey] = useState(0);
|
|
47
|
+
|
|
48
|
+
const labelsRef = useRef(labels);
|
|
49
|
+
if (
|
|
50
|
+
labels !== labelsRef.current &&
|
|
51
|
+
JSON.stringify(labels) !== JSON.stringify(labelsRef.current)
|
|
52
|
+
) {
|
|
53
|
+
labelsRef.current = labels;
|
|
54
|
+
}
|
|
55
|
+
const stableLabels = labelsRef.current;
|
|
56
|
+
|
|
57
|
+
const refetch = useCallback(() => setFetchKey((k) => k + 1), []);
|
|
58
|
+
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (!org) {
|
|
61
|
+
setAgentInstances([]);
|
|
62
|
+
setTotalCount(0);
|
|
63
|
+
setIsLoading(false);
|
|
64
|
+
setError(null);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const cancelled = { current: false };
|
|
69
|
+
setIsLoading(true);
|
|
70
|
+
setError(null);
|
|
71
|
+
|
|
72
|
+
stigmer.agentInstance
|
|
73
|
+
.list(
|
|
74
|
+
create(ListAgentInstancesRequestSchema, {
|
|
75
|
+
org,
|
|
76
|
+
labels: stableLabels ?? {},
|
|
77
|
+
}),
|
|
78
|
+
)
|
|
79
|
+
.then(
|
|
80
|
+
(result) => {
|
|
81
|
+
if (cancelled.current) return;
|
|
82
|
+
setAgentInstances(result.items);
|
|
83
|
+
setTotalCount(result.totalCount);
|
|
84
|
+
setIsLoading(false);
|
|
85
|
+
},
|
|
86
|
+
(err) => {
|
|
87
|
+
if (cancelled.current) return;
|
|
88
|
+
setError(toError(err));
|
|
89
|
+
setIsLoading(false);
|
|
90
|
+
},
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
return () => {
|
|
94
|
+
cancelled.current = true;
|
|
95
|
+
};
|
|
96
|
+
}, [org, stableLabels, stigmer, fetchKey]);
|
|
97
|
+
|
|
98
|
+
return { agentInstances, totalCount, isLoading, error, refetch };
|
|
99
|
+
}
|