@datatechsolutions/ui 2.11.92 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/README.md +39 -58
  2. package/dist/astrlabe/contracts.d.mts +17 -6
  3. package/dist/astrlabe/contracts.d.ts +17 -6
  4. package/dist/astrlabe/index.d.mts +9 -3
  5. package/dist/astrlabe/index.d.ts +9 -3
  6. package/dist/astrlabe/index.js +120 -116
  7. package/dist/astrlabe/index.mjs +6 -6
  8. package/dist/astrlabe/utils.d.mts +1 -1
  9. package/dist/astrlabe/utils.d.ts +1 -1
  10. package/dist/astrlabe/utils.js +9 -9
  11. package/dist/astrlabe/utils.mjs +2 -2
  12. package/dist/astrlabe/workflow-canvas.d.mts +1 -1
  13. package/dist/astrlabe/workflow-canvas.d.ts +1 -1
  14. package/dist/astrlabe/workflow-canvas.js +5 -5
  15. package/dist/astrlabe/workflow-canvas.mjs +4 -4
  16. package/dist/brand/index.d.mts +1 -15
  17. package/dist/brand/index.d.ts +1 -15
  18. package/dist/brand/index.js +0 -14
  19. package/dist/brand/index.js.map +1 -1
  20. package/dist/brand/index.mjs +0 -14
  21. package/dist/brand/index.mjs.map +1 -1
  22. package/dist/{chunk-24QKSC74.js → chunk-3JJWPOK6.js} +6 -6
  23. package/dist/{chunk-24QKSC74.js.map → chunk-3JJWPOK6.js.map} +1 -1
  24. package/dist/{chunk-HGN5W56D.mjs → chunk-3ZUMJTDT.mjs} +3 -3
  25. package/dist/{chunk-HGN5W56D.mjs.map → chunk-3ZUMJTDT.mjs.map} +1 -1
  26. package/dist/{chunk-LKJZGFM4.mjs → chunk-5GDKCFM5.mjs} +3 -3
  27. package/dist/{chunk-LKJZGFM4.mjs.map → chunk-5GDKCFM5.mjs.map} +1 -1
  28. package/dist/{chunk-ZHUPYX4Q.mjs → chunk-5RM6NGZ6.mjs} +3 -3
  29. package/dist/{chunk-ZHUPYX4Q.mjs.map → chunk-5RM6NGZ6.mjs.map} +1 -1
  30. package/dist/{chunk-WNCPAWLC.mjs → chunk-5W7L7BT7.mjs} +13 -2
  31. package/dist/chunk-5W7L7BT7.mjs.map +1 -0
  32. package/dist/{chunk-DB64YDV2.js → chunk-AOUUZ52N.js} +55 -55
  33. package/dist/{chunk-DB64YDV2.js.map → chunk-AOUUZ52N.js.map} +1 -1
  34. package/dist/{chunk-VGSWSQQU.mjs → chunk-B67DP7MI.mjs} +4 -4
  35. package/dist/{chunk-VGSWSQQU.mjs.map → chunk-B67DP7MI.mjs.map} +1 -1
  36. package/dist/{chunk-C7BI5LQ6.js → chunk-C3H4FM4A.js} +13 -2
  37. package/dist/chunk-C3H4FM4A.js.map +1 -0
  38. package/dist/{chunk-XXYDLYIT.js → chunk-EFOXN3LC.js} +288 -171
  39. package/dist/chunk-EFOXN3LC.js.map +1 -0
  40. package/dist/{chunk-ARVLVWUC.js → chunk-F54Q2YJY.js} +97 -15
  41. package/dist/chunk-F54Q2YJY.js.map +1 -0
  42. package/dist/{chunk-WI663467.mjs → chunk-H2D2CRTD.mjs} +8 -8
  43. package/dist/{chunk-WI663467.mjs.map → chunk-H2D2CRTD.mjs.map} +1 -1
  44. package/dist/{chunk-PTGPQJZJ.js → chunk-HDCUWUNH.js} +15 -15
  45. package/dist/{chunk-PTGPQJZJ.js.map → chunk-HDCUWUNH.js.map} +1 -1
  46. package/dist/{chunk-ZKUYNCAG.js → chunk-I2NZGVBG.js} +1595 -2140
  47. package/dist/chunk-I2NZGVBG.js.map +1 -0
  48. package/dist/{chunk-MLAXYDEU.mjs → chunk-IRPS5UCS.mjs} +3 -3
  49. package/dist/{chunk-MLAXYDEU.mjs.map → chunk-IRPS5UCS.mjs.map} +1 -1
  50. package/dist/{chunk-3SUFSAP6.mjs → chunk-IRT4T3CU.mjs} +214 -105
  51. package/dist/chunk-IRT4T3CU.mjs.map +1 -0
  52. package/dist/{chunk-A3BFURJB.mjs → chunk-JN6IL6OH.mjs} +1595 -2138
  53. package/dist/chunk-JN6IL6OH.mjs.map +1 -0
  54. package/dist/{chunk-NA57KK4O.js → chunk-JSNRCYSO.js} +4 -4
  55. package/dist/{chunk-NA57KK4O.js.map → chunk-JSNRCYSO.js.map} +1 -1
  56. package/dist/{chunk-XSBZNPUO.js → chunk-KR2X2WHJ.js} +53 -53
  57. package/dist/{chunk-XSBZNPUO.js.map → chunk-KR2X2WHJ.js.map} +1 -1
  58. package/dist/{chunk-YEWXDCCI.mjs → chunk-LEKZUS6N.mjs} +4 -4
  59. package/dist/{chunk-YEWXDCCI.mjs.map → chunk-LEKZUS6N.mjs.map} +1 -1
  60. package/dist/{chunk-6NAZVG2O.mjs → chunk-MVBIAXVN.mjs} +4 -4
  61. package/dist/{chunk-6NAZVG2O.mjs.map → chunk-MVBIAXVN.mjs.map} +1 -1
  62. package/dist/{chunk-5UU3RQRB.js → chunk-NJS2YC3J.js} +15 -2
  63. package/dist/chunk-NJS2YC3J.js.map +1 -0
  64. package/dist/{chunk-4TY55HGO.mjs → chunk-OL73LBX5.mjs} +3 -3
  65. package/dist/{chunk-4TY55HGO.mjs.map → chunk-OL73LBX5.mjs.map} +1 -1
  66. package/dist/{chunk-3PKG4KFY.mjs → chunk-QYA53LUF.mjs} +67 -10
  67. package/dist/chunk-QYA53LUF.mjs.map +1 -0
  68. package/dist/{chunk-DWFLIXES.mjs → chunk-R4TQWXNG.mjs} +3 -3
  69. package/dist/{chunk-DWFLIXES.mjs.map → chunk-R4TQWXNG.mjs.map} +1 -1
  70. package/dist/{chunk-DADFESAQ.js → chunk-RGI74SQH.js} +4 -4
  71. package/dist/{chunk-DADFESAQ.js.map → chunk-RGI74SQH.js.map} +1 -1
  72. package/dist/{chunk-SFVSDGNF.js → chunk-RL35XATZ.js} +192 -134
  73. package/dist/chunk-RL35XATZ.js.map +1 -0
  74. package/dist/{chunk-BUI7BCUN.js → chunk-RXZNACMI.js} +33 -33
  75. package/dist/{chunk-BUI7BCUN.js.map → chunk-RXZNACMI.js.map} +1 -1
  76. package/dist/{chunk-TBPWMPZU.js → chunk-SU3YPWFW.js} +26 -26
  77. package/dist/{chunk-TBPWMPZU.js.map → chunk-SU3YPWFW.js.map} +1 -1
  78. package/dist/{chunk-DIMLLLZR.js → chunk-TIJJHW2Z.js} +36 -36
  79. package/dist/{chunk-DIMLLLZR.js.map → chunk-TIJJHW2Z.js.map} +1 -1
  80. package/dist/{chunk-2RDGJXYZ.js → chunk-TVMLV675.js} +67 -67
  81. package/dist/{chunk-2RDGJXYZ.js.map → chunk-TVMLV675.js.map} +1 -1
  82. package/dist/{chunk-53SRKVKQ.mjs → chunk-U7XM3N7F.mjs} +15 -2
  83. package/dist/chunk-U7XM3N7F.mjs.map +1 -0
  84. package/dist/{chunk-Y3WJAYOY.mjs → chunk-UDDZTTLO.mjs} +6 -6
  85. package/dist/chunk-UDDZTTLO.mjs.map +1 -0
  86. package/dist/{chunk-43GCSCQA.js → chunk-W5OEBO6E.js} +12 -12
  87. package/dist/chunk-W5OEBO6E.js.map +1 -0
  88. package/dist/{chunk-FUVJHNNI.js → chunk-Y6AEE56Q.js} +69 -69
  89. package/dist/{chunk-FUVJHNNI.js.map → chunk-Y6AEE56Q.js.map} +1 -1
  90. package/dist/{chunk-MZAS6TG4.mjs → chunk-YIB2YAM5.mjs} +3 -3
  91. package/dist/{chunk-MZAS6TG4.mjs.map → chunk-YIB2YAM5.mjs.map} +1 -1
  92. package/dist/{chunk-RELMVNNR.mjs → chunk-YV72JM4B.mjs} +4 -4
  93. package/dist/{chunk-RELMVNNR.mjs.map → chunk-YV72JM4B.mjs.map} +1 -1
  94. package/dist/{chunk-MEEFOZC4.js → chunk-ZM5MVWIT.js} +4 -4
  95. package/dist/{chunk-MEEFOZC4.js.map → chunk-ZM5MVWIT.js.map} +1 -1
  96. package/dist/{chunk-PU2KTO4O.mjs → chunk-ZV5EZXXO.mjs} +97 -15
  97. package/dist/chunk-ZV5EZXXO.mjs.map +1 -0
  98. package/dist/{index-AioB90qq.d.mts → index-CoB18TbG.d.ts} +9 -2
  99. package/dist/{index-D5ai0cGZ.d.ts → index-VI9gyJXl.d.mts} +9 -2
  100. package/dist/index.d.mts +8 -41
  101. package/dist/index.d.ts +8 -41
  102. package/dist/index.js +745 -753
  103. package/dist/index.mjs +2 -2
  104. package/dist/platform/admin/index.js +11 -11
  105. package/dist/platform/admin/index.mjs +5 -5
  106. package/dist/platform/agents-workspace.js +9 -9
  107. package/dist/platform/agents-workspace.mjs +8 -8
  108. package/dist/platform/app-shell.js +4 -4
  109. package/dist/platform/app-shell.mjs +3 -3
  110. package/dist/platform/auth/index.js +28 -28
  111. package/dist/platform/auth/index.mjs +5 -5
  112. package/dist/platform/billing/index.js +4 -4
  113. package/dist/platform/billing/index.mjs +3 -3
  114. package/dist/platform/impersonation/index.js +4 -4
  115. package/dist/platform/impersonation/index.mjs +3 -3
  116. package/dist/platform/index.js +101 -101
  117. package/dist/platform/index.js.map +1 -1
  118. package/dist/platform/index.mjs +21 -21
  119. package/dist/platform/index.mjs.map +1 -1
  120. package/dist/platform/pages/index.d.mts +5 -6
  121. package/dist/platform/pages/index.d.ts +5 -6
  122. package/dist/platform/pages/index.js +199 -199
  123. package/dist/platform/pages/index.js.map +1 -1
  124. package/dist/platform/pages/index.mjs +11 -11
  125. package/dist/platform/pages/index.mjs.map +1 -1
  126. package/dist/platform/settings/index.js +8 -8
  127. package/dist/platform/settings/index.mjs +7 -7
  128. package/dist/platform/telemetry/index.d.mts +42 -0
  129. package/dist/platform/telemetry/index.d.ts +42 -0
  130. package/dist/platform/telemetry/index.js +75 -0
  131. package/dist/platform/telemetry/index.js.map +1 -0
  132. package/dist/platform/telemetry/index.mjs +68 -0
  133. package/dist/platform/telemetry/index.mjs.map +1 -0
  134. package/dist/platform/workflow-api-client.d.mts +2 -2
  135. package/dist/platform/workflow-api-client.d.ts +2 -2
  136. package/dist/platform/workflow-api-client.js +61 -61
  137. package/dist/platform/workflow-api-client.mjs +1 -1
  138. package/dist/platform/workflow-canvas-shell.js +6 -6
  139. package/dist/platform/workflow-canvas-shell.mjs +5 -5
  140. package/dist/{workflow-api-client-zVtc8FIl.d.ts → workflow-api-client-BKD8OfP_.d.ts} +62 -31
  141. package/dist/{workflow-api-client-wLoap-tt.d.mts → workflow-api-client-DoYj7nHz.d.mts} +62 -31
  142. package/package.json +7 -1
  143. package/dist/chunk-3PKG4KFY.mjs.map +0 -1
  144. package/dist/chunk-3SUFSAP6.mjs.map +0 -1
  145. package/dist/chunk-43GCSCQA.js.map +0 -1
  146. package/dist/chunk-53SRKVKQ.mjs.map +0 -1
  147. package/dist/chunk-5UU3RQRB.js.map +0 -1
  148. package/dist/chunk-A3BFURJB.mjs.map +0 -1
  149. package/dist/chunk-ARVLVWUC.js.map +0 -1
  150. package/dist/chunk-C7BI5LQ6.js.map +0 -1
  151. package/dist/chunk-PU2KTO4O.mjs.map +0 -1
  152. package/dist/chunk-SFVSDGNF.js.map +0 -1
  153. package/dist/chunk-WNCPAWLC.mjs.map +0 -1
  154. package/dist/chunk-XXYDLYIT.js.map +0 -1
  155. package/dist/chunk-Y3WJAYOY.mjs.map +0 -1
  156. package/dist/chunk-ZKUYNCAG.js.map +0 -1
  157. package/src/brand/logos/fuel-icon.svg +0 -32
  158. package/src/brand/logos/fuel-logo-dark.svg +0 -43
  159. package/src/brand/logos/fuel-logo.svg +0 -43
