@burdenoff/fluidgrids-fe-sdk 2026.1113.8 → 2026.1113.10
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/{AiStudioPage-Di3eW5Lb.js → AiStudioPage-VxCnlq_r.js} +4 -4
- package/dist/{ApprovalInboxPage-CbkmOXaq.js → ApprovalInboxPage-DVoqdqwA.js} +1 -1
- package/dist/{DataSinkDashboardPage-231cS9dt.js → DataSinkDashboardPage-CDwbkGHh.js} +1 -1
- package/dist/{ExecutionDetailPage-B2jVApvM.js → ExecutionDetailPage-HtS19b0X.js} +117 -48
- package/dist/{ExecutionsListDocument-CzdLPpj5.js → ExecutionStatsDocument-6ixNZnBV.js} +1 -346
- package/dist/{ExecutionsListPage-ZCmFNid9.js → ExecutionsListPage-CJqBT2xe.js} +5 -5
- package/dist/{FluidGridsProvider-DQP7gPxN.js → FluidGridsProvider-BXQTsUUW.js} +533 -35
- package/dist/{HistoryPage-C99YGv7V.js → HistoryPage-Bjl0YbNG.js} +1 -1
- package/dist/{InsightsPage-ySywDcp_.js → InsightsPage-B9DQ1yA8.js} +1 -1
- package/dist/{PaidTemplateConfirm-CI6TDivO.js → PaidTemplateConfirm-CIDph--N.js} +1 -1
- package/dist/{QuotaExhaustedDialog-nlnRlQ2i.js → QuotaExhaustedDialog-CRd7SYXz.js} +1 -1
- package/dist/{SettingsPage-tKzJkG-L.js → SettingsPage-S8_SgU9s.js} +4 -4
- package/dist/{TemplateCard-UnjAFsS4.js → TemplateCard-BqWjHUzk.js} +2 -2
- package/dist/{TemplatePreview-DYxxlBad.js → TemplatePreview-BZVn6L-8.js} +4 -4
- package/dist/{TemplatesPage-Z2LDGg3g.js → TemplatesPage-9_44jYuL.js} +7 -7
- package/dist/{WorkflowBuilder-LkCC0Arp.js → WorkflowBuilder-DVtVPQkq.js} +6 -6
- package/dist/{WorkflowBuilder-Dp9chOr5.js → WorkflowBuilder-moMdJ83j.js} +4 -4
- package/dist/{WorkflowSearchRedirect-DoiDmeyL.js → WorkflowSearchRedirect-Ddv1GDOl.js} +1 -1
- package/dist/{WorkflowsList-C86YEuZZ.js → WorkflowsList-DqNyX65P.js} +6 -6
- package/dist/{agentTools-BQbgd_wK.js → agentTools-C6PPmcJz.js} +3 -3
- package/dist/{askAboutBridge-BV8m95kk.js → askAboutBridge-ByYsQams.js} +43 -2
- package/dist/assistant.d.ts +2 -0
- package/dist/assistant.js +1 -1
- package/dist/{attach-node-helpers-CtV1mej0.js → attach-node-helpers-CCWFS75V.js} +1 -1
- package/dist/{canvasNoteTools-D9RwHOz4.js → canvasNoteTools-CJzCcA-A.js} +2 -2
- package/dist/executions.js +2 -2
- package/dist/{flow-builder-7gVV3Y8R.js → flow-builder-DSKuzsVe.js} +18 -15
- package/dist/history.js +1 -1
- package/dist/index.js +30 -30
- package/dist/{logs-panel-Cn4gGng9.js → logs-panel-_Dl5Nrdn.js} +1 -1
- package/dist/{node-detail-view-DtZe2ggI.js → node-detail-view-BCG3MA47.js} +6 -6
- package/dist/{node-editor-tab-body-CFprr94T.js → node-editor-tab-body-D1mGxSFV.js} +3 -3
- package/dist/{node-operation-selection-BGj5YwAS.js → node-operation-selection-bFx9s45-.js} +16 -4
- package/dist/observability.js +2 -2
- package/dist/{popover-DuaVzhfH.js → popover-CDOlW_mU.js} +2 -2
- package/dist/{quick-config-panel-CmL27iO-.js → quick-config-panel-Ds3_l-3-.js} +4 -4
- package/dist/{run-display-BycKYSU0.js → run-display-UjLAoYqQ.js} +38 -3
- package/dist/{schedule-panel-DIUNqU9B.js → schedule-panel-DExtrJhg.js} +5 -5
- package/dist/settings.js +1 -1
- package/dist/{sidebar-node-editor-C_mhVSxd.js → sidebar-node-editor-sig409hs.js} +4 -4
- package/dist/templates.js +2 -2
- package/dist/{useAgentDefinitions-CKZ7oDZD.js → useAgentDefinitions-JeTU3Axe.js} +2 -2
- package/dist/{useDurableParity-BUSM-z_7.js → useDurableParity-BIh8h9oO.js} +1 -1
- package/dist/{useExecutions-DSZisQHk.js → useExecutions-CtpcnNXY.js} +2 -2
- package/dist/{useGlobalStoreClient-CXPqlK1M.js → useGlobalStoreClient-BrBZo54N.js} +1 -1
- package/dist/{useObservability-n7Qdc8Xg.js → useObservability-D3c2BemM.js} +1 -1
- package/dist/{useRunHistory-Bxs6LrME.js → useRunHistory-C9To9FVu.js} +1 -1
- package/dist/{useWorkflowCodeExport-Bj4QY-xY.js → useWorkflowCodeExport-CEYZ0_Po.js} +1 -1
- package/dist/{useWorkflows-BY5b8r9n.js → useWorkflows-BLG1ycnl.js} +1 -1
- package/dist/workflow-builder.js +5 -5
- package/dist/workflow-pages.js +14 -14
- package/dist/workflow-preview.js +1 -1
- package/dist/workflows-list.js +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
|
|
3
3
|
import { t as ThemeProvider } from "./theme-provider-B3mIuz2d.js";
|
|
4
|
-
import { a as useAiWorkflowTemplates, i as enrichDraftNodes, n as AI_DRAFT_MAX_PROMPT_LENGTH, r as draftToCanvas, t as FlowBuilderPage } from "./flow-builder-
|
|
5
|
-
import {
|
|
4
|
+
import { a as useAiWorkflowTemplates, i as enrichDraftNodes, n as AI_DRAFT_MAX_PROMPT_LENGTH, r as draftToCanvas, t as FlowBuilderPage } from "./flow-builder-DSKuzsVe.js";
|
|
5
|
+
import { bt as builderPathOf, j as buildOperationSeed, u as ensureNodeTypesLoaded, xt as classifyCreateRefusal } from "./FluidGridsProvider-BXQTsUUW.js";
|
|
6
6
|
import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
|
|
7
7
|
import { o as throwIfResultError } from "./errors-xPZ-IbQd.js";
|
|
8
8
|
import { a as notifyFluidGridsAiCreditsUpdated, t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
|
|
9
|
-
import { n as useCreateWorkflow } from "./useWorkflows-
|
|
9
|
+
import { n as useCreateWorkflow } from "./useWorkflows-BLG1ycnl.js";
|
|
10
10
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
11
11
|
import { t as BILLING_PLANS_PATH } from "./quota-Cdt8yz7N.js";
|
|
12
|
-
import { c as CreateWorkflowRefusalDialog } from "./useWorkflowCodeExport-
|
|
12
|
+
import { c as CreateWorkflowRefusalDialog } from "./useWorkflowCodeExport-CEYZ0_Po.js";
|
|
13
13
|
import { s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
|
|
14
14
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
15
15
|
import { useNavigate } from "react-router";
|
|
@@ -8,7 +8,7 @@ import { n as useRespondToHumanRequest, t as usePendingHumanRequests } from "./u
|
|
|
8
8
|
import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
|
|
9
9
|
import { t as FluidGridsDocsLink } from "./FluidGridsDocsLink-JxkBpOeb.js";
|
|
10
10
|
import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
|
|
11
|
-
import { r as nodeDisplayTitle, t as buildNodeDisplayMap } from "./run-display-
|
|
11
|
+
import { r as nodeDisplayTitle, t as buildNodeDisplayMap } from "./run-display-UjLAoYqQ.js";
|
|
12
12
|
import { i as SdkPermissionButton, s as useFluidGridsPermission, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
|
|
13
13
|
import { useCallback, useEffect, useState } from "react";
|
|
14
14
|
import { Link, useNavigate } from "react-router";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
|
|
3
3
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
4
4
|
import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
|
|
5
|
-
import { n as useDataSinks, t as useDataSinkData } from "./useObservability-
|
|
5
|
+
import { n as useDataSinks, t as useDataSinkData } from "./useObservability-D3c2BemM.js";
|
|
6
6
|
import { c as prettyJson, r as formatTimestamp, t as formatBytes } from "./utils-C0dtnN4R.js";
|
|
7
7
|
import { useEffect, useMemo, useState } from "react";
|
|
8
8
|
import { Icon } from "@iconify/react";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
|
|
3
|
-
import { c as errorAdvice, d as NodeStatusBadge, i as useRunPending, l as needsReconnect, n as useDurableParityRunFields, o as ConfirmStopRunDialog, r as useRunMetadata, t as setRunVersioningOverride, u as ExecutionStatusBadge } from "./useDurableParity-
|
|
4
|
-
import { n as formatRunVersion, r as nodeDisplayTitle, t as buildNodeDisplayMap } from "./run-display-
|
|
3
|
+
import { c as errorAdvice, d as NodeStatusBadge, i as useRunPending, l as needsReconnect, n as useDurableParityRunFields, o as ConfirmStopRunDialog, r as useRunMetadata, t as setRunVersioningOverride, u as ExecutionStatusBadge } from "./useDurableParity-BIh8h9oO.js";
|
|
4
|
+
import { n as formatRunVersion, r as nodeDisplayTitle, t as buildNodeDisplayMap } from "./run-display-UjLAoYqQ.js";
|
|
5
5
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
6
6
|
import { c as RunLogAppendedDocument, l as RunLogsDocument, s as isAgentNodeType } from "./agent-form-D0uLvzx4.js";
|
|
7
|
-
import { C as
|
|
8
|
-
import {
|
|
7
|
+
import { C as failureQuestions, D as describeRun, E as runStepQuestions, O as describeRunError, Sn as runSignalTargets, T as runQuestions, _n as canSignalRun, k as describeRunStep, nn as nodeStateDurationMs, rn as runDurationMs, tn as formatElapsedMs, w as isFailedStatus, yn as durableInterfaceOf } from "./FluidGridsProvider-BXQTsUUW.js";
|
|
8
|
+
import { i as useFgAskable, o as useFgAskableSelection, r as useFgAskAssistant } from "./askAboutBridge-ByYsQams.js";
|
|
9
9
|
import { n as useNavigationV2 } from "./useNavigationV2-C2WeqN7d.js";
|
|
10
10
|
import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
|
|
11
|
-
import { _ as shortRunId, g as runChainLinks, h as parseMetadataDefinition, m as overrideRequestOf, n as useExecution, p as callbackTone, r as useExecutionActions, s as buildRetryTriggerInput, t as useAutoRefresh } from "./useExecutions-
|
|
11
|
+
import { _ as shortRunId, g as runChainLinks, h as parseMetadataDefinition, m as overrideRequestOf, n as useExecution, p as callbackTone, r as useExecutionActions, s as buildRetryTriggerInput, t as useAutoRefresh } from "./useExecutions-CtpcnNXY.js";
|
|
12
12
|
import { t as RunActionsMenu } from "./RunActionsMenu-BZY4NreS.js";
|
|
13
13
|
import { n as getFluidGridsClient, r as getFluidGridsClientSafe } from "./client-Ctl4jmY3.js";
|
|
14
14
|
import { o as throwIfResultError, t as describeOperationError } from "./errors-xPZ-IbQd.js";
|
|
@@ -23,7 +23,7 @@ import { t as useWorkflowProposal } from "./useWorkflowProposal-B9vXLKef.js";
|
|
|
23
23
|
import { t as WorkflowProposalCard } from "./WorkflowProposalCard-SmRv_Egf.js";
|
|
24
24
|
import { t as AiCreditBalanceSlot } from "./aiCreditsBridge-BuE92tKo.js";
|
|
25
25
|
import { a as fetchRunFailureClusters, i as dismissRunFailureCluster, r as OPEN_STATUSES, t as BUCKET_LABELS } from "./FailureTriagePanel-DA91XKVj.js";
|
|
26
|
-
import { a as useDurableRunFields, i as useDeterminismStatus, n as SignalRunDialog, o as useRunStackTrace, r as terminateDurableRun, s as RunHistoryView, t as useRunHistory } from "./useRunHistory-
|
|
26
|
+
import { a as useDurableRunFields, i as useDeterminismStatus, n as SignalRunDialog, o as useRunStackTrace, r as terminateDurableRun, s as RunHistoryView, t as useRunHistory } from "./useRunHistory-C9To9FVu.js";
|
|
27
27
|
import { $P as VersioningBehavior, L as AgentStepKind, LI as WorkflowUpdateWaitFor, jd as ErrorType, yI as WorkflowQueryRejectCondition } from "./graphql-types-C5Tr6508.js";
|
|
28
28
|
import { _ as agentTokenStreamsFor, g as agentLiveReplyState, h as useAgentTokenStream, i as canSaveRunAsTestCase, t as saveRunAsTestCase } from "./use-workflow-tests-BUzndyWO.js";
|
|
29
29
|
import { a as formatTokens, d as formatMicroUsd, o as modelLabel, r as aiCost } from "./ai-usage-D7SjIkUZ.js";
|
|
@@ -31,7 +31,7 @@ import { _ as useWorkflowTestsEnabled, l as useDurableFunctionNodesEnabled, m as
|
|
|
31
31
|
import { A as revokeSignalToken, B as updateActivityOptions, D as resetActivities, E as queryRun, N as sendRunUpdate, O as resetRun, R as unpauseActivities, S as fetchSignalTokens, V as upsertRunSearchAttributes, _ as fetchPauseRules, b as fetchRunUpdate, d as failActivityById, g as fetchCodecServerSettings, i as completeActivityById, k as resetRunToLastCleanTask, s as createSignalToken, v as fetchRunControlFields, w as pauseActivities, y as fetchRunHistoryArchive } from "./api-CEnNq15C.js";
|
|
32
32
|
import { a as fetchTaskQueueStats } from "./api-DKfMt0IX.js";
|
|
33
33
|
import { a as RUN_CONTROL_DIALOG_STYLE, c as parseJsonInput, i as NativeSelect, l as parseJsonObjectInput, n as JsonBlock, o as StatusPill, r as JsonField, s as newRunControlId, t as FieldError, u as useResource } from "./shared-C0LCTtyh.js";
|
|
34
|
-
import { v as useWorkflowVersions } from "./useWorkflows-
|
|
34
|
+
import { v as useWorkflowVersions } from "./useWorkflows-BLG1ycnl.js";
|
|
35
35
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
36
36
|
import { Link, useNavigate, useParams, useSearchParams } from "react-router";
|
|
37
37
|
import { Icon } from "@iconify/react";
|
|
@@ -1960,16 +1960,19 @@ function NodeTimeline({ nodeStates, nodeDisplay, loading, triggerNodeId, onRetry
|
|
|
1960
1960
|
const isWaitingSubworkflow = node.status === "WAITING_SUBWORKFLOW";
|
|
1961
1961
|
const hasChildRun = Boolean(node.childRunId);
|
|
1962
1962
|
const stepName = nodeDisplayTitle(nodeDisplay?.[node.nodeId], node.nodeId);
|
|
1963
|
-
const describeStep = () => askRun ?
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1963
|
+
const describeStep = () => askRun ? {
|
|
1964
|
+
...describeRunStep({
|
|
1965
|
+
run: askRun,
|
|
1966
|
+
stepId: node.nodeId,
|
|
1967
|
+
stepName,
|
|
1968
|
+
stepType: node.nodeType,
|
|
1969
|
+
stepVersion: node.nodeVersion,
|
|
1970
|
+
status: node.status,
|
|
1971
|
+
errorType: node.errorType,
|
|
1972
|
+
error: nodeError
|
|
1973
|
+
}),
|
|
1974
|
+
suggestions: isFailedStatus(node.status) || nodeError?.trim() ? failureQuestions(tr) : runStepQuestions(tr)
|
|
1975
|
+
} : null;
|
|
1973
1976
|
return /* @__PURE__ */ jsxs("div", {
|
|
1974
1977
|
className: "relative flex gap-4",
|
|
1975
1978
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
@@ -3392,7 +3395,7 @@ function RunBudgetPanel({ budget }) {
|
|
|
3392
3395
|
*
|
|
3393
3396
|
* Renders nothing for a run that has not failed.
|
|
3394
3397
|
*/
|
|
3395
|
-
function RunAiAssistPanel({ runId, status, canPropose, canApply, onOpenWorkflow }) {
|
|
3398
|
+
function RunAiAssistPanel({ runId, status, canPropose, canApply, onOpenWorkflow, askAbout }) {
|
|
3396
3399
|
const tr = useTr();
|
|
3397
3400
|
const [explanation, setExplanation] = useState(null);
|
|
3398
3401
|
const [explaining, setExplaining] = useState(false);
|
|
@@ -3470,23 +3473,9 @@ function RunAiAssistPanel({ runId, status, canPropose, canApply, onOpenWorkflow
|
|
|
3470
3473
|
className: "mt-3 text-sm text-[var(--color-status-error-text)]",
|
|
3471
3474
|
children: explainError
|
|
3472
3475
|
}),
|
|
3473
|
-
explanation && /* @__PURE__ */
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
children: [
|
|
3477
|
-
/* @__PURE__ */ jsx("p", {
|
|
3478
|
-
className: "text-sm text-text-primary",
|
|
3479
|
-
children: explanation.cause
|
|
3480
|
-
}),
|
|
3481
|
-
explanation.evidence.length > 0 && /* @__PURE__ */ jsx("pre", {
|
|
3482
|
-
className: "max-h-40 overflow-auto whitespace-pre-wrap rounded bg-surface p-2 text-xs text-text-secondary",
|
|
3483
|
-
children: explanation.evidence.join("\n")
|
|
3484
|
-
}),
|
|
3485
|
-
explanation.suggestions.length > 0 && /* @__PURE__ */ jsx("ul", {
|
|
3486
|
-
className: "list-disc space-y-0.5 pl-5 text-sm text-text-primary",
|
|
3487
|
-
children: explanation.suggestions.map((suggestion) => /* @__PURE__ */ jsx("li", { children: suggestion }, suggestion))
|
|
3488
|
-
})
|
|
3489
|
-
]
|
|
3476
|
+
explanation && /* @__PURE__ */ jsx(RunExplanationView, {
|
|
3477
|
+
explanation,
|
|
3478
|
+
askAbout
|
|
3490
3479
|
}),
|
|
3491
3480
|
proposal.error && /* @__PURE__ */ jsx("p", {
|
|
3492
3481
|
className: "mt-3 text-sm text-[var(--color-status-error-text)]",
|
|
@@ -3510,6 +3499,65 @@ function RunAiAssistPanel({ runId, status, canPropose, canApply, onOpenWorkflow
|
|
|
3510
3499
|
]
|
|
3511
3500
|
});
|
|
3512
3501
|
}
|
|
3502
|
+
/**
|
|
3503
|
+
* The diagnosis "Explain failure" returned, and (BOFF-13381) "Ask AI about
|
|
3504
|
+
* this" to follow it up in the assistant: the run's error picked, with the
|
|
3505
|
+
* diagnosis and its suggested fixes first in what the assistant is told, so it
|
|
3506
|
+
* starts from them rather than diagnosing again.
|
|
3507
|
+
*/
|
|
3508
|
+
function RunExplanationView({ explanation, askAbout }) {
|
|
3509
|
+
const tr = useTr();
|
|
3510
|
+
const askAssistant = useFgAskAssistant();
|
|
3511
|
+
const ref = useRef(null);
|
|
3512
|
+
const followUp = askAssistant && askAbout ? () => {
|
|
3513
|
+
const base = askAbout();
|
|
3514
|
+
askAssistant({
|
|
3515
|
+
...base,
|
|
3516
|
+
facts: [
|
|
3517
|
+
{
|
|
3518
|
+
label: "Diagnosis",
|
|
3519
|
+
value: explanation.cause
|
|
3520
|
+
},
|
|
3521
|
+
...explanation.suggestions.slice(0, 3).map((suggestion, index) => ({
|
|
3522
|
+
label: `Suggested fix ${index + 1}`,
|
|
3523
|
+
value: suggestion
|
|
3524
|
+
})),
|
|
3525
|
+
...base.facts ?? []
|
|
3526
|
+
]
|
|
3527
|
+
}, ref.current);
|
|
3528
|
+
} : null;
|
|
3529
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
3530
|
+
ref,
|
|
3531
|
+
className: "mt-3 space-y-2",
|
|
3532
|
+
"data-testid": "run-ai-explanation",
|
|
3533
|
+
children: [
|
|
3534
|
+
/* @__PURE__ */ jsx("p", {
|
|
3535
|
+
className: "text-sm text-text-primary",
|
|
3536
|
+
children: explanation.cause
|
|
3537
|
+
}),
|
|
3538
|
+
explanation.evidence.length > 0 && /* @__PURE__ */ jsx("pre", {
|
|
3539
|
+
className: "max-h-40 overflow-auto whitespace-pre-wrap rounded bg-surface p-2 text-xs text-text-secondary",
|
|
3540
|
+
children: explanation.evidence.join("\n")
|
|
3541
|
+
}),
|
|
3542
|
+
explanation.suggestions.length > 0 && /* @__PURE__ */ jsx("ul", {
|
|
3543
|
+
className: "list-disc space-y-0.5 pl-5 text-sm text-text-primary",
|
|
3544
|
+
children: explanation.suggestions.map((suggestion) => /* @__PURE__ */ jsx("li", { children: suggestion }, suggestion))
|
|
3545
|
+
}),
|
|
3546
|
+
followUp && /* @__PURE__ */ jsxs(Button, {
|
|
3547
|
+
size: "sm",
|
|
3548
|
+
variant: "outline",
|
|
3549
|
+
onClick: followUp,
|
|
3550
|
+
"data-agent": "deny",
|
|
3551
|
+
"data-testid": "run-ai-explanation-ask",
|
|
3552
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
3553
|
+
icon: "lucide:sparkles",
|
|
3554
|
+
width: 14,
|
|
3555
|
+
className: "mr-1"
|
|
3556
|
+
}), tr("fluidgrids.ai.runAssist.askFollowUp", "Ask AI about this")]
|
|
3557
|
+
})
|
|
3558
|
+
]
|
|
3559
|
+
});
|
|
3560
|
+
}
|
|
3513
3561
|
|
|
3514
3562
|
// src/modules/executions/components/RunFailureClusterCard.tsx
|
|
3515
3563
|
/**
|
|
@@ -8342,6 +8390,7 @@ function ExecutionDetailPage() {
|
|
|
8342
8390
|
checked: autoRefreshEnabled,
|
|
8343
8391
|
onCheckedChange: setAutoRefreshEnabled
|
|
8344
8392
|
}] : [];
|
|
8393
|
+
const stoppedAtNode = orderedSteps.find((node) => node.status === "FAILED");
|
|
8345
8394
|
const askRun = {
|
|
8346
8395
|
runId: execution.id,
|
|
8347
8396
|
status: execution.status,
|
|
@@ -8349,7 +8398,20 @@ function ExecutionDetailPage() {
|
|
|
8349
8398
|
version: execution.version,
|
|
8350
8399
|
errorType: execution.errorType ?? null,
|
|
8351
8400
|
errorMessage: execution.errorMessage ?? null,
|
|
8352
|
-
failedSteps: execution.failedNodes
|
|
8401
|
+
failedSteps: execution.failedNodes,
|
|
8402
|
+
workflowName: execution.workflow?.name ?? null,
|
|
8403
|
+
stoppedAt: stoppedAtNode ? nodeDisplayTitle(nodeDisplay[stoppedAtNode.nodeId], stoppedAtNode.nodeId) : null
|
|
8404
|
+
};
|
|
8405
|
+
const askAboutRunError = () => ({
|
|
8406
|
+
...describeRunError(askRun),
|
|
8407
|
+
suggestions: failureQuestions(tr)
|
|
8408
|
+
});
|
|
8409
|
+
const askAboutRun = () => {
|
|
8410
|
+
const focus = describeRun(askRun);
|
|
8411
|
+
return {
|
|
8412
|
+
...focus,
|
|
8413
|
+
suggestions: focus.kind === "run error" ? failureQuestions(tr) : runQuestions(tr)
|
|
8414
|
+
};
|
|
8353
8415
|
};
|
|
8354
8416
|
return /* @__PURE__ */ jsxs("div", {
|
|
8355
8417
|
className: "p-4 pb-24 sm:p-6 sm:pb-24 bg-surface-canvas min-h-screen",
|
|
@@ -8382,7 +8444,9 @@ function ExecutionDetailPage() {
|
|
|
8382
8444
|
/* @__PURE__ */ jsxs("div", {
|
|
8383
8445
|
className: "flex flex-col lg:flex-row lg:items-start lg:justify-between gap-4 mb-6",
|
|
8384
8446
|
children: [/* @__PURE__ */ jsxs("div", { children: [
|
|
8385
|
-
/* @__PURE__ */ jsxs(
|
|
8447
|
+
/* @__PURE__ */ jsxs(AskableDiv, {
|
|
8448
|
+
describe: askAboutRun,
|
|
8449
|
+
"data-testid": "run-title-askable",
|
|
8386
8450
|
className: "flex items-center gap-3 mb-2",
|
|
8387
8451
|
...runSuggestAnchorProps(execution.id),
|
|
8388
8452
|
children: [
|
|
@@ -8705,13 +8769,17 @@ function ExecutionDetailPage() {
|
|
|
8705
8769
|
]
|
|
8706
8770
|
})]
|
|
8707
8771
|
}),
|
|
8708
|
-
summary && /* @__PURE__ */ jsx(
|
|
8709
|
-
|
|
8710
|
-
|
|
8711
|
-
|
|
8712
|
-
|
|
8713
|
-
|
|
8714
|
-
|
|
8772
|
+
summary && /* @__PURE__ */ jsx(AskableDiv, {
|
|
8773
|
+
describe: askAboutRun,
|
|
8774
|
+
"data-testid": "run-summary-askable",
|
|
8775
|
+
children: /* @__PURE__ */ jsx(RunSummaryCard, {
|
|
8776
|
+
status: execution.status,
|
|
8777
|
+
sentence: summary.sentence,
|
|
8778
|
+
onRunAgain: canRunAgain ? () => void handleRunAgain() : void 0,
|
|
8779
|
+
runAgainBusy: actionLoading,
|
|
8780
|
+
onOpenWorkflow: execution.workflowKey ? handleOpenWorkflow : void 0,
|
|
8781
|
+
reconnectTo: needsReconnect(summary.errorType) ? CONNECTIONS_ROUTE : void 0
|
|
8782
|
+
})
|
|
8715
8783
|
}),
|
|
8716
8784
|
/* @__PURE__ */ jsxs("div", {
|
|
8717
8785
|
className: "grid grid-cols-2 sm:grid-cols-4 gap-4 mb-6",
|
|
@@ -8791,11 +8859,11 @@ function ExecutionDetailPage() {
|
|
|
8791
8859
|
]
|
|
8792
8860
|
}),
|
|
8793
8861
|
v2 && execution.errorMessage && /* @__PURE__ */ jsx(AskableDiv, {
|
|
8794
|
-
describe:
|
|
8862
|
+
describe: askAboutRunError,
|
|
8795
8863
|
"data-testid": "run-error-banner",
|
|
8796
8864
|
className: "mb-6",
|
|
8797
8865
|
children: /* @__PURE__ */ jsx(TechnicalDetails, { children: /* @__PURE__ */ jsx(AskableSelectionDiv, {
|
|
8798
|
-
describe:
|
|
8866
|
+
describe: askAboutRunError,
|
|
8799
8867
|
children: /* @__PURE__ */ jsxs("p", {
|
|
8800
8868
|
className: "text-sm text-[var(--color-status-error-text)] break-words",
|
|
8801
8869
|
children: [
|
|
@@ -8808,7 +8876,7 @@ function ExecutionDetailPage() {
|
|
|
8808
8876
|
}) })
|
|
8809
8877
|
}),
|
|
8810
8878
|
!v2 && execution.errorMessage && /* @__PURE__ */ jsxs(AskableDiv, {
|
|
8811
|
-
describe:
|
|
8879
|
+
describe: askAboutRunError,
|
|
8812
8880
|
"data-testid": "run-error-banner",
|
|
8813
8881
|
className: "mb-6 p-4 bg-[var(--color-status-error-bg-subtle)] border border-[var(--color-status-error-border)] rounded-lg",
|
|
8814
8882
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
@@ -8821,7 +8889,7 @@ function ExecutionDetailPage() {
|
|
|
8821
8889
|
children: [tr("fluidgrids.executions.executionDetail.errorLabel", "Error"), execution.errorType ? ` (${execution.errorType})` : ""]
|
|
8822
8890
|
})]
|
|
8823
8891
|
}), /* @__PURE__ */ jsx(AskableSelectionDiv, {
|
|
8824
|
-
describe:
|
|
8892
|
+
describe: askAboutRunError,
|
|
8825
8893
|
children: /* @__PURE__ */ jsx("p", {
|
|
8826
8894
|
className: "text-[var(--color-status-error-text)]",
|
|
8827
8895
|
children: execution.errorMessage
|
|
@@ -8842,6 +8910,7 @@ function ExecutionDetailPage() {
|
|
|
8842
8910
|
status: execution.status,
|
|
8843
8911
|
canPropose: canProposeFix,
|
|
8844
8912
|
canApply: canApplyFix,
|
|
8913
|
+
askAbout: askAboutRunError,
|
|
8845
8914
|
onOpenWorkflow: (workflowKey, version) => navigate(`../workflow/${encodeURIComponent(workflowKey)}/${encodeURIComponent(version)}`)
|
|
8846
8915
|
}),
|
|
8847
8916
|
/* @__PURE__ */ jsx(RunFailureClusterCard, {
|
|
@@ -911,349 +911,4 @@ const ExecutionStatsDocument = {
|
|
|
911
911
|
}]
|
|
912
912
|
};
|
|
913
913
|
|
|
914
|
-
|
|
915
|
-
const ExecutionsListDocument = {
|
|
916
|
-
"kind": "Document",
|
|
917
|
-
"definitions": [{
|
|
918
|
-
"kind": "OperationDefinition",
|
|
919
|
-
"operation": "query",
|
|
920
|
-
"name": {
|
|
921
|
-
"kind": "Name",
|
|
922
|
-
"value": "ExecutionsList"
|
|
923
|
-
},
|
|
924
|
-
"variableDefinitions": [{
|
|
925
|
-
"kind": "VariableDefinition",
|
|
926
|
-
"variable": {
|
|
927
|
-
"kind": "Variable",
|
|
928
|
-
"name": {
|
|
929
|
-
"kind": "Name",
|
|
930
|
-
"value": "input"
|
|
931
|
-
}
|
|
932
|
-
},
|
|
933
|
-
"type": {
|
|
934
|
-
"kind": "NonNullType",
|
|
935
|
-
"type": {
|
|
936
|
-
"kind": "NamedType",
|
|
937
|
-
"name": {
|
|
938
|
-
"kind": "Name",
|
|
939
|
-
"value": "ListWorkflowRunsInput"
|
|
940
|
-
}
|
|
941
|
-
}
|
|
942
|
-
},
|
|
943
|
-
"directives": []
|
|
944
|
-
}],
|
|
945
|
-
"directives": [],
|
|
946
|
-
"selectionSet": {
|
|
947
|
-
"kind": "SelectionSet",
|
|
948
|
-
"selections": [{
|
|
949
|
-
"kind": "Field",
|
|
950
|
-
"name": {
|
|
951
|
-
"kind": "Name",
|
|
952
|
-
"value": "workflowRuns"
|
|
953
|
-
},
|
|
954
|
-
"arguments": [{
|
|
955
|
-
"kind": "Argument",
|
|
956
|
-
"name": {
|
|
957
|
-
"kind": "Name",
|
|
958
|
-
"value": "input"
|
|
959
|
-
},
|
|
960
|
-
"value": {
|
|
961
|
-
"kind": "Variable",
|
|
962
|
-
"name": {
|
|
963
|
-
"kind": "Name",
|
|
964
|
-
"value": "input"
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
|
-
}],
|
|
968
|
-
"directives": [],
|
|
969
|
-
"selectionSet": {
|
|
970
|
-
"kind": "SelectionSet",
|
|
971
|
-
"selections": [
|
|
972
|
-
{
|
|
973
|
-
"kind": "Field",
|
|
974
|
-
"name": {
|
|
975
|
-
"kind": "Name",
|
|
976
|
-
"value": "items"
|
|
977
|
-
},
|
|
978
|
-
"arguments": [],
|
|
979
|
-
"directives": [],
|
|
980
|
-
"selectionSet": {
|
|
981
|
-
"kind": "SelectionSet",
|
|
982
|
-
"selections": [
|
|
983
|
-
{
|
|
984
|
-
"kind": "Field",
|
|
985
|
-
"name": {
|
|
986
|
-
"kind": "Name",
|
|
987
|
-
"value": "id"
|
|
988
|
-
},
|
|
989
|
-
"arguments": [],
|
|
990
|
-
"directives": []
|
|
991
|
-
},
|
|
992
|
-
{
|
|
993
|
-
"kind": "Field",
|
|
994
|
-
"name": {
|
|
995
|
-
"kind": "Name",
|
|
996
|
-
"value": "workflowId"
|
|
997
|
-
},
|
|
998
|
-
"arguments": [],
|
|
999
|
-
"directives": []
|
|
1000
|
-
},
|
|
1001
|
-
{
|
|
1002
|
-
"kind": "Field",
|
|
1003
|
-
"name": {
|
|
1004
|
-
"kind": "Name",
|
|
1005
|
-
"value": "workflowKey"
|
|
1006
|
-
},
|
|
1007
|
-
"arguments": [],
|
|
1008
|
-
"directives": []
|
|
1009
|
-
},
|
|
1010
|
-
{
|
|
1011
|
-
"kind": "Field",
|
|
1012
|
-
"name": {
|
|
1013
|
-
"kind": "Name",
|
|
1014
|
-
"value": "version"
|
|
1015
|
-
},
|
|
1016
|
-
"arguments": [],
|
|
1017
|
-
"directives": []
|
|
1018
|
-
},
|
|
1019
|
-
{
|
|
1020
|
-
"kind": "Field",
|
|
1021
|
-
"name": {
|
|
1022
|
-
"kind": "Name",
|
|
1023
|
-
"value": "triggerNodeId"
|
|
1024
|
-
},
|
|
1025
|
-
"arguments": [],
|
|
1026
|
-
"directives": []
|
|
1027
|
-
},
|
|
1028
|
-
{
|
|
1029
|
-
"kind": "Field",
|
|
1030
|
-
"name": {
|
|
1031
|
-
"kind": "Name",
|
|
1032
|
-
"value": "triggerData"
|
|
1033
|
-
},
|
|
1034
|
-
"arguments": [],
|
|
1035
|
-
"directives": []
|
|
1036
|
-
},
|
|
1037
|
-
{
|
|
1038
|
-
"kind": "Field",
|
|
1039
|
-
"name": {
|
|
1040
|
-
"kind": "Name",
|
|
1041
|
-
"value": "status"
|
|
1042
|
-
},
|
|
1043
|
-
"arguments": [],
|
|
1044
|
-
"directives": []
|
|
1045
|
-
},
|
|
1046
|
-
{
|
|
1047
|
-
"kind": "Field",
|
|
1048
|
-
"name": {
|
|
1049
|
-
"kind": "Name",
|
|
1050
|
-
"value": "mode"
|
|
1051
|
-
},
|
|
1052
|
-
"arguments": [],
|
|
1053
|
-
"directives": []
|
|
1054
|
-
},
|
|
1055
|
-
{
|
|
1056
|
-
"kind": "Field",
|
|
1057
|
-
"name": {
|
|
1058
|
-
"kind": "Name",
|
|
1059
|
-
"value": "context"
|
|
1060
|
-
},
|
|
1061
|
-
"arguments": [],
|
|
1062
|
-
"directives": []
|
|
1063
|
-
},
|
|
1064
|
-
{
|
|
1065
|
-
"kind": "Field",
|
|
1066
|
-
"name": {
|
|
1067
|
-
"kind": "Name",
|
|
1068
|
-
"value": "triggeredById"
|
|
1069
|
-
},
|
|
1070
|
-
"arguments": [],
|
|
1071
|
-
"directives": []
|
|
1072
|
-
},
|
|
1073
|
-
{
|
|
1074
|
-
"kind": "Field",
|
|
1075
|
-
"name": {
|
|
1076
|
-
"kind": "Name",
|
|
1077
|
-
"value": "parentRunId"
|
|
1078
|
-
},
|
|
1079
|
-
"arguments": [],
|
|
1080
|
-
"directives": []
|
|
1081
|
-
},
|
|
1082
|
-
{
|
|
1083
|
-
"kind": "Field",
|
|
1084
|
-
"name": {
|
|
1085
|
-
"kind": "Name",
|
|
1086
|
-
"value": "createdAt"
|
|
1087
|
-
},
|
|
1088
|
-
"arguments": [],
|
|
1089
|
-
"directives": []
|
|
1090
|
-
},
|
|
1091
|
-
{
|
|
1092
|
-
"kind": "Field",
|
|
1093
|
-
"name": {
|
|
1094
|
-
"kind": "Name",
|
|
1095
|
-
"value": "updatedAt"
|
|
1096
|
-
},
|
|
1097
|
-
"arguments": [],
|
|
1098
|
-
"directives": []
|
|
1099
|
-
},
|
|
1100
|
-
{
|
|
1101
|
-
"kind": "Field",
|
|
1102
|
-
"name": {
|
|
1103
|
-
"kind": "Name",
|
|
1104
|
-
"value": "startedAt"
|
|
1105
|
-
},
|
|
1106
|
-
"arguments": [],
|
|
1107
|
-
"directives": []
|
|
1108
|
-
},
|
|
1109
|
-
{
|
|
1110
|
-
"kind": "Field",
|
|
1111
|
-
"name": {
|
|
1112
|
-
"kind": "Name",
|
|
1113
|
-
"value": "completedAt"
|
|
1114
|
-
},
|
|
1115
|
-
"arguments": [],
|
|
1116
|
-
"directives": []
|
|
1117
|
-
},
|
|
1118
|
-
{
|
|
1119
|
-
"kind": "Field",
|
|
1120
|
-
"name": {
|
|
1121
|
-
"kind": "Name",
|
|
1122
|
-
"value": "duration"
|
|
1123
|
-
},
|
|
1124
|
-
"arguments": [],
|
|
1125
|
-
"directives": []
|
|
1126
|
-
},
|
|
1127
|
-
{
|
|
1128
|
-
"kind": "Field",
|
|
1129
|
-
"name": {
|
|
1130
|
-
"kind": "Name",
|
|
1131
|
-
"value": "errorMessage"
|
|
1132
|
-
},
|
|
1133
|
-
"arguments": [],
|
|
1134
|
-
"directives": []
|
|
1135
|
-
},
|
|
1136
|
-
{
|
|
1137
|
-
"kind": "Field",
|
|
1138
|
-
"name": {
|
|
1139
|
-
"kind": "Name",
|
|
1140
|
-
"value": "errorType"
|
|
1141
|
-
},
|
|
1142
|
-
"arguments": [],
|
|
1143
|
-
"directives": []
|
|
1144
|
-
},
|
|
1145
|
-
{
|
|
1146
|
-
"kind": "Field",
|
|
1147
|
-
"name": {
|
|
1148
|
-
"kind": "Name",
|
|
1149
|
-
"value": "totalNodes"
|
|
1150
|
-
},
|
|
1151
|
-
"arguments": [],
|
|
1152
|
-
"directives": []
|
|
1153
|
-
},
|
|
1154
|
-
{
|
|
1155
|
-
"kind": "Field",
|
|
1156
|
-
"name": {
|
|
1157
|
-
"kind": "Name",
|
|
1158
|
-
"value": "completedNodes"
|
|
1159
|
-
},
|
|
1160
|
-
"arguments": [],
|
|
1161
|
-
"directives": []
|
|
1162
|
-
},
|
|
1163
|
-
{
|
|
1164
|
-
"kind": "Field",
|
|
1165
|
-
"name": {
|
|
1166
|
-
"kind": "Name",
|
|
1167
|
-
"value": "failedNodes"
|
|
1168
|
-
},
|
|
1169
|
-
"arguments": [],
|
|
1170
|
-
"directives": []
|
|
1171
|
-
},
|
|
1172
|
-
{
|
|
1173
|
-
"kind": "Field",
|
|
1174
|
-
"name": {
|
|
1175
|
-
"kind": "Name",
|
|
1176
|
-
"value": "skippedNodes"
|
|
1177
|
-
},
|
|
1178
|
-
"arguments": [],
|
|
1179
|
-
"directives": []
|
|
1180
|
-
},
|
|
1181
|
-
{
|
|
1182
|
-
"kind": "Field",
|
|
1183
|
-
"name": {
|
|
1184
|
-
"kind": "Name",
|
|
1185
|
-
"value": "progress"
|
|
1186
|
-
},
|
|
1187
|
-
"arguments": [],
|
|
1188
|
-
"directives": []
|
|
1189
|
-
},
|
|
1190
|
-
{
|
|
1191
|
-
"kind": "Field",
|
|
1192
|
-
"name": {
|
|
1193
|
-
"kind": "Name",
|
|
1194
|
-
"value": "workflow"
|
|
1195
|
-
},
|
|
1196
|
-
"arguments": [],
|
|
1197
|
-
"directives": [],
|
|
1198
|
-
"selectionSet": {
|
|
1199
|
-
"kind": "SelectionSet",
|
|
1200
|
-
"selections": [
|
|
1201
|
-
{
|
|
1202
|
-
"kind": "Field",
|
|
1203
|
-
"name": {
|
|
1204
|
-
"kind": "Name",
|
|
1205
|
-
"value": "id"
|
|
1206
|
-
},
|
|
1207
|
-
"arguments": [],
|
|
1208
|
-
"directives": []
|
|
1209
|
-
},
|
|
1210
|
-
{
|
|
1211
|
-
"kind": "Field",
|
|
1212
|
-
"name": {
|
|
1213
|
-
"kind": "Name",
|
|
1214
|
-
"value": "name"
|
|
1215
|
-
},
|
|
1216
|
-
"arguments": [],
|
|
1217
|
-
"directives": []
|
|
1218
|
-
},
|
|
1219
|
-
{
|
|
1220
|
-
"kind": "Field",
|
|
1221
|
-
"name": {
|
|
1222
|
-
"kind": "Name",
|
|
1223
|
-
"value": "description"
|
|
1224
|
-
},
|
|
1225
|
-
"arguments": [],
|
|
1226
|
-
"directives": []
|
|
1227
|
-
}
|
|
1228
|
-
]
|
|
1229
|
-
}
|
|
1230
|
-
}
|
|
1231
|
-
]
|
|
1232
|
-
}
|
|
1233
|
-
},
|
|
1234
|
-
{
|
|
1235
|
-
"kind": "Field",
|
|
1236
|
-
"name": {
|
|
1237
|
-
"kind": "Name",
|
|
1238
|
-
"value": "total"
|
|
1239
|
-
},
|
|
1240
|
-
"arguments": [],
|
|
1241
|
-
"directives": []
|
|
1242
|
-
},
|
|
1243
|
-
{
|
|
1244
|
-
"kind": "Field",
|
|
1245
|
-
"name": {
|
|
1246
|
-
"kind": "Name",
|
|
1247
|
-
"value": "hasMore"
|
|
1248
|
-
},
|
|
1249
|
-
"arguments": [],
|
|
1250
|
-
"directives": []
|
|
1251
|
-
}
|
|
1252
|
-
]
|
|
1253
|
-
}
|
|
1254
|
-
}]
|
|
1255
|
-
}
|
|
1256
|
-
}]
|
|
1257
|
-
};
|
|
1258
|
-
|
|
1259
|
-
export { ResumeExecutionDocument as a, RetryNodeDocument as i, ExecutionStatsDocument as n, PauseExecutionDocument as o, TerminateExecutionDocument as r, CancelExecutionDocument as s, ExecutionsListDocument as t };
|
|
914
|
+
export { PauseExecutionDocument as a, ResumeExecutionDocument as i, TerminateExecutionDocument as n, CancelExecutionDocument as o, RetryNodeDocument as r, ExecutionStatsDocument as t };
|