@stigmer/react 2.0.0 → 3.0.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/README.md +64 -2
- package/agent/AgentDetailView.d.ts +26 -1
- package/agent/AgentDetailView.d.ts.map +1 -1
- package/agent/AgentDetailView.js +9 -2
- package/agent/AgentDetailView.js.map +1 -1
- package/agent/useAgentSetup.d.ts +19 -0
- package/agent/useAgentSetup.d.ts.map +1 -1
- package/agent/useAgentSetup.js +15 -1
- package/agent/useAgentSetup.js.map +1 -1
- package/agent-instance/AgentInstanceDetailPanel.d.ts +26 -0
- package/agent-instance/AgentInstanceDetailPanel.d.ts.map +1 -0
- package/agent-instance/AgentInstanceDetailPanel.js +94 -0
- package/agent-instance/AgentInstanceDetailPanel.js.map +1 -0
- package/agent-instance/AgentInstanceEmptyState.d.ts +17 -0
- package/agent-instance/AgentInstanceEmptyState.d.ts.map +1 -0
- package/agent-instance/AgentInstanceEmptyState.js +21 -0
- package/agent-instance/AgentInstanceEmptyState.js.map +1 -0
- package/agent-instance/AgentInstanceList.d.ts +38 -0
- package/agent-instance/AgentInstanceList.d.ts.map +1 -0
- package/agent-instance/AgentInstanceList.js +75 -0
- package/agent-instance/AgentInstanceList.js.map +1 -0
- package/agent-instance/CreateAgentInstanceDialog.d.ts +24 -0
- package/agent-instance/CreateAgentInstanceDialog.d.ts.map +1 -0
- package/agent-instance/CreateAgentInstanceDialog.js +78 -0
- package/agent-instance/CreateAgentInstanceDialog.js.map +1 -0
- package/agent-instance/index.d.ts +14 -0
- package/agent-instance/index.d.ts.map +1 -1
- package/agent-instance/index.js +7 -0
- package/agent-instance/index.js.map +1 -1
- package/agent-instance/useAgentInstances.d.ts +34 -0
- package/agent-instance/useAgentInstances.d.ts.map +1 -0
- package/agent-instance/useAgentInstances.js +37 -0
- package/agent-instance/useAgentInstances.js.map +1 -0
- package/agent-instance/useDeleteAgentInstance.d.ts +42 -0
- package/agent-instance/useDeleteAgentInstance.d.ts.map +1 -0
- package/agent-instance/useDeleteAgentInstance.js +48 -0
- package/agent-instance/useDeleteAgentInstance.js.map +1 -0
- package/agent-instance/useUpdateAgentInstance.d.ts +36 -0
- package/agent-instance/useUpdateAgentInstance.d.ts.map +1 -0
- package/agent-instance/useUpdateAgentInstance.js +47 -0
- package/agent-instance/useUpdateAgentInstance.js.map +1 -0
- package/composer/SessionComposer.d.ts +18 -0
- package/composer/SessionComposer.d.ts.map +1 -1
- package/composer/SessionComposer.js +27 -3
- package/composer/SessionComposer.js.map +1 -1
- package/execution/ApprovalCard.d.ts.map +1 -1
- package/execution/ApprovalCard.js +6 -3
- package/execution/ApprovalCard.js.map +1 -1
- package/execution/MessageThread.d.ts +3 -0
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +12 -2
- package/execution/MessageThread.js.map +1 -1
- package/execution/PlanArtifactCard.d.ts +29 -0
- package/execution/PlanArtifactCard.d.ts.map +1 -0
- package/execution/PlanArtifactCard.js +59 -0
- package/execution/PlanArtifactCard.js.map +1 -0
- package/execution/ResultView.d.ts +24 -0
- package/execution/ResultView.d.ts.map +1 -0
- package/execution/ResultView.js +152 -0
- package/execution/ResultView.js.map +1 -0
- package/execution/SubAgentSection.js +1 -1
- package/execution/SubAgentSection.js.map +1 -1
- package/execution/ToolCallDetail.d.ts +13 -19
- package/execution/ToolCallDetail.d.ts.map +1 -1
- package/execution/ToolCallDetail.js +42 -70
- package/execution/ToolCallDetail.js.map +1 -1
- package/execution/ToolCallGroup.js +2 -2
- package/execution/ToolCallGroup.js.map +1 -1
- package/execution/ToolCallItem.d.ts.map +1 -1
- package/execution/ToolCallItem.js +13 -9
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/index.d.ts +7 -1
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +4 -1
- package/execution/index.js.map +1 -1
- package/execution/tool-categories.d.ts +30 -21
- package/execution/tool-categories.d.ts.map +1 -1
- package/execution/tool-categories.js +57 -49
- package/execution/tool-categories.js.map +1 -1
- package/execution/tool-presenter.d.ts +60 -0
- package/execution/tool-presenter.d.ts.map +1 -0
- package/execution/tool-presenter.js +81 -0
- package/execution/tool-presenter.js.map +1 -0
- package/execution/useCreateAgentExecution.d.ts +9 -0
- package/execution/useCreateAgentExecution.d.ts.map +1 -1
- package/execution/useCreateAgentExecution.js +1 -0
- package/execution/useCreateAgentExecution.js.map +1 -1
- package/index.d.ts +6 -5
- package/index.d.ts.map +1 -1
- package/index.js +7 -4
- package/index.js.map +1 -1
- package/library/detect-plan-artifact.d.ts +26 -0
- package/library/detect-plan-artifact.d.ts.map +1 -0
- package/library/detect-plan-artifact.js +37 -0
- package/library/detect-plan-artifact.js.map +1 -0
- package/library/index.d.ts +1 -0
- package/library/index.d.ts.map +1 -1
- package/library/index.js +1 -0
- package/library/index.js.map +1 -1
- package/package.json +4 -4
- package/provider.d.ts +5 -3
- package/provider.d.ts.map +1 -1
- package/provider.js.map +1 -1
- package/runner-adapter.d.ts +19 -4
- package/runner-adapter.d.ts.map +1 -1
- package/runner-adapter.js.map +1 -1
- package/session/NewSessionViewer.d.ts +10 -1
- package/session/NewSessionViewer.d.ts.map +1 -1
- package/session/NewSessionViewer.js +2 -2
- package/session/NewSessionViewer.js.map +1 -1
- package/session/SessionViewer.d.ts.map +1 -1
- package/session/SessionViewer.js +17 -2
- package/session/SessionViewer.js.map +1 -1
- package/session/useCreateSession.d.ts.map +1 -1
- package/session/useCreateSession.js +4 -6
- package/session/useCreateSession.js.map +1 -1
- package/session/useLocalSessionWorker.d.ts +33 -0
- package/session/useLocalSessionWorker.d.ts.map +1 -0
- package/session/useLocalSessionWorker.js +65 -0
- package/session/useLocalSessionWorker.js.map +1 -0
- package/session/useNewSessionFlow.d.ts.map +1 -1
- package/session/useNewSessionFlow.js +22 -1
- package/session/useNewSessionFlow.js.map +1 -1
- package/session/useSessionConversation.d.ts +12 -0
- package/session/useSessionConversation.d.ts.map +1 -1
- package/session/useSessionConversation.js +11 -0
- package/session/useSessionConversation.js.map +1 -1
- package/session/useSessionPageFlow.d.ts +23 -0
- package/session/useSessionPageFlow.d.ts.map +1 -1
- package/session/useSessionPageFlow.js +21 -1
- package/session/useSessionPageFlow.js.map +1 -1
- package/src/__tests__/runner-adapter.test.tsx +14 -107
- package/src/agent/AgentDetailView.tsx +49 -1
- package/src/agent/__tests__/useAgentSetup.resolveToInstance.test.tsx +73 -0
- package/src/agent/useAgentSetup.ts +48 -1
- package/src/agent-instance/AgentInstanceDetailPanel.tsx +359 -0
- package/src/agent-instance/AgentInstanceEmptyState.tsx +87 -0
- package/src/agent-instance/AgentInstanceList.tsx +329 -0
- package/src/agent-instance/CreateAgentInstanceDialog.tsx +258 -0
- package/src/agent-instance/__tests__/agent-instance-hooks.test.tsx +213 -0
- package/src/agent-instance/index.ts +15 -0
- package/src/agent-instance/useAgentInstances.ts +66 -0
- package/src/agent-instance/useDeleteAgentInstance.ts +73 -0
- package/src/agent-instance/useUpdateAgentInstance.ts +67 -0
- package/src/composer/SessionComposer.tsx +54 -2
- package/src/execution/ApprovalCard.tsx +22 -3
- package/src/execution/MessageThread.tsx +27 -3
- package/src/execution/PlanArtifactCard.tsx +257 -0
- package/src/execution/ResultView.tsx +366 -0
- package/src/execution/SubAgentSection.tsx +5 -0
- package/src/execution/ToolCallDetail.tsx +72 -173
- package/src/execution/ToolCallGroup.tsx +2 -2
- package/src/execution/ToolCallItem.tsx +25 -12
- package/src/execution/__tests__/ApprovalCard.test.tsx +99 -0
- package/src/execution/__tests__/ResultView.test.tsx +95 -0
- package/src/execution/__tests__/subagent-thread-item.test.ts +153 -0
- package/src/execution/__tests__/tool-presenter.test.tsx +78 -0
- package/src/execution/index.ts +16 -0
- package/src/execution/tool-categories.ts +80 -66
- package/src/execution/tool-presenter.ts +118 -0
- package/src/execution/useCreateAgentExecution.ts +10 -0
- package/src/index.ts +32 -1
- package/src/library/__tests__/detect-plan-artifact.test.ts +75 -0
- package/src/library/detect-plan-artifact.ts +43 -0
- package/src/library/index.ts +6 -0
- package/src/provider.tsx +5 -3
- package/src/runner-adapter.ts +19 -4
- package/src/session/NewSessionViewer.tsx +11 -0
- package/src/session/SessionViewer.tsx +46 -2
- package/src/session/__tests__/group-sessions.test.ts +3 -5
- package/src/session/__tests__/useLocalSessionWorker.test.tsx +194 -0
- package/src/session/__tests__/useNewSessionFlow.test.tsx +80 -4
- package/src/session/__tests__/useSessionConversation.test.tsx +89 -0
- package/src/session/__tests__/useSessionPageFlow.autoApprove.test.tsx +149 -0
- package/src/session/useCreateSession.ts +4 -7
- package/src/session/useLocalSessionWorker.ts +73 -0
- package/src/session/useNewSessionFlow.ts +23 -1
- package/src/session/useSessionConversation.ts +18 -0
- package/src/session/useSessionPageFlow.ts +51 -1
- package/src/workflow/__tests__/useWorkflowExecution.test.tsx +2 -2
- package/styles.css +1 -1
- package/__tests__/hooks.test.d.ts +0 -2
- package/__tests__/hooks.test.d.ts.map +0 -1
- package/__tests__/hooks.test.js +0 -35
- package/__tests__/hooks.test.js.map +0 -1
- package/__tests__/runner-adapter.test.d.ts +0 -2
- package/__tests__/runner-adapter.test.d.ts.map +0 -1
- package/__tests__/runner-adapter.test.js +0 -153
- package/__tests__/runner-adapter.test.js.map +0 -1
- package/activity/__tests__/useRecentActivity-optimistic.test.d.ts +0 -2
- package/activity/__tests__/useRecentActivity-optimistic.test.d.ts.map +0 -1
- package/activity/__tests__/useRecentActivity-optimistic.test.js +0 -139
- package/activity/__tests__/useRecentActivity-optimistic.test.js.map +0 -1
- package/activity/__tests__/useRecentActivity.test.d.ts +0 -2
- package/activity/__tests__/useRecentActivity.test.d.ts.map +0 -1
- package/activity/__tests__/useRecentActivity.test.js +0 -107
- package/activity/__tests__/useRecentActivity.test.js.map +0 -1
- package/agent/__tests__/useAgent.test.d.ts +0 -2
- package/agent/__tests__/useAgent.test.d.ts.map +0 -1
- package/agent/__tests__/useAgent.test.js +0 -86
- package/agent/__tests__/useAgent.test.js.map +0 -1
- package/agent/__tests__/useDefaultAgent.test.d.ts +0 -2
- package/agent/__tests__/useDefaultAgent.test.d.ts.map +0 -1
- package/agent/__tests__/useDefaultAgent.test.js +0 -135
- package/agent/__tests__/useDefaultAgent.test.js.map +0 -1
- package/billing/__tests__/CreditLedgerTable.test.d.ts +0 -2
- package/billing/__tests__/CreditLedgerTable.test.d.ts.map +0 -1
- package/billing/__tests__/CreditLedgerTable.test.js +0 -74
- package/billing/__tests__/CreditLedgerTable.test.js.map +0 -1
- package/composer/__tests__/ComposerToolbar-directAction.test.d.ts +0 -2
- package/composer/__tests__/ComposerToolbar-directAction.test.d.ts.map +0 -1
- package/composer/__tests__/ComposerToolbar-directAction.test.js +0 -64
- package/composer/__tests__/ComposerToolbar-directAction.test.js.map +0 -1
- package/composer/__tests__/SessionComposer-contract.test.d.ts +0 -2
- package/composer/__tests__/SessionComposer-contract.test.d.ts.map +0 -1
- package/composer/__tests__/SessionComposer-contract.test.js +0 -87
- package/composer/__tests__/SessionComposer-contract.test.js.map +0 -1
- package/composer/__tests__/SessionComposer-fileref.test.d.ts +0 -2
- package/composer/__tests__/SessionComposer-fileref.test.d.ts.map +0 -1
- package/composer/__tests__/SessionComposer-fileref.test.js +0 -132
- package/composer/__tests__/SessionComposer-fileref.test.js.map +0 -1
- package/composer/__tests__/SessionComposer-memo.test.d.ts +0 -2
- package/composer/__tests__/SessionComposer-memo.test.d.ts.map +0 -1
- package/composer/__tests__/SessionComposer-memo.test.js +0 -28
- package/composer/__tests__/SessionComposer-memo.test.js.map +0 -1
- package/composer/__tests__/useComposer.test.d.ts +0 -2
- package/composer/__tests__/useComposer.test.d.ts.map +0 -1
- package/composer/__tests__/useComposer.test.js +0 -139
- package/composer/__tests__/useComposer.test.js.map +0 -1
- package/environment/__tests__/systemEnvVars.test.d.ts +0 -2
- package/environment/__tests__/systemEnvVars.test.d.ts.map +0 -1
- package/environment/__tests__/systemEnvVars.test.js +0 -76
- package/environment/__tests__/systemEnvVars.test.js.map +0 -1
- package/execution/__tests__/MessageThread.test.d.ts +0 -2
- package/execution/__tests__/MessageThread.test.d.ts.map +0 -1
- package/execution/__tests__/MessageThread.test.js +0 -164
- package/execution/__tests__/MessageThread.test.js.map +0 -1
- package/execution/__tests__/PlanCompletionCard.test.d.ts +0 -2
- package/execution/__tests__/PlanCompletionCard.test.d.ts.map +0 -1
- package/execution/__tests__/PlanCompletionCard.test.js +0 -53
- package/execution/__tests__/PlanCompletionCard.test.js.map +0 -1
- package/execution/__tests__/buildThreadItems-plan-completion.test.d.ts +0 -2
- package/execution/__tests__/buildThreadItems-plan-completion.test.d.ts.map +0 -1
- package/execution/__tests__/buildThreadItems-plan-completion.test.js +0 -137
- package/execution/__tests__/buildThreadItems-plan-completion.test.js.map +0 -1
- package/execution/__tests__/execution-phases.test.d.ts +0 -2
- package/execution/__tests__/execution-phases.test.d.ts.map +0 -1
- package/execution/__tests__/execution-phases.test.js +0 -25
- package/execution/__tests__/execution-phases.test.js.map +0 -1
- package/execution/__tests__/file-path-resolver.test.d.ts +0 -2
- package/execution/__tests__/file-path-resolver.test.d.ts.map +0 -1
- package/execution/__tests__/file-path-resolver.test.js +0 -180
- package/execution/__tests__/file-path-resolver.test.js.map +0 -1
- package/execution/__tests__/message-entry.test.d.ts +0 -2
- package/execution/__tests__/message-entry.test.d.ts.map +0 -1
- package/execution/__tests__/message-entry.test.js +0 -178
- package/execution/__tests__/message-entry.test.js.map +0 -1
- package/execution/__tests__/thread-keys.test.d.ts +0 -2
- package/execution/__tests__/thread-keys.test.d.ts.map +0 -1
- package/execution/__tests__/thread-keys.test.js +0 -462
- package/execution/__tests__/thread-keys.test.js.map +0 -1
- package/execution/__tests__/thread-memoization.test.d.ts +0 -2
- package/execution/__tests__/thread-memoization.test.d.ts.map +0 -1
- package/execution/__tests__/thread-memoization.test.js +0 -262
- package/execution/__tests__/thread-memoization.test.js.map +0 -1
- package/execution/__tests__/thread-skeleton.test.d.ts +0 -2
- package/execution/__tests__/thread-skeleton.test.d.ts.map +0 -1
- package/execution/__tests__/thread-skeleton.test.js +0 -35
- package/execution/__tests__/thread-skeleton.test.js.map +0 -1
- package/execution/__tests__/useContextWindow.test.d.ts +0 -2
- package/execution/__tests__/useContextWindow.test.d.ts.map +0 -1
- package/execution/__tests__/useContextWindow.test.js +0 -121
- package/execution/__tests__/useContextWindow.test.js.map +0 -1
- package/execution/__tests__/useExecutionStream.test.d.ts +0 -2
- package/execution/__tests__/useExecutionStream.test.d.ts.map +0 -1
- package/execution/__tests__/useExecutionStream.test.js +0 -253
- package/execution/__tests__/useExecutionStream.test.js.map +0 -1
- package/execution/__tests__/useSessionVariables-stability.test.d.ts +0 -2
- package/execution/__tests__/useSessionVariables-stability.test.d.ts.map +0 -1
- package/execution/__tests__/useSessionVariables-stability.test.js +0 -69
- package/execution/__tests__/useSessionVariables-stability.test.js.map +0 -1
- package/execution/__tests__/virtualized-thread.test.d.ts +0 -2
- package/execution/__tests__/virtualized-thread.test.d.ts.map +0 -1
- package/execution/__tests__/virtualized-thread.test.js +0 -274
- package/execution/__tests__/virtualized-thread.test.js.map +0 -1
- package/file-reference/__tests__/FileReferenceChipList.test.d.ts +0 -2
- package/file-reference/__tests__/FileReferenceChipList.test.d.ts.map +0 -1
- package/file-reference/__tests__/FileReferenceChipList.test.js +0 -48
- package/file-reference/__tests__/FileReferenceChipList.test.js.map +0 -1
- package/file-reference/__tests__/useFileReferences.test.d.ts +0 -2
- package/file-reference/__tests__/useFileReferences.test.d.ts.map +0 -1
- package/file-reference/__tests__/useFileReferences.test.js +0 -90
- package/file-reference/__tests__/useFileReferences.test.js.map +0 -1
- package/github/__tests__/parseGitUrl.test.d.ts +0 -2
- package/github/__tests__/parseGitUrl.test.d.ts.map +0 -1
- package/github/__tests__/parseGitUrl.test.js +0 -47
- package/github/__tests__/parseGitUrl.test.js.map +0 -1
- package/github/__tests__/useGitHubTreeLister.test.d.ts +0 -2
- package/github/__tests__/useGitHubTreeLister.test.d.ts.map +0 -1
- package/github/__tests__/useGitHubTreeLister.test.js +0 -112
- package/github/__tests__/useGitHubTreeLister.test.js.map +0 -1
- package/internal/__tests__/ResizableSplit.test.d.ts +0 -2
- package/internal/__tests__/ResizableSplit.test.d.ts.map +0 -1
- package/internal/__tests__/ResizableSplit.test.js +0 -118
- package/internal/__tests__/ResizableSplit.test.js.map +0 -1
- package/internal/__tests__/fetch-cache.test.d.ts +0 -2
- package/internal/__tests__/fetch-cache.test.d.ts.map +0 -1
- package/internal/__tests__/fetch-cache.test.js +0 -182
- package/internal/__tests__/fetch-cache.test.js.map +0 -1
- package/internal/__tests__/stream-controller.test.d.ts +0 -2
- package/internal/__tests__/stream-controller.test.d.ts.map +0 -1
- package/internal/__tests__/stream-controller.test.js +0 -327
- package/internal/__tests__/stream-controller.test.js.map +0 -1
- package/internal/__tests__/thread-animation.test.d.ts +0 -2
- package/internal/__tests__/thread-animation.test.d.ts.map +0 -1
- package/internal/__tests__/thread-animation.test.js +0 -79
- package/internal/__tests__/thread-animation.test.js.map +0 -1
- package/internal/__tests__/useAutoScroll.test.d.ts +0 -2
- package/internal/__tests__/useAutoScroll.test.d.ts.map +0 -1
- package/internal/__tests__/useAutoScroll.test.js +0 -188
- package/internal/__tests__/useAutoScroll.test.js.map +0 -1
- package/internal/__tests__/useFetch-cache.test.d.ts +0 -2
- package/internal/__tests__/useFetch-cache.test.d.ts.map +0 -1
- package/internal/__tests__/useFetch-cache.test.js +0 -137
- package/internal/__tests__/useFetch-cache.test.js.map +0 -1
- package/internal/__tests__/useFetch-identity-reset.test.d.ts +0 -2
- package/internal/__tests__/useFetch-identity-reset.test.d.ts.map +0 -1
- package/internal/__tests__/useFetch-identity-reset.test.js +0 -281
- package/internal/__tests__/useFetch-identity-reset.test.js.map +0 -1
- package/internal/__tests__/useFetch.test.d.ts +0 -2
- package/internal/__tests__/useFetch.test.d.ts.map +0 -1
- package/internal/__tests__/useFetch.test.js +0 -95
- package/internal/__tests__/useFetch.test.js.map +0 -1
- package/internal/dev/__tests__/use-key-stability.test.d.ts +0 -2
- package/internal/dev/__tests__/use-key-stability.test.d.ts.map +0 -1
- package/internal/dev/__tests__/use-key-stability.test.js +0 -72
- package/internal/dev/__tests__/use-key-stability.test.js.map +0 -1
- package/internal/dev/__tests__/use-render-tracer.test.d.ts +0 -2
- package/internal/dev/__tests__/use-render-tracer.test.d.ts.map +0 -1
- package/internal/dev/__tests__/use-render-tracer.test.js +0 -55
- package/internal/dev/__tests__/use-render-tracer.test.js.map +0 -1
- package/internal/file-tree/__tests__/FileTreeNode-drag.test.d.ts +0 -2
- package/internal/file-tree/__tests__/FileTreeNode-drag.test.d.ts.map +0 -1
- package/internal/file-tree/__tests__/FileTreeNode-drag.test.js +0 -55
- package/internal/file-tree/__tests__/FileTreeNode-drag.test.js.map +0 -1
- package/internal/file-tree/__tests__/buildFileTree.test.d.ts +0 -2
- package/internal/file-tree/__tests__/buildFileTree.test.d.ts.map +0 -1
- package/internal/file-tree/__tests__/buildFileTree.test.js +0 -102
- package/internal/file-tree/__tests__/buildFileTree.test.js.map +0 -1
- package/internal/file-tree/__tests__/filterFileTree.test.d.ts +0 -2
- package/internal/file-tree/__tests__/filterFileTree.test.d.ts.map +0 -1
- package/internal/file-tree/__tests__/filterFileTree.test.js +0 -120
- package/internal/file-tree/__tests__/filterFileTree.test.js.map +0 -1
- package/internal/store/__tests__/conversation-store.test.d.ts +0 -2
- package/internal/store/__tests__/conversation-store.test.d.ts.map +0 -1
- package/internal/store/__tests__/conversation-store.test.js +0 -200
- package/internal/store/__tests__/conversation-store.test.js.map +0 -1
- package/internal/store/__tests__/selection-store.test.d.ts +0 -2
- package/internal/store/__tests__/selection-store.test.d.ts.map +0 -1
- package/internal/store/__tests__/selection-store.test.js +0 -93
- package/internal/store/__tests__/selection-store.test.js.map +0 -1
- package/internal/store/__tests__/structural-share.test.d.ts +0 -2
- package/internal/store/__tests__/structural-share.test.d.ts.map +0 -1
- package/internal/store/__tests__/structural-share.test.js +0 -368
- package/internal/store/__tests__/structural-share.test.js.map +0 -1
- package/internal/store/__tests__/workflow-execution-event-store.test.d.ts +0 -2
- package/internal/store/__tests__/workflow-execution-event-store.test.d.ts.map +0 -1
- package/internal/store/__tests__/workflow-execution-event-store.test.js +0 -215
- package/internal/store/__tests__/workflow-execution-event-store.test.js.map +0 -1
- package/invitation/__tests__/useCreateInvitation.test.d.ts +0 -2
- package/invitation/__tests__/useCreateInvitation.test.d.ts.map +0 -1
- package/invitation/__tests__/useCreateInvitation.test.js +0 -152
- package/invitation/__tests__/useCreateInvitation.test.js.map +0 -1
- package/models/__tests__/HarnessSelector.test.d.ts +0 -2
- package/models/__tests__/HarnessSelector.test.d.ts.map +0 -1
- package/models/__tests__/HarnessSelector.test.js +0 -160
- package/models/__tests__/HarnessSelector.test.js.map +0 -1
- package/models/__tests__/harness.test.d.ts +0 -2
- package/models/__tests__/harness.test.d.ts.map +0 -1
- package/models/__tests__/harness.test.js +0 -50
- package/models/__tests__/harness.test.js.map +0 -1
- package/models/__tests__/useModelRegistry.test.d.ts +0 -2
- package/models/__tests__/useModelRegistry.test.d.ts.map +0 -1
- package/models/__tests__/useModelRegistry.test.js +0 -246
- package/models/__tests__/useModelRegistry.test.js.map +0 -1
- package/session/__tests__/execution-target.test.d.ts +0 -2
- package/session/__tests__/execution-target.test.d.ts.map +0 -1
- package/session/__tests__/execution-target.test.js +0 -34
- package/session/__tests__/execution-target.test.js.map +0 -1
- package/session/__tests__/group-sessions.test.d.ts +0 -2
- package/session/__tests__/group-sessions.test.d.ts.map +0 -1
- package/session/__tests__/group-sessions.test.js +0 -91
- package/session/__tests__/group-sessions.test.js.map +0 -1
- package/session/__tests__/session-spec-converters.test.d.ts +0 -2
- package/session/__tests__/session-spec-converters.test.d.ts.map +0 -1
- package/session/__tests__/session-spec-converters.test.js +0 -160
- package/session/__tests__/session-spec-converters.test.js.map +0 -1
- package/session/__tests__/useCreateSession.test.d.ts +0 -2
- package/session/__tests__/useCreateSession.test.d.ts.map +0 -1
- package/session/__tests__/useCreateSession.test.js +0 -228
- package/session/__tests__/useCreateSession.test.js.map +0 -1
- package/session/__tests__/useNewSessionFlow.test.d.ts +0 -2
- package/session/__tests__/useNewSessionFlow.test.d.ts.map +0 -1
- package/session/__tests__/useNewSessionFlow.test.js +0 -364
- package/session/__tests__/useNewSessionFlow.test.js.map +0 -1
- package/session/__tests__/usePersistedModel.test.d.ts +0 -2
- package/session/__tests__/usePersistedModel.test.d.ts.map +0 -1
- package/session/__tests__/usePersistedModel.test.js +0 -96
- package/session/__tests__/usePersistedModel.test.js.map +0 -1
- package/session/__tests__/useSession.test.d.ts +0 -2
- package/session/__tests__/useSession.test.d.ts.map +0 -1
- package/session/__tests__/useSession.test.js +0 -93
- package/session/__tests__/useSession.test.js.map +0 -1
- package/session/__tests__/useSessionConversation.test.d.ts +0 -2
- package/session/__tests__/useSessionConversation.test.d.ts.map +0 -1
- package/session/__tests__/useSessionConversation.test.js +0 -246
- package/session/__tests__/useSessionConversation.test.js.map +0 -1
- package/session/__tests__/useSessionList.test.d.ts +0 -2
- package/session/__tests__/useSessionList.test.d.ts.map +0 -1
- package/session/__tests__/useSessionList.test.js +0 -63
- package/session/__tests__/useSessionList.test.js.map +0 -1
- package/session/__tests__/useSessionUsage.test.d.ts +0 -2
- package/session/__tests__/useSessionUsage.test.d.ts.map +0 -1
- package/session/__tests__/useSessionUsage.test.js +0 -146
- package/session/__tests__/useSessionUsage.test.js.map +0 -1
- package/session/inspector/__tests__/useSessionInspector.test.d.ts +0 -2
- package/session/inspector/__tests__/useSessionInspector.test.d.ts.map +0 -1
- package/session/inspector/__tests__/useSessionInspector.test.js +0 -195
- package/session/inspector/__tests__/useSessionInspector.test.js.map +0 -1
- package/test/__tests__/samples.test.d.ts +0 -2
- package/test/__tests__/samples.test.d.ts.map +0 -1
- package/test/__tests__/samples.test.js +0 -152
- package/test/__tests__/samples.test.js.map +0 -1
- package/workflow/__tests__/ExecutionInspector.test.d.ts +0 -2
- package/workflow/__tests__/ExecutionInspector.test.d.ts.map +0 -1
- package/workflow/__tests__/ExecutionInspector.test.js +0 -91
- package/workflow/__tests__/ExecutionInspector.test.js.map +0 -1
- package/workflow/__tests__/WorkflowArchitectDialog.test.d.ts +0 -2
- package/workflow/__tests__/WorkflowArchitectDialog.test.d.ts.map +0 -1
- package/workflow/__tests__/WorkflowArchitectDialog.test.js +0 -126
- package/workflow/__tests__/WorkflowArchitectDialog.test.js.map +0 -1
- package/workflow/__tests__/WorkflowRefinePanel.test.d.ts +0 -2
- package/workflow/__tests__/WorkflowRefinePanel.test.d.ts.map +0 -1
- package/workflow/__tests__/WorkflowRefinePanel.test.js +0 -138
- package/workflow/__tests__/WorkflowRefinePanel.test.js.map +0 -1
- package/workflow/__tests__/WorkflowRepairCard.test.d.ts +0 -2
- package/workflow/__tests__/WorkflowRepairCard.test.d.ts.map +0 -1
- package/workflow/__tests__/WorkflowRepairCard.test.js +0 -158
- package/workflow/__tests__/WorkflowRepairCard.test.js.map +0 -1
- package/workflow/__tests__/WorkflowTaskApprovalCard.test.d.ts +0 -2
- package/workflow/__tests__/WorkflowTaskApprovalCard.test.d.ts.map +0 -1
- package/workflow/__tests__/WorkflowTaskApprovalCard.test.js +0 -221
- package/workflow/__tests__/WorkflowTaskApprovalCard.test.js.map +0 -1
- package/workflow/__tests__/WorkflowTaskApprovalSummary.test.d.ts +0 -2
- package/workflow/__tests__/WorkflowTaskApprovalSummary.test.d.ts.map +0 -1
- package/workflow/__tests__/WorkflowTaskApprovalSummary.test.js +0 -94
- package/workflow/__tests__/WorkflowTaskApprovalSummary.test.js.map +0 -1
- package/workflow/__tests__/agent-call-live-experience.test.d.ts +0 -11
- package/workflow/__tests__/agent-call-live-experience.test.d.ts.map +0 -1
- package/workflow/__tests__/agent-call-live-experience.test.js +0 -379
- package/workflow/__tests__/agent-call-live-experience.test.js.map +0 -1
- package/workflow/__tests__/branch-commands.test.d.ts +0 -2
- package/workflow/__tests__/branch-commands.test.d.ts.map +0 -1
- package/workflow/__tests__/branch-commands.test.js +0 -165
- package/workflow/__tests__/branch-commands.test.js.map +0 -1
- package/workflow/__tests__/caption-dimensions.test.d.ts +0 -2
- package/workflow/__tests__/caption-dimensions.test.d.ts.map +0 -1
- package/workflow/__tests__/caption-dimensions.test.js +0 -89
- package/workflow/__tests__/caption-dimensions.test.js.map +0 -1
- package/workflow/__tests__/clipboard.test.d.ts +0 -2
- package/workflow/__tests__/clipboard.test.d.ts.map +0 -1
- package/workflow/__tests__/clipboard.test.js +0 -172
- package/workflow/__tests__/clipboard.test.js.map +0 -1
- package/workflow/__tests__/cncf-yaml-to-graph.test.d.ts +0 -2
- package/workflow/__tests__/cncf-yaml-to-graph.test.d.ts.map +0 -1
- package/workflow/__tests__/cncf-yaml-to-graph.test.js +0 -479
- package/workflow/__tests__/cncf-yaml-to-graph.test.js.map +0 -1
- package/workflow/__tests__/context-menu-logic.test.d.ts +0 -2
- package/workflow/__tests__/context-menu-logic.test.d.ts.map +0 -1
- package/workflow/__tests__/context-menu-logic.test.js +0 -97
- package/workflow/__tests__/context-menu-logic.test.js.map +0 -1
- package/workflow/__tests__/derive-execution-overlays.test.d.ts +0 -2
- package/workflow/__tests__/derive-execution-overlays.test.d.ts.map +0 -1
- package/workflow/__tests__/derive-execution-overlays.test.js +0 -338
- package/workflow/__tests__/derive-execution-overlays.test.js.map +0 -1
- package/workflow/__tests__/derive-task-detail.test.d.ts +0 -2
- package/workflow/__tests__/derive-task-detail.test.d.ts.map +0 -1
- package/workflow/__tests__/derive-task-detail.test.js +0 -1035
- package/workflow/__tests__/derive-task-detail.test.js.map +0 -1
- package/workflow/__tests__/derive-waterfall-entries.test.d.ts +0 -2
- package/workflow/__tests__/derive-waterfall-entries.test.d.ts.map +0 -1
- package/workflow/__tests__/derive-waterfall-entries.test.js +0 -419
- package/workflow/__tests__/derive-waterfall-entries.test.js.map +0 -1
- package/workflow/__tests__/execution-graph.test.d.ts +0 -2
- package/workflow/__tests__/execution-graph.test.d.ts.map +0 -1
- package/workflow/__tests__/execution-graph.test.js +0 -251
- package/workflow/__tests__/execution-graph.test.js.map +0 -1
- package/workflow/__tests__/execution-inspector.test.d.ts +0 -2
- package/workflow/__tests__/execution-inspector.test.d.ts.map +0 -1
- package/workflow/__tests__/execution-inspector.test.js +0 -248
- package/workflow/__tests__/execution-inspector.test.js.map +0 -1
- package/workflow/__tests__/extract-workflow-yaml.test.d.ts +0 -2
- package/workflow/__tests__/extract-workflow-yaml.test.d.ts.map +0 -1
- package/workflow/__tests__/extract-workflow-yaml.test.js +0 -135
- package/workflow/__tests__/extract-workflow-yaml.test.js.map +0 -1
- package/workflow/__tests__/format-utils.test.d.ts +0 -2
- package/workflow/__tests__/format-utils.test.d.ts.map +0 -1
- package/workflow/__tests__/format-utils.test.js +0 -128
- package/workflow/__tests__/format-utils.test.js.map +0 -1
- package/workflow/__tests__/inspector-commands.test.d.ts +0 -2
- package/workflow/__tests__/inspector-commands.test.d.ts.map +0 -1
- package/workflow/__tests__/inspector-commands.test.js +0 -110
- package/workflow/__tests__/inspector-commands.test.js.map +0 -1
- package/workflow/__tests__/inspector-forms.test.d.ts +0 -2
- package/workflow/__tests__/inspector-forms.test.d.ts.map +0 -1
- package/workflow/__tests__/inspector-forms.test.js +0 -114
- package/workflow/__tests__/inspector-forms.test.js.map +0 -1
- package/workflow/__tests__/inspector-tabs.test.d.ts +0 -2
- package/workflow/__tests__/inspector-tabs.test.d.ts.map +0 -1
- package/workflow/__tests__/inspector-tabs.test.js +0 -81
- package/workflow/__tests__/inspector-tabs.test.js.map +0 -1
- package/workflow/__tests__/kind-metadata.test.d.ts +0 -2
- package/workflow/__tests__/kind-metadata.test.d.ts.map +0 -1
- package/workflow/__tests__/kind-metadata.test.js +0 -80
- package/workflow/__tests__/kind-metadata.test.js.map +0 -1
- package/workflow/__tests__/motion-preference.test.d.ts +0 -2
- package/workflow/__tests__/motion-preference.test.d.ts.map +0 -1
- package/workflow/__tests__/motion-preference.test.js +0 -42
- package/workflow/__tests__/motion-preference.test.js.map +0 -1
- package/workflow/__tests__/node-popover.test.d.ts +0 -2
- package/workflow/__tests__/node-popover.test.d.ts.map +0 -1
- package/workflow/__tests__/node-popover.test.js +0 -130
- package/workflow/__tests__/node-popover.test.js.map +0 -1
- package/workflow/__tests__/node-shell.test.d.ts +0 -2
- package/workflow/__tests__/node-shell.test.d.ts.map +0 -1
- package/workflow/__tests__/node-shell.test.js +0 -210
- package/workflow/__tests__/node-shell.test.js.map +0 -1
- package/workflow/__tests__/overview-graph.test.d.ts +0 -2
- package/workflow/__tests__/overview-graph.test.d.ts.map +0 -1
- package/workflow/__tests__/overview-graph.test.js +0 -83
- package/workflow/__tests__/overview-graph.test.js.map +0 -1
- package/workflow/__tests__/overview-summary.test.d.ts +0 -2
- package/workflow/__tests__/overview-summary.test.d.ts.map +0 -1
- package/workflow/__tests__/overview-summary.test.js +0 -73
- package/workflow/__tests__/overview-summary.test.js.map +0 -1
- package/workflow/__tests__/shortcut-registry.test.d.ts +0 -2
- package/workflow/__tests__/shortcut-registry.test.d.ts.map +0 -1
- package/workflow/__tests__/shortcut-registry.test.js +0 -111
- package/workflow/__tests__/shortcut-registry.test.js.map +0 -1
- package/workflow/__tests__/starter-workflow-yaml.test.d.ts +0 -2
- package/workflow/__tests__/starter-workflow-yaml.test.d.ts.map +0 -1
- package/workflow/__tests__/starter-workflow-yaml.test.js +0 -44
- package/workflow/__tests__/starter-workflow-yaml.test.js.map +0 -1
- package/workflow/__tests__/structured-data-viewer.test.d.ts +0 -2
- package/workflow/__tests__/structured-data-viewer.test.d.ts.map +0 -1
- package/workflow/__tests__/structured-data-viewer.test.js +0 -438
- package/workflow/__tests__/structured-data-viewer.test.js.map +0 -1
- package/workflow/__tests__/t09-branch-management.test.d.ts +0 -2
- package/workflow/__tests__/t09-branch-management.test.d.ts.map +0 -1
- package/workflow/__tests__/t09-branch-management.test.js +0 -433
- package/workflow/__tests__/t09-branch-management.test.js.map +0 -1
- package/workflow/__tests__/task-type-visual-registry.test.d.ts +0 -2
- package/workflow/__tests__/task-type-visual-registry.test.d.ts.map +0 -1
- package/workflow/__tests__/task-type-visual-registry.test.js +0 -99
- package/workflow/__tests__/task-type-visual-registry.test.js.map +0 -1
- package/workflow/__tests__/useActiveTaskName.test.d.ts +0 -2
- package/workflow/__tests__/useActiveTaskName.test.d.ts.map +0 -1
- package/workflow/__tests__/useActiveTaskName.test.js +0 -80
- package/workflow/__tests__/useActiveTaskName.test.js.map +0 -1
- package/workflow/__tests__/useDiagnoseExecutionFlow.test.d.ts +0 -2
- package/workflow/__tests__/useDiagnoseExecutionFlow.test.d.ts.map +0 -1
- package/workflow/__tests__/useDiagnoseExecutionFlow.test.js +0 -363
- package/workflow/__tests__/useDiagnoseExecutionFlow.test.js.map +0 -1
- package/workflow/__tests__/useExecutionAnnouncements.test.d.ts +0 -2
- package/workflow/__tests__/useExecutionAnnouncements.test.d.ts.map +0 -1
- package/workflow/__tests__/useExecutionAnnouncements.test.js +0 -85
- package/workflow/__tests__/useExecutionAnnouncements.test.js.map +0 -1
- package/workflow/__tests__/useFollowExecution.test.d.ts +0 -2
- package/workflow/__tests__/useFollowExecution.test.d.ts.map +0 -1
- package/workflow/__tests__/useFollowExecution.test.js +0 -130
- package/workflow/__tests__/useFollowExecution.test.js.map +0 -1
- package/workflow/__tests__/useRefineWorkflowFlow.test.d.ts +0 -2
- package/workflow/__tests__/useRefineWorkflowFlow.test.d.ts.map +0 -1
- package/workflow/__tests__/useRefineWorkflowFlow.test.js +0 -367
- package/workflow/__tests__/useRefineWorkflowFlow.test.js.map +0 -1
- package/workflow/__tests__/useRunWorkflowFlow.test.d.ts +0 -2
- package/workflow/__tests__/useRunWorkflowFlow.test.d.ts.map +0 -1
- package/workflow/__tests__/useRunWorkflowFlow.test.js +0 -385
- package/workflow/__tests__/useRunWorkflowFlow.test.js.map +0 -1
- package/workflow/__tests__/useWorkflowArchitectFlow.test.d.ts +0 -2
- package/workflow/__tests__/useWorkflowArchitectFlow.test.d.ts.map +0 -1
- package/workflow/__tests__/useWorkflowArchitectFlow.test.js +0 -376
- package/workflow/__tests__/useWorkflowArchitectFlow.test.js.map +0 -1
- package/workflow/__tests__/useWorkflowExecution.test.d.ts +0 -2
- package/workflow/__tests__/useWorkflowExecution.test.d.ts.map +0 -1
- package/workflow/__tests__/useWorkflowExecution.test.js +0 -229
- package/workflow/__tests__/useWorkflowExecution.test.js.map +0 -1
- package/workflow/__tests__/useWorkflowExecutionActions.test.d.ts +0 -2
- package/workflow/__tests__/useWorkflowExecutionActions.test.d.ts.map +0 -1
- package/workflow/__tests__/useWorkflowExecutionActions.test.js +0 -191
- package/workflow/__tests__/useWorkflowExecutionActions.test.js.map +0 -1
- package/workflow/__tests__/useWorkflowExecutionEventStream.test.d.ts +0 -2
- package/workflow/__tests__/useWorkflowExecutionEventStream.test.d.ts.map +0 -1
- package/workflow/__tests__/useWorkflowExecutionEventStream.test.js +0 -291
- package/workflow/__tests__/useWorkflowExecutionEventStream.test.js.map +0 -1
- package/workflow/__tests__/workflow-instance-hooks.test.d.ts +0 -2
- package/workflow/__tests__/workflow-instance-hooks.test.d.ts.map +0 -1
- package/workflow/__tests__/workflow-instance-hooks.test.js +0 -153
- package/workflow/__tests__/workflow-instance-hooks.test.js.map +0 -1
- package/workflow/__tests__/workflow-summary-panel.test.d.ts +0 -2
- package/workflow/__tests__/workflow-summary-panel.test.d.ts.map +0 -1
- package/workflow/__tests__/workflow-summary-panel.test.js +0 -85
- package/workflow/__tests__/workflow-summary-panel.test.js.map +0 -1
- package/workflow/__tests__/workflow-uses-trigger-input.test.d.ts +0 -2
- package/workflow/__tests__/workflow-uses-trigger-input.test.d.ts.map +0 -1
- package/workflow/__tests__/workflow-uses-trigger-input.test.js +0 -144
- package/workflow/__tests__/workflow-uses-trigger-input.test.js.map +0 -1
- package/workflow/__tests__/workflow-yaml-diff.test.d.ts +0 -2
- package/workflow/__tests__/workflow-yaml-diff.test.d.ts.map +0 -1
- package/workflow/__tests__/workflow-yaml-diff.test.js +0 -110
- package/workflow/__tests__/workflow-yaml-diff.test.js.map +0 -1
- package/workflow/diff/__tests__/build-diff-graph.test.d.ts +0 -2
- package/workflow/diff/__tests__/build-diff-graph.test.d.ts.map +0 -1
- package/workflow/diff/__tests__/build-diff-graph.test.js +0 -115
- package/workflow/diff/__tests__/build-diff-graph.test.js.map +0 -1
- package/workflow/diff/__tests__/graph-diff.test.d.ts +0 -2
- package/workflow/diff/__tests__/graph-diff.test.d.ts.map +0 -1
- package/workflow/diff/__tests__/graph-diff.test.js +0 -196
- package/workflow/diff/__tests__/graph-diff.test.js.map +0 -1
- package/workflow/execution-comparison/__tests__/derive-execution-comparison.test.d.ts +0 -2
- package/workflow/execution-comparison/__tests__/derive-execution-comparison.test.d.ts.map +0 -1
- package/workflow/execution-comparison/__tests__/derive-execution-comparison.test.js +0 -263
- package/workflow/execution-comparison/__tests__/derive-execution-comparison.test.js.map +0 -1
- package/workflow/execution-history/__tests__/derive-execution-row.test.d.ts +0 -2
- package/workflow/execution-history/__tests__/derive-execution-row.test.d.ts.map +0 -1
- package/workflow/execution-history/__tests__/derive-execution-row.test.js +0 -276
- package/workflow/execution-history/__tests__/derive-execution-row.test.js.map +0 -1
- package/workflow/execution-history/__tests__/derive-failure-analysis.test.d.ts +0 -2
- package/workflow/execution-history/__tests__/derive-failure-analysis.test.d.ts.map +0 -1
- package/workflow/execution-history/__tests__/derive-failure-analysis.test.js +0 -132
- package/workflow/execution-history/__tests__/derive-failure-analysis.test.js.map +0 -1
- package/workflow/layout/__tests__/dagre-layout-engine.test.d.ts +0 -2
- package/workflow/layout/__tests__/dagre-layout-engine.test.d.ts.map +0 -1
- package/workflow/layout/__tests__/dagre-layout-engine.test.js +0 -105
- package/workflow/layout/__tests__/dagre-layout-engine.test.js.map +0 -1
- package/workflow/layout/__tests__/layout-postprocessor.test.d.ts +0 -2
- package/workflow/layout/__tests__/layout-postprocessor.test.d.ts.map +0 -1
- package/workflow/layout/__tests__/layout-postprocessor.test.js +0 -123
- package/workflow/layout/__tests__/layout-postprocessor.test.js.map +0 -1
- package/workflow/layout/__tests__/port-assignment.test.d.ts +0 -2
- package/workflow/layout/__tests__/port-assignment.test.d.ts.map +0 -1
- package/workflow/layout/__tests__/port-assignment.test.js +0 -200
- package/workflow/layout/__tests__/port-assignment.test.js.map +0 -1
- package/workflow/layout/__tests__/registry-dimensions.test.d.ts +0 -2
- package/workflow/layout/__tests__/registry-dimensions.test.d.ts.map +0 -1
- package/workflow/layout/__tests__/registry-dimensions.test.js +0 -104
- package/workflow/layout/__tests__/registry-dimensions.test.js.map +0 -1
- package/workflow/layout/__tests__/useElkLayoutEngine.test.d.ts +0 -2
- package/workflow/layout/__tests__/useElkLayoutEngine.test.d.ts.map +0 -1
- package/workflow/layout/__tests__/useElkLayoutEngine.test.js +0 -106
- package/workflow/layout/__tests__/useElkLayoutEngine.test.js.map +0 -1
- package/workflow/layout/__tests__/workflow-preprocessor.test.d.ts +0 -2
- package/workflow/layout/__tests__/workflow-preprocessor.test.d.ts.map +0 -1
- package/workflow/layout/__tests__/workflow-preprocessor.test.js +0 -138
- package/workflow/layout/__tests__/workflow-preprocessor.test.js.map +0 -1
- package/workflow/picker/__tests__/compatibility.test.d.ts +0 -2
- package/workflow/picker/__tests__/compatibility.test.d.ts.map +0 -1
- package/workflow/picker/__tests__/compatibility.test.js +0 -93
- package/workflow/picker/__tests__/compatibility.test.js.map +0 -1
- package/workflow/picker/__tests__/insertion-context.test.d.ts +0 -2
- package/workflow/picker/__tests__/insertion-context.test.d.ts.map +0 -1
- package/workflow/picker/__tests__/insertion-context.test.js +0 -67
- package/workflow/picker/__tests__/insertion-context.test.js.map +0 -1
- package/workflow/picker/__tests__/recents.test.d.ts +0 -2
- package/workflow/picker/__tests__/recents.test.d.ts.map +0 -1
- package/workflow/picker/__tests__/recents.test.js +0 -81
- package/workflow/picker/__tests__/recents.test.js.map +0 -1
- package/workflow/picker/__tests__/suggestions.test.d.ts +0 -2
- package/workflow/picker/__tests__/suggestions.test.d.ts.map +0 -1
- package/workflow/picker/__tests__/suggestions.test.js +0 -111
- package/workflow/picker/__tests__/suggestions.test.js.map +0 -1
- package/workflow/templates/__tests__/derive-template-metadata.test.d.ts +0 -2
- package/workflow/templates/__tests__/derive-template-metadata.test.d.ts.map +0 -1
- package/workflow/templates/__tests__/derive-template-metadata.test.js +0 -317
- package/workflow/templates/__tests__/derive-template-metadata.test.js.map +0 -1
- package/workflow/templates/__tests__/workflow-template-gallery.test.d.ts +0 -2
- package/workflow/templates/__tests__/workflow-template-gallery.test.d.ts.map +0 -1
- package/workflow/templates/__tests__/workflow-template-gallery.test.js +0 -119
- package/workflow/templates/__tests__/workflow-template-gallery.test.js.map +0 -1
- package/workspace/__tests__/WorkspaceEditor-initialPanel.test.d.ts +0 -2
- package/workspace/__tests__/WorkspaceEditor-initialPanel.test.d.ts.map +0 -1
- package/workspace/__tests__/WorkspaceEditor-initialPanel.test.js +0 -82
- package/workspace/__tests__/WorkspaceEditor-initialPanel.test.js.map +0 -1
- package/workspace/__tests__/useWorkspaceEntries-stability.test.d.ts +0 -2
- package/workspace/__tests__/useWorkspaceEntries-stability.test.d.ts.map +0 -1
- package/workspace/__tests__/useWorkspaceEntries-stability.test.js +0 -57
- package/workspace/__tests__/useWorkspaceEntries-stability.test.js.map +0 -1
- package/workspace/__tests__/useWorkspaceFiles.test.d.ts +0 -2
- package/workspace/__tests__/useWorkspaceFiles.test.d.ts.map +0 -1
- package/workspace/__tests__/useWorkspaceFiles.test.js +0 -128
- package/workspace/__tests__/useWorkspaceFiles.test.js.map +0 -1
- package/workspace/__tests__/useWorkspaceSources.test.d.ts +0 -2
- package/workspace/__tests__/useWorkspaceSources.test.d.ts.map +0 -1
- package/workspace/__tests__/useWorkspaceSources.test.js +0 -98
- package/workspace/__tests__/useWorkspaceSources.test.js.map +0 -1
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
3
|
-
import { renderHook, act } from "@testing-library/react";
|
|
4
|
-
import { StigmerContext } from "../../context";
|
|
5
|
-
import { FetchCacheContext } from "../../internal/FetchCacheProvider";
|
|
6
|
-
import { ExecutionTargetContext } from "../../execution-target-context";
|
|
7
|
-
import { useCreateSession } from "../useCreateSession";
|
|
8
|
-
function createMockStigmer(overrides = {}) {
|
|
9
|
-
return {
|
|
10
|
-
agent: {
|
|
11
|
-
getByReference: overrides.getByReference ?? vi.fn().mockResolvedValue({
|
|
12
|
-
status: { defaultInstanceId: "ain-default" },
|
|
13
|
-
}),
|
|
14
|
-
},
|
|
15
|
-
session: {
|
|
16
|
-
create: overrides.create ?? vi.fn().mockResolvedValue({
|
|
17
|
-
metadata: { id: "ses-new-1" },
|
|
18
|
-
}),
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function wrapper(client) {
|
|
23
|
-
return function Wrapper({ children }) {
|
|
24
|
-
return (_jsx(FetchCacheContext.Provider, { value: null, children: _jsx(StigmerContext.Provider, { value: client, children: children }) }));
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
describe("useCreateSession", () => {
|
|
28
|
-
beforeEach(() => {
|
|
29
|
-
vi.restoreAllMocks();
|
|
30
|
-
});
|
|
31
|
-
it("creates a session with agentInstanceId", async () => {
|
|
32
|
-
const create = vi.fn().mockResolvedValue({ metadata: { id: "ses-123" } });
|
|
33
|
-
const client = createMockStigmer({ create });
|
|
34
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
35
|
-
wrapper: wrapper(client),
|
|
36
|
-
});
|
|
37
|
-
expect(result.current.isCreating).toBe(false);
|
|
38
|
-
let sessionResult;
|
|
39
|
-
await act(async () => {
|
|
40
|
-
sessionResult = await result.current.create({
|
|
41
|
-
org: "acme",
|
|
42
|
-
agentInstanceId: "ain-123",
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
expect(sessionResult.sessionId).toBe("ses-123");
|
|
46
|
-
expect(result.current.isCreating).toBe(false);
|
|
47
|
-
expect(result.current.error).toBeNull();
|
|
48
|
-
expect(create).toHaveBeenCalledTimes(1);
|
|
49
|
-
expect(create).toHaveBeenCalledWith(expect.objectContaining({
|
|
50
|
-
org: "acme",
|
|
51
|
-
agentInstanceId: "ain-123",
|
|
52
|
-
}));
|
|
53
|
-
});
|
|
54
|
-
it("resolves agentRef to default instance before creating", async () => {
|
|
55
|
-
const getByReference = vi.fn().mockResolvedValue({
|
|
56
|
-
status: { defaultInstanceId: "ain-resolved" },
|
|
57
|
-
});
|
|
58
|
-
const create = vi.fn().mockResolvedValue({ metadata: { id: "ses-456" } });
|
|
59
|
-
const client = createMockStigmer({ getByReference, create });
|
|
60
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
61
|
-
wrapper: wrapper(client),
|
|
62
|
-
});
|
|
63
|
-
await act(async () => {
|
|
64
|
-
await result.current.create({
|
|
65
|
-
org: "acme",
|
|
66
|
-
agentRef: { org: "acme", slug: "my-agent" },
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
expect(getByReference).toHaveBeenCalledWith({ org: "acme", slug: "my-agent" });
|
|
70
|
-
expect(create).toHaveBeenCalledWith(expect.objectContaining({ agentInstanceId: "ain-resolved" }));
|
|
71
|
-
});
|
|
72
|
-
it("errors when agentRef resolves to agent without default instance", async () => {
|
|
73
|
-
const getByReference = vi.fn().mockResolvedValue({
|
|
74
|
-
status: { defaultInstanceId: "" },
|
|
75
|
-
});
|
|
76
|
-
const client = createMockStigmer({ getByReference });
|
|
77
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
78
|
-
wrapper: wrapper(client),
|
|
79
|
-
});
|
|
80
|
-
// The hook catches the error, sets state, and re-throws.
|
|
81
|
-
// We need to catch the rethrow to inspect the error state.
|
|
82
|
-
let caughtError;
|
|
83
|
-
await act(async () => {
|
|
84
|
-
try {
|
|
85
|
-
await result.current.create({
|
|
86
|
-
org: "acme",
|
|
87
|
-
agentRef: { org: "acme", slug: "no-instance-agent" },
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
caughtError = err;
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
expect(caughtError).toBeTruthy();
|
|
95
|
-
expect(caughtError.message).toContain("does not have a default instance");
|
|
96
|
-
expect(result.current.error).toBeTruthy();
|
|
97
|
-
expect(result.current.error.message).toContain("does not have a default instance");
|
|
98
|
-
});
|
|
99
|
-
it("sets error state on session.create failure", async () => {
|
|
100
|
-
const create = vi.fn().mockRejectedValue(new Error("Permission denied"));
|
|
101
|
-
const client = createMockStigmer({ create });
|
|
102
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
103
|
-
wrapper: wrapper(client),
|
|
104
|
-
});
|
|
105
|
-
let caughtError;
|
|
106
|
-
await act(async () => {
|
|
107
|
-
try {
|
|
108
|
-
await result.current.create({
|
|
109
|
-
org: "acme",
|
|
110
|
-
agentInstanceId: "ain-123",
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
caughtError = err;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
expect(caughtError).toBeTruthy();
|
|
118
|
-
expect(caughtError.message).toBe("Permission denied");
|
|
119
|
-
expect(result.current.error.message).toBe("Permission denied");
|
|
120
|
-
expect(result.current.isCreating).toBe(false);
|
|
121
|
-
});
|
|
122
|
-
it("passes executionTarget to stigmer.session.create()", async () => {
|
|
123
|
-
const create = vi.fn().mockResolvedValue({ metadata: { id: "ses-et" } });
|
|
124
|
-
const client = createMockStigmer({ create });
|
|
125
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
126
|
-
wrapper: wrapper(client),
|
|
127
|
-
});
|
|
128
|
-
await act(async () => {
|
|
129
|
-
await result.current.create({
|
|
130
|
-
org: "acme",
|
|
131
|
-
agentInstanceId: "ain-123",
|
|
132
|
-
executionTarget: "local",
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
expect(create).toHaveBeenCalledWith(expect.objectContaining({
|
|
136
|
-
executionTarget: 1,
|
|
137
|
-
}));
|
|
138
|
-
});
|
|
139
|
-
it("omits executionTarget when not provided", async () => {
|
|
140
|
-
const create = vi.fn().mockResolvedValue({ metadata: { id: "ses-no-et" } });
|
|
141
|
-
const client = createMockStigmer({ create });
|
|
142
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
143
|
-
wrapper: wrapper(client),
|
|
144
|
-
});
|
|
145
|
-
await act(async () => {
|
|
146
|
-
await result.current.create({
|
|
147
|
-
org: "acme",
|
|
148
|
-
agentInstanceId: "ain-123",
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
const callArg = create.mock.calls[0][0];
|
|
152
|
-
expect(callArg.executionTarget).toBeUndefined();
|
|
153
|
-
});
|
|
154
|
-
it("clearError resets the error state", async () => {
|
|
155
|
-
const create = vi.fn().mockRejectedValue(new Error("fail"));
|
|
156
|
-
const client = createMockStigmer({ create });
|
|
157
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
158
|
-
wrapper: wrapper(client),
|
|
159
|
-
});
|
|
160
|
-
await act(async () => {
|
|
161
|
-
try {
|
|
162
|
-
await result.current.create({ org: "acme", agentInstanceId: "ain-1" });
|
|
163
|
-
}
|
|
164
|
-
catch {
|
|
165
|
-
// expected
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
expect(result.current.error).toBeTruthy();
|
|
169
|
-
act(() => result.current.clearError());
|
|
170
|
-
expect(result.current.error).toBeNull();
|
|
171
|
-
});
|
|
172
|
-
describe("executionTarget context fallback", () => {
|
|
173
|
-
function wrapperWithExecutionTarget(client, executionTarget) {
|
|
174
|
-
return function Wrapper({ children }) {
|
|
175
|
-
return (_jsx(FetchCacheContext.Provider, { value: null, children: _jsx(ExecutionTargetContext.Provider, { value: executionTarget, children: _jsx(StigmerContext.Provider, { value: client, children: children }) }) }));
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
it("uses context executionTarget when per-call input omits it", async () => {
|
|
179
|
-
const create = vi.fn().mockResolvedValue({ metadata: { id: "ses-ctx" } });
|
|
180
|
-
const client = createMockStigmer({ create });
|
|
181
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
182
|
-
wrapper: wrapperWithExecutionTarget(client, "local"),
|
|
183
|
-
});
|
|
184
|
-
await act(async () => {
|
|
185
|
-
await result.current.create({
|
|
186
|
-
org: "acme",
|
|
187
|
-
agentInstanceId: "ain-123",
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
expect(create).toHaveBeenCalledWith(expect.objectContaining({
|
|
191
|
-
executionTarget: 1,
|
|
192
|
-
}));
|
|
193
|
-
});
|
|
194
|
-
it("per-call executionTarget overrides context", async () => {
|
|
195
|
-
const create = vi.fn().mockResolvedValue({ metadata: { id: "ses-override" } });
|
|
196
|
-
const client = createMockStigmer({ create });
|
|
197
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
198
|
-
wrapper: wrapperWithExecutionTarget(client, "cloud"),
|
|
199
|
-
});
|
|
200
|
-
await act(async () => {
|
|
201
|
-
await result.current.create({
|
|
202
|
-
org: "acme",
|
|
203
|
-
agentInstanceId: "ain-123",
|
|
204
|
-
executionTarget: "local",
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
expect(create).toHaveBeenCalledWith(expect.objectContaining({
|
|
208
|
-
executionTarget: 1,
|
|
209
|
-
}));
|
|
210
|
-
});
|
|
211
|
-
it("omits executionTarget when neither context nor per-call provides it", async () => {
|
|
212
|
-
const create = vi.fn().mockResolvedValue({ metadata: { id: "ses-none" } });
|
|
213
|
-
const client = createMockStigmer({ create });
|
|
214
|
-
const { result } = renderHook(() => useCreateSession(), {
|
|
215
|
-
wrapper: wrapperWithExecutionTarget(client, undefined),
|
|
216
|
-
});
|
|
217
|
-
await act(async () => {
|
|
218
|
-
await result.current.create({
|
|
219
|
-
org: "acme",
|
|
220
|
-
agentInstanceId: "ain-123",
|
|
221
|
-
});
|
|
222
|
-
});
|
|
223
|
-
const callArg = create.mock.calls[0][0];
|
|
224
|
-
expect(callArg.executionTarget).toBeUndefined();
|
|
225
|
-
});
|
|
226
|
-
});
|
|
227
|
-
});
|
|
228
|
-
//# sourceMappingURL=useCreateSession.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateSession.test.js","sourceRoot":"","sources":["../../../src/session/__tests__/useCreateSession.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNewSessionFlow.test.d.ts","sourceRoot":"","sources":["../../../src/session/__tests__/useNewSessionFlow.test.tsx"],"names":[],"mappings":""}
|
|
@@ -1,364 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
3
|
-
import { renderHook, act } from "@testing-library/react";
|
|
4
|
-
import { DEFAULT_MODEL_ID, DEFAULT_CURSOR_MODEL_ID, parseRegistryJson } from "../../models/registry";
|
|
5
|
-
import { ModelRegistryContext } from "../../models/ModelRegistryContext";
|
|
6
|
-
import { ExecutionTargetContext } from "../../execution-target-context";
|
|
7
|
-
const mockCreateSession = vi.fn();
|
|
8
|
-
vi.mock("../useCreateSession", () => ({
|
|
9
|
-
useCreateSession: () => ({
|
|
10
|
-
create: mockCreateSession,
|
|
11
|
-
isCreating: false,
|
|
12
|
-
error: null,
|
|
13
|
-
clearError: vi.fn(),
|
|
14
|
-
}),
|
|
15
|
-
}));
|
|
16
|
-
const mockCreateExecution = vi.fn();
|
|
17
|
-
vi.mock("../../execution/useCreateAgentExecution", () => ({
|
|
18
|
-
useCreateAgentExecution: () => ({
|
|
19
|
-
create: mockCreateExecution,
|
|
20
|
-
isCreating: false,
|
|
21
|
-
error: null,
|
|
22
|
-
clearError: vi.fn(),
|
|
23
|
-
}),
|
|
24
|
-
}));
|
|
25
|
-
const mockDefaultAgent = {
|
|
26
|
-
agent: null,
|
|
27
|
-
isLoading: false,
|
|
28
|
-
error: null,
|
|
29
|
-
refetch: vi.fn(),
|
|
30
|
-
waitForResolution: vi.fn(),
|
|
31
|
-
};
|
|
32
|
-
vi.mock("../../agent", () => ({
|
|
33
|
-
useDefaultAgent: () => mockDefaultAgent,
|
|
34
|
-
}));
|
|
35
|
-
const mockWorkspace = {
|
|
36
|
-
entries: [],
|
|
37
|
-
hasEntries: false,
|
|
38
|
-
toInput: vi.fn().mockReturnValue([]),
|
|
39
|
-
addGitRepo: vi.fn(),
|
|
40
|
-
addLocalPath: vi.fn(),
|
|
41
|
-
removeEntry: vi.fn(),
|
|
42
|
-
clear: vi.fn(),
|
|
43
|
-
};
|
|
44
|
-
vi.mock("../../workspace", () => ({
|
|
45
|
-
useWorkspaceEntries: () => mockWorkspace,
|
|
46
|
-
}));
|
|
47
|
-
const mockSessionVariables = {
|
|
48
|
-
variables: [],
|
|
49
|
-
hasVariables: false,
|
|
50
|
-
setVariable: vi.fn(),
|
|
51
|
-
removeVariable: vi.fn(),
|
|
52
|
-
clear: vi.fn(),
|
|
53
|
-
toMap: vi.fn().mockReturnValue(new Map()),
|
|
54
|
-
};
|
|
55
|
-
vi.mock("../../execution/useSessionVariables", () => ({
|
|
56
|
-
useSessionVariables: () => mockSessionVariables,
|
|
57
|
-
}));
|
|
58
|
-
import { useNewSessionFlow } from "../useNewSessionFlow";
|
|
59
|
-
const TEST_MODELS = parseRegistryJson({
|
|
60
|
-
models: [
|
|
61
|
-
{ id: "claude-sonnet-4.6", displayName: "Claude Sonnet 4.6", shortDescription: "", speedTier: "fast", provider: "anthropic", harness: "native", costTier: "standard", featured: true, pricing: { inputPricePerMillion: 3, outputPricePerMillion: 15, cacheWritePricePerMillion: 3.75, cacheReadPricePerMillion: 0.3 } },
|
|
62
|
-
{ id: "default", displayName: "Cursor Auto", shortDescription: "", speedTier: "fast", provider: "cursor", harness: "cursor", costTier: "standard", featured: true, pricing: { inputPricePerMillion: 1.25, outputPricePerMillion: 6, cacheWritePricePerMillion: 1.25, cacheReadPricePerMillion: 0.25 } },
|
|
63
|
-
],
|
|
64
|
-
});
|
|
65
|
-
function createWrapper(executionTarget) {
|
|
66
|
-
const state = { models: TEST_MODELS, isLoading: false, error: null, refetch: () => { } };
|
|
67
|
-
return function Wrapper({ children }) {
|
|
68
|
-
return (_jsx(ExecutionTargetContext.Provider, { value: executionTarget, children: _jsx(ModelRegistryContext.Provider, { value: state, children: children }) }));
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
const STORAGE_KEY_HARNESS = "stigmer:session:harness";
|
|
72
|
-
const STORAGE_KEY_MODEL_NATIVE = "stigmer:session:model";
|
|
73
|
-
const STORAGE_KEY_MODEL_CURSOR = "stigmer:session:model:cursor";
|
|
74
|
-
function defaultOptions() {
|
|
75
|
-
return {
|
|
76
|
-
org: "acme",
|
|
77
|
-
onSessionCreated: vi.fn(),
|
|
78
|
-
onError: vi.fn(),
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
describe("useNewSessionFlow", () => {
|
|
82
|
-
beforeEach(() => {
|
|
83
|
-
localStorage.clear();
|
|
84
|
-
mockDefaultAgent.agent = {
|
|
85
|
-
status: { defaultInstanceId: "default-inst" },
|
|
86
|
-
};
|
|
87
|
-
mockDefaultAgent.isLoading = false;
|
|
88
|
-
mockDefaultAgent.error = null;
|
|
89
|
-
mockCreateSession.mockResolvedValue({ sessionId: "sess-new" });
|
|
90
|
-
mockCreateExecution.mockResolvedValue({});
|
|
91
|
-
});
|
|
92
|
-
afterEach(() => {
|
|
93
|
-
vi.restoreAllMocks();
|
|
94
|
-
localStorage.clear();
|
|
95
|
-
});
|
|
96
|
-
describe("harness state", () => {
|
|
97
|
-
it("defaults to native when localStorage is empty", () => {
|
|
98
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
99
|
-
expect(result.current.harness).toBe("native");
|
|
100
|
-
});
|
|
101
|
-
it("restores cursor harness from localStorage", () => {
|
|
102
|
-
localStorage.setItem(STORAGE_KEY_HARNESS, "cursor");
|
|
103
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
104
|
-
expect(result.current.harness).toBe("cursor");
|
|
105
|
-
});
|
|
106
|
-
it("falls back to native for unknown localStorage values", () => {
|
|
107
|
-
localStorage.setItem(STORAGE_KEY_HARNESS, "unknown-value");
|
|
108
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
109
|
-
expect(result.current.harness).toBe("native");
|
|
110
|
-
});
|
|
111
|
-
it("persists harness to localStorage on change", () => {
|
|
112
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
113
|
-
act(() => result.current.setHarness("cursor"));
|
|
114
|
-
expect(localStorage.getItem(STORAGE_KEY_HARNESS)).toBe("cursor");
|
|
115
|
-
expect(result.current.harness).toBe("cursor");
|
|
116
|
-
});
|
|
117
|
-
it("persists native harness to localStorage", () => {
|
|
118
|
-
localStorage.setItem(STORAGE_KEY_HARNESS, "cursor");
|
|
119
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
120
|
-
act(() => result.current.setHarness("native"));
|
|
121
|
-
expect(localStorage.getItem(STORAGE_KEY_HARNESS)).toBe("native");
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
describe("per-harness model persistence", () => {
|
|
125
|
-
it("uses separate storage keys for native and cursor models", () => {
|
|
126
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
127
|
-
act(() => result.current.setModelId(DEFAULT_MODEL_ID));
|
|
128
|
-
expect(localStorage.getItem(STORAGE_KEY_MODEL_NATIVE)).toBe(DEFAULT_MODEL_ID);
|
|
129
|
-
expect(localStorage.getItem(STORAGE_KEY_MODEL_CURSOR)).toBeNull();
|
|
130
|
-
});
|
|
131
|
-
it("persists cursor model to cursor-specific key", () => {
|
|
132
|
-
localStorage.setItem(STORAGE_KEY_HARNESS, "cursor");
|
|
133
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
134
|
-
act(() => result.current.setModelId(DEFAULT_CURSOR_MODEL_ID));
|
|
135
|
-
expect(localStorage.getItem(STORAGE_KEY_MODEL_CURSOR)).toBe(DEFAULT_CURSOR_MODEL_ID);
|
|
136
|
-
});
|
|
137
|
-
it("restores per-harness model when switching harness", () => {
|
|
138
|
-
localStorage.setItem(STORAGE_KEY_MODEL_CURSOR, DEFAULT_CURSOR_MODEL_ID);
|
|
139
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
140
|
-
act(() => result.current.setHarness("cursor"));
|
|
141
|
-
expect(result.current.modelId).toBe(DEFAULT_CURSOR_MODEL_ID);
|
|
142
|
-
});
|
|
143
|
-
it("clears modelId when switching to a harness with no stored model", () => {
|
|
144
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
145
|
-
act(() => result.current.setModelId(DEFAULT_MODEL_ID));
|
|
146
|
-
expect(result.current.modelId).toBe(DEFAULT_MODEL_ID);
|
|
147
|
-
act(() => result.current.setHarness("cursor"));
|
|
148
|
-
// No stored cursor model → modelId should be undefined
|
|
149
|
-
// (unless the model happens to be valid in the cursor registry)
|
|
150
|
-
if (result.current.modelId !== undefined) {
|
|
151
|
-
// If it has a value, it must be valid for cursor harness
|
|
152
|
-
expect(result.current.modelId).toBe(localStorage.getItem(STORAGE_KEY_MODEL_CURSOR));
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
it("invalidates modelId when it is not in the active harness registry", () => {
|
|
156
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
157
|
-
// Set a native-only model
|
|
158
|
-
act(() => result.current.setModelId(DEFAULT_MODEL_ID));
|
|
159
|
-
expect(result.current.modelId).toBe(DEFAULT_MODEL_ID);
|
|
160
|
-
// Switch to cursor → native model should be invalidated
|
|
161
|
-
act(() => result.current.setHarness("cursor"));
|
|
162
|
-
// DEFAULT_MODEL_ID (anthropic) is not in cursor registry
|
|
163
|
-
expect(result.current.modelId).not.toBe(DEFAULT_MODEL_ID);
|
|
164
|
-
});
|
|
165
|
-
it("strips compound keys before persisting to localStorage", () => {
|
|
166
|
-
localStorage.setItem(STORAGE_KEY_HARNESS, "cursor");
|
|
167
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
168
|
-
// Simulate compound key from unified mode ModelSelector
|
|
169
|
-
act(() => result.current.setModelId("cursor/default"));
|
|
170
|
-
// Should store plain modelId, not compound key
|
|
171
|
-
expect(localStorage.getItem(STORAGE_KEY_MODEL_CURSOR)).toBe("default");
|
|
172
|
-
});
|
|
173
|
-
it("restores compound keys from localStorage as plain modelId", () => {
|
|
174
|
-
localStorage.setItem(STORAGE_KEY_HARNESS, "cursor");
|
|
175
|
-
// Legacy: compound key was stored before fix
|
|
176
|
-
localStorage.setItem(STORAGE_KEY_MODEL_CURSOR, "cursor/default");
|
|
177
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
178
|
-
// Should extract plain modelId and validate against registry
|
|
179
|
-
expect(result.current.modelId).toBe(DEFAULT_CURSOR_MODEL_ID);
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
describe("model validation timing", () => {
|
|
183
|
-
it("does not restore model while registry is loading", () => {
|
|
184
|
-
localStorage.setItem(STORAGE_KEY_MODEL_NATIVE, DEFAULT_MODEL_ID);
|
|
185
|
-
const loadingState = { models: [], isLoading: true, error: null, refetch: () => { } };
|
|
186
|
-
function LoadingWrapper({ children }) {
|
|
187
|
-
return (_jsx(ModelRegistryContext.Provider, { value: loadingState, children: children }));
|
|
188
|
-
}
|
|
189
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: LoadingWrapper });
|
|
190
|
-
expect(result.current.modelId).toBeUndefined();
|
|
191
|
-
});
|
|
192
|
-
it("restores model once registry has loaded", () => {
|
|
193
|
-
localStorage.setItem(STORAGE_KEY_MODEL_NATIVE, DEFAULT_MODEL_ID);
|
|
194
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
195
|
-
expect(result.current.modelId).toBe(DEFAULT_MODEL_ID);
|
|
196
|
-
});
|
|
197
|
-
it("discards model that no longer exists in the registry", () => {
|
|
198
|
-
localStorage.setItem(STORAGE_KEY_MODEL_NATIVE, "removed-model-xyz");
|
|
199
|
-
const { result } = renderHook(() => useNewSessionFlow(defaultOptions()), { wrapper: createWrapper() });
|
|
200
|
-
expect(result.current.modelId).toBeUndefined();
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
describe("submit with harness", () => {
|
|
204
|
-
it("passes harness field to createSession", async () => {
|
|
205
|
-
const opts = defaultOptions();
|
|
206
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
207
|
-
await act(async () => {
|
|
208
|
-
await result.current.submit("Hello");
|
|
209
|
-
});
|
|
210
|
-
expect(mockCreateSession).toHaveBeenCalledOnce();
|
|
211
|
-
const sessionInput = mockCreateSession.mock.calls[0][0];
|
|
212
|
-
expect(sessionInput.harness).toBe("native");
|
|
213
|
-
});
|
|
214
|
-
it("passes cursor harness to createSession after switching", async () => {
|
|
215
|
-
const opts = defaultOptions();
|
|
216
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
217
|
-
act(() => result.current.setHarness("cursor"));
|
|
218
|
-
await act(async () => {
|
|
219
|
-
await result.current.submit("Hello");
|
|
220
|
-
});
|
|
221
|
-
const sessionInput = mockCreateSession.mock.calls[0][0];
|
|
222
|
-
expect(sessionInput.harness).toBe("cursor");
|
|
223
|
-
});
|
|
224
|
-
it("calls onSessionCreated on success", async () => {
|
|
225
|
-
const opts = defaultOptions();
|
|
226
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
227
|
-
await act(async () => {
|
|
228
|
-
await result.current.submit("Hello");
|
|
229
|
-
});
|
|
230
|
-
expect(opts.onSessionCreated).toHaveBeenCalledWith("sess-new");
|
|
231
|
-
});
|
|
232
|
-
it("sets submitError and calls onError on failure", async () => {
|
|
233
|
-
mockCreateSession.mockRejectedValueOnce(new Error("RPC fail"));
|
|
234
|
-
const opts = defaultOptions();
|
|
235
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
236
|
-
await act(async () => {
|
|
237
|
-
await result.current.submit("Hello");
|
|
238
|
-
});
|
|
239
|
-
expect(result.current.submitError).not.toBeNull();
|
|
240
|
-
expect(opts.onError).toHaveBeenCalled();
|
|
241
|
-
});
|
|
242
|
-
it("resets isSubmitting after completion", async () => {
|
|
243
|
-
const opts = defaultOptions();
|
|
244
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
245
|
-
await act(async () => {
|
|
246
|
-
await result.current.submit("Hello");
|
|
247
|
-
});
|
|
248
|
-
expect(result.current.isSubmitting).toBe(false);
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
describe("submit with executionTarget", () => {
|
|
252
|
-
it("passes executionTarget to createSession when provided", async () => {
|
|
253
|
-
const opts = { ...defaultOptions(), executionTarget: "local" };
|
|
254
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
255
|
-
await act(async () => {
|
|
256
|
-
await result.current.submit("Hello");
|
|
257
|
-
});
|
|
258
|
-
expect(mockCreateSession).toHaveBeenCalledOnce();
|
|
259
|
-
const sessionInput = mockCreateSession.mock.calls[0][0];
|
|
260
|
-
expect(sessionInput.executionTarget).toBe("local");
|
|
261
|
-
});
|
|
262
|
-
it("does not include executionTarget when not provided", async () => {
|
|
263
|
-
const opts = defaultOptions();
|
|
264
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
265
|
-
await act(async () => {
|
|
266
|
-
await result.current.submit("Hello");
|
|
267
|
-
});
|
|
268
|
-
expect(mockCreateSession).toHaveBeenCalledOnce();
|
|
269
|
-
const sessionInput = mockCreateSession.mock.calls[0][0];
|
|
270
|
-
expect(sessionInput.executionTarget).toBeUndefined();
|
|
271
|
-
});
|
|
272
|
-
it("uses context executionTarget when per-hook option is omitted", async () => {
|
|
273
|
-
const opts = defaultOptions();
|
|
274
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper("local") });
|
|
275
|
-
await act(async () => {
|
|
276
|
-
await result.current.submit("Hello");
|
|
277
|
-
});
|
|
278
|
-
expect(mockCreateSession).toHaveBeenCalledOnce();
|
|
279
|
-
const sessionInput = mockCreateSession.mock.calls[0][0];
|
|
280
|
-
expect(sessionInput.executionTarget).toBe("local");
|
|
281
|
-
});
|
|
282
|
-
it("per-hook executionTarget option overrides context", async () => {
|
|
283
|
-
const opts = { ...defaultOptions(), executionTarget: "local" };
|
|
284
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper("cloud") });
|
|
285
|
-
await act(async () => {
|
|
286
|
-
await result.current.submit("Hello");
|
|
287
|
-
});
|
|
288
|
-
expect(mockCreateSession).toHaveBeenCalledOnce();
|
|
289
|
-
const sessionInput = mockCreateSession.mock.calls[0][0];
|
|
290
|
-
expect(sessionInput.executionTarget).toBe("local");
|
|
291
|
-
});
|
|
292
|
-
});
|
|
293
|
-
describe("submit while default agent is loading", () => {
|
|
294
|
-
it("awaits default agent and creates session when fetch resolves", async () => {
|
|
295
|
-
const resolvedAgent = { status: { defaultInstanceId: "awaited-inst" } };
|
|
296
|
-
mockDefaultAgent.agent = null;
|
|
297
|
-
mockDefaultAgent.isLoading = true;
|
|
298
|
-
mockDefaultAgent.error = null;
|
|
299
|
-
mockDefaultAgent.waitForResolution.mockResolvedValue(resolvedAgent);
|
|
300
|
-
const opts = defaultOptions();
|
|
301
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
302
|
-
await act(async () => {
|
|
303
|
-
await result.current.submit("Hello");
|
|
304
|
-
});
|
|
305
|
-
expect(mockDefaultAgent.waitForResolution).toHaveBeenCalledOnce();
|
|
306
|
-
expect(mockCreateSession).toHaveBeenCalledOnce();
|
|
307
|
-
expect(mockCreateSession.mock.calls[0][0].agentInstanceId).toBe("awaited-inst");
|
|
308
|
-
expect(opts.onSessionCreated).toHaveBeenCalledWith("sess-new");
|
|
309
|
-
expect(result.current.submitError).toBeNull();
|
|
310
|
-
});
|
|
311
|
-
it("surfaces error when fetch fails during await", async () => {
|
|
312
|
-
mockDefaultAgent.agent = null;
|
|
313
|
-
mockDefaultAgent.isLoading = true;
|
|
314
|
-
mockDefaultAgent.error = null;
|
|
315
|
-
mockDefaultAgent.waitForResolution.mockRejectedValue(new Error("Network failure"));
|
|
316
|
-
const opts = defaultOptions();
|
|
317
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
318
|
-
await act(async () => {
|
|
319
|
-
await result.current.submit("Hello");
|
|
320
|
-
});
|
|
321
|
-
expect(result.current.submitError).toBeTruthy();
|
|
322
|
-
expect(opts.onError).toHaveBeenCalled();
|
|
323
|
-
expect(mockCreateSession).not.toHaveBeenCalled();
|
|
324
|
-
});
|
|
325
|
-
it("surfaces timeout error when fetch never resolves", async () => {
|
|
326
|
-
vi.useFakeTimers();
|
|
327
|
-
mockDefaultAgent.agent = null;
|
|
328
|
-
mockDefaultAgent.isLoading = true;
|
|
329
|
-
mockDefaultAgent.error = null;
|
|
330
|
-
mockDefaultAgent.waitForResolution.mockReturnValue(new Promise(() => { }));
|
|
331
|
-
const opts = defaultOptions();
|
|
332
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
333
|
-
let submitPromise;
|
|
334
|
-
act(() => {
|
|
335
|
-
submitPromise = result.current.submit("Hello");
|
|
336
|
-
});
|
|
337
|
-
await act(async () => {
|
|
338
|
-
vi.advanceTimersByTime(10_000);
|
|
339
|
-
});
|
|
340
|
-
await act(async () => {
|
|
341
|
-
await submitPromise;
|
|
342
|
-
});
|
|
343
|
-
expect(result.current.submitError).toContain("did not load in time");
|
|
344
|
-
expect(opts.onError).toHaveBeenCalled();
|
|
345
|
-
expect(mockCreateSession).not.toHaveBeenCalled();
|
|
346
|
-
vi.useRealTimers();
|
|
347
|
-
});
|
|
348
|
-
it("errors immediately when default agent has already failed", async () => {
|
|
349
|
-
mockDefaultAgent.agent = null;
|
|
350
|
-
mockDefaultAgent.isLoading = false;
|
|
351
|
-
mockDefaultAgent.error = new Error("Already failed");
|
|
352
|
-
const opts = defaultOptions();
|
|
353
|
-
const { result } = renderHook(() => useNewSessionFlow(opts), { wrapper: createWrapper() });
|
|
354
|
-
await act(async () => {
|
|
355
|
-
await result.current.submit("Hello");
|
|
356
|
-
});
|
|
357
|
-
expect(result.current.submitError).toContain("Failed to load default agent");
|
|
358
|
-
expect(opts.onError).toHaveBeenCalled();
|
|
359
|
-
expect(mockCreateSession).not.toHaveBeenCalled();
|
|
360
|
-
expect(mockDefaultAgent.waitForResolution).not.toHaveBeenCalled();
|
|
361
|
-
});
|
|
362
|
-
});
|
|
363
|
-
});
|
|
364
|
-
//# sourceMappingURL=useNewSessionFlow.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNewSessionFlow.test.js","sourceRoot":"","sources":["../../../src/session/__tests__/useNewSessionFlow.test.tsx"],"names":[],"mappings":"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"}
|