@@ -1,14 +1,15 @@
1
1
  "use client";
2
- import { ToggleSwitch, GlassModal, ContextMenu, FormSelect, FormInput, FormTextarea, Button, IconButton } from './chunk-A3BFURJB.mjs';
2
+ import { ToggleSwitch, GlassModal, ContextMenu, FormSelect, FormInput, FormTextarea, Button, IconButton } from './chunk-JN6IL6OH.mjs';
3
3
  import { useTranslations, I18nProvider, createI18nFromMessages } from './chunk-7VJ7CMMT.mjs';
4
+ import { listModelProviderCatalog } from './chunk-ZV5EZXXO.mjs';
4
5
  import { GraphNodeHeader, GraphNodeMeta, GraphNodeBadge, GraphNodeIconBubble } from './chunk-OZNTQROP.mjs';
5
- import { getAgentTier, createDefaultLogicNodeConfig, applyDagreLayout } from './chunk-WNCPAWLC.mjs';
6
+ import { getAgentTier, createDefaultLogicNodeConfig, applyDagreLayout } from './chunk-5W7L7BT7.mjs';
6
7
  import { memo, useState, useRef, useCallback, useEffect, lazy, createContext, useMemo, useContext } from 'react';
7
8
  import { Position, NodeResizer, MarkerType, useReactFlow, getBezierPath, BaseEdge, EdgeLabelRenderer, Handle, ReactFlowProvider, useNodesState, useEdgesState, addEdge, BackgroundVariant } from '@xyflow/react';
