@mastra/playground-ui 60.1.0-alpha.0 → 60.1.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/dist/{code-editor-IR5UX112.js → code-editor-28chVxHw.js} +6 -4
- package/dist/code-editor-28chVxHw.js.map +1 -0
- package/dist/{code-editor-DzQEzQJh.cjs → code-editor-B_wPmKPf.cjs} +6 -4
- package/dist/code-editor-B_wPmKPf.cjs.map +1 -0
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
- package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
- package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
- package/dist/components/Workflow.cjs.js +3 -3
- package/dist/components/Workflow.es.js +3 -3
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +1 -1
- package/dist/domains/chat/messages/dataset-save-action.es.js +1 -1
- package/dist/domains/chat/messages/message-row.cjs.js +1 -1
- package/dist/domains/chat/messages/message-row.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/agent-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +2 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +1 -1
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +1 -1
- package/dist/domains/metrics/drilldown.cjs.js +0 -1
- package/dist/domains/metrics/drilldown.cjs.js.map +1 -1
- package/dist/domains/metrics/drilldown.es.js +0 -1
- package/dist/domains/metrics/drilldown.es.js.map +1 -1
- package/dist/domains/metrics/metrics-filters.cjs.js +0 -2
- package/dist/domains/metrics/metrics-filters.cjs.js.map +1 -1
- package/dist/domains/metrics/metrics-filters.es.js +0 -2
- package/dist/domains/metrics/metrics-filters.es.js.map +1 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +1 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
- package/dist/hooks/use-environment-variables-editor.cjs.js +6 -1
- package/dist/hooks/use-environment-variables-editor.cjs.js.map +1 -1
- package/dist/hooks/use-environment-variables-editor.es.js +6 -1
- package/dist/hooks/use-environment-variables-editor.es.js.map +1 -1
- package/dist/src/domains/metrics/hooks/use-metrics-filters.d.ts +0 -1
- package/dist/src/domains/metrics/metrics-filters.d.ts +0 -2
- package/dist/src/ds/components/CodeEditor/variable-autocomplete-extension.d.ts +6 -0
- package/dist/src/hooks/use-environment-variables-editor.d.ts +1 -1
- package/dist/{tool-card-DPrShK-9.js → tool-card-C_K5PwrK.js} +2 -2
- package/dist/{tool-card-DPrShK-9.js.map → tool-card-C_K5PwrK.js.map} +1 -1
- package/dist/{tool-card-BfMA9tub.cjs → tool-card-rxo27sve.cjs} +2 -2
- package/dist/{tool-card-BfMA9tub.cjs.map → tool-card-rxo27sve.cjs.map} +1 -1
- package/dist/{workflow-code-dialog-content-COlaHWtW.cjs → workflow-code-dialog-content-BFm2IWDl.cjs} +2 -2
- package/dist/{workflow-code-dialog-content-COlaHWtW.cjs.map → workflow-code-dialog-content-BFm2IWDl.cjs.map} +1 -1
- package/dist/{workflow-code-dialog-content-BQBHzRfZ.js → workflow-code-dialog-content-BM4ZnrUr.js} +2 -2
- package/dist/{workflow-code-dialog-content-BQBHzRfZ.js.map → workflow-code-dialog-content-BM4ZnrUr.js.map} +1 -1
- package/dist/{workflow-data-edge-view-BvhW_gux.cjs → workflow-data-edge-view-7f8O6pVW.cjs} +2 -2
- package/dist/{workflow-data-edge-view-BvhW_gux.cjs.map → workflow-data-edge-view-7f8O6pVW.cjs.map} +1 -1
- package/dist/{workflow-data-edge-view-BjfKYysc.js → workflow-data-edge-view-BpGLV-at.js} +2 -2
- package/dist/{workflow-data-edge-view-BjfKYysc.js.map → workflow-data-edge-view-BpGLV-at.js.map} +1 -1
- package/dist/{workflow-edge-data-button-BTsPGDpk.cjs → workflow-edge-data-button-BOVRo4xO.cjs} +2 -2
- package/dist/{workflow-edge-data-button-BTsPGDpk.cjs.map → workflow-edge-data-button-BOVRo4xO.cjs.map} +1 -1
- package/dist/{workflow-edge-data-button-CIP46GJE.js → workflow-edge-data-button-C6eyWbcG.js} +2 -2
- package/dist/{workflow-edge-data-button-CIP46GJE.js.map → workflow-edge-data-button-C6eyWbcG.js.map} +1 -1
- package/package.json +11 -11
- package/dist/code-editor-DzQEzQJh.cjs.map +0 -1
- package/dist/code-editor-IR5UX112.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-card-DPrShK-9.js","sources":["../src/domains/chat/tools/badges/agent-badge.tsx","../src/domains/chat/tools/badges/agent-badge-wrapper.tsx","../src/domains/chat/tools/tool-card.tsx"],"sourcesContent":["import React from 'react';\nimport Markdown from 'react-markdown';\nimport { ToolCard } from '../tool-card';\nimport { BackgroundTaskMetadataDialogTrigger } from './background-task-metadata-dialog';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { NetworkChoiceMetadataDialogTrigger } from '@/domains/chat/components/network-choice-metadata-dialog';\nimport { SectionLabel } from '@/domains/chat/components/section-label';\nimport { awaitsToolApproval } from '@/domains/chat/tools/badges/awaits-tool-approval';\nimport type { ToolApprovalButtonsProps } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport { ToolApprovalButtons } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\nimport { ToolCallMono } from '@/ds/components/ai/tool-call';\nimport { Button } from '@/ds/components/Button';\nimport { CodeEditor } from '@/ds/components/CodeEditor';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\n\ntype TextMessage = {\n type: 'text';\n content: string;\n};\n\ntype ToolMessage = {\n type: 'tool';\n toolName: string;\n toolOutput?: any;\n args?: any;\n toolCallId: string;\n result?: any;\n};\n\nexport type AgentMessage = TextMessage | ToolMessage;\n\nexport interface AgentBadgeProps extends Omit<ToolApprovalButtonsProps, 'toolCalled'> {\n agentId: string;\n messages: AgentMessage[];\n metadata?: MessageMetadata;\n suspendPayload?: any;\n toolCalled?: boolean;\n isComplete?: boolean;\n keepOpenForStreamingChildMessages?: boolean;\n status?: ActivityStatus;\n errorText?: string;\n onLoadPrevious?: () => void;\n isLoadingPrevious?: boolean;\n}\n\nexport const AgentBadge = ({\n agentId,\n messages = [],\n metadata,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n suspendPayload,\n toolCalled: toolCalledProp,\n isComplete = false,\n keepOpenForStreamingChildMessages = false,\n status = 'idle',\n errorText,\n onLoadPrevious,\n isLoadingPrevious = false,\n}: AgentBadgeProps) => {\n const routingDecision = metadata?.mode === 'network' ? metadata.routingDecision : undefined;\n const selectionReason =\n metadata?.mode === 'network' ? (routingDecision?.selectionReason ?? metadata.selectionReason) : undefined;\n const agentNetworkInput = metadata?.mode === 'network' ? (routingDecision ?? metadata.agentInput) : undefined;\n\n const parentSuspendedTools =\n metadata?.mode === 'stream' || metadata?.mode === 'network' || metadata?.mode === 'generate'\n ? metadata?.suspendedTools\n : undefined;\n\n const bgEntry =\n (metadata?.mode === 'stream' || metadata?.mode === 'generate') && metadata?.backgroundTasks\n ? metadata.backgroundTasks[toolCallId]\n : undefined;\n\n const allChildToolsComplete =\n messages.length > 0 &&\n messages.every(message => {\n if (message.type === 'text') {\n return true;\n }\n return message.toolOutput !== undefined;\n });\n\n let toolCalled = isComplete && allChildToolsComplete;\n\n if (isNetwork) {\n toolCalled = toolCalledProp ?? allChildToolsComplete;\n }\n\n const isError = status === 'error';\n const shouldCollapseContent = isComplete && !isError && !toolApprovalMetadata && !keepOpenForStreamingChildMessages;\n const shownError = isError ? errorText : undefined;\n const hasBody =\n Boolean(onLoadPrevious) ||\n messages.length > 0 ||\n Boolean(shownError) ||\n Boolean(suspendPayload) ||\n awaitsToolApproval({ toolApprovalMetadata, toolCalled });\n\n let suspendPayloadSlot =\n typeof suspendPayload === 'string' ? (\n <ToolCallMono copyText={suspendPayload} className=\"text-muted-foreground\">\n {suspendPayload}\n </ToolCallMono>\n ) : (\n <CodeEditor data={suspendPayload} data-testid=\"tool-suspend-payload\" />\n );\n\n return (\n <BadgeWrapper\n data-testid=\"agent-badge\"\n icon={<AgentIcon className=\"text-span-agent\" />}\n title={agentId}\n status={status}\n initialCollapsed={shouldCollapseContent}\n extraInfo={\n metadata?.mode === 'network' ? (\n <NetworkChoiceMetadataDialogTrigger\n selectionReason={selectionReason ?? ''}\n input={agentNetworkInput as string | Record<string, unknown> | undefined}\n />\n ) : bgEntry?.taskId && bgEntry?.startedAt ? (\n <BackgroundTaskMetadataDialogTrigger backgroundTask={bgEntry} />\n ) : null\n }\n >\n {hasBody && (\n <>\n {onLoadPrevious && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={onLoadPrevious}\n disabled={isLoadingPrevious}\n data-testid=\"agent-badge-load-previous\"\n >\n {isLoadingPrevious ? 'Loading earlier messages…' : 'Load earlier messages'}\n </Button>\n )}\n\n {messages.map((message, index) => {\n if (message.type === 'text') {\n return <Markdown key={index}>{message.content}</Markdown>;\n }\n\n let result;\n\n try {\n result = typeof message.toolOutput === 'string' ? JSON.parse(message.toolOutput) : message.toolOutput;\n } catch {\n result = message.toolOutput;\n }\n\n return (\n <React.Fragment key={index}>\n <ToolCard\n toolName={message.toolName}\n input={message.args}\n output={result}\n state=\"output-available\"\n toolCallId={message.toolCallId}\n metadata={{\n mode: 'stream',\n requireApprovalMetadata: isNetwork ? metadata?.requireApprovalMetadata : undefined,\n suspendedTools: parentSuspendedTools,\n }}\n />\n </React.Fragment>\n );\n })}\n\n {shownError && (\n <ToolCallMono copyText={shownError} data-testid=\"agent-error\" className=\"text-destructive-foreground\">\n {shownError}\n </ToolCallMono>\n )}\n\n {suspendPayloadSlot !== undefined && suspendPayload && (\n <div>\n <SectionLabel>Agent suspend payload</SectionLabel>\n {suspendPayloadSlot}\n </div>\n )}\n\n <ToolApprovalButtons\n toolCalled={toolCalled}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n isGenerateMode={metadata?.mode === 'generate'}\n />\n </>\n )}\n </BadgeWrapper>\n );\n};\n","import { toAISdkV5Messages } from '@mastra/ai-sdk/ui';\nimport type { AgentMessage } from './agent-badge';\nimport { AgentBadge } from './agent-badge';\nimport { resolveToChildMessages } from './resolve-child-messages';\nimport { useAgentMessages } from '@/domains/agents/hooks/use-agent-messages';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { LoadingBadge } from '@/domains/chat/components/loading-badge';\nimport type { ToolApprovalButtonsProps } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\n\ninterface SubAgentToolResult {\n toolName: string;\n toolCallId: string;\n result: any;\n args: any;\n}\n\ninterface AgentBadgeWrapperProps extends Omit<ToolApprovalButtonsProps, 'toolCalled'> {\n agentId: string;\n result?: {\n childMessages?: AgentMessage[];\n subAgentResourceId?: string;\n subAgentThreadId?: string;\n subAgentToolResults?: SubAgentToolResult[];\n text?: string;\n };\n metadata?: MessageMetadata;\n suspendPayload?: any;\n toolCalled?: boolean;\n isComplete?: boolean;\n status?: ActivityStatus;\n errorText?: string;\n}\n\nexport const AgentBadgeWrapper = ({\n agentId,\n result,\n metadata,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n suspendPayload,\n toolCalled,\n isComplete,\n status,\n errorText,\n}: AgentBadgeWrapperProps) => {\n const shouldFetchAgentMessages = Boolean(\n result?.subAgentThreadId && !result.text && !result.subAgentToolResults?.length,\n );\n const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage } = useAgentMessages({\n threadId: shouldFetchAgentMessages ? result?.subAgentThreadId : undefined,\n agentId,\n memory: true,\n });\n\n if (isLoading) {\n return <LoadingBadge />;\n }\n\n const convertedMessages = data?.messages ? toAISdkV5Messages(data.messages) : [];\n\n let childMessages = result?.childMessages?.length ? result.childMessages : undefined;\n\n if (!childMessages && result?.subAgentToolResults?.length) {\n const toolMessages: AgentMessage[] = result.subAgentToolResults.map(tr => ({\n type: 'tool' as const,\n toolName: tr.toolName,\n toolCallId: tr.toolCallId,\n args: tr.args,\n toolOutput: tr.result,\n }));\n if (result.text) {\n toolMessages.push({ type: 'text' as const, content: result.text });\n }\n childMessages = toolMessages;\n }\n\n if (!childMessages && result?.text) {\n childMessages = [{ type: 'text' as const, content: result.text }];\n }\n\n let onLoadPrevious: (() => void) | undefined;\n if (!childMessages) {\n childMessages = resolveToChildMessages(convertedMessages) as AgentMessage[];\n onLoadPrevious = hasNextPage ? fetchNextPage : undefined;\n }\n\n const hasStreamingChildMessages = Boolean(result && Object.prototype.hasOwnProperty.call(result, 'childMessages'));\n\n return (\n <AgentBadge\n agentId={agentId}\n messages={childMessages ?? []}\n keepOpenForStreamingChildMessages={hasStreamingChildMessages}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n suspendPayload={suspendPayload}\n toolCalled={toolCalled}\n isComplete={isComplete}\n status={status}\n errorText={errorText}\n onLoadPrevious={onLoadPrevious}\n isLoadingPrevious={isFetchingNextPage}\n />\n );\n};\n","import { useCallback, useContext } from 'react';\nimport { AgentBadgeWrapper } from './badges/agent-badge-wrapper';\nimport { FileTreeBadge } from './badges/file-tree-badge';\nimport { SandboxExecutionBadge } from './badges/sandbox-execution-badge';\nimport { ToolBadge } from './badges/tool-badge';\nimport { useWorkflowStream, WorkflowBadge } from './badges/workflow-badge';\nimport { SubmitPlanTool } from './submit-plan-tool';\nimport { ToolResultMedia } from './tool-result-media';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { ChatAgentContext, useChatRunning, useChatSend } from '@/domains/chat/context/chat-context';\nimport { AskUserTool } from '@/domains/chat/tools/ask-user-tool';\nimport { CodeModeBadge } from '@/domains/chat/tools/badges/code-mode-badge';\nimport { ObservationMarkerBadge } from '@/domains/chat/tools/badges/observation-marker-badge';\nimport {\n badgeStatus,\n codeModeCall,\n isAgentCall,\n isSettledState,\n isWorkflowCall,\n toolCardKind,\n toolInteraction,\n} from '@/domains/chat/tools/tool-card-kind';\nimport { McpAppToolResult } from '@/domains/mcps/components/mcp-app-tool-result';\nimport { useMcpAppTools } from '@/domains/mcps/hooks/use-mcp-app-tools';\nimport { PlaygroundWorkflowRunProvider } from '@/domains/workflows/context/playground-workflow-run-provider';\n\n/** A `data`-typed part the agent wrote via `writer.custom`, scoped to a call by `data.toolCallId`. */\nexport interface DataMessagePart {\n type: string;\n name?: string;\n data?: any;\n}\n\nexport interface ToolCardProps {\n toolName: string;\n input: any;\n output: any;\n modelOutput?: unknown;\n toolCallId: string;\n /** Part state: v5 `output-available`/`output-error`/`input-available`, or v4 `result`/`call`. */\n state?: string;\n /** Error message when `state` is `output-error`. */\n errorText?: string;\n metadata?: MessageMetadata;\n /** `data`-typed parts from the parent message, for badges that read live streaming metadata. */\n dataParts?: ReadonlyArray<DataMessagePart>;\n /** Historical rendering mode: preserve presentation while suppressing executable actions and side effects. */\n readOnly?: boolean;\n}\n\nconst stripPrefix = (toolName: string, prefix: string): string =>\n toolName.startsWith(prefix) ? toolName.slice(prefix.length) : toolName;\n\n/** Its own workflow run scope, so a streaming workflow result can drive a live graph inside the card. */\nexport const ToolCard = (props: ToolCardProps) => {\n return (\n <PlaygroundWorkflowRunProvider workflowId={''} withoutTimeTravel>\n <ToolCardInner {...props} />\n </PlaygroundWorkflowRunProvider>\n );\n};\n\nexport const ToolCardInner = ({\n toolName,\n input,\n output,\n modelOutput,\n toolCallId,\n state,\n errorText,\n metadata,\n dataParts,\n readOnly = false,\n}: ToolCardProps) => {\n const { data: mcpAppTools } = useMcpAppTools();\n const send = useChatSend();\n const chatAgent = useContext(ChatAgentContext);\n const { isRunning } = useChatRunning();\n const handleMcpAppSendMessage = useCallback(\n (content: string) => {\n send({ message: content });\n },\n [send],\n );\n useWorkflowStream(output);\n\n const kind = toolCardKind({ toolName, toolCallId, input, output, state }, { metadata, mcpAppTools });\n const { approval: toolApprovalMetadata, suspended: suspendedToolMetadata } = toolInteraction(\n metadata,\n toolName,\n toolCallId,\n );\n const status = badgeStatus(state, isRunning);\n const isNetwork = metadata?.mode === 'network';\n const toolCalled = isNetwork && metadata?.hasMoreMessages ? true : undefined;\n const agentToolName = stripPrefix(toolName, 'agent-');\n const workflowToolName = stripPrefix(toolName, 'workflow-');\n\n switch (kind) {\n case 'hidden':\n return null;\n case 'observation':\n return <ObservationMarkerBadge toolName={toolName} omData={output?.omData ?? input} />;\n case 'ask_user':\n if (!readOnly) {\n return <AskUserTool toolName={toolName} toolCallId={toolCallId} output={output} metadata={metadata} />;\n }\n break;\n case 'submit_plan':\n return (\n <SubmitPlanTool\n agentId={chatAgent?.agentId}\n agentVersionId={chatAgent?.agentVersionId}\n requestContext={chatAgent?.requestContext}\n toolName={toolName}\n toolCallId={toolCallId}\n output={output}\n metadata={metadata}\n />\n );\n case 'background': {\n const isAgent = isAgentCall(metadata, toolName);\n const isWorkflow = isWorkflowCall(metadata, toolName);\n return (\n <ToolBadge\n toolName={isAgent ? agentToolName : isWorkflow ? workflowToolName : toolName}\n args={input}\n result={output}\n toolOutput={[]}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n withoutArgs={isAgent || isWorkflow}\n status={status}\n />\n );\n }\n case 'agent':\n return (\n <AgentBadgeWrapper\n agentId={agentToolName}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n toolCalled={toolCalled}\n isComplete={isSettledState(state)}\n status={status}\n errorText={errorText}\n />\n );\n case 'workflow':\n return (\n <WorkflowBadge\n workflowId={workflowToolName}\n isStreaming={metadata?.mode === 'stream' || isNetwork}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n toolName={toolName}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n />\n );\n case 'file_tree':\n return (\n <FileTreeBadge\n toolName={toolName}\n args={input}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n dataParts={dataParts}\n status={status}\n />\n );\n case 'sandbox':\n return (\n <SandboxExecutionBadge\n toolName={toolName}\n args={input}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n dataParts={dataParts}\n status={status}\n />\n );\n case 'code_mode': {\n const call = codeModeCall(input, output);\n if (call) {\n return (\n <CodeModeBadge\n toolName={toolName}\n code={call.code}\n result={call.result}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n />\n );\n }\n break;\n }\n case 'mcp_app':\n case 'plain':\n break;\n }\n\n const mcpAppInfo = mcpAppTools?.[toolName];\n\n return (\n <>\n <ToolBadge\n toolName={toolName}\n args={input}\n result={output ?? errorText}\n toolOutput={output?.toolOutput || []}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n status={status}\n />\n <ToolResultMedia modelOutput={modelOutput} />\n {mcpAppInfo && output !== undefined && (\n <McpAppToolResult\n appInfo={mcpAppInfo}\n toolArgs={input}\n toolResult={output}\n onSendMessage={handleMcpAppSendMessage}\n readOnly={readOnly}\n />\n )}\n </>\n );\n};\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-card-C_K5PwrK.js","sources":["../src/domains/chat/tools/badges/agent-badge.tsx","../src/domains/chat/tools/badges/agent-badge-wrapper.tsx","../src/domains/chat/tools/tool-card.tsx"],"sourcesContent":["import React from 'react';\nimport Markdown from 'react-markdown';\nimport { ToolCard } from '../tool-card';\nimport { BackgroundTaskMetadataDialogTrigger } from './background-task-metadata-dialog';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { NetworkChoiceMetadataDialogTrigger } from '@/domains/chat/components/network-choice-metadata-dialog';\nimport { SectionLabel } from '@/domains/chat/components/section-label';\nimport { awaitsToolApproval } from '@/domains/chat/tools/badges/awaits-tool-approval';\nimport type { ToolApprovalButtonsProps } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport { ToolApprovalButtons } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\nimport { ToolCallMono } from '@/ds/components/ai/tool-call';\nimport { Button } from '@/ds/components/Button';\nimport { CodeEditor } from '@/ds/components/CodeEditor';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\n\ntype TextMessage = {\n type: 'text';\n content: string;\n};\n\ntype ToolMessage = {\n type: 'tool';\n toolName: string;\n toolOutput?: any;\n args?: any;\n toolCallId: string;\n result?: any;\n};\n\nexport type AgentMessage = TextMessage | ToolMessage;\n\nexport interface AgentBadgeProps extends Omit<ToolApprovalButtonsProps, 'toolCalled'> {\n agentId: string;\n messages: AgentMessage[];\n metadata?: MessageMetadata;\n suspendPayload?: any;\n toolCalled?: boolean;\n isComplete?: boolean;\n keepOpenForStreamingChildMessages?: boolean;\n status?: ActivityStatus;\n errorText?: string;\n onLoadPrevious?: () => void;\n isLoadingPrevious?: boolean;\n}\n\nexport const AgentBadge = ({\n agentId,\n messages = [],\n metadata,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n suspendPayload,\n toolCalled: toolCalledProp,\n isComplete = false,\n keepOpenForStreamingChildMessages = false,\n status = 'idle',\n errorText,\n onLoadPrevious,\n isLoadingPrevious = false,\n}: AgentBadgeProps) => {\n const routingDecision = metadata?.mode === 'network' ? metadata.routingDecision : undefined;\n const selectionReason =\n metadata?.mode === 'network' ? (routingDecision?.selectionReason ?? metadata.selectionReason) : undefined;\n const agentNetworkInput = metadata?.mode === 'network' ? (routingDecision ?? metadata.agentInput) : undefined;\n\n const parentSuspendedTools =\n metadata?.mode === 'stream' || metadata?.mode === 'network' || metadata?.mode === 'generate'\n ? metadata?.suspendedTools\n : undefined;\n\n const bgEntry =\n (metadata?.mode === 'stream' || metadata?.mode === 'generate') && metadata?.backgroundTasks\n ? metadata.backgroundTasks[toolCallId]\n : undefined;\n\n const allChildToolsComplete =\n messages.length > 0 &&\n messages.every(message => {\n if (message.type === 'text') {\n return true;\n }\n return message.toolOutput !== undefined;\n });\n\n let toolCalled = isComplete && allChildToolsComplete;\n\n if (isNetwork) {\n toolCalled = toolCalledProp ?? allChildToolsComplete;\n }\n\n const isError = status === 'error';\n const shouldCollapseContent = isComplete && !isError && !toolApprovalMetadata && !keepOpenForStreamingChildMessages;\n const shownError = isError ? errorText : undefined;\n const hasBody =\n Boolean(onLoadPrevious) ||\n messages.length > 0 ||\n Boolean(shownError) ||\n Boolean(suspendPayload) ||\n awaitsToolApproval({ toolApprovalMetadata, toolCalled });\n\n let suspendPayloadSlot =\n typeof suspendPayload === 'string' ? (\n <ToolCallMono copyText={suspendPayload} className=\"text-muted-foreground\">\n {suspendPayload}\n </ToolCallMono>\n ) : (\n <CodeEditor data={suspendPayload} data-testid=\"tool-suspend-payload\" />\n );\n\n return (\n <BadgeWrapper\n data-testid=\"agent-badge\"\n icon={<AgentIcon className=\"text-span-agent\" />}\n title={agentId}\n status={status}\n initialCollapsed={shouldCollapseContent}\n extraInfo={\n metadata?.mode === 'network' ? (\n <NetworkChoiceMetadataDialogTrigger\n selectionReason={selectionReason ?? ''}\n input={agentNetworkInput as string | Record<string, unknown> | undefined}\n />\n ) : bgEntry?.taskId && bgEntry?.startedAt ? (\n <BackgroundTaskMetadataDialogTrigger backgroundTask={bgEntry} />\n ) : null\n }\n >\n {hasBody && (\n <>\n {onLoadPrevious && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={onLoadPrevious}\n disabled={isLoadingPrevious}\n data-testid=\"agent-badge-load-previous\"\n >\n {isLoadingPrevious ? 'Loading earlier messages…' : 'Load earlier messages'}\n </Button>\n )}\n\n {messages.map((message, index) => {\n if (message.type === 'text') {\n return <Markdown key={index}>{message.content}</Markdown>;\n }\n\n let result;\n\n try {\n result = typeof message.toolOutput === 'string' ? JSON.parse(message.toolOutput) : message.toolOutput;\n } catch {\n result = message.toolOutput;\n }\n\n return (\n <React.Fragment key={index}>\n <ToolCard\n toolName={message.toolName}\n input={message.args}\n output={result}\n state=\"output-available\"\n toolCallId={message.toolCallId}\n metadata={{\n mode: 'stream',\n requireApprovalMetadata: isNetwork ? metadata?.requireApprovalMetadata : undefined,\n suspendedTools: parentSuspendedTools,\n }}\n />\n </React.Fragment>\n );\n })}\n\n {shownError && (\n <ToolCallMono copyText={shownError} data-testid=\"agent-error\" className=\"text-destructive-foreground\">\n {shownError}\n </ToolCallMono>\n )}\n\n {suspendPayloadSlot !== undefined && suspendPayload && (\n <div>\n <SectionLabel>Agent suspend payload</SectionLabel>\n {suspendPayloadSlot}\n </div>\n )}\n\n <ToolApprovalButtons\n toolCalled={toolCalled}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n isGenerateMode={metadata?.mode === 'generate'}\n />\n </>\n )}\n </BadgeWrapper>\n );\n};\n","import { toAISdkV5Messages } from '@mastra/ai-sdk/ui';\nimport type { AgentMessage } from './agent-badge';\nimport { AgentBadge } from './agent-badge';\nimport { resolveToChildMessages } from './resolve-child-messages';\nimport { useAgentMessages } from '@/domains/agents/hooks/use-agent-messages';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { LoadingBadge } from '@/domains/chat/components/loading-badge';\nimport type { ToolApprovalButtonsProps } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\n\ninterface SubAgentToolResult {\n toolName: string;\n toolCallId: string;\n result: any;\n args: any;\n}\n\ninterface AgentBadgeWrapperProps extends Omit<ToolApprovalButtonsProps, 'toolCalled'> {\n agentId: string;\n result?: {\n childMessages?: AgentMessage[];\n subAgentResourceId?: string;\n subAgentThreadId?: string;\n subAgentToolResults?: SubAgentToolResult[];\n text?: string;\n };\n metadata?: MessageMetadata;\n suspendPayload?: any;\n toolCalled?: boolean;\n isComplete?: boolean;\n status?: ActivityStatus;\n errorText?: string;\n}\n\nexport const AgentBadgeWrapper = ({\n agentId,\n result,\n metadata,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n suspendPayload,\n toolCalled,\n isComplete,\n status,\n errorText,\n}: AgentBadgeWrapperProps) => {\n const shouldFetchAgentMessages = Boolean(\n result?.subAgentThreadId && !result.text && !result.subAgentToolResults?.length,\n );\n const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage } = useAgentMessages({\n threadId: shouldFetchAgentMessages ? result?.subAgentThreadId : undefined,\n agentId,\n memory: true,\n });\n\n if (isLoading) {\n return <LoadingBadge />;\n }\n\n const convertedMessages = data?.messages ? toAISdkV5Messages(data.messages) : [];\n\n let childMessages = result?.childMessages?.length ? result.childMessages : undefined;\n\n if (!childMessages && result?.subAgentToolResults?.length) {\n const toolMessages: AgentMessage[] = result.subAgentToolResults.map(tr => ({\n type: 'tool' as const,\n toolName: tr.toolName,\n toolCallId: tr.toolCallId,\n args: tr.args,\n toolOutput: tr.result,\n }));\n if (result.text) {\n toolMessages.push({ type: 'text' as const, content: result.text });\n }\n childMessages = toolMessages;\n }\n\n if (!childMessages && result?.text) {\n childMessages = [{ type: 'text' as const, content: result.text }];\n }\n\n let onLoadPrevious: (() => void) | undefined;\n if (!childMessages) {\n childMessages = resolveToChildMessages(convertedMessages) as AgentMessage[];\n onLoadPrevious = hasNextPage ? fetchNextPage : undefined;\n }\n\n const hasStreamingChildMessages = Boolean(result && Object.prototype.hasOwnProperty.call(result, 'childMessages'));\n\n return (\n <AgentBadge\n agentId={agentId}\n messages={childMessages ?? []}\n keepOpenForStreamingChildMessages={hasStreamingChildMessages}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n suspendPayload={suspendPayload}\n toolCalled={toolCalled}\n isComplete={isComplete}\n status={status}\n errorText={errorText}\n onLoadPrevious={onLoadPrevious}\n isLoadingPrevious={isFetchingNextPage}\n />\n );\n};\n","import { useCallback, useContext } from 'react';\nimport { AgentBadgeWrapper } from './badges/agent-badge-wrapper';\nimport { FileTreeBadge } from './badges/file-tree-badge';\nimport { SandboxExecutionBadge } from './badges/sandbox-execution-badge';\nimport { ToolBadge } from './badges/tool-badge';\nimport { useWorkflowStream, WorkflowBadge } from './badges/workflow-badge';\nimport { SubmitPlanTool } from './submit-plan-tool';\nimport { ToolResultMedia } from './tool-result-media';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { ChatAgentContext, useChatRunning, useChatSend } from '@/domains/chat/context/chat-context';\nimport { AskUserTool } from '@/domains/chat/tools/ask-user-tool';\nimport { CodeModeBadge } from '@/domains/chat/tools/badges/code-mode-badge';\nimport { ObservationMarkerBadge } from '@/domains/chat/tools/badges/observation-marker-badge';\nimport {\n badgeStatus,\n codeModeCall,\n isAgentCall,\n isSettledState,\n isWorkflowCall,\n toolCardKind,\n toolInteraction,\n} from '@/domains/chat/tools/tool-card-kind';\nimport { McpAppToolResult } from '@/domains/mcps/components/mcp-app-tool-result';\nimport { useMcpAppTools } from '@/domains/mcps/hooks/use-mcp-app-tools';\nimport { PlaygroundWorkflowRunProvider } from '@/domains/workflows/context/playground-workflow-run-provider';\n\n/** A `data`-typed part the agent wrote via `writer.custom`, scoped to a call by `data.toolCallId`. */\nexport interface DataMessagePart {\n type: string;\n name?: string;\n data?: any;\n}\n\nexport interface ToolCardProps {\n toolName: string;\n input: any;\n output: any;\n modelOutput?: unknown;\n toolCallId: string;\n /** Part state: v5 `output-available`/`output-error`/`input-available`, or v4 `result`/`call`. */\n state?: string;\n /** Error message when `state` is `output-error`. */\n errorText?: string;\n metadata?: MessageMetadata;\n /** `data`-typed parts from the parent message, for badges that read live streaming metadata. */\n dataParts?: ReadonlyArray<DataMessagePart>;\n /** Historical rendering mode: preserve presentation while suppressing executable actions and side effects. */\n readOnly?: boolean;\n}\n\nconst stripPrefix = (toolName: string, prefix: string): string =>\n toolName.startsWith(prefix) ? toolName.slice(prefix.length) : toolName;\n\n/** Its own workflow run scope, so a streaming workflow result can drive a live graph inside the card. */\nexport const ToolCard = (props: ToolCardProps) => {\n return (\n <PlaygroundWorkflowRunProvider workflowId={''} withoutTimeTravel>\n <ToolCardInner {...props} />\n </PlaygroundWorkflowRunProvider>\n );\n};\n\nexport const ToolCardInner = ({\n toolName,\n input,\n output,\n modelOutput,\n toolCallId,\n state,\n errorText,\n metadata,\n dataParts,\n readOnly = false,\n}: ToolCardProps) => {\n const { data: mcpAppTools } = useMcpAppTools();\n const send = useChatSend();\n const chatAgent = useContext(ChatAgentContext);\n const { isRunning } = useChatRunning();\n const handleMcpAppSendMessage = useCallback(\n (content: string) => {\n send({ message: content });\n },\n [send],\n );\n useWorkflowStream(output);\n\n const kind = toolCardKind({ toolName, toolCallId, input, output, state }, { metadata, mcpAppTools });\n const { approval: toolApprovalMetadata, suspended: suspendedToolMetadata } = toolInteraction(\n metadata,\n toolName,\n toolCallId,\n );\n const status = badgeStatus(state, isRunning);\n const isNetwork = metadata?.mode === 'network';\n const toolCalled = isNetwork && metadata?.hasMoreMessages ? true : undefined;\n const agentToolName = stripPrefix(toolName, 'agent-');\n const workflowToolName = stripPrefix(toolName, 'workflow-');\n\n switch (kind) {\n case 'hidden':\n return null;\n case 'observation':\n return <ObservationMarkerBadge toolName={toolName} omData={output?.omData ?? input} />;\n case 'ask_user':\n if (!readOnly) {\n return <AskUserTool toolName={toolName} toolCallId={toolCallId} output={output} metadata={metadata} />;\n }\n break;\n case 'submit_plan':\n return (\n <SubmitPlanTool\n agentId={chatAgent?.agentId}\n agentVersionId={chatAgent?.agentVersionId}\n requestContext={chatAgent?.requestContext}\n toolName={toolName}\n toolCallId={toolCallId}\n output={output}\n metadata={metadata}\n />\n );\n case 'background': {\n const isAgent = isAgentCall(metadata, toolName);\n const isWorkflow = isWorkflowCall(metadata, toolName);\n return (\n <ToolBadge\n toolName={isAgent ? agentToolName : isWorkflow ? workflowToolName : toolName}\n args={input}\n result={output}\n toolOutput={[]}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n withoutArgs={isAgent || isWorkflow}\n status={status}\n />\n );\n }\n case 'agent':\n return (\n <AgentBadgeWrapper\n agentId={agentToolName}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n toolCalled={toolCalled}\n isComplete={isSettledState(state)}\n status={status}\n errorText={errorText}\n />\n );\n case 'workflow':\n return (\n <WorkflowBadge\n workflowId={workflowToolName}\n isStreaming={metadata?.mode === 'stream' || isNetwork}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n toolName={toolName}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n />\n );\n case 'file_tree':\n return (\n <FileTreeBadge\n toolName={toolName}\n args={input}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n dataParts={dataParts}\n status={status}\n />\n );\n case 'sandbox':\n return (\n <SandboxExecutionBadge\n toolName={toolName}\n args={input}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n dataParts={dataParts}\n status={status}\n />\n );\n case 'code_mode': {\n const call = codeModeCall(input, output);\n if (call) {\n return (\n <CodeModeBadge\n toolName={toolName}\n code={call.code}\n result={call.result}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n />\n );\n }\n break;\n }\n case 'mcp_app':\n case 'plain':\n break;\n }\n\n const mcpAppInfo = mcpAppTools?.[toolName];\n\n return (\n <>\n <ToolBadge\n toolName={toolName}\n args={input}\n result={output ?? errorText}\n toolOutput={output?.toolOutput || []}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n status={status}\n />\n <ToolResultMedia modelOutput={modelOutput} />\n {mcpAppInfo && output !== undefined && (\n <McpAppToolResult\n appInfo={mcpAppInfo}\n toolArgs={input}\n toolResult={output}\n onSendMessage={handleMcpAppSendMessage}\n readOnly={readOnly}\n />\n )}\n </>\n );\n};\n"],"names":["React"],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ const domains_chat_tools_badges_toolApprovalButtons = require('./domains/chat/to
|
|
|
27
27
|
const toolCallMono = require('./tool-call-mono-DXtb4UMm.cjs');
|
|
28
28
|
require('lucide-react');
|
|
29
29
|
const Button = require('./Button-CXhSUBxN.cjs');
|
|
30
|
-
const codeEditor = require('./code-editor-
|
|
30
|
+
const codeEditor = require('./code-editor-B_wPmKPf.cjs');
|
|
31
31
|
const icons_AgentIcon = require('./icons/AgentIcon.cjs.js');
|
|
32
32
|
const domains_chat_tools_badges_resolveChildMessages = require('./domains/chat/tools/badges/resolve-child-messages.cjs.js');
|
|
33
33
|
const domains_agents_hooks_useAgentMessages = require('./domains/agents/hooks/use-agent-messages.cjs.js');
|
|
@@ -419,4 +419,4 @@ exports.AgentBadge = AgentBadge;
|
|
|
419
419
|
exports.AgentBadgeWrapper = AgentBadgeWrapper;
|
|
420
420
|
exports.ToolCard = ToolCard;
|
|
421
421
|
exports.ToolCardInner = ToolCardInner;
|
|
422
|
-
//# sourceMappingURL=tool-card-
|
|
422
|
+
//# sourceMappingURL=tool-card-rxo27sve.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-card-BfMA9tub.cjs","sources":["../src/domains/chat/tools/badges/agent-badge.tsx","../src/domains/chat/tools/badges/agent-badge-wrapper.tsx","../src/domains/chat/tools/tool-card.tsx"],"sourcesContent":["import React from 'react';\nimport Markdown from 'react-markdown';\nimport { ToolCard } from '../tool-card';\nimport { BackgroundTaskMetadataDialogTrigger } from './background-task-metadata-dialog';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { NetworkChoiceMetadataDialogTrigger } from '@/domains/chat/components/network-choice-metadata-dialog';\nimport { SectionLabel } from '@/domains/chat/components/section-label';\nimport { awaitsToolApproval } from '@/domains/chat/tools/badges/awaits-tool-approval';\nimport type { ToolApprovalButtonsProps } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport { ToolApprovalButtons } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\nimport { ToolCallMono } from '@/ds/components/ai/tool-call';\nimport { Button } from '@/ds/components/Button';\nimport { CodeEditor } from '@/ds/components/CodeEditor';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\n\ntype TextMessage = {\n type: 'text';\n content: string;\n};\n\ntype ToolMessage = {\n type: 'tool';\n toolName: string;\n toolOutput?: any;\n args?: any;\n toolCallId: string;\n result?: any;\n};\n\nexport type AgentMessage = TextMessage | ToolMessage;\n\nexport interface AgentBadgeProps extends Omit<ToolApprovalButtonsProps, 'toolCalled'> {\n agentId: string;\n messages: AgentMessage[];\n metadata?: MessageMetadata;\n suspendPayload?: any;\n toolCalled?: boolean;\n isComplete?: boolean;\n keepOpenForStreamingChildMessages?: boolean;\n status?: ActivityStatus;\n errorText?: string;\n onLoadPrevious?: () => void;\n isLoadingPrevious?: boolean;\n}\n\nexport const AgentBadge = ({\n agentId,\n messages = [],\n metadata,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n suspendPayload,\n toolCalled: toolCalledProp,\n isComplete = false,\n keepOpenForStreamingChildMessages = false,\n status = 'idle',\n errorText,\n onLoadPrevious,\n isLoadingPrevious = false,\n}: AgentBadgeProps) => {\n const routingDecision = metadata?.mode === 'network' ? metadata.routingDecision : undefined;\n const selectionReason =\n metadata?.mode === 'network' ? (routingDecision?.selectionReason ?? metadata.selectionReason) : undefined;\n const agentNetworkInput = metadata?.mode === 'network' ? (routingDecision ?? metadata.agentInput) : undefined;\n\n const parentSuspendedTools =\n metadata?.mode === 'stream' || metadata?.mode === 'network' || metadata?.mode === 'generate'\n ? metadata?.suspendedTools\n : undefined;\n\n const bgEntry =\n (metadata?.mode === 'stream' || metadata?.mode === 'generate') && metadata?.backgroundTasks\n ? metadata.backgroundTasks[toolCallId]\n : undefined;\n\n const allChildToolsComplete =\n messages.length > 0 &&\n messages.every(message => {\n if (message.type === 'text') {\n return true;\n }\n return message.toolOutput !== undefined;\n });\n\n let toolCalled = isComplete && allChildToolsComplete;\n\n if (isNetwork) {\n toolCalled = toolCalledProp ?? allChildToolsComplete;\n }\n\n const isError = status === 'error';\n const shouldCollapseContent = isComplete && !isError && !toolApprovalMetadata && !keepOpenForStreamingChildMessages;\n const shownError = isError ? errorText : undefined;\n const hasBody =\n Boolean(onLoadPrevious) ||\n messages.length > 0 ||\n Boolean(shownError) ||\n Boolean(suspendPayload) ||\n awaitsToolApproval({ toolApprovalMetadata, toolCalled });\n\n let suspendPayloadSlot =\n typeof suspendPayload === 'string' ? (\n <ToolCallMono copyText={suspendPayload} className=\"text-muted-foreground\">\n {suspendPayload}\n </ToolCallMono>\n ) : (\n <CodeEditor data={suspendPayload} data-testid=\"tool-suspend-payload\" />\n );\n\n return (\n <BadgeWrapper\n data-testid=\"agent-badge\"\n icon={<AgentIcon className=\"text-span-agent\" />}\n title={agentId}\n status={status}\n initialCollapsed={shouldCollapseContent}\n extraInfo={\n metadata?.mode === 'network' ? (\n <NetworkChoiceMetadataDialogTrigger\n selectionReason={selectionReason ?? ''}\n input={agentNetworkInput as string | Record<string, unknown> | undefined}\n />\n ) : bgEntry?.taskId && bgEntry?.startedAt ? (\n <BackgroundTaskMetadataDialogTrigger backgroundTask={bgEntry} />\n ) : null\n }\n >\n {hasBody && (\n <>\n {onLoadPrevious && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={onLoadPrevious}\n disabled={isLoadingPrevious}\n data-testid=\"agent-badge-load-previous\"\n >\n {isLoadingPrevious ? 'Loading earlier messages…' : 'Load earlier messages'}\n </Button>\n )}\n\n {messages.map((message, index) => {\n if (message.type === 'text') {\n return <Markdown key={index}>{message.content}</Markdown>;\n }\n\n let result;\n\n try {\n result = typeof message.toolOutput === 'string' ? JSON.parse(message.toolOutput) : message.toolOutput;\n } catch {\n result = message.toolOutput;\n }\n\n return (\n <React.Fragment key={index}>\n <ToolCard\n toolName={message.toolName}\n input={message.args}\n output={result}\n state=\"output-available\"\n toolCallId={message.toolCallId}\n metadata={{\n mode: 'stream',\n requireApprovalMetadata: isNetwork ? metadata?.requireApprovalMetadata : undefined,\n suspendedTools: parentSuspendedTools,\n }}\n />\n </React.Fragment>\n );\n })}\n\n {shownError && (\n <ToolCallMono copyText={shownError} data-testid=\"agent-error\" className=\"text-destructive-foreground\">\n {shownError}\n </ToolCallMono>\n )}\n\n {suspendPayloadSlot !== undefined && suspendPayload && (\n <div>\n <SectionLabel>Agent suspend payload</SectionLabel>\n {suspendPayloadSlot}\n </div>\n )}\n\n <ToolApprovalButtons\n toolCalled={toolCalled}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n isGenerateMode={metadata?.mode === 'generate'}\n />\n </>\n )}\n </BadgeWrapper>\n );\n};\n","import { toAISdkV5Messages } from '@mastra/ai-sdk/ui';\nimport type { AgentMessage } from './agent-badge';\nimport { AgentBadge } from './agent-badge';\nimport { resolveToChildMessages } from './resolve-child-messages';\nimport { useAgentMessages } from '@/domains/agents/hooks/use-agent-messages';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { LoadingBadge } from '@/domains/chat/components/loading-badge';\nimport type { ToolApprovalButtonsProps } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\n\ninterface SubAgentToolResult {\n toolName: string;\n toolCallId: string;\n result: any;\n args: any;\n}\n\ninterface AgentBadgeWrapperProps extends Omit<ToolApprovalButtonsProps, 'toolCalled'> {\n agentId: string;\n result?: {\n childMessages?: AgentMessage[];\n subAgentResourceId?: string;\n subAgentThreadId?: string;\n subAgentToolResults?: SubAgentToolResult[];\n text?: string;\n };\n metadata?: MessageMetadata;\n suspendPayload?: any;\n toolCalled?: boolean;\n isComplete?: boolean;\n status?: ActivityStatus;\n errorText?: string;\n}\n\nexport const AgentBadgeWrapper = ({\n agentId,\n result,\n metadata,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n suspendPayload,\n toolCalled,\n isComplete,\n status,\n errorText,\n}: AgentBadgeWrapperProps) => {\n const shouldFetchAgentMessages = Boolean(\n result?.subAgentThreadId && !result.text && !result.subAgentToolResults?.length,\n );\n const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage } = useAgentMessages({\n threadId: shouldFetchAgentMessages ? result?.subAgentThreadId : undefined,\n agentId,\n memory: true,\n });\n\n if (isLoading) {\n return <LoadingBadge />;\n }\n\n const convertedMessages = data?.messages ? toAISdkV5Messages(data.messages) : [];\n\n let childMessages = result?.childMessages?.length ? result.childMessages : undefined;\n\n if (!childMessages && result?.subAgentToolResults?.length) {\n const toolMessages: AgentMessage[] = result.subAgentToolResults.map(tr => ({\n type: 'tool' as const,\n toolName: tr.toolName,\n toolCallId: tr.toolCallId,\n args: tr.args,\n toolOutput: tr.result,\n }));\n if (result.text) {\n toolMessages.push({ type: 'text' as const, content: result.text });\n }\n childMessages = toolMessages;\n }\n\n if (!childMessages && result?.text) {\n childMessages = [{ type: 'text' as const, content: result.text }];\n }\n\n let onLoadPrevious: (() => void) | undefined;\n if (!childMessages) {\n childMessages = resolveToChildMessages(convertedMessages) as AgentMessage[];\n onLoadPrevious = hasNextPage ? fetchNextPage : undefined;\n }\n\n const hasStreamingChildMessages = Boolean(result && Object.prototype.hasOwnProperty.call(result, 'childMessages'));\n\n return (\n <AgentBadge\n agentId={agentId}\n messages={childMessages ?? []}\n keepOpenForStreamingChildMessages={hasStreamingChildMessages}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n suspendPayload={suspendPayload}\n toolCalled={toolCalled}\n isComplete={isComplete}\n status={status}\n errorText={errorText}\n onLoadPrevious={onLoadPrevious}\n isLoadingPrevious={isFetchingNextPage}\n />\n );\n};\n","import { useCallback, useContext } from 'react';\nimport { AgentBadgeWrapper } from './badges/agent-badge-wrapper';\nimport { FileTreeBadge } from './badges/file-tree-badge';\nimport { SandboxExecutionBadge } from './badges/sandbox-execution-badge';\nimport { ToolBadge } from './badges/tool-badge';\nimport { useWorkflowStream, WorkflowBadge } from './badges/workflow-badge';\nimport { SubmitPlanTool } from './submit-plan-tool';\nimport { ToolResultMedia } from './tool-result-media';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { ChatAgentContext, useChatRunning, useChatSend } from '@/domains/chat/context/chat-context';\nimport { AskUserTool } from '@/domains/chat/tools/ask-user-tool';\nimport { CodeModeBadge } from '@/domains/chat/tools/badges/code-mode-badge';\nimport { ObservationMarkerBadge } from '@/domains/chat/tools/badges/observation-marker-badge';\nimport {\n badgeStatus,\n codeModeCall,\n isAgentCall,\n isSettledState,\n isWorkflowCall,\n toolCardKind,\n toolInteraction,\n} from '@/domains/chat/tools/tool-card-kind';\nimport { McpAppToolResult } from '@/domains/mcps/components/mcp-app-tool-result';\nimport { useMcpAppTools } from '@/domains/mcps/hooks/use-mcp-app-tools';\nimport { PlaygroundWorkflowRunProvider } from '@/domains/workflows/context/playground-workflow-run-provider';\n\n/** A `data`-typed part the agent wrote via `writer.custom`, scoped to a call by `data.toolCallId`. */\nexport interface DataMessagePart {\n type: string;\n name?: string;\n data?: any;\n}\n\nexport interface ToolCardProps {\n toolName: string;\n input: any;\n output: any;\n modelOutput?: unknown;\n toolCallId: string;\n /** Part state: v5 `output-available`/`output-error`/`input-available`, or v4 `result`/`call`. */\n state?: string;\n /** Error message when `state` is `output-error`. */\n errorText?: string;\n metadata?: MessageMetadata;\n /** `data`-typed parts from the parent message, for badges that read live streaming metadata. */\n dataParts?: ReadonlyArray<DataMessagePart>;\n /** Historical rendering mode: preserve presentation while suppressing executable actions and side effects. */\n readOnly?: boolean;\n}\n\nconst stripPrefix = (toolName: string, prefix: string): string =>\n toolName.startsWith(prefix) ? toolName.slice(prefix.length) : toolName;\n\n/** Its own workflow run scope, so a streaming workflow result can drive a live graph inside the card. */\nexport const ToolCard = (props: ToolCardProps) => {\n return (\n <PlaygroundWorkflowRunProvider workflowId={''} withoutTimeTravel>\n <ToolCardInner {...props} />\n </PlaygroundWorkflowRunProvider>\n );\n};\n\nexport const ToolCardInner = ({\n toolName,\n input,\n output,\n modelOutput,\n toolCallId,\n state,\n errorText,\n metadata,\n dataParts,\n readOnly = false,\n}: ToolCardProps) => {\n const { data: mcpAppTools } = useMcpAppTools();\n const send = useChatSend();\n const chatAgent = useContext(ChatAgentContext);\n const { isRunning } = useChatRunning();\n const handleMcpAppSendMessage = useCallback(\n (content: string) => {\n send({ message: content });\n },\n [send],\n );\n useWorkflowStream(output);\n\n const kind = toolCardKind({ toolName, toolCallId, input, output, state }, { metadata, mcpAppTools });\n const { approval: toolApprovalMetadata, suspended: suspendedToolMetadata } = toolInteraction(\n metadata,\n toolName,\n toolCallId,\n );\n const status = badgeStatus(state, isRunning);\n const isNetwork = metadata?.mode === 'network';\n const toolCalled = isNetwork && metadata?.hasMoreMessages ? true : undefined;\n const agentToolName = stripPrefix(toolName, 'agent-');\n const workflowToolName = stripPrefix(toolName, 'workflow-');\n\n switch (kind) {\n case 'hidden':\n return null;\n case 'observation':\n return <ObservationMarkerBadge toolName={toolName} omData={output?.omData ?? input} />;\n case 'ask_user':\n if (!readOnly) {\n return <AskUserTool toolName={toolName} toolCallId={toolCallId} output={output} metadata={metadata} />;\n }\n break;\n case 'submit_plan':\n return (\n <SubmitPlanTool\n agentId={chatAgent?.agentId}\n agentVersionId={chatAgent?.agentVersionId}\n requestContext={chatAgent?.requestContext}\n toolName={toolName}\n toolCallId={toolCallId}\n output={output}\n metadata={metadata}\n />\n );\n case 'background': {\n const isAgent = isAgentCall(metadata, toolName);\n const isWorkflow = isWorkflowCall(metadata, toolName);\n return (\n <ToolBadge\n toolName={isAgent ? agentToolName : isWorkflow ? workflowToolName : toolName}\n args={input}\n result={output}\n toolOutput={[]}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n withoutArgs={isAgent || isWorkflow}\n status={status}\n />\n );\n }\n case 'agent':\n return (\n <AgentBadgeWrapper\n agentId={agentToolName}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n toolCalled={toolCalled}\n isComplete={isSettledState(state)}\n status={status}\n errorText={errorText}\n />\n );\n case 'workflow':\n return (\n <WorkflowBadge\n workflowId={workflowToolName}\n isStreaming={metadata?.mode === 'stream' || isNetwork}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n toolName={toolName}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n />\n );\n case 'file_tree':\n return (\n <FileTreeBadge\n toolName={toolName}\n args={input}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n dataParts={dataParts}\n status={status}\n />\n );\n case 'sandbox':\n return (\n <SandboxExecutionBadge\n toolName={toolName}\n args={input}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n dataParts={dataParts}\n status={status}\n />\n );\n case 'code_mode': {\n const call = codeModeCall(input, output);\n if (call) {\n return (\n <CodeModeBadge\n toolName={toolName}\n code={call.code}\n result={call.result}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n />\n );\n }\n break;\n }\n case 'mcp_app':\n case 'plain':\n break;\n }\n\n const mcpAppInfo = mcpAppTools?.[toolName];\n\n return (\n <>\n <ToolBadge\n toolName={toolName}\n args={input}\n result={output ?? errorText}\n toolOutput={output?.toolOutput || []}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n status={status}\n />\n <ToolResultMedia modelOutput={modelOutput} />\n {mcpAppInfo && output !== undefined && (\n <McpAppToolResult\n appInfo={mcpAppInfo}\n toolArgs={input}\n toolResult={output}\n onSendMessage={handleMcpAppSendMessage}\n readOnly={readOnly}\n />\n )}\n </>\n );\n};\n"],"names":["awaitsToolApproval","jsx","ToolCallMono","CodeEditor","BadgeWrapper","AgentIcon","NetworkChoiceMetadataDialogTrigger","BackgroundTaskMetadataDialogTrigger","jsxs","Fragment","Button","SectionLabel","ToolApprovalButtons","useAgentMessages","LoadingBadge","toAISdkV5Messages","resolveToChildMessages","PlaygroundWorkflowRunProvider","useMcpAppTools","useChatSend","useContext","ChatAgentContext","useChatRunning","useCallback","useWorkflowStream","toolCardKind","toolInteraction","badgeStatus","ObservationMarkerBadge","AskUserTool","SubmitPlanTool","isAgentCall","isWorkflowCall","ToolBadge","isSettledState","WorkflowBadge","FileTreeBadge","SandboxExecutionBadge","codeModeCall","CodeModeBadge","ToolResultMedia","McpAppToolResult"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-card-rxo27sve.cjs","sources":["../src/domains/chat/tools/badges/agent-badge.tsx","../src/domains/chat/tools/badges/agent-badge-wrapper.tsx","../src/domains/chat/tools/tool-card.tsx"],"sourcesContent":["import React from 'react';\nimport Markdown from 'react-markdown';\nimport { ToolCard } from '../tool-card';\nimport { BackgroundTaskMetadataDialogTrigger } from './background-task-metadata-dialog';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { NetworkChoiceMetadataDialogTrigger } from '@/domains/chat/components/network-choice-metadata-dialog';\nimport { SectionLabel } from '@/domains/chat/components/section-label';\nimport { awaitsToolApproval } from '@/domains/chat/tools/badges/awaits-tool-approval';\nimport type { ToolApprovalButtonsProps } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport { ToolApprovalButtons } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\nimport { ToolCallMono } from '@/ds/components/ai/tool-call';\nimport { Button } from '@/ds/components/Button';\nimport { CodeEditor } from '@/ds/components/CodeEditor';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\n\ntype TextMessage = {\n type: 'text';\n content: string;\n};\n\ntype ToolMessage = {\n type: 'tool';\n toolName: string;\n toolOutput?: any;\n args?: any;\n toolCallId: string;\n result?: any;\n};\n\nexport type AgentMessage = TextMessage | ToolMessage;\n\nexport interface AgentBadgeProps extends Omit<ToolApprovalButtonsProps, 'toolCalled'> {\n agentId: string;\n messages: AgentMessage[];\n metadata?: MessageMetadata;\n suspendPayload?: any;\n toolCalled?: boolean;\n isComplete?: boolean;\n keepOpenForStreamingChildMessages?: boolean;\n status?: ActivityStatus;\n errorText?: string;\n onLoadPrevious?: () => void;\n isLoadingPrevious?: boolean;\n}\n\nexport const AgentBadge = ({\n agentId,\n messages = [],\n metadata,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n suspendPayload,\n toolCalled: toolCalledProp,\n isComplete = false,\n keepOpenForStreamingChildMessages = false,\n status = 'idle',\n errorText,\n onLoadPrevious,\n isLoadingPrevious = false,\n}: AgentBadgeProps) => {\n const routingDecision = metadata?.mode === 'network' ? metadata.routingDecision : undefined;\n const selectionReason =\n metadata?.mode === 'network' ? (routingDecision?.selectionReason ?? metadata.selectionReason) : undefined;\n const agentNetworkInput = metadata?.mode === 'network' ? (routingDecision ?? metadata.agentInput) : undefined;\n\n const parentSuspendedTools =\n metadata?.mode === 'stream' || metadata?.mode === 'network' || metadata?.mode === 'generate'\n ? metadata?.suspendedTools\n : undefined;\n\n const bgEntry =\n (metadata?.mode === 'stream' || metadata?.mode === 'generate') && metadata?.backgroundTasks\n ? metadata.backgroundTasks[toolCallId]\n : undefined;\n\n const allChildToolsComplete =\n messages.length > 0 &&\n messages.every(message => {\n if (message.type === 'text') {\n return true;\n }\n return message.toolOutput !== undefined;\n });\n\n let toolCalled = isComplete && allChildToolsComplete;\n\n if (isNetwork) {\n toolCalled = toolCalledProp ?? allChildToolsComplete;\n }\n\n const isError = status === 'error';\n const shouldCollapseContent = isComplete && !isError && !toolApprovalMetadata && !keepOpenForStreamingChildMessages;\n const shownError = isError ? errorText : undefined;\n const hasBody =\n Boolean(onLoadPrevious) ||\n messages.length > 0 ||\n Boolean(shownError) ||\n Boolean(suspendPayload) ||\n awaitsToolApproval({ toolApprovalMetadata, toolCalled });\n\n let suspendPayloadSlot =\n typeof suspendPayload === 'string' ? (\n <ToolCallMono copyText={suspendPayload} className=\"text-muted-foreground\">\n {suspendPayload}\n </ToolCallMono>\n ) : (\n <CodeEditor data={suspendPayload} data-testid=\"tool-suspend-payload\" />\n );\n\n return (\n <BadgeWrapper\n data-testid=\"agent-badge\"\n icon={<AgentIcon className=\"text-span-agent\" />}\n title={agentId}\n status={status}\n initialCollapsed={shouldCollapseContent}\n extraInfo={\n metadata?.mode === 'network' ? (\n <NetworkChoiceMetadataDialogTrigger\n selectionReason={selectionReason ?? ''}\n input={agentNetworkInput as string | Record<string, unknown> | undefined}\n />\n ) : bgEntry?.taskId && bgEntry?.startedAt ? (\n <BackgroundTaskMetadataDialogTrigger backgroundTask={bgEntry} />\n ) : null\n }\n >\n {hasBody && (\n <>\n {onLoadPrevious && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={onLoadPrevious}\n disabled={isLoadingPrevious}\n data-testid=\"agent-badge-load-previous\"\n >\n {isLoadingPrevious ? 'Loading earlier messages…' : 'Load earlier messages'}\n </Button>\n )}\n\n {messages.map((message, index) => {\n if (message.type === 'text') {\n return <Markdown key={index}>{message.content}</Markdown>;\n }\n\n let result;\n\n try {\n result = typeof message.toolOutput === 'string' ? JSON.parse(message.toolOutput) : message.toolOutput;\n } catch {\n result = message.toolOutput;\n }\n\n return (\n <React.Fragment key={index}>\n <ToolCard\n toolName={message.toolName}\n input={message.args}\n output={result}\n state=\"output-available\"\n toolCallId={message.toolCallId}\n metadata={{\n mode: 'stream',\n requireApprovalMetadata: isNetwork ? metadata?.requireApprovalMetadata : undefined,\n suspendedTools: parentSuspendedTools,\n }}\n />\n </React.Fragment>\n );\n })}\n\n {shownError && (\n <ToolCallMono copyText={shownError} data-testid=\"agent-error\" className=\"text-destructive-foreground\">\n {shownError}\n </ToolCallMono>\n )}\n\n {suspendPayloadSlot !== undefined && suspendPayload && (\n <div>\n <SectionLabel>Agent suspend payload</SectionLabel>\n {suspendPayloadSlot}\n </div>\n )}\n\n <ToolApprovalButtons\n toolCalled={toolCalled}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n isGenerateMode={metadata?.mode === 'generate'}\n />\n </>\n )}\n </BadgeWrapper>\n );\n};\n","import { toAISdkV5Messages } from '@mastra/ai-sdk/ui';\nimport type { AgentMessage } from './agent-badge';\nimport { AgentBadge } from './agent-badge';\nimport { resolveToChildMessages } from './resolve-child-messages';\nimport { useAgentMessages } from '@/domains/agents/hooks/use-agent-messages';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { LoadingBadge } from '@/domains/chat/components/loading-badge';\nimport type { ToolApprovalButtonsProps } from '@/domains/chat/tools/badges/tool-approval-buttons';\nimport type { ActivityStatus } from '@/ds/components/ai/activity';\n\ninterface SubAgentToolResult {\n toolName: string;\n toolCallId: string;\n result: any;\n args: any;\n}\n\ninterface AgentBadgeWrapperProps extends Omit<ToolApprovalButtonsProps, 'toolCalled'> {\n agentId: string;\n result?: {\n childMessages?: AgentMessage[];\n subAgentResourceId?: string;\n subAgentThreadId?: string;\n subAgentToolResults?: SubAgentToolResult[];\n text?: string;\n };\n metadata?: MessageMetadata;\n suspendPayload?: any;\n toolCalled?: boolean;\n isComplete?: boolean;\n status?: ActivityStatus;\n errorText?: string;\n}\n\nexport const AgentBadgeWrapper = ({\n agentId,\n result,\n metadata,\n toolCallId,\n toolApprovalMetadata,\n toolName,\n isNetwork,\n suspendPayload,\n toolCalled,\n isComplete,\n status,\n errorText,\n}: AgentBadgeWrapperProps) => {\n const shouldFetchAgentMessages = Boolean(\n result?.subAgentThreadId && !result.text && !result.subAgentToolResults?.length,\n );\n const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage } = useAgentMessages({\n threadId: shouldFetchAgentMessages ? result?.subAgentThreadId : undefined,\n agentId,\n memory: true,\n });\n\n if (isLoading) {\n return <LoadingBadge />;\n }\n\n const convertedMessages = data?.messages ? toAISdkV5Messages(data.messages) : [];\n\n let childMessages = result?.childMessages?.length ? result.childMessages : undefined;\n\n if (!childMessages && result?.subAgentToolResults?.length) {\n const toolMessages: AgentMessage[] = result.subAgentToolResults.map(tr => ({\n type: 'tool' as const,\n toolName: tr.toolName,\n toolCallId: tr.toolCallId,\n args: tr.args,\n toolOutput: tr.result,\n }));\n if (result.text) {\n toolMessages.push({ type: 'text' as const, content: result.text });\n }\n childMessages = toolMessages;\n }\n\n if (!childMessages && result?.text) {\n childMessages = [{ type: 'text' as const, content: result.text }];\n }\n\n let onLoadPrevious: (() => void) | undefined;\n if (!childMessages) {\n childMessages = resolveToChildMessages(convertedMessages) as AgentMessage[];\n onLoadPrevious = hasNextPage ? fetchNextPage : undefined;\n }\n\n const hasStreamingChildMessages = Boolean(result && Object.prototype.hasOwnProperty.call(result, 'childMessages'));\n\n return (\n <AgentBadge\n agentId={agentId}\n messages={childMessages ?? []}\n keepOpenForStreamingChildMessages={hasStreamingChildMessages}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n suspendPayload={suspendPayload}\n toolCalled={toolCalled}\n isComplete={isComplete}\n status={status}\n errorText={errorText}\n onLoadPrevious={onLoadPrevious}\n isLoadingPrevious={isFetchingNextPage}\n />\n );\n};\n","import { useCallback, useContext } from 'react';\nimport { AgentBadgeWrapper } from './badges/agent-badge-wrapper';\nimport { FileTreeBadge } from './badges/file-tree-badge';\nimport { SandboxExecutionBadge } from './badges/sandbox-execution-badge';\nimport { ToolBadge } from './badges/tool-badge';\nimport { useWorkflowStream, WorkflowBadge } from './badges/workflow-badge';\nimport { SubmitPlanTool } from './submit-plan-tool';\nimport { ToolResultMedia } from './tool-result-media';\nimport type { MessageMetadata } from '@/domains/chat';\nimport { ChatAgentContext, useChatRunning, useChatSend } from '@/domains/chat/context/chat-context';\nimport { AskUserTool } from '@/domains/chat/tools/ask-user-tool';\nimport { CodeModeBadge } from '@/domains/chat/tools/badges/code-mode-badge';\nimport { ObservationMarkerBadge } from '@/domains/chat/tools/badges/observation-marker-badge';\nimport {\n badgeStatus,\n codeModeCall,\n isAgentCall,\n isSettledState,\n isWorkflowCall,\n toolCardKind,\n toolInteraction,\n} from '@/domains/chat/tools/tool-card-kind';\nimport { McpAppToolResult } from '@/domains/mcps/components/mcp-app-tool-result';\nimport { useMcpAppTools } from '@/domains/mcps/hooks/use-mcp-app-tools';\nimport { PlaygroundWorkflowRunProvider } from '@/domains/workflows/context/playground-workflow-run-provider';\n\n/** A `data`-typed part the agent wrote via `writer.custom`, scoped to a call by `data.toolCallId`. */\nexport interface DataMessagePart {\n type: string;\n name?: string;\n data?: any;\n}\n\nexport interface ToolCardProps {\n toolName: string;\n input: any;\n output: any;\n modelOutput?: unknown;\n toolCallId: string;\n /** Part state: v5 `output-available`/`output-error`/`input-available`, or v4 `result`/`call`. */\n state?: string;\n /** Error message when `state` is `output-error`. */\n errorText?: string;\n metadata?: MessageMetadata;\n /** `data`-typed parts from the parent message, for badges that read live streaming metadata. */\n dataParts?: ReadonlyArray<DataMessagePart>;\n /** Historical rendering mode: preserve presentation while suppressing executable actions and side effects. */\n readOnly?: boolean;\n}\n\nconst stripPrefix = (toolName: string, prefix: string): string =>\n toolName.startsWith(prefix) ? toolName.slice(prefix.length) : toolName;\n\n/** Its own workflow run scope, so a streaming workflow result can drive a live graph inside the card. */\nexport const ToolCard = (props: ToolCardProps) => {\n return (\n <PlaygroundWorkflowRunProvider workflowId={''} withoutTimeTravel>\n <ToolCardInner {...props} />\n </PlaygroundWorkflowRunProvider>\n );\n};\n\nexport const ToolCardInner = ({\n toolName,\n input,\n output,\n modelOutput,\n toolCallId,\n state,\n errorText,\n metadata,\n dataParts,\n readOnly = false,\n}: ToolCardProps) => {\n const { data: mcpAppTools } = useMcpAppTools();\n const send = useChatSend();\n const chatAgent = useContext(ChatAgentContext);\n const { isRunning } = useChatRunning();\n const handleMcpAppSendMessage = useCallback(\n (content: string) => {\n send({ message: content });\n },\n [send],\n );\n useWorkflowStream(output);\n\n const kind = toolCardKind({ toolName, toolCallId, input, output, state }, { metadata, mcpAppTools });\n const { approval: toolApprovalMetadata, suspended: suspendedToolMetadata } = toolInteraction(\n metadata,\n toolName,\n toolCallId,\n );\n const status = badgeStatus(state, isRunning);\n const isNetwork = metadata?.mode === 'network';\n const toolCalled = isNetwork && metadata?.hasMoreMessages ? true : undefined;\n const agentToolName = stripPrefix(toolName, 'agent-');\n const workflowToolName = stripPrefix(toolName, 'workflow-');\n\n switch (kind) {\n case 'hidden':\n return null;\n case 'observation':\n return <ObservationMarkerBadge toolName={toolName} omData={output?.omData ?? input} />;\n case 'ask_user':\n if (!readOnly) {\n return <AskUserTool toolName={toolName} toolCallId={toolCallId} output={output} metadata={metadata} />;\n }\n break;\n case 'submit_plan':\n return (\n <SubmitPlanTool\n agentId={chatAgent?.agentId}\n agentVersionId={chatAgent?.agentVersionId}\n requestContext={chatAgent?.requestContext}\n toolName={toolName}\n toolCallId={toolCallId}\n output={output}\n metadata={metadata}\n />\n );\n case 'background': {\n const isAgent = isAgentCall(metadata, toolName);\n const isWorkflow = isWorkflowCall(metadata, toolName);\n return (\n <ToolBadge\n toolName={isAgent ? agentToolName : isWorkflow ? workflowToolName : toolName}\n args={input}\n result={output}\n toolOutput={[]}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n withoutArgs={isAgent || isWorkflow}\n status={status}\n />\n );\n }\n case 'agent':\n return (\n <AgentBadgeWrapper\n agentId={agentToolName}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n toolName={toolName}\n isNetwork={isNetwork}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n toolCalled={toolCalled}\n isComplete={isSettledState(state)}\n status={status}\n errorText={errorText}\n />\n );\n case 'workflow':\n return (\n <WorkflowBadge\n workflowId={workflowToolName}\n isStreaming={metadata?.mode === 'stream' || isNetwork}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n toolName={toolName}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n />\n );\n case 'file_tree':\n return (\n <FileTreeBadge\n toolName={toolName}\n args={input}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n dataParts={dataParts}\n status={status}\n />\n );\n case 'sandbox':\n return (\n <SandboxExecutionBadge\n toolName={toolName}\n args={input}\n result={output}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n dataParts={dataParts}\n status={status}\n />\n );\n case 'code_mode': {\n const call = codeModeCall(input, output);\n if (call) {\n return (\n <CodeModeBadge\n toolName={toolName}\n code={call.code}\n result={call.result}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n />\n );\n }\n break;\n }\n case 'mcp_app':\n case 'plain':\n break;\n }\n\n const mcpAppInfo = mcpAppTools?.[toolName];\n\n return (\n <>\n <ToolBadge\n toolName={toolName}\n args={input}\n result={output ?? errorText}\n toolOutput={output?.toolOutput || []}\n metadata={metadata}\n toolCallId={toolCallId}\n toolApprovalMetadata={toolApprovalMetadata}\n suspendPayload={suspendedToolMetadata?.suspendPayload}\n isNetwork={isNetwork}\n toolCalled={toolCalled}\n status={status}\n />\n <ToolResultMedia modelOutput={modelOutput} />\n {mcpAppInfo && output !== undefined && (\n <McpAppToolResult\n appInfo={mcpAppInfo}\n toolArgs={input}\n toolResult={output}\n onSendMessage={handleMcpAppSendMessage}\n readOnly={readOnly}\n />\n )}\n </>\n );\n};\n"],"names":["awaitsToolApproval","jsx","ToolCallMono","CodeEditor","BadgeWrapper","AgentIcon","NetworkChoiceMetadataDialogTrigger","BackgroundTaskMetadataDialogTrigger","jsxs","Fragment","Button","SectionLabel","ToolApprovalButtons","useAgentMessages","LoadingBadge","toAISdkV5Messages","resolveToChildMessages","PlaygroundWorkflowRunProvider","useMcpAppTools","useChatSend","useContext","ChatAgentContext","useChatRunning","useCallback","useWorkflowStream","toolCardKind","toolInteraction","badgeStatus","ObservationMarkerBadge","AskUserTool","SubmitPlanTool","isAgentCall","isWorkflowCall","ToolBadge","isSettledState","WorkflowBadge","FileTreeBadge","SandboxExecutionBadge","codeModeCall","CodeModeBadge","ToolResultMedia","McpAppToolResult"],"mappings":"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"}
|
package/dist/{workflow-code-dialog-content-COlaHWtW.cjs → workflow-code-dialog-content-BFm2IWDl.cjs}
RENAMED
|
@@ -5,7 +5,7 @@ const langJavascript = require('@codemirror/lang-javascript');
|
|
|
5
5
|
const langJson = require('@codemirror/lang-json');
|
|
6
6
|
const view = require('@codemirror/view');
|
|
7
7
|
const CodeMirror = require('@uiw/react-codemirror');
|
|
8
|
-
const codeEditor = require('./code-editor-
|
|
8
|
+
const codeEditor = require('./code-editor-B_wPmKPf.cjs');
|
|
9
9
|
const copyButton = require('./copy-button-CGkFEDHF.cjs');
|
|
10
10
|
|
|
11
11
|
const WorkflowCodeContent = ({
|
|
@@ -51,4 +51,4 @@ const WorkflowCodeContent = ({
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
exports.WorkflowCodeContent = WorkflowCodeContent;
|
|
54
|
-
//# sourceMappingURL=workflow-code-dialog-content-
|
|
54
|
+
//# sourceMappingURL=workflow-code-dialog-content-BFm2IWDl.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-code-dialog-content-
|
|
1
|
+
{"version":3,"file":"workflow-code-dialog-content-BFm2IWDl.cjs","sources":["../src/ds/components/Workflow/data/workflow-code-dialog-content.tsx"],"sourcesContent":["import { javascript } from '@codemirror/lang-javascript';\nimport { jsonLanguage } from '@codemirror/lang-json';\nimport { EditorView } from '@codemirror/view';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { useCodemirrorTheme } from '@/ds/components/CodeEditor';\nimport { CopyButton } from '@/ds/components/CopyButton';\n\nexport const WorkflowCodeContent = ({\n data,\n language = 'auto',\n}: {\n data: unknown;\n language?: 'json' | 'javascript' | 'auto';\n}) => {\n const theme = useCodemirrorTheme();\n\n const getExtensions = (content: string) => {\n if (language === 'javascript') {\n return [javascript(), EditorView.lineWrapping];\n }\n if (language === 'json') {\n return [jsonLanguage, EditorView.lineWrapping];\n }\n\n try {\n JSON.parse(content);\n return [jsonLanguage, EditorView.lineWrapping];\n } catch {\n if (\n content.includes('=>') ||\n content.includes('function') ||\n content.includes('const ') ||\n content.includes('return ')\n ) {\n return [javascript(), EditorView.lineWrapping];\n }\n return [EditorView.lineWrapping];\n }\n };\n\n if (typeof data !== 'string') {\n const content = JSON.stringify(data, null, 2);\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={content} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={content} theme={theme} extensions={[jsonLanguage, EditorView.lineWrapping]} />\n </div>\n </div>\n );\n }\n\n const extensions = getExtensions(data);\n\n let displayContent = data;\n try {\n const json = JSON.parse(data);\n displayContent = JSON.stringify(json, null, 2);\n } catch {}\n\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={data} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={displayContent} theme={theme} extensions={extensions} />\n </div>\n </div>\n );\n};\n"],"names":["useCodemirrorTheme","javascript","EditorView","jsonLanguage","jsxs","jsx","CopyButton"],"mappings":";;;;;;;;;;AAOO,MAAM,sBAAsB,CAAC;AAAA,EAClC,IAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,KAGM;AACJ,EAAA,MAAM,QAAQA,6BAAA,EAAmB;AAEjC,EAAA,MAAM,aAAA,GAAgB,CAAC,OAAA,KAAoB;AACzC,IAAA,IAAI,aAAa,YAAA,EAAc;AAC7B,MAAA,OAAO,CAACC,yBAAA,EAAW,EAAGC,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,aAAa,MAAA,EAAQ;AACvB,MAAA,OAAO,CAACC,qBAAA,EAAcD,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,MAAM,OAAO,CAAA;AAClB,MAAA,OAAO,CAACC,qBAAA,EAAcD,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C,CAAA,CAAA,MAAQ;AACN,MAAA,IACE,OAAA,CAAQ,QAAA,CAAS,IAAI,CAAA,IACrB,QAAQ,QAAA,CAAS,UAAU,CAAA,IAC3B,OAAA,CAAQ,SAAS,QAAQ,CAAA,IACzB,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAC1B;AACA,QAAA,OAAO,CAACD,yBAAA,EAAW,EAAGC,eAAA,CAAW,YAAY,CAAA;AAAA,MAC/C;AACA,MAAA,OAAO,CAACA,gBAAW,YAAY,CAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,MAAM,CAAC,CAAA;AAC5C,IAAA,uBACEE,eAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,QAAA,kBAAAA,cAAA,CAACC,qBAAA,EAAA,EAAW,SAAkB,CAAA,EAChC,CAAA;AAAA,sBACAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,yCAAC,UAAA,EAAA,EAAW,KAAA,EAAO,OAAA,EAAS,KAAA,EAAc,YAAY,CAACF,qBAAA,EAAcD,eAAA,CAAW,YAAY,GAAG,CAAA,EACjG;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,UAAA,GAAa,cAAc,IAAI,CAAA;AAErC,EAAA,IAAI,cAAA,GAAiB,IAAA;AACrB,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC5B,IAAA,cAAA,GAAiB,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,IAAA,EAAM,CAAC,CAAA;AAAA,EAC/C,CAAA,CAAA,MAAQ;AAAA,EAAC;AAET,EAAA,uBACEE,eAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,yCAACC,qBAAA,EAAA,EAAW,OAAA,EAAS,MAAM,CAAA,EAC7B,CAAA;AAAA,oBACAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,kBAAAA,cAAA,CAAC,cAAW,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAc,UAAA,EAAwB,CAAA,EAC3E;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
package/dist/{workflow-code-dialog-content-BQBHzRfZ.js → workflow-code-dialog-content-BM4ZnrUr.js}
RENAMED
|
@@ -3,7 +3,7 @@ import { javascript } from '@codemirror/lang-javascript';
|
|
|
3
3
|
import { jsonLanguage } from '@codemirror/lang-json';
|
|
4
4
|
import { EditorView } from '@codemirror/view';
|
|
5
5
|
import CodeMirror from '@uiw/react-codemirror';
|
|
6
|
-
import { u as useCodemirrorTheme } from './code-editor-
|
|
6
|
+
import { u as useCodemirrorTheme } from './code-editor-28chVxHw.js';
|
|
7
7
|
import { C as CopyButton } from './copy-button-DH8xtrWz.js';
|
|
8
8
|
|
|
9
9
|
const WorkflowCodeContent = ({
|
|
@@ -49,4 +49,4 @@ const WorkflowCodeContent = ({
|
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
export { WorkflowCodeContent as W };
|
|
52
|
-
//# sourceMappingURL=workflow-code-dialog-content-
|
|
52
|
+
//# sourceMappingURL=workflow-code-dialog-content-BM4ZnrUr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-code-dialog-content-
|
|
1
|
+
{"version":3,"file":"workflow-code-dialog-content-BM4ZnrUr.js","sources":["../src/ds/components/Workflow/data/workflow-code-dialog-content.tsx"],"sourcesContent":["import { javascript } from '@codemirror/lang-javascript';\nimport { jsonLanguage } from '@codemirror/lang-json';\nimport { EditorView } from '@codemirror/view';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { useCodemirrorTheme } from '@/ds/components/CodeEditor';\nimport { CopyButton } from '@/ds/components/CopyButton';\n\nexport const WorkflowCodeContent = ({\n data,\n language = 'auto',\n}: {\n data: unknown;\n language?: 'json' | 'javascript' | 'auto';\n}) => {\n const theme = useCodemirrorTheme();\n\n const getExtensions = (content: string) => {\n if (language === 'javascript') {\n return [javascript(), EditorView.lineWrapping];\n }\n if (language === 'json') {\n return [jsonLanguage, EditorView.lineWrapping];\n }\n\n try {\n JSON.parse(content);\n return [jsonLanguage, EditorView.lineWrapping];\n } catch {\n if (\n content.includes('=>') ||\n content.includes('function') ||\n content.includes('const ') ||\n content.includes('return ')\n ) {\n return [javascript(), EditorView.lineWrapping];\n }\n return [EditorView.lineWrapping];\n }\n };\n\n if (typeof data !== 'string') {\n const content = JSON.stringify(data, null, 2);\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={content} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={content} theme={theme} extensions={[jsonLanguage, EditorView.lineWrapping]} />\n </div>\n </div>\n );\n }\n\n const extensions = getExtensions(data);\n\n let displayContent = data;\n try {\n const json = JSON.parse(data);\n displayContent = JSON.stringify(json, null, 2);\n } catch {}\n\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={data} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={displayContent} theme={theme} extensions={extensions} />\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAOO,MAAM,sBAAsB,CAAC;AAAA,EAClC,IAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,KAGM;AACJ,EAAA,MAAM,QAAQ,kBAAA,EAAmB;AAEjC,EAAA,MAAM,aAAA,GAAgB,CAAC,OAAA,KAAoB;AACzC,IAAA,IAAI,aAAa,YAAA,EAAc;AAC7B,MAAA,OAAO,CAAC,UAAA,EAAW,EAAG,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,aAAa,MAAA,EAAQ;AACvB,MAAA,OAAO,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,MAAM,OAAO,CAAA;AAClB,MAAA,OAAO,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C,CAAA,CAAA,MAAQ;AACN,MAAA,IACE,OAAA,CAAQ,QAAA,CAAS,IAAI,CAAA,IACrB,QAAQ,QAAA,CAAS,UAAU,CAAA,IAC3B,OAAA,CAAQ,SAAS,QAAQ,CAAA,IACzB,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAC1B;AACA,QAAA,OAAO,CAAC,UAAA,EAAW,EAAG,UAAA,CAAW,YAAY,CAAA;AAAA,MAC/C;AACA,MAAA,OAAO,CAAC,WAAW,YAAY,CAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,MAAM,CAAC,CAAA;AAC5C,IAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAkB,CAAA,EAChC,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,8BAAC,UAAA,EAAA,EAAW,KAAA,EAAO,OAAA,EAAS,KAAA,EAAc,YAAY,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,GAAG,CAAA,EACjG;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,UAAA,GAAa,cAAc,IAAI,CAAA;AAErC,EAAA,IAAI,cAAA,GAAiB,IAAA;AACrB,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC5B,IAAA,cAAA,GAAiB,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,IAAA,EAAM,CAAC,CAAA;AAAA,EAC/C,CAAA,CAAA,MAAQ;AAAA,EAAC;AAET,EAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,8BAAC,UAAA,EAAA,EAAW,OAAA,EAAS,MAAM,CAAA,EAC7B,CAAA;AAAA,oBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,kBAAA,GAAA,CAAC,cAAW,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAc,UAAA,EAAwB,CAAA,EAC3E;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
const react = require('@xyflow/react');
|
|
5
5
|
const React = require('react');
|
|
6
|
-
const workflowEdgeDataButton = require('./workflow-edge-data-button-
|
|
6
|
+
const workflowEdgeDataButton = require('./workflow-edge-data-button-BOVRo4xO.cjs');
|
|
7
7
|
|
|
8
8
|
function WorkflowDataEdgeView({ output, label, dataControl, ...props }) {
|
|
9
9
|
const source = react.useInternalNode(props.source);
|
|
@@ -74,4 +74,4 @@ function WorkflowDataEdgeView({ output, label, dataControl, ...props }) {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
exports.WorkflowDataEdgeView = WorkflowDataEdgeView;
|
|
77
|
-
//# sourceMappingURL=workflow-data-edge-view-
|
|
77
|
+
//# sourceMappingURL=workflow-data-edge-view-7f8O6pVW.cjs.map
|
package/dist/{workflow-data-edge-view-BvhW_gux.cjs.map → workflow-data-edge-view-7f8O6pVW.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-data-edge-view-
|
|
1
|
+
{"version":3,"file":"workflow-data-edge-view-7f8O6pVW.cjs","sources":["../src/ds/components/Workflow/graph/workflow-data-edge-view.tsx"],"sourcesContent":["import { BaseEdge, EdgeLabelRenderer, getBezierPath, Position, useInternalNode } from '@xyflow/react';\nimport type { EdgeProps } from '@xyflow/react';\nimport { useId } from 'react';\nimport type { ReactNode } from 'react';\nimport { WorkflowEdgeDataButton } from '../data/workflow-edge-data-button';\nimport type { WorkflowDataEdgeModel } from './types';\n\nexport interface WorkflowDataEdgeViewProps extends EdgeProps<WorkflowDataEdgeModel> {\n output?: unknown;\n label?: string;\n dataControl?: ReactNode;\n}\n\nexport function WorkflowDataEdgeView({ output, label, dataControl, ...props }: WorkflowDataEdgeViewProps) {\n const source = useInternalNode(props.source);\n const target = useInternalNode(props.target);\n const sourceWidth = source?.measured?.width ?? source?.width;\n const sourceHeight = source?.measured?.height ?? source?.height;\n const targetWidth = target?.measured?.width ?? target?.width;\n const hasBottomSource =\n source && sourceWidth !== undefined && sourceHeight !== undefined && props.sourcePosition === Position.Bottom;\n const hasTopTarget = target && targetWidth !== undefined && props.targetPosition === Position.Top;\n // Nested canvases scale DOM handle measurements twice; route in graph coordinates.\n const sourceX = hasBottomSource ? source.internals.positionAbsolute.x + sourceWidth / 2 : props.sourceX;\n const sourceY = hasBottomSource ? source.internals.positionAbsolute.y + sourceHeight : props.sourceY;\n const targetX = hasTopTarget ? target.internals.positionAbsolute.x + targetWidth / 2 : props.targetX;\n const targetY = hasTopTarget ? target.internals.positionAbsolute.y : props.targetY;\n const [edgePath, midpointX, midpointY] = getBezierPath({\n ...props,\n sourceX,\n sourceY,\n targetX,\n targetY,\n });\n const labelPlacement = props.data?.dataLabelPlacement;\n const labelX = labelPlacement === 'source' ? sourceX : midpointX;\n const labelY = labelPlacement === 'source' ? sourceY + Math.min(24, Math.max(0, (targetY - sourceY) / 4)) : midpointY;\n const arrowId = useId();\n const isExecuted = props.data?.edgeStatus === 'success';\n const pathColor = isExecuted ? 'var(--success-indicator)' : 'var(--muted-foreground)';\n\n return (\n <>\n <defs>\n <marker id={arrowId} viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto\">\n <path d=\"M1 1 L9 5 L1 9 Z\" fill={pathColor} />\n </marker>\n </defs>\n <BaseEdge\n id={props.id}\n path={edgePath}\n markerEnd={`url(#${arrowId})`}\n style={{\n ...props.style,\n stroke: pathColor,\n strokeWidth: isExecuted ? 2 : 1,\n strokeLinecap: 'round',\n strokeDasharray: isExecuted ? 'none' : '5 6',\n }}\n vectorEffect=\"non-scaling-stroke\"\n data-edge-status={props.data?.edgeStatus ?? 'idle'}\n data-edge-from={props.data?.previousStepId}\n data-edge-to={props.data?.nextStepId}\n />\n {labelPlacement !== 'hidden' && (\n <EdgeLabelRenderer>\n <div\n className=\"nodrag nopan flex items-center justify-center\"\n style={{\n position: 'absolute',\n pointerEvents: 'all',\n transform: `translate(-50%, -50%) translate(${labelX}px, ${labelY}px)`,\n }}\n >\n {dataControl ?? (\n <WorkflowEdgeDataButton\n previousStepId={props.data?.boundaryPayload ? undefined : props.data?.previousStepId}\n output={output}\n label={label}\n />\n )}\n </div>\n </EdgeLabelRenderer>\n )}\n </>\n );\n}\n"],"names":["useInternalNode","Position","getBezierPath","useId","jsxs","Fragment","jsx","BaseEdge","EdgeLabelRenderer","WorkflowEdgeDataButton"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useInternalNode, Position, getBezierPath, BaseEdge, EdgeLabelRenderer } from '@xyflow/react';
|
|
3
3
|
import { useId } from 'react';
|
|
4
|
-
import { W as WorkflowEdgeDataButton } from './workflow-edge-data-button-
|
|
4
|
+
import { W as WorkflowEdgeDataButton } from './workflow-edge-data-button-C6eyWbcG.js';
|
|
5
5
|
|
|
6
6
|
function WorkflowDataEdgeView({ output, label, dataControl, ...props }) {
|
|
7
7
|
const source = useInternalNode(props.source);
|
|
@@ -72,4 +72,4 @@ function WorkflowDataEdgeView({ output, label, dataControl, ...props }) {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
export { WorkflowDataEdgeView as W };
|
|
75
|
-
//# sourceMappingURL=workflow-data-edge-view-
|
|
75
|
+
//# sourceMappingURL=workflow-data-edge-view-BpGLV-at.js.map
|
package/dist/{workflow-data-edge-view-BjfKYysc.js.map → workflow-data-edge-view-BpGLV-at.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-data-edge-view-
|
|
1
|
+
{"version":3,"file":"workflow-data-edge-view-BpGLV-at.js","sources":["../src/ds/components/Workflow/graph/workflow-data-edge-view.tsx"],"sourcesContent":["import { BaseEdge, EdgeLabelRenderer, getBezierPath, Position, useInternalNode } from '@xyflow/react';\nimport type { EdgeProps } from '@xyflow/react';\nimport { useId } from 'react';\nimport type { ReactNode } from 'react';\nimport { WorkflowEdgeDataButton } from '../data/workflow-edge-data-button';\nimport type { WorkflowDataEdgeModel } from './types';\n\nexport interface WorkflowDataEdgeViewProps extends EdgeProps<WorkflowDataEdgeModel> {\n output?: unknown;\n label?: string;\n dataControl?: ReactNode;\n}\n\nexport function WorkflowDataEdgeView({ output, label, dataControl, ...props }: WorkflowDataEdgeViewProps) {\n const source = useInternalNode(props.source);\n const target = useInternalNode(props.target);\n const sourceWidth = source?.measured?.width ?? source?.width;\n const sourceHeight = source?.measured?.height ?? source?.height;\n const targetWidth = target?.measured?.width ?? target?.width;\n const hasBottomSource =\n source && sourceWidth !== undefined && sourceHeight !== undefined && props.sourcePosition === Position.Bottom;\n const hasTopTarget = target && targetWidth !== undefined && props.targetPosition === Position.Top;\n // Nested canvases scale DOM handle measurements twice; route in graph coordinates.\n const sourceX = hasBottomSource ? source.internals.positionAbsolute.x + sourceWidth / 2 : props.sourceX;\n const sourceY = hasBottomSource ? source.internals.positionAbsolute.y + sourceHeight : props.sourceY;\n const targetX = hasTopTarget ? target.internals.positionAbsolute.x + targetWidth / 2 : props.targetX;\n const targetY = hasTopTarget ? target.internals.positionAbsolute.y : props.targetY;\n const [edgePath, midpointX, midpointY] = getBezierPath({\n ...props,\n sourceX,\n sourceY,\n targetX,\n targetY,\n });\n const labelPlacement = props.data?.dataLabelPlacement;\n const labelX = labelPlacement === 'source' ? sourceX : midpointX;\n const labelY = labelPlacement === 'source' ? sourceY + Math.min(24, Math.max(0, (targetY - sourceY) / 4)) : midpointY;\n const arrowId = useId();\n const isExecuted = props.data?.edgeStatus === 'success';\n const pathColor = isExecuted ? 'var(--success-indicator)' : 'var(--muted-foreground)';\n\n return (\n <>\n <defs>\n <marker id={arrowId} viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto\">\n <path d=\"M1 1 L9 5 L1 9 Z\" fill={pathColor} />\n </marker>\n </defs>\n <BaseEdge\n id={props.id}\n path={edgePath}\n markerEnd={`url(#${arrowId})`}\n style={{\n ...props.style,\n stroke: pathColor,\n strokeWidth: isExecuted ? 2 : 1,\n strokeLinecap: 'round',\n strokeDasharray: isExecuted ? 'none' : '5 6',\n }}\n vectorEffect=\"non-scaling-stroke\"\n data-edge-status={props.data?.edgeStatus ?? 'idle'}\n data-edge-from={props.data?.previousStepId}\n data-edge-to={props.data?.nextStepId}\n />\n {labelPlacement !== 'hidden' && (\n <EdgeLabelRenderer>\n <div\n className=\"nodrag nopan flex items-center justify-center\"\n style={{\n position: 'absolute',\n pointerEvents: 'all',\n transform: `translate(-50%, -50%) translate(${labelX}px, ${labelY}px)`,\n }}\n >\n {dataControl ?? (\n <WorkflowEdgeDataButton\n previousStepId={props.data?.boundaryPayload ? undefined : props.data?.previousStepId}\n output={output}\n label={label}\n />\n )}\n </div>\n </EdgeLabelRenderer>\n )}\n </>\n );\n}\n"],"names":[],"mappings":"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"}
|
package/dist/{workflow-edge-data-button-BTsPGDpk.cjs → workflow-edge-data-button-BOVRo4xO.cjs}
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
const lucideReact = require('lucide-react');
|
|
5
5
|
const React = require('react');
|
|
6
|
-
const workflowCodeDialogContent = require('./workflow-code-dialog-content-
|
|
6
|
+
const workflowCodeDialogContent = require('./workflow-code-dialog-content-BFm2IWDl.cjs');
|
|
7
7
|
const Button = require('./Button-CXhSUBxN.cjs');
|
|
8
8
|
const dialog = require('./dialog-d_AK1NQD.cjs');
|
|
9
9
|
const Txt = require('./Txt-DPmEpNbp.cjs');
|
|
@@ -51,4 +51,4 @@ const WorkflowEdgeDataButton = ({
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
exports.WorkflowEdgeDataButton = WorkflowEdgeDataButton;
|
|
54
|
-
//# sourceMappingURL=workflow-edge-data-button-
|
|
54
|
+
//# sourceMappingURL=workflow-edge-data-button-BOVRo4xO.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-edge-data-button-
|
|
1
|
+
{"version":3,"file":"workflow-edge-data-button-BOVRo4xO.cjs","sources":["../src/ds/components/Workflow/data/workflow-edge-data-button.tsx"],"sourcesContent":["import { Database } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MouseEventHandler } from 'react';\nimport { WorkflowCodeContent } from './workflow-code-dialog-content';\nimport { Button } from '@/ds/components/Button';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle, surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface WorkflowEdgeDataButtonProps {\n previousStepId?: string;\n output?: unknown;\n label?: string;\n selected?: boolean;\n onInspect?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const WorkflowEdgeDataButton = ({\n previousStepId,\n output,\n label,\n selected,\n onInspect,\n}: WorkflowEdgeDataButtonProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const dataLabel = label ?? (previousStepId ? `${previousStepId} output` : 'Previous output');\n\n if (output === undefined) {\n return null;\n }\n\n return (\n <>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={onInspect ?? (() => setIsOpen(true))}\n aria-label={`View ${dataLabel}`}\n aria-pressed={selected}\n className={cn(\n raisedSurfaceStyle,\n surfaceStateLayerStyle,\n 'h-7 rounded-lg px-2 text-foreground aria-pressed:before:bg-fill',\n )}\n icon={<Database className=\"text-muted-foreground\" />}\n >\n Data\n </Button>\n\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent size=\"xl\">\n <DialogHeader>\n <DialogTitle>Step output</DialogTitle>\n </DialogHeader>\n <DialogBody>\n <div className=\"min-w-0 rounded-lg border border-border bg-background p-3\">\n <Txt variant=\"caption\" tone=\"ink\" className=\"mb-2 block\">\n {dataLabel}\n </Txt>\n <WorkflowCodeContent data={output} />\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </>\n );\n};\n"],"names":["useState","jsxs","Fragment","jsx","Button","cn","raisedSurfaceStyle","surfaceStateLayerStyle","Database","Dialog","DialogContent","DialogHeader","DialogTitle","DialogBody","Txt","WorkflowCodeContent"],"mappings":";;;;;;;;;;;;AAkBO,MAAM,yBAAyB,CAAC;AAAA,EACrC,cAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,KAAmC;AACjC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,eAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,SAAA,GAAY,KAAA,KAAU,cAAA,GAAiB,CAAA,EAAG,cAAc,CAAA,OAAA,CAAA,GAAY,iBAAA,CAAA;AAE1E,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAQ,OAAA;AAAA,QACR,OAAA,EAAS,SAAA,KAAc,MAAM,SAAA,CAAU,IAAI,CAAA,CAAA;AAAA,QAC3C,YAAA,EAAY,QAAQ,SAAS,CAAA,CAAA;AAAA,QAC7B,cAAA,EAAc,QAAA;AAAA,QACd,SAAA,EAAWC,WAAA;AAAA,UACTC,2CAAA;AAAA,UACAC,+CAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,IAAA,kBAAMJ,cAAA,CAACK,oBAAA,EAAA,EAAS,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,QACnD,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBAEAL,cAAA,CAACM,iBAAO,IAAA,EAAM,MAAA,EAAQ,cAAc,SAAA,EAClC,QAAA,kBAAAR,eAAA,CAACS,oBAAA,EAAA,EAAc,IAAA,EAAK,IAAA,EAClB,QAAA,EAAA;AAAA,sBAAAP,cAAA,CAACQ,mBAAA,EAAA,EACC,QAAA,kBAAAR,cAAA,CAACS,kBAAA,EAAA,EAAY,QAAA,EAAA,aAAA,EAAW,CAAA,EAC1B,CAAA;AAAA,sBACAT,cAAA,CAACU,iBAAA,EAAA,EACC,QAAA,kBAAAZ,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2DAAA,EACb,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAACW,WAAI,OAAA,EAAQ,SAAA,EAAU,MAAK,KAAA,EAAM,SAAA,EAAU,cACzC,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,wBACAX,cAAA,CAACY,6CAAA,EAAA,EAAoB,IAAA,EAAM,MAAA,EAAQ;AAAA,OAAA,EACrC,CAAA,EACF;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
package/dist/{workflow-edge-data-button-CIP46GJE.js → workflow-edge-data-button-C6eyWbcG.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Database } from 'lucide-react';
|
|
3
3
|
import { useState } from 'react';
|
|
4
|
-
import { W as WorkflowCodeContent } from './workflow-code-dialog-content-
|
|
4
|
+
import { W as WorkflowCodeContent } from './workflow-code-dialog-content-BM4ZnrUr.js';
|
|
5
5
|
import { B as Button } from './Button-D43ghVKt.js';
|
|
6
6
|
import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody } from './dialog-Dt5kASkl.js';
|
|
7
7
|
import { T as Txt } from './Txt-BP1SRHmL.js';
|
|
@@ -49,4 +49,4 @@ const WorkflowEdgeDataButton = ({
|
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
export { WorkflowEdgeDataButton as W };
|
|
52
|
-
//# sourceMappingURL=workflow-edge-data-button-
|
|
52
|
+
//# sourceMappingURL=workflow-edge-data-button-C6eyWbcG.js.map
|
package/dist/{workflow-edge-data-button-CIP46GJE.js.map → workflow-edge-data-button-C6eyWbcG.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-edge-data-button-
|
|
1
|
+
{"version":3,"file":"workflow-edge-data-button-C6eyWbcG.js","sources":["../src/ds/components/Workflow/data/workflow-edge-data-button.tsx"],"sourcesContent":["import { Database } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MouseEventHandler } from 'react';\nimport { WorkflowCodeContent } from './workflow-code-dialog-content';\nimport { Button } from '@/ds/components/Button';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle, surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface WorkflowEdgeDataButtonProps {\n previousStepId?: string;\n output?: unknown;\n label?: string;\n selected?: boolean;\n onInspect?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const WorkflowEdgeDataButton = ({\n previousStepId,\n output,\n label,\n selected,\n onInspect,\n}: WorkflowEdgeDataButtonProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const dataLabel = label ?? (previousStepId ? `${previousStepId} output` : 'Previous output');\n\n if (output === undefined) {\n return null;\n }\n\n return (\n <>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={onInspect ?? (() => setIsOpen(true))}\n aria-label={`View ${dataLabel}`}\n aria-pressed={selected}\n className={cn(\n raisedSurfaceStyle,\n surfaceStateLayerStyle,\n 'h-7 rounded-lg px-2 text-foreground aria-pressed:before:bg-fill',\n )}\n icon={<Database className=\"text-muted-foreground\" />}\n >\n Data\n </Button>\n\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent size=\"xl\">\n <DialogHeader>\n <DialogTitle>Step output</DialogTitle>\n </DialogHeader>\n <DialogBody>\n <div className=\"min-w-0 rounded-lg border border-border bg-background p-3\">\n <Txt variant=\"caption\" tone=\"ink\" className=\"mb-2 block\">\n {dataLabel}\n </Txt>\n <WorkflowCodeContent data={output} />\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAkBO,MAAM,yBAAyB,CAAC;AAAA,EACrC,cAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,KAAmC;AACjC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,SAAA,GAAY,KAAA,KAAU,cAAA,GAAiB,CAAA,EAAG,cAAc,CAAA,OAAA,CAAA,GAAY,iBAAA,CAAA;AAE1E,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAQ,OAAA;AAAA,QACR,OAAA,EAAS,SAAA,KAAc,MAAM,SAAA,CAAU,IAAI,CAAA,CAAA;AAAA,QAC3C,YAAA,EAAY,QAAQ,SAAS,CAAA,CAAA;AAAA,QAC7B,cAAA,EAAc,QAAA;AAAA,QACd,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,sBAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,IAAA,kBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,QACnD,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBAEA,GAAA,CAAC,UAAO,IAAA,EAAM,MAAA,EAAQ,cAAc,SAAA,EAClC,QAAA,kBAAA,IAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAK,IAAA,EAClB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,YAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,QAAA,EAAA,aAAA,EAAW,CAAA,EAC1B,CAAA;AAAA,sBACA,GAAA,CAAC,UAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2DAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,OAAI,OAAA,EAAQ,SAAA,EAAU,MAAK,KAAA,EAAM,SAAA,EAAU,cACzC,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,wBACA,GAAA,CAAC,mBAAA,EAAA,EAAoB,IAAA,EAAM,MAAA,EAAQ;AAAA,OAAA,EACrC,CAAA,EACF;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|