@stigmer/react 3.12.2 → 3.12.3
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/access/ManageAccessDialog.d.ts.map +1 -1
- package/access/ManageAccessDialog.js +3 -19
- package/access/ManageAccessDialog.js.map +1 -1
- package/agent-instance/CreateAgentInstanceDialog.d.ts.map +1 -1
- package/agent-instance/CreateAgentInstanceDialog.js +7 -20
- package/agent-instance/CreateAgentInstanceDialog.js.map +1 -1
- package/attachment/AttachmentImageLightbox.d.ts.map +1 -1
- package/attachment/AttachmentImageLightbox.js +8 -23
- package/attachment/AttachmentImageLightbox.js.map +1 -1
- package/channel/ChannelConversationsDialog.d.ts.map +1 -1
- package/channel/ChannelConversationsDialog.js +3 -19
- package/channel/ChannelConversationsDialog.js.map +1 -1
- package/channel/ChannelCredentialsDialog.d.ts.map +1 -1
- package/channel/ChannelCredentialsDialog.js +3 -19
- package/channel/ChannelCredentialsDialog.js.map +1 -1
- package/channel/ChannelTemplatesDialog.d.ts.map +1 -1
- package/channel/ChannelTemplatesDialog.js +4 -20
- package/channel/ChannelTemplatesDialog.js.map +1 -1
- package/channel/ConnectSlackDialog.d.ts.map +1 -1
- package/channel/ConnectSlackDialog.js +3 -21
- package/channel/ConnectSlackDialog.js.map +1 -1
- package/channel/ConnectWhatsAppDialog.d.ts.map +1 -1
- package/channel/ConnectWhatsAppDialog.js +3 -21
- package/channel/ConnectWhatsAppDialog.js.map +1 -1
- package/conversation/ConversationAttentionBanner.d.ts +23 -6
- package/conversation/ConversationAttentionBanner.d.ts.map +1 -1
- package/conversation/ConversationAttentionBanner.js +25 -10
- package/conversation/ConversationAttentionBanner.js.map +1 -1
- package/conversation/ConversationListPane.d.ts.map +1 -1
- package/conversation/ConversationListPane.js +25 -6
- package/conversation/ConversationListPane.js.map +1 -1
- package/conversation/ConversationsWorkbench.d.ts.map +1 -1
- package/conversation/ConversationsWorkbench.js +1 -1
- package/conversation/ConversationsWorkbench.js.map +1 -1
- package/execution/ApprovalCard.d.ts.map +1 -1
- package/execution/ApprovalCard.js +13 -3
- package/execution/ApprovalCard.js.map +1 -1
- package/execution/ArtifactPreviewModal.d.ts.map +1 -1
- package/execution/ArtifactPreviewModal.js +11 -17
- package/execution/ArtifactPreviewModal.js.map +1 -1
- package/execution/ToolCallItem.d.ts +3 -1
- package/execution/ToolCallItem.d.ts.map +1 -1
- package/execution/ToolCallItem.js +19 -7
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/index.d.ts +1 -1
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +1 -1
- package/execution/index.js.map +1 -1
- package/execution/tool-categories.d.ts +51 -0
- package/execution/tool-categories.d.ts.map +1 -1
- package/execution/tool-categories.js +103 -1
- package/execution/tool-categories.js.map +1 -1
- package/execution/tool-presenter.d.ts +15 -0
- package/execution/tool-presenter.d.ts.map +1 -1
- package/execution/tool-presenter.js +7 -2
- package/execution/tool-presenter.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/internal/DialogShell.d.ts +77 -0
- package/internal/DialogShell.d.ts.map +1 -0
- package/internal/DialogShell.js +77 -0
- package/internal/DialogShell.js.map +1 -0
- package/manifest/ApplyManifestDialog.d.ts.map +1 -1
- package/manifest/ApplyManifestDialog.js +7 -17
- package/manifest/ApplyManifestDialog.js.map +1 -1
- package/manifest/EditResourceYamlDialog.d.ts.map +1 -1
- package/manifest/EditResourceYamlDialog.js +3 -19
- package/manifest/EditResourceYamlDialog.js.map +1 -1
- package/mcp-server/McpServerConnectDialog.d.ts.map +1 -1
- package/mcp-server/McpServerConnectDialog.js +8 -20
- package/mcp-server/McpServerConnectDialog.js.map +1 -1
- package/mcp-server/McpServerDetailView.d.ts.map +1 -1
- package/mcp-server/McpServerDetailView.js +4 -15
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/package.json +4 -4
- package/resource-detail/ConfirmDialog.d.ts +2 -3
- package/resource-detail/ConfirmDialog.d.ts.map +1 -1
- package/resource-detail/ConfirmDialog.js +8 -20
- package/resource-detail/ConfirmDialog.js.map +1 -1
- package/sharing/ShareAgentDialog.d.ts.map +1 -1
- package/sharing/ShareAgentDialog.js +2 -20
- package/sharing/ShareAgentDialog.js.map +1 -1
- package/skill/SkillDiffDialog.d.ts.map +1 -1
- package/skill/SkillDiffDialog.js +5 -21
- package/skill/SkillDiffDialog.js.map +1 -1
- package/src/access/ManageAccessDialog.tsx +7 -27
- package/src/agent-instance/CreateAgentInstanceDialog.tsx +14 -27
- package/src/attachment/AttachmentImageLightbox.tsx +13 -36
- package/src/channel/ChannelConversationsDialog.tsx +8 -27
- package/src/channel/ChannelCredentialsDialog.tsx +8 -28
- package/src/channel/ChannelTemplatesDialog.tsx +10 -29
- package/src/channel/ConnectSlackDialog.tsx +8 -30
- package/src/channel/ConnectWhatsAppDialog.tsx +8 -30
- package/src/conversation/ConversationAttentionBanner.tsx +64 -19
- package/src/conversation/ConversationListPane.tsx +42 -17
- package/src/conversation/ConversationsWorkbench.tsx +1 -0
- package/src/conversation/__tests__/ConversationAttentionBanner.test.tsx +76 -2
- package/src/conversation/__tests__/ConversationListPane.test.tsx +15 -4
- package/src/execution/ApprovalCard.tsx +23 -2
- package/src/execution/ArtifactPreviewModal.tsx +15 -27
- package/src/execution/ToolCallItem.tsx +19 -8
- package/src/execution/__tests__/intent-title.test.tsx +221 -0
- package/src/execution/index.ts +3 -0
- package/src/execution/tool-categories.ts +123 -1
- package/src/execution/tool-presenter.ts +22 -1
- package/src/index.ts +3 -0
- package/src/internal/DialogShell.tsx +169 -0
- package/src/internal/__tests__/DialogShell.test.tsx +223 -0
- package/src/manifest/ApplyManifestDialog.tsx +8 -26
- package/src/manifest/EditResourceYamlDialog.tsx +4 -31
- package/src/mcp-server/McpServerConnectDialog.tsx +15 -29
- package/src/mcp-server/McpServerDetailView.tsx +12 -24
- package/src/resource-detail/ConfirmDialog.tsx +9 -30
- package/src/sharing/ShareAgentDialog.tsx +7 -29
- package/src/skill/SkillDiffDialog.tsx +13 -36
- package/src/workflow/ViewYamlDialog.tsx +18 -37
- package/src/workflow/WorkflowArchitectDialog.tsx +11 -43
- package/src/workflow/WorkflowExplainDialog.tsx +11 -37
- package/src/workflow/WorkflowGraphFullscreenDialog.tsx +14 -26
- package/src/workflow/WorkflowRunDialog.tsx +21 -48
- package/src/workflow/execution-comparison/ExecutionComparisonPicker.tsx +14 -31
- package/src/workflow/instance/CreateWorkflowInstanceDialog.tsx +14 -27
- package/src/workflow/templates/WorkflowTemplatePreview.tsx +18 -28
- package/styles.css +1 -1
- package/workflow/ViewYamlDialog.d.ts.map +1 -1
- package/workflow/ViewYamlDialog.js +10 -29
- package/workflow/ViewYamlDialog.js.map +1 -1
- package/workflow/WorkflowArchitectDialog.d.ts.map +1 -1
- package/workflow/WorkflowArchitectDialog.js +5 -24
- package/workflow/WorkflowArchitectDialog.js.map +1 -1
- package/workflow/WorkflowExplainDialog.d.ts.map +1 -1
- package/workflow/WorkflowExplainDialog.js +5 -21
- package/workflow/WorkflowExplainDialog.js.map +1 -1
- package/workflow/WorkflowGraphFullscreenDialog.d.ts.map +1 -1
- package/workflow/WorkflowGraphFullscreenDialog.js +11 -17
- package/workflow/WorkflowGraphFullscreenDialog.js.map +1 -1
- package/workflow/WorkflowRunDialog.d.ts.map +1 -1
- package/workflow/WorkflowRunDialog.js +13 -29
- package/workflow/WorkflowRunDialog.js.map +1 -1
- package/workflow/execution-comparison/ExecutionComparisonPicker.d.ts.map +1 -1
- package/workflow/execution-comparison/ExecutionComparisonPicker.js +8 -26
- package/workflow/execution-comparison/ExecutionComparisonPicker.js.map +1 -1
- package/workflow/instance/CreateWorkflowInstanceDialog.d.ts.map +1 -1
- package/workflow/instance/CreateWorkflowInstanceDialog.js +7 -20
- package/workflow/instance/CreateWorkflowInstanceDialog.js.map +1 -1
- package/workflow/templates/WorkflowTemplatePreview.d.ts +1 -1
- package/workflow/templates/WorkflowTemplatePreview.d.ts.map +1 -1
- package/workflow/templates/WorkflowTemplatePreview.js +10 -22
- package/workflow/templates/WorkflowTemplatePreview.js.map +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { memo, useCallback, useEffect, useMemo,
|
|
3
|
+
import { memo, useCallback, useEffect, useMemo, useState } from "react";
|
|
4
4
|
import { cn } from "@stigmer/theme";
|
|
5
|
+
import { DialogShell } from "../../internal/DialogShell.js";
|
|
5
6
|
import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/enum_pb";
|
|
6
7
|
import { useWorkflowExecutionList } from "../useWorkflowExecutionList.js";
|
|
7
8
|
import { WorkflowExecutionPhaseBadge } from "../WorkflowExecutionPhaseBadge.js";
|
|
@@ -48,7 +49,6 @@ export const ExecutionComparisonPicker = memo(function ExecutionComparisonPicker
|
|
|
48
49
|
onConfirm,
|
|
49
50
|
onClose,
|
|
50
51
|
}: ExecutionComparisonPickerProps) {
|
|
51
|
-
const dialogRef = useRef<HTMLDialogElement>(null);
|
|
52
52
|
const [selectedId, setSelectedId] = useState<string | null>(null);
|
|
53
53
|
|
|
54
54
|
const { executions, isLoading } = useWorkflowExecutionList({
|
|
@@ -82,24 +82,6 @@ export const ExecutionComparisonPicker = memo(function ExecutionComparisonPicker
|
|
|
82
82
|
setSelectedId((preferred ?? fallback)?.metadata?.id ?? null);
|
|
83
83
|
}, [open, candidates, selectedId, basePhase]);
|
|
84
84
|
|
|
85
|
-
useEffect(() => {
|
|
86
|
-
const dialog = dialogRef.current;
|
|
87
|
-
if (!dialog) return;
|
|
88
|
-
if (open) {
|
|
89
|
-
if (!dialog.open) dialog.showModal();
|
|
90
|
-
} else {
|
|
91
|
-
if (dialog.open) dialog.close();
|
|
92
|
-
}
|
|
93
|
-
}, [open]);
|
|
94
|
-
|
|
95
|
-
useEffect(() => {
|
|
96
|
-
const dialog = dialogRef.current;
|
|
97
|
-
if (!dialog) return;
|
|
98
|
-
const handleClose = () => onClose();
|
|
99
|
-
dialog.addEventListener("close", handleClose);
|
|
100
|
-
return () => dialog.removeEventListener("close", handleClose);
|
|
101
|
-
}, [onClose]);
|
|
102
|
-
|
|
103
85
|
useEffect(() => {
|
|
104
86
|
if (!open) setSelectedId(null);
|
|
105
87
|
}, [open]);
|
|
@@ -108,21 +90,22 @@ export const ExecutionComparisonPicker = memo(function ExecutionComparisonPicker
|
|
|
108
90
|
if (selectedId) onConfirm(selectedId);
|
|
109
91
|
}, [selectedId, onConfirm]);
|
|
110
92
|
|
|
111
|
-
const
|
|
112
|
-
(
|
|
113
|
-
if (
|
|
93
|
+
const handleOpenChange = useCallback(
|
|
94
|
+
(nextOpen: boolean) => {
|
|
95
|
+
if (!nextOpen) onClose();
|
|
114
96
|
},
|
|
115
97
|
[onClose],
|
|
116
98
|
);
|
|
117
99
|
|
|
118
100
|
return (
|
|
119
|
-
<
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
101
|
+
<DialogShell
|
|
102
|
+
open={open}
|
|
103
|
+
onOpenChange={handleOpenChange}
|
|
104
|
+
width="md"
|
|
105
|
+
dismissOnBackdrop
|
|
106
|
+
// `stgm` re-establishes the theme scope (rendered from the workflow
|
|
107
|
+
// canvas); the var-fallback styling predates the token utilities.
|
|
108
|
+
className="stgm stg:max-h-[70vh] stg:bg-[var(--stgm-background,#fff)] stg:border-[var(--stgm-border,#e5e5e5)]"
|
|
126
109
|
aria-label="Select execution to compare"
|
|
127
110
|
>
|
|
128
111
|
<div className="stg:flex stg:flex-col">
|
|
@@ -217,7 +200,7 @@ export const ExecutionComparisonPicker = memo(function ExecutionComparisonPicker
|
|
|
217
200
|
</button>
|
|
218
201
|
</div>
|
|
219
202
|
</div>
|
|
220
|
-
</
|
|
203
|
+
</DialogShell>
|
|
221
204
|
);
|
|
222
205
|
});
|
|
223
206
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useId,
|
|
3
|
+
import { useCallback, useId, useState } from "react";
|
|
4
4
|
import { cn } from "@stigmer/theme";
|
|
5
|
+
import { DialogShell } from "../../internal/DialogShell.js";
|
|
5
6
|
import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
|
|
6
7
|
import type { WorkflowInstance } from "@stigmer/protos/ai/stigmer/agentic/workflowinstance/v1/api_pb";
|
|
7
8
|
import type { ResourceRef } from "@stigmer/sdk";
|
|
@@ -39,7 +40,6 @@ export function CreateWorkflowInstanceDialog({
|
|
|
39
40
|
workflowId,
|
|
40
41
|
onCreated,
|
|
41
42
|
}: CreateWorkflowInstanceDialogProps) {
|
|
42
|
-
const dialogRef = useRef<HTMLDialogElement>(null);
|
|
43
43
|
const { create, isCreating, error, clearError } = useCreateWorkflowInstance();
|
|
44
44
|
|
|
45
45
|
// Instance-scoped element ids (oss#571): a reusable component must not
|
|
@@ -65,11 +65,17 @@ export function CreateWorkflowInstanceDialog({
|
|
|
65
65
|
}, [clearError]);
|
|
66
66
|
|
|
67
67
|
const handleClose = useCallback(() => {
|
|
68
|
-
dialogRef.current?.close();
|
|
69
68
|
onOpenChange(false);
|
|
70
69
|
resetForm();
|
|
71
70
|
}, [onOpenChange, resetForm]);
|
|
72
71
|
|
|
72
|
+
const handleShellOpenChange = useCallback(
|
|
73
|
+
(nextOpen: boolean) => {
|
|
74
|
+
if (!nextOpen) handleClose();
|
|
75
|
+
},
|
|
76
|
+
[handleClose],
|
|
77
|
+
);
|
|
78
|
+
|
|
73
79
|
const handleSubmit = useCallback(
|
|
74
80
|
async (e: React.FormEvent) => {
|
|
75
81
|
e.preventDefault();
|
|
@@ -93,30 +99,11 @@ export function CreateWorkflowInstanceDialog({
|
|
|
93
99
|
[name, org, workflowId, description, environmentRefs, visibility, create, onCreated, handleClose],
|
|
94
100
|
);
|
|
95
101
|
|
|
96
|
-
// Sync native dialog open state
|
|
97
|
-
const prevOpenRef = useRef(false);
|
|
98
|
-
if (open !== prevOpenRef.current) {
|
|
99
|
-
prevOpenRef.current = open;
|
|
100
|
-
if (open) {
|
|
101
|
-
// Must defer showModal to after render
|
|
102
|
-
requestAnimationFrame(() => {
|
|
103
|
-
if (dialogRef.current && !dialogRef.current.open) {
|
|
104
|
-
dialogRef.current.showModal();
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
} else if (dialogRef.current?.open) {
|
|
108
|
-
dialogRef.current.close();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
102
|
return (
|
|
113
|
-
<
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
"stg:fixed stg:inset-0 stg:m-auto stg:w-full stg:max-w-lg stg:rounded-xl stg:border stg:border-border stg:bg-popover stg:p-0 stg:shadow-xl",
|
|
118
|
-
"stg:backdrop:bg-backdrop",
|
|
119
|
-
)}
|
|
103
|
+
<DialogShell
|
|
104
|
+
open={open}
|
|
105
|
+
onOpenChange={handleShellOpenChange}
|
|
106
|
+
width="lg"
|
|
120
107
|
aria-labelledby={titleId}
|
|
121
108
|
>
|
|
122
109
|
<form onSubmit={handleSubmit} className="stg:flex stg:flex-col">
|
|
@@ -255,7 +242,7 @@ export function CreateWorkflowInstanceDialog({
|
|
|
255
242
|
</button>
|
|
256
243
|
</div>
|
|
257
244
|
</form>
|
|
258
|
-
</
|
|
245
|
+
</DialogShell>
|
|
259
246
|
);
|
|
260
247
|
}
|
|
261
248
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useEffect, useMemo,
|
|
3
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
4
4
|
import { cn } from "@stigmer/theme";
|
|
5
|
+
import { DialogShell } from "../../internal/DialogShell.js";
|
|
5
6
|
import { parse as parseYaml } from "yaml";
|
|
6
7
|
import {
|
|
7
8
|
ReactFlowProvider,
|
|
@@ -42,25 +43,12 @@ export function WorkflowTemplatePreview({
|
|
|
42
43
|
onClose,
|
|
43
44
|
onSelect,
|
|
44
45
|
}: WorkflowTemplatePreviewProps) {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
dialog.showModal();
|
|
52
|
-
} else if (!open && dialog.open) {
|
|
53
|
-
dialog.close();
|
|
54
|
-
}
|
|
55
|
-
}, [open]);
|
|
56
|
-
|
|
57
|
-
useEffect(() => {
|
|
58
|
-
const dialog = dialogRef.current;
|
|
59
|
-
if (!dialog) return;
|
|
60
|
-
const handleClose = () => onClose();
|
|
61
|
-
dialog.addEventListener("close", handleClose);
|
|
62
|
-
return () => dialog.removeEventListener("close", handleClose);
|
|
63
|
-
}, [onClose]);
|
|
46
|
+
const handleOpenChange = useCallback(
|
|
47
|
+
(nextOpen: boolean) => {
|
|
48
|
+
if (!nextOpen) onClose();
|
|
49
|
+
},
|
|
50
|
+
[onClose],
|
|
51
|
+
);
|
|
64
52
|
|
|
65
53
|
const handleSelect = useCallback(() => {
|
|
66
54
|
if (template) onSelect(template);
|
|
@@ -72,19 +60,21 @@ export function WorkflowTemplatePreview({
|
|
|
72
60
|
);
|
|
73
61
|
|
|
74
62
|
if (!template || !meta) {
|
|
75
|
-
return
|
|
63
|
+
return null;
|
|
76
64
|
}
|
|
77
65
|
|
|
78
66
|
const categoryLabel =
|
|
79
67
|
TEMPLATE_CATEGORY_LABELS[template.category] ?? template.category;
|
|
80
68
|
|
|
81
69
|
return (
|
|
82
|
-
<
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
)
|
|
70
|
+
<DialogShell
|
|
71
|
+
open={open}
|
|
72
|
+
onOpenChange={handleOpenChange}
|
|
73
|
+
width="3xl"
|
|
74
|
+
// `stgm` re-establishes the theme scope (rendered from the template
|
|
75
|
+
// browser canvas); background surface is deliberate for the graph.
|
|
76
|
+
className="stgm stg:max-h-[85vh] stg:bg-background"
|
|
77
|
+
aria-label={`Preview ${template.name}`}
|
|
88
78
|
>
|
|
89
79
|
<div className="stg:flex stg:flex-col">
|
|
90
80
|
{/* Header */}
|
|
@@ -193,7 +183,7 @@ export function WorkflowTemplatePreview({
|
|
|
193
183
|
</button>
|
|
194
184
|
</div>
|
|
195
185
|
</div>
|
|
196
|
-
</
|
|
186
|
+
</DialogShell>
|
|
197
187
|
);
|
|
198
188
|
}
|
|
199
189
|
|