8
9
  import '@xyflow/react/dist/style.css';
9
10
  import { create } from 'zustand';
10
11
  import { PlusIcon, XMarkIcon } from '@heroicons/react/24/solid';
11
- import { Bars2Icon, CursorArrowRaysIcon, HandRaisedIcon, MagnifyingGlassPlusIcon, MagnifyingGlassMinusIcon, ArrowsPointingInIcon, ArrowUturnLeftIcon, ArrowUturnRightIcon, MapIcon, EllipsisHorizontalIcon, Squares2X2Icon, ArrowsRightLeftIcon, CommandLineIcon, ExclamationTriangleIcon, CpuChipIcon, TrashIcon, WrenchScrewdriverIcon, NewspaperIcon, ChartBarIcon, CloudIcon, ScaleIcon, AdjustmentsHorizontalIcon, CircleStackIcon, PlayIcon, StopIcon, ArrowsPointingOutIcon, CodeBracketIcon, GlobeAltIcon, DocumentTextIcon, ArrowPathIcon, BookOpenIcon, ChatBubbleLeftRightIcon, QuestionMarkCircleIcon, AdjustmentsVerticalIcon, Square3Stack3DIcon, DocumentMagnifyingGlassIcon, ListBulletIcon, PlayCircleIcon, PencilSquareIcon, ServerStackIcon, KeyIcon, RectangleGroupIcon, ChevronDownIcon, ChevronUpIcon, PresentationChartBarIcon, ChartPieIcon, ChartBarSquareIcon, CurrencyDollarIcon, ShieldCheckIcon, ClipboardDocumentCheckIcon, FireIcon, ShoppingBagIcon, UsersIcon, BuildingStorefrontIcon, BeakerIcon, PencilIcon, DocumentDuplicateIcon, ClipboardDocumentIcon, ClipboardIcon, PlusIcon as PlusIcon$1, XMarkIcon as XMarkIcon$1, TableCellsIcon, FunnelIcon, Cog6ToothIcon, VariableIcon, MagnifyingGlassIcon, CheckIcon } from '@heroicons/react/24/outline';
12
+ import { Bars2Icon, CursorArrowRaysIcon, HandRaisedIcon, MagnifyingGlassPlusIcon, MagnifyingGlassMinusIcon, ArrowsPointingInIcon, ArrowUturnLeftIcon, ArrowUturnRightIcon, MapIcon, EllipsisHorizontalIcon, Squares2X2Icon, ArrowsRightLeftIcon, CommandLineIcon, ExclamationTriangleIcon, CpuChipIcon, TrashIcon, WrenchScrewdriverIcon, NewspaperIcon, ChartBarIcon, CloudIcon, ScaleIcon, AdjustmentsHorizontalIcon, CircleStackIcon, PlayIcon, StopIcon, ArrowsPointingOutIcon, CodeBracketIcon, GlobeAltIcon, DocumentTextIcon, ArrowPathIcon, BookOpenIcon, ChatBubbleLeftRightIcon, QuestionMarkCircleIcon, AdjustmentsVerticalIcon, Square3Stack3DIcon, DocumentMagnifyingGlassIcon, ListBulletIcon, PlayCircleIcon, PencilSquareIcon, ServerStackIcon, KeyIcon, RectangleGroupIcon, ChevronDownIcon, ChevronUpIcon, CloudArrowUpIcon, PresentationChartBarIcon, ChartPieIcon, ChartBarSquareIcon, CurrencyDollarIcon, ShieldCheckIcon, ClipboardDocumentCheckIcon, ShoppingBagIcon, UsersIcon, BuildingStorefrontIcon, BeakerIcon, PencilIcon, DocumentDuplicateIcon, ClipboardDocumentIcon, ClipboardIcon, PlusIcon as PlusIcon$1, XMarkIcon as XMarkIcon$1, TableCellsIcon, FunnelIcon, Cog6ToothIcon, VariableIcon, MagnifyingGlassIcon, CheckIcon } from '@heroicons/react/24/outline';
12
13
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
13
14
 
