@ixo/editor 6.28.0 → 6.29.1

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.
@@ -85,6 +85,7 @@ import {
85
85
  parseDelegatedToolInputs,
86
86
  parseEvalRubricInputs,
87
87
  parseLinkedEntities,
88
+ parsePublishedRubric,
88
89
  parseReferences,
89
90
  readActionState,
90
91
  readFlowXeroBinding,
@@ -129,7 +130,7 @@ import {
129
130
  writeActionState,
130
131
  writeRunRecordAndReconcile,
131
132
  xeroOracleActivityForBlockForEditor
132
- } from "./chunk-TT4TNNOV.js";
133
+ } from "./chunk-LY32OATI.js";
133
134
 
134
135
  // src/mantine/hooks/usePanel.ts
135
136
  import { useCallback, useMemo, useEffect, useRef } from "react";
@@ -1980,7 +1981,7 @@ var GeneralTab = ({
1980
1981
  };
1981
1982
 
1982
1983
  // src/mantine/components/Layouts/BaseRightPanelLayout.tsx
1983
- import { ActionIcon as ActionIcon5, Box as Box3, Flex as Flex2, Stack as Stack11, Text as Text9 } from "@mantine/core";
1984
+ import { ActionIcon as ActionIcon6, Box as Box3, Flex as Flex2, Stack as Stack11, Text as Text9 } from "@mantine/core";
1984
1985
  import { IconAdjustmentsHorizontal, IconBolt, IconBrain, IconGitCompare, IconHistory, IconHourglass, IconSettings, IconShieldCheck as IconShieldCheck2, IconWand, IconX as IconX3 } from "@tabler/icons-react";
1985
1986
  import React24, { useContext as useContext3, useEffect as useEffect12, useMemo as useMemo9 } from "react";
1986
1987
 
@@ -2057,10 +2058,13 @@ function TabsSelection({ tabs, activeTab, onTabChange, defaultValue, stickyTabs
2057
2058
 
2058
2059
  // src/mantine/components/PanelTabBar.tsx
2059
2060
  import React11 from "react";
2060
- import { Box as Box2, Button as Button3, Group as Group3 } from "@mantine/core";
2061
+ import { ActionIcon as ActionIcon3, Box as Box2, Button as Button3, Group as Group3, Tooltip } from "@mantine/core";
2061
2062
  function PanelTabBar({ tabs, activeTab, onChange }) {
2062
2063
  return /* @__PURE__ */ React11.createElement(Box2, { className: "ixo-hide-scrollbar", style: { overflowX: "auto" } }, /* @__PURE__ */ React11.createElement(Group3, { gap: 2, p: 2, w: "max-content", bg: "neutralColor.3", style: { borderRadius: 10 }, wrap: "nowrap" }, tabs.map((tab) => {
2063
2064
  const active = tab.value === activeTab;
2065
+ if (tab.iconOnly) {
2066
+ return /* @__PURE__ */ React11.createElement(Tooltip, { key: tab.value, label: tab.label }, /* @__PURE__ */ React11.createElement(ActionIcon3, { h: 28, w: 28, variant: active ? "secondary" : "ghost", "data-active": active || void 0, "aria-label": tab.label, onClick: () => onChange(tab.value) }, tab.icon));
2067
+ }
2064
2068
  return /* @__PURE__ */ React11.createElement(
2065
2069
  Button3,
2066
2070
  {
@@ -3034,7 +3038,7 @@ function ConditionsTab({ block, editor }) {
3034
3038
 
3035
3039
  // src/mantine/components/SkillsTab.tsx
3036
3040
  import React21, { useCallback as useCallback13, useEffect as useEffect11, useState as useState10, useRef as useRef5 } from "react";
3037
- import { Stack as Stack9, Text as Text7, Group as Group5, Card as Card2, Badge as Badge3, Loader as Loader2, ActionIcon as ActionIcon3 } from "@mantine/core";
3041
+ import { Stack as Stack9, Text as Text7, Group as Group5, Card as Card2, Badge as Badge3, Loader as Loader2, ActionIcon as ActionIcon4 } from "@mantine/core";
3038
3042
  import { IconX as IconX2 } from "@tabler/icons-react";
3039
3043
 
3040
3044
  // src/mantine/components/Base/BaseMultiSelect.tsx
@@ -3144,7 +3148,7 @@ function SkillsTab({ block, editor }) {
3144
3148
  border: "1px solid var(--mantine-color-neutralColor-5)"
3145
3149
  }
3146
3150
  },
3147
- /* @__PURE__ */ React21.createElement(Stack9, { gap: "sm" }, /* @__PURE__ */ React21.createElement(Group5, { justify: "space-between", align: "center" }, /* @__PURE__ */ React21.createElement(Text7, { size: "sm", fw: 500 }, skill.name), /* @__PURE__ */ React21.createElement(ActionIcon3, { variant: "subtle", color: "red", size: "sm", onClick: () => removeSkill(skill.cid) }, /* @__PURE__ */ React21.createElement(IconX2, { size: 14 }))), skill.description && /* @__PURE__ */ React21.createElement(Text7, { size: "xs", c: "dimmed" }, skill.description), /* @__PURE__ */ React21.createElement(Group5, { gap: "xs" }, skill.license && /* @__PURE__ */ React21.createElement(Badge3, { size: "xs", variant: "outline", style: { borderColor: "var(--mantine-color-neutralColor-5)", color: "var(--mantine-color-dimmed)" } }, skill.license), skill.compatibility && /* @__PURE__ */ React21.createElement(Badge3, { size: "xs", variant: "outline", style: { borderColor: "var(--mantine-color-neutralColor-5)", color: "var(--mantine-color-dimmed)" } }, skill.compatibility)), /* @__PURE__ */ React21.createElement(Text7, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" } }, "CID: ", skill.cid))
3151
+ /* @__PURE__ */ React21.createElement(Stack9, { gap: "sm" }, /* @__PURE__ */ React21.createElement(Group5, { justify: "space-between", align: "center" }, /* @__PURE__ */ React21.createElement(Text7, { size: "sm", fw: 500 }, skill.name), /* @__PURE__ */ React21.createElement(ActionIcon4, { variant: "subtle", color: "red", size: "sm", onClick: () => removeSkill(skill.cid) }, /* @__PURE__ */ React21.createElement(IconX2, { size: 14 }))), skill.description && /* @__PURE__ */ React21.createElement(Text7, { size: "xs", c: "dimmed" }, skill.description), /* @__PURE__ */ React21.createElement(Group5, { gap: "xs" }, skill.license && /* @__PURE__ */ React21.createElement(Badge3, { size: "xs", variant: "outline", style: { borderColor: "var(--mantine-color-neutralColor-5)", color: "var(--mantine-color-dimmed)" } }, skill.license), skill.compatibility && /* @__PURE__ */ React21.createElement(Badge3, { size: "xs", variant: "outline", style: { borderColor: "var(--mantine-color-neutralColor-5)", color: "var(--mantine-color-dimmed)" } }, skill.compatibility)), /* @__PURE__ */ React21.createElement(Text7, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" } }, "CID: ", skill.cid))
3148
3152
  ))));
3149
3153
  }
3150
3154
 
@@ -3269,11 +3273,11 @@ var TtlTab = ({ editor, block }) => {
3269
3273
 
3270
3274
  // src/mantine/components/PanelMaximizeButton.tsx
3271
3275
  import React23 from "react";
3272
- import { ActionIcon as ActionIcon4 } from "@mantine/core";
3276
+ import { ActionIcon as ActionIcon5 } from "@mantine/core";
3273
3277
  import { IconArrowsMaximize, IconArrowsMinimize } from "@tabler/icons-react";
3274
3278
  function PanelMaximizeButton({ isMaximized, onToggleMaximize, isMobile }) {
3275
3279
  if (isMobile) return null;
3276
- return /* @__PURE__ */ React23.createElement(ActionIcon4, { onClick: onToggleMaximize, variant: "secondary", "aria-label": isMaximized ? "Minimize panel" : "Maximize panel" }, isMaximized ? icon(IconArrowsMinimize) : icon(IconArrowsMaximize));
3280
+ return /* @__PURE__ */ React23.createElement(ActionIcon5, { onClick: onToggleMaximize, variant: "secondary", "aria-label": isMaximized ? "Minimize panel" : "Maximize panel" }, isMaximized ? icon(IconArrowsMinimize) : icon(IconArrowsMaximize));
3277
3281
  }
3278
3282
 
3279
3283
  // src/mantine/components/Layouts/BaseRightPanelLayout.tsx
@@ -3287,7 +3291,7 @@ function GroupedTabContent({ items }) {
3287
3291
  if (items.length === 1) return /* @__PURE__ */ React24.createElement(React24.Fragment, null, items[0].content);
3288
3292
  return /* @__PURE__ */ React24.createElement(Stack11, { gap: "xl" }, items.map((item) => /* @__PURE__ */ React24.createElement(Stack11, { key: item.value, gap: "xs" }, /* @__PURE__ */ React24.createElement(Text9, { fz: 12, fw: 600, c: "dimmed", tt: "uppercase" }, item.label), item.content)));
3289
3293
  }
3290
- function buildStepTabs(tabs, t) {
3294
+ function buildStepTabs(tabs, t, showSettings) {
3291
3295
  const actionItems = tabs.filter((tab) => !SET_VALUES.has(tab.value) && !SETTINGS_VALUES.has(tab.value));
3292
3296
  const setItems = tabs.filter((tab) => SET_VALUES.has(tab.value));
3293
3297
  const settingsItems = tabs.filter((tab) => SETTINGS_VALUES.has(tab.value));
@@ -3334,17 +3338,28 @@ function buildStepTabs(tabs, t) {
3334
3338
  }
3335
3339
  )
3336
3340
  },
3337
- ...settingsItems.length ? [
3341
+ ...showSettings && settingsItems.length ? [
3338
3342
  {
3339
3343
  value: "settings",
3340
3344
  label: t("stepTabs.settings", { defaultValue: "Settings" }),
3341
3345
  icon: icon(IconSettings),
3342
- content: /* @__PURE__ */ React24.createElement(GroupedTabContent, { items: settingsItems })
3346
+ content: /* @__PURE__ */ React24.createElement(GroupedTabContent, { items: settingsItems }),
3347
+ iconOnly: true
3343
3348
  }
3344
3349
  ] : []
3345
3350
  ];
3346
3351
  }
3347
- function BaseRightPanelLayout({ title, isTemplate: _isTemplate = true, captionContent, onClose, children, tabs, context, stepTabs = false }) {
3352
+ function BaseRightPanelLayout({
3353
+ title,
3354
+ isTemplate: _isTemplate = true,
3355
+ captionContent,
3356
+ onClose,
3357
+ children,
3358
+ tabs,
3359
+ context,
3360
+ stepTabs = false,
3361
+ showSettings = _isTemplate
3362
+ }) {
3348
3363
  const { setMaximized, isMaximized } = useListBlocksUI();
3349
3364
  const { askCompanion } = useBlocknoteHandlers();
3350
3365
  const t = useTranslate();
@@ -3388,7 +3403,7 @@ function BaseRightPanelLayout({ title, isTemplate: _isTemplate = true, captionCo
3388
3403
  return {};
3389
3404
  }
3390
3405
  }, [context?.block.props.skill]);
3391
- const renderTabs = stepTabs && allTabs.length > 0 ? buildStepTabs(allTabs, t) : allTabs;
3406
+ const renderTabs = stepTabs && allTabs.length > 0 ? buildStepTabs(allTabs, t, showSettings) : allTabs;
3392
3407
  const tabState = useTabState(renderTabs);
3393
3408
  const embedded = useContext3(FlowPanelEmbeddedContext);
3394
3409
  return (
@@ -3408,7 +3423,7 @@ function BaseRightPanelLayout({ title, isTemplate: _isTemplate = true, captionCo
3408
3423
  }
3409
3424
  },
3410
3425
  !embedded && /* @__PURE__ */ React24.createElement(Flex2, { align: "center", px: "md", justify: "space-between", gap: "md" }, title ? /* @__PURE__ */ React24.createElement(Text9, { fz: 16, fw: 400, truncate: "end", style: { flex: 1, minWidth: 0 } }, title) : /* @__PURE__ */ React24.createElement(Box3, { style: { flex: 1 } }), /* @__PURE__ */ React24.createElement(Flex2, { align: "center", gap: "5px" }, /* @__PURE__ */ React24.createElement(PanelMaximizeButton, { isMaximized, onToggleMaximize: () => setMaximized(!isMaximized), isMobile }), /* @__PURE__ */ React24.createElement(
3411
- ActionIcon5,
3426
+ ActionIcon6,
3412
3427
  {
3413
3428
  onClick: () => {
3414
3429
  onClose();
@@ -3573,7 +3588,7 @@ var CheckboxTemplateView = ({ editor, block }) => {
3573
3588
 
3574
3589
  // src/mantine/blocks/checkbox/flow/FlowView.tsx
3575
3590
  import React29, { useMemo as useMemo11 } from "react";
3576
- import { Checkbox as Checkbox3, Group as Group8, Stack as Stack13, Text as Text11, Tooltip } from "@mantine/core";
3591
+ import { Checkbox as Checkbox3, Group as Group8, Stack as Stack13, Text as Text11, Tooltip as Tooltip2 } from "@mantine/core";
3577
3592
 
3578
3593
  // src/mantine/blocks/checkbox/flow/FlowConfig.tsx
3579
3594
  import React28 from "react";
@@ -3601,7 +3616,7 @@ var CheckboxFlowView = ({ editor, block, isDisabled }) => {
3601
3616
  });
3602
3617
  };
3603
3618
  const checkboxElement = /* @__PURE__ */ React29.createElement(Checkbox3, { contentEditable: false, disabled, checked, onChange: handleCheckboxChange, style: { flexShrink: 0 }, onClick: (e) => e.stopPropagation() });
3604
- return /* @__PURE__ */ React29.createElement(BaseContainer, { blockId: block.id, onClick: open }, /* @__PURE__ */ React29.createElement(Group8, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React29.createElement(Group8, { wrap: "nowrap", align: "center" }, getIcon("square-check", block.props.icon), /* @__PURE__ */ React29.createElement(Stack13, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React29.createElement(Text11, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Checkbox Title"), /* @__PURE__ */ React29.createElement(Text11, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description || "Checkbox description"))), disabled && isDisabled?.message ? /* @__PURE__ */ React29.createElement(Tooltip, { label: isDisabled.message, position: "left", withArrow: true }, checkboxElement) : checkboxElement));
3619
+ return /* @__PURE__ */ React29.createElement(BaseContainer, { blockId: block.id, onClick: open }, /* @__PURE__ */ React29.createElement(Group8, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React29.createElement(Group8, { wrap: "nowrap", align: "center" }, getIcon("square-check", block.props.icon), /* @__PURE__ */ React29.createElement(Stack13, { gap: "xs", style: { flex: 1 } }, /* @__PURE__ */ React29.createElement(Text11, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Checkbox Title"), /* @__PURE__ */ React29.createElement(Text11, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description || "Checkbox description"))), disabled && isDisabled?.message ? /* @__PURE__ */ React29.createElement(Tooltip2, { label: isDisabled.message, position: "left", withArrow: true }, checkboxElement) : checkboxElement));
3605
3620
  };
3606
3621
 
3607
3622
  // src/mantine/blocks/hooks/useBlockConditions.ts
@@ -5207,7 +5222,7 @@ var ListTemplateView = ({ editor, block }) => {
5207
5222
 
5208
5223
  // src/mantine/blocks/list/flow/ListFlowView.tsx
5209
5224
  import React93, { useState as useState38, useEffect as useEffect36, useMemo as useMemo42, useCallback as useCallback31, useRef as useRef11 } from "react";
5210
- import { Stack as Stack59, Text as Text60, ActionIcon as ActionIcon14, Loader as Loader16, Center as Center9, Flex as Flex28, Title as Title5, Collapse as Collapse2, Tooltip as Tooltip9 } from "@mantine/core";
5225
+ import { Stack as Stack59, Text as Text60, ActionIcon as ActionIcon15, Loader as Loader16, Center as Center9, Flex as Flex28, Title as Title5, Collapse as Collapse2, Tooltip as Tooltip10 } from "@mantine/core";
5211
5226
 
5212
5227
  // src/mantine/blocks/list/linked_resources/ResourcesList.tsx
5213
5228
  import React38 from "react";
@@ -5215,7 +5230,7 @@ import { Stack as Stack16, Text as Text14, Box as Box4, Flex as Flex4 } from "@m
5215
5230
  import { IconPdf, IconFileTypeHtml, IconJson, IconPhoto, IconFileText as IconFileText3, IconFile as IconFile2 } from "@tabler/icons-react";
5216
5231
 
5217
5232
  // src/mantine/blocks/list/ListItemContainer.tsx
5218
- import { Center, Flex as Flex3, Paper as Paper3, Tooltip as Tooltip2 } from "@mantine/core";
5233
+ import { Center, Flex as Flex3, Paper as Paper3, Tooltip as Tooltip3 } from "@mantine/core";
5219
5234
  import { IconPlayerPlay } from "@tabler/icons-react";
5220
5235
  import React36 from "react";
5221
5236
  function ListItemContainer({
@@ -5253,7 +5268,7 @@ function ListItemContainer({
5253
5268
  withIcon && /* @__PURE__ */ React36.createElement(Paper3, { ml: 12, w: 28, h: 28, radius: "xl", style: { backgroundColor: "color-mix(in srgb, var(--mantine-color-accent-5) 20%, transparent)" } }, /* @__PURE__ */ React36.createElement(Center, { w: 28, h: 28 }, /* @__PURE__ */ React36.createElement(IconPlayerPlay, { size: 20, color: "var(--mantine-color-accent-5)" })))
5254
5269
  );
5255
5270
  if (tooltip) {
5256
- return /* @__PURE__ */ React36.createElement(Tooltip2, { label: tooltip, disabled: !disabled, position: tooltipPosition, withArrow: true }, content);
5271
+ return /* @__PURE__ */ React36.createElement(Tooltip3, { label: tooltip, disabled: !disabled, position: tooltipPosition, withArrow: true }, content);
5257
5272
  }
5258
5273
  return content;
5259
5274
  }
@@ -5809,13 +5824,13 @@ var SelectionPanelEmpty = ({ message = "No item selected" }) => {
5809
5824
 
5810
5825
  // src/mantine/blocks/list/transactions/TransactionDetails.tsx
5811
5826
  import React57, { useEffect as useEffect15, useState as useState14 } from "react";
5812
- import { Text as Text31, Tooltip as Tooltip3, Stack as Stack32, Group as Group13, Paper as Paper5, Divider as Divider4, CopyButton, ActionIcon as ActionIcon6 } from "@mantine/core";
5827
+ import { Text as Text31, Tooltip as Tooltip4, Stack as Stack32, Group as Group13, Paper as Paper5, Divider as Divider4, CopyButton, ActionIcon as ActionIcon7 } from "@mantine/core";
5813
5828
  import { IconCopy, IconCheck } from "@tabler/icons-react";
5814
5829
  var CopyableField = ({ label, value, truncate: truncate2 = true }) => {
5815
5830
  if (!value) {
5816
5831
  return /* @__PURE__ */ React57.createElement(Stack32, { gap: 4 }, /* @__PURE__ */ React57.createElement(Text31, { size: "xs", c: "dimmed" }, label), /* @__PURE__ */ React57.createElement(Text31, { size: "sm" }, "-"));
5817
5832
  }
5818
- return /* @__PURE__ */ React57.createElement(Stack32, { gap: 4 }, /* @__PURE__ */ React57.createElement(Text31, { size: "xs", c: "dimmed" }, label), /* @__PURE__ */ React57.createElement(Group13, { gap: "xs" }, /* @__PURE__ */ React57.createElement(Tooltip3, { label: value, position: "top", disabled: !truncate2 }, /* @__PURE__ */ React57.createElement(Text31, { size: "sm", style: { fontFamily: "monospace" } }, truncate2 ? shortStr(value, 20, 6) : value)), /* @__PURE__ */ React57.createElement(CopyButton, { value, timeout: 2e3 }, ({ copied, copy }) => /* @__PURE__ */ React57.createElement(ActionIcon6, { size: "xs", variant: "subtle", color: copied ? "teal" : "gray", onClick: copy }, copied ? /* @__PURE__ */ React57.createElement(IconCheck, { size: 14 }) : /* @__PURE__ */ React57.createElement(IconCopy, { size: 14 })))));
5833
+ return /* @__PURE__ */ React57.createElement(Stack32, { gap: 4 }, /* @__PURE__ */ React57.createElement(Text31, { size: "xs", c: "dimmed" }, label), /* @__PURE__ */ React57.createElement(Group13, { gap: "xs" }, /* @__PURE__ */ React57.createElement(Tooltip4, { label: value, position: "top", disabled: !truncate2 }, /* @__PURE__ */ React57.createElement(Text31, { size: "sm", style: { fontFamily: "monospace" } }, truncate2 ? shortStr(value, 20, 6) : value)), /* @__PURE__ */ React57.createElement(CopyButton, { value, timeout: 2e3 }, ({ copied, copy }) => /* @__PURE__ */ React57.createElement(ActionIcon7, { size: "xs", variant: "subtle", color: copied ? "teal" : "gray", onClick: copy }, copied ? /* @__PURE__ */ React57.createElement(IconCheck, { size: 14 }) : /* @__PURE__ */ React57.createElement(IconCopy, { size: 14 })))));
5819
5834
  };
5820
5835
  var TransactionDetails = ({ transaction }) => {
5821
5836
  const handlers = useBlocknoteHandlers();
@@ -6621,7 +6636,7 @@ var AssignmentTab = ({ editor, block: initialBlock }) => {
6621
6636
 
6622
6637
  // src/mantine/components/AssignmentDisplay.tsx
6623
6638
  import React64, { useMemo as useMemo18 } from "react";
6624
- import { Stack as Stack37, Text as Text36, Flex as Flex21, Box as Box18, Popover as Popover2, ActionIcon as ActionIcon7, Tooltip as Tooltip4 } from "@mantine/core";
6639
+ import { Stack as Stack37, Text as Text36, Flex as Flex21, Box as Box18, Popover as Popover2, ActionIcon as ActionIcon8, Tooltip as Tooltip5 } from "@mantine/core";
6625
6640
  import { useDisclosure } from "@mantine/hooks";
6626
6641
  import { IconCirclePlus2 } from "@tabler/icons-react";
6627
6642
  var AVATAR_SIZE = 24;
@@ -6665,8 +6680,8 @@ var AssignmentDisplay = ({ block, onClick }) => {
6665
6680
  const timestampData = assignmentState.assignedTimestamp;
6666
6681
  const hasAssignment = !!assignedActorData?.did;
6667
6682
  if (!hasAssignment) {
6668
- return /* @__PURE__ */ React64.createElement(Tooltip4, { label: "Assign responsibility", withArrow: true }, /* @__PURE__ */ React64.createElement(
6669
- ActionIcon7,
6683
+ return /* @__PURE__ */ React64.createElement(Tooltip5, { label: "Assign responsibility", withArrow: true }, /* @__PURE__ */ React64.createElement(
6684
+ ActionIcon8,
6670
6685
  {
6671
6686
  size: AVATAR_SIZE,
6672
6687
  radius: "xl",
@@ -6703,7 +6718,7 @@ import { useMemo as useMemo21 } from "react";
6703
6718
 
6704
6719
  // src/mantine/components/CommitmentDisplay.tsx
6705
6720
  import React66, { useMemo as useMemo20 } from "react";
6706
- import { Stack as Stack38, Text as Text37, Flex as Flex22, Box as Box19, Popover as Popover3, ActionIcon as ActionIcon8, Tooltip as Tooltip5 } from "@mantine/core";
6721
+ import { Stack as Stack38, Text as Text37, Flex as Flex22, Box as Box19, Popover as Popover3, ActionIcon as ActionIcon9, Tooltip as Tooltip6 } from "@mantine/core";
6707
6722
  import { useDisclosure as useDisclosure2 } from "@mantine/hooks";
6708
6723
  import { IconCircleDotted } from "@tabler/icons-react";
6709
6724
  var AVATAR_SIZE2 = 24;
@@ -6748,8 +6763,8 @@ var CommitmentDisplay = ({ block, onClick }) => {
6748
6763
  const commitmentExpiresAt = commitmentState.commitmentExpiresAt;
6749
6764
  const hasCommitment = !!committedActorData?.did;
6750
6765
  if (!hasCommitment) {
6751
- return /* @__PURE__ */ React66.createElement(Tooltip5, { label: "Commit to action", withArrow: true }, /* @__PURE__ */ React66.createElement(
6752
- ActionIcon8,
6766
+ return /* @__PURE__ */ React66.createElement(Tooltip6, { label: "Commit to action", withArrow: true }, /* @__PURE__ */ React66.createElement(
6767
+ ActionIcon9,
6753
6768
  {
6754
6769
  size: AVATAR_SIZE2,
6755
6770
  radius: "xl",
@@ -6964,7 +6979,7 @@ import { Stack as Stack41, Text as Text40, Group as Group17 } from "@mantine/cor
6964
6979
 
6965
6980
  // src/mantine/blocks/claim/flow/ClaimsListSheet.tsx
6966
6981
  import React70, { useState as useState23, useEffect as useEffect24, useCallback as useCallback22, useMemo as useMemo25 } from "react";
6967
- import { Loader as Loader5, Stack as Stack40, Text as Text39, ActionIcon as ActionIcon10, Alert as Alert6, Box as Box20, Group as Group16 } from "@mantine/core";
6982
+ import { Loader as Loader5, Stack as Stack40, Text as Text39, ActionIcon as ActionIcon11, Alert as Alert6, Box as Box20, Group as Group16 } from "@mantine/core";
6968
6983
  import { IconArrowLeft as IconArrowLeft2, IconAlertCircle as IconAlertCircle2 } from "@tabler/icons-react";
6969
6984
  import { Survey as Survey2, SurveyModel as SurveyModel2 } from "@ixo/surveys";
6970
6985
 
@@ -7006,7 +7021,7 @@ function attachSurveyAnalytics({ model, handlers, flowType, sectionName, extraPr
7006
7021
 
7007
7022
  // src/mantine/components/SurveyAiFillButton.tsx
7008
7023
  import React69 from "react";
7009
- import { ActionIcon as ActionIcon9, Group as Group15, Tooltip as Tooltip6 } from "@mantine/core";
7024
+ import { ActionIcon as ActionIcon10, Group as Group15, Tooltip as Tooltip7 } from "@mantine/core";
7010
7025
  import { IconSparkles as IconSparkles2 } from "@tabler/icons-react";
7011
7026
  function SurveyAiFillButton({ surveyId, title }) {
7012
7027
  const handlers = useBlocknoteHandlers();
@@ -7014,7 +7029,7 @@ function SurveyAiFillButton({ surveyId, title }) {
7014
7029
  const requestAiFill = handlers.requestAiFill;
7015
7030
  if (!requestAiFill) return null;
7016
7031
  const label = t("survey.aiFill.tooltip", { defaultValue: "Let AI fill this form for you" });
7017
- return /* @__PURE__ */ React69.createElement(Group15, { justify: "flex-end" }, /* @__PURE__ */ React69.createElement(Tooltip6, { label }, /* @__PURE__ */ React69.createElement(ActionIcon9, { variant: "default", size: "lg", radius: "sm", "aria-label": label, onClick: () => requestAiFill({ surveyId, title }) }, /* @__PURE__ */ React69.createElement(IconSparkles2, { size: 18 }))));
7032
+ return /* @__PURE__ */ React69.createElement(Group15, { justify: "flex-end" }, /* @__PURE__ */ React69.createElement(Tooltip7, { label }, /* @__PURE__ */ React69.createElement(ActionIcon10, { variant: "default", size: "lg", radius: "sm", "aria-label": label, onClick: () => requestAiFill({ surveyId, title }) }, /* @__PURE__ */ React69.createElement(IconSparkles2, { size: 18 }))));
7018
7033
  }
7019
7034
 
7020
7035
  // src/mantine/blocks/claim/flow/ClaimsListSheet.tsx
@@ -7332,7 +7347,7 @@ var ClaimsListSheet = ({
7332
7347
  pointerEvents: viewMode === "survey" ? "auto" : "none"
7333
7348
  }
7334
7349
  },
7335
- /* @__PURE__ */ React70.createElement(Stack40, { gap: "md" }, /* @__PURE__ */ React70.createElement(Group16, { gap: "xs" }, /* @__PURE__ */ React70.createElement(ActionIcon10, { variant: "subtle", onClick: handleBackToList, size: "md" }, /* @__PURE__ */ React70.createElement(IconArrowLeft2, { size: 20 })), /* @__PURE__ */ React70.createElement(Text39, { size: "sm", c: "dimmed" }, "Back to claims list")), /* @__PURE__ */ React70.createElement(Box20, null, surveyLoading && /* @__PURE__ */ React70.createElement(Stack40, { align: "center", justify: "center", mih: 200 }, /* @__PURE__ */ React70.createElement(Loader5, { size: "lg" }), /* @__PURE__ */ React70.createElement(Text39, { size: "sm", c: "dimmed" }, "Loading survey template...")), surveyError && /* @__PURE__ */ React70.createElement(Alert6, { color: "red", icon: /* @__PURE__ */ React70.createElement(IconAlertCircle2, { size: 18 }) }, /* @__PURE__ */ React70.createElement(Text39, { size: "sm" }, surveyError)), !surveyLoading && !surveyError && surveyModel && /* @__PURE__ */ React70.createElement(React70.Fragment, null, /* @__PURE__ */ React70.createElement(SurveyAiFillButton, { surveyId: openSurveyId, title: openSurveyTitle }), /* @__PURE__ */ React70.createElement(Survey2, { model: surveyModel }))))
7350
+ /* @__PURE__ */ React70.createElement(Stack40, { gap: "md" }, /* @__PURE__ */ React70.createElement(Group16, { gap: "xs" }, /* @__PURE__ */ React70.createElement(ActionIcon11, { variant: "subtle", onClick: handleBackToList, size: "md" }, /* @__PURE__ */ React70.createElement(IconArrowLeft2, { size: 20 })), /* @__PURE__ */ React70.createElement(Text39, { size: "sm", c: "dimmed" }, "Back to claims list")), /* @__PURE__ */ React70.createElement(Box20, null, surveyLoading && /* @__PURE__ */ React70.createElement(Stack40, { align: "center", justify: "center", mih: 200 }, /* @__PURE__ */ React70.createElement(Loader5, { size: "lg" }), /* @__PURE__ */ React70.createElement(Text39, { size: "sm", c: "dimmed" }, "Loading survey template...")), surveyError && /* @__PURE__ */ React70.createElement(Alert6, { color: "red", icon: /* @__PURE__ */ React70.createElement(IconAlertCircle2, { size: 18 }) }, /* @__PURE__ */ React70.createElement(Text39, { size: "sm" }, surveyError)), !surveyLoading && !surveyError && surveyModel && /* @__PURE__ */ React70.createElement(React70.Fragment, null, /* @__PURE__ */ React70.createElement(SurveyAiFillButton, { surveyId: openSurveyId, title: openSurveyTitle }), /* @__PURE__ */ React70.createElement(Survey2, { model: surveyModel }))))
7336
7351
  )
7337
7352
  ));
7338
7353
  };
@@ -7459,7 +7474,7 @@ import { IconAlertCircle as IconAlertCircle4 } from "@tabler/icons-react";
7459
7474
 
7460
7475
  // src/mantine/blocks/components/bid/components/BidItem.tsx
7461
7476
  import React73, { useMemo as useMemo31 } from "react";
7462
- import { Stack as Stack43, Text as Text42, Badge as Badge6, Group as Group19, ActionIcon as ActionIcon11 } from "@mantine/core";
7477
+ import { Stack as Stack43, Text as Text42, Badge as Badge6, Group as Group19, ActionIcon as ActionIcon12 } from "@mantine/core";
7463
7478
  import { IconArrowRight } from "@tabler/icons-react";
7464
7479
 
7465
7480
  // src/mantine/blocks/components/bid/components/BidViewPanel.tsx
@@ -7814,7 +7829,7 @@ var BidItem = ({ editor, block, bid, deedId, adminAddress, onRefresh, execution,
7814
7829
  const displayDate = bid.created || "";
7815
7830
  const displayStatus = bid.status;
7816
7831
  const displayReason = bid.reason;
7817
- return /* @__PURE__ */ React73.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React73.createElement(Stack43, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React73.createElement(Group19, { gap: "xs" }, /* @__PURE__ */ React73.createElement(Text42, { size: "xs", fw: 500 }, loadingProfile ? "Loading..." : displayName), userProfile?.verified && /* @__PURE__ */ React73.createElement(Text42, { size: "xs", c: "blue", fw: 600, title: "Verified user" }, "\u2713"), /* @__PURE__ */ React73.createElement(Badge6, { size: "xs", variant: "light", color: getRoleColor(bid.role) }, getRoleLabel(bid.role))), /* @__PURE__ */ React73.createElement(Text42, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(displayDate)), displayStatus === "rejected" && displayReason && /* @__PURE__ */ React73.createElement(Text42, { size: "xs", c: "red" }, "Reason: ", displayReason)), /* @__PURE__ */ React73.createElement(Group19, { gap: "xs" }, displayStatus && /* @__PURE__ */ React73.createElement(Badge6, { size: "sm", color: getStatusColor(displayStatus) }, getStatusLabel(displayStatus)), /* @__PURE__ */ React73.createElement(ActionIcon11, { variant: "subtle", size: "lg", onClick: openBidPanel }, /* @__PURE__ */ React73.createElement(IconArrowRight, { size: 20 }))));
7832
+ return /* @__PURE__ */ React73.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React73.createElement(Stack43, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React73.createElement(Group19, { gap: "xs" }, /* @__PURE__ */ React73.createElement(Text42, { size: "xs", fw: 500 }, loadingProfile ? "Loading..." : displayName), userProfile?.verified && /* @__PURE__ */ React73.createElement(Text42, { size: "xs", c: "blue", fw: 600, title: "Verified user" }, "\u2713"), /* @__PURE__ */ React73.createElement(Badge6, { size: "xs", variant: "light", color: getRoleColor(bid.role) }, getRoleLabel(bid.role))), /* @__PURE__ */ React73.createElement(Text42, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(displayDate)), displayStatus === "rejected" && displayReason && /* @__PURE__ */ React73.createElement(Text42, { size: "xs", c: "red" }, "Reason: ", displayReason)), /* @__PURE__ */ React73.createElement(Group19, { gap: "xs" }, displayStatus && /* @__PURE__ */ React73.createElement(Badge6, { size: "sm", color: getStatusColor(displayStatus) }, getStatusLabel(displayStatus)), /* @__PURE__ */ React73.createElement(ActionIcon12, { variant: "subtle", size: "lg", onClick: openBidPanel }, /* @__PURE__ */ React73.createElement(IconArrowRight, { size: 20 }))));
7818
7833
  };
7819
7834
 
7820
7835
  // src/mantine/blocks/components/bid/hooks/useBids.ts
@@ -8290,7 +8305,7 @@ import {
8290
8305
  Loader as Loader11,
8291
8306
  Stack as Stack48,
8292
8307
  Text as Text48,
8293
- ActionIcon as ActionIcon12,
8308
+ ActionIcon as ActionIcon13,
8294
8309
  Alert as Alert10,
8295
8310
  Badge as Badge8,
8296
8311
  Group as Group22,
@@ -8396,7 +8411,7 @@ import { Survey as Survey5, SurveyModel as SurveyModel5 } from "@ixo/surveys";
8396
8411
 
8397
8412
  // src/mantine/blocks/evaluator/flow/RubricEvaluationResults.tsx
8398
8413
  import React78, { useMemo as useMemo35 } from "react";
8399
- import { Paper as Paper6, Stack as Stack47, Text as Text47, Badge as Badge7, Group as Group21, Progress as Progress2, Accordion as Accordion2, ThemeIcon as ThemeIcon2, Timeline, Box as Box22, Tooltip as Tooltip7, Divider as Divider5, Card as Card4, RingProgress, Center as Center5 } from "@mantine/core";
8414
+ import { Paper as Paper6, Stack as Stack47, Text as Text47, Badge as Badge7, Group as Group21, Progress as Progress2, Accordion as Accordion2, ThemeIcon as ThemeIcon2, Timeline, Box as Box22, Tooltip as Tooltip8, Divider as Divider5, Card as Card4, RingProgress, Center as Center5 } from "@mantine/core";
8400
8415
  import { IconCheck as IconCheck3, IconX as IconX6, IconAlertTriangle, IconClock as IconClock3, IconBrain as IconBrain2, IconUser as IconUser5, IconArrowUp, IconCalculator, IconCloud, IconChecklist as IconChecklist2, IconInfoCircle } from "@tabler/icons-react";
8401
8416
  var getOutcomeConfig = (outcome) => {
8402
8417
  switch (outcome) {
@@ -8539,7 +8554,7 @@ var RubricEvaluationResults = ({ evaluation }) => {
8539
8554
  leftSection: trace.actor.type === "ai" ? /* @__PURE__ */ React78.createElement(IconBrain2, { size: 12, style: { display: "block" } }) : /* @__PURE__ */ React78.createElement(IconUser5, { size: 12, style: { display: "block" } })
8540
8555
  },
8541
8556
  trace.actor.type === "ai" ? "AI Evaluated" : "Human Evaluated"
8542
- ), trace.rubricName && /* @__PURE__ */ React78.createElement(Badge7, { variant: "outline", color: "gray" }, trace.rubricName), /* @__PURE__ */ React78.createElement(Badge7, { variant: "outline", color: "gray" }, "v", trace.rubricVersion)), /* @__PURE__ */ React78.createElement(Group21, { gap: "xs" }, /* @__PURE__ */ React78.createElement(Tooltip7, { label: "Execution ID" }, /* @__PURE__ */ React78.createElement(Text47, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" } }, trace.result.executionId.slice(0, 12), "..."))))), /* @__PURE__ */ React78.createElement(Divider5, { my: "xs" }), /* @__PURE__ */ React78.createElement(
8557
+ ), trace.rubricName && /* @__PURE__ */ React78.createElement(Badge7, { variant: "outline", color: "gray" }, trace.rubricName), /* @__PURE__ */ React78.createElement(Badge7, { variant: "outline", color: "gray" }, "v", trace.rubricVersion)), /* @__PURE__ */ React78.createElement(Group21, { gap: "xs" }, /* @__PURE__ */ React78.createElement(Tooltip8, { label: "Execution ID" }, /* @__PURE__ */ React78.createElement(Text47, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" } }, trace.result.executionId.slice(0, 12), "..."))))), /* @__PURE__ */ React78.createElement(Divider5, { my: "xs" }), /* @__PURE__ */ React78.createElement(
8543
8558
  Accordion2,
8544
8559
  {
8545
8560
  variant: "separated",
@@ -9033,8 +9048,8 @@ var ClaimsList = ({ collectionId, collectionName, deedId, adminAddress, onEvalua
9033
9048
  marginBottom: "1rem"
9034
9049
  }
9035
9050
  },
9036
- /* @__PURE__ */ React79.createElement("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" } }, viewMode === "survey" && /* @__PURE__ */ React79.createElement(ActionIcon12, { variant: "subtle", onClick: handleBackToList }, /* @__PURE__ */ React79.createElement(IconArrowLeft3, { size: 20 })), /* @__PURE__ */ React79.createElement(Title4, { order: 3 }, viewMode === "list" ? `${collectionName} - Claims` : `Evaluate Claim #${selectedClaim?.claimId}`), viewMode === "list" && !loading && claims.length > 0 && /* @__PURE__ */ React79.createElement(Badge8, { size: "lg", variant: "light" }, claims.length)),
9037
- /* @__PURE__ */ React79.createElement(Group22, { gap: "xs" }, viewMode === "list" && /* @__PURE__ */ React79.createElement(ActionIcon12, { variant: "subtle", onClick: fetchClaims, loading, title: "Refresh claims" }, /* @__PURE__ */ React79.createElement(IconRefresh, { size: 18 })), /* @__PURE__ */ React79.createElement(CloseButton, { onClick: closePanel }))
9051
+ /* @__PURE__ */ React79.createElement("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" } }, viewMode === "survey" && /* @__PURE__ */ React79.createElement(ActionIcon13, { variant: "subtle", onClick: handleBackToList }, /* @__PURE__ */ React79.createElement(IconArrowLeft3, { size: 20 })), /* @__PURE__ */ React79.createElement(Title4, { order: 3 }, viewMode === "list" ? `${collectionName} - Claims` : `Evaluate Claim #${selectedClaim?.claimId}`), viewMode === "list" && !loading && claims.length > 0 && /* @__PURE__ */ React79.createElement(Badge8, { size: "lg", variant: "light" }, claims.length)),
9052
+ /* @__PURE__ */ React79.createElement(Group22, { gap: "xs" }, viewMode === "list" && /* @__PURE__ */ React79.createElement(ActionIcon13, { variant: "subtle", onClick: fetchClaims, loading, title: "Refresh claims" }, /* @__PURE__ */ React79.createElement(IconRefresh, { size: 18 })), /* @__PURE__ */ React79.createElement(CloseButton, { onClick: closePanel }))
9038
9053
  ),
9039
9054
  /* @__PURE__ */ React79.createElement(
9040
9055
  "div",
@@ -9146,7 +9161,7 @@ var ClaimListItem = ({ claim, onViewClaim }) => {
9146
9161
  tabIndex: 0,
9147
9162
  style: { cursor: "pointer" }
9148
9163
  },
9149
- /* @__PURE__ */ React79.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React79.createElement(Stack48, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React79.createElement(Text48, { size: "sm", fw: 500 }, "Claim #", claim.claimId), /* @__PURE__ */ React79.createElement(Text48, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(claim.submissionDate || claim.submittedAt)), claim.agentDid && /* @__PURE__ */ React79.createElement(Group22, { gap: 4 }, /* @__PURE__ */ React79.createElement(Text48, { size: "xs", c: "dimmed" }, "Agent: ", loadingProfile ? "Loading..." : displayName), userProfile?.verified && /* @__PURE__ */ React79.createElement(Text48, { size: "xs", c: "blue", fw: 600, title: "Verified user" }, "\u2713"))), /* @__PURE__ */ React79.createElement(Stack48, { gap: 4, align: "flex-end" }, /* @__PURE__ */ React79.createElement(Badge8, { color: claimStatus2.color, size: "sm" }, claimStatus2.label), /* @__PURE__ */ React79.createElement(ActionIcon12, { variant: "subtle", size: "sm" }, /* @__PURE__ */ React79.createElement(IconArrowRight2, { size: 16 }))))
9164
+ /* @__PURE__ */ React79.createElement(ListItemContainer, { isChecked: false }, /* @__PURE__ */ React79.createElement(Stack48, { gap: 4, style: { flex: 1 } }, /* @__PURE__ */ React79.createElement(Text48, { size: "sm", fw: 500 }, "Claim #", claim.claimId), /* @__PURE__ */ React79.createElement(Text48, { size: "xs", c: "dimmed" }, "Submitted: ", formatDate(claim.submissionDate || claim.submittedAt)), claim.agentDid && /* @__PURE__ */ React79.createElement(Group22, { gap: 4 }, /* @__PURE__ */ React79.createElement(Text48, { size: "xs", c: "dimmed" }, "Agent: ", loadingProfile ? "Loading..." : displayName), userProfile?.verified && /* @__PURE__ */ React79.createElement(Text48, { size: "xs", c: "blue", fw: 600, title: "Verified user" }, "\u2713"))), /* @__PURE__ */ React79.createElement(Stack48, { gap: 4, align: "flex-end" }, /* @__PURE__ */ React79.createElement(Badge8, { color: claimStatus2.color, size: "sm" }, claimStatus2.label), /* @__PURE__ */ React79.createElement(ActionIcon13, { variant: "subtle", size: "sm" }, /* @__PURE__ */ React79.createElement(IconArrowRight2, { size: 16 }))))
9150
9165
  );
9151
9166
  };
9152
9167
 
@@ -10037,7 +10052,7 @@ function categorizeResources(linkedResources, services) {
10037
10052
 
10038
10053
  // src/mantine/blocks/list/ListActionsMenu.tsx
10039
10054
  import React92, { useState as useState37 } from "react";
10040
- import { Menu, Text as Text59, ActionIcon as ActionIcon13, Flex as Flex27, Box as Box29, Collapse, Tooltip as Tooltip8 } from "@mantine/core";
10055
+ import { Menu, Text as Text59, ActionIcon as ActionIcon14, Flex as Flex27, Box as Box29, Collapse, Tooltip as Tooltip9 } from "@mantine/core";
10041
10056
  import {
10042
10057
  IconArrowDown,
10043
10058
  IconArrowUp as IconArrowUp2,
@@ -10065,7 +10080,7 @@ var SortRow = ({ opt, value, onChange }) => {
10065
10080
  }
10066
10081
  },
10067
10082
  /* @__PURE__ */ React92.createElement(Flex27, { align: "center", justify: "space-between", gap: "xs" }, /* @__PURE__ */ React92.createElement(
10068
- ActionIcon13,
10083
+ ActionIcon14,
10069
10084
  {
10070
10085
  variant: "subtle",
10071
10086
  size: "xs",
@@ -10093,7 +10108,7 @@ var SortRow = ({ opt, value, onChange }) => {
10093
10108
  },
10094
10109
  opt.label
10095
10110
  ), /* @__PURE__ */ React92.createElement(
10096
- ActionIcon13,
10111
+ ActionIcon14,
10097
10112
  {
10098
10113
  variant: "subtle",
10099
10114
  size: "xs",
@@ -10141,7 +10156,7 @@ var ListActionsMenu = React92.forwardRef(
10141
10156
  }
10142
10157
  }
10143
10158
  },
10144
- /* @__PURE__ */ React92.createElement(Menu.Target, null, /* @__PURE__ */ React92.createElement(Tooltip8, { label: "Actions", withArrow: true }, /* @__PURE__ */ React92.createElement(ActionIcon13, { variant: "subtle", size: "sm", "aria-label": "List actions", title: "List actions" }, /* @__PURE__ */ React92.createElement(IconAdjustmentsHorizontal2, { size: 18 })))),
10159
+ /* @__PURE__ */ React92.createElement(Menu.Target, null, /* @__PURE__ */ React92.createElement(Tooltip9, { label: "Actions", withArrow: true }, /* @__PURE__ */ React92.createElement(ActionIcon14, { variant: "subtle", size: "sm", "aria-label": "List actions", title: "List actions" }, /* @__PURE__ */ React92.createElement(IconAdjustmentsHorizontal2, { size: 18 })))),
10145
10160
  /* @__PURE__ */ React92.createElement(Menu.Dropdown, null, /* @__PURE__ */ React92.createElement(Menu.Label, { onClick: () => setOrderByCollapsed(!orderByCollapsed), style: { cursor: "pointer" } }, /* @__PURE__ */ React92.createElement(Flex27, { align: "center", gap: 10 }, orderByCollapsed ? /* @__PURE__ */ React92.createElement(IconChevronRight, { size: 14 }) : /* @__PURE__ */ React92.createElement(IconChevronDown, { size: 14 }), /* @__PURE__ */ React92.createElement(Text59, { fz: "14" }, "Order By"))), /* @__PURE__ */ React92.createElement(Collapse, { in: !orderByCollapsed }, options.map((opt) => /* @__PURE__ */ React92.createElement(SortRow, { key: opt.key, opt, value, onChange }))), onSearchToggle && /* @__PURE__ */ React92.createElement(React92.Fragment, null, /* @__PURE__ */ React92.createElement(Menu.Divider, null), /* @__PURE__ */ React92.createElement(Menu.Item, { onClick: onSearchToggle, leftSection: /* @__PURE__ */ React92.createElement(IconSearch3, { size: 16 }), "data-active": isSearchActive }, "Search")), /* @__PURE__ */ React92.createElement(Menu.Divider, null), /* @__PURE__ */ React92.createElement(Menu.Item, { leftSection: /* @__PURE__ */ React92.createElement(IconAdjustments, { size: 16 }) }, "Smart Filter"), /* @__PURE__ */ React92.createElement(Menu.Divider, null), /* @__PURE__ */ React92.createElement(Menu.Item, { onClick: () => setIsMultiSelect(!isMultiSelect), leftSection: /* @__PURE__ */ React92.createElement(IconCheckbox2, { size: 16 }) }, "Multi Select"), onDownloadCsv && /* @__PURE__ */ React92.createElement(React92.Fragment, null, /* @__PURE__ */ React92.createElement(Menu.Divider, null), /* @__PURE__ */ React92.createElement(Menu.Item, { onClick: onDownloadCsv, leftSection: /* @__PURE__ */ React92.createElement(IconDownload2, { size: 16 }) }, "Download CSV")))
10146
10161
  ));
10147
10162
  }
@@ -10588,7 +10603,7 @@ var ListFlowView = ({ block, editor }) => {
10588
10603
  if (!listType) {
10589
10604
  return /* @__PURE__ */ React93.createElement(Center9, { py: "xl" }, /* @__PURE__ */ React93.createElement(Text60, { size: "sm", c: "dimmed" }, "List not configured"));
10590
10605
  }
10591
- return /* @__PURE__ */ React93.createElement(Stack59, { w: "100%" }, /* @__PURE__ */ React93.createElement(Flex28, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React93.createElement(Title5, { order: 4 }, getListNameByType(listType)), /* @__PURE__ */ React93.createElement(Tooltip9, { label: opened ? "Collapse" : "Expand", withArrow: true }, /* @__PURE__ */ React93.createElement(ActionIcon14, { variant: "subtle", size: "sm", onClick: toggle, "aria-label": opened ? "Collapse" : "Expand" }, opened ? /* @__PURE__ */ React93.createElement(IconChevronUp, { size: 18 }) : /* @__PURE__ */ React93.createElement(IconChevronDown2, { size: 18 })))), /* @__PURE__ */ React93.createElement(Collapse2, { pb: 5, px: 5, in: opened }, /* @__PURE__ */ React93.createElement(Stack59, { mih: totalPages !== 1 ? 500 : void 0, w: "100%" }, /* @__PURE__ */ React93.createElement(Flex28, { align: "center", gap: "xs" }, listSortConfig?.key && /* @__PURE__ */ React93.createElement(Flex28, { align: "center" }, /* @__PURE__ */ React93.createElement(Text60, { size: "xs" }, listSortConfig.key?.replace(/([A-Z])/g, " $1").replace(
10606
+ return /* @__PURE__ */ React93.createElement(Stack59, { w: "100%" }, /* @__PURE__ */ React93.createElement(Flex28, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React93.createElement(Title5, { order: 4 }, getListNameByType(listType)), /* @__PURE__ */ React93.createElement(Tooltip10, { label: opened ? "Collapse" : "Expand", withArrow: true }, /* @__PURE__ */ React93.createElement(ActionIcon15, { variant: "subtle", size: "sm", onClick: toggle, "aria-label": opened ? "Collapse" : "Expand" }, opened ? /* @__PURE__ */ React93.createElement(IconChevronUp, { size: 18 }) : /* @__PURE__ */ React93.createElement(IconChevronDown2, { size: 18 })))), /* @__PURE__ */ React93.createElement(Collapse2, { pb: 5, px: 5, in: opened }, /* @__PURE__ */ React93.createElement(Stack59, { mih: totalPages !== 1 ? 500 : void 0, w: "100%" }, /* @__PURE__ */ React93.createElement(Flex28, { align: "center", gap: "xs" }, listSortConfig?.key && /* @__PURE__ */ React93.createElement(Flex28, { align: "center" }, /* @__PURE__ */ React93.createElement(Text60, { size: "xs" }, listSortConfig.key?.replace(/([A-Z])/g, " $1").replace(
10592
10607
  /^./,
10593
10608
  (str) => str.toUpperCase()
10594
10609
  ), " "), /* @__PURE__ */ React93.createElement(Text60, { lh: 0.5 }, listSortConfig.direction === "asc" && /* @__PURE__ */ React93.createElement(IconArrowUp3, { size: 18 }), listSortConfig.direction === "desc" && /* @__PURE__ */ React93.createElement(IconArrowDown2, { size: 18 }))), isMultiSelect && /* @__PURE__ */ React93.createElement(Text60, { lh: 0.5 }, "Multi Selection")), /* @__PURE__ */ React93.createElement(Flex28, { justify: "space-between" }, /* @__PURE__ */ React93.createElement(Flex28, { gap: "xs", align: "center" }, /* @__PURE__ */ React93.createElement(FilterTab, { key: "All", label: "All", isActive: !listFilterConfig?.key, onClick: () => handleFilterChange(null) }), Array.isArray(listFilterConfigOptions) && listFilterConfigOptions.length > 0 && listFilterConfigOptions.map(({ key, label, type }) => /* @__PURE__ */ React93.createElement(
@@ -10599,7 +10614,7 @@ var ListFlowView = ({ block, editor }) => {
10599
10614
  isActive: listFilterConfig?.key === key && listFilterConfig?.value === type,
10600
10615
  onClick: () => handleFilterChange({ key, value: type })
10601
10616
  }
10602
- ))), /* @__PURE__ */ React93.createElement(Flex28, { gap: "xs" }, /* @__PURE__ */ React93.createElement(Tooltip9, { label: "Refresh", withArrow: true }, /* @__PURE__ */ React93.createElement(ActionIcon14, { variant: "subtle", size: "sm", onClick: fetchData, loading }, /* @__PURE__ */ React93.createElement(IconRefresh2, { size: 18 }))), editable && /* @__PURE__ */ React93.createElement(Tooltip9, { label: "Settings", withArrow: true }, /* @__PURE__ */ React93.createElement(ActionIcon14, { variant: "subtle", size: "sm", onClick: openPanel }, /* @__PURE__ */ React93.createElement(IconSettings5, { size: 18 }))), listConfig && listSortConfigOptions && listSortConfigOptions?.length > 0 && /* @__PURE__ */ React93.createElement(
10617
+ ))), /* @__PURE__ */ React93.createElement(Flex28, { gap: "xs" }, /* @__PURE__ */ React93.createElement(Tooltip10, { label: "Refresh", withArrow: true }, /* @__PURE__ */ React93.createElement(ActionIcon15, { variant: "subtle", size: "sm", onClick: fetchData, loading }, /* @__PURE__ */ React93.createElement(IconRefresh2, { size: 18 }))), editable && /* @__PURE__ */ React93.createElement(Tooltip10, { label: "Settings", withArrow: true }, /* @__PURE__ */ React93.createElement(ActionIcon15, { variant: "subtle", size: "sm", onClick: openPanel }, /* @__PURE__ */ React93.createElement(IconSettings5, { size: 18 }))), listConfig && listSortConfigOptions && listSortConfigOptions?.length > 0 && /* @__PURE__ */ React93.createElement(
10603
10618
  ListSearchPopover,
10604
10619
  {
10605
10620
  listType,
@@ -10965,7 +10980,7 @@ import { Card as Card12, Stack as Stack94 } from "@mantine/core";
10965
10980
 
10966
10981
  // src/mantine/blocks/proposal/actions-components/ActionsCard.tsx
10967
10982
  import React98 from "react";
10968
- import { Card as Card5, Group as Group27, Text as Text63, Badge as Badge11, Stack as Stack62, ActionIcon as ActionIcon15, ScrollArea as ScrollArea2 } from "@mantine/core";
10983
+ import { Card as Card5, Group as Group27, Text as Text63, Badge as Badge11, Stack as Stack62, ActionIcon as ActionIcon16, ScrollArea as ScrollArea2 } from "@mantine/core";
10969
10984
  var getActionSummary = (action) => {
10970
10985
  switch (action.type) {
10971
10986
  case "Spend":
@@ -11035,7 +11050,7 @@ var ActionsCard = ({ actions, isSelected, onClick, onEditAction, onRemoveAction,
11035
11050
  },
11036
11051
  action.type
11037
11052
  ), /* @__PURE__ */ React98.createElement(Text63, { size: "sm", c: "dimmed" }, getActionSummary(action))), !disabled && /* @__PURE__ */ React98.createElement(Group27, { gap: 4 }, /* @__PURE__ */ React98.createElement(
11038
- ActionIcon15,
11053
+ ActionIcon16,
11039
11054
  {
11040
11055
  size: "sm",
11041
11056
  variant: "subtle",
@@ -11048,7 +11063,7 @@ var ActionsCard = ({ actions, isSelected, onClick, onEditAction, onRemoveAction,
11048
11063
  },
11049
11064
  "\u270F\uFE0F"
11050
11065
  ), /* @__PURE__ */ React98.createElement(
11051
- ActionIcon15,
11066
+ ActionIcon16,
11052
11067
  {
11053
11068
  size: "sm",
11054
11069
  variant: "subtle",
@@ -11125,7 +11140,7 @@ var SpendActionForm = ({ data, onChange }) => {
11125
11140
 
11126
11141
  // src/mantine/blocks/proposal/actions-components/UpdateMembersActionForm.tsx
11127
11142
  import React100, { useState as useState41 } from "react";
11128
- import { Stack as Stack64, Button as Button13, Group as Group28, Text as Text65, Card as Card6, Badge as Badge12, ActionIcon as ActionIcon16, Divider as Divider8, ScrollArea as ScrollArea3 } from "@mantine/core";
11143
+ import { Stack as Stack64, Button as Button13, Group as Group28, Text as Text65, Card as Card6, Badge as Badge12, ActionIcon as ActionIcon17, Divider as Divider8, ScrollArea as ScrollArea3 } from "@mantine/core";
11129
11144
  var UpdateMembersActionForm = ({ data, onChange }) => {
11130
11145
  const [newMember, setNewMember] = useState41({ addr: "", weight: 1 });
11131
11146
  const [newRemoveAddress, setNewRemoveAddress] = useState41("");
@@ -11179,7 +11194,7 @@ var UpdateMembersActionForm = ({ data, onChange }) => {
11179
11194
  },
11180
11195
  "Weight: ",
11181
11196
  member.weight
11182
- )), /* @__PURE__ */ React100.createElement(ActionIcon16, { size: "sm", variant: "subtle", onClick: () => handleRemoveMember(index), style: { color: "var(--mantine-color-red-5)" } }, "\u{1F5D1}\uFE0F"))
11197
+ )), /* @__PURE__ */ React100.createElement(ActionIcon17, { size: "sm", variant: "subtle", onClick: () => handleRemoveMember(index), style: { color: "var(--mantine-color-red-5)" } }, "\u{1F5D1}\uFE0F"))
11183
11198
  )))), /* @__PURE__ */ React100.createElement(Group28, { grow: true }, /* @__PURE__ */ React100.createElement(BaseTextInput, { placeholder: "Member address", value: newMember.addr, onChange: (e) => setNewMember({ ...newMember, addr: e.currentTarget.value }) }), /* @__PURE__ */ React100.createElement(BaseNumberInput, { placeholder: "Weight", value: newMember.weight, onChange: (value) => setNewMember({ ...newMember, weight: Number(value) || 1 }), min: 1 }), /* @__PURE__ */ React100.createElement(
11184
11199
  Button13,
11185
11200
  {
@@ -11204,7 +11219,7 @@ var UpdateMembersActionForm = ({ data, onChange }) => {
11204
11219
  borderColor: "var(--mantine-color-neutralColor-5)"
11205
11220
  }
11206
11221
  },
11207
- /* @__PURE__ */ React100.createElement(Group28, { justify: "space-between" }, /* @__PURE__ */ React100.createElement(Text65, { size: "sm", style: { color: "var(--mantine-color-dimmed)" } }, item.addr.slice(0, 30), "..."), /* @__PURE__ */ React100.createElement(ActionIcon16, { size: "sm", variant: "subtle", onClick: () => handleRemoveRemoveAddress(index), style: { color: "var(--mantine-color-red-5)" } }, "\u{1F5D1}\uFE0F"))
11222
+ /* @__PURE__ */ React100.createElement(Group28, { justify: "space-between" }, /* @__PURE__ */ React100.createElement(Text65, { size: "sm", style: { color: "var(--mantine-color-dimmed)" } }, item.addr.slice(0, 30), "..."), /* @__PURE__ */ React100.createElement(ActionIcon17, { size: "sm", variant: "subtle", onClick: () => handleRemoveRemoveAddress(index), style: { color: "var(--mantine-color-red-5)" } }, "\u{1F5D1}\uFE0F"))
11208
11223
  )))), /* @__PURE__ */ React100.createElement(Group28, { grow: true }, /* @__PURE__ */ React100.createElement(BaseTextInput, { placeholder: "Address to remove", value: newRemoveAddress, onChange: (e) => setNewRemoveAddress(e.currentTarget.value) }), /* @__PURE__ */ React100.createElement(
11209
11224
  Button13,
11210
11225
  {
@@ -13608,7 +13623,7 @@ var useVoteBusinessLogic = ({ block }) => {
13608
13623
 
13609
13624
  // src/mantine/blocks/proposal/flow/VoteGeneralTab.tsx
13610
13625
  import React136, { useState as useState52 } from "react";
13611
- import { Stack as Stack99, Text as Text76, Group as Group42, Card as Card15, Button as Button20, Progress as Progress4, Box as Box31, Tooltip as Tooltip10 } from "@mantine/core";
13626
+ import { Stack as Stack99, Text as Text76, Group as Group42, Card as Card15, Button as Button20, Progress as Progress4, Box as Box31, Tooltip as Tooltip11 } from "@mantine/core";
13612
13627
 
13613
13628
  // src/mantine/blocks/action/actionTypes/governance/_shared/ProposalOverviewCard.tsx
13614
13629
  import React135, { useEffect as useEffect44, useState as useState51 } from "react";
@@ -14151,7 +14166,7 @@ var FlowGeneralTab = ({
14151
14166
  }
14152
14167
  }
14153
14168
  ), /* @__PURE__ */ React136.createElement(Text76, { size: "sm", fw: 500, style: { color: "#ffd43b" } }, isDisabled.message))
14154
- ), /* @__PURE__ */ React136.createElement(Stack99, { gap: "md" }, ["yes", "no", "abstain"].map((voteType) => /* @__PURE__ */ React136.createElement(Tooltip10, { key: voteType, label: disabled ? isDisabled?.message : void 0, disabled: !disabled, position: "top" }, /* @__PURE__ */ React136.createElement(
14169
+ ), /* @__PURE__ */ React136.createElement(Stack99, { gap: "md" }, ["yes", "no", "abstain"].map((voteType) => /* @__PURE__ */ React136.createElement(Tooltip11, { key: voteType, label: disabled ? isDisabled?.message : void 0, disabled: !disabled, position: "top" }, /* @__PURE__ */ React136.createElement(
14155
14170
  Button20,
14156
14171
  {
14157
14172
  variant: "outline",
@@ -14192,7 +14207,7 @@ var FlowGeneralTab = ({
14192
14207
  }
14193
14208
  },
14194
14209
  /* @__PURE__ */ React136.createElement(Stack99, { gap: "xs" }, /* @__PURE__ */ React136.createElement(Text76, { fw: 500, size: "sm", style: { color: "var(--mantine-color-text)" } }, "Proposal Executed"), /* @__PURE__ */ React136.createElement(Text76, { size: "sm", style: { color: "var(--mantine-color-dimmed)" } }, "This proposal has been successfully executed."))
14195
- ), !hasSubmittedProposal && /* @__PURE__ */ React136.createElement(Stack99, { gap: "lg" }, /* @__PURE__ */ React136.createElement(Stack99, { gap: "md" }, ["yes", "no", "abstain"].map((voteType) => /* @__PURE__ */ React136.createElement(Tooltip10, { key: voteType, label: "The proposal must be submitted before you can vote", position: "top" }, /* @__PURE__ */ React136.createElement(
14210
+ ), !hasSubmittedProposal && /* @__PURE__ */ React136.createElement(Stack99, { gap: "lg" }, /* @__PURE__ */ React136.createElement(Stack99, { gap: "md" }, ["yes", "no", "abstain"].map((voteType) => /* @__PURE__ */ React136.createElement(Tooltip11, { key: voteType, label: "The proposal must be submitted before you can vote", position: "top" }, /* @__PURE__ */ React136.createElement(
14196
14211
  Button20,
14197
14212
  {
14198
14213
  variant: "outline",
@@ -14210,7 +14225,7 @@ var FlowGeneralTab = ({
14210
14225
  }
14211
14226
  },
14212
14227
  /* @__PURE__ */ React136.createElement(Text76, { fw: 500, tt: "capitalize", style: { textAlign: "left" } }, voteType)
14213
- ))))), hasSubmittedProposal && !hasVoted && selectedVote && (status === "open" || proposalStatus === "open") && /* @__PURE__ */ React136.createElement(Tooltip10, { label: disabled ? isDisabled?.message : "Sign to vote", position: "top" }, /* @__PURE__ */ React136.createElement("div", null, /* @__PURE__ */ React136.createElement(
14228
+ ))))), hasSubmittedProposal && !hasVoted && selectedVote && (status === "open" || proposalStatus === "open") && /* @__PURE__ */ React136.createElement(Tooltip11, { label: disabled ? isDisabled?.message : "Sign to vote", position: "top" }, /* @__PURE__ */ React136.createElement("div", null, /* @__PURE__ */ React136.createElement(
14214
14229
  Button20,
14215
14230
  {
14216
14231
  size: "sm",
@@ -14707,17 +14722,17 @@ import { IconSettings as IconSettings7, IconCode as IconCode2, IconShieldCheck a
14707
14722
 
14708
14723
  // src/mantine/blocks/apiRequest/template/GeneralTab.tsx
14709
14724
  import React145, { useEffect as useEffect48, useState as useState58 } from "react";
14710
- import { Divider as Divider10, Stack as Stack104, Text as Text81, Button as Button23, Group as Group45, ActionIcon as ActionIcon19, Paper as Paper9 } from "@mantine/core";
14725
+ import { Divider as Divider10, Stack as Stack104, Text as Text81, Button as Button23, Group as Group45, ActionIcon as ActionIcon20, Paper as Paper9 } from "@mantine/core";
14711
14726
  import { IconTrash as IconTrash2, IconPlus as IconPlus3 } from "@tabler/icons-react";
14712
14727
 
14713
14728
  // src/mantine/components/DataInput/DataInput.tsx
14714
14729
  import React144, { useState as useState57, useCallback as useCallback37, useMemo as useMemo48 } from "react";
14715
- import { Input, ActionIcon as ActionIcon18, Tooltip as Tooltip11, Group as Group44 } from "@mantine/core";
14730
+ import { Input, ActionIcon as ActionIcon19, Tooltip as Tooltip12, Group as Group44 } from "@mantine/core";
14716
14731
  import { IconVariable, IconX as IconX9 } from "@tabler/icons-react";
14717
14732
 
14718
14733
  // src/mantine/components/DataInput/BlockPropSelector.tsx
14719
14734
  import React143, { useState as useState56, useMemo as useMemo47 } from "react";
14720
- import { Popover as Popover4, Text as Text80, Stack as Stack103, Group as Group43, ActionIcon as ActionIcon17, TextInput as TextInput5, ScrollArea as ScrollArea5, Badge as Badge17, Box as Box32 } from "@mantine/core";
14735
+ import { Popover as Popover4, Text as Text80, Stack as Stack103, Group as Group43, ActionIcon as ActionIcon18, TextInput as TextInput5, ScrollArea as ScrollArea5, Badge as Badge17, Box as Box32 } from "@mantine/core";
14721
14736
  import { IconSearch as IconSearch4, IconX as IconX8, IconChevronRight as IconChevronRight3, IconArrowLeft as IconArrowLeft4, IconBolt as IconBolt5 } from "@tabler/icons-react";
14722
14737
  var TRIGGER_PAYLOAD_BLOCK_ID = "__trigger__";
14723
14738
  var ITEM_SCOPE_BLOCK_ID = "item";
@@ -14893,7 +14908,7 @@ function BlockPropSelector({ children, opened, onClose, onSelect, editorDocument
14893
14908
  backgroundColor: "#282828"
14894
14909
  }
14895
14910
  },
14896
- /* @__PURE__ */ React143.createElement(Group43, { justify: "space-between", align: "center" }, /* @__PURE__ */ React143.createElement(Group43, { gap: 6 }, (selectedBlock || navigationPath.length > 0) && /* @__PURE__ */ React143.createElement(ActionIcon17, { variant: "subtle", size: "sm", onClick: handleBack, color: "gray", styles: { root: { color: TEXT_DIMMED, "&:hover": { backgroundColor: ITEM_HOVER_BG } } } }, /* @__PURE__ */ React143.createElement(IconArrowLeft4, { size: 14 })), /* @__PURE__ */ React143.createElement(Stack103, { gap: 0 }, /* @__PURE__ */ React143.createElement(Text80, { size: "sm", fw: 500, c: TEXT_PRIMARY, style: { letterSpacing: "0.2px" } }, headerTitle), headerSubtitle && /* @__PURE__ */ React143.createElement(Text80, { size: "xs", c: TEXT_DIMMED }, headerSubtitle))), /* @__PURE__ */ React143.createElement(ActionIcon17, { variant: "subtle", size: "sm", onClick: handleClose, styles: { root: { color: TEXT_DIMMED, "&:hover": { backgroundColor: ITEM_HOVER_BG } } } }, /* @__PURE__ */ React143.createElement(IconX8, { size: 14 })))
14911
+ /* @__PURE__ */ React143.createElement(Group43, { justify: "space-between", align: "center" }, /* @__PURE__ */ React143.createElement(Group43, { gap: 6 }, (selectedBlock || navigationPath.length > 0) && /* @__PURE__ */ React143.createElement(ActionIcon18, { variant: "subtle", size: "sm", onClick: handleBack, color: "gray", styles: { root: { color: TEXT_DIMMED, "&:hover": { backgroundColor: ITEM_HOVER_BG } } } }, /* @__PURE__ */ React143.createElement(IconArrowLeft4, { size: 14 })), /* @__PURE__ */ React143.createElement(Stack103, { gap: 0 }, /* @__PURE__ */ React143.createElement(Text80, { size: "sm", fw: 500, c: TEXT_PRIMARY, style: { letterSpacing: "0.2px" } }, headerTitle), headerSubtitle && /* @__PURE__ */ React143.createElement(Text80, { size: "xs", c: TEXT_DIMMED }, headerSubtitle))), /* @__PURE__ */ React143.createElement(ActionIcon18, { variant: "subtle", size: "sm", onClick: handleClose, styles: { root: { color: TEXT_DIMMED, "&:hover": { backgroundColor: ITEM_HOVER_BG } } } }, /* @__PURE__ */ React143.createElement(IconX8, { size: 14 })))
14897
14912
  ),
14898
14913
  !selectedBlock && /* @__PURE__ */ React143.createElement(Box32, { px: "md", py: "xs", style: { borderBottom: `1px solid ${BORDER_COLOR}` } }, /* @__PURE__ */ React143.createElement(
14899
14914
  TextInput5,
@@ -14903,7 +14918,7 @@ function BlockPropSelector({ children, opened, onClose, onSelect, editorDocument
14903
14918
  value: searchQuery,
14904
14919
  onChange: (e) => setSearchQuery(e.currentTarget.value),
14905
14920
  size: "xs",
14906
- rightSection: searchQuery ? /* @__PURE__ */ React143.createElement(ActionIcon17, { variant: "subtle", size: "xs", onClick: () => setSearchQuery(""), styles: { root: { color: TEXT_DIMMED } } }, /* @__PURE__ */ React143.createElement(IconX8, { size: 12 })) : null,
14921
+ rightSection: searchQuery ? /* @__PURE__ */ React143.createElement(ActionIcon18, { variant: "subtle", size: "xs", onClick: () => setSearchQuery(""), styles: { root: { color: TEXT_DIMMED } } }, /* @__PURE__ */ React143.createElement(IconX8, { size: 12 })) : null,
14907
14922
  styles: {
14908
14923
  input: {
14909
14924
  backgroundColor: "var(--mantine-color-neutralColor-3)",
@@ -15030,7 +15045,7 @@ function DataInput({
15030
15045
  },
15031
15046
  rightSectionPointerEvents: "all",
15032
15047
  rightSectionWidth: containsReferences ? 52 : 28,
15033
- rightSection: /* @__PURE__ */ React144.createElement(Group44, { gap: 2, wrap: "nowrap" }, containsReferences && /* @__PURE__ */ React144.createElement(Tooltip11, { label: "Clear references", position: "top" }, /* @__PURE__ */ React144.createElement(ActionIcon18, { variant: "subtle", color: "gray", onClick: handleClearReferences, size: "xs" }, /* @__PURE__ */ React144.createElement(IconX9, { size: 12 }))), /* @__PURE__ */ React144.createElement(
15048
+ rightSection: /* @__PURE__ */ React144.createElement(Group44, { gap: 2, wrap: "nowrap" }, containsReferences && /* @__PURE__ */ React144.createElement(Tooltip12, { label: "Clear references", position: "top" }, /* @__PURE__ */ React144.createElement(ActionIcon19, { variant: "subtle", color: "gray", onClick: handleClearReferences, size: "xs" }, /* @__PURE__ */ React144.createElement(IconX9, { size: 12 }))), /* @__PURE__ */ React144.createElement(
15034
15049
  BlockPropSelector,
15035
15050
  {
15036
15051
  opened: selectorOpened,
@@ -15040,7 +15055,7 @@ function DataInput({
15040
15055
  currentBlockId,
15041
15056
  itemScope
15042
15057
  },
15043
- /* @__PURE__ */ React144.createElement(Tooltip11, { label: containsReferences ? "Add another reference" : "Insert block reference", position: "top" }, /* @__PURE__ */ React144.createElement(ActionIcon18, { variant: "subtle", color: containsReferences ? "teal" : "gray", onClick: handleOpenSelector, disabled, size: "xs" }, /* @__PURE__ */ React144.createElement(IconVariable, { size: 14 })))
15058
+ /* @__PURE__ */ React144.createElement(Tooltip12, { label: containsReferences ? "Add another reference" : "Insert block reference", position: "top" }, /* @__PURE__ */ React144.createElement(ActionIcon19, { variant: "subtle", color: containsReferences ? "teal" : "gray", onClick: handleOpenSelector, disabled, size: "xs" }, /* @__PURE__ */ React144.createElement(IconVariable, { size: 14 })))
15044
15059
  ))
15045
15060
  }
15046
15061
  )
@@ -15183,7 +15198,7 @@ var GeneralTab5 = ({
15183
15198
  currentBlockId: blockId,
15184
15199
  size: "sm"
15185
15200
  }
15186
- ), /* @__PURE__ */ React145.createElement(ActionIcon19, { color: "red", variant: "subtle", onClick: () => handleRemoveHeader(index) }, /* @__PURE__ */ React145.createElement(IconTrash2, { size: 16 }))))))), /* @__PURE__ */ React145.createElement(Divider10, { variant: "dashed" }), /* @__PURE__ */ React145.createElement(Stack104, { gap: "xs" }, /* @__PURE__ */ React145.createElement(Group45, { justify: "space-between" }, /* @__PURE__ */ React145.createElement(Text81, { size: "sm", fw: 600 }, "Request Body (JSON)"), /* @__PURE__ */ React145.createElement(Button23, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React145.createElement(IconPlus3, { size: 14 }), onClick: handleAddBodyField }, "Add Field")), /* @__PURE__ */ React145.createElement(Text81, { size: "xs" }, "Build your JSON request body as key-value pairs"), localBody.length > 0 && /* @__PURE__ */ React145.createElement(Stack104, { gap: "xs" }, localBody.map((field, index) => /* @__PURE__ */ React145.createElement(Paper9, { key: index, p: "xs" }, /* @__PURE__ */ React145.createElement(Group45, { gap: "xs", align: "flex-start" }, /* @__PURE__ */ React145.createElement(
15201
+ ), /* @__PURE__ */ React145.createElement(ActionIcon20, { color: "red", variant: "subtle", onClick: () => handleRemoveHeader(index) }, /* @__PURE__ */ React145.createElement(IconTrash2, { size: 16 }))))))), /* @__PURE__ */ React145.createElement(Divider10, { variant: "dashed" }), /* @__PURE__ */ React145.createElement(Stack104, { gap: "xs" }, /* @__PURE__ */ React145.createElement(Group45, { justify: "space-between" }, /* @__PURE__ */ React145.createElement(Text81, { size: "sm", fw: 600 }, "Request Body (JSON)"), /* @__PURE__ */ React145.createElement(Button23, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React145.createElement(IconPlus3, { size: 14 }), onClick: handleAddBodyField }, "Add Field")), /* @__PURE__ */ React145.createElement(Text81, { size: "xs" }, "Build your JSON request body as key-value pairs"), localBody.length > 0 && /* @__PURE__ */ React145.createElement(Stack104, { gap: "xs" }, localBody.map((field, index) => /* @__PURE__ */ React145.createElement(Paper9, { key: index, p: "xs" }, /* @__PURE__ */ React145.createElement(Group45, { gap: "xs", align: "flex-start" }, /* @__PURE__ */ React145.createElement(
15187
15202
  DataInput,
15188
15203
  {
15189
15204
  placeholder: "Field key (e.g., name)",
@@ -15203,12 +15218,12 @@ var GeneralTab5 = ({
15203
15218
  currentBlockId: blockId,
15204
15219
  size: "sm"
15205
15220
  }
15206
- ), /* @__PURE__ */ React145.createElement(ActionIcon19, { color: "red", variant: "subtle", onClick: () => handleRemoveBodyField(index) }, /* @__PURE__ */ React145.createElement(IconTrash2, { size: 16 }))))))));
15221
+ ), /* @__PURE__ */ React145.createElement(ActionIcon20, { color: "red", variant: "subtle", onClick: () => handleRemoveBodyField(index) }, /* @__PURE__ */ React145.createElement(IconTrash2, { size: 16 }))))))));
15207
15222
  };
15208
15223
 
15209
15224
  // src/mantine/blocks/apiRequest/template/ResponseSchemaTab.tsx
15210
15225
  import React146 from "react";
15211
- import { Stack as Stack105, Text as Text82, Button as Button24, Group as Group46, ActionIcon as ActionIcon20, Paper as Paper10, Alert as Alert19, Code as Code2 } from "@mantine/core";
15226
+ import { Stack as Stack105, Text as Text82, Button as Button24, Group as Group46, ActionIcon as ActionIcon21, Paper as Paper10, Alert as Alert19, Code as Code2 } from "@mantine/core";
15212
15227
  import { IconTrash as IconTrash3, IconPlus as IconPlus4, IconInfoCircle as IconInfoCircle2 } from "@tabler/icons-react";
15213
15228
  var ResponseSchemaTab = ({ schema, onSchemaChange, blockId }) => {
15214
15229
  const fields = schema?.fields || [];
@@ -15233,7 +15248,7 @@ var ResponseSchemaTab = ({ schema, onSchemaChange, blockId }) => {
15233
15248
  newFields[index] = { ...newFields[index], [key]: value };
15234
15249
  onSchemaChange({ fields: newFields });
15235
15250
  };
15236
- return /* @__PURE__ */ React146.createElement(Stack105, { gap: "lg" }, /* @__PURE__ */ React146.createElement(Alert19, { icon: /* @__PURE__ */ React146.createElement(IconInfoCircle2, { size: 16 }), title: "Response Schema", color: "blue" }, /* @__PURE__ */ React146.createElement(Text82, { size: "xs" }, "Define the expected structure of your API response. This allows other blocks to reference specific fields from the response data using the DataInput component.")), /* @__PURE__ */ React146.createElement(Stack105, { gap: "xs" }, /* @__PURE__ */ React146.createElement(Text82, { size: "sm", fw: 600 }, "How it works"), /* @__PURE__ */ React146.createElement(Text82, { size: "xs", c: "dimmed" }, "1. Define response fields using dot notation (e.g., ", /* @__PURE__ */ React146.createElement(Code2, null, "customer.email"), ")"), /* @__PURE__ */ React146.createElement(Text82, { size: "xs", c: "dimmed" }, "2. Fields become available in DataInput selectors across other blocks"), /* @__PURE__ */ React146.createElement(Text82, { size: "xs", c: "dimmed" }, "3. Reference them like: ", /* @__PURE__ */ React146.createElement(Code2, null, `{{${blockId}.response.customer.email}}`))), /* @__PURE__ */ React146.createElement(Stack105, { gap: "xs" }, /* @__PURE__ */ React146.createElement(Group46, { justify: "space-between" }, /* @__PURE__ */ React146.createElement(Text82, { size: "sm", fw: 600 }, "Response Fields"), /* @__PURE__ */ React146.createElement(Button24, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React146.createElement(IconPlus4, { size: 14 }), onClick: handleAddField }, "Add Field")), fields.length === 0 ? /* @__PURE__ */ React146.createElement(Code2, { p: "md" }, 'No response fields defined yet. Click "Add Field" to start defining your response structure.') : /* @__PURE__ */ React146.createElement(Stack105, { gap: "md" }, fields.map((field, index) => /* @__PURE__ */ React146.createElement(Paper10, { key: index, p: "md", withBorder: true }, /* @__PURE__ */ React146.createElement(Stack105, { gap: "sm" }, /* @__PURE__ */ React146.createElement(Group46, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React146.createElement(Text82, { size: "sm", fw: 500 }, "Field ", index + 1), /* @__PURE__ */ React146.createElement(ActionIcon20, { color: "red", variant: "subtle", onClick: () => handleRemoveField(index) }, /* @__PURE__ */ React146.createElement(IconTrash3, { size: 16 }))), /* @__PURE__ */ React146.createElement(
15251
+ return /* @__PURE__ */ React146.createElement(Stack105, { gap: "lg" }, /* @__PURE__ */ React146.createElement(Alert19, { icon: /* @__PURE__ */ React146.createElement(IconInfoCircle2, { size: 16 }), title: "Response Schema", color: "blue" }, /* @__PURE__ */ React146.createElement(Text82, { size: "xs" }, "Define the expected structure of your API response. This allows other blocks to reference specific fields from the response data using the DataInput component.")), /* @__PURE__ */ React146.createElement(Stack105, { gap: "xs" }, /* @__PURE__ */ React146.createElement(Text82, { size: "sm", fw: 600 }, "How it works"), /* @__PURE__ */ React146.createElement(Text82, { size: "xs", c: "dimmed" }, "1. Define response fields using dot notation (e.g., ", /* @__PURE__ */ React146.createElement(Code2, null, "customer.email"), ")"), /* @__PURE__ */ React146.createElement(Text82, { size: "xs", c: "dimmed" }, "2. Fields become available in DataInput selectors across other blocks"), /* @__PURE__ */ React146.createElement(Text82, { size: "xs", c: "dimmed" }, "3. Reference them like: ", /* @__PURE__ */ React146.createElement(Code2, null, `{{${blockId}.response.customer.email}}`))), /* @__PURE__ */ React146.createElement(Stack105, { gap: "xs" }, /* @__PURE__ */ React146.createElement(Group46, { justify: "space-between" }, /* @__PURE__ */ React146.createElement(Text82, { size: "sm", fw: 600 }, "Response Fields"), /* @__PURE__ */ React146.createElement(Button24, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React146.createElement(IconPlus4, { size: 14 }), onClick: handleAddField }, "Add Field")), fields.length === 0 ? /* @__PURE__ */ React146.createElement(Code2, { p: "md" }, 'No response fields defined yet. Click "Add Field" to start defining your response structure.') : /* @__PURE__ */ React146.createElement(Stack105, { gap: "md" }, fields.map((field, index) => /* @__PURE__ */ React146.createElement(Paper10, { key: index, p: "md", withBorder: true }, /* @__PURE__ */ React146.createElement(Stack105, { gap: "sm" }, /* @__PURE__ */ React146.createElement(Group46, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React146.createElement(Text82, { size: "sm", fw: 500 }, "Field ", index + 1), /* @__PURE__ */ React146.createElement(ActionIcon21, { color: "red", variant: "subtle", onClick: () => handleRemoveField(index) }, /* @__PURE__ */ React146.createElement(IconTrash3, { size: 16 }))), /* @__PURE__ */ React146.createElement(
15237
15252
  BaseTextInput,
15238
15253
  {
15239
15254
  label: "Field Path",
@@ -15543,7 +15558,7 @@ var ApiRequestFlowView = ({ editor, block, isDisabled }) => {
15543
15558
  [editor, block, disabled, isDisabled?.message]
15544
15559
  );
15545
15560
  const panelContent = useMemo51(
15546
- () => /* @__PURE__ */ React149.createElement(BaseRightPanelLayout, { stepTabs: true, onClose: closePanel, title: "API Request Settings", tabs, context: { editor, block } }),
15561
+ () => /* @__PURE__ */ React149.createElement(BaseRightPanelLayout, { stepTabs: true, showSettings: false, onClose: closePanel, title: "API Request Settings", tabs, context: { editor, block } }),
15547
15562
  [tabs, editor, block, closePanel]
15548
15563
  );
15549
15564
  const { open } = usePanel(panelId, panelContent);
@@ -15784,7 +15799,7 @@ import { createReactBlockSpec as createReactBlockSpec7 } from "@blocknote/react"
15784
15799
 
15785
15800
  // src/mantine/blocks/dynamicList/DynamicListBlock.tsx
15786
15801
  import React153, { useMemo as useMemo53, useState as useState61, useCallback as useCallback39, useEffect as useEffect49, useRef as useRef12 } from "react";
15787
- import { Box as Box34, Stack as Stack109, Text as Text86, Paper as Paper12, Group as Group50, Button as Button26, ActionIcon as ActionIcon21, Tooltip as Tooltip12, Code as Code5, Flex as Flex29, Collapse as Collapse5, Title as Title6, Badge as Badge20, TextInput as TextInput6, CloseButton as CloseButton3, Select as Select3, Menu as Menu2 } from "@mantine/core";
15802
+ import { Box as Box34, Stack as Stack109, Text as Text86, Paper as Paper12, Group as Group50, Button as Button26, ActionIcon as ActionIcon22, Tooltip as Tooltip13, Code as Code5, Flex as Flex29, Collapse as Collapse5, Title as Title6, Badge as Badge20, TextInput as TextInput6, CloseButton as CloseButton3, Select as Select3, Menu as Menu2 } from "@mantine/core";
15788
15803
  import { useDisclosure as useDisclosure5 } from "@mantine/hooks";
15789
15804
  import {
15790
15805
  IconCamera,
@@ -16236,7 +16251,7 @@ function DynamicListBlock({ block, editor }) {
16236
16251
  if (!listId) {
16237
16252
  return /* @__PURE__ */ React153.createElement(Paper12, { p: "xl", withBorder: true, w: "100%", radius: "lg" }, /* @__PURE__ */ React153.createElement(Stack109, { align: "center", gap: "sm" }, /* @__PURE__ */ React153.createElement(IconDatabase2, { size: 32, color: "var(--mantine-color-dimmed)" }), /* @__PURE__ */ React153.createElement(Text86, { fz: "18", ta: "center" }, "Dynamic List Block"), /* @__PURE__ */ React153.createElement(Text86, { fz: "sm", c: "dimmed", ta: "center" }, "This block will display dynamic data from AG-UI.", /* @__PURE__ */ React153.createElement("br", null), "Add a list from the AG-UI Canvas to populate it.")));
16238
16253
  }
16239
- return /* @__PURE__ */ React153.createElement(Stack109, { w: "100%" }, /* @__PURE__ */ React153.createElement(Flex29, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React153.createElement(Title6, { order: 4 }, title || "Dynamic List"), /* @__PURE__ */ React153.createElement(ActionIcon21, { variant: "subtle", size: "sm", onClick: toggle, "aria-label": opened ? "Collapse" : "Expand" }, opened ? /* @__PURE__ */ React153.createElement(IconChevronUp2, { size: 18 }) : /* @__PURE__ */ React153.createElement(IconChevronDown5, { size: 18 }))), /* @__PURE__ */ React153.createElement(Collapse5, { in: showInfo }, /* @__PURE__ */ React153.createElement(
16254
+ return /* @__PURE__ */ React153.createElement(Stack109, { w: "100%" }, /* @__PURE__ */ React153.createElement(Flex29, { px: 5, align: "center", justify: "space-between" }, /* @__PURE__ */ React153.createElement(Title6, { order: 4 }, title || "Dynamic List"), /* @__PURE__ */ React153.createElement(ActionIcon22, { variant: "subtle", size: "sm", onClick: toggle, "aria-label": opened ? "Collapse" : "Expand" }, opened ? /* @__PURE__ */ React153.createElement(IconChevronUp2, { size: 18 }) : /* @__PURE__ */ React153.createElement(IconChevronDown5, { size: 18 }))), /* @__PURE__ */ React153.createElement(Collapse5, { in: showInfo }, /* @__PURE__ */ React153.createElement(
16240
16255
  Box34,
16241
16256
  {
16242
16257
  mx: 5,
@@ -16248,7 +16263,7 @@ function DynamicListBlock({ block, editor }) {
16248
16263
  border: "1px solid var(--mantine-color-dark-4)"
16249
16264
  }
16250
16265
  },
16251
- /* @__PURE__ */ React153.createElement(Flex29, { justify: "space-between", align: "flex-start", mb: "xs" }, /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React153.createElement(IconInfoCircle3, { size: 14, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", fw: 500, c: "dimmed" }, "Data Source")), /* @__PURE__ */ React153.createElement(ActionIcon21, { variant: "subtle", size: "xs", onClick: () => setShowInfo(false), "aria-label": "Close info" }, /* @__PURE__ */ React153.createElement(IconX10, { size: 14 }))),
16266
+ /* @__PURE__ */ React153.createElement(Flex29, { justify: "space-between", align: "flex-start", mb: "xs" }, /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React153.createElement(IconInfoCircle3, { size: 14, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", fw: 500, c: "dimmed" }, "Data Source")), /* @__PURE__ */ React153.createElement(ActionIcon22, { variant: "subtle", size: "xs", onClick: () => setShowInfo(false), "aria-label": "Close info" }, /* @__PURE__ */ React153.createElement(IconX10, { size: 14 }))),
16252
16267
  /* @__PURE__ */ React153.createElement(Stack109, { gap: 6 }, parsedDataSource?.oracleName && /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "dimmed", w: 70 }, "Oracle:"), /* @__PURE__ */ React153.createElement(Text86, { fz: "xs" }, parsedDataSource.oracleName)), parsedDataSource?.oracleDid && /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "dimmed", w: 70 }, "DID:"), /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", style: { wordBreak: "break-all" } }, parsedDataSource.oracleDid)), parsedDataSource?.toolName && /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "dimmed", w: 70 }, "Tool:"), /* @__PURE__ */ React153.createElement(Text86, { fz: "xs" }, parsedDataSource.toolName)), parsedDataSource?.query && /* @__PURE__ */ React153.createElement(Box34, null, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "dimmed", mb: 4 }, "Query:"), /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", style: { whiteSpace: "pre-wrap" } }, parsedDataSource.query)), parsedDataSource?.description && /* @__PURE__ */ React153.createElement(Box34, null, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "dimmed", mb: 4 }, "Description:"), /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", fs: "italic" }, parsedDataSource.description)), parsedDataSource?.params && Object.keys(parsedDataSource.params).length > 0 && /* @__PURE__ */ React153.createElement(Box34, null, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "dimmed", mb: 4 }, "Params:"), /* @__PURE__ */ React153.createElement(Code5, { block: true, style: { fontSize: "11px", whiteSpace: "pre-wrap" } }, JSON.stringify(parsedDataSource.params, null, 2))))
16253
16268
  )), /* @__PURE__ */ React153.createElement(Collapse5, { pb: 5, px: 5, in: opened }, /* @__PURE__ */ React153.createElement(Stack109, { w: "100%" }, /* @__PURE__ */ React153.createElement(Collapse5, { in: showSearch }, /* @__PURE__ */ React153.createElement(Flex29, { gap: "xs", align: "center" }, /* @__PURE__ */ React153.createElement(
16254
16269
  TextInput6,
@@ -16271,7 +16286,7 @@ function DynamicListBlock({ block, editor }) {
16271
16286
  }
16272
16287
  }
16273
16288
  }
16274
- ), /* @__PURE__ */ React153.createElement(ActionIcon21, { variant: "subtle", size: "sm", onClick: handleSearchToggle, "aria-label": "Close search", title: "Close search" }, /* @__PURE__ */ React153.createElement(IconChevronUp2, { size: 16 })))), sortConfig && /* @__PURE__ */ React153.createElement(Flex29, { align: "center", gap: "xs" }, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "dimmed" }, "Sorted by ", parsedColumns.find((c) => c.key === sortConfig.key)?.label || sortConfig.key), sortConfig.direction === "asc" ? /* @__PURE__ */ React153.createElement(IconArrowUp4, { size: 14 }) : /* @__PURE__ */ React153.createElement(IconArrowDown3, { size: 14 })), hasData && /* @__PURE__ */ React153.createElement(Flex29, { justify: "space-between", align: "center" }, /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text86, { fz: "sm", c: "dimmed" }, totalItems, " ", totalItems === 1 ? "item" : "items", searchQuery && rawData && ` of ${rawData.length}`, selectedIds.size > 0 && ` \u2022 ${selectedIds.size} selected`), useSnapshot && snapshotTimestamp && /* @__PURE__ */ React153.createElement(Tooltip12, { label: `Snapshot from ${new Date(snapshotTimestamp).toLocaleString()}` }, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "yellow", style: { cursor: "help" } }, "(snapshot)")), useSnapshot && !snapshotTimestamp && /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "yellow" }, "(snapshot)"), !useSnapshot && /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "green" }, "(live)")), /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, editable && /* @__PURE__ */ React153.createElement(React153.Fragment, null, useSnapshot && liveData.items && liveData.items.length > 0 && /* @__PURE__ */ React153.createElement(Button26, { size: "compact-xs", variant: "subtle", onClick: handleUseLiveData, leftSection: /* @__PURE__ */ React153.createElement(IconRefresh3, { size: 12 }) }, "Use Live"), !useSnapshot && hasSnapshot && /* @__PURE__ */ React153.createElement(Button26, { size: "compact-xs", variant: "subtle", onClick: handleUseSnapshot, leftSection: /* @__PURE__ */ React153.createElement(IconCamera, { size: 12 }) }, "Use Snapshot"), !useSnapshot && liveData.items && liveData.items.length > 0 && /* @__PURE__ */ React153.createElement(Tooltip12, { label: "Save current data as snapshot" }, /* @__PURE__ */ React153.createElement(ActionIcon21, { variant: "subtle", size: "sm", onClick: handleSaveSnapshot }, /* @__PURE__ */ React153.createElement(IconCamera, { size: 16 })))), /* @__PURE__ */ React153.createElement(
16289
+ ), /* @__PURE__ */ React153.createElement(ActionIcon22, { variant: "subtle", size: "sm", onClick: handleSearchToggle, "aria-label": "Close search", title: "Close search" }, /* @__PURE__ */ React153.createElement(IconChevronUp2, { size: 16 })))), sortConfig && /* @__PURE__ */ React153.createElement(Flex29, { align: "center", gap: "xs" }, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "dimmed" }, "Sorted by ", parsedColumns.find((c) => c.key === sortConfig.key)?.label || sortConfig.key), sortConfig.direction === "asc" ? /* @__PURE__ */ React153.createElement(IconArrowUp4, { size: 14 }) : /* @__PURE__ */ React153.createElement(IconArrowDown3, { size: 14 })), hasData && /* @__PURE__ */ React153.createElement(Flex29, { justify: "space-between", align: "center" }, /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, /* @__PURE__ */ React153.createElement(Text86, { fz: "sm", c: "dimmed" }, totalItems, " ", totalItems === 1 ? "item" : "items", searchQuery && rawData && ` of ${rawData.length}`, selectedIds.size > 0 && ` \u2022 ${selectedIds.size} selected`), useSnapshot && snapshotTimestamp && /* @__PURE__ */ React153.createElement(Tooltip13, { label: `Snapshot from ${new Date(snapshotTimestamp).toLocaleString()}` }, /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "yellow", style: { cursor: "help" } }, "(snapshot)")), useSnapshot && !snapshotTimestamp && /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "yellow" }, "(snapshot)"), !useSnapshot && /* @__PURE__ */ React153.createElement(Text86, { fz: "xs", c: "green" }, "(live)")), /* @__PURE__ */ React153.createElement(Group50, { gap: "xs" }, editable && /* @__PURE__ */ React153.createElement(React153.Fragment, null, useSnapshot && liveData.items && liveData.items.length > 0 && /* @__PURE__ */ React153.createElement(Button26, { size: "compact-xs", variant: "subtle", onClick: handleUseLiveData, leftSection: /* @__PURE__ */ React153.createElement(IconRefresh3, { size: 12 }) }, "Use Live"), !useSnapshot && hasSnapshot && /* @__PURE__ */ React153.createElement(Button26, { size: "compact-xs", variant: "subtle", onClick: handleUseSnapshot, leftSection: /* @__PURE__ */ React153.createElement(IconCamera, { size: 12 }) }, "Use Snapshot"), !useSnapshot && liveData.items && liveData.items.length > 0 && /* @__PURE__ */ React153.createElement(Tooltip13, { label: "Save current data as snapshot" }, /* @__PURE__ */ React153.createElement(ActionIcon22, { variant: "subtle", size: "sm", onClick: handleSaveSnapshot }, /* @__PURE__ */ React153.createElement(IconCamera, { size: 16 })))), /* @__PURE__ */ React153.createElement(
16275
16290
  Menu2,
16276
16291
  {
16277
16292
  shadow: "md",
@@ -16299,7 +16314,7 @@ function DynamicListBlock({ block, editor }) {
16299
16314
  }
16300
16315
  }
16301
16316
  },
16302
- /* @__PURE__ */ React153.createElement(Menu2.Target, null, /* @__PURE__ */ React153.createElement(ActionIcon21, { variant: "subtle", size: "sm", "aria-label": "List actions", title: "List actions" }, /* @__PURE__ */ React153.createElement(IconAdjustmentsHorizontal3, { size: 18 }))),
16317
+ /* @__PURE__ */ React153.createElement(Menu2.Target, null, /* @__PURE__ */ React153.createElement(ActionIcon22, { variant: "subtle", size: "sm", "aria-label": "List actions", title: "List actions" }, /* @__PURE__ */ React153.createElement(IconAdjustmentsHorizontal3, { size: 18 }))),
16303
16318
  /* @__PURE__ */ React153.createElement(Menu2.Dropdown, null, sortOptions.length > 0 && /* @__PURE__ */ React153.createElement(React153.Fragment, null, /* @__PURE__ */ React153.createElement(Menu2.Label, { onClick: () => setOrderByCollapsed(!orderByCollapsed), style: { cursor: "pointer" } }, /* @__PURE__ */ React153.createElement(Flex29, { align: "center", gap: 10 }, orderByCollapsed ? /* @__PURE__ */ React153.createElement(IconChevronRight5, { size: 14 }) : /* @__PURE__ */ React153.createElement(IconChevronDown5, { size: 14 }), /* @__PURE__ */ React153.createElement(Text86, { fz: "14" }, "Order By"))), /* @__PURE__ */ React153.createElement(Collapse5, { in: !orderByCollapsed }, sortOptions.map((opt) => {
16304
16319
  const isAscActive = sortConfig?.key === opt.key && sortConfig?.direction === "asc";
16305
16320
  const isDescActive = sortConfig?.key === opt.key && sortConfig?.direction === "desc";
@@ -16317,7 +16332,7 @@ function DynamicListBlock({ block, editor }) {
16317
16332
  }
16318
16333
  },
16319
16334
  /* @__PURE__ */ React153.createElement(Flex29, { align: "center", justify: "space-between", gap: "xs" }, /* @__PURE__ */ React153.createElement(
16320
- ActionIcon21,
16335
+ ActionIcon22,
16321
16336
  {
16322
16337
  variant: "subtle",
16323
16338
  size: "xs",
@@ -16335,7 +16350,7 @@ function DynamicListBlock({ block, editor }) {
16335
16350
  },
16336
16351
  /* @__PURE__ */ React153.createElement(IconArrowUp4, { size: 14 })
16337
16352
  ), /* @__PURE__ */ React153.createElement(Text86, { fz: "sm", style: { flex: 1, textAlign: "center" } }, opt.label), /* @__PURE__ */ React153.createElement(
16338
- ActionIcon21,
16353
+ ActionIcon22,
16339
16354
  {
16340
16355
  variant: "subtle",
16341
16356
  size: "xs",
@@ -16458,7 +16473,7 @@ import { IconPlus as IconPlus5, IconMail as IconMail4, IconLink as IconLink3 } f
16458
16473
 
16459
16474
  // src/mantine/components/HookedActionsTab/ActionInstanceCard.tsx
16460
16475
  import React155, { useCallback as useCallback40, useState as useState62, useEffect as useEffect50 } from "react";
16461
- import { Card as Card18, Stack as Stack110, Group as Group51, Text as Text87, ActionIcon as ActionIcon22, Switch as Switch4, Badge as Badge21, Divider as Divider13, Loader as Loader22 } from "@mantine/core";
16476
+ import { Card as Card18, Stack as Stack110, Group as Group51, Text as Text87, ActionIcon as ActionIcon23, Switch as Switch4, Badge as Badge21, Divider as Divider13, Loader as Loader22 } from "@mantine/core";
16462
16477
  import { IconTrash as IconTrash4, IconMail as IconMail3, IconLink as IconLink2 } from "@tabler/icons-react";
16463
16478
 
16464
16479
  // src/mantine/blocks/email/utils/extractHandlebars.ts
@@ -16663,7 +16678,7 @@ var ActionInstanceCard = ({ instance, actionType, payloadFields, availableBlocks
16663
16678
  }
16664
16679
  }
16665
16680
  }
16666
- ), /* @__PURE__ */ React155.createElement(ActionIcon22, { variant: "subtle", color: "red", size: "sm", onClick: onRemove, style: { color: "var(--mantine-color-red-5)" } }, /* @__PURE__ */ React155.createElement(IconTrash4, { size: 14 })))), /* @__PURE__ */ React155.createElement(Stack110, { gap: "sm" }, actionType.configSchema.map(renderConfigField)), instance.type === "sendEmail" && instance.config.templateName && /* @__PURE__ */ React155.createElement(React155.Fragment, null, /* @__PURE__ */ React155.createElement(Divider13, { color: "var(--mantine-color-neutralColor-4)" }), /* @__PURE__ */ React155.createElement(Stack110, { gap: "sm" }, /* @__PURE__ */ React155.createElement(Group51, { justify: "space-between", align: "center" }, /* @__PURE__ */ React155.createElement(Text87, { size: "sm", fw: 500, c: "var(--mantine-color-text)", style: { opacity: 0.7 } }, "Template Variables"), templateVariables.length > 0 && /* @__PURE__ */ React155.createElement(
16681
+ ), /* @__PURE__ */ React155.createElement(ActionIcon23, { variant: "subtle", color: "red", size: "sm", onClick: onRemove, style: { color: "var(--mantine-color-red-5)" } }, /* @__PURE__ */ React155.createElement(IconTrash4, { size: 14 })))), /* @__PURE__ */ React155.createElement(Stack110, { gap: "sm" }, actionType.configSchema.map(renderConfigField)), instance.type === "sendEmail" && instance.config.templateName && /* @__PURE__ */ React155.createElement(React155.Fragment, null, /* @__PURE__ */ React155.createElement(Divider13, { color: "var(--mantine-color-neutralColor-4)" }), /* @__PURE__ */ React155.createElement(Stack110, { gap: "sm" }, /* @__PURE__ */ React155.createElement(Group51, { justify: "space-between", align: "center" }, /* @__PURE__ */ React155.createElement(Text87, { size: "sm", fw: 500, c: "var(--mantine-color-text)", style: { opacity: 0.7 } }, "Template Variables"), templateVariables.length > 0 && /* @__PURE__ */ React155.createElement(
16667
16682
  Badge21,
16668
16683
  {
16669
16684
  size: "sm",
@@ -17047,7 +17062,7 @@ function useNodeContext(editor, nodeId) {
17047
17062
  // src/mantine/blocks/enumChecklist/EnumChecklistBlock.tsx
17048
17063
  import React163, { useState as useState66, useEffect as useEffect53, useMemo as useMemo55, useCallback as useCallback43 } from "react";
17049
17064
  import { createReactBlockSpec as createReactBlockSpec8 } from "@blocknote/react";
17050
- import { Stack as Stack117, Text as Text94, Button as Button32, ActionIcon as ActionIcon23, Center as Center10, Flex as Flex31 } from "@mantine/core";
17065
+ import { Stack as Stack117, Text as Text94, Button as Button32, ActionIcon as ActionIcon24, Center as Center10, Flex as Flex31 } from "@mantine/core";
17051
17066
 
17052
17067
  // src/mantine/blocks/enumChecklist/oracle_personalities/index.tsx
17053
17068
  import React157 from "react";
@@ -17508,7 +17523,7 @@ var EnumChecklistBlockContent = ({ block, editor }) => {
17508
17523
  return null;
17509
17524
  }
17510
17525
  };
17511
- return /* @__PURE__ */ React163.createElement(Stack117, { w: "100%" }, listType && /* @__PURE__ */ React163.createElement(Flex31, { align: "center", justify: "space-between", gap: "xs" }, /* @__PURE__ */ React163.createElement(Text94, null, getEnumListNameByType(listType)), listConfig.listSelectionMode && /* @__PURE__ */ React163.createElement(Text94, { lh: 0.5, c: "dimmed" }, listConfig?.selection_mode === "single" ? "Single Selection" : "Multi Selection"), editable && /* @__PURE__ */ React163.createElement(Flex31, { justify: listType ? "space-between" : "flex-end" }, /* @__PURE__ */ React163.createElement(Flex31, { gap: "xs" }, /* @__PURE__ */ React163.createElement(ActionIcon23, { variant: "subtle", size: "sm", onClick: () => setModalOpened(true) }, /* @__PURE__ */ React163.createElement(IconSettings8, null))))), /* @__PURE__ */ React163.createElement(Flex31, { flex: 1 }, !listType ? /* @__PURE__ */ React163.createElement(Center10, { py: "xl" }, /* @__PURE__ */ React163.createElement(Stack117, { align: "center", gap: "sm" }, /* @__PURE__ */ React163.createElement(Text94, { size: "sm", c: "dimmed", ta: "center" }, "No list type configured"), /* @__PURE__ */ React163.createElement(Button32, { size: "sm", variant: "light", onClick: () => setModalOpened(true) }, "Configure List"))) : /* @__PURE__ */ React163.createElement(Stack117, { gap: "md", flex: 1 }, renderListComponent())), /* @__PURE__ */ React163.createElement(
17526
+ return /* @__PURE__ */ React163.createElement(Stack117, { w: "100%" }, listType && /* @__PURE__ */ React163.createElement(Flex31, { align: "center", justify: "space-between", gap: "xs" }, /* @__PURE__ */ React163.createElement(Text94, null, getEnumListNameByType(listType)), listConfig.listSelectionMode && /* @__PURE__ */ React163.createElement(Text94, { lh: 0.5, c: "dimmed" }, listConfig?.selection_mode === "single" ? "Single Selection" : "Multi Selection"), editable && /* @__PURE__ */ React163.createElement(Flex31, { justify: listType ? "space-between" : "flex-end" }, /* @__PURE__ */ React163.createElement(Flex31, { gap: "xs" }, /* @__PURE__ */ React163.createElement(ActionIcon24, { variant: "subtle", size: "sm", onClick: () => setModalOpened(true) }, /* @__PURE__ */ React163.createElement(IconSettings8, null))))), /* @__PURE__ */ React163.createElement(Flex31, { flex: 1 }, !listType ? /* @__PURE__ */ React163.createElement(Center10, { py: "xl" }, /* @__PURE__ */ React163.createElement(Stack117, { align: "center", gap: "sm" }, /* @__PURE__ */ React163.createElement(Text94, { size: "sm", c: "dimmed", ta: "center" }, "No list type configured"), /* @__PURE__ */ React163.createElement(Button32, { size: "sm", variant: "light", onClick: () => setModalOpened(true) }, "Configure List"))) : /* @__PURE__ */ React163.createElement(Stack117, { gap: "md", flex: 1 }, renderListComponent())), /* @__PURE__ */ React163.createElement(
17512
17527
  EnumChecklistConfigModal,
17513
17528
  {
17514
17529
  opened: modalOpened,
@@ -17561,7 +17576,7 @@ import { IconSettings as IconSettings9 } from "@tabler/icons-react";
17561
17576
 
17562
17577
  // src/mantine/blocks/notify/template/GeneralTab.tsx
17563
17578
  import React164, { useEffect as useEffect54, useState as useState67 } from "react";
17564
- import { Divider as Divider14, Stack as Stack118, Text as Text95, Group as Group57, ActionIcon as ActionIcon24, Paper as Paper13 } from "@mantine/core";
17579
+ import { Divider as Divider14, Stack as Stack118, Text as Text95, Group as Group57, ActionIcon as ActionIcon25, Paper as Paper13 } from "@mantine/core";
17565
17580
  import { IconTrash as IconTrash5 } from "@tabler/icons-react";
17566
17581
  var GeneralTab6 = ({
17567
17582
  title,
@@ -17688,7 +17703,7 @@ var GeneralTab6 = ({
17688
17703
  currentBlockId: blockId,
17689
17704
  size: "sm"
17690
17705
  }
17691
- ), /* @__PURE__ */ React164.createElement(ActionIcon24, { color: "red", variant: "light", onClick: () => handleRemoveRecipient("to", index) }, /* @__PURE__ */ React164.createElement(IconTrash5, { size: 16 }))))))), /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React164.createElement(Group57, { justify: "space-between" }, /* @__PURE__ */ React164.createElement(Text95, { size: "sm", fw: 600 }, "CC (Optional)"), /* @__PURE__ */ React164.createElement(BaseButton, { leftSection: getIcon("plus", "plus", "black"), onClick: () => handleAddRecipient("cc") }, "Add")), localCc.length > 0 && /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, localCc.map((recipient, index) => /* @__PURE__ */ React164.createElement(Paper13, { key: index, p: "xs", withBorder: true }, /* @__PURE__ */ React164.createElement(Group57, { gap: "xs", wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React164.createElement(
17706
+ ), /* @__PURE__ */ React164.createElement(ActionIcon25, { color: "red", variant: "light", onClick: () => handleRemoveRecipient("to", index) }, /* @__PURE__ */ React164.createElement(IconTrash5, { size: 16 }))))))), /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React164.createElement(Group57, { justify: "space-between" }, /* @__PURE__ */ React164.createElement(Text95, { size: "sm", fw: 600 }, "CC (Optional)"), /* @__PURE__ */ React164.createElement(BaseButton, { leftSection: getIcon("plus", "plus", "black"), onClick: () => handleAddRecipient("cc") }, "Add")), localCc.length > 0 && /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, localCc.map((recipient, index) => /* @__PURE__ */ React164.createElement(Paper13, { key: index, p: "xs", withBorder: true }, /* @__PURE__ */ React164.createElement(Group57, { gap: "xs", wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React164.createElement(
17692
17707
  DataInput,
17693
17708
  {
17694
17709
  placeholder: "email@example.com or reference",
@@ -17698,7 +17713,7 @@ var GeneralTab6 = ({
17698
17713
  currentBlockId: blockId,
17699
17714
  size: "sm"
17700
17715
  }
17701
- ), /* @__PURE__ */ React164.createElement(ActionIcon24, { color: "red", variant: "light", onClick: () => handleRemoveRecipient("cc", index) }, /* @__PURE__ */ React164.createElement(IconTrash5, { size: 16 }))))))), /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React164.createElement(Group57, { justify: "space-between" }, /* @__PURE__ */ React164.createElement(Text95, { size: "sm", fw: 600 }, "BCC (Optional)"), /* @__PURE__ */ React164.createElement(BaseButton, { leftSection: getIcon("plus", "plus", "black"), onClick: () => handleAddRecipient("bcc") }, "Add")), localBcc.length > 0 && /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, localBcc.map((recipient, index) => /* @__PURE__ */ React164.createElement(Paper13, { key: index, p: "xs", withBorder: true }, /* @__PURE__ */ React164.createElement(Group57, { gap: "xs", wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React164.createElement(
17716
+ ), /* @__PURE__ */ React164.createElement(ActionIcon25, { color: "red", variant: "light", onClick: () => handleRemoveRecipient("cc", index) }, /* @__PURE__ */ React164.createElement(IconTrash5, { size: 16 }))))))), /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React164.createElement(Group57, { justify: "space-between" }, /* @__PURE__ */ React164.createElement(Text95, { size: "sm", fw: 600 }, "BCC (Optional)"), /* @__PURE__ */ React164.createElement(BaseButton, { leftSection: getIcon("plus", "plus", "black"), onClick: () => handleAddRecipient("bcc") }, "Add")), localBcc.length > 0 && /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, localBcc.map((recipient, index) => /* @__PURE__ */ React164.createElement(Paper13, { key: index, p: "xs", withBorder: true }, /* @__PURE__ */ React164.createElement(Group57, { gap: "xs", wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React164.createElement(
17702
17717
  DataInput,
17703
17718
  {
17704
17719
  placeholder: "email@example.com or reference",
@@ -17708,7 +17723,7 @@ var GeneralTab6 = ({
17708
17723
  currentBlockId: blockId,
17709
17724
  size: "sm"
17710
17725
  }
17711
- ), /* @__PURE__ */ React164.createElement(ActionIcon24, { color: "red", variant: "light", onClick: () => handleRemoveRecipient("bcc", index) }, /* @__PURE__ */ React164.createElement(IconTrash5, { size: 16 }))))))), /* @__PURE__ */ React164.createElement(Divider14, { variant: "dashed" }), /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React164.createElement(
17726
+ ), /* @__PURE__ */ React164.createElement(ActionIcon25, { color: "red", variant: "light", onClick: () => handleRemoveRecipient("bcc", index) }, /* @__PURE__ */ React164.createElement(IconTrash5, { size: 16 }))))))), /* @__PURE__ */ React164.createElement(Divider14, { variant: "dashed" }), /* @__PURE__ */ React164.createElement(Stack118, { gap: "xs" }, /* @__PURE__ */ React164.createElement(
17712
17727
  BaseTextInput,
17713
17728
  {
17714
17729
  label: "From (Optional)",
@@ -17889,7 +17904,7 @@ var NotifyTemplateView = ({ editor, block }) => {
17889
17904
 
17890
17905
  // src/mantine/blocks/notify/flow/FlowView.tsx
17891
17906
  import React167, { useState as useState68 } from "react";
17892
- import { Group as Group59, Stack as Stack120, Text as Text97, ActionIcon as ActionIcon25, Tooltip as Tooltip13, Button as Button33, Badge as Badge24, Collapse as Collapse6, Alert as Alert22, Loader as Loader23, Code as Code6 } from "@mantine/core";
17907
+ import { Group as Group59, Stack as Stack120, Text as Text97, ActionIcon as ActionIcon26, Tooltip as Tooltip14, Button as Button33, Badge as Badge24, Collapse as Collapse6, Alert as Alert22, Loader as Loader23, Code as Code6 } from "@mantine/core";
17893
17908
  import { IconSend as IconSend3, IconChevronDown as IconChevronDown6, IconChevronUp as IconChevronUp3, IconCheck as IconCheck6, IconX as IconX11 } from "@tabler/icons-react";
17894
17909
  var NotifyFlowView = ({ editor, block, isDisabled }) => {
17895
17910
  const disabled = isDisabled?.isDisabled === "disable";
@@ -18017,7 +18032,7 @@ var NotifyFlowView = ({ editor, block, isDisabled }) => {
18017
18032
  },
18018
18033
  isLoading ? "Sending..." : status === "sent" ? "Sent" : "Send"
18019
18034
  );
18020
- return /* @__PURE__ */ React167.createElement(BaseContainer, { blockId: block.id }, /* @__PURE__ */ React167.createElement(Stack120, { gap: "md" }, /* @__PURE__ */ React167.createElement(Group59, { wrap: "nowrap", justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React167.createElement(Group59, { wrap: "nowrap", align: "flex-start", style: { flex: 1 } }, getIcon("bell", block.props.icon), /* @__PURE__ */ React167.createElement(Stack120, { gap: "xs", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React167.createElement(Group59, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React167.createElement(Badge24, { size: "sm", variant: "filled", color: getChannelColor(channel) }, channel.toUpperCase()), /* @__PURE__ */ React167.createElement(Text97, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Notification"), status !== "idle" && /* @__PURE__ */ React167.createElement(Badge24, { size: "xs", variant: "dot", color: getStatusColor5(status) }, status)), /* @__PURE__ */ React167.createElement(Text97, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 1 }, to.length > 0 ? `To: ${to.slice(0, 2).join(", ")}${to.length > 2 ? ` +${to.length - 2} more` : ""}` : "No recipients"), block.props.description && /* @__PURE__ */ React167.createElement(Text97, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description))), /* @__PURE__ */ React167.createElement(Group59, { gap: "xs", style: { flexShrink: 0 } }, disabled && isDisabled?.message ? /* @__PURE__ */ React167.createElement(Tooltip13, { label: isDisabled.message, position: "left", withArrow: true }, sendButton) : sendButton, /* @__PURE__ */ React167.createElement(ActionIcon25, { variant: "subtle", onClick: () => setShowDetails(!showDetails) }, showDetails ? /* @__PURE__ */ React167.createElement(IconChevronUp3, { size: 16 }) : /* @__PURE__ */ React167.createElement(IconChevronDown6, { size: 16 })))), status === "failed" && runtime.error?.message && /* @__PURE__ */ React167.createElement(Alert22, { color: "red", icon: /* @__PURE__ */ React167.createElement(IconX11, { size: 16 }), title: "Failed to send", styles: { message: { fontSize: "12px" } } }, runtime.error.message), status === "sent" && runtime.output?.notify?.messageId && /* @__PURE__ */ React167.createElement(Alert22, { color: "green", icon: /* @__PURE__ */ React167.createElement(IconCheck6, { size: 16 }), title: "Sent successfully", styles: { message: { fontSize: "12px" } } }, "Message ID: ", runtime.output.notify.messageId, runtime.output.notify.sentAt && /* @__PURE__ */ React167.createElement(React167.Fragment, null, /* @__PURE__ */ React167.createElement("br", null), "Sent at: ", new Date(runtime.output.notify.sentAt).toLocaleString())), /* @__PURE__ */ React167.createElement(Collapse6, { in: showDetails }, /* @__PURE__ */ React167.createElement(Stack120, { gap: "md" }, channel === "email" && /* @__PURE__ */ React167.createElement(React167.Fragment, null, /* @__PURE__ */ React167.createElement(Stack120, { gap: "xs" }, /* @__PURE__ */ React167.createElement(Text97, { size: "xs", fw: 600, c: "dimmed" }, "Recipients:"), /* @__PURE__ */ React167.createElement(Code6, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
18035
+ return /* @__PURE__ */ React167.createElement(BaseContainer, { blockId: block.id }, /* @__PURE__ */ React167.createElement(Stack120, { gap: "md" }, /* @__PURE__ */ React167.createElement(Group59, { wrap: "nowrap", justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React167.createElement(Group59, { wrap: "nowrap", align: "flex-start", style: { flex: 1 } }, getIcon("bell", block.props.icon), /* @__PURE__ */ React167.createElement(Stack120, { gap: "xs", style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React167.createElement(Group59, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React167.createElement(Badge24, { size: "sm", variant: "filled", color: getChannelColor(channel) }, channel.toUpperCase()), /* @__PURE__ */ React167.createElement(Text97, { fw: 500, size: "sm", contentEditable: false }, block.props.title || "Notification"), status !== "idle" && /* @__PURE__ */ React167.createElement(Badge24, { size: "xs", variant: "dot", color: getStatusColor5(status) }, status)), /* @__PURE__ */ React167.createElement(Text97, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 1 }, to.length > 0 ? `To: ${to.slice(0, 2).join(", ")}${to.length > 2 ? ` +${to.length - 2} more` : ""}` : "No recipients"), block.props.description && /* @__PURE__ */ React167.createElement(Text97, { size: "xs", c: "dimmed", contentEditable: false }, block.props.description))), /* @__PURE__ */ React167.createElement(Group59, { gap: "xs", style: { flexShrink: 0 } }, disabled && isDisabled?.message ? /* @__PURE__ */ React167.createElement(Tooltip14, { label: isDisabled.message, position: "left", withArrow: true }, sendButton) : sendButton, /* @__PURE__ */ React167.createElement(ActionIcon26, { variant: "subtle", onClick: () => setShowDetails(!showDetails) }, showDetails ? /* @__PURE__ */ React167.createElement(IconChevronUp3, { size: 16 }) : /* @__PURE__ */ React167.createElement(IconChevronDown6, { size: 16 })))), status === "failed" && runtime.error?.message && /* @__PURE__ */ React167.createElement(Alert22, { color: "red", icon: /* @__PURE__ */ React167.createElement(IconX11, { size: 16 }), title: "Failed to send", styles: { message: { fontSize: "12px" } } }, runtime.error.message), status === "sent" && runtime.output?.notify?.messageId && /* @__PURE__ */ React167.createElement(Alert22, { color: "green", icon: /* @__PURE__ */ React167.createElement(IconCheck6, { size: 16 }), title: "Sent successfully", styles: { message: { fontSize: "12px" } } }, "Message ID: ", runtime.output.notify.messageId, runtime.output.notify.sentAt && /* @__PURE__ */ React167.createElement(React167.Fragment, null, /* @__PURE__ */ React167.createElement("br", null), "Sent at: ", new Date(runtime.output.notify.sentAt).toLocaleString())), /* @__PURE__ */ React167.createElement(Collapse6, { in: showDetails }, /* @__PURE__ */ React167.createElement(Stack120, { gap: "md" }, channel === "email" && /* @__PURE__ */ React167.createElement(React167.Fragment, null, /* @__PURE__ */ React167.createElement(Stack120, { gap: "xs" }, /* @__PURE__ */ React167.createElement(Text97, { size: "xs", fw: 600, c: "dimmed" }, "Recipients:"), /* @__PURE__ */ React167.createElement(Code6, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
18021
18036
  {
18022
18037
  to: to.filter((e) => e.trim() !== ""),
18023
18038
  ...cc.length > 0 && { cc: cc.filter((e) => e.trim() !== "") },
@@ -18645,7 +18660,7 @@ var DomainCreatorTemplateView = ({ editor, block }) => {
18645
18660
 
18646
18661
  // src/mantine/blocks/domainCreator/flow/FlowView.tsx
18647
18662
  import React182, { useCallback as useCallback51, useMemo as useMemo63, useState as useState73 } from "react";
18648
- import { ActionIcon as ActionIcon26, Badge as Badge26, Group as Group64, Stack as Stack126, Text as Text103, Tooltip as Tooltip14 } from "@mantine/core";
18663
+ import { ActionIcon as ActionIcon27, Badge as Badge26, Group as Group64, Stack as Stack126, Text as Text103, Tooltip as Tooltip15 } from "@mantine/core";
18649
18664
  import { IconChevronRight as IconChevronRight6, IconCheck as IconCheck8, IconAlertCircle as IconAlertCircle12 } from "@tabler/icons-react";
18650
18665
 
18651
18666
  // src/mantine/blocks/domainCreator/flow/DomainCreatorSurveyPanel.tsx
@@ -18956,7 +18971,7 @@ var DomainCreatorFlowView = ({ editor, block }) => {
18956
18971
  return { variant: "light", color: "gray", text: "Click to start", icon: null };
18957
18972
  };
18958
18973
  const badgeProps = getBadgeProps();
18959
- return /* @__PURE__ */ React182.createElement(BaseContainer, { blockId: block.id, onClick: handleOpen }, /* @__PURE__ */ React182.createElement(Group64, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React182.createElement(Group64, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("file-text", block.props.icon), /* @__PURE__ */ React182.createElement(Stack126, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React182.createElement(Group64, { gap: "xs", align: "center" }, /* @__PURE__ */ React182.createElement(Text103, { fw: 600, size: "sm", contentEditable: false }, block.props.title || "Domain Creator"), /* @__PURE__ */ React182.createElement(Badge26, { size: "xs", variant: badgeProps.variant, color: badgeProps.color, leftSection: badgeProps.icon }, badgeProps.text)), /* @__PURE__ */ React182.createElement(Text103, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 2 }, hasExistingSubmission ? `Domain created: ${lastSubmission.entityDid}` : block.props.description || "Open the survey panel to create a new domain."))), /* @__PURE__ */ React182.createElement(Tooltip14, { label: hasExistingSubmission ? "View/Edit domain" : "Create domain", withArrow: true }, /* @__PURE__ */ React182.createElement(ActionIcon26, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React182.createElement(IconChevronRight6, { size: 18 })))));
18974
+ return /* @__PURE__ */ React182.createElement(BaseContainer, { blockId: block.id, onClick: handleOpen }, /* @__PURE__ */ React182.createElement(Group64, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React182.createElement(Group64, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("file-text", block.props.icon), /* @__PURE__ */ React182.createElement(Stack126, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React182.createElement(Group64, { gap: "xs", align: "center" }, /* @__PURE__ */ React182.createElement(Text103, { fw: 600, size: "sm", contentEditable: false }, block.props.title || "Domain Creator"), /* @__PURE__ */ React182.createElement(Badge26, { size: "xs", variant: badgeProps.variant, color: badgeProps.color, leftSection: badgeProps.icon }, badgeProps.text)), /* @__PURE__ */ React182.createElement(Text103, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 2 }, hasExistingSubmission ? `Domain created: ${lastSubmission.entityDid}` : block.props.description || "Open the survey panel to create a new domain."))), /* @__PURE__ */ React182.createElement(Tooltip15, { label: hasExistingSubmission ? "View/Edit domain" : "Create domain", withArrow: true }, /* @__PURE__ */ React182.createElement(ActionIcon27, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React182.createElement(IconChevronRight6, { size: 18 })))));
18960
18975
  };
18961
18976
 
18962
18977
  // src/mantine/blocks/domainCreator/DomainCreatorBlock.tsx
@@ -19300,7 +19315,7 @@ var EmailTemplateView = ({ editor, block }) => {
19300
19315
 
19301
19316
  // src/mantine/blocks/email/flow/FlowView.tsx
19302
19317
  import React189, { useMemo as useMemo67 } from "react";
19303
- import { Group as Group67, Stack as Stack130, Text as Text107, ActionIcon as ActionIcon27, Tooltip as Tooltip15, Button as Button35, Badge as Badge29, Alert as Alert26, Loader as Loader27, Divider as Divider17 } from "@mantine/core";
19318
+ import { Group as Group67, Stack as Stack130, Text as Text107, ActionIcon as ActionIcon28, Tooltip as Tooltip16, Button as Button35, Badge as Badge29, Alert as Alert26, Loader as Loader27, Divider as Divider17 } from "@mantine/core";
19304
19319
  import { IconSend as IconSend4, IconCheck as IconCheck10, IconX as IconX12, IconMail as IconMail5, IconUser as IconUser11 } from "@tabler/icons-react";
19305
19320
 
19306
19321
  // src/mantine/blocks/email/flow/hooks/useEmailActions.ts
@@ -19443,7 +19458,7 @@ var EmailFlowView = ({ editor, block, isDisabled }) => {
19443
19458
  [editor, block, isDisabled, disabled]
19444
19459
  );
19445
19460
  const panelContent = useMemo67(
19446
- () => /* @__PURE__ */ React189.createElement(BaseRightPanelLayout, { stepTabs: true, onClose: closePanel, title: "Email Details", tabs, context: { editor, block } }),
19461
+ () => /* @__PURE__ */ React189.createElement(BaseRightPanelLayout, { stepTabs: true, showSettings: false, onClose: closePanel, title: "Email Details", tabs, context: { editor, block } }),
19447
19462
  [tabs, editor, block, closePanel]
19448
19463
  );
19449
19464
  const panelId = `email-details-panel-${block.id}`;
@@ -19485,7 +19500,7 @@ function EmailPanelContent({ editor, block, isDisabled }) {
19485
19500
  disabled: !canSend
19486
19501
  },
19487
19502
  loading ? "Sending..." : status === "sent" ? "Sent" : block.props.buttonLabel || "Send"
19488
- ), status === "sent" && /* @__PURE__ */ React189.createElement(Tooltip15, { label: "Send again", position: "top", withArrow: true }, /* @__PURE__ */ React189.createElement(ActionIcon27, { variant: "light", color: "blue", onClick: resetStatus }, /* @__PURE__ */ React189.createElement(IconSend4, { size: 14 })))), isDisabled?.isDisabled === "disable" && isDisabled?.message && /* @__PURE__ */ React189.createElement(Text107, { size: "xs", c: "dimmed" }, isDisabled.message), status === "error" && runtime.error?.message && /* @__PURE__ */ React189.createElement(Alert26, { color: "red", icon: /* @__PURE__ */ React189.createElement(IconX12, { size: 16 }), title: "Failed to send", styles: { message: { fontSize: "12px" } } }, runtime.error.message), /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Recipients"), /* @__PURE__ */ React189.createElement(DetailRow, { label: "To", value: toDisplay }), ccDisplay && /* @__PURE__ */ React189.createElement(DetailRow, { label: "CC", value: ccDisplay }), bccDisplay && /* @__PURE__ */ React189.createElement(DetailRow, { label: "BCC", value: bccDisplay }), replyToDisplay && /* @__PURE__ */ React189.createElement(DetailRow, { label: "Reply-To", value: replyToDisplay })), /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Subject"), /* @__PURE__ */ React189.createElement(Text107, { size: "sm", c: subjectDisplay ? void 0 : "dimmed" }, subjectDisplay || "No subject")), /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Template"), /* @__PURE__ */ React189.createElement(DetailRow, { label: "Name", value: block.props.templateName, placeholder: "Not selected" }), block.props.templateVersion && /* @__PURE__ */ React189.createElement(DetailRow, { label: "Version", value: block.props.templateVersion })), Object.keys(variables).length > 0 && /* @__PURE__ */ React189.createElement(React189.Fragment, null, /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Variables"), Object.entries(variables).map(([key, value]) => /* @__PURE__ */ React189.createElement(DetailRow, { key, label: key, value: resolveReferences(value, editorDocument) })))), runtime.state && runtime.state !== "idle" && /* @__PURE__ */ React189.createElement(React189.Fragment, null, /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Status"), /* @__PURE__ */ React189.createElement(DetailRow, { label: "Status", value: runtime.state }), emailOutput?.sentAt && /* @__PURE__ */ React189.createElement(DetailRow, { label: "Last sent", value: new Date(emailOutput.sentAt).toLocaleString() }), emailOutput?.messageId && /* @__PURE__ */ React189.createElement(DetailRow, { label: "Message ID", value: emailOutput.messageId }), runtime.error?.message && /* @__PURE__ */ React189.createElement(Text107, { size: "xs", c: "red" }, runtime.error.message))));
19503
+ ), status === "sent" && /* @__PURE__ */ React189.createElement(Tooltip16, { label: "Send again", position: "top", withArrow: true }, /* @__PURE__ */ React189.createElement(ActionIcon28, { variant: "light", color: "blue", onClick: resetStatus }, /* @__PURE__ */ React189.createElement(IconSend4, { size: 14 })))), isDisabled?.isDisabled === "disable" && isDisabled?.message && /* @__PURE__ */ React189.createElement(Text107, { size: "xs", c: "dimmed" }, isDisabled.message), status === "error" && runtime.error?.message && /* @__PURE__ */ React189.createElement(Alert26, { color: "red", icon: /* @__PURE__ */ React189.createElement(IconX12, { size: 16 }), title: "Failed to send", styles: { message: { fontSize: "12px" } } }, runtime.error.message), /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Recipients"), /* @__PURE__ */ React189.createElement(DetailRow, { label: "To", value: toDisplay }), ccDisplay && /* @__PURE__ */ React189.createElement(DetailRow, { label: "CC", value: ccDisplay }), bccDisplay && /* @__PURE__ */ React189.createElement(DetailRow, { label: "BCC", value: bccDisplay }), replyToDisplay && /* @__PURE__ */ React189.createElement(DetailRow, { label: "Reply-To", value: replyToDisplay })), /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Subject"), /* @__PURE__ */ React189.createElement(Text107, { size: "sm", c: subjectDisplay ? void 0 : "dimmed" }, subjectDisplay || "No subject")), /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Template"), /* @__PURE__ */ React189.createElement(DetailRow, { label: "Name", value: block.props.templateName, placeholder: "Not selected" }), block.props.templateVersion && /* @__PURE__ */ React189.createElement(DetailRow, { label: "Version", value: block.props.templateVersion })), Object.keys(variables).length > 0 && /* @__PURE__ */ React189.createElement(React189.Fragment, null, /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Variables"), Object.entries(variables).map(([key, value]) => /* @__PURE__ */ React189.createElement(DetailRow, { key, label: key, value: resolveReferences(value, editorDocument) })))), runtime.state && runtime.state !== "idle" && /* @__PURE__ */ React189.createElement(React189.Fragment, null, /* @__PURE__ */ React189.createElement(Divider17, null), /* @__PURE__ */ React189.createElement(Stack130, { gap: "xs" }, /* @__PURE__ */ React189.createElement(Text107, { size: "sm", fw: 600 }, "Status"), /* @__PURE__ */ React189.createElement(DetailRow, { label: "Status", value: runtime.state }), emailOutput?.sentAt && /* @__PURE__ */ React189.createElement(DetailRow, { label: "Last sent", value: new Date(emailOutput.sentAt).toLocaleString() }), emailOutput?.messageId && /* @__PURE__ */ React189.createElement(DetailRow, { label: "Message ID", value: emailOutput.messageId }), runtime.error?.message && /* @__PURE__ */ React189.createElement(Text107, { size: "xs", c: "red" }, runtime.error.message))));
19489
19504
  }
19490
19505
  function DetailRow({ label, value, placeholder }) {
19491
19506
  return /* @__PURE__ */ React189.createElement(Group67, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React189.createElement(Text107, { size: "xs", fw: 500, c: "dimmed", style: { minWidth: 70 } }, label, ":"), /* @__PURE__ */ React189.createElement(Text107, { size: "xs", c: value ? void 0 : "dimmed", lineClamp: 1, style: { flex: 1 } }, value || placeholder || "\u2014"));
@@ -19713,7 +19728,7 @@ var ProtocolSelectorTemplateView = ({ editor, block }) => {
19713
19728
 
19714
19729
  // src/mantine/blocks/protocolSelector/flow/FlowView.tsx
19715
19730
  import React197, { useMemo as useMemo71 } from "react";
19716
- import { Badge as Badge30, Box as Box42, Group as Group70, Stack as Stack134, Text as Text111, Tooltip as Tooltip16 } from "@mantine/core";
19731
+ import { Badge as Badge30, Box as Box42, Group as Group70, Stack as Stack134, Text as Text111, Tooltip as Tooltip17 } from "@mantine/core";
19717
19732
  import { IconCircleDashed as IconCircleDashed3, IconChecks as IconChecks3 } from "@tabler/icons-react";
19718
19733
 
19719
19734
  // src/mantine/blocks/protocolSelector/flow/ProtocolSelectionPanel.tsx
@@ -19889,7 +19904,7 @@ var ProtocolSelectorFlowView = ({ editor, block, isDisabled }) => {
19889
19904
  /* @__PURE__ */ React197.createElement(IconCircleDashed3, { size: 26, color: "currentColor" })
19890
19905
  ), /* @__PURE__ */ React197.createElement(Stack134, { gap: 2, style: { flex: 1 } }, /* @__PURE__ */ React197.createElement(Text111, { fw: 500, size: "sm", lineClamp: 1, style: { opacity: disabled ? 0.5 : 1 } }, block.props.title || "Select Protocol"), isCompleted && block.props.selectedProtocolType ? /* @__PURE__ */ React197.createElement(Badge30, { size: "sm", styles: { root: { backgroundColor: "var(--mantine-primary-color-light)", color: "var(--mantine-primary-color-filled)" } } }, block.props.selectedProtocolType) : /* @__PURE__ */ React197.createElement(Text111, { size: "xs", c: "dimmed", style: { opacity: disabled ? 0.5 : 1 } }, "Selection"))), /* @__PURE__ */ React197.createElement(Stack134, { gap: 2, align: "flex-end" }, isCompleted ? /* @__PURE__ */ React197.createElement(React197.Fragment, null, /* @__PURE__ */ React197.createElement(Group70, { gap: 4 }, /* @__PURE__ */ React197.createElement(IconChecks3, { size: 16, color: "var(--mantine-color-green-4)" }), /* @__PURE__ */ React197.createElement(Text111, { size: "sm", c: "green.4", fw: 500 }, "Completed")), /* @__PURE__ */ React197.createElement(Text111, { size: "xs", c: "dimmed", lineClamp: 1 }, block.props.selectedProtocolName || block.props.selectedProtocolDid)) : /* @__PURE__ */ React197.createElement(React197.Fragment, null, /* @__PURE__ */ React197.createElement(Text111, { size: "sm" }, "Pending"), /* @__PURE__ */ React197.createElement(Text111, { size: "xs", c: "dimmed" }, "Complete now")))));
19891
19906
  if (disabled && isDisabled?.message) {
19892
- return /* @__PURE__ */ React197.createElement(Tooltip16, { label: isDisabled.message, position: "top", withArrow: true }, /* @__PURE__ */ React197.createElement(Box42, { style: { cursor: "not-allowed" } }, containerContent));
19907
+ return /* @__PURE__ */ React197.createElement(Tooltip17, { label: isDisabled.message, position: "top", withArrow: true }, /* @__PURE__ */ React197.createElement(Box42, { style: { cursor: "not-allowed" } }, containerContent));
19893
19908
  }
19894
19909
  return containerContent;
19895
19910
  };
@@ -20111,7 +20126,7 @@ var FormTemplateView = ({ editor, block }) => {
20111
20126
 
20112
20127
  // src/mantine/blocks/form/flow/FlowView.tsx
20113
20128
  import React204, { useMemo as useMemo74, useState as useState80, useCallback as useCallback60 } from "react";
20114
- import { ActionIcon as ActionIcon28, Badge as Badge32, Group as Group72, Stack as Stack136, Text as Text115, Tooltip as Tooltip17 } from "@mantine/core";
20129
+ import { ActionIcon as ActionIcon29, Badge as Badge32, Group as Group72, Stack as Stack136, Text as Text115, Tooltip as Tooltip18 } from "@mantine/core";
20115
20130
  import { IconChevronRight as IconChevronRight7 } from "@tabler/icons-react";
20116
20131
 
20117
20132
  // src/mantine/blocks/form/flow/FormPanel.tsx
@@ -20283,7 +20298,7 @@ var FormFlowView = ({ editor, block }) => {
20283
20298
  const badgeProps = getBadgeProps();
20284
20299
  const hasSchema = Boolean(block.props.surveySchema);
20285
20300
  const completedAt = runtime.executedAt;
20286
- return /* @__PURE__ */ React204.createElement(BaseContainer, { blockId: block.id, onClick: handleOpen }, /* @__PURE__ */ React204.createElement(Group72, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React204.createElement(Group72, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("checklist", block.props.icon), /* @__PURE__ */ React204.createElement(Stack136, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React204.createElement(Group72, { gap: "xs", align: "center" }, /* @__PURE__ */ React204.createElement(Text115, { fw: 600, size: "sm" }, block.props.title || "Form"), /* @__PURE__ */ React204.createElement(Badge32, { size: "xs", variant: badgeProps.variant, color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)` } } }, badgeProps.text)), /* @__PURE__ */ React204.createElement(Text115, { size: "xs", c: "dimmed", lineClamp: 2 }, isCompleted && completedAt ? `Completed on ${new Date(completedAt).toLocaleDateString()}` : hasSchema ? "Click to fill out the form" : "Form not configured"))), /* @__PURE__ */ React204.createElement(Tooltip17, { label: isCompleted ? "View form" : "Fill form", withArrow: true }, /* @__PURE__ */ React204.createElement(ActionIcon28, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React204.createElement(IconChevronRight7, { size: 18 })))));
20301
+ return /* @__PURE__ */ React204.createElement(BaseContainer, { blockId: block.id, onClick: handleOpen }, /* @__PURE__ */ React204.createElement(Group72, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React204.createElement(Group72, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("checklist", block.props.icon), /* @__PURE__ */ React204.createElement(Stack136, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React204.createElement(Group72, { gap: "xs", align: "center" }, /* @__PURE__ */ React204.createElement(Text115, { fw: 600, size: "sm" }, block.props.title || "Form"), /* @__PURE__ */ React204.createElement(Badge32, { size: "xs", variant: badgeProps.variant, color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)` } } }, badgeProps.text)), /* @__PURE__ */ React204.createElement(Text115, { size: "xs", c: "dimmed", lineClamp: 2 }, isCompleted && completedAt ? `Completed on ${new Date(completedAt).toLocaleDateString()}` : hasSchema ? "Click to fill out the form" : "Form not configured"))), /* @__PURE__ */ React204.createElement(Tooltip18, { label: isCompleted ? "View form" : "Fill form", withArrow: true }, /* @__PURE__ */ React204.createElement(ActionIcon29, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React204.createElement(IconChevronRight7, { size: 18 })))));
20287
20302
  };
20288
20303
 
20289
20304
  // src/mantine/blocks/form/FormBlock.tsx
@@ -20428,7 +20443,7 @@ var DomainCreatorSignTemplateView = ({ editor, block }) => {
20428
20443
 
20429
20444
  // src/mantine/blocks/domainCreatorSign/flow/FlowView.tsx
20430
20445
  import React213, { useCallback as useCallback63, useMemo as useMemo76, useEffect as useEffect67 } from "react";
20431
- import { ActionIcon as ActionIcon29, Badge as Badge35, Group as Group75, Stack as Stack140, Text as Text120, Tooltip as Tooltip19 } from "@mantine/core";
20446
+ import { ActionIcon as ActionIcon30, Badge as Badge35, Group as Group75, Stack as Stack140, Text as Text120, Tooltip as Tooltip20 } from "@mantine/core";
20432
20447
  import { IconChevronRight as IconChevronRight8 } from "@tabler/icons-react";
20433
20448
 
20434
20449
  // src/mantine/blocks/domainCreatorSign/flow/SignPanel.tsx
@@ -20438,7 +20453,7 @@ import React212, { useCallback as useCallback62, useState as useState84 } from "
20438
20453
 
20439
20454
  // src/mantine/components/Base/BaseSigning.tsx
20440
20455
  import React211, { useState as useState83 } from "react";
20441
- import { Badge as Badge34, Box as Box43, Flex as Flex33, Stack as Stack138, Tabs as Tabs3, Text as Text118, Tooltip as Tooltip18 } from "@mantine/core";
20456
+ import { Badge as Badge34, Box as Box43, Flex as Flex33, Stack as Stack138, Tabs as Tabs3, Text as Text118, Tooltip as Tooltip19 } from "@mantine/core";
20442
20457
  import { IconClock as IconClock9, IconFeather as IconFeather3, IconUsers as IconUsers2, IconArrowsExchange as IconArrowsExchange2, IconCalendar as IconCalendar2, IconLeaf as IconLeaf2, IconBolt as IconBolt6 } from "@tabler/icons-react";
20443
20458
 
20444
20459
  // src/mantine/components/Base/SlideToSign.tsx
@@ -20549,7 +20564,7 @@ function BaseSigning({ handleSign }) {
20549
20564
  }
20550
20565
  }
20551
20566
  },
20552
- /* @__PURE__ */ React211.createElement(Tabs3.List, null, /* @__PURE__ */ React211.createElement(Tooltip18, { label: "Agents" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "agents", leftSection: /* @__PURE__ */ React211.createElement(IconUsers2, { size: 18 }) })), /* @__PURE__ */ React211.createElement(Tooltip18, { label: "Transactions" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "transactions", leftSection: /* @__PURE__ */ React211.createElement(IconArrowsExchange2, { size: 18 }) })), /* @__PURE__ */ React211.createElement(Tooltip18, { label: "Date" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "date", leftSection: /* @__PURE__ */ React211.createElement(IconCalendar2, { size: 18 }) })), /* @__PURE__ */ React211.createElement(Tooltip18, { label: "Charge" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "charge", leftSection: /* @__PURE__ */ React211.createElement(IconBolt6, { size: 18 }) })), /* @__PURE__ */ React211.createElement(Tooltip18, { label: "Impact" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "impact", leftSection: /* @__PURE__ */ React211.createElement(IconLeaf2, { size: 18 }) }))),
20567
+ /* @__PURE__ */ React211.createElement(Tabs3.List, null, /* @__PURE__ */ React211.createElement(Tooltip19, { label: "Agents" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "agents", leftSection: /* @__PURE__ */ React211.createElement(IconUsers2, { size: 18 }) })), /* @__PURE__ */ React211.createElement(Tooltip19, { label: "Transactions" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "transactions", leftSection: /* @__PURE__ */ React211.createElement(IconArrowsExchange2, { size: 18 }) })), /* @__PURE__ */ React211.createElement(Tooltip19, { label: "Date" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "date", leftSection: /* @__PURE__ */ React211.createElement(IconCalendar2, { size: 18 }) })), /* @__PURE__ */ React211.createElement(Tooltip19, { label: "Charge" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "charge", leftSection: /* @__PURE__ */ React211.createElement(IconBolt6, { size: 18 }) })), /* @__PURE__ */ React211.createElement(Tooltip19, { label: "Impact" }, /* @__PURE__ */ React211.createElement(Tabs3.Tab, { value: "impact", leftSection: /* @__PURE__ */ React211.createElement(IconLeaf2, { size: 18 }) }))),
20553
20568
  /* @__PURE__ */ React211.createElement(Tabs3.Panel, { value: "agents" }, /* @__PURE__ */ React211.createElement(Text118, { size: "sm" }, "Agents content")),
20554
20569
  /* @__PURE__ */ React211.createElement(Tabs3.Panel, { value: "transactions" }, /* @__PURE__ */ React211.createElement(Text118, { size: "sm" }, "Transactions content")),
20555
20570
  /* @__PURE__ */ React211.createElement(Tabs3.Panel, { value: "date" }, /* @__PURE__ */ React211.createElement(Text118, { size: "sm" }, "Date content")),
@@ -20855,7 +20870,7 @@ var DomainCreatorSignFlowView = ({ editor, block }) => {
20855
20870
  return "Waiting for domain card data";
20856
20871
  }
20857
20872
  };
20858
- return /* @__PURE__ */ React213.createElement(BaseContainer, { blockId: block.id, onClick: isClickable ? handleOpen : void 0, style: { opacity: isClickable ? 1 : 0.7, cursor: isClickable ? "pointer" : "not-allowed" } }, /* @__PURE__ */ React213.createElement(Group75, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React213.createElement(Group75, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("feather", block.props.icon), /* @__PURE__ */ React213.createElement(Stack140, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React213.createElement(Group75, { gap: "xs", align: "center" }, /* @__PURE__ */ React213.createElement(Text120, { fw: 600, size: "sm" }, block.props.title || "Sign to Create"), /* @__PURE__ */ React213.createElement(Badge35, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)`, color: "white" } } }, badgeProps.text)), /* @__PURE__ */ React213.createElement(Text120, { size: "xs", c: "dimmed", lineClamp: 2 }, getDescriptionText()))), /* @__PURE__ */ React213.createElement(Group75, null, /* @__PURE__ */ React213.createElement(CommitmentDisplay, { block, onClick: openCommitment }), /* @__PURE__ */ React213.createElement(AssignmentDisplay, { block, onClick: openAssignment }), isClickable && /* @__PURE__ */ React213.createElement(Tooltip19, { label: status === "completed" ? "View details" : "Sign & Create", withArrow: true }, /* @__PURE__ */ React213.createElement(ActionIcon29, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React213.createElement(IconChevronRight8, { size: 18 }))))));
20873
+ return /* @__PURE__ */ React213.createElement(BaseContainer, { blockId: block.id, onClick: isClickable ? handleOpen : void 0, style: { opacity: isClickable ? 1 : 0.7, cursor: isClickable ? "pointer" : "not-allowed" } }, /* @__PURE__ */ React213.createElement(Group75, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React213.createElement(Group75, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("feather", block.props.icon), /* @__PURE__ */ React213.createElement(Stack140, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React213.createElement(Group75, { gap: "xs", align: "center" }, /* @__PURE__ */ React213.createElement(Text120, { fw: 600, size: "sm" }, block.props.title || "Sign to Create"), /* @__PURE__ */ React213.createElement(Badge35, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)`, color: "white" } } }, badgeProps.text)), /* @__PURE__ */ React213.createElement(Text120, { size: "xs", c: "dimmed", lineClamp: 2 }, getDescriptionText()))), /* @__PURE__ */ React213.createElement(Group75, null, /* @__PURE__ */ React213.createElement(CommitmentDisplay, { block, onClick: openCommitment }), /* @__PURE__ */ React213.createElement(AssignmentDisplay, { block, onClick: openAssignment }), isClickable && /* @__PURE__ */ React213.createElement(Tooltip20, { label: status === "completed" ? "View details" : "Sign & Create", withArrow: true }, /* @__PURE__ */ React213.createElement(ActionIcon30, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React213.createElement(IconChevronRight8, { size: 18 }))))));
20859
20874
  };
20860
20875
 
20861
20876
  // src/mantine/blocks/domainCreatorSign/DomainCreatorSignBlock.tsx
@@ -21031,7 +21046,7 @@ var DomainCardViewerTemplateView = ({ editor, block }) => {
21031
21046
 
21032
21047
  // src/mantine/blocks/domainCardViewer/flow/FlowView.tsx
21033
21048
  import React220, { useMemo as useMemo79, useCallback as useCallback65, useEffect as useEffect69 } from "react";
21034
- import { ActionIcon as ActionIcon30, Badge as Badge37, Button as Button38, Group as Group77, Stack as Stack143, Text as Text123, Tooltip as Tooltip20 } from "@mantine/core";
21049
+ import { ActionIcon as ActionIcon31, Badge as Badge37, Button as Button38, Group as Group77, Stack as Stack143, Text as Text123, Tooltip as Tooltip21 } from "@mantine/core";
21035
21050
  import { IconChevronRight as IconChevronRight9, IconLoader, IconTestPipe, IconTrash as IconTrash6 } from "@tabler/icons-react";
21036
21051
 
21037
21052
  // src/mantine/blocks/domainCardViewer/flow/ViewerPanel.tsx
@@ -21441,7 +21456,7 @@ var DomainCardViewerFlowView = ({ editor, block }) => {
21441
21456
  }
21442
21457
  };
21443
21458
  const canOpenPanel = status !== "pending";
21444
- return /* @__PURE__ */ React220.createElement(BaseContainer, { blockId: block.id, onClick: canOpenPanel ? open : void 0, style: { opacity: canOpenPanel ? 1 : 0.7, cursor: canOpenPanel ? "pointer" : "not-allowed" } }, /* @__PURE__ */ React220.createElement(Group77, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React220.createElement(Group77, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("dots-circle", block.props.icon), /* @__PURE__ */ React220.createElement(Stack143, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React220.createElement(Group77, { gap: "xs", align: "center" }, /* @__PURE__ */ React220.createElement(Text123, { fw: 600, size: "sm" }, block.props.title || "Domain Card"), /* @__PURE__ */ React220.createElement(Badge37, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)`, color: "white" } } }, badgeProps.text)), /* @__PURE__ */ React220.createElement(Text123, { size: "xs", c: "dimmed", lineClamp: 2 }, getDescriptionText()))), IS_DEV && status === "pending" && /* @__PURE__ */ React220.createElement(React220.Fragment, null, /* @__PURE__ */ React220.createElement(Button38, { size: "compact-xs", variant: "light", color: "orange", leftSection: /* @__PURE__ */ React220.createElement(IconTestPipe, { size: 14 }), onClick: handleInjectDummyData }, "Test Data"), /* @__PURE__ */ React220.createElement(Button38, { size: "compact-xs", variant: "light", color: "blue", leftSection: /* @__PURE__ */ React220.createElement(IconLoader, { size: 14 }), onClick: handleSetLoading }, "Loading")), IS_DEV && (status === "ready" || status === "approved" || status === "loading") && /* @__PURE__ */ React220.createElement(Button38, { size: "compact-xs", variant: "light", color: "orange", leftSection: /* @__PURE__ */ React220.createElement(IconTrash6, { size: 14 }), onClick: handleClearData }, "Clear"), canOpenPanel && /* @__PURE__ */ React220.createElement(Tooltip20, { label: status === "approved" ? "View domain data" : "Review domain data", withArrow: true }, /* @__PURE__ */ React220.createElement(ActionIcon30, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React220.createElement(IconChevronRight9, { size: 18 })))));
21459
+ return /* @__PURE__ */ React220.createElement(BaseContainer, { blockId: block.id, onClick: canOpenPanel ? open : void 0, style: { opacity: canOpenPanel ? 1 : 0.7, cursor: canOpenPanel ? "pointer" : "not-allowed" } }, /* @__PURE__ */ React220.createElement(Group77, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React220.createElement(Group77, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("dots-circle", block.props.icon), /* @__PURE__ */ React220.createElement(Stack143, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React220.createElement(Group77, { gap: "xs", align: "center" }, /* @__PURE__ */ React220.createElement(Text123, { fw: 600, size: "sm" }, block.props.title || "Domain Card"), /* @__PURE__ */ React220.createElement(Badge37, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)`, color: "white" } } }, badgeProps.text)), /* @__PURE__ */ React220.createElement(Text123, { size: "xs", c: "dimmed", lineClamp: 2 }, getDescriptionText()))), IS_DEV && status === "pending" && /* @__PURE__ */ React220.createElement(React220.Fragment, null, /* @__PURE__ */ React220.createElement(Button38, { size: "compact-xs", variant: "light", color: "orange", leftSection: /* @__PURE__ */ React220.createElement(IconTestPipe, { size: 14 }), onClick: handleInjectDummyData }, "Test Data"), /* @__PURE__ */ React220.createElement(Button38, { size: "compact-xs", variant: "light", color: "blue", leftSection: /* @__PURE__ */ React220.createElement(IconLoader, { size: 14 }), onClick: handleSetLoading }, "Loading")), IS_DEV && (status === "ready" || status === "approved" || status === "loading") && /* @__PURE__ */ React220.createElement(Button38, { size: "compact-xs", variant: "light", color: "orange", leftSection: /* @__PURE__ */ React220.createElement(IconTrash6, { size: 14 }), onClick: handleClearData }, "Clear"), canOpenPanel && /* @__PURE__ */ React220.createElement(Tooltip21, { label: status === "approved" ? "View domain data" : "Review domain data", withArrow: true }, /* @__PURE__ */ React220.createElement(ActionIcon31, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React220.createElement(IconChevronRight9, { size: 18 })))));
21445
21460
  };
21446
21461
 
21447
21462
  // src/mantine/blocks/domainCardViewer/DomainCardViewerBlock.tsx
@@ -22388,7 +22403,7 @@ var GovernanceGroupTemplateView = ({ editor, block }) => {
22388
22403
 
22389
22404
  // src/mantine/blocks/governanceGroup/flow/FlowView.tsx
22390
22405
  import React227, { useCallback as useCallback68, useEffect as useEffect72, useMemo as useMemo82, useRef as useRef20, useState as useState88 } from "react";
22391
- import { ActionIcon as ActionIcon31, Badge as Badge39, Group as Group80, Stack as Stack147, Text as Text127, Tooltip as Tooltip21 } from "@mantine/core";
22406
+ import { ActionIcon as ActionIcon32, Badge as Badge39, Group as Group80, Stack as Stack147, Text as Text127, Tooltip as Tooltip22 } from "@mantine/core";
22392
22407
  import { IconChevronRight as IconChevronRight10 } from "@tabler/icons-react";
22393
22408
 
22394
22409
  // src/mantine/blocks/governanceGroup/flow/GovernanceGroupPanel.tsx
@@ -22727,7 +22742,7 @@ var GovernanceGroupFlowView = ({ editor, block }) => {
22727
22742
  const groupTypeName = lastSubmission.groupType ? lastSubmission.groupType.charAt(0).toUpperCase() + lastSubmission.groupType.slice(1).replace(/([A-Z])/g, " $1") : "Group";
22728
22743
  return `${groupTypeName} created: ${lastSubmission.coreAddress?.slice(0, 12)}...`;
22729
22744
  };
22730
- return /* @__PURE__ */ React227.createElement(BaseContainer, { blockId: block.id, onClick: handleOpen }, /* @__PURE__ */ React227.createElement(Group80, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React227.createElement(Group80, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("users", block.props.icon), /* @__PURE__ */ React227.createElement(Stack147, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React227.createElement(Group80, { gap: "xs", align: "center" }, /* @__PURE__ */ React227.createElement(Text127, { fw: 600, size: "sm", contentEditable: false }, block.props.title || "Governance Group"), /* @__PURE__ */ React227.createElement(Badge39, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)` } } }, badgeProps.text)), /* @__PURE__ */ React227.createElement(Text127, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 2 }, hasExistingSubmission ? getSubmissionDisplay() : block.props.description || "Open the panel to create a new governance group."))), /* @__PURE__ */ React227.createElement(Tooltip21, { label: hasExistingSubmission ? "View/Edit group" : "Create group", withArrow: true }, /* @__PURE__ */ React227.createElement(ActionIcon31, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React227.createElement(IconChevronRight10, { size: 18 })))));
22745
+ return /* @__PURE__ */ React227.createElement(BaseContainer, { blockId: block.id, onClick: handleOpen }, /* @__PURE__ */ React227.createElement(Group80, { wrap: "nowrap", justify: "space-between", align: "center" }, /* @__PURE__ */ React227.createElement(Group80, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("users", block.props.icon), /* @__PURE__ */ React227.createElement(Stack147, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React227.createElement(Group80, { gap: "xs", align: "center" }, /* @__PURE__ */ React227.createElement(Text127, { fw: 600, size: "sm", contentEditable: false }, block.props.title || "Governance Group"), /* @__PURE__ */ React227.createElement(Badge39, { size: "xs", variant: "filled", color: badgeProps.color, styles: { root: { backgroundColor: `var(--mantine-color-${badgeProps.color}-6)` } } }, badgeProps.text)), /* @__PURE__ */ React227.createElement(Text127, { size: "xs", c: "dimmed", contentEditable: false, lineClamp: 2 }, hasExistingSubmission ? getSubmissionDisplay() : block.props.description || "Open the panel to create a new governance group."))), /* @__PURE__ */ React227.createElement(Tooltip22, { label: hasExistingSubmission ? "View/Edit group" : "Create group", withArrow: true }, /* @__PURE__ */ React227.createElement(ActionIcon32, { variant: "subtle", color: "blue" }, /* @__PURE__ */ React227.createElement(IconChevronRight10, { size: 18 })))));
22731
22746
  };
22732
22747
 
22733
22748
  // src/mantine/blocks/governanceGroup/GovernanceGroupBlock.tsx
@@ -22817,7 +22832,7 @@ var GeneralTab15 = ({ title, description, icon: icon2, onTitleChange, onDescript
22817
22832
 
22818
22833
  // src/mantine/blocks/flowLink/template/LinksTab.tsx
22819
22834
  import React231, { useEffect as useEffect73, useMemo as useMemo83, useState as useState89 } from "react";
22820
- import { Stack as Stack149, Card as Card22, Group as Group81, ActionIcon as ActionIcon32, Text as Text128, Divider as Divider19 } from "@mantine/core";
22835
+ import { Stack as Stack149, Card as Card22, Group as Group81, ActionIcon as ActionIcon33, Text as Text128, Divider as Divider19 } from "@mantine/core";
22821
22836
  import { IconPlus as IconPlus6, IconTrash as IconTrash7, IconGripVertical } from "@tabler/icons-react";
22822
22837
  import { DndContext, PointerSensor, useSensor, useSensors, closestCenter, useDraggable, useDroppable } from "@dnd-kit/core";
22823
22838
 
@@ -22850,7 +22865,7 @@ var DraggableLinkCard = ({ link, index, onRemove, onUpdate }) => {
22850
22865
  opacity: isDragging ? 0.5 : 1,
22851
22866
  border: isOver ? "2px dashed var(--mantine-color-accent-5)" : void 0
22852
22867
  };
22853
- return /* @__PURE__ */ React231.createElement("div", { ref: setDropRef }, /* @__PURE__ */ React231.createElement(Card22, { p: "sm", style }, /* @__PURE__ */ React231.createElement(Stack149, { gap: "xs" }, /* @__PURE__ */ React231.createElement(Group81, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React231.createElement(Group81, { gap: "xs", align: "center" }, /* @__PURE__ */ React231.createElement("div", { ref: setDragRef, ...listeners, ...attributes, style: { cursor: "grab", display: "flex", alignItems: "center" } }, /* @__PURE__ */ React231.createElement(IconGripVertical, { size: 16, color: "gray" })), /* @__PURE__ */ React231.createElement(Text128, { size: "xs", c: "dimmed" }, link.title || `Link ${index + 1}`)), /* @__PURE__ */ React231.createElement(ActionIcon32, { variant: "subtle", color: "red", size: "sm", onClick: () => onRemove(link.id) }, /* @__PURE__ */ React231.createElement(IconTrash7, { size: 14 }))), /* @__PURE__ */ React231.createElement(Divider19, null), /* @__PURE__ */ React231.createElement(BaseTextInput, { label: "Title", placeholder: "Link title", value: link.title, onChange: (e) => onUpdate(link.id, { title: e.currentTarget.value }) }), /* @__PURE__ */ React231.createElement(
22868
+ return /* @__PURE__ */ React231.createElement("div", { ref: setDropRef }, /* @__PURE__ */ React231.createElement(Card22, { p: "sm", style }, /* @__PURE__ */ React231.createElement(Stack149, { gap: "xs" }, /* @__PURE__ */ React231.createElement(Group81, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React231.createElement(Group81, { gap: "xs", align: "center" }, /* @__PURE__ */ React231.createElement("div", { ref: setDragRef, ...listeners, ...attributes, style: { cursor: "grab", display: "flex", alignItems: "center" } }, /* @__PURE__ */ React231.createElement(IconGripVertical, { size: 16, color: "gray" })), /* @__PURE__ */ React231.createElement(Text128, { size: "xs", c: "dimmed" }, link.title || `Link ${index + 1}`)), /* @__PURE__ */ React231.createElement(ActionIcon33, { variant: "subtle", color: "red", size: "sm", onClick: () => onRemove(link.id) }, /* @__PURE__ */ React231.createElement(IconTrash7, { size: 14 }))), /* @__PURE__ */ React231.createElement(Divider19, null), /* @__PURE__ */ React231.createElement(BaseTextInput, { label: "Title", placeholder: "Link title", value: link.title, onChange: (e) => onUpdate(link.id, { title: e.currentTarget.value }) }), /* @__PURE__ */ React231.createElement(
22854
22869
  BaseTextInput,
22855
22870
  {
22856
22871
  label: "Description",
@@ -22980,11 +22995,11 @@ var FlowLinkTemplateView = ({ editor, block }) => {
22980
22995
 
22981
22996
  // src/mantine/blocks/flowLink/flow/FlowView.tsx
22982
22997
  import React235, { useMemo as useMemo85 } from "react";
22983
- import { Badge as Badge41, Group as Group84, Stack as Stack152, Text as Text131, Tooltip as Tooltip23 } from "@mantine/core";
22998
+ import { Badge as Badge41, Group as Group84, Stack as Stack152, Text as Text131, Tooltip as Tooltip24 } from "@mantine/core";
22984
22999
 
22985
23000
  // src/mantine/blocks/flowLink/flow/FlowLinkPanel.tsx
22986
23001
  import React234, { useState as useState90, useEffect as useEffect74, useCallback as useCallback69 } from "react";
22987
- import { Stack as Stack151, Text as Text130, Card as Card23, Group as Group83, Badge as Badge40, ActionIcon as ActionIcon33, Loader as Loader32, Tooltip as Tooltip22 } from "@mantine/core";
23002
+ import { Stack as Stack151, Text as Text130, Card as Card23, Group as Group83, Badge as Badge40, ActionIcon as ActionIcon34, Loader as Loader32, Tooltip as Tooltip23 } from "@mantine/core";
22988
23003
  import { IconRefresh as IconRefresh4, IconCheck as IconCheck14, IconClock as IconClock10, IconCircleDashed as IconCircleDashed4 } from "@tabler/icons-react";
22989
23004
  var FlowLinkPanel = ({ editor, block }) => {
22990
23005
  const { closePanel } = usePanelStore();
@@ -23028,7 +23043,7 @@ var FlowLinkPanel = ({ editor, block }) => {
23028
23043
  return /* @__PURE__ */ React234.createElement(Badge40, { display: "inline-block", size: "sm", variant: "light", color: "gray", leftSection: /* @__PURE__ */ React234.createElement(Loader32, { size: 10 }) }, "Loading");
23029
23044
  }
23030
23045
  if (link.error) {
23031
- return /* @__PURE__ */ React234.createElement(Tooltip22, { label: link.error }, /* @__PURE__ */ React234.createElement(Badge40, { display: "inline-block", size: "sm", variant: "light", color: "red" }, "Error"));
23046
+ return /* @__PURE__ */ React234.createElement(Tooltip23, { label: link.error }, /* @__PURE__ */ React234.createElement(Badge40, { display: "inline-block", size: "sm", variant: "light", color: "red" }, "Error"));
23032
23047
  }
23033
23048
  if (!link.statusData) {
23034
23049
  return null;
@@ -23044,7 +23059,7 @@ var FlowLinkPanel = ({ editor, block }) => {
23044
23059
  return /* @__PURE__ */ React234.createElement(Badge40, { display: "inline-block", size: "sm", variant: "light", color: "gray", leftSection: /* @__PURE__ */ React234.createElement(IconCircleDashed4, { size: 12 }) }, "Not Started");
23045
23060
  }
23046
23061
  };
23047
- return /* @__PURE__ */ React234.createElement(BaseRightPanelLayout, { title: block.props.title || "Flow Links", onClose: closePanel, isTemplate: false, context: { editor, block } }, /* @__PURE__ */ React234.createElement(Stack151, { gap: "md" }, handlers.getFlowStatus && /* @__PURE__ */ React234.createElement(Tooltip22, { label: "Refresh status" }, /* @__PURE__ */ React234.createElement(ActionIcon33, { variant: "subtle", size: "sm", onClick: fetchStatuses }, /* @__PURE__ */ React234.createElement(IconRefresh4, { size: 16 }))), linksWithStatus.length === 0 ? /* @__PURE__ */ React234.createElement(Card23, { withBorder: true, p: "md", bg: "gray.0" }, /* @__PURE__ */ React234.createElement(Text130, { size: "sm", c: "dimmed", ta: "center" }, "No flow links configured.")) : /* @__PURE__ */ React234.createElement(Stack151, { gap: "sm" }, linksWithStatus.map((link) => /* @__PURE__ */ React234.createElement(Stack151, { key: link.id }, link.description && /* @__PURE__ */ React234.createElement(Text130, null, link.description), /* @__PURE__ */ React234.createElement(
23062
+ return /* @__PURE__ */ React234.createElement(BaseRightPanelLayout, { title: block.props.title || "Flow Links", onClose: closePanel, isTemplate: false, context: { editor, block } }, /* @__PURE__ */ React234.createElement(Stack151, { gap: "md" }, handlers.getFlowStatus && /* @__PURE__ */ React234.createElement(Tooltip23, { label: "Refresh status" }, /* @__PURE__ */ React234.createElement(ActionIcon34, { variant: "subtle", size: "sm", onClick: fetchStatuses }, /* @__PURE__ */ React234.createElement(IconRefresh4, { size: 16 }))), linksWithStatus.length === 0 ? /* @__PURE__ */ React234.createElement(Card23, { withBorder: true, p: "md", bg: "gray.0" }, /* @__PURE__ */ React234.createElement(Text130, { size: "sm", c: "dimmed", ta: "center" }, "No flow links configured.")) : /* @__PURE__ */ React234.createElement(Stack151, { gap: "sm" }, linksWithStatus.map((link) => /* @__PURE__ */ React234.createElement(Stack151, { key: link.id }, link.description && /* @__PURE__ */ React234.createElement(Text130, null, link.description), /* @__PURE__ */ React234.createElement(
23048
23063
  BaseContainer,
23049
23064
  {
23050
23065
  onClick: () => handleNavigate(link),
@@ -23081,7 +23096,7 @@ var FlowLinkFlowView = ({ editor, block, isDisabled }) => {
23081
23096
  const badgeProps = getBadgeProps();
23082
23097
  const cardContent = /* @__PURE__ */ React235.createElement(BaseContainer, { blockId: block.id, onClick: handleClick, style: { opacity: disabled ? 0.6 : 1, cursor: disabled ? "not-allowed" : "pointer" } }, /* @__PURE__ */ React235.createElement(Group84, { wrap: "nowrap", align: "center", style: { flex: 1 } }, getIcon("external-link", block.props.icon), /* @__PURE__ */ React235.createElement(Stack152, { gap: 4, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React235.createElement(Group84, { gap: "xs", align: "center" }, /* @__PURE__ */ React235.createElement(Text131, { fw: 600, size: "sm" }, block.props.title || "Flow Link"), /* @__PURE__ */ React235.createElement(Badge41, { size: "xs", variant: "light", bg: badgeProps.color }, badgeProps.text)), /* @__PURE__ */ React235.createElement(Text131, { size: "xs", c: "dimmed", lineClamp: 2 }, block.props.description || (linksCount > 0 ? "Click to view links" : "No links configured")))));
23083
23098
  if (disabled && isDisabled?.message) {
23084
- return /* @__PURE__ */ React235.createElement(Tooltip23, { label: isDisabled.message }, cardContent);
23099
+ return /* @__PURE__ */ React235.createElement(Tooltip24, { label: isDisabled.message }, cardContent);
23085
23100
  }
23086
23101
  return cardContent;
23087
23102
  };
@@ -23166,7 +23181,7 @@ import { IconCheck as IconCheck15, IconClock as IconClock11, IconContract as Ico
23166
23181
 
23167
23182
  // src/mantine/blocks/action/template/GeneralTab.tsx
23168
23183
  import React239, { useEffect as useEffect75, useMemo as useMemo86, useState as useState92 } from "react";
23169
- import { Group as Group86, Stack as Stack154, Text as Text133, Button as Button40, ActionIcon as ActionIcon34, Paper as Paper16, Select as Select5, Box as Box45, Checkbox as Checkbox12 } from "@mantine/core";
23184
+ import { Group as Group86, Stack as Stack154, Text as Text133, Button as Button40, ActionIcon as ActionIcon35, Paper as Paper16, Select as Select5, Box as Box45, Checkbox as Checkbox12 } from "@mantine/core";
23170
23185
  import { IconBolt as IconBolt8, IconTrash as IconTrash8, IconPlus as IconPlus7, IconSparkles as IconSparkles6, IconBell as IconBell2, IconCheckbox as IconCheckbox3 } from "@tabler/icons-react";
23171
23186
 
23172
23187
  // src/mantine/components/Base/BaseIconCombobox.tsx
@@ -23486,7 +23501,7 @@ function BarrierSourcesEditor({
23486
23501
  style: { flex: 1 },
23487
23502
  size: "xs"
23488
23503
  }
23489
- ), /* @__PURE__ */ React239.createElement(ActionIcon34, { color: "red", variant: "subtle", onClick: () => handleRemove(index), size: "sm" }, /* @__PURE__ */ React239.createElement(IconTrash8, { size: 14 }))), src.sourceBlockId && /* @__PURE__ */ React239.createElement(
23504
+ ), /* @__PURE__ */ React239.createElement(ActionIcon35, { color: "red", variant: "subtle", onClick: () => handleRemove(index), size: "sm" }, /* @__PURE__ */ React239.createElement(IconTrash8, { size: 14 }))), src.sourceBlockId && /* @__PURE__ */ React239.createElement(
23490
23505
  Select5,
23491
23506
  {
23492
23507
  label: "Event",
@@ -23559,7 +23574,7 @@ function GenericInputsEditor({ inputs, onInputsChange, editor, blockId }) {
23559
23574
  currentBlockId: blockId,
23560
23575
  size: "sm"
23561
23576
  }
23562
- ), /* @__PURE__ */ React239.createElement(ActionIcon34, { color: "red", variant: "subtle", onClick: () => handleRemoveInput(index) }, /* @__PURE__ */ React239.createElement(IconTrash8, { size: 16 })))))));
23577
+ ), /* @__PURE__ */ React239.createElement(ActionIcon35, { color: "red", variant: "subtle", onClick: () => handleRemoveInput(index) }, /* @__PURE__ */ React239.createElement(IconTrash8, { size: 16 })))))));
23563
23578
  }
23564
23579
 
23565
23580
  // src/mantine/blocks/action/template/TemplateConfig.tsx
@@ -24039,7 +24054,7 @@ function useActionDiff({ actionType, inputs, actorDid = "", entityDid }) {
24039
24054
 
24040
24055
  // src/mantine/blocks/action/PendingInvocationList.tsx
24041
24056
  import React244, { useEffect as useEffect79, useState as useState96, useMemo as useMemo91, useCallback as useCallback72, useRef as useRef22 } from "react";
24042
- import { Stack as Stack158, Group as Group89, Text as Text138, Box as Box48, Badge as Badge43, Button as Button41, Paper as Paper17, ActionIcon as ActionIcon35, Tooltip as Tooltip24 } from "@mantine/core";
24057
+ import { Stack as Stack158, Group as Group89, Text as Text138, Box as Box48, Badge as Badge43, Button as Button41, Paper as Paper17, ActionIcon as ActionIcon36, Tooltip as Tooltip25 } from "@mantine/core";
24043
24058
  import { IconBolt as IconBolt9, IconClock as IconClock12, IconRefresh as IconRefresh5, IconX as IconX13 } from "@tabler/icons-react";
24044
24059
  var PendingInvocationList = ({ editor, blockId, actionType: _actionType, onInvoke, autoResolve }) => {
24045
24060
  const yDoc = editor?._yDoc;
@@ -24110,7 +24125,7 @@ var PendingInvocationRow = ({ invocation, editor, onInvoke, onDismiss }) => {
24110
24125
  if (!invocation.expiresAt) return false;
24111
24126
  return new Date(invocation.expiresAt).getTime() < Date.now();
24112
24127
  }, [invocation.expiresAt]);
24113
- return /* @__PURE__ */ React244.createElement(Paper17, { p: "xs", withBorder: true }, /* @__PURE__ */ React244.createElement(Group89, { justify: "space-between", align: "center", wrap: "nowrap" }, /* @__PURE__ */ React244.createElement(Box48, { style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React244.createElement(Group89, { gap: 6, align: "center", wrap: "nowrap" }, /* @__PURE__ */ React244.createElement(Badge43, { size: "xs", variant: "light", color: isExpired ? "red" : "teal" }, invocation.eventName), /* @__PURE__ */ React244.createElement(Text138, { size: "xs", c: "dimmed", truncate: true }, "from ", invocation.triggeringBlockId)), /* @__PURE__ */ React244.createElement(Text138, { size: "sm", fw: 500, mt: 2, truncate: true }, previewLabel), /* @__PURE__ */ React244.createElement(Text138, { size: "xs", c: "dimmed", mt: 2 }, formatTimestamp2(invocation.emittedAt), isExpired && " \xB7 expired")), /* @__PURE__ */ React244.createElement(Group89, { gap: 4, wrap: "nowrap" }, /* @__PURE__ */ React244.createElement(Tooltip24, { label: "Invoke this listener", withArrow: true }, /* @__PURE__ */ React244.createElement(Button41, { size: "xs", variant: "filled", leftSection: /* @__PURE__ */ React244.createElement(IconRefresh5, { size: 12 }), onClick: () => onInvoke?.(invocation), disabled: isExpired || !onInvoke }, "Invoke")), /* @__PURE__ */ React244.createElement(Tooltip24, { label: "Dismiss without invoking", withArrow: true }, /* @__PURE__ */ React244.createElement(ActionIcon35, { variant: "subtle", color: "gray", onClick: onDismiss, "aria-label": "Dismiss" }, /* @__PURE__ */ React244.createElement(IconX13, { size: 14 }))))));
24128
+ return /* @__PURE__ */ React244.createElement(Paper17, { p: "xs", withBorder: true }, /* @__PURE__ */ React244.createElement(Group89, { justify: "space-between", align: "center", wrap: "nowrap" }, /* @__PURE__ */ React244.createElement(Box48, { style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React244.createElement(Group89, { gap: 6, align: "center", wrap: "nowrap" }, /* @__PURE__ */ React244.createElement(Badge43, { size: "xs", variant: "light", color: isExpired ? "red" : "teal" }, invocation.eventName), /* @__PURE__ */ React244.createElement(Text138, { size: "xs", c: "dimmed", truncate: true }, "from ", invocation.triggeringBlockId)), /* @__PURE__ */ React244.createElement(Text138, { size: "sm", fw: 500, mt: 2, truncate: true }, previewLabel), /* @__PURE__ */ React244.createElement(Text138, { size: "xs", c: "dimmed", mt: 2 }, formatTimestamp2(invocation.emittedAt), isExpired && " \xB7 expired")), /* @__PURE__ */ React244.createElement(Group89, { gap: 4, wrap: "nowrap" }, /* @__PURE__ */ React244.createElement(Tooltip25, { label: "Invoke this listener", withArrow: true }, /* @__PURE__ */ React244.createElement(Button41, { size: "xs", variant: "filled", leftSection: /* @__PURE__ */ React244.createElement(IconRefresh5, { size: 12 }), onClick: () => onInvoke?.(invocation), disabled: isExpired || !onInvoke }, "Invoke")), /* @__PURE__ */ React244.createElement(Tooltip25, { label: "Dismiss without invoking", withArrow: true }, /* @__PURE__ */ React244.createElement(ActionIcon36, { variant: "subtle", color: "gray", onClick: onDismiss, "aria-label": "Dismiss" }, /* @__PURE__ */ React244.createElement(IconX13, { size: 14 }))))));
24114
24129
  };
24115
24130
  function buildPreview(editor, invocation) {
24116
24131
  const sourceBlock = (editor?.document || []).find((b) => b?.id === invocation.triggeringBlockId);
@@ -24544,7 +24559,17 @@ function ActionFlowPanel({ editor, block, isDisabled }) {
24544
24559
  );
24545
24560
  return baseTabs;
24546
24561
  }, [editor, block, actionType, FlowDetailComponent, disabled, isDisabled?.message]);
24547
- return /* @__PURE__ */ React246.createElement(BaseRightPanelLayout, { stepTabs: true, onClose: closePanel, title: block.props.title || getActionMeta(actionType).label || "", tabs, context: { editor, block } });
24562
+ return /* @__PURE__ */ React246.createElement(
24563
+ BaseRightPanelLayout,
24564
+ {
24565
+ stepTabs: true,
24566
+ showSettings: false,
24567
+ onClose: closePanel,
24568
+ title: block.props.title || getActionMeta(actionType).label || "",
24569
+ tabs,
24570
+ context: { editor, block }
24571
+ }
24572
+ );
24548
24573
  }
24549
24574
  function ActionPanelContent({
24550
24575
  actionType,
@@ -25104,7 +25129,7 @@ var EntitySingleSelectionConfig = ({ inputs, onInputsChange }) => {
25104
25129
 
25105
25130
  // src/mantine/blocks/action/actionTypes/pod/entitySingleSelection/EntitySingleSelectionFlowDetail.tsx
25106
25131
  import React252, { useCallback as useCallback80, useEffect as useEffect85, useState as useState104 } from "react";
25107
- import { ActionIcon as ActionIcon36, Badge as Badge44, Box as Box52, Button as Button46, Group as Group94, Loader as Loader36, Stack as Stack166, Text as Text146, Tooltip as Tooltip25 } from "@mantine/core";
25132
+ import { ActionIcon as ActionIcon37, Badge as Badge44, Box as Box52, Button as Button46, Group as Group94, Loader as Loader36, Stack as Stack166, Text as Text146, Tooltip as Tooltip26 } from "@mantine/core";
25108
25133
  import { IconRefresh as IconRefresh6 } from "@tabler/icons-react";
25109
25134
  var ALLOWED_TYPES = ["dao", "dao/pod"];
25110
25135
  var TYPE_LABELS = {
@@ -25181,7 +25206,7 @@ var EntitySingleSelectionFlowDetail = ({ block, runtime, isDisabled, executeActi
25181
25206
  const output = { selectedEntityDid: null, selectedEntityName: "", selectedEntityType: "", skipped: true };
25182
25207
  await executeAction({ runtimeInputs: output });
25183
25208
  }, [executeAction]);
25184
- return /* @__PURE__ */ React252.createElement(Stack166, { gap: "md" }, /* @__PURE__ */ React252.createElement(Stack166, { gap: 2 }, /* @__PURE__ */ React252.createElement(Text146, { fw: 600 }, block?.props?.title || "Parent Organisation"), /* @__PURE__ */ React252.createElement(Text146, { size: "sm", c: "dimmed" }, block?.props?.description || "Optionally nest this POD inside a DAO or POD you control. You can skip this step.")), error && /* @__PURE__ */ React252.createElement(DismissibleAlert, { color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React252.createElement(Text146, { size: "sm" }, error)), /* @__PURE__ */ React252.createElement(Group94, { justify: "space-between", align: "center", wrap: "nowrap" }, /* @__PURE__ */ React252.createElement(Text146, { size: "sm", fw: 600 }, "Available parent organisations"), /* @__PURE__ */ React252.createElement(Tooltip25, { label: "Refetch organisations", withArrow: true }, /* @__PURE__ */ React252.createElement(ActionIcon36, { variant: "subtle", size: "sm", onClick: loadEntities, loading, disabled: isDisabled, "aria-label": "Refetch organisations" }, /* @__PURE__ */ React252.createElement(IconRefresh6, { size: 16 })))), loading ? /* @__PURE__ */ React252.createElement(Group94, { justify: "center", py: "md" }, /* @__PURE__ */ React252.createElement(Loader36, { size: "sm" }), /* @__PURE__ */ React252.createElement(Text146, { size: "sm", c: "dimmed" }, "Loading your organisations...")) : /* @__PURE__ */ React252.createElement(Stack166, { gap: "xs" }, entities.length === 0 && !error && /* @__PURE__ */ React252.createElement(Text146, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No DAOs or PODs found where you are a controller."), entities.map((entity) => {
25209
+ return /* @__PURE__ */ React252.createElement(Stack166, { gap: "md" }, /* @__PURE__ */ React252.createElement(Stack166, { gap: 2 }, /* @__PURE__ */ React252.createElement(Text146, { fw: 600 }, block?.props?.title || "Parent Organisation"), /* @__PURE__ */ React252.createElement(Text146, { size: "sm", c: "dimmed" }, block?.props?.description || "Optionally nest this POD inside a DAO or POD you control. You can skip this step.")), error && /* @__PURE__ */ React252.createElement(DismissibleAlert, { color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React252.createElement(Text146, { size: "sm" }, error)), /* @__PURE__ */ React252.createElement(Group94, { justify: "space-between", align: "center", wrap: "nowrap" }, /* @__PURE__ */ React252.createElement(Text146, { size: "sm", fw: 600 }, "Available parent organisations"), /* @__PURE__ */ React252.createElement(Tooltip26, { label: "Refetch organisations", withArrow: true }, /* @__PURE__ */ React252.createElement(ActionIcon37, { variant: "subtle", size: "sm", onClick: loadEntities, loading, disabled: isDisabled, "aria-label": "Refetch organisations" }, /* @__PURE__ */ React252.createElement(IconRefresh6, { size: 16 })))), loading ? /* @__PURE__ */ React252.createElement(Group94, { justify: "center", py: "md" }, /* @__PURE__ */ React252.createElement(Loader36, { size: "sm" }), /* @__PURE__ */ React252.createElement(Text146, { size: "sm", c: "dimmed" }, "Loading your organisations...")) : /* @__PURE__ */ React252.createElement(Stack166, { gap: "xs" }, entities.length === 0 && !error && /* @__PURE__ */ React252.createElement(Text146, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No DAOs or PODs found where you are a controller."), entities.map((entity) => {
25185
25210
  const isSelected = entity.did === selectedDid;
25186
25211
  return /* @__PURE__ */ React252.createElement(
25187
25212
  Box52,
@@ -25236,7 +25261,7 @@ var MemberMultiSelectConfig = ({ inputs, onInputsChange }) => {
25236
25261
 
25237
25262
  // src/mantine/blocks/action/actionTypes/pod/memberMultiSelect/MemberMultiSelectFlowDetail.tsx
25238
25263
  import React254, { useCallback as useCallback82, useMemo as useMemo95, useRef as useRef25, useState as useState106 } from "react";
25239
- import { ActionIcon as ActionIcon37, Badge as Badge45, Button as Button47, Flex as Flex35, Group as Group95, Loader as Loader37, NumberInput as NumberInput3, Paper as Paper18, Select as Select6, Stack as Stack168, Switch as Switch6, Text as Text148, TextInput as TextInput7 } from "@mantine/core";
25264
+ import { ActionIcon as ActionIcon38, Badge as Badge45, Button as Button47, Flex as Flex35, Group as Group95, Loader as Loader37, NumberInput as NumberInput3, Paper as Paper18, Select as Select6, Stack as Stack168, Switch as Switch6, Text as Text148, TextInput as TextInput7 } from "@mantine/core";
25240
25265
  import { IconSearch as IconSearch8, IconAlertCircle as IconAlertCircle20, IconCheck as IconCheck16, IconX as IconX15 } from "@tabler/icons-react";
25241
25266
  function normalizeMember(m) {
25242
25267
  return {
@@ -25494,7 +25519,7 @@ var MemberMultiSelectFlowDetail = ({ inputs, block, runtime, isDisabled, execute
25494
25519
  onClick: () => handleUpdateMember(i, { votingPower: m.votingPower - 1 })
25495
25520
  },
25496
25521
  "\u2212"
25497
- ), /* @__PURE__ */ React254.createElement(Text148, { size: "sm", w: 20, ta: "center" }, m.votingPower), /* @__PURE__ */ React254.createElement(Button47, { variant: "subtle", size: "compact-xs", px: 6, disabled: isDisabled, onClick: () => handleUpdateMember(i, { votingPower: m.votingPower + 1 }) }, "+")), /* @__PURE__ */ React254.createElement(ActionIcon37, { color: "red", variant: "subtle", size: "sm", onClick: () => handleRemoveMember(i), disabled: isDisabled || members.length === 1 }, /* @__PURE__ */ React254.createElement(IconX15, { size: 14 }))));
25522
+ ), /* @__PURE__ */ React254.createElement(Text148, { size: "sm", w: 20, ta: "center" }, m.votingPower), /* @__PURE__ */ React254.createElement(Button47, { variant: "subtle", size: "compact-xs", px: 6, disabled: isDisabled, onClick: () => handleUpdateMember(i, { votingPower: m.votingPower + 1 }) }, "+")), /* @__PURE__ */ React254.createElement(ActionIcon38, { color: "red", variant: "subtle", size: "sm", onClick: () => handleRemoveMember(i), disabled: isDisabled || members.length === 1 }, /* @__PURE__ */ React254.createElement(IconX15, { size: 14 }))));
25498
25523
  })));
25499
25524
  const renderMultisig = () => /* @__PURE__ */ React254.createElement(Stack168, { gap: "md" }, /* @__PURE__ */ React254.createElement(
25500
25525
  NumberInput3,
@@ -25508,7 +25533,7 @@ var MemberMultiSelectFlowDetail = ({ inputs, block, runtime, isDisabled, execute
25508
25533
  disabled: isDisabled,
25509
25534
  size: "sm"
25510
25535
  }
25511
- ), /* @__PURE__ */ React254.createElement(MemberSearch, { members, onAdd: handleAddMember, isDisabled }), members.length > 0 && /* @__PURE__ */ React254.createElement(Stack168, { gap: "xs" }, /* @__PURE__ */ React254.createElement(Group95, { gap: "xs" }, /* @__PURE__ */ React254.createElement(Text148, { size: "xs", fw: 600, c: "dimmed" }, "SIGNATORIES (", members.length, ")"), /* @__PURE__ */ React254.createElement(Badge45, { size: "xs", color: "orange", variant: "light" }, "threshold: ", multisigThreshold, " of ", members.length)), members.map((m, i) => /* @__PURE__ */ React254.createElement(Paper18, { key: `${m.did}-${i}`, withBorder: true, p: "sm", style: { borderRadius: 10 } }, /* @__PURE__ */ React254.createElement(Group95, { wrap: "nowrap", gap: "sm", align: "center" }, /* @__PURE__ */ React254.createElement(BaseAvatar, { src: m.avatarUrl, did: m.did, size: 32 }), /* @__PURE__ */ React254.createElement(Stack168, { gap: 0, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React254.createElement(Text148, { size: "sm", fw: 500, lineClamp: 1 }, m.displayName), /* @__PURE__ */ React254.createElement(Text148, { size: "xs", c: "dimmed", lineClamp: 1 }, (m.did || "").length > 44 ? `${m.did.slice(0, 22)}\u2026${m.did.slice(-16)}` : m.did)), /* @__PURE__ */ React254.createElement(ActionIcon37, { color: "red", variant: "subtle", size: "sm", onClick: () => handleRemoveMember(i), disabled: isDisabled || members.length === 1 }, /* @__PURE__ */ React254.createElement(IconX15, { size: 14 })))))));
25536
+ ), /* @__PURE__ */ React254.createElement(MemberSearch, { members, onAdd: handleAddMember, isDisabled }), members.length > 0 && /* @__PURE__ */ React254.createElement(Stack168, { gap: "xs" }, /* @__PURE__ */ React254.createElement(Group95, { gap: "xs" }, /* @__PURE__ */ React254.createElement(Text148, { size: "xs", fw: 600, c: "dimmed" }, "SIGNATORIES (", members.length, ")"), /* @__PURE__ */ React254.createElement(Badge45, { size: "xs", color: "orange", variant: "light" }, "threshold: ", multisigThreshold, " of ", members.length)), members.map((m, i) => /* @__PURE__ */ React254.createElement(Paper18, { key: `${m.did}-${i}`, withBorder: true, p: "sm", style: { borderRadius: 10 } }, /* @__PURE__ */ React254.createElement(Group95, { wrap: "nowrap", gap: "sm", align: "center" }, /* @__PURE__ */ React254.createElement(BaseAvatar, { src: m.avatarUrl, did: m.did, size: 32 }), /* @__PURE__ */ React254.createElement(Stack168, { gap: 0, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React254.createElement(Text148, { size: "sm", fw: 500, lineClamp: 1 }, m.displayName), /* @__PURE__ */ React254.createElement(Text148, { size: "xs", c: "dimmed", lineClamp: 1 }, (m.did || "").length > 44 ? `${m.did.slice(0, 22)}\u2026${m.did.slice(-16)}` : m.did)), /* @__PURE__ */ React254.createElement(ActionIcon38, { color: "red", variant: "subtle", size: "sm", onClick: () => handleRemoveMember(i), disabled: isDisabled || members.length === 1 }, /* @__PURE__ */ React254.createElement(IconX15, { size: 14 })))))));
25512
25537
  const renderNftStaking = () => /* @__PURE__ */ React254.createElement(Stack168, { gap: "md" }, /* @__PURE__ */ React254.createElement(DismissibleAlert, { color: "blue", styles: actionAlertStyles }, /* @__PURE__ */ React254.createElement(Text148, { size: "sm" }, "For NFT staking groups, voting power is derived from on-chain NFT holdings. Provide the NFT contract address \u2014 no explicit member list is needed.")), /* @__PURE__ */ React254.createElement(
25513
25538
  TextInput7,
25514
25539
  {
@@ -25929,7 +25954,7 @@ var ListDomainFlowsConfig = ({ inputs, onInputsChange }) => {
25929
25954
 
25930
25955
  // src/mantine/blocks/action/actionTypes/pod/listDomainFlows/ListDomainFlowsFlowDetail.tsx
25931
25956
  import React258, { useCallback as useCallback86, useEffect as useEffect89, useMemo as useMemo97, useRef as useRef26, useState as useState110 } from "react";
25932
- import { ActionIcon as ActionIcon38, Badge as Badge46, Box as Box54, Button as Button49, Checkbox as Checkbox13, Group as Group97, Loader as Loader38, Stack as Stack172, Text as Text152, Tooltip as Tooltip26 } from "@mantine/core";
25957
+ import { ActionIcon as ActionIcon39, Badge as Badge46, Box as Box54, Button as Button49, Checkbox as Checkbox13, Group as Group97, Loader as Loader38, Stack as Stack172, Text as Text152, Tooltip as Tooltip27 } from "@mantine/core";
25933
25958
  import { IconAlertCircle as IconAlertCircle22, IconArrowLeft as IconArrowLeft7, IconCheck as IconCheck18, IconFolders, IconRefresh as IconRefresh7, IconTemplate } from "@tabler/icons-react";
25934
25959
  function templateSelectionKey(protocolDid, template) {
25935
25960
  return `${protocolDid}::${template.sourceRoomId}`;
@@ -26123,7 +26148,7 @@ var ListDomainFlowsFlowDetail = ({ inputs, block, runtime, updateRuntime, isDisa
26123
26148
  /* @__PURE__ */ React258.createElement(Group97, { wrap: "nowrap", gap: "sm", align: "center" }, /* @__PURE__ */ React258.createElement(Checkbox13, { checked, disabled, onChange: (event) => toggleTemplate(protocol.protocolDid, template, event.currentTarget.checked) }), /* @__PURE__ */ React258.createElement(Stack172, { gap: 2, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React258.createElement(Group97, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React258.createElement(Text152, { fw: 500, size: "sm", lineClamp: 1 }, template.label), template.alreadyImported && /* @__PURE__ */ React258.createElement(Badge46, { size: "xs", color: "gray", variant: "light" }, "imported")), /* @__PURE__ */ React258.createElement(Text152, { size: "xs", c: "dimmed", lineClamp: 1, ff: "monospace" }, template.path || template.sourceRoomId)))
26124
26149
  );
26125
26150
  };
26126
- return /* @__PURE__ */ React258.createElement(Stack172, { gap: "md" }, /* @__PURE__ */ React258.createElement(Stack172, { gap: 2 }, /* @__PURE__ */ React258.createElement(Text152, { fw: 600 }, block?.props?.title || "Linked Flows"), /* @__PURE__ */ React258.createElement(Text152, { size: "sm", c: "dimmed" }, block?.props?.description || "Choose flow templates from protocol deeds. You can select templates across multiple deeds.")), loading && /* @__PURE__ */ React258.createElement(Group97, { justify: "center", py: "sm" }, /* @__PURE__ */ React258.createElement(Loader38, { size: "sm" }), /* @__PURE__ */ React258.createElement(Text152, { size: "sm", c: "dimmed" }, "Loading protocol templates...")), error && /* @__PURE__ */ React258.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React258.createElement(IconAlertCircle22, { size: 16 }), color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React258.createElement(Text152, { size: "sm" }, error)), !loading && !error && protocols.length === 0 && /* @__PURE__ */ React258.createElement(Text152, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No protocol deeds with templates were found."), !loading && !error && protocols.length > 0 && view === "deeds" && /* @__PURE__ */ React258.createElement(Stack172, { gap: "xs" }, /* @__PURE__ */ React258.createElement(Group97, { justify: "space-between", gap: "sm" }, /* @__PURE__ */ React258.createElement(Text152, { size: "xs", fw: 600, c: "dimmed" }, "PROTOCOL DEEDS"), /* @__PURE__ */ React258.createElement(Tooltip26, { label: "Refresh protocol deeds", withArrow: true }, /* @__PURE__ */ React258.createElement(ActionIcon38, { variant: "subtle", size: "sm", onClick: () => loadProtocols("refresh"), loading: refreshing, disabled: isDisabled }, /* @__PURE__ */ React258.createElement(IconRefresh7, { size: 16 })))), protocols.map((protocol) => {
26151
+ return /* @__PURE__ */ React258.createElement(Stack172, { gap: "md" }, /* @__PURE__ */ React258.createElement(Stack172, { gap: 2 }, /* @__PURE__ */ React258.createElement(Text152, { fw: 600 }, block?.props?.title || "Linked Flows"), /* @__PURE__ */ React258.createElement(Text152, { size: "sm", c: "dimmed" }, block?.props?.description || "Choose flow templates from protocol deeds. You can select templates across multiple deeds.")), loading && /* @__PURE__ */ React258.createElement(Group97, { justify: "center", py: "sm" }, /* @__PURE__ */ React258.createElement(Loader38, { size: "sm" }), /* @__PURE__ */ React258.createElement(Text152, { size: "sm", c: "dimmed" }, "Loading protocol templates...")), error && /* @__PURE__ */ React258.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React258.createElement(IconAlertCircle22, { size: 16 }), color: "red", styles: actionAlertStyles }, /* @__PURE__ */ React258.createElement(Text152, { size: "sm" }, error)), !loading && !error && protocols.length === 0 && /* @__PURE__ */ React258.createElement(Text152, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No protocol deeds with templates were found."), !loading && !error && protocols.length > 0 && view === "deeds" && /* @__PURE__ */ React258.createElement(Stack172, { gap: "xs" }, /* @__PURE__ */ React258.createElement(Group97, { justify: "space-between", gap: "sm" }, /* @__PURE__ */ React258.createElement(Text152, { size: "xs", fw: 600, c: "dimmed" }, "PROTOCOL DEEDS"), /* @__PURE__ */ React258.createElement(Tooltip27, { label: "Refresh protocol deeds", withArrow: true }, /* @__PURE__ */ React258.createElement(ActionIcon39, { variant: "subtle", size: "sm", onClick: () => loadProtocols("refresh"), loading: refreshing, disabled: isDisabled }, /* @__PURE__ */ React258.createElement(IconRefresh7, { size: 16 })))), protocols.map((protocol) => {
26127
26152
  const selectedCount = protocol.templates.filter((template) => isTemplateSelected(selected, protocol.protocolDid, template)).length;
26128
26153
  return /* @__PURE__ */ React258.createElement(
26129
26154
  Box54,
@@ -26145,7 +26170,7 @@ var ListDomainFlowsFlowDetail = ({ inputs, block, runtime, updateRuntime, isDisa
26145
26170
  },
26146
26171
  /* @__PURE__ */ React258.createElement(Stack172, { gap: 6 }, /* @__PURE__ */ React258.createElement(Group97, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React258.createElement(IconFolders, { size: 16, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React258.createElement(Text152, { size: "sm", fw: 500, lineClamp: 1 }, protocol.name)), protocol.description && /* @__PURE__ */ React258.createElement(Text152, { size: "xs", c: "dimmed", lineClamp: 2 }, protocol.description), /* @__PURE__ */ React258.createElement(Group97, { gap: "xs" }, /* @__PURE__ */ React258.createElement(Badge46, { size: "xs", color: "gray", variant: "light" }, protocol.templates.length, " template", protocol.templates.length === 1 ? "" : "s"), selectedCount > 0 && /* @__PURE__ */ React258.createElement(Badge46, { size: "xs", color: "blue", variant: "light" }, selectedCount, " selected"), protocol.importedCount ? /* @__PURE__ */ React258.createElement(Badge46, { size: "xs", color: "gray", variant: "dot" }, protocol.importedCount, " imported") : null))
26147
26172
  );
26148
- })), !loading && !error && view === "templates" && activeProtocol && /* @__PURE__ */ React258.createElement(Stack172, { gap: "xs" }, /* @__PURE__ */ React258.createElement(Group97, { justify: "space-between", gap: "sm" }, /* @__PURE__ */ React258.createElement(Group97, { gap: "xs", style: { minWidth: 0 } }, /* @__PURE__ */ React258.createElement(Tooltip26, { label: "Back to protocol deeds", withArrow: true }, /* @__PURE__ */ React258.createElement(ActionIcon38, { variant: "subtle", size: "sm", onClick: goBackToDeeds }, /* @__PURE__ */ React258.createElement(IconArrowLeft7, { size: 16 }))), /* @__PURE__ */ React258.createElement(IconTemplate, { size: 16, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React258.createElement(Text152, { size: "xs", fw: 600, c: "dimmed", lineClamp: 1 }, activeProtocol.name)), /* @__PURE__ */ React258.createElement(Group97, { gap: "xs" }, /* @__PURE__ */ React258.createElement(Badge46, { size: "xs", color: "blue", variant: "light" }, activeProtocol.templates.filter((template) => isTemplateSelected(selected, activeProtocol.protocolDid, template)).length, " selected"), /* @__PURE__ */ React258.createElement(
26173
+ })), !loading && !error && view === "templates" && activeProtocol && /* @__PURE__ */ React258.createElement(Stack172, { gap: "xs" }, /* @__PURE__ */ React258.createElement(Group97, { justify: "space-between", gap: "sm" }, /* @__PURE__ */ React258.createElement(Group97, { gap: "xs", style: { minWidth: 0 } }, /* @__PURE__ */ React258.createElement(Tooltip27, { label: "Back to protocol deeds", withArrow: true }, /* @__PURE__ */ React258.createElement(ActionIcon39, { variant: "subtle", size: "sm", onClick: goBackToDeeds }, /* @__PURE__ */ React258.createElement(IconArrowLeft7, { size: 16 }))), /* @__PURE__ */ React258.createElement(IconTemplate, { size: 16, color: "var(--mantine-color-blue-4)" }), /* @__PURE__ */ React258.createElement(Text152, { size: "xs", fw: 600, c: "dimmed", lineClamp: 1 }, activeProtocol.name)), /* @__PURE__ */ React258.createElement(Group97, { gap: "xs" }, /* @__PURE__ */ React258.createElement(Badge46, { size: "xs", color: "blue", variant: "light" }, activeProtocol.templates.filter((template) => isTemplateSelected(selected, activeProtocol.protocolDid, template)).length, " selected"), /* @__PURE__ */ React258.createElement(
26149
26174
  Button49,
26150
26175
  {
26151
26176
  size: "compact-xs",
@@ -26293,7 +26318,7 @@ var GovernanceMemberProposalConfig = ({ inputs, onInputsChange }) => {
26293
26318
 
26294
26319
  // src/mantine/blocks/action/actionTypes/governance/memberProposal/GovernanceMemberProposalFlowDetail.tsx
26295
26320
  import React263, { useCallback as useCallback89, useEffect as useEffect94, useMemo as useMemo100, useRef as useRef29, useState as useState116 } from "react";
26296
- import { ActionIcon as ActionIcon39, Button as Button51, Card as Card24, Group as Group98, Loader as Loader41, Paper as Paper20, SegmentedControl as SegmentedControl7, Select as Select8, Stack as Stack177, Text as Text156 } from "@mantine/core";
26321
+ import { ActionIcon as ActionIcon40, Button as Button51, Card as Card24, Group as Group98, Loader as Loader41, Paper as Paper20, SegmentedControl as SegmentedControl7, Select as Select8, Stack as Stack177, Text as Text156 } from "@mantine/core";
26297
26322
  import { IconAlertCircle as IconAlertCircle23, IconCheck as IconCheck19, IconUsers as IconUsers7, IconX as IconX16 } from "@tabler/icons-react";
26298
26323
 
26299
26324
  // src/mantine/blocks/action/actionTypes/governance/_shared/UserSearch.tsx
@@ -26683,7 +26708,7 @@ var GovernanceMemberProposalFlowDetail = ({
26683
26708
  onClick: () => setAddList((prev) => prev.map((x, idx) => idx === i ? { ...x, weight: x.weight + 1 } : x))
26684
26709
  },
26685
26710
  "+"
26686
- )), /* @__PURE__ */ React263.createElement(ActionIcon39, { color: "red", variant: "subtle", size: "sm", disabled: isDisabled, onClick: () => setAddList((prev) => prev.filter((_, idx) => idx !== i)) }, /* @__PURE__ */ React263.createElement(IconX16, { size: 14 }))))))), operation === "remove" && /* @__PURE__ */ React263.createElement(
26711
+ )), /* @__PURE__ */ React263.createElement(ActionIcon40, { color: "red", variant: "subtle", size: "sm", disabled: isDisabled, onClick: () => setAddList((prev) => prev.filter((_, idx) => idx !== i)) }, /* @__PURE__ */ React263.createElement(IconX16, { size: 14 }))))))), operation === "remove" && /* @__PURE__ */ React263.createElement(
26687
26712
  Select8,
26688
26713
  {
26689
26714
  label: "Member to remove",
@@ -28383,7 +28408,7 @@ import { IconPlugConnected } from "@tabler/icons-react";
28383
28408
 
28384
28409
  // src/mantine/blocks/action/actionTypes/governance/_shared/EntityDidField.tsx
28385
28410
  import React282, { useCallback as useCallback97, useMemo as useMemo105 } from "react";
28386
- import { Button as Button56, Stack as Stack189, Text as Text170, Tooltip as Tooltip27 } from "@mantine/core";
28411
+ import { Button as Button56, Stack as Stack189, Text as Text170, Tooltip as Tooltip28 } from "@mantine/core";
28387
28412
  import { IconWorldPin } from "@tabler/icons-react";
28388
28413
  var EntityDidField = ({ label, description, value, onChange, isDisabled, placeholder }) => {
28389
28414
  const handlers = useBlocknoteHandlers();
@@ -28409,7 +28434,7 @@ var EntityDidField = ({ label, description, value, onChange, isDisabled, placeho
28409
28434
  disabled: isDisabled,
28410
28435
  size: "sm",
28411
28436
  rightSectionWidth: 130,
28412
- rightSection: currentDid ? /* @__PURE__ */ React282.createElement(Tooltip27, { label: currentDid, position: "top", withArrow: true }, /* @__PURE__ */ React282.createElement(Button56, { variant: "light", size: "compact-xs", leftSection: /* @__PURE__ */ React282.createElement(IconWorldPin, { size: 12 }), onClick: useCurrent, disabled: isDisabled || isCurrent }, isCurrent ? "This domain" : "Use this domain")) : void 0
28437
+ rightSection: currentDid ? /* @__PURE__ */ React282.createElement(Tooltip28, { label: currentDid, position: "top", withArrow: true }, /* @__PURE__ */ React282.createElement(Button56, { variant: "light", size: "compact-xs", leftSection: /* @__PURE__ */ React282.createElement(IconWorldPin, { size: 12 }), onClick: useCurrent, disabled: isDisabled || isCurrent }, isCurrent ? "This domain" : "Use this domain")) : void 0
28413
28438
  }
28414
28439
  ), isCurrent && /* @__PURE__ */ React282.createElement(Text170, { size: "xs", c: "dimmed" }, "Using the current domain's DID."));
28415
28440
  };
@@ -28567,7 +28592,7 @@ import { IconSitemap as IconSitemap2 } from "@tabler/icons-react";
28567
28592
 
28568
28593
  // src/mantine/blocks/action/actionTypes/governance/daoManageSubDaos/GovernanceDaoManageSubDaosFlowDetail.tsx
28569
28594
  import React286, { useState as useState138 } from "react";
28570
- import { ActionIcon as ActionIcon40, Button as Button57, Group as Group102, Paper as Paper22, Stack as Stack191, Text as Text172 } from "@mantine/core";
28595
+ import { ActionIcon as ActionIcon41, Button as Button57, Group as Group102, Paper as Paper22, Stack as Stack191, Text as Text172 } from "@mantine/core";
28571
28596
  import { IconSitemap, IconX as IconX17 } from "@tabler/icons-react";
28572
28597
 
28573
28598
  // src/mantine/blocks/action/actionTypes/governance/_shared/GroupAccountField.tsx
@@ -28664,7 +28689,7 @@ var AddressList = ({ label, entryLabel, entryDescription, addresses, onChange, i
28664
28689
  onChange([...addresses, addr]);
28665
28690
  setDraft("");
28666
28691
  };
28667
- return /* @__PURE__ */ React286.createElement(Stack191, { gap: "xs" }, /* @__PURE__ */ React286.createElement(Text172, { size: "xs", fw: 600, c: "dimmed" }, label), addresses.map((addr, i) => /* @__PURE__ */ React286.createElement(Paper22, { key: addr, withBorder: true, p: "sm", style: { borderRadius: 10 } }, /* @__PURE__ */ React286.createElement(Group102, { wrap: "nowrap", gap: "sm", align: "center" }, /* @__PURE__ */ React286.createElement(Text172, { size: "sm", style: { flex: 1, minWidth: 0, wordBreak: "break-all" } }, addr), /* @__PURE__ */ React286.createElement(ActionIcon40, { color: "red", variant: "subtle", size: "sm", disabled: isDisabled, onClick: () => onChange(addresses.filter((_, idx) => idx !== i)) }, /* @__PURE__ */ React286.createElement(IconX17, { size: 14 }))))), /* @__PURE__ */ React286.createElement(Group102, { gap: "xs", wrap: "nowrap", align: "flex-end" }, /* @__PURE__ */ React286.createElement("div", { style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React286.createElement(GroupAccountField, { label: entryLabel, description: entryDescription, value: draft, onChange: setDraft, isDisabled })), /* @__PURE__ */ React286.createElement(Button57, { size: "sm", variant: "light", onClick: handleAdd, disabled: isDisabled || !draft.trim() || addresses.includes(draft.trim()) }, "Add")));
28692
+ return /* @__PURE__ */ React286.createElement(Stack191, { gap: "xs" }, /* @__PURE__ */ React286.createElement(Text172, { size: "xs", fw: 600, c: "dimmed" }, label), addresses.map((addr, i) => /* @__PURE__ */ React286.createElement(Paper22, { key: addr, withBorder: true, p: "sm", style: { borderRadius: 10 } }, /* @__PURE__ */ React286.createElement(Group102, { wrap: "nowrap", gap: "sm", align: "center" }, /* @__PURE__ */ React286.createElement(Text172, { size: "sm", style: { flex: 1, minWidth: 0, wordBreak: "break-all" } }, addr), /* @__PURE__ */ React286.createElement(ActionIcon41, { color: "red", variant: "subtle", size: "sm", disabled: isDisabled, onClick: () => onChange(addresses.filter((_, idx) => idx !== i)) }, /* @__PURE__ */ React286.createElement(IconX17, { size: 14 }))))), /* @__PURE__ */ React286.createElement(Group102, { gap: "xs", wrap: "nowrap", align: "flex-end" }, /* @__PURE__ */ React286.createElement("div", { style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React286.createElement(GroupAccountField, { label: entryLabel, description: entryDescription, value: draft, onChange: setDraft, isDisabled })), /* @__PURE__ */ React286.createElement(Button57, { size: "sm", variant: "light", onClick: handleAdd, disabled: isDisabled || !draft.trim() || addresses.includes(draft.trim()) }, "Add")));
28668
28693
  };
28669
28694
  var GovernanceDaoManageSubDaosFlowDetail = (props) => {
28670
28695
  const { isDisabled } = props;
@@ -28890,7 +28915,7 @@ import { IconRosetteDiscountCheck as IconRosetteDiscountCheck2 } from "@tabler/i
28890
28915
 
28891
28916
  // src/mantine/blocks/action/actionTypes/governance/daoAcceptToMarketplace/GovernanceDaoAcceptToMarketplaceFlowDetail.tsx
28892
28917
  import React289, { useMemo as useMemo107, useState as useState141 } from "react";
28893
- import { Button as Button58, Tooltip as Tooltip28 } from "@mantine/core";
28918
+ import { Button as Button58, Tooltip as Tooltip29 } from "@mantine/core";
28894
28919
  import { IconRosetteDiscountCheck } from "@tabler/icons-react";
28895
28920
  var GovernanceDaoAcceptToMarketplaceFlowDetail = (props) => {
28896
28921
  const { isDisabled } = props;
@@ -28940,7 +28965,7 @@ var GovernanceDaoAcceptToMarketplaceFlowDetail = (props) => {
28940
28965
  disabled: isDisabled,
28941
28966
  size: "sm",
28942
28967
  rightSectionWidth: 130,
28943
- rightSection: currentRelayerDid ? /* @__PURE__ */ React289.createElement(Tooltip28, { label: currentRelayerDid, position: "top", withArrow: true }, /* @__PURE__ */ React289.createElement(Button58, { variant: "light", size: "compact-xs", onClick: () => setRelayerNodeDid(currentRelayerDid), disabled: isDisabled || isCurrentRelayer }, isCurrentRelayer ? "This relayer" : "Use this relayer")) : void 0
28968
+ rightSection: currentRelayerDid ? /* @__PURE__ */ React289.createElement(Tooltip29, { label: currentRelayerDid, position: "top", withArrow: true }, /* @__PURE__ */ React289.createElement(Button58, { variant: "light", size: "compact-xs", onClick: () => setRelayerNodeDid(currentRelayerDid), disabled: isDisabled || isCurrentRelayer }, isCurrentRelayer ? "This relayer" : "Use this relayer")) : void 0
28944
28969
  }
28945
28970
  ),
28946
28971
  /* @__PURE__ */ React289.createElement(
@@ -29907,7 +29932,7 @@ import { IconWorld as IconWorld2 } from "@tabler/icons-react";
29907
29932
 
29908
29933
  // src/mantine/blocks/action/actionTypes/httpRequest/HttpRequestConfig.tsx
29909
29934
  import React301, { useEffect as useEffect102, useState as useState153, useCallback as useCallback98 } from "react";
29910
- import { Stack as Stack195, Text as Text183, Button as Button59, Group as Group103, ActionIcon as ActionIcon41, Paper as Paper23, Alert as Alert40, Code as Code10 } from "@mantine/core";
29935
+ import { Stack as Stack195, Text as Text183, Button as Button59, Group as Group103, ActionIcon as ActionIcon42, Paper as Paper23, Alert as Alert40, Code as Code10 } from "@mantine/core";
29911
29936
  import { IconTrash as IconTrash9, IconPlus as IconPlus8, IconInfoCircle as IconInfoCircle5 } from "@tabler/icons-react";
29912
29937
  var HttpRequestConfig = ({ inputs, onInputsChange, editor, blockId }) => {
29913
29938
  const [local, setLocal] = useState153(() => parseHttpRequestInputs(inputs));
@@ -29992,7 +30017,7 @@ var HttpRequestConfig = ({ inputs, onInputsChange, editor, blockId }) => {
29992
30017
  currentBlockId: blockId,
29993
30018
  size: "sm"
29994
30019
  }
29995
- ), /* @__PURE__ */ React301.createElement(ActionIcon41, { color: "red", variant: "subtle", onClick: () => handleRemoveHeader(index) }, /* @__PURE__ */ React301.createElement(IconTrash9, { size: 16 }))))))), /* @__PURE__ */ React301.createElement(Stack195, { gap: "xs" }, /* @__PURE__ */ React301.createElement(Group103, { justify: "space-between" }, /* @__PURE__ */ React301.createElement(Text183, { size: "sm", c: "neutralColor.7" }, "Request Body (JSON)"), /* @__PURE__ */ React301.createElement(Button59, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React301.createElement(IconPlus8, { size: 14 }), onClick: handleAddBodyField }, "Add Field")), /* @__PURE__ */ React301.createElement(Text183, { size: "xs", c: "dimmed" }, "Build your JSON request body as key-value pairs"), local.body.length > 0 && /* @__PURE__ */ React301.createElement(Stack195, { gap: "xs" }, local.body.map((field, index) => /* @__PURE__ */ React301.createElement(Paper23, { key: index, p: "xs" }, /* @__PURE__ */ React301.createElement(Group103, { gap: "xs", align: "flex-start" }, /* @__PURE__ */ React301.createElement(
30020
+ ), /* @__PURE__ */ React301.createElement(ActionIcon42, { color: "red", variant: "subtle", onClick: () => handleRemoveHeader(index) }, /* @__PURE__ */ React301.createElement(IconTrash9, { size: 16 }))))))), /* @__PURE__ */ React301.createElement(Stack195, { gap: "xs" }, /* @__PURE__ */ React301.createElement(Group103, { justify: "space-between" }, /* @__PURE__ */ React301.createElement(Text183, { size: "sm", c: "neutralColor.7" }, "Request Body (JSON)"), /* @__PURE__ */ React301.createElement(Button59, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React301.createElement(IconPlus8, { size: 14 }), onClick: handleAddBodyField }, "Add Field")), /* @__PURE__ */ React301.createElement(Text183, { size: "xs", c: "dimmed" }, "Build your JSON request body as key-value pairs"), local.body.length > 0 && /* @__PURE__ */ React301.createElement(Stack195, { gap: "xs" }, local.body.map((field, index) => /* @__PURE__ */ React301.createElement(Paper23, { key: index, p: "xs" }, /* @__PURE__ */ React301.createElement(Group103, { gap: "xs", align: "flex-start" }, /* @__PURE__ */ React301.createElement(
29996
30021
  DataInput,
29997
30022
  {
29998
30023
  placeholder: "Field key (e.g., name)",
@@ -30012,7 +30037,7 @@ var HttpRequestConfig = ({ inputs, onInputsChange, editor, blockId }) => {
30012
30037
  currentBlockId: blockId,
30013
30038
  size: "sm"
30014
30039
  }
30015
- ), /* @__PURE__ */ React301.createElement(ActionIcon41, { color: "red", variant: "subtle", onClick: () => handleRemoveBodyField(index) }, /* @__PURE__ */ React301.createElement(IconTrash9, { size: 16 }))))))), /* @__PURE__ */ React301.createElement(Alert40, { icon: /* @__PURE__ */ React301.createElement(IconInfoCircle5, { size: 16 }), title: "Response Schema", styles: actionAlertStyles }, /* @__PURE__ */ React301.createElement(Text183, { size: "xs" }, "Define the expected structure of your API response. This allows other blocks to reference specific fields from the response data using the DataInput component.")), /* @__PURE__ */ React301.createElement(Stack195, { gap: "xs" }, /* @__PURE__ */ React301.createElement(Text183, { size: "sm", c: "neutralColor.7" }, "How it works"), /* @__PURE__ */ React301.createElement(Text183, { size: "xs", c: "dimmed" }, "1. Define response fields using dot notation (e.g., ", /* @__PURE__ */ React301.createElement(Code10, null, "customer.email"), ")"), /* @__PURE__ */ React301.createElement(Text183, { size: "xs", c: "dimmed" }, "2. Fields become available in DataInput selectors across other blocks"), /* @__PURE__ */ React301.createElement(Text183, { size: "xs", c: "dimmed" }, "3. Reference them like: ", /* @__PURE__ */ React301.createElement(Code10, null, `{{${blockId}.response.customer.email}}`))), /* @__PURE__ */ React301.createElement(Stack195, { gap: "xs" }, /* @__PURE__ */ React301.createElement(Group103, { justify: "space-between" }, /* @__PURE__ */ React301.createElement(Text183, { size: "sm", c: "neutralColor.7" }, "Response Fields"), /* @__PURE__ */ React301.createElement(Button59, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React301.createElement(IconPlus8, { size: 14 }), onClick: handleAddSchemaField }, "Add Field")), schemaFields.length === 0 ? /* @__PURE__ */ React301.createElement(Code10, { p: "md" }, 'No response fields defined yet. Click "Add Field" to start defining your response structure.') : /* @__PURE__ */ React301.createElement(Stack195, { gap: "md" }, schemaFields.map((field, index) => /* @__PURE__ */ React301.createElement(Paper23, { key: index, p: "md", withBorder: true }, /* @__PURE__ */ React301.createElement(Stack195, { gap: "sm" }, /* @__PURE__ */ React301.createElement(Group103, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React301.createElement(Text183, { size: "sm", fw: 500 }, "Field ", index + 1), /* @__PURE__ */ React301.createElement(ActionIcon41, { color: "red", variant: "subtle", onClick: () => handleRemoveSchemaField(index) }, /* @__PURE__ */ React301.createElement(IconTrash9, { size: 16 }))), /* @__PURE__ */ React301.createElement(
30040
+ ), /* @__PURE__ */ React301.createElement(ActionIcon42, { color: "red", variant: "subtle", onClick: () => handleRemoveBodyField(index) }, /* @__PURE__ */ React301.createElement(IconTrash9, { size: 16 }))))))), /* @__PURE__ */ React301.createElement(Alert40, { icon: /* @__PURE__ */ React301.createElement(IconInfoCircle5, { size: 16 }), title: "Response Schema", styles: actionAlertStyles }, /* @__PURE__ */ React301.createElement(Text183, { size: "xs" }, "Define the expected structure of your API response. This allows other blocks to reference specific fields from the response data using the DataInput component.")), /* @__PURE__ */ React301.createElement(Stack195, { gap: "xs" }, /* @__PURE__ */ React301.createElement(Text183, { size: "sm", c: "neutralColor.7" }, "How it works"), /* @__PURE__ */ React301.createElement(Text183, { size: "xs", c: "dimmed" }, "1. Define response fields using dot notation (e.g., ", /* @__PURE__ */ React301.createElement(Code10, null, "customer.email"), ")"), /* @__PURE__ */ React301.createElement(Text183, { size: "xs", c: "dimmed" }, "2. Fields become available in DataInput selectors across other blocks"), /* @__PURE__ */ React301.createElement(Text183, { size: "xs", c: "dimmed" }, "3. Reference them like: ", /* @__PURE__ */ React301.createElement(Code10, null, `{{${blockId}.response.customer.email}}`))), /* @__PURE__ */ React301.createElement(Stack195, { gap: "xs" }, /* @__PURE__ */ React301.createElement(Group103, { justify: "space-between" }, /* @__PURE__ */ React301.createElement(Text183, { size: "sm", c: "neutralColor.7" }, "Response Fields"), /* @__PURE__ */ React301.createElement(Button59, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ React301.createElement(IconPlus8, { size: 14 }), onClick: handleAddSchemaField }, "Add Field")), schemaFields.length === 0 ? /* @__PURE__ */ React301.createElement(Code10, { p: "md" }, 'No response fields defined yet. Click "Add Field" to start defining your response structure.') : /* @__PURE__ */ React301.createElement(Stack195, { gap: "md" }, schemaFields.map((field, index) => /* @__PURE__ */ React301.createElement(Paper23, { key: index, p: "md", withBorder: true }, /* @__PURE__ */ React301.createElement(Stack195, { gap: "sm" }, /* @__PURE__ */ React301.createElement(Group103, { justify: "space-between", align: "flex-start" }, /* @__PURE__ */ React301.createElement(Text183, { size: "sm", fw: 500 }, "Field ", index + 1), /* @__PURE__ */ React301.createElement(ActionIcon42, { color: "red", variant: "subtle", onClick: () => handleRemoveSchemaField(index) }, /* @__PURE__ */ React301.createElement(IconTrash9, { size: 16 }))), /* @__PURE__ */ React301.createElement(
30016
30041
  BaseTextInput,
30017
30042
  {
30018
30043
  label: "Field Path",
@@ -30065,7 +30090,7 @@ var HttpRequestConfig = ({ inputs, onInputsChange, editor, blockId }) => {
30065
30090
 
30066
30091
  // src/mantine/blocks/action/actionTypes/httpRequest/HttpRequestFlowDetail.tsx
30067
30092
  import React302, { useMemo as useMemo108, useState as useState154 } from "react";
30068
- import { Group as Group104, Stack as Stack196, Text as Text184, ActionIcon as ActionIcon42, Badge as Badge47, Collapse as Collapse8, Code as Code11, Loader as Loader48 } from "@mantine/core";
30093
+ import { Group as Group104, Stack as Stack196, Text as Text184, ActionIcon as ActionIcon43, Badge as Badge47, Collapse as Collapse8, Code as Code11, Loader as Loader48 } from "@mantine/core";
30069
30094
  import { IconSend as IconSend7, IconChevronDown as IconChevronDown8, IconChevronUp as IconChevronUp4, IconAlertTriangle as IconAlertTriangle11 } from "@tabler/icons-react";
30070
30095
  var HttpRequestFlowDetail = ({ inputs, runtime, isDisabled, executeAction }) => {
30071
30096
  const [isLoading, setIsLoading] = useState154(false);
@@ -30135,7 +30160,7 @@ var HttpRequestFlowDetail = ({ inputs, runtime, isDisabled, executeAction }) =>
30135
30160
  }
30136
30161
  };
30137
30162
  const hasDetails = headers.length > 0 || body.length > 0 || !!response;
30138
- return /* @__PURE__ */ React302.createElement(Stack196, { gap: "md" }, /* @__PURE__ */ React302.createElement(Group104, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React302.createElement(Badge47, { size: "sm", variant: "filled", color: getMethodColor(method) }, method), /* @__PURE__ */ React302.createElement(Text184, { size: "xs", c: "dimmed", contentEditable: false, style: { wordBreak: "break-all", overflow: "hidden", textOverflow: "ellipsis" } }, endpoint || "No endpoint configured"), status !== "idle" && /* @__PURE__ */ React302.createElement(Badge47, { size: "xs", variant: "dot", color: getStatusColor5(status) }, status)), /* @__PURE__ */ React302.createElement(Group104, { gap: "xs" }, /* @__PURE__ */ React302.createElement(BasePrimaryButton, { leftSection: isLoading ? /* @__PURE__ */ React302.createElement(Loader48, { size: 14 }) : /* @__PURE__ */ React302.createElement(IconSend7, { size: 14 }), onClick: handleExecuteRequest, disabled: isDisabled || isLoading || !endpoint }, isLoading ? "Sending..." : "Execute"), /* @__PURE__ */ React302.createElement(ActionIcon42, { variant: "subtle", onClick: () => setShowDetails(!showDetails), disabled: !hasDetails }, showDetails ? /* @__PURE__ */ React302.createElement(IconChevronUp4, { size: 16 }) : /* @__PURE__ */ React302.createElement(IconChevronDown8, { size: 16 }))), /* @__PURE__ */ React302.createElement(Collapse8, { in: showDetails }, /* @__PURE__ */ React302.createElement(Stack196, { gap: "md" }, validationWarnings.length > 0 && /* @__PURE__ */ React302.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React302.createElement(IconAlertTriangle11, { size: 16 }), title: "Schema Validation Warnings", color: "yellow", styles: actionAlertStyles }, /* @__PURE__ */ React302.createElement(Stack196, { gap: "xs" }, /* @__PURE__ */ React302.createElement(Text184, { size: "xs" }, "The API response does not match the defined schema:"), validationWarnings.map((warning, index) => /* @__PURE__ */ React302.createElement(Text184, { key: index, size: "xs", c: "dimmed" }, "\u2022 ", warning)))), headers.length > 0 && /* @__PURE__ */ React302.createElement(Stack196, { gap: "xs" }, /* @__PURE__ */ React302.createElement(Text184, { size: "xs", fw: 600, c: "dimmed" }, "Headers:"), /* @__PURE__ */ React302.createElement(Code11, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
30163
+ return /* @__PURE__ */ React302.createElement(Stack196, { gap: "md" }, /* @__PURE__ */ React302.createElement(Group104, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React302.createElement(Badge47, { size: "sm", variant: "filled", color: getMethodColor(method) }, method), /* @__PURE__ */ React302.createElement(Text184, { size: "xs", c: "dimmed", contentEditable: false, style: { wordBreak: "break-all", overflow: "hidden", textOverflow: "ellipsis" } }, endpoint || "No endpoint configured"), status !== "idle" && /* @__PURE__ */ React302.createElement(Badge47, { size: "xs", variant: "dot", color: getStatusColor5(status) }, status)), /* @__PURE__ */ React302.createElement(Group104, { gap: "xs" }, /* @__PURE__ */ React302.createElement(BasePrimaryButton, { leftSection: isLoading ? /* @__PURE__ */ React302.createElement(Loader48, { size: 14 }) : /* @__PURE__ */ React302.createElement(IconSend7, { size: 14 }), onClick: handleExecuteRequest, disabled: isDisabled || isLoading || !endpoint }, isLoading ? "Sending..." : "Execute"), /* @__PURE__ */ React302.createElement(ActionIcon43, { variant: "subtle", onClick: () => setShowDetails(!showDetails), disabled: !hasDetails }, showDetails ? /* @__PURE__ */ React302.createElement(IconChevronUp4, { size: 16 }) : /* @__PURE__ */ React302.createElement(IconChevronDown8, { size: 16 }))), /* @__PURE__ */ React302.createElement(Collapse8, { in: showDetails }, /* @__PURE__ */ React302.createElement(Stack196, { gap: "md" }, validationWarnings.length > 0 && /* @__PURE__ */ React302.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React302.createElement(IconAlertTriangle11, { size: 16 }), title: "Schema Validation Warnings", color: "yellow", styles: actionAlertStyles }, /* @__PURE__ */ React302.createElement(Stack196, { gap: "xs" }, /* @__PURE__ */ React302.createElement(Text184, { size: "xs" }, "The API response does not match the defined schema:"), validationWarnings.map((warning, index) => /* @__PURE__ */ React302.createElement(Text184, { key: index, size: "xs", c: "dimmed" }, "\u2022 ", warning)))), headers.length > 0 && /* @__PURE__ */ React302.createElement(Stack196, { gap: "xs" }, /* @__PURE__ */ React302.createElement(Text184, { size: "xs", fw: 600, c: "dimmed" }, "Headers:"), /* @__PURE__ */ React302.createElement(Code11, { block: true, style: { fontSize: "11px" } }, JSON.stringify(
30139
30164
  headers.reduce(
30140
30165
  (acc, h) => {
30141
30166
  if (h.key && h.value) acc[h.key] = h.value;
@@ -30511,7 +30536,7 @@ var StableSurvey = React305.memo(Survey9, (prev, next) => prev.model === next.mo
30511
30536
 
30512
30537
  // src/mantine/blocks/action/actionTypes/_shared/groupExecution/ActAsGroupSection.tsx
30513
30538
  import React306, { useEffect as useEffect105, useMemo as useMemo111, useRef as useRef35, useState as useState157 } from "react";
30514
- import { Alert as Alert43, Group as Group106, Loader as Loader51, SegmentedControl as SegmentedControl13, Stack as Stack199, Text as Text187, Tooltip as Tooltip29 } from "@mantine/core";
30539
+ import { Alert as Alert43, Group as Group106, Loader as Loader51, SegmentedControl as SegmentedControl13, Stack as Stack199, Text as Text187, Tooltip as Tooltip30 } from "@mantine/core";
30515
30540
  import { IconInfoCircle as IconInfoCircle8, IconUsersGroup as IconUsersGroup4 } from "@tabler/icons-react";
30516
30541
  function emptyActAsGroupState() {
30517
30542
  return { actAsGroup: false, groupCoreAddress: "", proposalTitle: "", proposalDescription: "" };
@@ -30598,7 +30623,7 @@ var ActAsGroupSection = ({ value, onChange, isDisabled, actionLabel, authzFilter
30598
30623
  )), value.actAsGroup && /* @__PURE__ */ React306.createElement(React306.Fragment, null, /* @__PURE__ */ React306.createElement(
30599
30624
  BaseSelect,
30600
30625
  {
30601
- label: /* @__PURE__ */ React306.createElement(Group106, { gap: 4, display: "inline-flex" }, "POD", value.groupCoreAddress && /* @__PURE__ */ React306.createElement(Tooltip29, { label: value.groupCoreAddress, withArrow: true, multiline: true, maw: 440, events: { hover: true, focus: true, touch: true } }, /* @__PURE__ */ React306.createElement(IconInfoCircle8, { size: 13, style: { opacity: 0.6, cursor: "help", verticalAlign: "middle" } }))),
30626
+ label: /* @__PURE__ */ React306.createElement(Group106, { gap: 4, display: "inline-flex" }, "POD", value.groupCoreAddress && /* @__PURE__ */ React306.createElement(Tooltip30, { label: value.groupCoreAddress, withArrow: true, multiline: true, maw: 440, events: { hover: true, focus: true, touch: true } }, /* @__PURE__ */ React306.createElement(IconInfoCircle8, { size: 13, style: { opacity: 0.6, cursor: "help", verticalAlign: "middle" } }))),
30602
30627
  description: "One of your PODs \u2014 the action is performed on its behalf.",
30603
30628
  placeholder: loading ? "Loading your PODs\u2026" : "Search or select a POD",
30604
30629
  value: value.groupCoreAddress || null,
@@ -31228,7 +31253,7 @@ var EvaluateBidConfig = ({ inputs, onInputsChange, editor, blockId }) => {
31228
31253
 
31229
31254
  // src/mantine/blocks/action/actionTypes/evaluateBid/EvaluateBidFlowDetail.tsx
31230
31255
  import React314, { useCallback as useCallback105, useEffect as useEffect109, useMemo as useMemo114, useRef as useRef38, useState as useState164 } from "react";
31231
- import { ActionIcon as ActionIcon44, Badge as Badge49, Box as Box57, Button as Button62, Divider as Divider21, Group as Group111, Loader as Loader55, Stack as Stack205, Text as Text193, UnstyledButton as UnstyledButton4 } from "@mantine/core";
31256
+ import { ActionIcon as ActionIcon45, Badge as Badge49, Box as Box57, Button as Button62, Divider as Divider21, Group as Group111, Loader as Loader55, Stack as Stack205, Text as Text193, UnstyledButton as UnstyledButton4 } from "@mantine/core";
31232
31257
  import { IconArrowLeft as IconArrowLeft8, IconCheck as IconCheck21, IconFilter } from "@tabler/icons-react";
31233
31258
 
31234
31259
  // src/mantine/components/CollapsibleSection.tsx
@@ -31253,7 +31278,7 @@ function CollapsibleSection({ title, defaultOpen = false, badge, children }) {
31253
31278
 
31254
31279
  // src/mantine/blocks/action/actionTypes/_shared/dataExport/DownloadCsvButton.tsx
31255
31280
  import React311, { useCallback as useCallback104, useState as useState162 } from "react";
31256
- import { ActionIcon as ActionIcon43 } from "@mantine/core";
31281
+ import { ActionIcon as ActionIcon44 } from "@mantine/core";
31257
31282
  import { IconDownload as IconDownload4 } from "@tabler/icons-react";
31258
31283
  var DownloadCsvButton = ({ onDownload, disabled, label = "Download CSV" }) => {
31259
31284
  const [busy, setBusy] = useState162(false);
@@ -31265,7 +31290,7 @@ var DownloadCsvButton = ({ onDownload, disabled, label = "Download CSV" }) => {
31265
31290
  setBusy(false);
31266
31291
  }
31267
31292
  }, [onDownload]);
31268
- return /* @__PURE__ */ React311.createElement(ActionIcon43, { variant: "subtle", color: "gray", size: "sm", "aria-label": label, title: label, loading: busy, disabled, onClick: handleClick }, /* @__PURE__ */ React311.createElement(IconDownload4, { size: 16 }));
31293
+ return /* @__PURE__ */ React311.createElement(ActionIcon44, { variant: "subtle", color: "gray", size: "sm", "aria-label": label, title: label, loading: busy, disabled, onClick: handleClick }, /* @__PURE__ */ React311.createElement(IconDownload4, { size: 16 }));
31269
31294
  };
31270
31295
 
31271
31296
  // src/mantine/blocks/action/actionTypes/_shared/dataExport/buildBidRows.ts
@@ -31773,7 +31798,7 @@ var EvaluateBidFlowDetail = ({
31773
31798
  bidData = typeof selectedBid.data === "string" ? JSON.parse(selectedBid.data) : selectedBid.data;
31774
31799
  } catch {
31775
31800
  }
31776
- return /* @__PURE__ */ React314.createElement(Stack205, { gap: "md" }, /* @__PURE__ */ React314.createElement(Group111, { gap: "xs", align: "center" }, /* @__PURE__ */ React314.createElement(ActionIcon44, { variant: "subtle", color: "gray", size: "sm", onClick: () => setSelectedBidId("") }, /* @__PURE__ */ React314.createElement(IconArrowLeft8, { size: 16 })), /* @__PURE__ */ React314.createElement(Text193, { fw: 500, size: "sm", truncate: true, style: { flex: 1, minWidth: 0 } }, t("actionTypes.evaluateBid.flow.bidNumber", { id: selectedBid.id, defaultValue: `Bid #${selectedBid.id}` })), /* @__PURE__ */ React314.createElement(DownloadCsvButton, { onDownload: () => downloadBidsCsv([selectedBid], `bid-${selectedBid.id}.csv`), label: "Download bid CSV" })), /* @__PURE__ */ React314.createElement(Group111, { gap: 16, align: "center", style: { width: "100%" } }, /* @__PURE__ */ React314.createElement(
31801
+ return /* @__PURE__ */ React314.createElement(Stack205, { gap: "md" }, /* @__PURE__ */ React314.createElement(Group111, { gap: "xs", align: "center" }, /* @__PURE__ */ React314.createElement(ActionIcon45, { variant: "subtle", color: "gray", size: "sm", onClick: () => setSelectedBidId("") }, /* @__PURE__ */ React314.createElement(IconArrowLeft8, { size: 16 })), /* @__PURE__ */ React314.createElement(Text193, { fw: 500, size: "sm", truncate: true, style: { flex: 1, minWidth: 0 } }, t("actionTypes.evaluateBid.flow.bidNumber", { id: selectedBid.id, defaultValue: `Bid #${selectedBid.id}` })), /* @__PURE__ */ React314.createElement(DownloadCsvButton, { onDownload: () => downloadBidsCsv([selectedBid], `bid-${selectedBid.id}.csv`), label: "Download bid CSV" })), /* @__PURE__ */ React314.createElement(Group111, { gap: 16, align: "center", style: { width: "100%" } }, /* @__PURE__ */ React314.createElement(
31777
31802
  Box57,
31778
31803
  {
31779
31804
  style: {
@@ -31867,7 +31892,7 @@ var EvaluateBidFlowDetail = ({
31867
31892
  }
31868
31893
  },
31869
31894
  /* @__PURE__ */ React314.createElement(Text193, { size: "sm", fw: 500, c: activeFilter === tab.value ? "var(--mantine-color-text)" : "dimmed" }, tab.label)
31870
- ))), /* @__PURE__ */ React314.createElement(Group111, { gap: 4 }, /* @__PURE__ */ React314.createElement(DownloadCsvButton, { onDownload: handleDownloadBidsCsv, disabled: loadingBids || bids.length === 0, label: "Download bids CSV" }), /* @__PURE__ */ React314.createElement(ActionIcon44, { variant: "subtle", color: "gray", size: "sm" }, /* @__PURE__ */ React314.createElement(IconFilter, { size: 16 })))), loadingBids && /* @__PURE__ */ React314.createElement(Group111, { gap: "xs", justify: "center", py: "md" }, /* @__PURE__ */ React314.createElement(Loader55, { size: "xs" }), /* @__PURE__ */ React314.createElement(Text193, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateBid.flow.loadingBids", { defaultValue: "Loading bids..." }))), !loadingBids && filteredBids.length === 0 && /* @__PURE__ */ React314.createElement(Text193, { size: "sm", c: "dimmed", ta: "center", py: "md" }, bids.length === 0 ? t("actionTypes.evaluateBid.flow.empty.allCollections", { defaultValue: "No bids available for this collection." }) : t("actionTypes.evaluateBid.flow.empty.filtered", { filter: activeFilter, defaultValue: `No ${activeFilter} bids found.` })), filteredBids.length > 0 && /* @__PURE__ */ React314.createElement(Stack205, { gap: 12 }, filteredBids.map((bid) => {
31895
+ ))), /* @__PURE__ */ React314.createElement(Group111, { gap: 4 }, /* @__PURE__ */ React314.createElement(DownloadCsvButton, { onDownload: handleDownloadBidsCsv, disabled: loadingBids || bids.length === 0, label: "Download bids CSV" }), /* @__PURE__ */ React314.createElement(ActionIcon45, { variant: "subtle", color: "gray", size: "sm" }, /* @__PURE__ */ React314.createElement(IconFilter, { size: 16 })))), loadingBids && /* @__PURE__ */ React314.createElement(Group111, { gap: "xs", justify: "center", py: "md" }, /* @__PURE__ */ React314.createElement(Loader55, { size: "xs" }), /* @__PURE__ */ React314.createElement(Text193, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateBid.flow.loadingBids", { defaultValue: "Loading bids..." }))), !loadingBids && filteredBids.length === 0 && /* @__PURE__ */ React314.createElement(Text193, { size: "sm", c: "dimmed", ta: "center", py: "md" }, bids.length === 0 ? t("actionTypes.evaluateBid.flow.empty.allCollections", { defaultValue: "No bids available for this collection." }) : t("actionTypes.evaluateBid.flow.empty.filtered", { filter: activeFilter, defaultValue: `No ${activeFilter} bids found.` })), filteredBids.length > 0 && /* @__PURE__ */ React314.createElement(Stack205, { gap: 12 }, filteredBids.map((bid) => {
31871
31896
  const status = getBidStatus(bid, t);
31872
31897
  const profile = profilesByDid[bid.did];
31873
31898
  const displayName = profile?.displayname || bid.did || bid.address;
@@ -32088,7 +32113,7 @@ var ClaimConfig = ({ inputs, onInputsChange, editor, blockId }) => {
32088
32113
 
32089
32114
  // src/mantine/blocks/action/actionTypes/claim/ClaimFlowDetail.tsx
32090
32115
  import React316, { useCallback as useCallback107, useEffect as useEffect111, useMemo as useMemo116, useRef as useRef40, useState as useState166 } from "react";
32091
- import { ActionIcon as ActionIcon45, Box as Box58, Collapse as Collapse10, Group as Group112, Loader as Loader57, Stack as Stack207, Text as Text195, UnstyledButton as UnstyledButton5 } from "@mantine/core";
32116
+ import { ActionIcon as ActionIcon46, Box as Box58, Collapse as Collapse10, Group as Group112, Loader as Loader57, Stack as Stack207, Text as Text195, UnstyledButton as UnstyledButton5 } from "@mantine/core";
32092
32117
  import { IconArrowLeft as IconArrowLeft9, IconCheck as IconCheck22, IconChevronRight as IconChevronRight12, IconPlayerPlay as IconPlayerPlay6 } from "@tabler/icons-react";
32093
32118
  import { SurveyModel as SurveyModel10 } from "@ixo/surveys";
32094
32119
 
@@ -32684,7 +32709,7 @@ var ClaimFlowDetail = ({
32684
32709
  });
32685
32710
  }, [surveyModel, handlers, editor, deedDid, collectionId, block.id, block?.props?.title]);
32686
32711
  if (selectedClaim) {
32687
- return /* @__PURE__ */ React316.createElement(Stack207, { gap: "md" }, /* @__PURE__ */ React316.createElement(Group112, { gap: "xs", align: "center" }, /* @__PURE__ */ React316.createElement(ActionIcon45, { variant: "subtle", color: "gray", size: "sm", onClick: () => setSelectedClaimId("") }, /* @__PURE__ */ React316.createElement(IconArrowLeft9, { size: 16 })), /* @__PURE__ */ React316.createElement(Text195, { fw: 500, size: "sm", title: selectedClaim.claimId }, t("actionTypes.claim.flow.claimNumber", { id: truncateId(selectedClaim.claimId), defaultValue: `Claim #${truncateId(selectedClaim.claimId)}` }))), selectedClaimStatus && /* @__PURE__ */ React316.createElement(Group112, { gap: "xs", align: "center" }, /* @__PURE__ */ React316.createElement(Text195, { size: "sm", c: "dimmed" }, t("actionTypes.claim.flow.statusLabel", { defaultValue: "Status:" })), /* @__PURE__ */ React316.createElement(Text195, { fw: 500, size: "sm", c: selectedClaimStatus.color }, selectedClaimStatus.label), /* @__PURE__ */ React316.createElement(Text195, { size: "xs", c: "dimmed" }, "\xB7 ", getTimeAgo2(selectedClaim.submissionDate || ""))), isSelectedDisputed && /* @__PURE__ */ React316.createElement(DismissibleAlert, { color: "orange", title: t("actionTypes.claim.flow.disputed.title", { defaultValue: "Claim disputed" }), styles: actionAlertStyles }, loadingDispute ? /* @__PURE__ */ React316.createElement(Group112, { gap: "xs" }, /* @__PURE__ */ React316.createElement(Loader57, { size: "xs" }), /* @__PURE__ */ React316.createElement(Text195, { size: "xs" }, t("actionTypes.claim.flow.disputed.loadingDetails", { defaultValue: "Loading dispute details\u2026" }))) : disputeDetails ? /* @__PURE__ */ React316.createElement(Stack207, { gap: 6 }, disputeDetails.reason ? /* @__PURE__ */ React316.createElement(Text195, { size: "sm" }, disputeDetails.reason) : /* @__PURE__ */ React316.createElement(Text195, { size: "sm", c: "dimmed" }, t("actionTypes.claim.flow.disputed.noMessage", { defaultValue: "The evaluator disputed this claim but did not provide a message." })), (disputeDetails.evaluatorDid || disputeDetails.disputedAt) && /* @__PURE__ */ React316.createElement(Text195, { size: "xs", c: "dimmed" }, disputeDetails.evaluatorDid ? t("actionTypes.claim.flow.disputed.byEvaluator", {
32712
+ return /* @__PURE__ */ React316.createElement(Stack207, { gap: "md" }, /* @__PURE__ */ React316.createElement(Group112, { gap: "xs", align: "center" }, /* @__PURE__ */ React316.createElement(ActionIcon46, { variant: "subtle", color: "gray", size: "sm", onClick: () => setSelectedClaimId("") }, /* @__PURE__ */ React316.createElement(IconArrowLeft9, { size: 16 })), /* @__PURE__ */ React316.createElement(Text195, { fw: 500, size: "sm", title: selectedClaim.claimId }, t("actionTypes.claim.flow.claimNumber", { id: truncateId(selectedClaim.claimId), defaultValue: `Claim #${truncateId(selectedClaim.claimId)}` }))), selectedClaimStatus && /* @__PURE__ */ React316.createElement(Group112, { gap: "xs", align: "center" }, /* @__PURE__ */ React316.createElement(Text195, { size: "sm", c: "dimmed" }, t("actionTypes.claim.flow.statusLabel", { defaultValue: "Status:" })), /* @__PURE__ */ React316.createElement(Text195, { fw: 500, size: "sm", c: selectedClaimStatus.color }, selectedClaimStatus.label), /* @__PURE__ */ React316.createElement(Text195, { size: "xs", c: "dimmed" }, "\xB7 ", getTimeAgo2(selectedClaim.submissionDate || ""))), isSelectedDisputed && /* @__PURE__ */ React316.createElement(DismissibleAlert, { color: "orange", title: t("actionTypes.claim.flow.disputed.title", { defaultValue: "Claim disputed" }), styles: actionAlertStyles }, loadingDispute ? /* @__PURE__ */ React316.createElement(Group112, { gap: "xs" }, /* @__PURE__ */ React316.createElement(Loader57, { size: "xs" }), /* @__PURE__ */ React316.createElement(Text195, { size: "xs" }, t("actionTypes.claim.flow.disputed.loadingDetails", { defaultValue: "Loading dispute details\u2026" }))) : disputeDetails ? /* @__PURE__ */ React316.createElement(Stack207, { gap: 6 }, disputeDetails.reason ? /* @__PURE__ */ React316.createElement(Text195, { size: "sm" }, disputeDetails.reason) : /* @__PURE__ */ React316.createElement(Text195, { size: "sm", c: "dimmed" }, t("actionTypes.claim.flow.disputed.noMessage", { defaultValue: "The evaluator disputed this claim but did not provide a message." })), (disputeDetails.evaluatorDid || disputeDetails.disputedAt) && /* @__PURE__ */ React316.createElement(Text195, { size: "xs", c: "dimmed" }, disputeDetails.evaluatorDid ? t("actionTypes.claim.flow.disputed.byEvaluator", {
32688
32713
  address: truncateAddress3(disputeDetails.evaluatorDid),
32689
32714
  defaultValue: `By ${truncateAddress3(disputeDetails.evaluatorDid)}`
32690
32715
  }) : "", disputeDetails.evaluatorDid && disputeDetails.disputedAt ? " \xB7 " : "", disputeDetails.disputedAt ? new Date(disputeDetails.disputedAt).toLocaleString() : ""), /* @__PURE__ */ React316.createElement(BasePrimaryButton, { onClick: amendAndResubmit, disabled: isDisabled || submitting || !isServiceAgentAuthorized || !selectedClaimData }, t("actionTypes.claim.flow.disputed.amendAndResubmit", { defaultValue: "Amend & Resubmit" }))) : typeof handlers.getClaimDisputeDetails !== "function" ? /* @__PURE__ */ React316.createElement(Text195, { size: "xs", c: "dimmed" }, t("actionTypes.claim.flow.disputed.unavailable", { defaultValue: "Dispute details unavailable in this environment." })) : /* @__PURE__ */ React316.createElement(Text195, { size: "xs", c: "dimmed" }, t("actionTypes.claim.flow.disputed.noRecord", { defaultValue: "No dispute record found on-chain for this claim." }))), loadingClaimDetail ? /* @__PURE__ */ React316.createElement(Group112, { gap: "xs" }, /* @__PURE__ */ React316.createElement(Loader57, { size: "xs" }), /* @__PURE__ */ React316.createElement(Text195, { size: "xs", c: "dimmed" }, t("actionTypes.claim.flow.loadingSubmission", { defaultValue: "Loading submission\u2026" }))) : detailSurveyModel ? /* @__PURE__ */ React316.createElement(StableSurvey, { model: detailSurveyModel }) : /* @__PURE__ */ React316.createElement(Text195, { size: "xs", c: "dimmed" }, t("actionTypes.claim.flow.noSubmissionData", { defaultValue: "No submission data available." })), error && /* @__PURE__ */ React316.createElement(DismissibleAlert, { color: "red", styles: actionAlertStyles }, error));
@@ -33724,7 +33749,7 @@ var CollectionUsersConfig = ({ inputs, onInputsChange, editor, blockId }) => {
33724
33749
 
33725
33750
  // src/mantine/blocks/action/actionTypes/collectionUsers/CollectionUsersFlowDetail.tsx
33726
33751
  import React320, { useCallback as useCallback111, useEffect as useEffect115, useMemo as useMemo120, useRef as useRef42, useState as useState170 } from "react";
33727
- import { ActionIcon as ActionIcon46, Alert as MantineAlert, Badge as Badge52, Box as Box60, Button as Button67, Divider as Divider22, Group as Group116, Loader as Loader61, Radio as Radio5, SegmentedControl as SegmentedControl15, Stack as Stack211, Text as Text199 } from "@mantine/core";
33752
+ import { ActionIcon as ActionIcon47, Alert as MantineAlert, Badge as Badge52, Box as Box60, Button as Button67, Divider as Divider22, Group as Group116, Loader as Loader61, Radio as Radio5, SegmentedControl as SegmentedControl15, Stack as Stack211, Text as Text199 } from "@mantine/core";
33728
33753
  import { useDebouncedValue } from "@mantine/hooks";
33729
33754
  import { IconAlertCircle as IconAlertCircle28, IconArrowLeft as IconArrowLeft10, IconCheck as IconCheck24, IconRefresh as IconRefresh9, IconTrash as IconTrash10 } from "@tabler/icons-react";
33730
33755
  var LOG2 = "[collection.users]";
@@ -34219,7 +34244,7 @@ var CollectionUsersFlowDetail = ({
34219
34244
  { label: "Bids", value: "bids" }
34220
34245
  ]
34221
34246
  }
34222
- ), !configMissing && section === "list" && /* @__PURE__ */ React320.createElement(Stack211, { gap: "sm" }, /* @__PURE__ */ React320.createElement(Group116, { justify: "space-between", align: "center" }, /* @__PURE__ */ React320.createElement(Text199, { size: "sm", fw: 600 }, "Grantees"), /* @__PURE__ */ React320.createElement(Group116, { gap: 4 }, /* @__PURE__ */ React320.createElement(DownloadCsvButton, { onDownload: handleDownloadGranteesCsv, disabled: isRunning || listGrantees.length === 0, label: "Download members CSV" }), /* @__PURE__ */ React320.createElement(ActionIcon46, { variant: "subtle", color: "gray", size: "sm", onClick: handleManualRefreshList, disabled: isRunning || !adminAddress }, /* @__PURE__ */ React320.createElement(IconRefresh9, { size: 16 })))), isRunning && lastOp !== "add" && lastOp !== "revoke" && /* @__PURE__ */ React320.createElement(Group116, { gap: "xs", justify: "center", py: "sm" }, /* @__PURE__ */ React320.createElement(Loader61, { size: "xs" }), /* @__PURE__ */ React320.createElement(Text199, { size: "xs", c: "dimmed" }, "Loading grantees\u2026")), !isRunning && listGrantees.length === 0 && /* @__PURE__ */ React320.createElement(Text199, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No grantees hold a constraint for this collection yet."), listGrantees.map((grantee) => {
34247
+ ), !configMissing && section === "list" && /* @__PURE__ */ React320.createElement(Stack211, { gap: "sm" }, /* @__PURE__ */ React320.createElement(Group116, { justify: "space-between", align: "center" }, /* @__PURE__ */ React320.createElement(Text199, { size: "sm", fw: 600 }, "Grantees"), /* @__PURE__ */ React320.createElement(Group116, { gap: 4 }, /* @__PURE__ */ React320.createElement(DownloadCsvButton, { onDownload: handleDownloadGranteesCsv, disabled: isRunning || listGrantees.length === 0, label: "Download members CSV" }), /* @__PURE__ */ React320.createElement(ActionIcon47, { variant: "subtle", color: "gray", size: "sm", onClick: handleManualRefreshList, disabled: isRunning || !adminAddress }, /* @__PURE__ */ React320.createElement(IconRefresh9, { size: 16 })))), isRunning && lastOp !== "add" && lastOp !== "revoke" && /* @__PURE__ */ React320.createElement(Group116, { gap: "xs", justify: "center", py: "sm" }, /* @__PURE__ */ React320.createElement(Loader61, { size: "xs" }), /* @__PURE__ */ React320.createElement(Text199, { size: "xs", c: "dimmed" }, "Loading grantees\u2026")), !isRunning && listGrantees.length === 0 && /* @__PURE__ */ React320.createElement(Text199, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No grantees hold a constraint for this collection yet."), listGrantees.map((grantee) => {
34223
34248
  const isTarget = revokeTarget?.address === grantee.address && revokeTarget?.role === grantee.role;
34224
34249
  const granteeDid = getGranteeDid(grantee);
34225
34250
  const profile = granteeProfilesByDid[granteeDid];
@@ -34510,7 +34535,7 @@ var BidInboxSection = ({
34510
34535
  }
34511
34536
  ] : []
34512
34537
  ];
34513
- return /* @__PURE__ */ React320.createElement(Stack211, { gap: "md" }, /* @__PURE__ */ React320.createElement(Group116, { gap: "xs", align: "center" }, /* @__PURE__ */ React320.createElement(ActionIcon46, { variant: "subtle", color: "gray", size: "sm", onClick: () => setSelectedBidId("") }, /* @__PURE__ */ React320.createElement(IconArrowLeft10, { size: 16 })), /* @__PURE__ */ React320.createElement(Text199, { fw: 500, size: "sm", truncate: true, style: { flex: 1, minWidth: 0 } }, "Bid #", selectedBid.id), /* @__PURE__ */ React320.createElement(DownloadCsvButton, { onDownload: () => downloadBidsCsv([selectedBid], `bid-${selectedBid.id}.csv`), label: "Download bid CSV" })), /* @__PURE__ */ React320.createElement(Stack211, { gap: 4 }, /* @__PURE__ */ React320.createElement(Text199, { size: "sm", fw: 600, truncate: true }, displayName), /* @__PURE__ */ React320.createElement(Group116, { gap: "xs" }, /* @__PURE__ */ React320.createElement(Badge52, { size: "xs", variant: "light", color: getRoleColor3(selectedBid.role) }, getBidRoleLabel(selectedBid.role)), /* @__PURE__ */ React320.createElement(Text199, { size: "xs", c: "dimmed" }, truncateAddress4(selectedBid.address)))), /* @__PURE__ */ React320.createElement(CollapsibleSection, { title: "Inputs" }, bidData && typeof bidData === "object" && Object.keys(bidData).length > 0 ? /* @__PURE__ */ React320.createElement(ReadableKeyValues, { data: bidData }) : /* @__PURE__ */ React320.createElement(Text199, { size: "xs", c: "dimmed" }, "No input data available.")), evaluatedStatus ? /* @__PURE__ */ React320.createElement(
34538
+ return /* @__PURE__ */ React320.createElement(Stack211, { gap: "md" }, /* @__PURE__ */ React320.createElement(Group116, { gap: "xs", align: "center" }, /* @__PURE__ */ React320.createElement(ActionIcon47, { variant: "subtle", color: "gray", size: "sm", onClick: () => setSelectedBidId("") }, /* @__PURE__ */ React320.createElement(IconArrowLeft10, { size: 16 })), /* @__PURE__ */ React320.createElement(Text199, { fw: 500, size: "sm", truncate: true, style: { flex: 1, minWidth: 0 } }, "Bid #", selectedBid.id), /* @__PURE__ */ React320.createElement(DownloadCsvButton, { onDownload: () => downloadBidsCsv([selectedBid], `bid-${selectedBid.id}.csv`), label: "Download bid CSV" })), /* @__PURE__ */ React320.createElement(Stack211, { gap: 4 }, /* @__PURE__ */ React320.createElement(Text199, { size: "sm", fw: 600, truncate: true }, displayName), /* @__PURE__ */ React320.createElement(Group116, { gap: "xs" }, /* @__PURE__ */ React320.createElement(Badge52, { size: "xs", variant: "light", color: getRoleColor3(selectedBid.role) }, getBidRoleLabel(selectedBid.role)), /* @__PURE__ */ React320.createElement(Text199, { size: "xs", c: "dimmed" }, truncateAddress4(selectedBid.address)))), /* @__PURE__ */ React320.createElement(CollapsibleSection, { title: "Inputs" }, bidData && typeof bidData === "object" && Object.keys(bidData).length > 0 ? /* @__PURE__ */ React320.createElement(ReadableKeyValues, { data: bidData }) : /* @__PURE__ */ React320.createElement(Text199, { size: "xs", c: "dimmed" }, "No input data available.")), evaluatedStatus ? /* @__PURE__ */ React320.createElement(
34514
34539
  MantineAlert,
34515
34540
  {
34516
34541
  color: evaluatedStatus === "approved" ? "green" : "red",
@@ -34572,7 +34597,7 @@ var BidInboxSection = ({
34572
34597
  styles: actionAlertStyles
34573
34598
  },
34574
34599
  lastDecision.kind === "approved" ? `${lastDecision.roleLabel} access granted to ${lastDecision.name}. They can now ${lastDecision.roleLabel === "Evaluator" ? "evaluate" : "submit"} claims in this collection.` : `${lastDecision.name}'s application was declined.`
34575
- ), /* @__PURE__ */ React320.createElement(Group116, { justify: "space-between", align: "center" }, /* @__PURE__ */ React320.createElement(Text199, { size: "sm", fw: 600 }, "Incoming bids"), /* @__PURE__ */ React320.createElement(Group116, { gap: 4 }, /* @__PURE__ */ React320.createElement(DownloadCsvButton, { onDownload: handleDownloadBidsCsv, disabled: loading || bids.length === 0, label: "Download bids CSV" }), /* @__PURE__ */ React320.createElement(ActionIcon46, { variant: "subtle", color: "gray", size: "sm", onClick: refreshBids, disabled: loading }, /* @__PURE__ */ React320.createElement(IconRefresh9, { size: 16 })))), /* @__PURE__ */ React320.createElement(Divider22, { color: "color-mix(in srgb, var(--mantine-color-text) 6%, transparent)" }), loading && /* @__PURE__ */ React320.createElement(Group116, { gap: "xs", justify: "center", py: "sm" }, /* @__PURE__ */ React320.createElement(Loader61, { size: "xs" }), /* @__PURE__ */ React320.createElement(Text199, { size: "xs", c: "dimmed" }, "Loading bids\u2026")), !loading && bids.length === 0 && /* @__PURE__ */ React320.createElement(Text199, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No bids available for this collection."), bids.map((bid) => {
34600
+ ), /* @__PURE__ */ React320.createElement(Group116, { justify: "space-between", align: "center" }, /* @__PURE__ */ React320.createElement(Text199, { size: "sm", fw: 600 }, "Incoming bids"), /* @__PURE__ */ React320.createElement(Group116, { gap: 4 }, /* @__PURE__ */ React320.createElement(DownloadCsvButton, { onDownload: handleDownloadBidsCsv, disabled: loading || bids.length === 0, label: "Download bids CSV" }), /* @__PURE__ */ React320.createElement(ActionIcon47, { variant: "subtle", color: "gray", size: "sm", onClick: refreshBids, disabled: loading }, /* @__PURE__ */ React320.createElement(IconRefresh9, { size: 16 })))), /* @__PURE__ */ React320.createElement(Divider22, { color: "color-mix(in srgb, var(--mantine-color-text) 6%, transparent)" }), loading && /* @__PURE__ */ React320.createElement(Group116, { gap: "xs", justify: "center", py: "sm" }, /* @__PURE__ */ React320.createElement(Loader61, { size: "xs" }), /* @__PURE__ */ React320.createElement(Text199, { size: "xs", c: "dimmed" }, "Loading bids\u2026")), !loading && bids.length === 0 && /* @__PURE__ */ React320.createElement(Text199, { size: "sm", c: "dimmed", ta: "center", py: "sm" }, "No bids available for this collection."), bids.map((bid) => {
34576
34601
  const profile = profilesByDid[bid.did];
34577
34602
  const displayName = profile?.displayname || bid.did || bid.address;
34578
34603
  const status = bidEvaluatedStatus(bid) || "pending";
@@ -35181,7 +35206,7 @@ var EvalEngineConfig = ({ inputs, onInputsChange, editor, blockId }) => {
35181
35206
 
35182
35207
  // src/mantine/blocks/action/actionTypes/evalEngine/EvalEngineFlowDetail.tsx
35183
35208
  import React335, { useCallback as useCallback114, useEffect as useEffect123, useMemo as useMemo128, useRef as useRef49, useState as useState181 } from "react";
35184
- import { ActionIcon as ActionIcon52, Alert as Alert55, Badge as Badge54, Box as Box64, Button as Button76, Group as Group130, Loader as Loader65, Paper as Paper35, Stack as Stack224, Text as Text212 } from "@mantine/core";
35209
+ import { ActionIcon as ActionIcon53, Alert as Alert55, Badge as Badge54, Box as Box64, Button as Button76, Group as Group130, Loader as Loader65, Paper as Paper35, Stack as Stack224, Text as Text212 } from "@mantine/core";
35185
35210
  import { IconAlertCircle as IconAlertCircle29, IconAlertTriangle as IconAlertTriangle17, IconArrowRight as IconArrowRight3, IconCheck as IconCheck26, IconInfoCircle as IconInfoCircle11, IconTrash as IconTrash14 } from "@tabler/icons-react";
35186
35211
 
35187
35212
  // src/mantine/blocks/action/actionTypes/evalRubric/AdvancedPanel.tsx
@@ -36395,7 +36420,7 @@ var ApprovalPolicy = ({ body, index, checkCount, onChange, disabled }) => {
36395
36420
 
36396
36421
  // src/mantine/blocks/action/actionTypes/evalRubric/LinkedRuleEditor.tsx
36397
36422
  import React326, { useMemo as useMemo123, useState as useState174 } from "react";
36398
- import { ActionIcon as ActionIcon47, Alert as Alert50, Button as Button71, Group as Group121, Modal as Modal4, Paper as Paper27, ScrollArea as ScrollArea9, Stack as Stack216, Text as Text203 } from "@mantine/core";
36423
+ import { ActionIcon as ActionIcon48, Alert as Alert50, Button as Button71, Group as Group121, Modal as Modal4, Paper as Paper27, ScrollArea as ScrollArea9, Stack as Stack216, Text as Text203 } from "@mantine/core";
36399
36424
  import { IconAlertTriangle as IconAlertTriangle13, IconPlus as IconPlus9, IconRobot as IconRobot4, IconTrash as IconTrash11 } from "@tabler/icons-react";
36400
36425
 
36401
36426
  // src/mantine/blocks/action/actionTypes/evalRubric/ValueInput.tsx
@@ -37291,7 +37316,7 @@ var LinkedRuleEditor = ({ opened, onClose, body, catalog, index, initialChecked,
37291
37316
  value: row.instructions ?? "",
37292
37317
  onChange: (event) => setCase(at, { instructions: event.currentTarget.value })
37293
37318
  }
37294
- )) : /* @__PURE__ */ React326.createElement(React326.Fragment, null, /* @__PURE__ */ React326.createElement(Text203, { mt: 6, style: leadWordStyle }, "it ", opLabel), /* @__PURE__ */ React326.createElement(ValueInput, { op: draft.op, field: checkedField, index, value: row.value, tolerance: row.tolerance, onChange: (patch) => setCase(at, patch) }), opSuffix && /* @__PURE__ */ React326.createElement(Text203, { mt: 6, size: "sm", c: "dimmed" }, opSuffix)), /* @__PURE__ */ React326.createElement(ActionIcon47, { mt: 4, variant: "subtle", color: "red", onClick: () => removeCase(at), disabled: draft.cases.length <= 1, "aria-label": "Remove this case" }, /* @__PURE__ */ React326.createElement(IconTrash11, { size: 16 })))), /* @__PURE__ */ React326.createElement(Group121, { gap: 8, align: "flex-start", wrap: "wrap" }, draft.aiMode ? /* @__PURE__ */ React326.createElement(React326.Fragment, null, /* @__PURE__ */ React326.createElement(Text203, { mt: 6, style: leadWordStyle }, LINKED_AI_ELSE_LEAD), /* @__PURE__ */ React326.createElement(
37319
+ )) : /* @__PURE__ */ React326.createElement(React326.Fragment, null, /* @__PURE__ */ React326.createElement(Text203, { mt: 6, style: leadWordStyle }, "it ", opLabel), /* @__PURE__ */ React326.createElement(ValueInput, { op: draft.op, field: checkedField, index, value: row.value, tolerance: row.tolerance, onChange: (patch) => setCase(at, patch) }), opSuffix && /* @__PURE__ */ React326.createElement(Text203, { mt: 6, size: "sm", c: "dimmed" }, opSuffix)), /* @__PURE__ */ React326.createElement(ActionIcon48, { mt: 4, variant: "subtle", color: "red", onClick: () => removeCase(at), disabled: draft.cases.length <= 1, "aria-label": "Remove this case" }, /* @__PURE__ */ React326.createElement(IconTrash11, { size: 16 })))), /* @__PURE__ */ React326.createElement(Group121, { gap: 8, align: "flex-start", wrap: "wrap" }, draft.aiMode ? /* @__PURE__ */ React326.createElement(React326.Fragment, null, /* @__PURE__ */ React326.createElement(Text203, { mt: 6, style: leadWordStyle }, LINKED_AI_ELSE_LEAD), /* @__PURE__ */ React326.createElement(
37295
37320
  BaseTextInput,
37296
37321
  {
37297
37322
  style: { flex: 1, minWidth: 260 },
@@ -37337,7 +37362,7 @@ var LinkedRuleEditor = ({ opened, onClose, body, catalog, index, initialChecked,
37337
37362
 
37338
37363
  // src/mantine/blocks/action/actionTypes/evalRubric/RuleCard.tsx
37339
37364
  import React327 from "react";
37340
- import { ActionIcon as ActionIcon48, Alert as Alert51, Box as Box62, Button as Button72, Group as Group122, Paper as Paper28, Stack as Stack217, Text as Text204 } from "@mantine/core";
37365
+ import { ActionIcon as ActionIcon49, Alert as Alert51, Box as Box62, Button as Button72, Group as Group122, Paper as Paper28, Stack as Stack217, Text as Text204 } from "@mantine/core";
37341
37366
  import { IconAlertTriangle as IconAlertTriangle14, IconLink as IconLink5, IconPencil as IconPencil3, IconPlus as IconPlus10, IconTrash as IconTrash12 } from "@tabler/icons-react";
37342
37367
  var RuleCard = ({
37343
37368
  field,
@@ -37363,9 +37388,9 @@ var RuleCard = ({
37363
37388
  // A compound the builder cannot represent — quiet, honest,
37364
37389
  // and deletable; never rewritten (§B.5 doctrine).
37365
37390
  /* @__PURE__ */ React327.createElement(Text204, { size: "xs", c: "dimmed" }, GROUP_OUTSIDE_BUILDER_TEXT)
37366
- ) : /* @__PURE__ */ React327.createElement(RuleSentence, { text: describeRule(rule, ctx) })), (!grownShape || grownShape.editable) && /* @__PURE__ */ React327.createElement(ActionIcon48, { variant: "subtle", onClick: () => onEdit(rule), disabled, "aria-label": `Change the rule on ${field.title}` }, /* @__PURE__ */ React327.createElement(IconPencil3, { size: 16 })), /* @__PURE__ */ React327.createElement(ActionIcon48, { variant: "subtle", color: "red", onClick: () => onDelete(rule), disabled, "aria-label": `Delete the rule on ${field.title}` }, /* @__PURE__ */ React327.createElement(IconTrash12, { size: 16 })));
37367
- }), (linked ?? []).map((entry) => /* @__PURE__ */ React327.createElement(Group122, { key: entry.elseCase.code, gap: "sm", align: "flex-start", wrap: "nowrap", pl: 20 }, /* @__PURE__ */ React327.createElement(Box62, { mt: 2, style: consequencePillStyle(entry.onFail === "review" ? "var(--mantine-color-grape-6)" : "var(--mantine-color-red-6)") }, consequenceIcon(entry.onFail === "review" ? "human" : "reject", 15)), /* @__PURE__ */ React327.createElement(Box62, { style: { flex: 1 } }, /* @__PURE__ */ React327.createElement(RuleSentence, { text: describeLinked(linkedSentenceOf(entry), ctx) })), /* @__PURE__ */ React327.createElement(ActionIcon48, { variant: "subtle", onClick: () => onEditLinked?.(entry), disabled: disabled || !onEditLinked, "aria-label": `Change the linked rule on ${field.title}` }, /* @__PURE__ */ React327.createElement(IconPencil3, { size: 16 })), /* @__PURE__ */ React327.createElement(
37368
- ActionIcon48,
37391
+ ) : /* @__PURE__ */ React327.createElement(RuleSentence, { text: describeRule(rule, ctx) })), (!grownShape || grownShape.editable) && /* @__PURE__ */ React327.createElement(ActionIcon49, { variant: "subtle", onClick: () => onEdit(rule), disabled, "aria-label": `Change the rule on ${field.title}` }, /* @__PURE__ */ React327.createElement(IconPencil3, { size: 16 })), /* @__PURE__ */ React327.createElement(ActionIcon49, { variant: "subtle", color: "red", onClick: () => onDelete(rule), disabled, "aria-label": `Delete the rule on ${field.title}` }, /* @__PURE__ */ React327.createElement(IconTrash12, { size: 16 })));
37392
+ }), (linked ?? []).map((entry) => /* @__PURE__ */ React327.createElement(Group122, { key: entry.elseCase.code, gap: "sm", align: "flex-start", wrap: "nowrap", pl: 20 }, /* @__PURE__ */ React327.createElement(Box62, { mt: 2, style: consequencePillStyle(entry.onFail === "review" ? "var(--mantine-color-grape-6)" : "var(--mantine-color-red-6)") }, consequenceIcon(entry.onFail === "review" ? "human" : "reject", 15)), /* @__PURE__ */ React327.createElement(Box62, { style: { flex: 1 } }, /* @__PURE__ */ React327.createElement(RuleSentence, { text: describeLinked(linkedSentenceOf(entry), ctx) })), /* @__PURE__ */ React327.createElement(ActionIcon49, { variant: "subtle", onClick: () => onEditLinked?.(entry), disabled: disabled || !onEditLinked, "aria-label": `Change the linked rule on ${field.title}` }, /* @__PURE__ */ React327.createElement(IconPencil3, { size: 16 })), /* @__PURE__ */ React327.createElement(
37393
+ ActionIcon49,
37369
37394
  {
37370
37395
  variant: "subtle",
37371
37396
  color: "red",
@@ -37382,12 +37407,12 @@ function unique(problems) {
37382
37407
 
37383
37408
  // src/mantine/blocks/action/actionTypes/evalRubric/RuleEditor.tsx
37384
37409
  import React332, { useMemo as useMemo125, useState as useState177 } from "react";
37385
- import { ActionIcon as ActionIcon51, Alert as Alert53, Box as Box63, Button as Button75, Divider as Divider24, Group as Group127, Modal as Modal5, Paper as Paper32, ScrollArea as ScrollArea10, Stack as Stack221, Text as Text209 } from "@mantine/core";
37410
+ import { ActionIcon as ActionIcon52, Alert as Alert53, Box as Box63, Button as Button75, Divider as Divider24, Group as Group127, Modal as Modal5, Paper as Paper32, ScrollArea as ScrollArea10, Stack as Stack221, Text as Text209 } from "@mantine/core";
37386
37411
  import { IconAlertTriangle as IconAlertTriangle16, IconPlus as IconPlus12, IconRobot as IconRobot6, IconTrash as IconTrash13, IconWand as IconWand2, IconWorld as IconWorld4, IconX as IconX20 } from "@tabler/icons-react";
37387
37412
 
37388
37413
  // src/mantine/blocks/action/actionTypes/evalRubric/AiCheckInline.tsx
37389
37414
  import React328 from "react";
37390
- import { ActionIcon as ActionIcon49, Button as Button73, Group as Group123, Paper as Paper29, Stack as Stack218, Text as Text205 } from "@mantine/core";
37415
+ import { ActionIcon as ActionIcon50, Button as Button73, Group as Group123, Paper as Paper29, Stack as Stack218, Text as Text205 } from "@mantine/core";
37391
37416
  import { IconPlus as IconPlus11, IconRobot as IconRobot5, IconX as IconX18 } from "@tabler/icons-react";
37392
37417
  var AiCheckInline = ({ ai, questionTitle, onChange, disabled, index }) => {
37393
37418
  const setRule = (at, text) => onChange({ ...ai, instructions: ai.instructions.map((rule, i) => i === at ? text : rule) });
@@ -37406,7 +37431,7 @@ var AiCheckInline = ({ ai, questionTitle, onChange, disabled, index }) => {
37406
37431
  onChange: (event) => setRule(at, event.currentTarget.value),
37407
37432
  disabled
37408
37433
  }
37409
- ), /* @__PURE__ */ React328.createElement(ActionIcon49, { variant: "subtle", color: "red", onClick: () => removeRule2(at), disabled: disabled || ai.instructions.length <= 1, "aria-label": "Remove this rule" }, /* @__PURE__ */ React328.createElement(IconX18, { size: 16 })))
37434
+ ), /* @__PURE__ */ React328.createElement(ActionIcon50, { variant: "subtle", color: "red", onClick: () => removeRule2(at), disabled: disabled || ai.instructions.length <= 1, "aria-label": "Remove this rule" }, /* @__PURE__ */ React328.createElement(IconX18, { size: 16 })))
37410
37435
  )), /* @__PURE__ */ React328.createElement(Button73, { size: "xs", variant: "subtle", styles: quietButton, leftSection: /* @__PURE__ */ React328.createElement(IconPlus11, { size: 14 }), onClick: addRule, disabled, style: { alignSelf: "flex-start" } }, "Add a rule")), index && /* @__PURE__ */ React328.createElement(
37411
37436
  BaseMultiSelect,
37412
37437
  {
@@ -37636,7 +37661,7 @@ function appErrorMessage(error) {
37636
37661
 
37637
37662
  // src/mantine/blocks/action/actionTypes/evalRubric/ReviewTaskEditor.tsx
37638
37663
  import React331, { useEffect as useEffect119, useState as useState176 } from "react";
37639
- import { ActionIcon as ActionIcon50, Group as Group126, Loader as Loader64, Paper as Paper31, SegmentedControl as SegmentedControl18, Stack as Stack220, TagsInput as TagsInput2, Text as Text208 } from "@mantine/core";
37664
+ import { ActionIcon as ActionIcon51, Group as Group126, Loader as Loader64, Paper as Paper31, SegmentedControl as SegmentedControl18, Stack as Stack220, TagsInput as TagsInput2, Text as Text208 } from "@mantine/core";
37640
37665
  import { IconBan as IconBan3, IconCircleCheck as IconCircleCheck2, IconMessages, IconPercentage, IconUser as IconUser14, IconX as IconX19 } from "@tabler/icons-react";
37641
37666
  var VERDICT_OPTIONS = [
37642
37667
  { value: "approve", label: "Approve the claim", Icon: IconCircleCheck2, color: "var(--mantine-color-green-6)" },
@@ -37773,7 +37798,7 @@ var EngineChannelAccess = ({ roomId }) => {
37773
37798
  }
37774
37799
  return /* @__PURE__ */ React331.createElement(Group126, { gap: 6, wrap: "nowrap" }, icon(IconCircleCheck2, 14, "var(--mantine-color-green-6)"), /* @__PURE__ */ React331.createElement(Text208, { size: "xs", c: "dimmed" }, "The eval engine can post review requests here."));
37775
37800
  };
37776
- var PickedValue = ({ title, value, onClear, clearLabel }) => /* @__PURE__ */ React331.createElement(Paper31, { p: "xs", style: panelStyle }, /* @__PURE__ */ React331.createElement(Group126, { gap: "xs", justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React331.createElement(Stack220, { gap: 0 }, /* @__PURE__ */ React331.createElement(Text208, { size: "sm", fw: 500 }, title), /* @__PURE__ */ React331.createElement(Text208, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, value)), /* @__PURE__ */ React331.createElement(ActionIcon50, { variant: "subtle", color: "red", onClick: onClear, "aria-label": clearLabel }, /* @__PURE__ */ React331.createElement(IconX19, { size: 16 }))));
37801
+ var PickedValue = ({ title, value, onClear, clearLabel }) => /* @__PURE__ */ React331.createElement(Paper31, { p: "xs", style: panelStyle }, /* @__PURE__ */ React331.createElement(Group126, { gap: "xs", justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React331.createElement(Stack220, { gap: 0 }, /* @__PURE__ */ React331.createElement(Text208, { size: "sm", fw: 500 }, title), /* @__PURE__ */ React331.createElement(Text208, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, value)), /* @__PURE__ */ React331.createElement(ActionIcon51, { variant: "subtle", color: "red", onClick: onClear, "aria-label": clearLabel }, /* @__PURE__ */ React331.createElement(IconX19, { size: 16 }))));
37777
37802
  var ChannelSearch = ({ onPick }) => {
37778
37803
  const handlers = useBlocknoteHandlers();
37779
37804
  const canList = typeof handlers.listDomainChannels === "function" || typeof handlers.sourceDomainSpaces === "function";
@@ -38135,7 +38160,7 @@ var RuleEditor = ({ opened, onClose, body, catalog, index, field, editing, onSav
38135
38160
  onChange: (next) => setMemberAi(at, next)
38136
38161
  }
38137
38162
  ))
38138
- )), /* @__PURE__ */ React332.createElement(ActionIcon51, { variant: "subtle", color: "red", onClick: () => removeCheck(at), "aria-label": "Remove this check" }, /* @__PURE__ */ React332.createElement(IconTrash13, { size: 16 })))), /* @__PURE__ */ React332.createElement(Button75, { variant: "subtle", size: "compact-sm", styles: quietButton, style: { alignSelf: "flex-start" }, leftSection: /* @__PURE__ */ React332.createElement(IconPlus12, { size: 14 }), onClick: addCheck }, GROW_RULE_LABEL)))
38163
+ )), /* @__PURE__ */ React332.createElement(ActionIcon52, { variant: "subtle", color: "red", onClick: () => removeCheck(at), "aria-label": "Remove this check" }, /* @__PURE__ */ React332.createElement(IconTrash13, { size: 16 })))), /* @__PURE__ */ React332.createElement(Button75, { variant: "subtle", size: "compact-sm", styles: quietButton, style: { alignSelf: "flex-start" }, leftSection: /* @__PURE__ */ React332.createElement(IconPlus12, { size: 14 }), onClick: addCheck }, GROW_RULE_LABEL)))
38139
38164
  ) : draft.consequence === "reject" && !ext && !ai ? /* @__PURE__ */ React332.createElement(
38140
38165
  ConditionRow2,
38141
38166
  {
@@ -38215,7 +38240,7 @@ var RuleEditor = ({ opened, onClose, body, catalog, index, field, editing, onSav
38215
38240
  onChange: (rule) => setDraft((current) => ({ ...current, appliesWhen: rule })),
38216
38241
  lead: "Only check this if"
38217
38242
  }
38218
- )), /* @__PURE__ */ React332.createElement(ActionIcon51, { variant: "subtle", color: "red", onClick: () => setDraft((current) => ({ ...current, appliesWhen: void 0 })), "aria-label": "Always check this rule" }, /* @__PURE__ */ React332.createElement(IconX20, { size: 16 })))) : /* @__PURE__ */ React332.createElement(
38243
+ )), /* @__PURE__ */ React332.createElement(ActionIcon52, { variant: "subtle", color: "red", onClick: () => setDraft((current) => ({ ...current, appliesWhen: void 0 })), "aria-label": "Always check this rule" }, /* @__PURE__ */ React332.createElement(IconX20, { size: 16 })))) : /* @__PURE__ */ React332.createElement(
38219
38244
  Button75,
38220
38245
  {
38221
38246
  variant: "subtle",
@@ -38590,6 +38615,7 @@ function useRubricDraft(inputs, onInputsChange, opts) {
38590
38615
  const [formLoading, setFormLoading] = useState180(false);
38591
38616
  const [formError, setFormError] = useState180(null);
38592
38617
  const fetchGenRef = useRef48(0);
38618
+ const [prefilledFromChain, setPrefilledFromChain] = useState180(false);
38593
38619
  const loadForm = useCallback113(
38594
38620
  async (deedDid, collectionId, collection) => {
38595
38621
  if (!deedDid || !collectionId) return;
@@ -38618,12 +38644,30 @@ function useRubricDraft(inputs, onInputsChange, opts) {
38618
38644
  update({ claimSchemaSnapshot: catalog });
38619
38645
  return;
38620
38646
  }
38647
+ let base = current;
38648
+ if (!base && typeof handlers.getDeedRubric === "function") {
38649
+ const published = await handlers.getDeedRubric(deedDid).catch((error) => {
38650
+ console.warn("[eval.rubric] step prefill \u2014 could not read the published rules", error);
38651
+ return null;
38652
+ });
38653
+ if (generation !== fetchGenRef.current) return;
38654
+ const candidate = parsePublishedRubric(published?.rubric);
38655
+ const boundTo = String(candidate?.claimSchema?.protocol || "");
38656
+ const fetched = candidate && boundTo === protocol ? candidate : null;
38657
+ base = localRef.current.rubric ?? fetched;
38658
+ setPrefilledFromChain(!localRef.current.rubric && !!fetched);
38659
+ console.info(
38660
+ "[eval.rubric] step prefill \u2014",
38661
+ fetched ? `opened on the rules already published for protocol ${protocol}` : candidate ? `skipped: the published rules are bound to protocol ${boundTo}, not ${protocol}` : "no rules published yet; starting fresh"
38662
+ );
38663
+ }
38621
38664
  update({
38622
38665
  claimSchemaSnapshot: catalog,
38623
- // Keep the rules the author already wrote; re-pin them to the form that
38624
- // is actually loaded. `bindForm` NEVER replaces an existing rubric with
38625
- // a blank one — only fills the binding — so reopening cannot wipe work.
38626
- rubric: bindForm(current, protocol, resource, catalog.proof, title)
38666
+ // Keep the rules the author already wrote (or the published ones just
38667
+ // read); re-pin them to the form that is actually loaded. `bindForm`
38668
+ // NEVER replaces an existing rubric with a blank one — only fills the
38669
+ // binding so reopening cannot wipe work.
38670
+ rubric: bindForm(base, protocol, resource, catalog.proof, title)
38627
38671
  });
38628
38672
  } catch (error) {
38629
38673
  if (generation !== fetchGenRef.current) return;
@@ -38774,6 +38818,7 @@ function useRubricDraft(inputs, onInputsChange, opts) {
38774
38818
  formLoading,
38775
38819
  formError,
38776
38820
  reloadForm,
38821
+ prefilledFromChain,
38777
38822
  checking,
38778
38823
  checkError,
38779
38824
  checkFormDrift,
@@ -39089,7 +39134,7 @@ var EvalEngineFlowDetail = ({
39089
39134
  const editingLocked = isDisabled || isRunning;
39090
39135
  const title = block?.props?.title || "Evaluation Engine";
39091
39136
  const description = block?.props?.description || "";
39092
- return /* @__PURE__ */ React335.createElement(Stack224, { gap: "md" }, /* @__PURE__ */ React335.createElement(Stack224, { gap: 2 }, /* @__PURE__ */ React335.createElement(Text212, { fw: 600 }, title), description && /* @__PURE__ */ React335.createElement(Text212, { size: "sm", c: "dimmed" }, description)), configMissing && /* @__PURE__ */ React335.createElement(Alert55, { color: "yellow", styles: actionAlertStyles }, "Configure the DID and claim collection in template mode (or wire a Claim Collection trigger) before running this action."), !configMissing && !isCompletedWithProof && /* @__PURE__ */ React335.createElement(React335.Fragment, null, draft.formLoading && /* @__PURE__ */ React335.createElement(Group130, { gap: "xs" }, /* @__PURE__ */ React335.createElement(Loader65, { size: "xs" }), /* @__PURE__ */ React335.createElement(Text212, { size: "sm", c: "dimmed" }, "Loading the claim form\u2026")), draft.collectionsError && /* @__PURE__ */ React335.createElement(Alert55, { color: "red", icon: /* @__PURE__ */ React335.createElement(IconAlertCircle29, { size: 16 }), styles: actionAlertStyles }, /* @__PURE__ */ React335.createElement(Text212, { size: "sm" }, draft.collectionsError)), !draft.formLoading && draft.formError && /* @__PURE__ */ React335.createElement(BaseAlert, { errMsg: draft.formError, onRetry: draft.reloadForm }), !draft.formLoading && !draft.formError && catalog && body && /* @__PURE__ */ React335.createElement(React335.Fragment, null, /* @__PURE__ */ React335.createElement(Group130, { justify: "space-between", align: "center" }, /* @__PURE__ */ React335.createElement(Text212, { size: "sm", fw: 600 }, body.title ? `Form: \u201C${body.title}\u201D` : "The claim form", " \xB7 ", catalog.fields.length, " question", catalog.fields.length === 1 ? "" : "s")), /* @__PURE__ */ React335.createElement(Stack224, { gap: 14 }, catalog.fields.map((field) => /* @__PURE__ */ React335.createElement(
39137
+ return /* @__PURE__ */ React335.createElement(Stack224, { gap: "md" }, /* @__PURE__ */ React335.createElement(Stack224, { gap: 2 }, /* @__PURE__ */ React335.createElement(Text212, { fw: 600 }, title), description && /* @__PURE__ */ React335.createElement(Text212, { size: "sm", c: "dimmed" }, description)), configMissing && /* @__PURE__ */ React335.createElement(Alert55, { color: "yellow", styles: actionAlertStyles }, "Configure the DID and claim collection in template mode (or wire a Claim Collection trigger) before running this action."), !configMissing && !isCompletedWithProof && /* @__PURE__ */ React335.createElement(React335.Fragment, null, draft.formLoading && /* @__PURE__ */ React335.createElement(Group130, { gap: "xs" }, /* @__PURE__ */ React335.createElement(Loader65, { size: "xs" }), /* @__PURE__ */ React335.createElement(Text212, { size: "sm", c: "dimmed" }, "Loading the claim form\u2026")), draft.prefilledFromChain && /* @__PURE__ */ React335.createElement(Alert55, { color: "neutralColor", variant: "light", icon: /* @__PURE__ */ React335.createElement(IconInfoCircle11, { size: 16 }), styles: actionAlertStyles }, /* @__PURE__ */ React335.createElement(Text212, { size: "xs" }, "These are the rules already published for this claim form, loaded from chain. Edit them and sign to replace what is live.")), draft.collectionsError && /* @__PURE__ */ React335.createElement(Alert55, { color: "red", icon: /* @__PURE__ */ React335.createElement(IconAlertCircle29, { size: 16 }), styles: actionAlertStyles }, /* @__PURE__ */ React335.createElement(Text212, { size: "sm" }, draft.collectionsError)), !draft.formLoading && draft.formError && /* @__PURE__ */ React335.createElement(BaseAlert, { errMsg: draft.formError, onRetry: draft.reloadForm }), !draft.formLoading && !draft.formError && catalog && body && /* @__PURE__ */ React335.createElement(React335.Fragment, null, /* @__PURE__ */ React335.createElement(Group130, { justify: "space-between", align: "center" }, /* @__PURE__ */ React335.createElement(Text212, { size: "sm", fw: 600 }, body.title ? `Form: \u201C${body.title}\u201D` : "The claim form", " \xB7 ", catalog.fields.length, " question", catalog.fields.length === 1 ? "" : "s")), /* @__PURE__ */ React335.createElement(Stack224, { gap: 14 }, catalog.fields.map((field) => /* @__PURE__ */ React335.createElement(
39093
39138
  "div",
39094
39139
  {
39095
39140
  key: field.path,
@@ -39116,7 +39161,7 @@ var EvalEngineFlowDetail = ({
39116
39161
  disabled: editingLocked
39117
39162
  }
39118
39163
  )
39119
- ))), (orphanRules.length > 0 || orphanLinked.length > 0) && /* @__PURE__ */ React335.createElement(Paper35, { p: 18, style: { ...cardStyle, borderColor: "var(--mantine-color-red-6)" } }, /* @__PURE__ */ React335.createElement(Stack224, { gap: "sm" }, /* @__PURE__ */ React335.createElement(Text212, { size: "sm", fw: 600 }, "Rules with no question"), /* @__PURE__ */ React335.createElement(Text212, { size: "xs", c: "dimmed" }, "These are about answers the form no longer asks for. Delete them, or put the questions back on the form."), orphanRules.map((rule) => /* @__PURE__ */ React335.createElement(Group130, { key: rule.code, gap: "sm", align: "flex-start", wrap: "nowrap" }, /* @__PURE__ */ React335.createElement(Box64, { mt: 2, style: consequencePillStyle(CONSEQUENCES.find((entry) => entry.value === rule.consequence)?.color ?? SLATE) }, consequenceIcon(rule.consequence, 15)), /* @__PURE__ */ React335.createElement(Box64, { style: { flex: 1 } }, /* @__PURE__ */ React335.createElement(RuleSentence, { text: describeRule(rule, { fields: draft.index, aiChecks: body.aiChecks }) })), /* @__PURE__ */ React335.createElement(ActionIcon52, { variant: "subtle", color: "red", onClick: () => deleteRule(rule), disabled: editingLocked, "aria-label": "Delete this rule" }, /* @__PURE__ */ React335.createElement(IconTrash14, { size: 16 })))), orphanLinked.map((entry) => /* @__PURE__ */ React335.createElement(Group130, { key: entry.elseCase.code, gap: "sm", align: "flex-start", wrap: "nowrap" }, /* @__PURE__ */ React335.createElement(Box64, { mt: 2, style: consequencePillStyle(entry.onFail === "review" ? "var(--mantine-color-grape-6)" : "var(--mantine-color-red-6)") }, consequenceIcon(entry.onFail === "review" ? "human" : "reject", 15)), /* @__PURE__ */ React335.createElement(Box64, { style: { flex: 1 } }, /* @__PURE__ */ React335.createElement(RuleSentence, { text: describeLinked(linkedSentenceOf(entry), { fields: draft.index }) })), /* @__PURE__ */ React335.createElement(ActionIcon52, { variant: "subtle", color: "red", onClick: () => deleteLinked(entry), disabled: editingLocked, "aria-label": "Delete this rule" }, /* @__PURE__ */ React335.createElement(IconTrash14, { size: 16 })))))), allErrors.filter((problem) => problem.code === "RUB_AI_CHECKS_DISABLED").map((problem) => /* @__PURE__ */ React335.createElement(Alert55, { key: problem.code, color: "red", icon: /* @__PURE__ */ React335.createElement(IconAlertTriangle17, { size: 16 }), title: "AI checks are turned off for this collection", styles: actionAlertStyles }, /* @__PURE__ */ React335.createElement(Text212, { size: "xs" }, problem.message))), /* @__PURE__ */ React335.createElement(ApprovalPolicy, { body, index: draft.index, checkCount, onChange: draft.setRubric, disabled: editingLocked }), /* @__PURE__ */ React335.createElement(UniqueRule, { body, catalog, onChange: draft.setRubric, disabled: editingLocked }), /* @__PURE__ */ React335.createElement(FrequencyRule, { body, onChange: draft.setRubric, disabled: editingLocked }), problemsByCard.loose.filter((problem) => problem.severity === "warning" && problem.code !== "RUB_WEIGHT_IGNORED").map((problem) => /* @__PURE__ */ React335.createElement(Alert55, { key: `${problem.code}${problem.path}`, color: "yellow", icon: /* @__PURE__ */ React335.createElement(IconInfoCircle11, { size: 16 }), styles: actionAlertStyles }, /* @__PURE__ */ React335.createElement(Text212, { size: "xs" }, problemText(problem)))), /* @__PURE__ */ React335.createElement(Paper35, { p: "md", style: cardStyle }, /* @__PURE__ */ React335.createElement(Stack224, { gap: "xs" }, /* @__PURE__ */ React335.createElement(Group130, { justify: "space-between" }, /* @__PURE__ */ React335.createElement(Group130, { gap: "xs" }, allErrors.length === 0 ? /* @__PURE__ */ React335.createElement(IconCheck26, { size: 16, color: "var(--mantine-color-green-6)" }) : /* @__PURE__ */ React335.createElement(IconAlertTriangle17, { size: 16, color: "var(--mantine-color-red-6)" }), /* @__PURE__ */ React335.createElement(Text212, { size: "sm" }, describeTally(draft.rules, { linked: draft.linked.length, policyMembers: policyMemberCount }))), /* @__PURE__ */ React335.createElement(Text212, { size: "sm", fw: 600, c: allErrors.length > 0 ? "red" : "dimmed" }, allErrors.length > 0 ? `${allErrors.length} problem${allErrors.length === 1 ? "" : "s"} left to fix` : "Ready to sign")), problemList.length > 0 && /* @__PURE__ */ React335.createElement(Stack224, { gap: 6 }, problemList.map((problem, at) => /* @__PURE__ */ React335.createElement(Group130, { key: `${problem.text}${at}`, gap: "xs", wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React335.createElement(Box64, { mt: 3, style: { flexShrink: 0 } }, /* @__PURE__ */ React335.createElement(IconAlertTriangle17, { size: 14, color: "var(--mantine-color-red-6)" })), /* @__PURE__ */ React335.createElement(Text212, { size: "xs", style: { flex: 1 } }, problem.text), problem.card && /* @__PURE__ */ React335.createElement(Button76, { size: "compact-xs", variant: "subtle", styles: quietButton, rightSection: /* @__PURE__ */ React335.createElement(IconArrowRight3, { size: 12 }), onClick: () => scrollToCard(problem.card) }, "Take me there")))))), /* @__PURE__ */ React335.createElement(AdvancedPanel, { body }), editorState && /* @__PURE__ */ React335.createElement(
39164
+ ))), (orphanRules.length > 0 || orphanLinked.length > 0) && /* @__PURE__ */ React335.createElement(Paper35, { p: 18, style: { ...cardStyle, borderColor: "var(--mantine-color-red-6)" } }, /* @__PURE__ */ React335.createElement(Stack224, { gap: "sm" }, /* @__PURE__ */ React335.createElement(Text212, { size: "sm", fw: 600 }, "Rules with no question"), /* @__PURE__ */ React335.createElement(Text212, { size: "xs", c: "dimmed" }, "These are about answers the form no longer asks for. Delete them, or put the questions back on the form."), orphanRules.map((rule) => /* @__PURE__ */ React335.createElement(Group130, { key: rule.code, gap: "sm", align: "flex-start", wrap: "nowrap" }, /* @__PURE__ */ React335.createElement(Box64, { mt: 2, style: consequencePillStyle(CONSEQUENCES.find((entry) => entry.value === rule.consequence)?.color ?? SLATE) }, consequenceIcon(rule.consequence, 15)), /* @__PURE__ */ React335.createElement(Box64, { style: { flex: 1 } }, /* @__PURE__ */ React335.createElement(RuleSentence, { text: describeRule(rule, { fields: draft.index, aiChecks: body.aiChecks }) })), /* @__PURE__ */ React335.createElement(ActionIcon53, { variant: "subtle", color: "red", onClick: () => deleteRule(rule), disabled: editingLocked, "aria-label": "Delete this rule" }, /* @__PURE__ */ React335.createElement(IconTrash14, { size: 16 })))), orphanLinked.map((entry) => /* @__PURE__ */ React335.createElement(Group130, { key: entry.elseCase.code, gap: "sm", align: "flex-start", wrap: "nowrap" }, /* @__PURE__ */ React335.createElement(Box64, { mt: 2, style: consequencePillStyle(entry.onFail === "review" ? "var(--mantine-color-grape-6)" : "var(--mantine-color-red-6)") }, consequenceIcon(entry.onFail === "review" ? "human" : "reject", 15)), /* @__PURE__ */ React335.createElement(Box64, { style: { flex: 1 } }, /* @__PURE__ */ React335.createElement(RuleSentence, { text: describeLinked(linkedSentenceOf(entry), { fields: draft.index }) })), /* @__PURE__ */ React335.createElement(ActionIcon53, { variant: "subtle", color: "red", onClick: () => deleteLinked(entry), disabled: editingLocked, "aria-label": "Delete this rule" }, /* @__PURE__ */ React335.createElement(IconTrash14, { size: 16 })))))), allErrors.filter((problem) => problem.code === "RUB_AI_CHECKS_DISABLED").map((problem) => /* @__PURE__ */ React335.createElement(Alert55, { key: problem.code, color: "red", icon: /* @__PURE__ */ React335.createElement(IconAlertTriangle17, { size: 16 }), title: "AI checks are turned off for this collection", styles: actionAlertStyles }, /* @__PURE__ */ React335.createElement(Text212, { size: "xs" }, problem.message))), /* @__PURE__ */ React335.createElement(ApprovalPolicy, { body, index: draft.index, checkCount, onChange: draft.setRubric, disabled: editingLocked }), /* @__PURE__ */ React335.createElement(UniqueRule, { body, catalog, onChange: draft.setRubric, disabled: editingLocked }), /* @__PURE__ */ React335.createElement(FrequencyRule, { body, onChange: draft.setRubric, disabled: editingLocked }), problemsByCard.loose.filter((problem) => problem.severity === "warning" && problem.code !== "RUB_WEIGHT_IGNORED").map((problem) => /* @__PURE__ */ React335.createElement(Alert55, { key: `${problem.code}${problem.path}`, color: "yellow", icon: /* @__PURE__ */ React335.createElement(IconInfoCircle11, { size: 16 }), styles: actionAlertStyles }, /* @__PURE__ */ React335.createElement(Text212, { size: "xs" }, problemText(problem)))), /* @__PURE__ */ React335.createElement(Paper35, { p: "md", style: cardStyle }, /* @__PURE__ */ React335.createElement(Stack224, { gap: "xs" }, /* @__PURE__ */ React335.createElement(Group130, { justify: "space-between" }, /* @__PURE__ */ React335.createElement(Group130, { gap: "xs" }, allErrors.length === 0 ? /* @__PURE__ */ React335.createElement(IconCheck26, { size: 16, color: "var(--mantine-color-green-6)" }) : /* @__PURE__ */ React335.createElement(IconAlertTriangle17, { size: 16, color: "var(--mantine-color-red-6)" }), /* @__PURE__ */ React335.createElement(Text212, { size: "sm" }, describeTally(draft.rules, { linked: draft.linked.length, policyMembers: policyMemberCount }))), /* @__PURE__ */ React335.createElement(Text212, { size: "sm", fw: 600, c: allErrors.length > 0 ? "red" : "dimmed" }, allErrors.length > 0 ? `${allErrors.length} problem${allErrors.length === 1 ? "" : "s"} left to fix` : "Ready to sign")), problemList.length > 0 && /* @__PURE__ */ React335.createElement(Stack224, { gap: 6 }, problemList.map((problem, at) => /* @__PURE__ */ React335.createElement(Group130, { key: `${problem.text}${at}`, gap: "xs", wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React335.createElement(Box64, { mt: 3, style: { flexShrink: 0 } }, /* @__PURE__ */ React335.createElement(IconAlertTriangle17, { size: 14, color: "var(--mantine-color-red-6)" })), /* @__PURE__ */ React335.createElement(Text212, { size: "xs", style: { flex: 1 } }, problem.text), problem.card && /* @__PURE__ */ React335.createElement(Button76, { size: "compact-xs", variant: "subtle", styles: quietButton, rightSection: /* @__PURE__ */ React335.createElement(IconArrowRight3, { size: 12 }), onClick: () => scrollToCard(problem.card) }, "Take me there")))))), /* @__PURE__ */ React335.createElement(AdvancedPanel, { body }), editorState && /* @__PURE__ */ React335.createElement(
39120
39165
  RuleEditor,
39121
39166
  {
39122
39167
  opened: true,
@@ -39458,13 +39503,13 @@ var EvaluateClaimConfig = ({ inputs, onInputsChange, editor, blockId }) => {
39458
39503
 
39459
39504
  // src/mantine/blocks/action/actionTypes/evaluateClaim/EvaluateClaimFlowDetail.tsx
39460
39505
  import { SurveyModel as SurveyModel11 } from "@ixo/surveys";
39461
- import { ActionIcon as ActionIcon56, Box as Box69, Button as Button80, Checkbox as Checkbox16, Divider as Divider25, Group as Group142, Loader as Loader69, ScrollArea as ScrollArea12, Stack as Stack236, Text as Text224, UnstyledButton as UnstyledButton10 } from "@mantine/core";
39506
+ import { ActionIcon as ActionIcon57, Box as Box69, Button as Button80, Checkbox as Checkbox16, Divider as Divider25, Group as Group142, Loader as Loader69, ScrollArea as ScrollArea12, Stack as Stack236, Text as Text224, UnstyledButton as UnstyledButton10 } from "@mantine/core";
39462
39507
  import { IconArrowLeft as IconArrowLeft11, IconCheck as IconCheck34, IconFilter as IconFilter2, IconRefresh as IconRefresh11 } from "@tabler/icons-react";
39463
39508
  import { default as React347, useCallback as useCallback118, useEffect as useEffect127, useMemo as useMemo132, useRef as useRef53, useState as useState189 } from "react";
39464
39509
 
39465
39510
  // src/mantine/blocks/action/actionTypes/evaluateClaim/AiChecksSection.tsx
39466
39511
  import React337 from "react";
39467
- import { Accordion as Accordion6, Group as Group132, Stack as Stack226, Text as Text214, Tooltip as Tooltip30 } from "@mantine/core";
39512
+ import { Accordion as Accordion6, Group as Group132, Stack as Stack226, Text as Text214, Tooltip as Tooltip31 } from "@mantine/core";
39468
39513
  import { IconAlertTriangle as IconAlertTriangle18, IconCheck as IconCheck27, IconPhoto as IconPhoto5, IconX as IconX21 } from "@tabler/icons-react";
39469
39514
 
39470
39515
  // src/mantine/blocks/action/actionTypes/evaluateClaim/engineModel.ts
@@ -39669,13 +39714,13 @@ var AiChecksSection = ({ ai, rubric }) => {
39669
39714
  return /* @__PURE__ */ React337.createElement(Accordion6, { variant: "separated", radius: "md", multiple: true, defaultValue: failedNames }, Object.entries(ai).map(([name, fact]) => {
39670
39715
  const check = rubric?.aiChecks?.find((entry) => entry.name === name);
39671
39716
  const provenance = provenanceOf(fact);
39672
- return /* @__PURE__ */ React337.createElement(Accordion6.Item, { key: name, value: name }, /* @__PURE__ */ React337.createElement(Accordion6.Control, null, /* @__PURE__ */ React337.createElement(Group132, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React337.createElement(Stack226, { gap: 0, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React337.createElement(Text214, { size: "sm", fw: 500, truncate: true }, purposeOf(name, check)), /* @__PURE__ */ React337.createElement(Text214, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" }, truncate: true }, name)), /* @__PURE__ */ React337.createElement(CheckStatus, { fact }), fact.status === "ok" && /* @__PURE__ */ React337.createElement(Tooltip30, { label: `${fact.score}/100` }, /* @__PURE__ */ React337.createElement(Text214, { size: "xs", c: "dimmed", style: { whiteSpace: "nowrap" } }, confidenceOf(fact.score))))), /* @__PURE__ */ React337.createElement(Accordion6.Panel, null, /* @__PURE__ */ React337.createElement(Stack226, { gap: 8 }, fact.status === "ok" && fact.reason && /* @__PURE__ */ React337.createElement(Text214, { size: "sm" }, fact.reason), fact.status === "ok" && fact.failedRules.length > 0 && /* @__PURE__ */ React337.createElement(Stack226, { gap: 2 }, fact.failedRules.map((rule, i) => /* @__PURE__ */ React337.createElement(Group132, { key: i, gap: 6, wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React337.createElement(IconX21, { size: 12, color: "var(--mantine-color-red-6)" }), /* @__PURE__ */ React337.createElement(Text214, { size: "xs" }, rule)))), fact.status === "error" && /* @__PURE__ */ React337.createElement(Text214, { size: "sm", c: "dimmed" }, fact.onError === "reject" ? "This check couldn't run, so the claim was rejected to stay safe." : "This check couldn't run, so the claim is held for a person to look at."), provenance && /* @__PURE__ */ React337.createElement(Group132, { gap: 6, wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React337.createElement(IconPhoto5, { size: 14, color: "var(--mantine-color-dimmed)" }), /* @__PURE__ */ React337.createElement(Text214, { size: "xs" }, provenance.aiGenerated && provenance.trusted ? `This photo carries a hidden label: made by AI (${VENDOR_NAME[provenance.vendor] ?? "another provider"}) \u2014 check failed automatically` : "No hidden label found \u2014 nothing proves this photo is AI-made.")), check && Object.keys(check.send).length > 0 && /* @__PURE__ */ React337.createElement(Text214, { size: "xs", c: "dimmed" }, "What the AI was shown: ", Object.keys(check.send).join(", ")))));
39717
+ return /* @__PURE__ */ React337.createElement(Accordion6.Item, { key: name, value: name }, /* @__PURE__ */ React337.createElement(Accordion6.Control, null, /* @__PURE__ */ React337.createElement(Group132, { gap: "xs", wrap: "nowrap" }, /* @__PURE__ */ React337.createElement(Stack226, { gap: 0, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React337.createElement(Text214, { size: "sm", fw: 500, truncate: true }, purposeOf(name, check)), /* @__PURE__ */ React337.createElement(Text214, { size: "xs", c: "dimmed", style: { fontFamily: "monospace" }, truncate: true }, name)), /* @__PURE__ */ React337.createElement(CheckStatus, { fact }), fact.status === "ok" && /* @__PURE__ */ React337.createElement(Tooltip31, { label: `${fact.score}/100` }, /* @__PURE__ */ React337.createElement(Text214, { size: "xs", c: "dimmed", style: { whiteSpace: "nowrap" } }, confidenceOf(fact.score))))), /* @__PURE__ */ React337.createElement(Accordion6.Panel, null, /* @__PURE__ */ React337.createElement(Stack226, { gap: 8 }, fact.status === "ok" && fact.reason && /* @__PURE__ */ React337.createElement(Text214, { size: "sm" }, fact.reason), fact.status === "ok" && fact.failedRules.length > 0 && /* @__PURE__ */ React337.createElement(Stack226, { gap: 2 }, fact.failedRules.map((rule, i) => /* @__PURE__ */ React337.createElement(Group132, { key: i, gap: 6, wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React337.createElement(IconX21, { size: 12, color: "var(--mantine-color-red-6)" }), /* @__PURE__ */ React337.createElement(Text214, { size: "xs" }, rule)))), fact.status === "error" && /* @__PURE__ */ React337.createElement(Text214, { size: "sm", c: "dimmed" }, fact.onError === "reject" ? "This check couldn't run, so the claim was rejected to stay safe." : "This check couldn't run, so the claim is held for a person to look at."), provenance && /* @__PURE__ */ React337.createElement(Group132, { gap: 6, wrap: "nowrap", align: "flex-start" }, /* @__PURE__ */ React337.createElement(IconPhoto5, { size: 14, color: "var(--mantine-color-dimmed)" }), /* @__PURE__ */ React337.createElement(Text214, { size: "xs" }, provenance.aiGenerated && provenance.trusted ? `This photo carries a hidden label: made by AI (${VENDOR_NAME[provenance.vendor] ?? "another provider"}) \u2014 check failed automatically` : "No hidden label found \u2014 nothing proves this photo is AI-made.")), check && Object.keys(check.send).length > 0 && /* @__PURE__ */ React337.createElement(Text214, { size: "xs", c: "dimmed" }, "What the AI was shown: ", Object.keys(check.send).join(", ")))));
39673
39718
  }));
39674
39719
  };
39675
39720
 
39676
39721
  // src/mantine/blocks/action/actionTypes/evaluateClaim/ClaimAttachments.tsx
39677
39722
  import React338, { useCallback as useCallback116, useEffect as useEffect125, useMemo as useMemo130, useRef as useRef51, useState as useState183 } from "react";
39678
- import { Box as Box65, Group as Group133, Loader as Loader67, SimpleGrid as SimpleGrid4, Stack as Stack227, Text as Text215, Tooltip as Tooltip31, UnstyledButton as UnstyledButton6 } from "@mantine/core";
39723
+ import { Box as Box65, Group as Group133, Loader as Loader67, SimpleGrid as SimpleGrid4, Stack as Stack227, Text as Text215, Tooltip as Tooltip32, UnstyledButton as UnstyledButton6 } from "@mantine/core";
39679
39724
  import { IconFile as IconFile5, IconFileText as IconFileText6, IconMusic, IconPhoto as IconPhoto6, IconVideo } from "@tabler/icons-react";
39680
39725
  function toMediaFile(raw) {
39681
39726
  if (!raw) return null;
@@ -39830,7 +39875,7 @@ var ClaimAttachments = ({ surveyModel, credentialSubject, entityDid }) => {
39830
39875
  const showImage = isImage(item);
39831
39876
  const displayUrl = resolved[item.content] || (!fetchClaimMedia ? item.content : "");
39832
39877
  const isFetching = !!pending[item.content] || openingKey === item.content;
39833
- return /* @__PURE__ */ React338.createElement(Tooltip31, { key: `${item.content}-${index}`, label: item.label, openDelay: 400, disabled: !item.label || item.label === item.name }, /* @__PURE__ */ React338.createElement(
39878
+ return /* @__PURE__ */ React338.createElement(Tooltip32, { key: `${item.content}-${index}`, label: item.label, openDelay: 400, disabled: !item.label || item.label === item.name }, /* @__PURE__ */ React338.createElement(
39834
39879
  UnstyledButton6,
39835
39880
  {
39836
39881
  onClick: () => handleOpen(item),
@@ -39943,7 +39988,7 @@ var EnginePromo = () => {
39943
39988
 
39944
39989
  // src/mantine/blocks/action/actionTypes/evaluateClaim/FlowManagerAdvisorySections.tsx
39945
39990
  import React341, { useState as useState185 } from "react";
39946
- import { ActionIcon as ActionIcon53, Badge as Badge55, Group as Group136, Stack as Stack230, Text as Text218, Tooltip as Tooltip32 } from "@mantine/core";
39991
+ import { ActionIcon as ActionIcon54, Badge as Badge55, Group as Group136, Stack as Stack230, Text as Text218, Tooltip as Tooltip33 } from "@mantine/core";
39947
39992
  import { IconCheck as IconCheck29, IconLink as IconLink7, IconPencil as IconPencil4, IconSparkles as IconSparkles7, IconUser as IconUser15, IconX as IconX23 } from "@tabler/icons-react";
39948
39993
 
39949
39994
  // src/mantine/blocks/action/actionTypes/evaluateClaim/evaluationReportModel.ts
@@ -40038,7 +40083,7 @@ function ProvenanceHint({ provenance }) {
40038
40083
  const t = useTranslate();
40039
40084
  if (provenance !== "derived" && provenance !== "inferred" && provenance !== "human") return null;
40040
40085
  const hint = provenance === "human" ? { Icon: IconUser15, label: t("actionTypes.evaluateClaim.flow.flowManager.provenance.human", { defaultValue: "Set by human" }) } : provenance === "derived" ? { Icon: IconLink7, label: t("actionTypes.evaluateClaim.flow.flowManager.provenance.derived", { defaultValue: "Derived from inputs" }) } : { Icon: IconSparkles7, label: t("actionTypes.evaluateClaim.flow.flowManager.provenance.inferred", { defaultValue: "Inferred by LLM" }) };
40041
- return /* @__PURE__ */ React341.createElement(Tooltip32, { label: hint.label, withArrow: true }, /* @__PURE__ */ React341.createElement("span", { style: { display: "inline-flex", alignItems: "center" }, "aria-label": hint.label }, icon(hint.Icon, 12, "var(--mantine-color-dimmed)")));
40086
+ return /* @__PURE__ */ React341.createElement(Tooltip33, { label: hint.label, withArrow: true }, /* @__PURE__ */ React341.createElement("span", { style: { display: "inline-flex", alignItems: "center" }, "aria-label": hint.label }, icon(hint.Icon, 12, "var(--mantine-color-dimmed)")));
40042
40087
  }
40043
40088
  var FlowManagerContextSection = ({ record, onOverride, disabled }) => {
40044
40089
  const t = useTranslate();
@@ -40079,7 +40124,7 @@ var FlowManagerContextSection = ({ record, onOverride, disabled }) => {
40079
40124
  "aria-label": t("actionTypes.evaluateClaim.flow.flowManager.themeEditLabel", { defaultValue: "Edit theme" })
40080
40125
  }
40081
40126
  )), /* @__PURE__ */ React341.createElement(
40082
- ActionIcon53,
40127
+ ActionIcon54,
40083
40128
  {
40084
40129
  variant: "subtle",
40085
40130
  color: "gray",
@@ -40089,7 +40134,7 @@ var FlowManagerContextSection = ({ record, onOverride, disabled }) => {
40089
40134
  },
40090
40135
  icon(IconCheck29, 14)
40091
40136
  ), /* @__PURE__ */ React341.createElement(
40092
- ActionIcon53,
40137
+ ActionIcon54,
40093
40138
  {
40094
40139
  variant: "subtle",
40095
40140
  color: "gray",
@@ -40099,7 +40144,7 @@ var FlowManagerContextSection = ({ record, onOverride, disabled }) => {
40099
40144
  },
40100
40145
  icon(IconX23, 14)
40101
40146
  )) : /* @__PURE__ */ React341.createElement(React341.Fragment, null, /* @__PURE__ */ React341.createElement(Text218, { size: "sm", style: { flex: 1, minWidth: 0 }, truncate: true }, theme), /* @__PURE__ */ React341.createElement(ProvenanceHint, { provenance: provenance.theme }), !disabled && /* @__PURE__ */ React341.createElement(
40102
- ActionIcon53,
40147
+ ActionIcon54,
40103
40148
  {
40104
40149
  variant: "subtle",
40105
40150
  color: "gray",
@@ -40152,9 +40197,9 @@ var OutsideServicesSection = ({ ext }) => /* @__PURE__ */ React342.createElement
40152
40197
 
40153
40198
  // src/mantine/blocks/action/actionTypes/evaluateClaim/TechnicalDetails.tsx
40154
40199
  import React343 from "react";
40155
- import { ActionIcon as ActionIcon54, Badge as Badge57, CopyButton as CopyButton3, Group as Group138, Paper as Paper37, ScrollArea as ScrollArea11, Stack as Stack232, Table, Text as Text220, Timeline as Timeline2, Tooltip as Tooltip33 } from "@mantine/core";
40200
+ import { ActionIcon as ActionIcon55, Badge as Badge57, CopyButton as CopyButton3, Group as Group138, Paper as Paper37, ScrollArea as ScrollArea11, Stack as Stack232, Table, Text as Text220, Timeline as Timeline2, Tooltip as Tooltip34 } from "@mantine/core";
40156
40201
  import { IconCheck as IconCheck31, IconCopy as IconCopy2 } from "@tabler/icons-react";
40157
- var CopyIcon = ({ value }) => /* @__PURE__ */ React343.createElement(CopyButton3, { value, timeout: 1500 }, ({ copied, copy }) => /* @__PURE__ */ React343.createElement(Tooltip33, { label: copied ? "Copied" : "Copy" }, /* @__PURE__ */ React343.createElement(ActionIcon54, { size: "xs", variant: "subtle", color: copied ? "teal" : "gray", onClick: copy }, copied ? /* @__PURE__ */ React343.createElement(IconCheck31, { size: 12 }) : /* @__PURE__ */ React343.createElement(IconCopy2, { size: 12 }))));
40202
+ var CopyIcon = ({ value }) => /* @__PURE__ */ React343.createElement(CopyButton3, { value, timeout: 1500 }, ({ copied, copy }) => /* @__PURE__ */ React343.createElement(Tooltip34, { label: copied ? "Copied" : "Copy" }, /* @__PURE__ */ React343.createElement(ActionIcon55, { size: "xs", variant: "subtle", color: copied ? "teal" : "gray", onClick: copy }, copied ? /* @__PURE__ */ React343.createElement(IconCheck31, { size: 12 }) : /* @__PURE__ */ React343.createElement(IconCopy2, { size: 12 }))));
40158
40203
  var IdRow = ({ label, value }) => value ? /* @__PURE__ */ React343.createElement(Group138, { gap: 6, wrap: "nowrap" }, /* @__PURE__ */ React343.createElement(Text220, { size: "xs", c: "dimmed", style: { width: 110, flexShrink: 0 } }, label), /* @__PURE__ */ React343.createElement(Text220, { size: "xs", style: { fontFamily: "monospace", wordBreak: "break-all", flex: 1 } }, value), /* @__PURE__ */ React343.createElement(CopyIcon, { value })) : null;
40159
40204
  var SubHead = ({ children }) => /* @__PURE__ */ React343.createElement(Text220, { size: "xs", fw: 600, c: "dimmed", tt: "uppercase" }, children);
40160
40205
  var JsonViewer2 = ({ label, value }) => {
@@ -40299,7 +40344,7 @@ function useEngineSummaries(collectionId) {
40299
40344
 
40300
40345
  // src/mantine/blocks/action/actionTypes/evaluateClaim/VerdictBlock.tsx
40301
40346
  import React345, { useState as useState188 } from "react";
40302
- import { ActionIcon as ActionIcon55, Badge as Badge58, Box as Box67, Group as Group140, Loader as Loader68, Stack as Stack234, Text as Text222, Tooltip as Tooltip34, UnstyledButton as UnstyledButton8 } from "@mantine/core";
40347
+ import { ActionIcon as ActionIcon56, Badge as Badge58, Box as Box67, Group as Group140, Loader as Loader68, Stack as Stack234, Text as Text222, Tooltip as Tooltip35, UnstyledButton as UnstyledButton8 } from "@mantine/core";
40303
40348
  import { IconAlertTriangle as IconAlertTriangle21, IconArrowRight as IconArrowRight4, IconCheck as IconCheck32, IconMinus as IconMinus2, IconRefresh as IconRefresh10, IconX as IconX24 } from "@tabler/icons-react";
40304
40349
 
40305
40350
  // src/mantine/blocks/action/actionTypes/evaluateClaim/ReviewAnswerForm.tsx
@@ -40423,7 +40468,10 @@ var MatchedClaims = ({ refs, duplicate, openableClaimIds, onOpenClaim }) => {
40423
40468
  };
40424
40469
  const shownIds = new Set(refs.map((ref) => ref.id));
40425
40470
  const extraCandidates = (duplicate?.candidates ?? []).filter((c) => !shownIds.has(c.claimId));
40426
- const rows = [...refs.map((ref) => ({ id: ref.id, detail: detailFor(ref.id) })), ...expanded ? extraCandidates.map((c) => ({ id: c.claimId, detail: detailFor(c.claimId) })) : []];
40471
+ const rows = [
40472
+ ...refs.map((ref) => ({ id: ref.id, detail: detailFor(ref.id) })),
40473
+ ...expanded ? extraCandidates.map((c) => ({ id: c.claimId, detail: detailFor(c.claimId) })) : []
40474
+ ];
40427
40475
  return /* @__PURE__ */ React345.createElement(Stack234, { gap: 4 }, /* @__PURE__ */ React345.createElement(Text222, { size: "xs", fw: 600, c: "dimmed" }, refs[0].label), rows.map((row) => {
40428
40476
  const canOpen = !!onOpenClaim && !!openableClaimIds?.has(row.id);
40429
40477
  const id = /* @__PURE__ */ React345.createElement(Text222, { size: "xs", style: { fontFamily: "monospace" } }, truncateClaimId2(row.id));
@@ -40490,7 +40538,7 @@ var VerdictBlock = ({
40490
40538
  disabled,
40491
40539
  onSubmit
40492
40540
  }
40493
- ), /* @__PURE__ */ React345.createElement(Group140, { justify: "space-between", align: "center", wrap: "nowrap", gap: "xs" }, /* @__PURE__ */ React345.createElement(Text222, { size: "xs", c: "dimmed", style: { flex: 1, minWidth: 0 } }, metaLine), /* @__PURE__ */ React345.createElement(Tooltip34, { label: updatedAt ? `Updated ${new Date(updatedAt).toLocaleTimeString()}` : "Loading\u2026" }, /* @__PURE__ */ React345.createElement(ActionIcon55, { size: "xs", variant: "subtle", color: "gray", onClick: onRefresh, "aria-label": "Refresh" }, /* @__PURE__ */ React345.createElement(IconRefresh10, { size: 12 })))))
40541
+ ), /* @__PURE__ */ React345.createElement(Group140, { justify: "space-between", align: "center", wrap: "nowrap", gap: "xs" }, /* @__PURE__ */ React345.createElement(Text222, { size: "xs", c: "dimmed", style: { flex: 1, minWidth: 0 } }, metaLine), /* @__PURE__ */ React345.createElement(Tooltip35, { label: updatedAt ? `Updated ${new Date(updatedAt).toLocaleTimeString()}` : "Loading\u2026" }, /* @__PURE__ */ React345.createElement(ActionIcon56, { size: "xs", variant: "subtle", color: "gray", onClick: onRefresh, "aria-label": "Refresh" }, /* @__PURE__ */ React345.createElement(IconRefresh10, { size: 12 })))))
40494
40542
  );
40495
40543
  };
40496
40544
 
@@ -41277,7 +41325,7 @@ var EvaluateClaimFlowDetail = ({
41277
41325
  const selectedClaimProfile = profilesByDid[selectedClaim.agentDid];
41278
41326
  const selectedDisplayName = selectedClaimProfile?.displayname || selectedClaim.agentDid || selectedClaim.agentAddress;
41279
41327
  const selectedAvatarLabel = (selectedClaimProfile?.displayname || selectedClaim.agentDid || selectedClaim.agentAddress || "?")[0]?.toUpperCase();
41280
- return /* @__PURE__ */ React347.createElement(Stack236, { gap: "md" }, /* @__PURE__ */ React347.createElement(Group142, { gap: "xs", align: "center" }, /* @__PURE__ */ React347.createElement(ActionIcon56, { variant: "subtle", color: "gray", size: "sm", onClick: () => setSelectedClaimId("") }, /* @__PURE__ */ React347.createElement(IconArrowLeft11, { size: 16 })), /* @__PURE__ */ React347.createElement(Text224, { fw: 500, size: "sm", title: selectedClaim.claimId, truncate: true, style: { flex: 1, minWidth: 0 } }, t("actionTypes.claim.flow.claimNumber", { id: truncateId2(selectedClaim.claimId), defaultValue: `Claim #${truncateId2(selectedClaim.claimId)}` })), /* @__PURE__ */ React347.createElement(DownloadCsvButton, { onDownload: () => downloadClaimsCsv([selectedClaim], `claim-${truncateId2(selectedClaim.claimId)}.csv`), label: "Download claim CSV" })), /* @__PURE__ */ React347.createElement(Group142, { gap: 16, align: "center", style: { width: "100%" } }, /* @__PURE__ */ React347.createElement(
41328
+ return /* @__PURE__ */ React347.createElement(Stack236, { gap: "md" }, /* @__PURE__ */ React347.createElement(Group142, { gap: "xs", align: "center" }, /* @__PURE__ */ React347.createElement(ActionIcon57, { variant: "subtle", color: "gray", size: "sm", onClick: () => setSelectedClaimId("") }, /* @__PURE__ */ React347.createElement(IconArrowLeft11, { size: 16 })), /* @__PURE__ */ React347.createElement(Text224, { fw: 500, size: "sm", title: selectedClaim.claimId, truncate: true, style: { flex: 1, minWidth: 0 } }, t("actionTypes.claim.flow.claimNumber", { id: truncateId2(selectedClaim.claimId), defaultValue: `Claim #${truncateId2(selectedClaim.claimId)}` })), /* @__PURE__ */ React347.createElement(DownloadCsvButton, { onDownload: () => downloadClaimsCsv([selectedClaim], `claim-${truncateId2(selectedClaim.claimId)}.csv`), label: "Download claim CSV" })), /* @__PURE__ */ React347.createElement(Group142, { gap: 16, align: "center", style: { width: "100%" } }, /* @__PURE__ */ React347.createElement(
41281
41329
  Box69,
41282
41330
  {
41283
41331
  style: {
@@ -41338,7 +41386,14 @@ var EvaluateClaimFlowDetail = ({
41338
41386
  rubric: rubricBody
41339
41387
  }
41340
41388
  )
41341
- ), engine.record?.evaluation?.trace && Object.keys(engine.record.evaluation.trace.ai).length > 0 && /* @__PURE__ */ React347.createElement(CollapsibleSection, { key: selectedClaim.claimId, title: `AI checks \xB7 ${aiChecksPassedCount(engine.record.evaluation.trace.ai)} passed` }, /* @__PURE__ */ React347.createElement(AiChecksSection, { ai: engine.record.evaluation.trace.ai, rubric: rubricBody })), engine.record?.evaluation?.trace && Object.keys(engine.record.evaluation.trace.ext).length > 0 && /* @__PURE__ */ React347.createElement(CollapsibleSection, { key: selectedClaim.claimId, title: `Outside services \xB7 ${Object.values(engine.record.evaluation.trace.ext).filter((fact) => fact.status === "ok").length} answered` }, /* @__PURE__ */ React347.createElement(OutsideServicesSection, { ext: engine.record.evaluation.trace.ext })))), /* @__PURE__ */ React347.createElement(CollapsibleSection, { title: t("actionTypes.evaluateClaim.flow.section.submission", { defaultValue: "The claim" }) }, surveyLoading ? /* @__PURE__ */ React347.createElement(Group142, { gap: "xs" }, /* @__PURE__ */ React347.createElement(Loader69, { size: "xs" }), /* @__PURE__ */ React347.createElement(Text224, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateClaim.flow.loadingSubmissionDetails", { defaultValue: "Loading submission details..." }))) : surveyModel ? /* @__PURE__ */ React347.createElement(ScrollArea12, { h: 280 }, /* @__PURE__ */ React347.createElement(StableSurvey, { model: surveyModel })) : /* @__PURE__ */ React347.createElement(Text224, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateClaim.flow.noSubmissionTemplate", { defaultValue: "No submission template/data available." }))), /* @__PURE__ */ React347.createElement(CollapsibleSection, { title: t("actionTypes.evaluateClaim.flow.section.attachments", { defaultValue: "Attachments" }) }, /* @__PURE__ */ React347.createElement(ClaimAttachments, { surveyModel, credentialSubject: resolvedCredentialSubject, entityDid: deedDid })), flowManagerContext, /* @__PURE__ */ React347.createElement(EvaluationReportSection, { runtime, selectedClaimId: selectedClaim.claimId }), parsed.xeroOracleInvoiceOnApprove && /* @__PURE__ */ React347.createElement(CollapsibleSection, { title: "Xero work", defaultOpen: false }, /* @__PURE__ */ React347.createElement(DismissibleAlert, { color: "blue", variant: "light", p: "xs" }, /* @__PURE__ */ React347.createElement(Text224, { size: "xs" }, "Approving this claim queues a Xero invoice work item. The contracted Xero oracle creates a draft invoice from the claim material \u2014 no Xero side effects run in the browser."))), (outcomeTemplateLoading || outcomeTemplateJson) && /* @__PURE__ */ React347.createElement(
41389
+ ), engine.record?.evaluation?.trace && Object.keys(engine.record.evaluation.trace.ai).length > 0 && /* @__PURE__ */ React347.createElement(CollapsibleSection, { key: selectedClaim.claimId, title: `AI checks \xB7 ${aiChecksPassedCount(engine.record.evaluation.trace.ai)} passed` }, /* @__PURE__ */ React347.createElement(AiChecksSection, { ai: engine.record.evaluation.trace.ai, rubric: rubricBody })), engine.record?.evaluation?.trace && Object.keys(engine.record.evaluation.trace.ext).length > 0 && /* @__PURE__ */ React347.createElement(
41390
+ CollapsibleSection,
41391
+ {
41392
+ key: selectedClaim.claimId,
41393
+ title: `Outside services \xB7 ${Object.values(engine.record.evaluation.trace.ext).filter((fact) => fact.status === "ok").length} answered`
41394
+ },
41395
+ /* @__PURE__ */ React347.createElement(OutsideServicesSection, { ext: engine.record.evaluation.trace.ext })
41396
+ ))), /* @__PURE__ */ React347.createElement(CollapsibleSection, { title: t("actionTypes.evaluateClaim.flow.section.submission", { defaultValue: "The claim" }) }, surveyLoading ? /* @__PURE__ */ React347.createElement(Group142, { gap: "xs" }, /* @__PURE__ */ React347.createElement(Loader69, { size: "xs" }), /* @__PURE__ */ React347.createElement(Text224, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateClaim.flow.loadingSubmissionDetails", { defaultValue: "Loading submission details..." }))) : surveyModel ? /* @__PURE__ */ React347.createElement(ScrollArea12, { h: 280 }, /* @__PURE__ */ React347.createElement(StableSurvey, { model: surveyModel })) : /* @__PURE__ */ React347.createElement(Text224, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateClaim.flow.noSubmissionTemplate", { defaultValue: "No submission template/data available." }))), /* @__PURE__ */ React347.createElement(CollapsibleSection, { title: t("actionTypes.evaluateClaim.flow.section.attachments", { defaultValue: "Attachments" }) }, /* @__PURE__ */ React347.createElement(ClaimAttachments, { surveyModel, credentialSubject: resolvedCredentialSubject, entityDid: deedDid })), flowManagerContext, /* @__PURE__ */ React347.createElement(EvaluationReportSection, { runtime, selectedClaimId: selectedClaim.claimId }), parsed.xeroOracleInvoiceOnApprove && /* @__PURE__ */ React347.createElement(CollapsibleSection, { title: "Xero work", defaultOpen: false }, /* @__PURE__ */ React347.createElement(DismissibleAlert, { color: "blue", variant: "light", p: "xs" }, /* @__PURE__ */ React347.createElement(Text224, { size: "xs" }, "Approving this claim queues a Xero invoice work item. The contracted Xero oracle creates a draft invoice from the claim material \u2014 no Xero side effects run in the browser."))), (outcomeTemplateLoading || outcomeTemplateJson) && /* @__PURE__ */ React347.createElement(
41342
41397
  CollapsibleSection,
41343
41398
  {
41344
41399
  title: t("actionTypes.evaluateClaim.flow.section.outcome", { defaultValue: "Outcome" }),
@@ -41450,7 +41505,7 @@ var EvaluateClaimFlowDetail = ({
41450
41505
  },
41451
41506
  /* @__PURE__ */ React347.createElement(Text224, { size: "sm", fw: 500, c: activeFilter === tab.value ? "var(--mantine-color-text)" : "dimmed" }, tab.label)
41452
41507
  ))), /* @__PURE__ */ React347.createElement(Group142, { gap: 4, align: "center" }, engineSummaries.supported && /* @__PURE__ */ React347.createElement(Text224, { size: "xs", c: "dimmed" }, claims.length, " claim", claims.length === 1 ? "" : "s", " \xB7 ", owedCount, " owed by you"), engineSummaries.updatedAt && /* @__PURE__ */ React347.createElement(Text224, { size: "xs", c: "dimmed" }, "Updated ", new Date(engineSummaries.updatedAt).toLocaleTimeString()), /* @__PURE__ */ React347.createElement(
41453
- ActionIcon56,
41508
+ ActionIcon57,
41454
41509
  {
41455
41510
  variant: "subtle",
41456
41511
  color: "gray",
@@ -41462,7 +41517,7 @@ var EvaluateClaimFlowDetail = ({
41462
41517
  }
41463
41518
  },
41464
41519
  /* @__PURE__ */ React347.createElement(IconRefresh11, { size: 16 })
41465
- ), /* @__PURE__ */ React347.createElement(DownloadCsvButton, { onDownload: handleDownloadClaimsCsv, disabled: loadingClaims || claims.length === 0, label: "Download claims CSV" }), /* @__PURE__ */ React347.createElement(ActionIcon56, { variant: "subtle", color: "gray", size: "sm" }, /* @__PURE__ */ React347.createElement(IconFilter2, { size: 16 })))), engineSummaries.supported && engineSummaries.notEnrolled && /* @__PURE__ */ React347.createElement(EnginePromo, null), loadingClaims && /* @__PURE__ */ React347.createElement(Group142, { gap: "xs", justify: "center", py: "md" }, /* @__PURE__ */ React347.createElement(Loader69, { size: "xs" }), /* @__PURE__ */ React347.createElement(Text224, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateClaim.flow.loadingClaims", { defaultValue: "Loading claims..." }))), !loadingClaims && filteredClaims.length === 0 && /* @__PURE__ */ React347.createElement(Text224, { size: "sm", c: "dimmed", ta: "center", py: "md" }, claims.length === 0 ? t("actionTypes.evaluateClaim.flow.empty.allCollections", { defaultValue: "No claims available for this collection." }) : activeFilter === "owed" ? "No claims are waiting on you right now." : t("actionTypes.evaluateClaim.flow.empty.filtered", { filter: activeFilter, defaultValue: `No ${activeFilter} claims found.` })), filteredClaims.length > 0 && /* @__PURE__ */ React347.createElement(Stack236, { gap: 12 }, filteredClaims.map((claim) => {
41520
+ ), /* @__PURE__ */ React347.createElement(DownloadCsvButton, { onDownload: handleDownloadClaimsCsv, disabled: loadingClaims || claims.length === 0, label: "Download claims CSV" }), /* @__PURE__ */ React347.createElement(ActionIcon57, { variant: "subtle", color: "gray", size: "sm" }, /* @__PURE__ */ React347.createElement(IconFilter2, { size: 16 })))), engineSummaries.supported && engineSummaries.notEnrolled && /* @__PURE__ */ React347.createElement(EnginePromo, null), loadingClaims && /* @__PURE__ */ React347.createElement(Group142, { gap: "xs", justify: "center", py: "md" }, /* @__PURE__ */ React347.createElement(Loader69, { size: "xs" }), /* @__PURE__ */ React347.createElement(Text224, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateClaim.flow.loadingClaims", { defaultValue: "Loading claims..." }))), !loadingClaims && filteredClaims.length === 0 && /* @__PURE__ */ React347.createElement(Text224, { size: "sm", c: "dimmed", ta: "center", py: "md" }, claims.length === 0 ? t("actionTypes.evaluateClaim.flow.empty.allCollections", { defaultValue: "No claims available for this collection." }) : activeFilter === "owed" ? "No claims are waiting on you right now." : t("actionTypes.evaluateClaim.flow.empty.filtered", { filter: activeFilter, defaultValue: `No ${activeFilter} claims found.` })), filteredClaims.length > 0 && /* @__PURE__ */ React347.createElement(Stack236, { gap: 12 }, filteredClaims.map((claim) => {
41466
41521
  const row = engineSummaries.byClaimId[claim.claimId];
41467
41522
  const view = rowViewByClaimId.get(claim.claimId) ?? { tone: "neutral", headline: "", owed: false, action: null, chain: null };
41468
41523
  const profile = profilesByDid[claim.agentDid];
@@ -42056,7 +42111,7 @@ var ProposalVoteConfig = ({ inputs, onInputsChange, editor, blockId }) => {
42056
42111
 
42057
42112
  // src/mantine/blocks/action/actionTypes/proposalVote/ProposalVoteFlowDetail.tsx
42058
42113
  import React351, { useCallback as useCallback122, useEffect as useEffect131, useMemo as useMemo135, useState as useState193 } from "react";
42059
- import { Box as Box70, Button as Button82, Card as Card30, Group as Group144, Progress as Progress6, Stack as Stack240, Text as Text228, Tooltip as Tooltip35 } from "@mantine/core";
42114
+ import { Box as Box70, Button as Button82, Card as Card30, Group as Group144, Progress as Progress6, Stack as Stack240, Text as Text228, Tooltip as Tooltip36 } from "@mantine/core";
42060
42115
  var getVoteIcon2 = (voteType) => {
42061
42116
  switch (voteType) {
42062
42117
  case "yes":
@@ -42210,7 +42265,7 @@ var ProposalVoteFlowDetail = ({ inputs, editor, block, runtime, isDisabled, exec
42210
42265
  }
42211
42266
  ), /* @__PURE__ */ React351.createElement(Text228, { size: "sm", style: { color: "var(--mantine-color-dimmed)" } }, "Proposal ID")), /* @__PURE__ */ React351.createElement(Text228, { size: "sm", fw: 500, style: { color: "var(--mantine-color-text)" } }, hasSubmittedProposal ? `#${proposalId}` : "TBD")), /* @__PURE__ */ React351.createElement(Group144, { justify: "space-between" }, /* @__PURE__ */ React351.createElement(Group144, { gap: "xs" }, /* @__PURE__ */ React351.createElement(Box70, { w: 8, h: 8, style: { backgroundColor: "var(--mantine-color-dimmed)", borderRadius: "50%" } }), /* @__PURE__ */ React351.createElement(Text228, { size: "sm", style: { color: "var(--mantine-color-dimmed)" } }, "My Vote")), /* @__PURE__ */ React351.createElement(Text228, { size: "sm", fw: 500, style: { color: "var(--mantine-color-text)" } }, hasSubmittedProposal ? userVote?.vote ? userVote.vote.vote : "Pending" : "N/A"))),
42212
42267
  /* @__PURE__ */ React351.createElement(Stack240, { gap: "xs", mt: "md" }, /* @__PURE__ */ React351.createElement(Text228, { size: "sm", style: { color: "var(--mantine-color-dimmed)" } }, hasSubmittedProposal ? "Voting is open" : "Voting pending"), /* @__PURE__ */ React351.createElement(Progress6, { value: hasSubmittedProposal ? 75 : 0, size: "md" }))
42213
- ), hasSubmittedProposal && proposalContractAddress && /* @__PURE__ */ React351.createElement(ProposalOverviewCard, { proposalContractAddress, proposalId }), hasSubmittedProposal && !hasVoted && /* @__PURE__ */ React351.createElement(Stack240, { gap: "lg" }, /* @__PURE__ */ React351.createElement(Stack240, { gap: "md" }, ["yes", "no", "abstain"].map((voteType) => /* @__PURE__ */ React351.createElement(Tooltip35, { key: voteType, label: isDisabled ? "Action is disabled" : void 0, disabled: !isDisabled, position: "top" }, /* @__PURE__ */ React351.createElement(
42268
+ ), hasSubmittedProposal && proposalContractAddress && /* @__PURE__ */ React351.createElement(ProposalOverviewCard, { proposalContractAddress, proposalId }), hasSubmittedProposal && !hasVoted && /* @__PURE__ */ React351.createElement(Stack240, { gap: "lg" }, /* @__PURE__ */ React351.createElement(Stack240, { gap: "md" }, ["yes", "no", "abstain"].map((voteType) => /* @__PURE__ */ React351.createElement(Tooltip36, { key: voteType, label: isDisabled ? "Action is disabled" : void 0, disabled: !isDisabled, position: "top" }, /* @__PURE__ */ React351.createElement(
42214
42269
  Button82,
42215
42270
  {
42216
42271
  variant: "outline",
@@ -42240,7 +42295,7 @@ var ProposalVoteFlowDetail = ({ inputs, editor, block, runtime, isDisabled, exec
42240
42295
  disabled: isDisabled,
42241
42296
  rows: 3
42242
42297
  }
42243
- )), !hasSubmittedProposal && /* @__PURE__ */ React351.createElement(Stack240, { gap: "md" }, ["yes", "no", "abstain"].map((voteType) => /* @__PURE__ */ React351.createElement(Tooltip35, { key: voteType, label: "The proposal must be submitted before you can vote", position: "top" }, /* @__PURE__ */ React351.createElement(
42298
+ )), !hasSubmittedProposal && /* @__PURE__ */ React351.createElement(Stack240, { gap: "md" }, ["yes", "no", "abstain"].map((voteType) => /* @__PURE__ */ React351.createElement(Tooltip36, { key: voteType, label: "The proposal must be submitted before you can vote", position: "top" }, /* @__PURE__ */ React351.createElement(
42244
42299
  Button82,
42245
42300
  {
42246
42301
  variant: "outline",
@@ -44867,7 +44922,7 @@ function finaliseLineItem(cells) {
44867
44922
 
44868
44923
  // src/mantine/blocks/action/actionTypes/xero/invoiceCreate/XeroLineItemsEditor.tsx
44869
44924
  import React376, { useCallback as useCallback146, useMemo as useMemo150 } from "react";
44870
- import { ActionIcon as ActionIcon57, Alert as Alert58, Box as Box74, Button as Button89, Collapse as Collapse11, Divider as Divider32, Group as Group151, SegmentedControl as SegmentedControl22, Stack as Stack265, Text as Text249, Tooltip as Tooltip36 } from "@mantine/core";
44925
+ import { ActionIcon as ActionIcon58, Alert as Alert58, Box as Box74, Button as Button89, Collapse as Collapse11, Divider as Divider32, Group as Group151, SegmentedControl as SegmentedControl22, Stack as Stack265, Text as Text249, Tooltip as Tooltip37 } from "@mantine/core";
44871
44926
  import { useDisclosure as useDisclosure6 } from "@mantine/hooks";
44872
44927
  import { IconChevronDown as IconChevronDown10, IconChevronRight as IconChevronRight13, IconPlus as IconPlus14, IconTrash as IconTrash15 } from "@tabler/icons-react";
44873
44928
  function getNestedField(fields, path) {
@@ -44974,7 +45029,7 @@ function LineItemRowCard({
44974
45029
  background: "var(--mantine-color-neutralColor-2)"
44975
45030
  }
44976
45031
  },
44977
- /* @__PURE__ */ React376.createElement(Group151, { justify: "space-between", align: "center", mb: "xs" }, /* @__PURE__ */ React376.createElement(Text249, { size: "xs", c: "dimmed", fw: 600 }, "Line item ", index + 1), canRemove && onRemove && /* @__PURE__ */ React376.createElement(Tooltip36, { label: "Remove", withArrow: true }, /* @__PURE__ */ React376.createElement(ActionIcon57, { size: "sm", variant: "subtle", color: "red", onClick: onRemove }, /* @__PURE__ */ React376.createElement(IconTrash15, { size: 14 })))),
45032
+ /* @__PURE__ */ React376.createElement(Group151, { justify: "space-between", align: "center", mb: "xs" }, /* @__PURE__ */ React376.createElement(Text249, { size: "xs", c: "dimmed", fw: 600 }, "Line item ", index + 1), canRemove && onRemove && /* @__PURE__ */ React376.createElement(Tooltip37, { label: "Remove", withArrow: true }, /* @__PURE__ */ React376.createElement(ActionIcon58, { size: "sm", variant: "subtle", color: "red", onClick: onRemove }, /* @__PURE__ */ React376.createElement(IconTrash15, { size: 14 })))),
44978
45033
  /* @__PURE__ */ React376.createElement(Stack265, { gap: "xs" }, /* @__PURE__ */ React376.createElement(
44979
45034
  DataInput,
44980
45035
  {
@@ -46097,7 +46152,7 @@ var XeroPaymentCreateConfig = ({ inputs, onInputsChange, editor, blockId }) => {
46097
46152
 
46098
46153
  // src/mantine/blocks/action/actionTypes/xero/paymentCreate/XeroPaymentCreateFlowDetail.tsx
46099
46154
  import React383, { useCallback as useCallback153, useEffect as useEffect157, useMemo as useMemo154, useState as useState226 } from "react";
46100
- import { ActionIcon as ActionIcon58, Badge as Badge65, Button as Button92, Group as Group157, Stack as Stack272, Text as Text255 } from "@mantine/core";
46155
+ import { ActionIcon as ActionIcon59, Badge as Badge65, Button as Button92, Group as Group157, Stack as Stack272, Text as Text255 } from "@mantine/core";
46101
46156
  import { IconArrowLeft as IconArrowLeft12 } from "@tabler/icons-react";
46102
46157
 
46103
46158
  // src/mantine/blocks/action/actionTypes/xero/_shared/useFlowXeroBinding.ts
@@ -46522,7 +46577,7 @@ var XeroPaymentCreateFlowDetail = ({
46522
46577
  const paymentDate = String(item.reviewPayload?.Date || "");
46523
46578
  const invoiceStatus = String(attachedInvoiceResult.status || attachedInvoicePayload.Status || "DRAFT").toUpperCase();
46524
46579
  return /* @__PURE__ */ React383.createElement(Stack272, { gap: "md" }, /* @__PURE__ */ React383.createElement(Group157, { gap: "xs", align: "center" }, /* @__PURE__ */ React383.createElement(
46525
- ActionIcon58,
46580
+ ActionIcon59,
46526
46581
  {
46527
46582
  variant: "subtle",
46528
46583
  color: "gray",
@@ -49168,7 +49223,7 @@ var EntityCreateOracleConfig = ({ inputs, onInputsChange }) => {
49168
49223
 
49169
49224
  // src/mantine/blocks/action/actionTypes/entityCreateOracle/EntityCreateOracleFlowDetail.tsx
49170
49225
  import React412, { useCallback as useCallback177, useMemo as useMemo166 } from "react";
49171
- import { ActionIcon as ActionIcon59, Button as Button104, CopyButton as CopyButton4, Group as Group169, Loader as Loader93, Stack as Stack301, Text as Text282, Tooltip as Tooltip37 } from "@mantine/core";
49226
+ import { ActionIcon as ActionIcon60, Button as Button104, CopyButton as CopyButton4, Group as Group169, Loader as Loader93, Stack as Stack301, Text as Text282, Tooltip as Tooltip38 } from "@mantine/core";
49172
49227
  import { IconCheck as IconCheck50, IconAlertCircle as IconAlertCircle44, IconCopy as IconCopy3 } from "@tabler/icons-react";
49173
49228
  var EntityCreateOracleFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {
49174
49229
  const parsed = useMemo166(() => parseEntityCreateOracleInputs(inputs), [inputs]);
@@ -49257,7 +49312,7 @@ var EntityCreateOracleFlowDetail = ({ inputs, editor, block, runtime, updateRunt
49257
49312
  const handleRetry = useCallback177(() => {
49258
49313
  updateRuntime({ state: "idle", error: void 0, output: {} });
49259
49314
  }, [updateRuntime]);
49260
- return /* @__PURE__ */ React412.createElement(Stack301, { gap: "md" }, /* @__PURE__ */ React412.createElement(Stack301, { gap: 2 }, /* @__PURE__ */ React412.createElement(Text282, { fw: 600 }, block?.props?.title || "Create Oracle Entity"), /* @__PURE__ */ React412.createElement(Text282, { size: "sm", c: "dimmed" }, block?.props?.description || "Create an oracle entity on-chain.")), !isRunning && !isCompleted && !isStale && !isFailed && !inputsReady && /* @__PURE__ */ React412.createElement(Group169, { gap: "xs" }, /* @__PURE__ */ React412.createElement(Loader93, { size: 14 }), /* @__PURE__ */ React412.createElement(Text282, { size: "sm", c: "dimmed" }, "Waiting for upstream wallet + matrix + form inputs...")), isRunning && /* @__PURE__ */ React412.createElement(Group169, { gap: "xs" }, /* @__PURE__ */ React412.createElement(Loader93, { size: 14 }), /* @__PURE__ */ React412.createElement(Text282, { size: "sm" }, "Creating oracle entity...")), isCompleted && /* @__PURE__ */ React412.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React412.createElement(IconCheck50, { size: 16 }), title: "Oracle Entity Created", color: "green" }, /* @__PURE__ */ React412.createElement(Stack301, { gap: "xs" }, /* @__PURE__ */ React412.createElement(Text282, { size: "sm" }, "Oracle entity created successfully on-chain."), /* @__PURE__ */ React412.createElement(Group169, { gap: 6, wrap: "nowrap", align: "center" }, /* @__PURE__ */ React412.createElement(Text282, { size: "xs", c: "dimmed" }, "Entity DID:"), /* @__PURE__ */ React412.createElement(Text282, { size: "xs", ff: "monospace", style: { wordBreak: "break-all" } }, entityDid), /* @__PURE__ */ React412.createElement(CopyButton4, { value: entityDid, timeout: 1500 }, ({ copied, copy }) => /* @__PURE__ */ React412.createElement(Tooltip37, { label: copied ? "Copied" : "Copy" }, /* @__PURE__ */ React412.createElement(ActionIcon59, { size: "sm", variant: "subtle", color: copied ? "teal" : "gray", onClick: copy }, copied ? /* @__PURE__ */ React412.createElement(IconCheck50, { size: 14 }) : /* @__PURE__ */ React412.createElement(IconCopy3, { size: 14 }))))))), isStale && /* @__PURE__ */ React412.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React412.createElement(IconAlertCircle44, { size: 16 }), color: "yellow", title: "Inconsistent State" }, /* @__PURE__ */ React412.createElement(Stack301, { gap: "xs" }, /* @__PURE__ */ React412.createElement(Text282, { size: "sm" }, "Marked completed but no entityDid recorded. Stale state \u2014 reset and re-run."), /* @__PURE__ */ React412.createElement(Group169, null, /* @__PURE__ */ React412.createElement(Button104, { variant: "outline", size: "xs", onClick: handleRetry }, "Reset"), /* @__PURE__ */ React412.createElement(Button104, { variant: "filled", size: "xs", onClick: handleExecute, disabled: !inputsReady }, "Force Run Now")))), isFailed && errorMessage && /* @__PURE__ */ React412.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React412.createElement(IconAlertCircle44, { size: 16 }), color: "red", styles: actionAlertStyles }, errorMessage), isFailed && /* @__PURE__ */ React412.createElement(Group169, null, /* @__PURE__ */ React412.createElement(Button104, { variant: "outline", onClick: handleRetry }, "Try Again")), !isRunning && !isStale && /* @__PURE__ */ React412.createElement(Group169, null, /* @__PURE__ */ React412.createElement(Button104, { variant: "filled", size: "sm", onClick: handleExecute, disabled: !inputsReady || isDisabled }, isCompleted ? "Re-run" : inputsReady ? "Run Now" : "Waiting for inputs...")));
49315
+ return /* @__PURE__ */ React412.createElement(Stack301, { gap: "md" }, /* @__PURE__ */ React412.createElement(Stack301, { gap: 2 }, /* @__PURE__ */ React412.createElement(Text282, { fw: 600 }, block?.props?.title || "Create Oracle Entity"), /* @__PURE__ */ React412.createElement(Text282, { size: "sm", c: "dimmed" }, block?.props?.description || "Create an oracle entity on-chain.")), !isRunning && !isCompleted && !isStale && !isFailed && !inputsReady && /* @__PURE__ */ React412.createElement(Group169, { gap: "xs" }, /* @__PURE__ */ React412.createElement(Loader93, { size: 14 }), /* @__PURE__ */ React412.createElement(Text282, { size: "sm", c: "dimmed" }, "Waiting for upstream wallet + matrix + form inputs...")), isRunning && /* @__PURE__ */ React412.createElement(Group169, { gap: "xs" }, /* @__PURE__ */ React412.createElement(Loader93, { size: 14 }), /* @__PURE__ */ React412.createElement(Text282, { size: "sm" }, "Creating oracle entity...")), isCompleted && /* @__PURE__ */ React412.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React412.createElement(IconCheck50, { size: 16 }), title: "Oracle Entity Created", color: "green" }, /* @__PURE__ */ React412.createElement(Stack301, { gap: "xs" }, /* @__PURE__ */ React412.createElement(Text282, { size: "sm" }, "Oracle entity created successfully on-chain."), /* @__PURE__ */ React412.createElement(Group169, { gap: 6, wrap: "nowrap", align: "center" }, /* @__PURE__ */ React412.createElement(Text282, { size: "xs", c: "dimmed" }, "Entity DID:"), /* @__PURE__ */ React412.createElement(Text282, { size: "xs", ff: "monospace", style: { wordBreak: "break-all" } }, entityDid), /* @__PURE__ */ React412.createElement(CopyButton4, { value: entityDid, timeout: 1500 }, ({ copied, copy }) => /* @__PURE__ */ React412.createElement(Tooltip38, { label: copied ? "Copied" : "Copy" }, /* @__PURE__ */ React412.createElement(ActionIcon60, { size: "sm", variant: "subtle", color: copied ? "teal" : "gray", onClick: copy }, copied ? /* @__PURE__ */ React412.createElement(IconCheck50, { size: 14 }) : /* @__PURE__ */ React412.createElement(IconCopy3, { size: 14 }))))))), isStale && /* @__PURE__ */ React412.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React412.createElement(IconAlertCircle44, { size: 16 }), color: "yellow", title: "Inconsistent State" }, /* @__PURE__ */ React412.createElement(Stack301, { gap: "xs" }, /* @__PURE__ */ React412.createElement(Text282, { size: "sm" }, "Marked completed but no entityDid recorded. Stale state \u2014 reset and re-run."), /* @__PURE__ */ React412.createElement(Group169, null, /* @__PURE__ */ React412.createElement(Button104, { variant: "outline", size: "xs", onClick: handleRetry }, "Reset"), /* @__PURE__ */ React412.createElement(Button104, { variant: "filled", size: "xs", onClick: handleExecute, disabled: !inputsReady }, "Force Run Now")))), isFailed && errorMessage && /* @__PURE__ */ React412.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React412.createElement(IconAlertCircle44, { size: 16 }), color: "red", styles: actionAlertStyles }, errorMessage), isFailed && /* @__PURE__ */ React412.createElement(Group169, null, /* @__PURE__ */ React412.createElement(Button104, { variant: "outline", onClick: handleRetry }, "Try Again")), !isRunning && !isStale && /* @__PURE__ */ React412.createElement(Group169, null, /* @__PURE__ */ React412.createElement(Button104, { variant: "filled", size: "sm", onClick: handleExecute, disabled: !inputsReady || isDisabled }, isCompleted ? "Re-run" : inputsReady ? "Run Now" : "Waiting for inputs...")));
49261
49316
  };
49262
49317
 
49263
49318
  // src/mantine/blocks/action/actionTypes/entityCreateOracle/index.ts
@@ -51729,7 +51784,7 @@ function useUnlMap() {
51729
51784
 
51730
51785
  // src/mantine/blocks/location/components/TileSelector.tsx
51731
51786
  import React433, { useState as useState257, useCallback as useCallback193 } from "react";
51732
- import { ActionIcon as ActionIcon60, Group as Group179, Tooltip as Tooltip38 } from "@mantine/core";
51787
+ import { ActionIcon as ActionIcon61, Group as Group179, Tooltip as Tooltip39 } from "@mantine/core";
51733
51788
  import { IconMap, IconMoon, IconSatellite, IconMountain } from "@tabler/icons-react";
51734
51789
  var TILE_LAYERS = {
51735
51790
  dark: {
@@ -51817,8 +51872,8 @@ var TileSelector = ({ mapRef }) => {
51817
51872
  padding: 2
51818
51873
  }
51819
51874
  },
51820
- items.map(({ type, label, icon: icon2 }) => /* @__PURE__ */ React433.createElement(Tooltip38, { key: type, label, withArrow: true }, /* @__PURE__ */ React433.createElement(
51821
- ActionIcon60,
51875
+ items.map(({ type, label, icon: icon2 }) => /* @__PURE__ */ React433.createElement(Tooltip39, { key: type, label, withArrow: true }, /* @__PURE__ */ React433.createElement(
51876
+ ActionIcon61,
51822
51877
  {
51823
51878
  variant: active === type ? "filled" : "subtle",
51824
51879
  color: active === type ? "accent.5" : "gray",
@@ -52405,7 +52460,7 @@ import { createReactBlockSpec as createReactBlockSpec23 } from "@blocknote/react
52405
52460
 
52406
52461
  // src/mantine/blocks/secrets/SecretsBlock.tsx
52407
52462
  import React449, { useCallback as useCallback197, useMemo as useMemo180, useState as useState261 } from "react";
52408
- import { Anchor as Anchor6, ActionIcon as ActionIcon61, Button as Button114, Collapse as Collapse16, CopyButton as CopyButton5, Group as Group184, Paper as Paper38, Stack as Stack326, Text as Text308, Tooltip as Tooltip39 } from "@mantine/core";
52463
+ import { Anchor as Anchor6, ActionIcon as ActionIcon62, Button as Button114, Collapse as Collapse16, CopyButton as CopyButton5, Group as Group184, Paper as Paper38, Stack as Stack326, Text as Text308, Tooltip as Tooltip40 } from "@mantine/core";
52409
52464
  import { IconCheck as IconCheck60, IconCopy as IconCopy4, IconDownload as IconDownload6, IconEye, IconEyeOff, IconKey as IconKey5 } from "@tabler/icons-react";
52410
52465
  var SENSITIVE_KEYS = /* @__PURE__ */ new Set(["mnemonic", "matrixPassword", "matrixRecoveryPhrase", "matrixAccessToken", "pin", "openRouterApiKeyJwe", "authToken"]);
52411
52466
  var BLOCK_LABELS = {
@@ -52510,7 +52565,7 @@ function MaskedValue({ value, isSensitive }) {
52510
52565
  if (!isSensitive) {
52511
52566
  return /* @__PURE__ */ React449.createElement(Text308, { size: "xs", ff: "monospace", style: { wordBreak: "break-all" } }, String(value));
52512
52567
  }
52513
- return /* @__PURE__ */ React449.createElement(Group184, { gap: 4, align: "center", wrap: "nowrap" }, /* @__PURE__ */ React449.createElement(Text308, { size: "xs", ff: "monospace", style: { wordBreak: "break-all" } }, visible ? String(value) : "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"), /* @__PURE__ */ React449.createElement(ActionIcon61, { variant: "subtle", size: "xs", onClick: () => setVisible((v) => !v) }, visible ? /* @__PURE__ */ React449.createElement(IconEyeOff, { size: 12 }) : /* @__PURE__ */ React449.createElement(IconEye, { size: 12 })));
52568
+ return /* @__PURE__ */ React449.createElement(Group184, { gap: 4, align: "center", wrap: "nowrap" }, /* @__PURE__ */ React449.createElement(Text308, { size: "xs", ff: "monospace", style: { wordBreak: "break-all" } }, visible ? String(value) : "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"), /* @__PURE__ */ React449.createElement(ActionIcon62, { variant: "subtle", size: "xs", onClick: () => setVisible((v) => !v) }, visible ? /* @__PURE__ */ React449.createElement(IconEyeOff, { size: 12 }) : /* @__PURE__ */ React449.createElement(IconEye, { size: 12 })));
52514
52569
  }
52515
52570
  function OutputEntry({ label, value, isSensitive }) {
52516
52571
  const displayValue = typeof value === "object" ? JSON.stringify(value, null, 2) : String(value ?? "");
@@ -52542,7 +52597,7 @@ function SecretsBlock({ editor, block }) {
52542
52597
  if (docType === "template") {
52543
52598
  return /* @__PURE__ */ React449.createElement(BaseContainer, { blockId: block.id }, /* @__PURE__ */ React449.createElement(Stack326, { gap: "xs" }, /* @__PURE__ */ React449.createElement(Group184, { gap: "xs", align: "center" }, /* @__PURE__ */ React449.createElement(IconKey5, { size: 18 }), /* @__PURE__ */ React449.createElement(Text308, { fw: 600, size: "sm" }, block.props.title || "Flow Output")), /* @__PURE__ */ React449.createElement(Text308, { size: "xs", c: "dimmed" }, "Displays all flow outputs and allows downloading them in flow mode.")));
52544
52599
  }
52545
- return /* @__PURE__ */ React449.createElement(BaseContainer, { blockId: block.id }, /* @__PURE__ */ React449.createElement(Stack326, { gap: "md" }, /* @__PURE__ */ React449.createElement(Group184, { gap: "xs", align: "center" }, /* @__PURE__ */ React449.createElement(IconKey5, { size: 18 }), /* @__PURE__ */ React449.createElement(Text308, { fw: 600, size: "sm" }, block.props.title || "Flow Output")), /* @__PURE__ */ React449.createElement(Text308, { size: "sm", c: "dimmed" }, "Everything produced by this flow. You can view it here or download as JSON."), connectUrl && /* @__PURE__ */ React449.createElement(Stack326, { gap: "xs" }, /* @__PURE__ */ React449.createElement(Text308, { size: "sm", fw: 500 }, "Oracle Connect Link"), /* @__PURE__ */ React449.createElement(Group184, { gap: "xs", align: "center" }, /* @__PURE__ */ React449.createElement(Anchor6, { href: connectUrl, target: "_blank", size: "sm", style: { wordBreak: "break-all" } }, connectUrl), /* @__PURE__ */ React449.createElement(CopyButton5, { value: connectUrl, timeout: 2e3 }, ({ copied, copy }) => /* @__PURE__ */ React449.createElement(Tooltip39, { label: copied ? "Copied" : "Copy link", withArrow: true, position: "right" }, /* @__PURE__ */ React449.createElement(ActionIcon61, { color: copied ? "teal" : "gray", variant: "subtle", onClick: copy, size: "sm" }, copied ? /* @__PURE__ */ React449.createElement(IconCheck60, { size: 14 }) : /* @__PURE__ */ React449.createElement(IconCopy4, { size: 14 })))))), /* @__PURE__ */ React449.createElement(Group184, { gap: "xs" }, /* @__PURE__ */ React449.createElement(Button114, { variant: "light", size: "xs", leftSection: /* @__PURE__ */ React449.createElement(IconEye, { size: 14 }), onClick: () => setShowOutput((v) => !v) }, showOutput ? "Hide Output" : "View Output"), /* @__PURE__ */ React449.createElement(Button114, { variant: "filled", size: "sm", leftSection: /* @__PURE__ */ React449.createElement(IconDownload6, { size: 14 }), onClick: handleDownload, disabled: outputs.length === 0 }, "Download JSON")), /* @__PURE__ */ React449.createElement(Collapse16, { in: showOutput }, /* @__PURE__ */ React449.createElement(Stack326, { gap: "sm" }, outputs.length === 0 && /* @__PURE__ */ React449.createElement(Text308, { size: "xs", c: "dimmed", fs: "italic" }, "No outputs yet."), outputs.map(({ id, label, output }) => /* @__PURE__ */ React449.createElement(Paper38, { key: id, p: "xs", withBorder: true, style: { borderColor: "var(--mantine-color-neutralColor-6)" } }, /* @__PURE__ */ React449.createElement(Stack326, { gap: 4 }, /* @__PURE__ */ React449.createElement(Text308, { size: "xs", fw: 600 }, label), Object.entries(output).map(([key, value]) => /* @__PURE__ */ React449.createElement(OutputEntry, { key, label: key, value, isSensitive: SENSITIVE_KEYS.has(key) })))))))));
52600
+ return /* @__PURE__ */ React449.createElement(BaseContainer, { blockId: block.id }, /* @__PURE__ */ React449.createElement(Stack326, { gap: "md" }, /* @__PURE__ */ React449.createElement(Group184, { gap: "xs", align: "center" }, /* @__PURE__ */ React449.createElement(IconKey5, { size: 18 }), /* @__PURE__ */ React449.createElement(Text308, { fw: 600, size: "sm" }, block.props.title || "Flow Output")), /* @__PURE__ */ React449.createElement(Text308, { size: "sm", c: "dimmed" }, "Everything produced by this flow. You can view it here or download as JSON."), connectUrl && /* @__PURE__ */ React449.createElement(Stack326, { gap: "xs" }, /* @__PURE__ */ React449.createElement(Text308, { size: "sm", fw: 500 }, "Oracle Connect Link"), /* @__PURE__ */ React449.createElement(Group184, { gap: "xs", align: "center" }, /* @__PURE__ */ React449.createElement(Anchor6, { href: connectUrl, target: "_blank", size: "sm", style: { wordBreak: "break-all" } }, connectUrl), /* @__PURE__ */ React449.createElement(CopyButton5, { value: connectUrl, timeout: 2e3 }, ({ copied, copy }) => /* @__PURE__ */ React449.createElement(Tooltip40, { label: copied ? "Copied" : "Copy link", withArrow: true, position: "right" }, /* @__PURE__ */ React449.createElement(ActionIcon62, { color: copied ? "teal" : "gray", variant: "subtle", onClick: copy, size: "sm" }, copied ? /* @__PURE__ */ React449.createElement(IconCheck60, { size: 14 }) : /* @__PURE__ */ React449.createElement(IconCopy4, { size: 14 })))))), /* @__PURE__ */ React449.createElement(Group184, { gap: "xs" }, /* @__PURE__ */ React449.createElement(Button114, { variant: "light", size: "xs", leftSection: /* @__PURE__ */ React449.createElement(IconEye, { size: 14 }), onClick: () => setShowOutput((v) => !v) }, showOutput ? "Hide Output" : "View Output"), /* @__PURE__ */ React449.createElement(Button114, { variant: "filled", size: "sm", leftSection: /* @__PURE__ */ React449.createElement(IconDownload6, { size: 14 }), onClick: handleDownload, disabled: outputs.length === 0 }, "Download JSON")), /* @__PURE__ */ React449.createElement(Collapse16, { in: showOutput }, /* @__PURE__ */ React449.createElement(Stack326, { gap: "sm" }, outputs.length === 0 && /* @__PURE__ */ React449.createElement(Text308, { size: "xs", c: "dimmed", fs: "italic" }, "No outputs yet."), outputs.map(({ id, label, output }) => /* @__PURE__ */ React449.createElement(Paper38, { key: id, p: "xs", withBorder: true, style: { borderColor: "var(--mantine-color-neutralColor-6)" } }, /* @__PURE__ */ React449.createElement(Stack326, { gap: 4 }, /* @__PURE__ */ React449.createElement(Text308, { size: "xs", fw: 600 }, label), Object.entries(output).map(([key, value]) => /* @__PURE__ */ React449.createElement(OutputEntry, { key, label: key, value, isSensitive: SENSITIVE_KEYS.has(key) })))))))));
52546
52601
  }
52547
52602
 
52548
52603
  // src/mantine/blocks/secrets/SecretsBlockSpec.tsx
@@ -52609,7 +52664,7 @@ var SkillsTemplateView = ({ editor: _editor, block }) => {
52609
52664
  };
52610
52665
 
52611
52666
  // src/mantine/blocks/skills/flow/SkillsFlowView.tsx
52612
- import { ActionIcon as ActionIcon62, Badge as Badge68, Button as Button115, Collapse as Collapse17, Group as Group186, Loader as Loader104, Paper as Paper39, Stack as Stack328, Text as Text310, Tooltip as Tooltip40 } from "@mantine/core";
52667
+ import { ActionIcon as ActionIcon63, Badge as Badge68, Button as Button115, Collapse as Collapse17, Group as Group186, Loader as Loader104, Paper as Paper39, Stack as Stack328, Text as Text310, Tooltip as Tooltip41 } from "@mantine/core";
52613
52668
  import { IconBrain as IconBrain3, IconCheck as IconCheck61, IconPencil as IconPencil5, IconPlus as IconPlus15, IconTrash as IconTrash17, IconX as IconX27 } from "@tabler/icons-react";
52614
52669
  import React454, { useCallback as useCallback198, useEffect as useEffect191, useMemo as useMemo182, useRef as useRef66, useState as useState262 } from "react";
52615
52670
  function parseSkills2(raw) {
@@ -52823,7 +52878,7 @@ var SkillsFlowView = ({ editor, block }) => {
52823
52878
  option: { padding: "8px 12px" }
52824
52879
  }
52825
52880
  }
52826
- ) : null, skills.map((skill) => /* @__PURE__ */ React454.createElement(Paper39, { key: skill.cid, p: "xs", withBorder: true, style: { borderColor: "var(--mantine-color-neutralColor-6)" } }, /* @__PURE__ */ React454.createElement(Group186, { justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React454.createElement(Stack328, { gap: 2, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React454.createElement(Group186, { gap: "xs", align: "center" }, /* @__PURE__ */ React454.createElement(Text310, { size: "xs", fw: 500 }, skill.name), /* @__PURE__ */ React454.createElement(Badge68, { size: "xs", variant: "light", color: "blue" }, "CID")), skill.description && /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", lineClamp: 2 }, skill.description), /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", ff: "monospace", lineClamp: 1 }, skill.cid)), !isCompleted && /* @__PURE__ */ React454.createElement(ActionIcon62, { variant: "subtle", color: "red", size: "sm", onClick: () => updateSkills(skills.filter((s) => s.cid !== skill.cid)) }, /* @__PURE__ */ React454.createElement(IconX27, { size: 14 }))))), skills.length === 0 && !loadingCapsules && /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", fs: "italic" }, "No skills selected yet.")), /* @__PURE__ */ React454.createElement(Stack328, { gap: "xs" }, /* @__PURE__ */ React454.createElement(Group186, { justify: "space-between", align: "center" }, /* @__PURE__ */ React454.createElement(Text310, { size: "xs", fw: 500 }, "MCP Servers")), !isCompleted && mcpPresets.length > 0 && /* @__PURE__ */ React454.createElement(
52881
+ ) : null, skills.map((skill) => /* @__PURE__ */ React454.createElement(Paper39, { key: skill.cid, p: "xs", withBorder: true, style: { borderColor: "var(--mantine-color-neutralColor-6)" } }, /* @__PURE__ */ React454.createElement(Group186, { justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React454.createElement(Stack328, { gap: 2, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React454.createElement(Group186, { gap: "xs", align: "center" }, /* @__PURE__ */ React454.createElement(Text310, { size: "xs", fw: 500 }, skill.name), /* @__PURE__ */ React454.createElement(Badge68, { size: "xs", variant: "light", color: "blue" }, "CID")), skill.description && /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", lineClamp: 2 }, skill.description), /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", ff: "monospace", lineClamp: 1 }, skill.cid)), !isCompleted && /* @__PURE__ */ React454.createElement(ActionIcon63, { variant: "subtle", color: "red", size: "sm", onClick: () => updateSkills(skills.filter((s) => s.cid !== skill.cid)) }, /* @__PURE__ */ React454.createElement(IconX27, { size: 14 }))))), skills.length === 0 && !loadingCapsules && /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", fs: "italic" }, "No skills selected yet.")), /* @__PURE__ */ React454.createElement(Stack328, { gap: "xs" }, /* @__PURE__ */ React454.createElement(Group186, { justify: "space-between", align: "center" }, /* @__PURE__ */ React454.createElement(Text310, { size: "xs", fw: 500 }, "MCP Servers")), !isCompleted && mcpPresets.length > 0 && /* @__PURE__ */ React454.createElement(
52827
52882
  BaseSelect,
52828
52883
  {
52829
52884
  placeholder: "Add from presets...",
@@ -52842,8 +52897,8 @@ var SkillsFlowView = ({ editor, block }) => {
52842
52897
  ), mcpServers.map((server, i) => {
52843
52898
  const validation = validationResults[server.url];
52844
52899
  const isValidating = validatingUrls[server.url];
52845
- return /* @__PURE__ */ React454.createElement(Paper39, { key: i, p: "xs", withBorder: true, style: { borderColor: "var(--mantine-color-neutralColor-6)" } }, /* @__PURE__ */ React454.createElement(Group186, { justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React454.createElement(Stack328, { gap: 2, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React454.createElement(Group186, { gap: "xs", align: "center" }, /* @__PURE__ */ React454.createElement(Text310, { size: "xs", fw: 500 }, server.name), validation && validation.success && /* @__PURE__ */ React454.createElement(Badge68, { size: "xs", variant: "light", color: "green", leftSection: /* @__PURE__ */ React454.createElement(IconCheck61, { size: 10 }) }, validation.toolCount, " tools")), server.description && /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", lineClamp: 1 }, server.description), /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", ff: "monospace", lineClamp: 1 }, server.url), validation && !validation.success && /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "red" }, validation.error)), !isCompleted && /* @__PURE__ */ React454.createElement(Group186, { gap: 4 }, !server.isPreset && /* @__PURE__ */ React454.createElement(Tooltip40, { label: "Test connection" }, /* @__PURE__ */ React454.createElement(Button115, { variant: "subtle", size: "compact-xs", onClick: () => handleValidateMcp(server.url), disabled: isValidating }, isValidating ? /* @__PURE__ */ React454.createElement(Loader104, { size: 12 }) : "Test")), /* @__PURE__ */ React454.createElement(
52846
- ActionIcon62,
52900
+ return /* @__PURE__ */ React454.createElement(Paper39, { key: i, p: "xs", withBorder: true, style: { borderColor: "var(--mantine-color-neutralColor-6)" } }, /* @__PURE__ */ React454.createElement(Group186, { justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React454.createElement(Stack328, { gap: 2, style: { flex: 1, minWidth: 0 } }, /* @__PURE__ */ React454.createElement(Group186, { gap: "xs", align: "center" }, /* @__PURE__ */ React454.createElement(Text310, { size: "xs", fw: 500 }, server.name), validation && validation.success && /* @__PURE__ */ React454.createElement(Badge68, { size: "xs", variant: "light", color: "green", leftSection: /* @__PURE__ */ React454.createElement(IconCheck61, { size: 10 }) }, validation.toolCount, " tools")), server.description && /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", lineClamp: 1 }, server.description), /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "dimmed", ff: "monospace", lineClamp: 1 }, server.url), validation && !validation.success && /* @__PURE__ */ React454.createElement(Text310, { size: "xs", c: "red" }, validation.error)), !isCompleted && /* @__PURE__ */ React454.createElement(Group186, { gap: 4 }, !server.isPreset && /* @__PURE__ */ React454.createElement(Tooltip41, { label: "Test connection" }, /* @__PURE__ */ React454.createElement(Button115, { variant: "subtle", size: "compact-xs", onClick: () => handleValidateMcp(server.url), disabled: isValidating }, isValidating ? /* @__PURE__ */ React454.createElement(Loader104, { size: 12 }) : "Test")), /* @__PURE__ */ React454.createElement(
52901
+ ActionIcon63,
52847
52902
  {
52848
52903
  variant: "subtle",
52849
52904
  size: "sm",
@@ -52856,7 +52911,7 @@ var SkillsFlowView = ({ editor, block }) => {
52856
52911
  }
52857
52912
  },
52858
52913
  /* @__PURE__ */ React454.createElement(IconPencil5, { size: 14 })
52859
- ), /* @__PURE__ */ React454.createElement(ActionIcon62, { variant: "subtle", color: "red", size: "sm", onClick: () => updateMcpServers(mcpServers.filter((_, idx) => idx !== i)) }, /* @__PURE__ */ React454.createElement(IconTrash17, { size: 14 })))));
52914
+ ), /* @__PURE__ */ React454.createElement(ActionIcon63, { variant: "subtle", color: "red", size: "sm", onClick: () => updateMcpServers(mcpServers.filter((_, idx) => idx !== i)) }, /* @__PURE__ */ React454.createElement(IconTrash17, { size: 14 })))));
52860
52915
  }), !isCompleted && !showAddMcp && /* @__PURE__ */ React454.createElement(Button115, { variant: "light", size: "xs", leftSection: /* @__PURE__ */ React454.createElement(IconPlus15, { size: 14 }), onClick: () => setShowAddMcp(true) }, "Add MCP Server"), /* @__PURE__ */ React454.createElement(Collapse17, { in: showAddMcp }, /* @__PURE__ */ React454.createElement(Paper39, { p: "sm", withBorder: true, style: { borderColor: "var(--mantine-color-neutralColor-6)" } }, /* @__PURE__ */ React454.createElement(Stack328, { gap: "xs" }, /* @__PURE__ */ React454.createElement(BaseTextInput, { size: "xs", label: "Name", placeholder: "Server name", value: mcpName, onChange: (e) => setMcpName(e.currentTarget.value) }), /* @__PURE__ */ React454.createElement(BaseTextInput, { size: "xs", label: "URL", placeholder: "https://...", value: mcpUrl, onChange: (e) => setMcpUrl(e.currentTarget.value) }), /* @__PURE__ */ React454.createElement(
52861
52916
  BaseTextInput,
52862
52917
  {
@@ -55444,7 +55499,7 @@ import { useDisclosure as useDisclosure7 } from "@mantine/hooks";
55444
55499
 
55445
55500
  // src/mantine/components/FlowSettingsPanel.tsx
55446
55501
  import React461, { useState as useState269, useEffect as useEffect198, useCallback as useCallback202 } from "react";
55447
- import { Stack as Stack330, Group as Group189, Button as Button116, ActionIcon as ActionIcon63, Text as Text313, Box as Box83 } from "@mantine/core";
55502
+ import { Stack as Stack330, Group as Group189, Button as Button116, ActionIcon as ActionIcon64, Text as Text313, Box as Box83 } from "@mantine/core";
55448
55503
  import { IconPlus as IconPlus16, IconTrash as IconTrash18 } from "@tabler/icons-react";
55449
55504
  var SYSTEM_KEYS = /* @__PURE__ */ new Set(["@context", "_type", "schema_version", "doc_id", "title", "createdAt", "createdBy", "flowOwnerDid"]);
55450
55505
  var FlowSettingsPanel = ({ editor }) => {
@@ -55511,7 +55566,7 @@ var FlowSettingsPanel = ({ editor }) => {
55511
55566
  [editor]
55512
55567
  );
55513
55568
  const subtitle = /* @__PURE__ */ React461.createElement(Box83, { px: 40, mb: "md" }, /* @__PURE__ */ React461.createElement(Text313, { size: "sm", c: "dimmed" }, "Add key-value settings for this flow. These are available to oracles and action blocks at runtime."));
55514
- return /* @__PURE__ */ React461.createElement(BaseRightPanelLayout, { title: "Flow Details", onClose: closePanel, isTemplate: true, captionContent: subtitle }, /* @__PURE__ */ React461.createElement(Stack330, { gap: "lg" }, rows.map((row, index) => /* @__PURE__ */ React461.createElement(Stack330, { key: index, gap: "xs" }, /* @__PURE__ */ React461.createElement(Group189, { gap: "xs", align: "center", wrap: "nowrap" }, /* @__PURE__ */ React461.createElement(BaseTextInput, { placeholder: "Key (e.g. protocolDid)", value: row.key, onChange: (e) => handleKeyChange(index, e.currentTarget.value), style: { flex: 1 } }), /* @__PURE__ */ React461.createElement(ActionIcon63, { variant: "subtle", color: "red", onClick: () => handleDelete(index), size: "lg" }, /* @__PURE__ */ React461.createElement(IconTrash18, { size: 16 }))), /* @__PURE__ */ React461.createElement(BaseTextArea, { placeholder: "Value", value: row.value, onChange: (e) => handleValueChange(index, e.currentTarget.value), minRows: 1, maxRows: 8 }))), /* @__PURE__ */ React461.createElement(Button116, { variant: "subtle", leftSection: /* @__PURE__ */ React461.createElement(IconPlus16, { size: 16 }), onClick: handleAdd, size: "sm" }, "Add detail")));
55569
+ return /* @__PURE__ */ React461.createElement(BaseRightPanelLayout, { title: "Flow Details", onClose: closePanel, isTemplate: true, captionContent: subtitle }, /* @__PURE__ */ React461.createElement(Stack330, { gap: "lg" }, rows.map((row, index) => /* @__PURE__ */ React461.createElement(Stack330, { key: index, gap: "xs" }, /* @__PURE__ */ React461.createElement(Group189, { gap: "xs", align: "center", wrap: "nowrap" }, /* @__PURE__ */ React461.createElement(BaseTextInput, { placeholder: "Key (e.g. protocolDid)", value: row.key, onChange: (e) => handleKeyChange(index, e.currentTarget.value), style: { flex: 1 } }), /* @__PURE__ */ React461.createElement(ActionIcon64, { variant: "subtle", color: "red", onClick: () => handleDelete(index), size: "lg" }, /* @__PURE__ */ React461.createElement(IconTrash18, { size: 16 }))), /* @__PURE__ */ React461.createElement(BaseTextArea, { placeholder: "Value", value: row.value, onChange: (e) => handleValueChange(index, e.currentTarget.value), minRows: 1, maxRows: 8 }))), /* @__PURE__ */ React461.createElement(Button116, { variant: "subtle", leftSection: /* @__PURE__ */ React461.createElement(IconPlus16, { size: 16 }), onClick: handleAdd, size: "sm" }, "Add detail")));
55515
55570
  };
55516
55571
 
55517
55572
  // src/mantine/components/CoverImage.tsx
@@ -57276,7 +57331,7 @@ var EntitySigningSetup = ({ opened, onClose, entityDid, entityName, onSetup }) =
57276
57331
 
57277
57332
  // src/mantine/components/FlowPermissionsPanel.tsx
57278
57333
  import React470, { useState as useState276, useEffect as useEffect205, useMemo as useMemo194 } from "react";
57279
- import { Stack as Stack334, Text as Text317, Paper as Paper41, Group as Group193, Badge as Badge70, Button as Button119, ActionIcon as ActionIcon64, Loader as Loader106, Alert as Alert62, Divider as Divider47 } from "@mantine/core";
57334
+ import { Stack as Stack334, Text as Text317, Paper as Paper41, Group as Group193, Badge as Badge70, Button as Button119, ActionIcon as ActionIcon65, Loader as Loader106, Alert as Alert62, Divider as Divider47 } from "@mantine/core";
57280
57335
  import { IconPlus as IconPlus17, IconTrash as IconTrash20, IconShieldCheck as IconShieldCheck19, IconUser as IconUser17, IconRobot as IconRobot9, IconBuilding as IconBuilding2 } from "@tabler/icons-react";
57281
57336
  var FlowPermissionsPanel = ({ editor, entityDid, entityName, onGrantPermission, onRevokePermission, getUserDisplayName }) => {
57282
57337
  const [delegations, setDelegations] = useState276([]);
@@ -57358,12 +57413,12 @@ var FlowPermissionsPanel = ({ editor, entityDid, entityName, onGrantPermission,
57358
57413
  if (date < /* @__PURE__ */ new Date()) return "Expired";
57359
57414
  return date.toLocaleDateString();
57360
57415
  };
57361
- return /* @__PURE__ */ React470.createElement(Stack334, { gap: "md" }, /* @__PURE__ */ React470.createElement(Stack334, { gap: "xs" }, /* @__PURE__ */ React470.createElement(Text317, { fw: 600, size: "sm" }, "Root Authority"), /* @__PURE__ */ React470.createElement(Paper41, { p: "sm", withBorder: true }, /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, /* @__PURE__ */ React470.createElement(IconShieldCheck19, { size: 20, color: "var(--mantine-color-green-6)" }), /* @__PURE__ */ React470.createElement(Stack334, { gap: 2, style: { flex: 1 } }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm", fw: 500 }, entityName || entityDid), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, rootDelegation ? `Granted: ${new Date(rootDelegation.createdAt).toLocaleDateString()}` : "Root capability not set up")), /* @__PURE__ */ React470.createElement(Badge70, { color: "green", variant: "light" }, "Entity")))), /* @__PURE__ */ React470.createElement(Divider47, { label: "Flow Permissions", labelPosition: "center" }), loading ? /* @__PURE__ */ React470.createElement(Group193, { justify: "center", py: "xl" }, /* @__PURE__ */ React470.createElement(Loader106, { size: "sm" })) : flowDelegations.length === 0 ? /* @__PURE__ */ React470.createElement(Alert62, { color: "gray", variant: "light" }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm" }, "No flow permissions have been granted yet.")) : /* @__PURE__ */ React470.createElement(Stack334, { gap: "xs" }, flowDelegations.map(({ delegation, displayName, type }) => /* @__PURE__ */ React470.createElement(Paper41, { key: delegation.cid, p: "sm", withBorder: true }, /* @__PURE__ */ React470.createElement(Group193, { justify: "space-between" }, /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, getIcon2(type), /* @__PURE__ */ React470.createElement(Stack334, { gap: 2 }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm", fw: 500 }, displayName), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, formatCapabilities(delegation.capabilities)), /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "Expires: ", formatExpiration(delegation.expiration)), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "\u2022"), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "Granted by: ", delegation.issuerDid === entityDid ? "Entity" : delegation.issuerDid.slice(-8))))), /* @__PURE__ */ React470.createElement(ActionIcon64, { color: "red", variant: "subtle", onClick: () => handleRevoke(delegation.cid), loading: revoking === delegation.cid, disabled: !!revoking }, /* @__PURE__ */ React470.createElement(IconTrash20, { size: 16 })))))), /* @__PURE__ */ React470.createElement(Divider47, { label: "Custom Capabilities", labelPosition: "center" }), !loading && customDelegations.length === 0 ? /* @__PURE__ */ React470.createElement(Alert62, { color: "gray", variant: "light" }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm" }, "No custom capabilities have been created yet.")) : /* @__PURE__ */ React470.createElement(Stack334, { gap: "xs" }, customDelegations.map(({ delegation, displayName, type }) => /* @__PURE__ */ React470.createElement(Paper41, { key: delegation.cid, p: "sm", withBorder: true, style: { borderColor: "var(--mantine-color-violet-4)" } }, /* @__PURE__ */ React470.createElement(Group193, { justify: "space-between" }, /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, getIcon2(type), /* @__PURE__ */ React470.createElement(Stack334, { gap: 2 }, /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm", fw: 500 }, displayName), /* @__PURE__ */ React470.createElement(Badge70, { size: "xs", variant: "light", color: "violet" }, "custom")), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, formatCapabilities(delegation.capabilities)), /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "Expires: ", formatExpiration(delegation.expiration)), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "\u2022"), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "Issued by: ", delegation.issuerDid.slice(-12))))), /* @__PURE__ */ React470.createElement(ActionIcon64, { color: "red", variant: "subtle", onClick: () => handleRevoke(delegation.cid), loading: revoking === delegation.cid, disabled: !!revoking }, /* @__PURE__ */ React470.createElement(IconTrash20, { size: 16 })))))), /* @__PURE__ */ React470.createElement(Button119, { leftSection: /* @__PURE__ */ React470.createElement(IconPlus17, { size: 16 }), variant: "light", onClick: onGrantPermission }, "Grant Permission"));
57416
+ return /* @__PURE__ */ React470.createElement(Stack334, { gap: "md" }, /* @__PURE__ */ React470.createElement(Stack334, { gap: "xs" }, /* @__PURE__ */ React470.createElement(Text317, { fw: 600, size: "sm" }, "Root Authority"), /* @__PURE__ */ React470.createElement(Paper41, { p: "sm", withBorder: true }, /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, /* @__PURE__ */ React470.createElement(IconShieldCheck19, { size: 20, color: "var(--mantine-color-green-6)" }), /* @__PURE__ */ React470.createElement(Stack334, { gap: 2, style: { flex: 1 } }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm", fw: 500 }, entityName || entityDid), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, rootDelegation ? `Granted: ${new Date(rootDelegation.createdAt).toLocaleDateString()}` : "Root capability not set up")), /* @__PURE__ */ React470.createElement(Badge70, { color: "green", variant: "light" }, "Entity")))), /* @__PURE__ */ React470.createElement(Divider47, { label: "Flow Permissions", labelPosition: "center" }), loading ? /* @__PURE__ */ React470.createElement(Group193, { justify: "center", py: "xl" }, /* @__PURE__ */ React470.createElement(Loader106, { size: "sm" })) : flowDelegations.length === 0 ? /* @__PURE__ */ React470.createElement(Alert62, { color: "gray", variant: "light" }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm" }, "No flow permissions have been granted yet.")) : /* @__PURE__ */ React470.createElement(Stack334, { gap: "xs" }, flowDelegations.map(({ delegation, displayName, type }) => /* @__PURE__ */ React470.createElement(Paper41, { key: delegation.cid, p: "sm", withBorder: true }, /* @__PURE__ */ React470.createElement(Group193, { justify: "space-between" }, /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, getIcon2(type), /* @__PURE__ */ React470.createElement(Stack334, { gap: 2 }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm", fw: 500 }, displayName), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, formatCapabilities(delegation.capabilities)), /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "Expires: ", formatExpiration(delegation.expiration)), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "\u2022"), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "Granted by: ", delegation.issuerDid === entityDid ? "Entity" : delegation.issuerDid.slice(-8))))), /* @__PURE__ */ React470.createElement(ActionIcon65, { color: "red", variant: "subtle", onClick: () => handleRevoke(delegation.cid), loading: revoking === delegation.cid, disabled: !!revoking }, /* @__PURE__ */ React470.createElement(IconTrash20, { size: 16 })))))), /* @__PURE__ */ React470.createElement(Divider47, { label: "Custom Capabilities", labelPosition: "center" }), !loading && customDelegations.length === 0 ? /* @__PURE__ */ React470.createElement(Alert62, { color: "gray", variant: "light" }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm" }, "No custom capabilities have been created yet.")) : /* @__PURE__ */ React470.createElement(Stack334, { gap: "xs" }, customDelegations.map(({ delegation, displayName, type }) => /* @__PURE__ */ React470.createElement(Paper41, { key: delegation.cid, p: "sm", withBorder: true, style: { borderColor: "var(--mantine-color-violet-4)" } }, /* @__PURE__ */ React470.createElement(Group193, { justify: "space-between" }, /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, getIcon2(type), /* @__PURE__ */ React470.createElement(Stack334, { gap: 2 }, /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, /* @__PURE__ */ React470.createElement(Text317, { size: "sm", fw: 500 }, displayName), /* @__PURE__ */ React470.createElement(Badge70, { size: "xs", variant: "light", color: "violet" }, "custom")), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, formatCapabilities(delegation.capabilities)), /* @__PURE__ */ React470.createElement(Group193, { gap: "xs" }, /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "Expires: ", formatExpiration(delegation.expiration)), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "\u2022"), /* @__PURE__ */ React470.createElement(Text317, { size: "xs", c: "dimmed" }, "Issued by: ", delegation.issuerDid.slice(-12))))), /* @__PURE__ */ React470.createElement(ActionIcon65, { color: "red", variant: "subtle", onClick: () => handleRevoke(delegation.cid), loading: revoking === delegation.cid, disabled: !!revoking }, /* @__PURE__ */ React470.createElement(IconTrash20, { size: 16 })))))), /* @__PURE__ */ React470.createElement(Button119, { leftSection: /* @__PURE__ */ React470.createElement(IconPlus17, { size: 16 }), variant: "light", onClick: onGrantPermission }, "Grant Permission"));
57362
57417
  };
57363
57418
 
57364
57419
  // src/mantine/components/GrantPermissionModal.tsx
57365
57420
  import React471, { useState as useState277, useCallback as useCallback206 } from "react";
57366
- import { Modal as Modal9, Stack as Stack335, Text as Text318, TextInput as TextInput13, Button as Button120, Group as Group194, Radio as Radio7, Checkbox as Checkbox19, Alert as Alert63, Paper as Paper42, Loader as Loader107, Badge as Badge71, ActionIcon as ActionIcon65, Divider as Divider48, NumberInput as NumberInput16 } from "@mantine/core";
57421
+ import { Modal as Modal9, Stack as Stack335, Text as Text318, TextInput as TextInput13, Button as Button120, Group as Group194, Radio as Radio7, Checkbox as Checkbox19, Alert as Alert63, Paper as Paper42, Loader as Loader107, Badge as Badge71, ActionIcon as ActionIcon66, Divider as Divider48, NumberInput as NumberInput16 } from "@mantine/core";
57367
57422
  import { IconSearch as IconSearch12, IconUser as IconUser18, IconRobot as IconRobot10, IconX as IconX29, IconShieldPlus as IconShieldPlus5 } from "@tabler/icons-react";
57368
57423
  var GrantPermissionModal = ({ opened, onClose, flowUri, blocks, targetBlockId, searchUsers, getOracles, onGrant }) => {
57369
57424
  const singleBlockMode = !!targetBlockId || blocks.length === 1;
@@ -57499,7 +57554,7 @@ var GrantPermissionModal = ({ opened, onClose, flowUri, blocks, targetBlockId, s
57499
57554
  onChange: (e) => setSearchQuery(e.currentTarget.value),
57500
57555
  onKeyDown: (e) => e.key === "Enter" && handleSearch()
57501
57556
  }
57502
- ), selectedRecipient ? /* @__PURE__ */ React471.createElement(Paper42, { p: "sm", withBorder: true }, /* @__PURE__ */ React471.createElement(Group194, { justify: "space-between" }, /* @__PURE__ */ React471.createElement(Group194, { gap: "xs" }, recipientType === "oracle" ? /* @__PURE__ */ React471.createElement(IconRobot10, { size: 16 }) : /* @__PURE__ */ React471.createElement(IconUser18, { size: 16 }), /* @__PURE__ */ React471.createElement(Text318, { size: "sm" }, selectedRecipient.displayName), /* @__PURE__ */ React471.createElement(Badge71, { size: "xs", variant: "light" }, selectedRecipient.did.slice(-12))), /* @__PURE__ */ React471.createElement(ActionIcon65, { size: "sm", variant: "subtle", onClick: () => setSelectedRecipient(null) }, /* @__PURE__ */ React471.createElement(IconX29, { size: 14 })))) : searchResults.length > 0 ? /* @__PURE__ */ React471.createElement(Paper42, { p: "xs", withBorder: true, style: { maxHeight: 150, overflow: "auto" } }, /* @__PURE__ */ React471.createElement(Stack335, { gap: 4 }, searchResults.map((result) => /* @__PURE__ */ React471.createElement(Button120, { key: result.did, variant: "subtle", size: "sm", justify: "flex-start", onClick: () => setSelectedRecipient(result) }, result.displayName)))) : null) : /* @__PURE__ */ React471.createElement(TextInput13, { label: "Recipient DID", placeholder: "did:ixo:...", value: manualDid, onChange: (e) => setManualDid(e.currentTarget.value) }), /* @__PURE__ */ React471.createElement(Divider48, null), /* @__PURE__ */ React471.createElement(Stack335, { gap: "xs" }, /* @__PURE__ */ React471.createElement(Text318, { size: "sm", fw: 500 }, "Permission Scope"), singleBlockMode && fixedBlock ? (
57557
+ ), selectedRecipient ? /* @__PURE__ */ React471.createElement(Paper42, { p: "sm", withBorder: true }, /* @__PURE__ */ React471.createElement(Group194, { justify: "space-between" }, /* @__PURE__ */ React471.createElement(Group194, { gap: "xs" }, recipientType === "oracle" ? /* @__PURE__ */ React471.createElement(IconRobot10, { size: 16 }) : /* @__PURE__ */ React471.createElement(IconUser18, { size: 16 }), /* @__PURE__ */ React471.createElement(Text318, { size: "sm" }, selectedRecipient.displayName), /* @__PURE__ */ React471.createElement(Badge71, { size: "xs", variant: "light" }, selectedRecipient.did.slice(-12))), /* @__PURE__ */ React471.createElement(ActionIcon66, { size: "sm", variant: "subtle", onClick: () => setSelectedRecipient(null) }, /* @__PURE__ */ React471.createElement(IconX29, { size: 14 })))) : searchResults.length > 0 ? /* @__PURE__ */ React471.createElement(Paper42, { p: "xs", withBorder: true, style: { maxHeight: 150, overflow: "auto" } }, /* @__PURE__ */ React471.createElement(Stack335, { gap: 4 }, searchResults.map((result) => /* @__PURE__ */ React471.createElement(Button120, { key: result.did, variant: "subtle", size: "sm", justify: "flex-start", onClick: () => setSelectedRecipient(result) }, result.displayName)))) : null) : /* @__PURE__ */ React471.createElement(TextInput13, { label: "Recipient DID", placeholder: "did:ixo:...", value: manualDid, onChange: (e) => setManualDid(e.currentTarget.value) }), /* @__PURE__ */ React471.createElement(Divider48, null), /* @__PURE__ */ React471.createElement(Stack335, { gap: "xs" }, /* @__PURE__ */ React471.createElement(Text318, { size: "sm", fw: 500 }, "Permission Scope"), singleBlockMode && fixedBlock ? (
57503
57558
  // Single block mode: show fixed block info
57504
57559
  /* @__PURE__ */ React471.createElement(Paper42, { p: "sm", withBorder: true }, /* @__PURE__ */ React471.createElement(Group194, { gap: "xs" }, /* @__PURE__ */ React471.createElement(Badge71, { variant: "light", color: "blue" }, fixedBlock.type), /* @__PURE__ */ React471.createElement(Text318, { size: "sm" }, fixedBlock.name || `Block ${fixedBlock.id.slice(-8)}`)), /* @__PURE__ */ React471.createElement(Text318, { size: "xs", c: "dimmed", mt: "xs" }, "Permission will be granted to execute this specific block."))
57505
57560
  ) : (
@@ -57679,4 +57734,4 @@ export {
57679
57734
  ixoGraphQLClient,
57680
57735
  getEntity
57681
57736
  };
57682
- //# sourceMappingURL=chunk-SYEWBPNQ.js.map
57737
+ //# sourceMappingURL=chunk-RFTH7IX3.js.map