@burdenoff/fluidgrids-fe-sdk 2026.1113.7 → 2026.1113.9
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-DZ0YBcTL.js → AiStudioPage-D9vovsZE.js} +4 -4
- package/dist/{ApprovalInboxPage-CbkmOXaq.js → ApprovalInboxPage-DVoqdqwA.js} +1 -1
- package/dist/{DataSinkDashboardPage-231cS9dt.js → DataSinkDashboardPage-CXb1uNau.js} +1 -1
- package/dist/{ExecutionDetailPage-CoRLOiiZ.js → ExecutionDetailPage-BuU66VvK.js} +29 -17
- package/dist/{ExecutionsListDocument-CzdLPpj5.js → ExecutionStatsDocument-6ixNZnBV.js} +1 -346
- package/dist/{ExecutionsListPage-Dr0Ychbr.js → ExecutionsListPage-DMAOPJCa.js} +8 -5
- package/dist/{FluidGridsProvider-DQP7gPxN.js → FluidGridsProvider-BOBuK7kj.js} +481 -32
- package/dist/{HistoryPage-C99YGv7V.js → HistoryPage-DUcPEycb.js} +1 -1
- package/dist/{InsightsPage-ySywDcp_.js → InsightsPage-C3FjaLKN.js} +1 -1
- package/dist/{PaidTemplateConfirm-CI6TDivO.js → PaidTemplateConfirm-Dop_rxCQ.js} +1 -1
- package/dist/{QuotaExhaustedDialog-nlnRlQ2i.js → QuotaExhaustedDialog-CijT1MyD.js} +1 -1
- package/dist/{SettingsPage-tKzJkG-L.js → SettingsPage-C4G9OlJV.js} +3 -3
- package/dist/{TemplateCard-UnjAFsS4.js → TemplateCard-7rE1VAIC.js} +2 -2
- package/dist/{TemplatePreview-WiRz3SCv.js → TemplatePreview-CSA9W-e1.js} +4 -4
- package/dist/{TemplatesPage-Z2LDGg3g.js → TemplatesPage-C_trA48U.js} +7 -7
- package/dist/TranslationBridge-Bd4aJKMs.d.ts +11 -0
- package/dist/{WorkflowBuilder-CQWz7dXc.js → WorkflowBuilder-CkoZDS1_.js} +3 -3
- package/dist/{WorkflowBuilder-BdnCh2hB.js → WorkflowBuilder-DZWmp9Vg.js} +5 -5
- package/dist/{WorkflowSearchRedirect-DoiDmeyL.js → WorkflowSearchRedirect-DQj9_HqI.js} +1 -1
- package/dist/{WorkflowsList-C86YEuZZ.js → WorkflowsList-BOTt7lX5.js} +5 -5
- package/dist/agent-tools.d.ts +1 -1
- package/dist/agent-tools.js +2 -2
- package/dist/{agentTools-BQbgd_wK.js → agentTools-CSoCNDRx.js} +1 -1
- package/dist/{askAboutBridge-BV8m95kk.js → askAboutBridge-kpcjcR9Y.js} +8 -1
- package/dist/assistant.js +1 -1
- package/dist/{canvasNoteTools-Cp3UPIM8.js → canvasNoteTools-DTc3EKvg.js} +2 -2
- package/dist/{constants-XdvUxeWK.d.ts → constants-svpG-QrV.d.ts} +1 -9
- package/dist/entities-I_0kio3q.js +38 -0
- package/dist/executions.js +2 -2
- package/dist/{flow-builder-CJ00qt1Z.js → flow-builder-CYlYHdhf.js} +125 -24
- package/dist/history.js +1 -1
- package/dist/{index-Df6NgmmH.d.ts → index-8Ai8teoo.d.ts} +1 -1
- package/dist/{index-CHeY7_A1.d.ts → index-BZCX9eJJ.d.ts} +13 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.js +33 -32
- package/dist/{marksStore-DGCXjTmZ.js → marksStore-a9oIMMot.js} +25 -1
- package/dist/{node-detail-view-DtZe2ggI.js → node-detail-view-N6n3qegt.js} +4 -4
- package/dist/{node-editor-tab-body-CFprr94T.js → node-editor-tab-body-CivWI2hg.js} +2 -2
- package/dist/observability.d.ts +1 -1
- package/dist/observability.js +2 -2
- package/dist/{popover-DuaVzhfH.js → popover-a8WKNgPP.js} +2 -2
- package/dist/proactive.d.ts +66 -0
- package/dist/proactive.js +237 -0
- package/dist/{quick-config-panel-CmL27iO-.js → quick-config-panel-DABEVJR9.js} +3 -3
- package/dist/{run-display-BycKYSU0.js → run-display-UjLAoYqQ.js} +38 -3
- package/dist/{schedule-panel-DIUNqU9B.js → schedule-panel--u7WXnaC.js} +4 -4
- package/dist/settings.js +1 -1
- package/dist/{sidebar-node-editor-C_mhVSxd.js → sidebar-node-editor-BHqtoMC5.js} +3 -3
- package/dist/templates.js +2 -2
- package/dist/{uiMarkTools-DZ6akjQK.js → uiMarkTools-B2581Qg-.js} +1 -1
- package/dist/{useWorkflowProposal-UtJYycLv.js → use-workflow-tests-BUzndyWO.js} +4 -3265
- package/dist/{useAgentDefinitions-CKZ7oDZD.js → useAgentDefinitions-DykIYrep.js} +2 -2
- package/dist/{useDurableParity-BUSM-z_7.js → useDurableParity-sS0LIJ_l.js} +1 -1
- package/dist/{useExecutions-DSZisQHk.js → useExecutions-GgjDOgcd.js} +2 -2
- package/dist/{useGlobalStoreClient-CXPqlK1M.js → useGlobalStoreClient-BfmKmeIx.js} +1 -1
- package/dist/{useObservability-n7Qdc8Xg.js → useObservability-AMDVk_hX.js} +1 -1
- package/dist/{useRunHistory-Bxs6LrME.js → useRunHistory-gnqIoJnZ.js} +1 -1
- package/dist/{useWorkflowCodeExport-Bj4QY-xY.js → useWorkflowCodeExport-DrcfDTcD.js} +1 -1
- package/dist/useWorkflowProposal-B9vXLKef.js +3280 -0
- package/dist/{useWorkflows-BY5b8r9n.js → useWorkflows-DSZUrK_o.js} +1 -1
- package/dist/workflow-builder.js +4 -4
- package/dist/workflow-host.d.ts +2 -1
- package/dist/workflow-pages.d.ts +1 -1
- package/dist/workflow-pages.js +14 -14
- package/dist/workflows-list.js +1 -1
- package/package.json +7 -3
|
@@ -13,7 +13,8 @@ import { a as emitOperationErrorEvent, i as emitFluidGridsEvent, o as emitRunCom
|
|
|
13
13
|
import { i as emitRunStarted, n as emitRunFailed, r as emitRunLimitHit, s as emitWorkflowCreated } from "./fluidgridsEvents-Dm5CaHtr.js";
|
|
14
14
|
import { a as collectExtensions, n as QUOTA_EXHAUSTED_CODE, o as errorCodesOf, r as RUNS_QUOTA_NAME, s as findQuotaRefusal } from "./quota-Cdt8yz7N.js";
|
|
15
15
|
import { c as setFluidGridsConfig, l as validateTrustedOrigin, o as resetFluidGridsConfig, r as getFluidGridsConfig, s as resetFluidGridsExecutionState } from "./config-X97zrIvn.js";
|
|
16
|
-
import {
|
|
16
|
+
import { r as useFgAskable } from "./askAboutBridge-kpcjcR9Y.js";
|
|
17
|
+
import { i as readableNodeType } from "./run-display-UjLAoYqQ.js";
|
|
17
18
|
import { t as provideNodeRegistryRefresh } from "./node-registry-refresh-s3okf83X.js";
|
|
18
19
|
import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
19
20
|
import { useNavigate, useParams } from "react-router";
|
|
@@ -1561,6 +1562,351 @@ const ExecutionDetailDocument = {
|
|
|
1561
1562
|
}]
|
|
1562
1563
|
};
|
|
1563
1564
|
|
|
1565
|
+
// src/generated/documents/wspace/ExecutionsListDocument.ts
|
|
1566
|
+
const ExecutionsListDocument = {
|
|
1567
|
+
"kind": "Document",
|
|
1568
|
+
"definitions": [{
|
|
1569
|
+
"kind": "OperationDefinition",
|
|
1570
|
+
"operation": "query",
|
|
1571
|
+
"name": {
|
|
1572
|
+
"kind": "Name",
|
|
1573
|
+
"value": "ExecutionsList"
|
|
1574
|
+
},
|
|
1575
|
+
"variableDefinitions": [{
|
|
1576
|
+
"kind": "VariableDefinition",
|
|
1577
|
+
"variable": {
|
|
1578
|
+
"kind": "Variable",
|
|
1579
|
+
"name": {
|
|
1580
|
+
"kind": "Name",
|
|
1581
|
+
"value": "input"
|
|
1582
|
+
}
|
|
1583
|
+
},
|
|
1584
|
+
"type": {
|
|
1585
|
+
"kind": "NonNullType",
|
|
1586
|
+
"type": {
|
|
1587
|
+
"kind": "NamedType",
|
|
1588
|
+
"name": {
|
|
1589
|
+
"kind": "Name",
|
|
1590
|
+
"value": "ListWorkflowRunsInput"
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1593
|
+
},
|
|
1594
|
+
"directives": []
|
|
1595
|
+
}],
|
|
1596
|
+
"directives": [],
|
|
1597
|
+
"selectionSet": {
|
|
1598
|
+
"kind": "SelectionSet",
|
|
1599
|
+
"selections": [{
|
|
1600
|
+
"kind": "Field",
|
|
1601
|
+
"name": {
|
|
1602
|
+
"kind": "Name",
|
|
1603
|
+
"value": "workflowRuns"
|
|
1604
|
+
},
|
|
1605
|
+
"arguments": [{
|
|
1606
|
+
"kind": "Argument",
|
|
1607
|
+
"name": {
|
|
1608
|
+
"kind": "Name",
|
|
1609
|
+
"value": "input"
|
|
1610
|
+
},
|
|
1611
|
+
"value": {
|
|
1612
|
+
"kind": "Variable",
|
|
1613
|
+
"name": {
|
|
1614
|
+
"kind": "Name",
|
|
1615
|
+
"value": "input"
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
}],
|
|
1619
|
+
"directives": [],
|
|
1620
|
+
"selectionSet": {
|
|
1621
|
+
"kind": "SelectionSet",
|
|
1622
|
+
"selections": [
|
|
1623
|
+
{
|
|
1624
|
+
"kind": "Field",
|
|
1625
|
+
"name": {
|
|
1626
|
+
"kind": "Name",
|
|
1627
|
+
"value": "items"
|
|
1628
|
+
},
|
|
1629
|
+
"arguments": [],
|
|
1630
|
+
"directives": [],
|
|
1631
|
+
"selectionSet": {
|
|
1632
|
+
"kind": "SelectionSet",
|
|
1633
|
+
"selections": [
|
|
1634
|
+
{
|
|
1635
|
+
"kind": "Field",
|
|
1636
|
+
"name": {
|
|
1637
|
+
"kind": "Name",
|
|
1638
|
+
"value": "id"
|
|
1639
|
+
},
|
|
1640
|
+
"arguments": [],
|
|
1641
|
+
"directives": []
|
|
1642
|
+
},
|
|
1643
|
+
{
|
|
1644
|
+
"kind": "Field",
|
|
1645
|
+
"name": {
|
|
1646
|
+
"kind": "Name",
|
|
1647
|
+
"value": "workflowId"
|
|
1648
|
+
},
|
|
1649
|
+
"arguments": [],
|
|
1650
|
+
"directives": []
|
|
1651
|
+
},
|
|
1652
|
+
{
|
|
1653
|
+
"kind": "Field",
|
|
1654
|
+
"name": {
|
|
1655
|
+
"kind": "Name",
|
|
1656
|
+
"value": "workflowKey"
|
|
1657
|
+
},
|
|
1658
|
+
"arguments": [],
|
|
1659
|
+
"directives": []
|
|
1660
|
+
},
|
|
1661
|
+
{
|
|
1662
|
+
"kind": "Field",
|
|
1663
|
+
"name": {
|
|
1664
|
+
"kind": "Name",
|
|
1665
|
+
"value": "version"
|
|
1666
|
+
},
|
|
1667
|
+
"arguments": [],
|
|
1668
|
+
"directives": []
|
|
1669
|
+
},
|
|
1670
|
+
{
|
|
1671
|
+
"kind": "Field",
|
|
1672
|
+
"name": {
|
|
1673
|
+
"kind": "Name",
|
|
1674
|
+
"value": "triggerNodeId"
|
|
1675
|
+
},
|
|
1676
|
+
"arguments": [],
|
|
1677
|
+
"directives": []
|
|
1678
|
+
},
|
|
1679
|
+
{
|
|
1680
|
+
"kind": "Field",
|
|
1681
|
+
"name": {
|
|
1682
|
+
"kind": "Name",
|
|
1683
|
+
"value": "triggerData"
|
|
1684
|
+
},
|
|
1685
|
+
"arguments": [],
|
|
1686
|
+
"directives": []
|
|
1687
|
+
},
|
|
1688
|
+
{
|
|
1689
|
+
"kind": "Field",
|
|
1690
|
+
"name": {
|
|
1691
|
+
"kind": "Name",
|
|
1692
|
+
"value": "status"
|
|
1693
|
+
},
|
|
1694
|
+
"arguments": [],
|
|
1695
|
+
"directives": []
|
|
1696
|
+
},
|
|
1697
|
+
{
|
|
1698
|
+
"kind": "Field",
|
|
1699
|
+
"name": {
|
|
1700
|
+
"kind": "Name",
|
|
1701
|
+
"value": "mode"
|
|
1702
|
+
},
|
|
1703
|
+
"arguments": [],
|
|
1704
|
+
"directives": []
|
|
1705
|
+
},
|
|
1706
|
+
{
|
|
1707
|
+
"kind": "Field",
|
|
1708
|
+
"name": {
|
|
1709
|
+
"kind": "Name",
|
|
1710
|
+
"value": "context"
|
|
1711
|
+
},
|
|
1712
|
+
"arguments": [],
|
|
1713
|
+
"directives": []
|
|
1714
|
+
},
|
|
1715
|
+
{
|
|
1716
|
+
"kind": "Field",
|
|
1717
|
+
"name": {
|
|
1718
|
+
"kind": "Name",
|
|
1719
|
+
"value": "triggeredById"
|
|
1720
|
+
},
|
|
1721
|
+
"arguments": [],
|
|
1722
|
+
"directives": []
|
|
1723
|
+
},
|
|
1724
|
+
{
|
|
1725
|
+
"kind": "Field",
|
|
1726
|
+
"name": {
|
|
1727
|
+
"kind": "Name",
|
|
1728
|
+
"value": "parentRunId"
|
|
1729
|
+
},
|
|
1730
|
+
"arguments": [],
|
|
1731
|
+
"directives": []
|
|
1732
|
+
},
|
|
1733
|
+
{
|
|
1734
|
+
"kind": "Field",
|
|
1735
|
+
"name": {
|
|
1736
|
+
"kind": "Name",
|
|
1737
|
+
"value": "createdAt"
|
|
1738
|
+
},
|
|
1739
|
+
"arguments": [],
|
|
1740
|
+
"directives": []
|
|
1741
|
+
},
|
|
1742
|
+
{
|
|
1743
|
+
"kind": "Field",
|
|
1744
|
+
"name": {
|
|
1745
|
+
"kind": "Name",
|
|
1746
|
+
"value": "updatedAt"
|
|
1747
|
+
},
|
|
1748
|
+
"arguments": [],
|
|
1749
|
+
"directives": []
|
|
1750
|
+
},
|
|
1751
|
+
{
|
|
1752
|
+
"kind": "Field",
|
|
1753
|
+
"name": {
|
|
1754
|
+
"kind": "Name",
|
|
1755
|
+
"value": "startedAt"
|
|
1756
|
+
},
|
|
1757
|
+
"arguments": [],
|
|
1758
|
+
"directives": []
|
|
1759
|
+
},
|
|
1760
|
+
{
|
|
1761
|
+
"kind": "Field",
|
|
1762
|
+
"name": {
|
|
1763
|
+
"kind": "Name",
|
|
1764
|
+
"value": "completedAt"
|
|
1765
|
+
},
|
|
1766
|
+
"arguments": [],
|
|
1767
|
+
"directives": []
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
"kind": "Field",
|
|
1771
|
+
"name": {
|
|
1772
|
+
"kind": "Name",
|
|
1773
|
+
"value": "duration"
|
|
1774
|
+
},
|
|
1775
|
+
"arguments": [],
|
|
1776
|
+
"directives": []
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
"kind": "Field",
|
|
1780
|
+
"name": {
|
|
1781
|
+
"kind": "Name",
|
|
1782
|
+
"value": "errorMessage"
|
|
1783
|
+
},
|
|
1784
|
+
"arguments": [],
|
|
1785
|
+
"directives": []
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
"kind": "Field",
|
|
1789
|
+
"name": {
|
|
1790
|
+
"kind": "Name",
|
|
1791
|
+
"value": "errorType"
|
|
1792
|
+
},
|
|
1793
|
+
"arguments": [],
|
|
1794
|
+
"directives": []
|
|
1795
|
+
},
|
|
1796
|
+
{
|
|
1797
|
+
"kind": "Field",
|
|
1798
|
+
"name": {
|
|
1799
|
+
"kind": "Name",
|
|
1800
|
+
"value": "totalNodes"
|
|
1801
|
+
},
|
|
1802
|
+
"arguments": [],
|
|
1803
|
+
"directives": []
|
|
1804
|
+
},
|
|
1805
|
+
{
|
|
1806
|
+
"kind": "Field",
|
|
1807
|
+
"name": {
|
|
1808
|
+
"kind": "Name",
|
|
1809
|
+
"value": "completedNodes"
|
|
1810
|
+
},
|
|
1811
|
+
"arguments": [],
|
|
1812
|
+
"directives": []
|
|
1813
|
+
},
|
|
1814
|
+
{
|
|
1815
|
+
"kind": "Field",
|
|
1816
|
+
"name": {
|
|
1817
|
+
"kind": "Name",
|
|
1818
|
+
"value": "failedNodes"
|
|
1819
|
+
},
|
|
1820
|
+
"arguments": [],
|
|
1821
|
+
"directives": []
|
|
1822
|
+
},
|
|
1823
|
+
{
|
|
1824
|
+
"kind": "Field",
|
|
1825
|
+
"name": {
|
|
1826
|
+
"kind": "Name",
|
|
1827
|
+
"value": "skippedNodes"
|
|
1828
|
+
},
|
|
1829
|
+
"arguments": [],
|
|
1830
|
+
"directives": []
|
|
1831
|
+
},
|
|
1832
|
+
{
|
|
1833
|
+
"kind": "Field",
|
|
1834
|
+
"name": {
|
|
1835
|
+
"kind": "Name",
|
|
1836
|
+
"value": "progress"
|
|
1837
|
+
},
|
|
1838
|
+
"arguments": [],
|
|
1839
|
+
"directives": []
|
|
1840
|
+
},
|
|
1841
|
+
{
|
|
1842
|
+
"kind": "Field",
|
|
1843
|
+
"name": {
|
|
1844
|
+
"kind": "Name",
|
|
1845
|
+
"value": "workflow"
|
|
1846
|
+
},
|
|
1847
|
+
"arguments": [],
|
|
1848
|
+
"directives": [],
|
|
1849
|
+
"selectionSet": {
|
|
1850
|
+
"kind": "SelectionSet",
|
|
1851
|
+
"selections": [
|
|
1852
|
+
{
|
|
1853
|
+
"kind": "Field",
|
|
1854
|
+
"name": {
|
|
1855
|
+
"kind": "Name",
|
|
1856
|
+
"value": "id"
|
|
1857
|
+
},
|
|
1858
|
+
"arguments": [],
|
|
1859
|
+
"directives": []
|
|
1860
|
+
},
|
|
1861
|
+
{
|
|
1862
|
+
"kind": "Field",
|
|
1863
|
+
"name": {
|
|
1864
|
+
"kind": "Name",
|
|
1865
|
+
"value": "name"
|
|
1866
|
+
},
|
|
1867
|
+
"arguments": [],
|
|
1868
|
+
"directives": []
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
"kind": "Field",
|
|
1872
|
+
"name": {
|
|
1873
|
+
"kind": "Name",
|
|
1874
|
+
"value": "description"
|
|
1875
|
+
},
|
|
1876
|
+
"arguments": [],
|
|
1877
|
+
"directives": []
|
|
1878
|
+
}
|
|
1879
|
+
]
|
|
1880
|
+
}
|
|
1881
|
+
}
|
|
1882
|
+
]
|
|
1883
|
+
}
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"kind": "Field",
|
|
1887
|
+
"name": {
|
|
1888
|
+
"kind": "Name",
|
|
1889
|
+
"value": "total"
|
|
1890
|
+
},
|
|
1891
|
+
"arguments": [],
|
|
1892
|
+
"directives": []
|
|
1893
|
+
},
|
|
1894
|
+
{
|
|
1895
|
+
"kind": "Field",
|
|
1896
|
+
"name": {
|
|
1897
|
+
"kind": "Name",
|
|
1898
|
+
"value": "hasMore"
|
|
1899
|
+
},
|
|
1900
|
+
"arguments": [],
|
|
1901
|
+
"directives": []
|
|
1902
|
+
}
|
|
1903
|
+
]
|
|
1904
|
+
}
|
|
1905
|
+
}]
|
|
1906
|
+
}
|
|
1907
|
+
}]
|
|
1908
|
+
};
|
|
1909
|
+
|
|
1564
1910
|
// src/generated/documents/wspace/CreateWorkflowDefinitionDocument.ts
|
|
1565
1911
|
const CreateWorkflowDefinitionDocument = {
|
|
1566
1912
|
"kind": "Document",
|
|
@@ -9078,6 +9424,16 @@ function describeCanvasStep(step) {
|
|
|
9078
9424
|
label: "Last run error",
|
|
9079
9425
|
value: step.runError.trim()
|
|
9080
9426
|
});
|
|
9427
|
+
const failed = step.latestFailedRun;
|
|
9428
|
+
if (failed?.errorMessage?.trim()) facts.push({
|
|
9429
|
+
label: "Workflow's latest failed run",
|
|
9430
|
+
value: [
|
|
9431
|
+
failed.at ? `${failed.at}:` : "",
|
|
9432
|
+
failed.errorType?.trim() ? `${failed.errorType.trim()}:` : "",
|
|
9433
|
+
failed.errorMessage.trim(),
|
|
9434
|
+
`(run ${failed.runId})`
|
|
9435
|
+
].filter(Boolean).join(" ")
|
|
9436
|
+
});
|
|
9081
9437
|
if (step.connections && step.connections.length > 0) facts.push({
|
|
9082
9438
|
label: "Connections picked",
|
|
9083
9439
|
value: step.connections.join(", ")
|
|
@@ -9110,12 +9466,13 @@ function record(value) {
|
|
|
9110
9466
|
/**
|
|
9111
9467
|
* The facts `describeCanvasStep` reads, from the builder's own state. The name
|
|
9112
9468
|
* is the registry's title, or, when the type is not in the registry (an
|
|
9113
|
-
* uninstalled store node
|
|
9469
|
+
* uninstalled store node, or a catalogue still loading), the node's saved
|
|
9470
|
+
* manifest name, else the type read as a name (`internal:code` → "Code").
|
|
9114
9471
|
*/
|
|
9115
9472
|
function canvasStepFactsOf(step) {
|
|
9116
9473
|
const data = step.data ?? {};
|
|
9117
9474
|
const savedName = record(data.nodeData)?.name;
|
|
9118
|
-
const appName = (step.registryTitle === step.type
|
|
9475
|
+
const appName = (Boolean(step.type) && step.registryTitle === step.type ? typeof savedName === "string" && savedName.trim() ? savedName : readableNodeType(step.registryTitle) : step.registryTitle) || step.id;
|
|
9119
9476
|
const connections = record(data.args)?.connections;
|
|
9120
9477
|
const runError = [...step.execution.logs].reverse().find((log) => log.nodeId === step.id && log.status === "failed")?.error ?? null;
|
|
9121
9478
|
return {
|
|
@@ -9140,7 +9497,8 @@ function canvasStepFactsOf(step) {
|
|
|
9140
9497
|
value: step.state[param.name]
|
|
9141
9498
|
})),
|
|
9142
9499
|
...step.execution.nodeStatuses[step.id] ? { runStatus: step.execution.nodeStatuses[step.id] } : {},
|
|
9143
|
-
runError
|
|
9500
|
+
runError,
|
|
9501
|
+
...step.latestFailedRun ? { latestFailedRun: step.latestFailedRun } : {}
|
|
9144
9502
|
};
|
|
9145
9503
|
}
|
|
9146
9504
|
function runFacts(run) {
|
|
@@ -9151,10 +9509,13 @@ function runFacts(run) {
|
|
|
9151
9509
|
label: "Run status",
|
|
9152
9510
|
value: run.status
|
|
9153
9511
|
}];
|
|
9154
|
-
if (run.workflowKey)
|
|
9155
|
-
|
|
9156
|
-
|
|
9157
|
-
|
|
9512
|
+
if (run.workflowKey) {
|
|
9513
|
+
const key = run.version !== void 0 ? `${run.workflowKey} v${run.version}` : run.workflowKey;
|
|
9514
|
+
facts.push({
|
|
9515
|
+
label: "Workflow",
|
|
9516
|
+
value: run.workflowName?.trim() ? `${run.workflowName.trim()} (${key})` : key
|
|
9517
|
+
});
|
|
9518
|
+
}
|
|
9158
9519
|
return facts;
|
|
9159
9520
|
}
|
|
9160
9521
|
/** One step of a run, on the run's page. */
|
|
@@ -9193,6 +9554,11 @@ function describeRunStep(step) {
|
|
|
9193
9554
|
/** The error a whole run ended with, on the run's page. */
|
|
9194
9555
|
function describeRunError(run) {
|
|
9195
9556
|
const facts = [];
|
|
9557
|
+
const stoppedAt = run.stoppedAt?.trim();
|
|
9558
|
+
if (stoppedAt) facts.push({
|
|
9559
|
+
label: "Stopped at step",
|
|
9560
|
+
value: stoppedAt
|
|
9561
|
+
});
|
|
9196
9562
|
if (run.errorType?.trim()) facts.push({
|
|
9197
9563
|
label: "Error type",
|
|
9198
9564
|
value: run.errorType.trim()
|
|
@@ -9208,11 +9574,90 @@ function describeRunError(run) {
|
|
|
9208
9574
|
facts.push(...runFacts(run));
|
|
9209
9575
|
return {
|
|
9210
9576
|
kind: "run error",
|
|
9211
|
-
label: "Run error",
|
|
9577
|
+
label: stoppedAt ? `Run error at ${stoppedAt}` : "Run error",
|
|
9212
9578
|
id: run.runId,
|
|
9213
9579
|
facts
|
|
9214
9580
|
};
|
|
9215
9581
|
}
|
|
9582
|
+
/**
|
|
9583
|
+
* ★ BOFF-13267: the run as a whole (its title and summary on the run's page):
|
|
9584
|
+
* its error when it failed, otherwise what it is and how it went.
|
|
9585
|
+
*/
|
|
9586
|
+
function describeRun(run) {
|
|
9587
|
+
if (run.errorMessage?.trim() || run.stoppedAt?.trim()) return describeRunError(run);
|
|
9588
|
+
return {
|
|
9589
|
+
kind: "run",
|
|
9590
|
+
label: run.workflowName?.trim() || "This run",
|
|
9591
|
+
id: run.runId,
|
|
9592
|
+
facts: runFacts(run)
|
|
9593
|
+
};
|
|
9594
|
+
}
|
|
9595
|
+
|
|
9596
|
+
// src/askAbout/latestFailedRun.ts
|
|
9597
|
+
/**
|
|
9598
|
+
* ★ BOFF-13267: the saved workflow's latest failed run, for "Ask AI about this"
|
|
9599
|
+
* on a canvas step. The canvas only knows test runs started on it; without the
|
|
9600
|
+
* workflow's real failures the assistant guessed why a step fails (prod
|
|
9601
|
+
* testing, 2026-11-13).
|
|
9602
|
+
*
|
|
9603
|
+
* One small query (limit 1) when a saved workflow opens in the builder, and
|
|
9604
|
+
* only where the assistant can be asked (see `useFgAskAboutAvailable`). The
|
|
9605
|
+
* describer reads it synchronously at the moment the person asks; until it
|
|
9606
|
+
* arrives, or when it fails, the step is described without it.
|
|
9607
|
+
*/
|
|
9608
|
+
/** workflowKey → its latest failed run (null: it has none). Session memory only. */
|
|
9609
|
+
const latest = /* @__PURE__ */ new Map();
|
|
9610
|
+
const loading = /* @__PURE__ */ new Map();
|
|
9611
|
+
/** What is known for `workflowKey`: undefined while not loaded yet. */
|
|
9612
|
+
function latestFailedRunFor(workflowKey) {
|
|
9613
|
+
return workflowKey ? latest.get(workflowKey) : void 0;
|
|
9614
|
+
}
|
|
9615
|
+
const text = (value) => typeof value === "string" && value.trim() ? value : null;
|
|
9616
|
+
/** The first row of a `workflowRuns` page, read defensively. */
|
|
9617
|
+
function latestFailedRunOf(rows) {
|
|
9618
|
+
const row = Array.isArray(rows) ? rows[0] : void 0;
|
|
9619
|
+
const runId = text(row?.id);
|
|
9620
|
+
if (!row || !runId) return null;
|
|
9621
|
+
return {
|
|
9622
|
+
runId,
|
|
9623
|
+
at: text(row.startedAt) ?? text(row.createdAt),
|
|
9624
|
+
errorType: text(row.errorType),
|
|
9625
|
+
errorMessage: text(row.errorMessage)
|
|
9626
|
+
};
|
|
9627
|
+
}
|
|
9628
|
+
const fetchFailedRuns = async (workflowKey) => {
|
|
9629
|
+
return (await getFluidGridsClient().query({
|
|
9630
|
+
query: ExecutionsListDocument,
|
|
9631
|
+
variables: { input: {
|
|
9632
|
+
workflowKey,
|
|
9633
|
+
status: "FAILED",
|
|
9634
|
+
limit: 1
|
|
9635
|
+
} },
|
|
9636
|
+
fetchPolicy: "network-only"
|
|
9637
|
+
})).data?.workflowRuns?.items;
|
|
9638
|
+
};
|
|
9639
|
+
/**
|
|
9640
|
+
* Loads (or reloads) `workflowKey`'s latest failed run. Concurrent calls share
|
|
9641
|
+
* one request; a failure leaves what was known before.
|
|
9642
|
+
*/
|
|
9643
|
+
function loadLatestFailedRun(workflowKey, fetcher = fetchFailedRuns) {
|
|
9644
|
+
const pending = loading.get(workflowKey);
|
|
9645
|
+
if (pending) return pending;
|
|
9646
|
+
const request = fetcher(workflowKey).then((rows) => {
|
|
9647
|
+
latest.set(workflowKey, latestFailedRunOf(rows));
|
|
9648
|
+
}).catch(() => void 0).finally(() => {
|
|
9649
|
+
loading.delete(workflowKey);
|
|
9650
|
+
});
|
|
9651
|
+
loading.set(workflowKey, request);
|
|
9652
|
+
return request;
|
|
9653
|
+
}
|
|
9654
|
+
/** Loads the open workflow's latest failed run once it is saved and askable. */
|
|
9655
|
+
function useLatestFailedRun(workflowKey, enabled) {
|
|
9656
|
+
useEffect(() => {
|
|
9657
|
+
if (!enabled || !workflowKey) return;
|
|
9658
|
+
loadLatestFailedRun(workflowKey);
|
|
9659
|
+
}, [enabled, workflowKey]);
|
|
9660
|
+
}
|
|
9216
9661
|
|
|
9217
9662
|
// src/builder/components/flow-builder/components/blocks/nodes/node/node.tsx
|
|
9218
9663
|
/**
|
|
@@ -9680,33 +10125,37 @@ const getNodeMetadata = (value) => {
|
|
|
9680
10125
|
id,
|
|
9681
10126
|
value?.type
|
|
9682
10127
|
]);
|
|
9683
|
-
const describeStep = useCallback(() =>
|
|
9684
|
-
|
|
9685
|
-
|
|
9686
|
-
data,
|
|
9687
|
-
registryTitle: meta.title,
|
|
9688
|
-
trigger: isNodeTrigger({
|
|
9689
|
-
type: value?.type,
|
|
9690
|
-
data
|
|
9691
|
-
}),
|
|
9692
|
-
missingSettings: missingParameters,
|
|
9693
|
-
missingConnection: missingCredentials,
|
|
9694
|
-
params: nodeParamsOf({
|
|
10128
|
+
const describeStep = useCallback(() => {
|
|
10129
|
+
const { execution, workflow } = useFlowStore.getState();
|
|
10130
|
+
return describeCanvasStep(canvasStepFactsOf({
|
|
9695
10131
|
id,
|
|
9696
10132
|
type: value?.type,
|
|
9697
|
-
data
|
|
9698
|
-
|
|
9699
|
-
|
|
9700
|
-
|
|
9701
|
-
|
|
9702
|
-
|
|
9703
|
-
|
|
9704
|
-
|
|
10133
|
+
data,
|
|
10134
|
+
registryTitle: getNodeDetail(value?.type).title,
|
|
10135
|
+
trigger: isNodeTrigger({
|
|
10136
|
+
type: value?.type,
|
|
10137
|
+
data
|
|
10138
|
+
}),
|
|
10139
|
+
missingSettings: missingParameters,
|
|
10140
|
+
missingConnection: missingCredentials,
|
|
10141
|
+
params: nodeParamsOf({
|
|
10142
|
+
id,
|
|
10143
|
+
type: value?.type,
|
|
10144
|
+
data
|
|
10145
|
+
}),
|
|
10146
|
+
state: nodeStateOf({
|
|
10147
|
+
id,
|
|
10148
|
+
data
|
|
10149
|
+
}),
|
|
10150
|
+
execution,
|
|
10151
|
+
latestFailedRun: latestFailedRunFor(workflow.workflowKey || void 0)
|
|
10152
|
+
}));
|
|
10153
|
+
}, [
|
|
9705
10154
|
data,
|
|
9706
10155
|
id,
|
|
9707
|
-
meta.title,
|
|
9708
10156
|
missingCredentials,
|
|
9709
|
-
missingParameters
|
|
10157
|
+
missingParameters,
|
|
10158
|
+
value?.type
|
|
9710
10159
|
]);
|
|
9711
10160
|
const askable = useFgAskable(describeStep);
|
|
9712
10161
|
const askableRef = useCallback((element) => askable(element?.closest(".react-flow__node") ?? element), [askable]);
|
|
@@ -10932,4 +11381,4 @@ function useFluidGridsContext() {
|
|
|
10932
11381
|
return context;
|
|
10933
11382
|
}
|
|
10934
11383
|
|
|
10935
|
-
export {
|
|
11384
|
+
export { latestNodeLog as $, runDurationMs as $t, MissingParametersDialog as A, ExecutionsListDocument as An, phaseAfterTakeOver as At, selectedOperationOf as B, buildStickyNode as Bn, revisionOf as Bt, describeRun as C, EventRegistrationsDocument as Cn, useEditLeaseLocked as Ct, buildOperationSeed as D, SaveWorkflowDraftDocument as Dn, leaseCallQueue as Dt, SENSITIVE_PARAM as E, TriggerWorkflowDocument as En, isLocked as Et, fixedParameterState as F, isOptionalAdapter as Fn, forgetSessionForReload as Ft, optionListText as G, findSaveConflict as Gt, resolveUiSpec as H, useMarkdownRenderer as Hn, AUTOSAVE_RETRY_DELAYS_MS as Ht, nodeSubtitle as I, matchesAdapterProvider as In, rememberSessionForReload as It, ConditionTreeBuilder as J, saveFailureActionOf as Jt, optionListValues as K, inAppLeaveTarget as Kt, nodeTitle as L, newConnectionProviderKey as Ln, sessionBeforeReload as Lt, workflowParameterIssues as M, RunFromNodeDocument as Mn, shouldReleaseForIdle as Mt, asRecord as N, ExecuteStepDocument as Nn, tickAction as Nt, createConfiguredNode as O, CreateWorkflowVersionDocument as On, leaseCallSequence as Ot, coerceNumber as P, connectionsForAdapter as Pn, EDIT_SESSION_ID as Pt, parseMappingValue as Q, nodeStateDurationMs as Qt, optionText as R, replaceAdapterConnections as Rn, rememberOwnStatusChange as Rt, useLatestFailedRun as S, NodeEndpointConfigsDocument as Sn, workflowSaveQueue as St, describeRunStep as T, BuilderRunNodeDetailsDocument as Tn, bannerOf as Tt, stripSubmitActions as U, canAutosave as Ut, useNodeConfig as V, loadMarkdown as Vn, AUTOSAVE_DEBOUNCE_MS as Vt, isStringOptionList as W, codeBuildIdOf as Wt, casesFromRules as X, useNodeExecution as Xt, SwitchRulesEditor as Y, workflowFingerprint as Yt, FieldTree as Z, formatElapsedMs as Zt, registryNodeData as _, payloadFromCardValues as _n, classifyCreateRefusal as _t, NODES_METADATA as a, isParamVisible as an, departingSave as at, fetchAllNodeEndpointConfigs as b, NodePaletteEntriesDocument as bn, saveIndicatorOf as bt, ensureInstalledNodeTypesLoaded as c, useCanvasEdges as cn, leavingLosesChanges as ct, ensureRegistryNodeTypesLoaded as d, loadDefinitionJson as dn, watchLeavingLosesChanges as dt, formatParameterValue as en, boundFieldsOf as et, isNodeConfigsInitialized as f, useCodeWorkflowInterface as fn, isFlowComplete as ft, registerWorkflowNodeTypes as g, parseRawSignalPayload as gn, builderPathOf as gt, registerNodeManifests as h, durableInterfaceOf as hn, blankWorkflowCreateInput as ht, AVAILABLE_NODES as i, resolveNodeOperation as in, autosaveAllowedFor as it, useRunGuard as j, ExecutionDetailDocument as jn, releasesOnClose as jt, useInsertNode as k, CreateWorkflowDefinitionDocument as kn, phaseAfterAcquire as kt, ensureNodeConfigsLoaded as l, useNodeRegistryRevision as ln, savedEverythingBeforeLeaving as lt, refetchStoreNodes as m, declaredSignals as mn, useSaveWorkflow as mt, FluidGridsProvider as n, structuredParameterType as nn, useGuardedNavigate as nt, NODE_CONFIGS as o, useFluidGridsAnalytics as on, editStateFor as ot, onNodeTypesUpdate as p, canSignalRun as pn, useFlowValidator as pt, resolveLoadOptionsSpec as q, resettledBaseline as qt, useFluidGridsContext as r, fieldsFromValue as rn, useManualSave as rt, NODE_TYPES as s, openRunQuotaUpgradePrompt as sn, editingLeaseLocked as st, FluidGridsContext as t, parseParameterValue as tn, missingRequiredParameters as tt, ensureNodeTypesLoaded as u, clearCodeWorkflowDefinitionCache as un, touchesSavedFields as ut, scheduleNodePaletteLoad as v, runSignalTargets as vn, createThenOpen as vt, describeRunError as w, BuilderRunStatusDocument as wn, useEditLeaseStore as wt, getNodeMetadata as x, NodeManifestsDocument as xn, useSaveStatusStore as xt, GetMyNodeInstallationsDocument as y, signalPayloadCard as yn, refusalOfQuota as yt, paramsFromOperation as z, getNodeDetail as zn, rememberRevision as zt };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { t as __exportAll } from "./rolldown-runtime-hDbaFkMy.js";
|
|
3
|
-
import { d as useRestoreWorkflowVersion, h as useWorkflowDefinitions } from "./useWorkflows-
|
|
3
|
+
import { d as useRestoreWorkflowVersion, h as useWorkflowDefinitions } from "./useWorkflows-DSZUrK_o.js";
|
|
4
4
|
import { t as VersionDiffDialog } from "./VersionDiffDialog-D9W5Fm56.js";
|
|
5
5
|
import { c as versionsOfWorkflow } from "./VersionLifecycleBar-DuphLOT0.js";
|
|
6
6
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
@@ -3,7 +3,7 @@ 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
5
|
import { t as TechnicalDetails } from "./TechnicalDetails-r5JXr1jZ.js";
|
|
6
|
-
import { o as useRunReplayActions, r as useInsightsData } from "./useObservability-
|
|
6
|
+
import { o as useRunReplayActions, r as useInsightsData } from "./useObservability-AMDVk_hX.js";
|
|
7
7
|
import { a as getTopFailingNodes, i as getFailureBreakdown, l as rankedFailingWorkflows, n as formatDuration, o as getTopFailingWorkflows, s as percentage, u as summarySuccessRate } from "./utils-C0dtnN4R.js";
|
|
8
8
|
import { n as FailureTriagePanel } from "./FailureTriagePanel-DA91XKVj.js";
|
|
9
9
|
import { c as useContinuousOptimisationEnabled } from "./feature-flags-B_b8PJ6Z.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
3
|
-
import { n as formatTemplatePrice } from "./TemplateCard-
|
|
3
|
+
import { n as formatTemplatePrice } from "./TemplateCard-7rE1VAIC.js";
|
|
4
4
|
import { t as ConfirmActionDialog } from "./ConfirmActionDialog-D9Pir3bc.js";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
3
|
-
import {
|
|
3
|
+
import { on as useFluidGridsAnalytics } from "./FluidGridsProvider-BOBuK7kj.js";
|
|
4
4
|
import { c as emitWorkflowLimitHit, o as emitUpgradeClicked } from "./fluidgridsEvents-Dm5CaHtr.js";
|
|
5
5
|
import { i as WORKFLOWS_QUOTA_NAME } from "./quota-Cdt8yz7N.js";
|
|
6
6
|
import { useEffect, useRef } from "react";
|
|
@@ -12,10 +12,10 @@ import { M as saveCodecServerSettings, _ as fetchPauseRules, a as createPauseRul
|
|
|
12
12
|
import { i as NativeSelect, o as StatusPill, t as FieldError, u as useResource } from "./shared-C0LCTtyh.js";
|
|
13
13
|
import { OI as WorkflowSearchAttributeType } from "./graphql-types-C5Tr6508.js";
|
|
14
14
|
import { A as useFlowStore } from "./node-operation-selection-BGj5YwAS.js";
|
|
15
|
-
import {
|
|
16
|
-
import { a as useLogStreamDestinations, i as useLogStreamDestinationActions } from "./useObservability-
|
|
15
|
+
import { Gt as findSaveConflict, xt as useSaveStatusStore } from "./FluidGridsProvider-BOBuK7kj.js";
|
|
16
|
+
import { a as useLogStreamDestinations, i as useLogStreamDestinationActions } from "./useObservability-AMDVk_hX.js";
|
|
17
17
|
import { n as useConnections } from "./useConnections-BlB0gbOB.js";
|
|
18
|
-
import { Nt as useUpdateWorkflowDefinitionMutation, Rt as useWorkflowDefinitionQuery, Vt as useWorkflowDefinitionsQuery, n as useAgentDefinitions } from "./useAgentDefinitions-
|
|
18
|
+
import { Nt as useUpdateWorkflowDefinitionMutation, Rt as useWorkflowDefinitionQuery, Vt as useWorkflowDefinitionsQuery, n as useAgentDefinitions } from "./useAgentDefinitions-DykIYrep.js";
|
|
19
19
|
import { a as formToInput$2, i as emptyAgentForm, n as agentToForm, o as grantDays, r as describeRule, t as AgentFormError } from "./agent-form-D0uLvzx4.js";
|
|
20
20
|
import { r as getFluidGridsConfig } from "./config-X97zrIvn.js";
|
|
21
21
|
import { n as getGlobalStoreClient } from "./global-client-DP_Wxe5t.js";
|
|
@@ -3,7 +3,7 @@ import { r as getFluidGridsConfig } from "./config-X97zrIvn.js";
|
|
|
3
3
|
import { o as throwIfResultError } from "./errors-xPZ-IbQd.js";
|
|
4
4
|
import { n as getFluidGridsClient } from "./client-Ctl4jmY3.js";
|
|
5
5
|
import { n as getGlobalStoreClient } from "./global-client-DP_Wxe5t.js";
|
|
6
|
-
import { c as ensureInstalledNodeTypesLoaded, d as ensureRegistryNodeTypesLoaded, i as AVAILABLE_NODES,
|
|
6
|
+
import { c as ensureInstalledNodeTypesLoaded, d as ensureRegistryNodeTypesLoaded, i as AVAILABLE_NODES, o as NODE_CONFIGS, on as useFluidGridsAnalytics, t as FluidGridsContext, y as GetMyNodeInstallationsDocument } from "./FluidGridsProvider-BOBuK7kj.js";
|
|
7
7
|
import { r as useTr } from "./TranslationBridge-Da-TPgQm.js";
|
|
8
8
|
import { o as isNodeTypeHiddenFromPalette } from "./durable-nodes-DXCCQYWD.js";
|
|
9
9
|
import { h as usePhaseDFlags } from "./feature-flags-B_b8PJ6Z.js";
|
|
@@ -13,7 +13,7 @@ import { n as InstallWorkflowNodeDocument } from "./global-operations-7pvXw_j9.j
|
|
|
13
13
|
import { t as cn } from "./cn-QqidFIgr.js";
|
|
14
14
|
import { t as Button } from "./button-DG7y_FVJ.js";
|
|
15
15
|
import { i as SdkPermissionButton, t as FLUIDGRIDS_PERMISSIONS } from "./constants-dcxg6zG6.js";
|
|
16
|
-
import { t as useGlobalStoreClient } from "./useGlobalStoreClient-
|
|
16
|
+
import { t as useGlobalStoreClient } from "./useGlobalStoreClient-BfmKmeIx.js";
|
|
17
17
|
import { r as templateInstallSource } from "./template-code-CobAYaeH.js";
|
|
18
18
|
import { t as Badge } from "./badge-CXfPhoMH.js";
|
|
19
19
|
import { t as templatePreview } from "./template-preview-C01KV277.js";
|