14
15
  var DEFAULT_PASTE_OFFSET = 40;
@@ -353,6 +354,7 @@ var LOGIC_NODE_GRADIENTS = {
353
354
  if_else: "from-amber-400 to-orange-500",
354
355
  code: "from-cyan-400 to-sky-500",
355
356
  http_request: "from-orange-400 to-amber-500",
357
+ s3_write: "from-cyan-400 to-cyan-500",
356
358
  template_transform: "from-pink-400 to-rose-500",
357
359
  iteration: "from-indigo-400 to-violet-500",
358
360
  knowledge_base: "from-emerald-400 to-teal-500",
@@ -377,6 +379,7 @@ var LOGIC_NODE_BADGE_COLORS = {
377
379
  if_else: "bg-amber-100 text-amber-700 dark:bg-amber-500/20 dark:text-amber-300",
378
380
  code: "bg-cyan-100 text-cyan-700 dark:bg-cyan-500/20 dark:text-cyan-300",
379
381
  http_request: "bg-orange-100 text-orange-700 dark:bg-orange-500/20 dark:text-orange-300",
382
+ s3_write: "bg-cyan-100 text-cyan-700 dark:bg-cyan-500/20 dark:text-cyan-300",
380
383
  template_transform: "bg-pink-100 text-pink-700 dark:bg-pink-500/20 dark:text-pink-300",
381
384
  iteration: "bg-indigo-100 text-indigo-700 dark:bg-indigo-500/20 dark:text-indigo-300",
382
385
  knowledge_base: "bg-emerald-100 text-emerald-700 dark:bg-emerald-500/20 dark:text-emerald-300",
@@ -401,6 +404,7 @@ var LOGIC_NODE_BADGE_SOFT_COLORS = {
401
404
  if_else: "bg-amber-50 text-amber-600 dark:bg-amber-500/20 dark:text-amber-400",
402
405
  code: "bg-cyan-50 text-cyan-600 dark:bg-cyan-500/20 dark:text-cyan-400",
403
406
  http_request: "bg-orange-50 text-orange-600 dark:bg-orange-500/20 dark:text-orange-400",
407
+ s3_write: "bg-cyan-50 text-cyan-600 dark:bg-cyan-500/20 dark:text-cyan-400",
404
408
  template_transform: "bg-pink-50 text-pink-600 dark:bg-pink-500/20 dark:text-pink-400",
405
409
  iteration: "bg-indigo-50 text-indigo-600 dark:bg-indigo-500/20 dark:text-indigo-400",
406
410
  knowledge_base: "bg-emerald-50 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400",
@@ -425,6 +429,7 @@ var LOGIC_ICON_MAP = {
425
429
  if_else: ArrowsPointingOutIcon,
426
430
  code: CodeBracketIcon,
427
431
  http_request: GlobeAltIcon,
432
+ s3_write: CloudArrowUpIcon,
428
433
  template_transform: DocumentTextIcon,
429
434
  iteration: ArrowPathIcon,
430
435
  knowledge_base: BookOpenIcon,
@@ -463,6 +468,7 @@ var NODE_BORDER_COLORS = {
463
468
  if_else: "border-amber-300/50 dark:border-amber-600/50",
464
469
  code: "border-cyan-300/50 dark:border-cyan-600/50",
465
470
  http_request: "border-orange-300/50 dark:border-orange-600/50",
471
+ s3_write: "border-cyan-300/50 dark:border-cyan-600/50",
466
472
  template_transform: "border-pink-300/50 dark:border-pink-600/50",
467
473
  iteration: "border-indigo-300/50 dark:border-indigo-600/50",
468
474
  iteration_start: "border-indigo-300/50 dark:border-indigo-600/50",
@@ -493,6 +499,7 @@ var MINIMAP_NODE_COLORS = {
493
499
  if_else: "#f59e0b",
494
500
  code: "#06b6d4",
495
501
  http_request: "#f97316",
502
+ s3_write: "#06b6d4",
496
503
  template_transform: "#ec4899",
497
504
  iteration: "#818cf8",
498
505
  knowledge_base: "#10b981",
@@ -534,6 +541,7 @@ var LOGIC_NODE_HANDLE_COLORS = {
534
541
  if_else: "!bg-amber-500",
535
542
  code: "!bg-cyan-500",
536
543
  http_request: "!bg-orange-500",
544
+ s3_write: "!bg-cyan-500",
537
545
  template_transform: "!bg-pink-500",
538
546
  iteration: "!bg-indigo-500",
539
547
  knowledge_base: "!bg-emerald-500",
@@ -1145,12 +1153,11 @@ var ENTITY_ICON_MAP = {
1145
1153
  stations: BuildingStorefrontIcon,
1146
1154
  users: UsersIcon,
1147
1155
  competitors: ShoppingBagIcon,
1148
- fuels: FireIcon,
1149
1156
  approvals: ClipboardDocumentCheckIcon,
1150
1157
  rules: ShieldCheckIcon,
1151
1158
  current_prices: CurrencyDollarIcon,
1152
1159
  competitor_prices: ChartBarSquareIcon,
1153
- fuel_metrics: ChartPieIcon,
1160
+ product_metrics: ChartPieIcon,
1154
1161
  station_metrics: PresentationChartBarIcon,
1155
1162
  entities: CircleStackIcon
1156
1163
  };
@@ -2486,9 +2493,9 @@ var RuleFlowNode = memo(function RuleFlowNode2({ id, data, selected }) {
2486
2493
  "P",
2487
2494
  String(rule.priority ?? "")
2488
2495
  ] }),
2489
- Array.isArray(rule.condition?.fuelTypes) && rule.condition.fuelTypes.length > 0 && /* @__PURE__ */ jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
2490
- rule.condition.fuelTypes.length,
2491
- " fuels"
2496
+ Array.isArray(rule.condition?.categories) && rule.condition.categories.length > 0 && /* @__PURE__ */ jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
2497
+ rule.condition.categories.length,
2498
+ " categories"
2492
2499
  ] })
2493
2500
  ] }),
2494
2501
  onRemoveFromCanvas && /* @__PURE__ */ jsx(
@@ -4567,6 +4574,112 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4567
4574
  )
4568
4575
  ] });
4569
4576
  }
4577
+ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4578
+ const t = useTranslations("agents.workflow.s3WriteNodeConfig");
4579
+ const [bucket, setBucket] = useState(config.bucket ?? "");
4580
+ const [key, setKey] = useState(config.key ?? "");
4581
+ const [sourceUrl, setSourceUrl] = useState(config.sourceUrl ?? "");
4582
+ const [body, setBody] = useState(config.body ?? "");
4583
+ const [contentType, setContentType] = useState(config.contentType ?? "");
4584
+ const [timeoutMs, setTimeoutMs] = useState(config.timeoutMs ?? 3e5);
4585
+ const [connectionId, setConnectionId] = useState(config.connectionId ?? "");
4586
+ const handleSave = () => {
4587
+ onSave({
4588
+ ...config,
4589
+ bucket,
4590
+ key,
4591
+ sourceUrl,
4592
+ body,
4593
+ contentType,
4594
+ timeoutMs,
4595
+ connectionId
4596
+ });
4597
+ };
4598
+ return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
4599
+ /* @__PURE__ */ jsx(
4600
+ FormInput,
4601
+ {
4602
+ type: "text",
4603
+ label: t("bucketLabel"),
4604
+ value: bucket,
4605
+ onValueChange: setBucket,
4606
+ placeholder: t("bucketPlaceholder")
4607
+ }
4608
+ ),
4609
+ /* @__PURE__ */ jsx(
4610
+ FormInput,
4611
+ {
4612
+ type: "text",
4613
+ label: t("keyLabel"),
4614
+ value: key,
4615
+ onValueChange: setKey,
4616
+ placeholder: t("keyPlaceholder")
4617
+ }
4618
+ ),
4619
+ /* @__PURE__ */ jsx("div", { className: "rounded-lg border border-cyan-200/40 bg-cyan-50/40 px-3 py-2 text-[11px] text-cyan-900 dark:border-cyan-500/30 dark:bg-cyan-500/10 dark:text-cyan-100", children: t("sourceOrBodyHint") }),
4620
+ /* @__PURE__ */ jsx(
4621
+ FormInput,
4622
+ {
4623
+ type: "text",
4624
+ label: t("sourceUrlLabel"),
4625
+ value: sourceUrl,
4626
+ onValueChange: setSourceUrl,
4627
+ placeholder: t("sourceUrlPlaceholder")
4628
+ }
4629
+ ),
4630
+ /* @__PURE__ */ jsx(
4631
+ FormTextarea,
4632
+ {
4633
+ label: t("bodyLabel"),
4634
+ value: body,
4635
+ onValueChange: setBody,
4636
+ placeholder: t("bodyPlaceholder"),
4637
+ rows: 5,
4638
+ className: "font-mono text-xs"
4639
+ }
4640
+ ),
4641
+ /* @__PURE__ */ jsx(
4642
+ FormInput,
4643
+ {
4644
+ type: "text",
4645
+ label: t("contentTypeLabel"),
4646
+ value: contentType,
4647
+ onValueChange: setContentType,
4648
+ placeholder: "application/json"
4649
+ }
4650
+ ),
4651
+ /* @__PURE__ */ jsx(
4652
+ FormInput,
4653
+ {
4654
+ type: "number",
4655
+ label: t("timeoutLabel"),
4656
+ value: String(timeoutMs),
4657
+ onValueChange: (value) => setTimeoutMs(Number(value)),
4658
+ min: 1e3,
4659
+ step: 1e3
4660
+ }
4661
+ ),
4662
+ /* @__PURE__ */ jsx(
4663
+ FormInput,
4664
+ {
4665
+ type: "text",
4666
+ label: t("connectionIdLabel"),
4667
+ value: connectionId,
4668
+ onValueChange: setConnectionId,
4669
+ placeholder: t("connectionIdHelp")
4670
+ }
4671
+ ),
4672
+ /* @__PURE__ */ jsx(
4673
+ ConfigFormActions,
4674
+ {
4675
+ cancelLabel: t("cancel"),
4676
+ saveLabel: t("save"),
4677
+ onCancel,
4678
+ onSave: handleSave
4679
+ }
4680
+ )
4681
+ ] });
4682
+ }
4570
4683
  function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
4571
4684
  const t = useTranslations("agents.workflow.templateTransformNodeConfig");
4572
4685
  const [template, setTemplate] = useState(config.template);
@@ -5708,100 +5821,70 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
5708
5821
  )
5709
5822
  ] });
5710
5823
  }
5711
- var PROVIDER_TYPES = [
5712
- { value: "aws_bedrock", label: "AWS Bedrock" },
5713
- { value: "openai_api", label: "OpenAI API" },
5714
- { value: "google_vertex", label: "Google Vertex AI" },
5715
- { value: "azure_openai", label: "Azure OpenAI" },
5716
- { value: "anthropic_api", label: "Anthropic API" },
5717
- { value: "groq", label: "Groq Cloud" },
5718
- { value: "mistral", label: "Mistral AI" },
5719
- { value: "huggingface", label: "Hugging Face Inference" },
5720
- { value: "ollama", label: "Ollama (Local)" },
5721
- { value: "custom", label: "Custom OpenAI-compatible" }
5722
- ];
5723
- var REGION_OPTIONS = {
5724
- aws_bedrock: [
5725
- { value: "us-east-1", label: "US East (N. Virginia)" },
5726
- { value: "us-west-2", label: "US West (Oregon)" },
5727
- { value: "eu-west-1", label: "Europe (Ireland)" },
5728
- { value: "eu-central-1", label: "Europe (Frankfurt)" },
5729
- { value: "ap-northeast-1", label: "Asia Pacific (Tokyo)" },
5730
- { value: "ap-southeast-1", label: "Asia Pacific (Singapore)" },
5731
- { value: "ap-south-1", label: "Asia Pacific (Mumbai)" },
5732
- { value: "sa-east-1", label: "South America (S\xE3o Paulo)" },
5733
- { value: "ca-central-1", label: "Canada (Central)" }
5734
- ],
5735
- google_vertex: [
5736
- { value: "us-central1", label: "US Central (Iowa)" },
5737
- { value: "us-east4", label: "US East (Virginia)" },
5738
- { value: "europe-west4", label: "Europe West (Netherlands)" },
5739
- { value: "europe-west1", label: "Europe West (Belgium)" },
5740
- { value: "asia-northeast1", label: "Asia NE (Tokyo)" },
5741
- { value: "asia-southeast1", label: "Asia SE (Singapore)" },
5742
- { value: "southamerica-east1", label: "South America (S\xE3o Paulo)" }
5743
- ],
5744
- azure_openai: [
5745
- { value: "eastus", label: "East US" },
5746
- { value: "eastus2", label: "East US 2" },
5747
- { value: "westeurope", label: "West Europe" },
5748
- { value: "swedencentral", label: "Sweden Central" },
5749
- { value: "japaneast", label: "Japan East" },
5750
- { value: "australiaeast", label: "Australia East" },
5751
- { value: "canadaeast", label: "Canada East" },
5752
- { value: "uksouth", label: "UK South" }
5753
- ]
5754
- };
5755
- var MODEL_FAMILIES = {
5756
- aws_bedrock: [
5757
- { id: "claude", label: "Anthropic Claude", models: ["anthropic.claude-haiku-4-5-v1:0", "anthropic.claude-sonnet-4-6-v1:0", "anthropic.claude-opus-4-6-v1:0"] },
5758
- { id: "nova", label: "Amazon Nova", models: ["amazon.nova-lite-v1:0", "amazon.nova-pro-v1:0"] },
5759
- { id: "llama", label: "Meta Llama", models: ["meta.llama3-3-70b-instruct-v1:0"] },
5760
- { id: "mistral-bedrock", label: "Mistral AI", models: ["mistral.mistral-large-2411-v1:0"] }
5761
- ],
5762
- openai_api: [
5763
- { id: "gpt5", label: "GPT-5 Family", models: ["openai.gpt-5-v1:0", "openai.gpt-5-mini-v1:0"] }
5764
- ],
5765
- google_vertex: [
5766
- { id: "gemini", label: "Gemini Family", models: ["google.gemini-3-flash-v1:0", "google.gemini-3-1-pro-v1:0"] }
5767
- ],
5768
- anthropic_api: [
5769
- { id: "claude-direct", label: "Claude Family", models: ["anthropic.claude-haiku-4-5-v1:0", "anthropic.claude-sonnet-4-6-v1:0", "anthropic.claude-opus-4-6-v1:0"] }
5770
- ],
5771
- groq: [
5772
- { id: "groq-llama", label: "Llama (Groq)", models: ["meta.llama3-3-70b-instruct-v1:0"] },
5773
- { id: "groq-mixtral", label: "Mixtral (Groq)", models: ["mistral.mixtral-8x7b-v1:0"] }
5774
- ],
5775
- mistral: [
5776
- { id: "mistral-large", label: "Mistral Large", models: ["mistral.mistral-large-2411-v1:0"] },
5777
- { id: "mistral-small", label: "Mistral Small", models: ["mistral.mistral-small-v1:0"] }
5778
- ]
5779
- };
5824
+ var catalogCache = null;
5825
+ var catalogPromise = null;
5826
+ async function loadCatalog() {
5827
+ if (catalogCache) return catalogCache;
5828
+ if (!catalogPromise) {
5829
+ catalogPromise = listModelProviderCatalog().then((rows) => {
5830
+ catalogCache = rows;
5831
+ return rows;
5832
+ });
5833
+ }
5834
+ return catalogPromise;
5835
+ }
5836
+ var ENDPOINT_SLUGS = /* @__PURE__ */ new Set(["custom", "azure_openai", "ollama"]);
5780
5837
  function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5781
5838
  const t = useTranslations("agents.workflow.modelProviderNodeConfig");
5839
+ const [catalog, setCatalog] = useState(catalogCache);
5840
+ const [catalogError, setCatalogError] = useState(null);
5782
5841
  const [providerType, setProviderType] = useState(config.providerType);
5783
5842
  const [name, setName] = useState(config.name ?? "");
5784
5843
  const [region, setRegion] = useState(config.region ?? "");
5785
5844
  const [endpoint, setEndpoint] = useState(config.endpoint ?? "");
5786
5845
  const [credentialRef, setCredentialRef] = useState(config.credentialRef ?? "");
5787
5846
  const [apiKeyRef, setApiKeyRef] = useState(config.apiKeyRef ?? "");
5788
- const [selectedFamilies, setSelectedFamilies] = useState(() => {
5789
- const families2 = MODEL_FAMILIES[config.providerType] ?? [];
5790
- const filter = new Set(config.modelFilter ?? []);
5791
- const selected = /* @__PURE__ */ new Set();
5792
- for (const family of families2) {
5793
- if (family.models.some((m) => filter.has(m)) || filter.size === 0) {
5794
- selected.add(family.id);
5795
- }
5796
- }
5797
- return selected;
5798
- });
5799
- const regions = REGION_OPTIONS[providerType] ?? [];
5800
- const families = MODEL_FAMILIES[providerType] ?? [];
5847
+ const [selectedFamilies, setSelectedFamilies] = useState(/* @__PURE__ */ new Set());
5848
+ useEffect(() => {
5849
+ let cancelled = false;
5850
+ if (catalog) return;
5851
+ void loadCatalog().then((rows) => {
5852
+ if (cancelled) return;
5853
+ setCatalog(rows);
5854
+ }).catch((error) => {
5855
+ if (cancelled) return;
5856
+ const message = error instanceof Error ? error.message : "Failed to load provider catalog";
5857
+ setCatalogError(message);
5858
+ });
5859
+ return () => {
5860
+ cancelled = true;
5861
+ };
5862
+ }, [catalog]);
5863
+ const currentProvider = useMemo(() => {
5864
+ if (!catalog) return void 0;
5865
+ return catalog.find((entry) => entry.slug === providerType);
5866
+ }, [catalog, providerType]);
5867
+ const families = currentProvider?.families ?? [];
5868
+ const regions = Array.isArray(currentProvider?.regions) ? currentProvider.regions : [];
5801
5869
  const showRegion = regions.length > 0;
5802
- const showEndpoint = providerType === "custom" || providerType === "azure_openai" || providerType === "ollama";
5803
- const showApiKey = ["openai_api", "anthropic_api", "groq", "mistral", "huggingface", "custom"].includes(providerType);
5804
- const showCredentialRef = providerType === "aws_bedrock" || providerType === "google_vertex";
5870
+ const showEndpoint = ENDPOINT_SLUGS.has(providerType);
5871
+ const authType = currentProvider?.authType ?? null;
5872
+ const showApiKey = authType === "api_key";
5873
+ const showCredentialRef = authType === "iam_role";
5874
+ useEffect(() => {
5875
+ if (!currentProvider) return;
5876
+ setSelectedFamilies((previous) => {
5877
+ if (previous.size > 0) return previous;
5878
+ const filter = new Set(config.modelFilter ?? []);
5879
+ const next = /* @__PURE__ */ new Set();
5880
+ for (const family of currentProvider.families) {
5881
+ if (filter.size === 0 || family.modelIds.some((id) => filter.has(id))) {
5882
+ next.add(family.id);
5883
+ }
5884
+ }
5885
+ return next;
5886
+ });
5887
+ }, [currentProvider, config.modelFilter]);
5805
5888
  const handleToggleFamily = (familyId) => {
5806
5889
  setSelectedFamilies((previous) => {
5807
5890
  const next = new Set(previous);
@@ -5814,11 +5897,11 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5814
5897
  const newType = value;
5815
5898
  setProviderType(newType);
5816
5899
  setRegion("");
5817
- const newFamilies = MODEL_FAMILIES[newType] ?? [];
5818
- setSelectedFamilies(new Set(newFamilies.map((f) => f.id)));
5900
+ const next = catalog?.find((entry) => entry.slug === newType);
5901
+ setSelectedFamilies(new Set((next?.families ?? []).map((family) => family.id)));
5819
5902
  };
5820
5903
  const handleSave = () => {
5821
- const modelFilter = families.filter((f) => selectedFamilies.has(f.id)).flatMap((f) => f.models);
5904
+ const modelFilter = families.filter((family) => selectedFamilies.has(family.id)).flatMap((family) => family.modelIds);
5822
5905
  onSave({
5823
5906
  ...config,
5824
5907
  providerType,
@@ -5830,6 +5913,24 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5830
5913
  modelFilter
5831
5914
  });
5832
5915
  };
5916
+ if (catalogError) {
5917
+ return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
5918
+ /* @__PURE__ */ jsx("div", { className: "rounded-lg border border-red-200 bg-red-50 p-3 text-sm text-red-900 dark:border-red-500/30 dark:bg-red-500/10 dark:text-red-200", children: catalogError }),
5919
+ /* @__PURE__ */ jsx(
5920
+ ConfigFormActions,
5921
+ {
5922
+ cancelLabel: t("cancel"),
5923
+ saveLabel: t("save"),
5924
+ onCancel,
5925
+ onSave: handleSave,
5926
+ saveDisabled: true
5927
+ }
5928
+ )
5929
+ ] });
5930
+ }
5931
+ if (!catalog) {
5932
+ return /* @__PURE__ */ jsx("div", { className: "space-y-4 h-32" });
5933
+ }
5833
5934
  return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
5834
5935
  /* @__PURE__ */ jsx(
5835
5936
  FormInput,
@@ -5847,7 +5948,7 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5847
5948
  label: t("providerTypeLabel"),
5848
5949
  value: providerType,
5849
5950
  onValueChange: handleProviderChange,
5850
- options: PROVIDER_TYPES.map((pt) => ({ value: pt.value, label: pt.label }))
5951
+ options: catalog.filter((entry) => entry.enabled).map((entry) => ({ value: entry.slug, label: entry.name }))
5851
5952
  }
5852
5953
  ),
5853
5954
  showRegion && /* @__PURE__ */ jsx(
@@ -5856,7 +5957,10 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5856
5957
  label: t("regionLabel"),
5857
5958
  value: region,
5858
5959
  onValueChange: setRegion,
5859
- options: [{ value: "", label: t("selectRegion") }, ...regions]
5960
+ options: [
5961
+ { value: "", label: t("selectRegion") },
5962
+ ...regions.map((value) => ({ value, label: value }))
5963
+ ]
5860
5964
  }
5861
5965
  ),
5862
5966
  showEndpoint && /* @__PURE__ */ jsx(
@@ -5902,9 +6006,9 @@ function ModelProviderNodeConfigForm({ config, onSave, onCancel }) {
5902
6006
  children: [
5903
6007
  /* @__PURE__ */ jsx("div", { className: `flex h-4 w-4 shrink-0 items-center justify-center rounded ${isSelected ? "bg-indigo-500 text-white" : "border border-gray-300 dark:border-gray-600"}`, children: isSelected && /* @__PURE__ */ jsx("svg", { className: "h-3 w-3", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }) }),
5904
6008
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
5905
- /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-gray-900 dark:text-white", children: family.label }),
6009
+ /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-gray-900 dark:text-white", children: family.name }),
5906
6010
  /* @__PURE__ */ jsxs("span", { className: "ml-2 text-[10px] text-gray-400 dark:text-gray-500", children: [
5907
- family.models.length,
6011
+ family.modelIds.length,
5908
6012
  " models"
5909
6013
  ] })
5910
6014
  ] })
@@ -6146,6 +6250,7 @@ var NODE_TITLE_KEYS = {
6146
6250
  if_else: "ifElseNodeConfig",
6147
6251
  code: "codeNodeConfig",
6148
6252
  http_request: "httpRequestNodeConfig",
6253
+ s3_write: "s3WriteNodeConfig",
6149
6254
  template_transform: "templateTransformNodeConfig",
6150
6255
  iteration: "iterationNodeConfig",
6151
6256
  knowledge_base: "knowledgeBaseNodeConfig",
@@ -6194,6 +6299,8 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
6194
6299
  return /* @__PURE__ */ jsx(CodeNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
6195
6300
  case "http_request":
6196
6301
  return /* @__PURE__ */ jsx(HttpRequestNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
6302
+ case "s3_write":
6303
+ return /* @__PURE__ */ jsx(S3WriteNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
6197
6304
  case "template_transform":
6198
6305
  return /* @__PURE__ */ jsx(TemplateTransformNodeConfigForm, { config, onSave: handleSave, onCancel: closeModal });
6199
6306
  case "iteration":
@@ -6247,8 +6354,10 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
6247
6354
  isExperimental && /* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-start gap-2 rounded-lg border border-amber-300/40 bg-amber-50/70 px-3 py-2 text-xs text-amber-900 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-100", children: [
6248
6355
  /* @__PURE__ */ jsx(BeakerIcon, { className: "mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-300", "aria-hidden": "true" }),
6249
6356
  /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
6250
- /* @__PURE__ */ jsx("div", { className: "font-semibold", children: t("experimentalNode") }),
6251
- /* @__PURE__ */ jsx("div", { className: "text-amber-800/90 dark:text-amber-100/80", children: t("experimentalNodeWarning") })
6357
+ /* @__PURE__ */ jsx("div", { className: "font-semibold", children: t("experimentalNode", { _: "Experimental node" }) }),
6358
+ /* @__PURE__ */ jsx("div", { className: "text-amber-800/90 dark:text-amber-100/80", children: t("experimentalNodeWarning", {
6359
+ _: "This node's executor is a stub today. The configuration is saved, but the node may pass through inputs unchanged at run-time until the executor lands."
6360
+ }) })
6252
6361
  ] })
6253
6362
  ] }),
6254
6363
  renderForm()
@@ -8381,6 +8490,6 @@ function Workspace({
8381
8490
  ) }) });
8382
8491
  }
8383
8492
 
8384
- export { AgentFlowNode, AgentToolFlowNode, AnswerFlowNode, AnthropicIcon, CATEGORY_COLORS, CATEGORY_PILL_COLORS, CodeFlowNode, CrewAIIcon, DocumentExtractorFlowNode, EXPERIMENTAL_NODE_TYPES, EndFlowNode, EntityFlowNode, FRAMEWORK_META, GoogleADKIcon, GroupFlowNode, HttpRequestFlowNode, ICON_MAP, IfElseFlowNode, IterationFlowNode, IterationStartFlowNode, KnowledgeBaseFlowNode, LOGIC_ICON_MAP, LOGIC_NODE_BADGE_COLORS, LOGIC_NODE_GRADIENTS, LOGIC_NODE_HANDLE_COLORS, LangChainIcon, ListOperatorFlowNode, LogicNodeModal, MINIMAP_NODE_COLORS, ModelProviderFlowNode, NODE_EXECUTION_ACCENT_COLORS, NodeCard, NodeContextMenu, NoteFlowNode, OpenAIIcon, PanelContextMenu, ParameterExtractorFlowNode, QuestionClassifierFlowNode, RuleFlowNode, SelectionContextMenu, StartFlowNode, StrandsIcon, TemplateTransformFlowNode, ToolFlowNode, VariableAggregatorFlowNode, VariableAssignerFlowNode, WorkflowBuilderProvider, WorkflowCanvas, Workspace, getCompatibleModels, getDefaultFrameworkForModel, getEntityBadgeColor, getEntityGradient, getEntityHandleColor, getEntityIcon, getEntityMinimapColor, getFrameworkMeta, getNodeExecutionAccent, getNodeExecutionAccentRgb, isFrameworkCompatibleWithProviders, isModelCompatibleWithFramework, useModalStore, useWorkflowBuilderClient, useWorkflowBuilderClientOptional, useWorkflowStore };
8385
- //# sourceMappingURL=chunk-3SUFSAP6.mjs.map
8386
- //# sourceMappingURL=chunk-3SUFSAP6.mjs.map
8493
+ export { AgentFlowNode, AgentToolFlowNode, AnswerFlowNode, AnthropicIcon, CATEGORY_COLORS, CATEGORY_PILL_COLORS, CodeFlowNode, CrewAIIcon, DocumentExtractorFlowNode, EXPERIMENTAL_NODE_TYPES, EndFlowNode, EntityFlowNode, FRAMEWORK_META, GoogleADKIcon, GroupFlowNode, HttpRequestFlowNode, ICON_MAP, IfElseFlowNode, IterationFlowNode, IterationStartFlowNode, KnowledgeBaseFlowNode, LOGIC_ICON_MAP, LOGIC_NODE_BADGE_COLORS, LOGIC_NODE_GRADIENTS, LOGIC_NODE_HANDLE_COLORS, LangChainIcon, ListOperatorFlowNode, LogicNodeModal, MINIMAP_NODE_COLORS, ModelProviderFlowNode, NODE_EXECUTION_ACCENT_COLORS, NodeCard, NodeCardBadge, NodeCardDeleteAction, NodeCardHeader, NodeCardMeta, NodeContextMenu, NodeIconBubble, NodeInteractiveCard, NodeRunningIndicator, NoteFlowNode, OpenAIIcon, PanelContextMenu, ParameterExtractorFlowNode, QuestionClassifierFlowNode, RuleFlowNode, SelectionContextMenu, StartFlowNode, StrandsIcon, TemplateTransformFlowNode, ToolFlowNode, VariableAggregatorFlowNode, VariableAssignerFlowNode, WorkflowBuilderProvider, WorkflowCanvas, WorkflowHandle, Workspace, getCompatibleModels, getDefaultFrameworkForModel, getEntityBadgeColor, getEntityGradient, getEntityHandleColor, getEntityIcon, getEntityMinimapColor, getFrameworkMeta, getNodeExecutionAccent, getNodeExecutionAccentRgb, isFrameworkCompatibleWithProviders, isModelCompatibleWithFramework, useModalStore, useWorkflowBuilderClient, useWorkflowBuilderClientOptional, useWorkflowStore };
8494
+ //# sourceMappingURL=chunk-IRT4T3CU.mjs.map
8495
+ //# sourceMappingURL=chunk-IRT4T3CU.mjs.map