@metad/contracts 3.7.0 → 3.8.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.
package/index.esm.js CHANGED
@@ -1,29 +1,30 @@
1
1
  import ShortUniqueId from 'short-unique-id';
2
+ export * from '@xpert-ai/chatkit-types';
2
3
 
3
- function _array_like_to_array$5(arr, len) {
4
+ function _array_like_to_array$6(arr, len) {
4
5
  if (len == null || len > arr.length) len = arr.length;
5
6
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
6
7
  return arr2;
7
8
  }
8
- function _array_without_holes$1(arr) {
9
- if (Array.isArray(arr)) return _array_like_to_array$5(arr);
9
+ function _array_without_holes$2(arr) {
10
+ if (Array.isArray(arr)) return _array_like_to_array$6(arr);
10
11
  }
11
- function _iterable_to_array$2(iter) {
12
+ function _iterable_to_array$3(iter) {
12
13
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
13
14
  }
14
- function _non_iterable_spread$1() {
15
+ function _non_iterable_spread$2() {
15
16
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
16
17
  }
17
- function _to_consumable_array$1(arr) {
18
- return _array_without_holes$1(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$5(arr) || _non_iterable_spread$1();
18
+ function _to_consumable_array$2(arr) {
19
+ return _array_without_holes$2(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$6(arr) || _non_iterable_spread$2();
19
20
  }
20
- function _unsupported_iterable_to_array$5(o, minLen) {
21
+ function _unsupported_iterable_to_array$6(o, minLen) {
21
22
  if (!o) return;
22
- if (typeof o === "string") return _array_like_to_array$5(o, minLen);
23
+ if (typeof o === "string") return _array_like_to_array$6(o, minLen);
23
24
  var n = Object.prototype.toString.call(o).slice(8, -1);
24
25
  if (n === "Object" && o.constructor) n = o.constructor.name;
25
26
  if (n === "Map" || n === "Set") return Array.from(n);
26
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
27
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
27
28
  }
28
29
  var _uuidGenerator;
29
30
  var uuidGenerator = new ShortUniqueId({
@@ -33,7 +34,7 @@ var uuid = function() {
33
34
  for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
34
35
  args[_key] = arguments[_key];
35
36
  }
36
- return (_uuidGenerator = uuidGenerator).randomUUID.apply(_uuidGenerator, _to_consumable_array$1(args));
37
+ return (_uuidGenerator = uuidGenerator).randomUUID.apply(_uuidGenerator, _to_consumable_array$2(args));
37
38
  };
38
39
  var ParameterTypeEnum;
39
40
  (function(ParameterTypeEnum) {
@@ -1471,32 +1472,6 @@ var ChatGatewayEvent;
1471
1472
  ChatGatewayEvent["Agent"] = "agent";
1472
1473
  })(ChatGatewayEvent || (ChatGatewayEvent = {}));
1473
1474
 
1474
- var ChatMessageStepCategory;
1475
- (function(ChatMessageStepCategory) {
1476
- /**
1477
- * List of items: urls, files, etc.
1478
- */ ChatMessageStepCategory["List"] = "list";
1479
- /**
1480
- * Websearch results
1481
- */ ChatMessageStepCategory["WebSearch"] = "web_search";
1482
- /**
1483
- * Files list
1484
- */ ChatMessageStepCategory["Files"] = "files";
1485
- /**
1486
- * View a file
1487
- */ ChatMessageStepCategory["File"] = "file";
1488
- /**
1489
- * Program Execution
1490
- */ ChatMessageStepCategory["Program"] = "program";
1491
- /**
1492
- * Iframe
1493
- */ ChatMessageStepCategory["Iframe"] = "iframe";
1494
- ChatMessageStepCategory["Memory"] = "memory";
1495
- ChatMessageStepCategory["Tasks"] = "tasks";
1496
- /**
1497
- * Knowledges (knowledge base retriever results)
1498
- */ ChatMessageStepCategory["Knowledges"] = "knowledges";
1499
- })(ChatMessageStepCategory || (ChatMessageStepCategory = {}));
1500
1475
  // Type guards
1501
1476
  /**
1502
1477
  * @deprecated use content in message
@@ -1513,6 +1488,8 @@ var ChatMessageFeedbackRatingEnum;
1513
1488
  var MEMORY_QA_PROMPT = "Summarize the experience of the above conversation and output a short question and answer.";
1514
1489
  var MEMORY_PROFILE_PROMPT = "Extract new user profile information from the above conversation in one short sentence. If no new information is available, return nothing.";
1515
1490
 
1491
+ var USAGE_HOUR_FORMAT = "yyyy-MM-dd HH";
1492
+
1516
1493
  var AiProviderRole;
1517
1494
  (function(AiProviderRole) {
1518
1495
  AiProviderRole["Primary"] = "primary";
@@ -1580,6 +1557,8 @@ var KDocumentWebTypeOptions = [
1580
1557
 
1581
1558
  var WorkflowNodeTypeEnum;
1582
1559
  (function(WorkflowNodeTypeEnum) {
1560
+ WorkflowNodeTypeEnum["START"] = "start";
1561
+ WorkflowNodeTypeEnum["END"] = "end";
1583
1562
  /**
1584
1563
  * Trigger
1585
1564
  */ WorkflowNodeTypeEnum["TRIGGER"] = "trigger";
@@ -1591,7 +1570,10 @@ var WorkflowNodeTypeEnum;
1591
1570
  */ WorkflowNodeTypeEnum["IF_ELSE"] = "if-else";
1592
1571
  WorkflowNodeTypeEnum["LIST_OPERATOR"] = "list-operator";
1593
1572
  WorkflowNodeTypeEnum["VARIABLE_AGGREGATOR"] = "variable-aggregator";
1594
- WorkflowNodeTypeEnum["ITERATING"] = "iterating";
1573
+ /**
1574
+ * @deprecated use ITERATOR instead
1575
+ */ WorkflowNodeTypeEnum["ITERATING"] = "iterating";
1576
+ WorkflowNodeTypeEnum["ITERATOR"] = "iterator";
1595
1577
  WorkflowNodeTypeEnum["HTTP"] = "http";
1596
1578
  WorkflowNodeTypeEnum["SUBFLOW"] = "subflow";
1597
1579
  WorkflowNodeTypeEnum["TOOL"] = "tool";
@@ -1648,9 +1630,15 @@ var VariableOperationEnum;
1648
1630
  VariableOperationEnum["CLEAR"] = "clear";
1649
1631
  })(VariableOperationEnum || (VariableOperationEnum = {}));
1650
1632
  /**
1651
- * The parameter name that represents the entire current element in array
1633
+ * @deprecated use `IteratorItemParameterName` instead
1652
1634
  */ var IteratingItemParameterName = "$item";
1653
- var IteratingIndexParameterName = "$index";
1635
+ /**
1636
+ * @deprecated use `IteratorIndexParameterName` instead
1637
+ */ var IteratingIndexParameterName = "$index";
1638
+ /**
1639
+ * The parameter name that represents the entire current element in array
1640
+ */ var IteratorItemParameterName = "$item";
1641
+ var IteratorIndexParameterName = "$index";
1654
1642
  var WorkflowLogicalOperator;
1655
1643
  (function(WorkflowLogicalOperator) {
1656
1644
  WorkflowLogicalOperator["AND"] = "and";
@@ -1690,17 +1678,25 @@ function genJSONStringifyKey() {
1690
1678
  function genJSONParseKey() {
1691
1679
  return letterStartSUID("JSONParse_");
1692
1680
  }
1681
+ function genXpertIteratorKey() {
1682
+ return letterStartSUID("Iterator_");
1683
+ }
1684
+ function genXpertStartKey(key) {
1685
+ return key + "_start";
1686
+ }
1693
1687
  function isAgentKey(key) {
1694
1688
  return key === null || key === void 0 ? void 0 : key.toLowerCase().startsWith("agent_");
1695
1689
  }
1696
1690
  function isRouterKey(key) {
1697
1691
  return key === null || key === void 0 ? void 0 : key.toLowerCase().startsWith("router_");
1698
1692
  }
1699
- function isIteratingKey(key) {
1693
+ /**
1694
+ * @deprecated use `isIteratorKey` instead
1695
+ */ function isIteratingKey(key) {
1700
1696
  return key === null || key === void 0 ? void 0 : key.toLowerCase().startsWith("iterating_");
1701
1697
  }
1702
- function isWorkflowKey(key) {
1703
- return isRouterKey(key) || isIteratingKey(key);
1698
+ function isIteratorKey(key) {
1699
+ return key === null || key === void 0 ? void 0 : key.toLowerCase().startsWith("iterator_");
1704
1700
  }
1705
1701
  function workflowNodeIdentifier(node) {
1706
1702
  return node.title || node.key;
@@ -1744,33 +1740,12 @@ var XpertParameterTypeEnum;
1744
1740
  XpertParameterTypeEnum["BOOLEAN"] = "boolean";
1745
1741
  XpertParameterTypeEnum["SECRET"] = "secret";
1746
1742
  })(XpertParameterTypeEnum || (XpertParameterTypeEnum = {}));
1747
- var ChatMessageTypeEnum;
1748
- (function(ChatMessageTypeEnum) {
1749
- // LOG = 'log',
1750
- ChatMessageTypeEnum["MESSAGE"] = "message";
1751
- ChatMessageTypeEnum["EVENT"] = "event";
1752
- })(ChatMessageTypeEnum || (ChatMessageTypeEnum = {}));
1753
- var ChatMessageEventTypeEnum;
1754
- (function(ChatMessageEventTypeEnum) {
1755
- ChatMessageEventTypeEnum["ON_CONVERSATION_START"] = "on_conversation_start";
1756
- ChatMessageEventTypeEnum["ON_CONVERSATION_END"] = "on_conversation_end";
1757
- ChatMessageEventTypeEnum["ON_MESSAGE_START"] = "on_message_start";
1758
- ChatMessageEventTypeEnum["ON_MESSAGE_END"] = "on_message_end";
1759
- ChatMessageEventTypeEnum["ON_TOOL_START"] = "on_tool_start";
1760
- ChatMessageEventTypeEnum["ON_TOOL_END"] = "on_tool_end";
1761
- ChatMessageEventTypeEnum["ON_TOOL_ERROR"] = "on_tool_error";
1762
- /**
1763
- * Step message in tool call
1764
- */ ChatMessageEventTypeEnum["ON_TOOL_MESSAGE"] = "on_tool_message";
1765
- ChatMessageEventTypeEnum["ON_AGENT_START"] = "on_agent_start";
1766
- ChatMessageEventTypeEnum["ON_AGENT_END"] = "on_agent_end";
1767
- ChatMessageEventTypeEnum["ON_RETRIEVER_START"] = "on_retriever_start";
1768
- ChatMessageEventTypeEnum["ON_RETRIEVER_END"] = "on_retriever_end";
1769
- ChatMessageEventTypeEnum["ON_RETRIEVER_ERROR"] = "on_retriever_error";
1770
- ChatMessageEventTypeEnum["ON_INTERRUPT"] = "on_interrupt";
1771
- ChatMessageEventTypeEnum["ON_ERROR"] = "on_error";
1772
- ChatMessageEventTypeEnum["ON_CHAT_EVENT"] = "on_chat_event";
1773
- })(ChatMessageEventTypeEnum || (ChatMessageEventTypeEnum = {}));
1743
+ // Helper guards
1744
+ function isXpertNodeType(type) {
1745
+ return function(node) {
1746
+ return node.type === type;
1747
+ };
1748
+ }
1774
1749
 
1775
1750
  function agentLabel(agent) {
1776
1751
  return agent.title || agent.name || agent.key;
@@ -1814,15 +1789,15 @@ var VariableOperations = [
1814
1789
  }
1815
1790
  ];
1816
1791
 
1817
- function _array_like_to_array$4(arr, len) {
1792
+ function _array_like_to_array$5(arr, len) {
1818
1793
  if (len == null || len > arr.length) len = arr.length;
1819
1794
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
1820
1795
  return arr2;
1821
1796
  }
1822
- function _array_with_holes$3(arr) {
1797
+ function _array_with_holes$4(arr) {
1823
1798
  if (Array.isArray(arr)) return arr;
1824
1799
  }
1825
- function _define_property$3(obj, key, value) {
1800
+ function _define_property$4(obj, key, value) {
1826
1801
  if (key in obj) {
1827
1802
  Object.defineProperty(obj, key, {
1828
1803
  value: value,
@@ -1835,7 +1810,7 @@ function _define_property$3(obj, key, value) {
1835
1810
  }
1836
1811
  return obj;
1837
1812
  }
1838
- function _iterable_to_array_limit$2(arr, i) {
1813
+ function _iterable_to_array_limit$3(arr, i) {
1839
1814
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
1840
1815
  if (_i == null) return;
1841
1816
  var _arr = [];
@@ -1859,10 +1834,10 @@ function _iterable_to_array_limit$2(arr, i) {
1859
1834
  }
1860
1835
  return _arr;
1861
1836
  }
1862
- function _non_iterable_rest$3() {
1837
+ function _non_iterable_rest$4() {
1863
1838
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1864
1839
  }
1865
- function _object_spread$2(target) {
1840
+ function _object_spread$3(target) {
1866
1841
  for(var i = 1; i < arguments.length; i++){
1867
1842
  var source = arguments[i] != null ? arguments[i] : {};
1868
1843
  var ownKeys = Object.keys(source);
@@ -1872,12 +1847,12 @@ function _object_spread$2(target) {
1872
1847
  }));
1873
1848
  }
1874
1849
  ownKeys.forEach(function(key) {
1875
- _define_property$3(target, key, source[key]);
1850
+ _define_property$4(target, key, source[key]);
1876
1851
  });
1877
1852
  }
1878
1853
  return target;
1879
1854
  }
1880
- function ownKeys$1(object, enumerableOnly) {
1855
+ function ownKeys$2(object, enumerableOnly) {
1881
1856
  var keys = Object.keys(object);
1882
1857
  if (Object.getOwnPropertySymbols) {
1883
1858
  var symbols = Object.getOwnPropertySymbols(object);
@@ -1885,40 +1860,43 @@ function ownKeys$1(object, enumerableOnly) {
1885
1860
  }
1886
1861
  return keys;
1887
1862
  }
1888
- function _object_spread_props$1(target, source) {
1863
+ function _object_spread_props$2(target, source) {
1889
1864
  source = source != null ? source : {};
1890
1865
  if (Object.getOwnPropertyDescriptors) {
1891
1866
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1892
1867
  } else {
1893
- ownKeys$1(Object(source)).forEach(function(key) {
1868
+ ownKeys$2(Object(source)).forEach(function(key) {
1894
1869
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1895
1870
  });
1896
1871
  }
1897
1872
  return target;
1898
1873
  }
1899
- function _sliced_to_array$2(arr, i) {
1900
- return _array_with_holes$3(arr) || _iterable_to_array_limit$2(arr, i) || _unsupported_iterable_to_array$4(arr, i) || _non_iterable_rest$3();
1874
+ function _sliced_to_array$3(arr, i) {
1875
+ return _array_with_holes$4(arr) || _iterable_to_array_limit$3(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$4();
1901
1876
  }
1902
- function _unsupported_iterable_to_array$4(o, minLen) {
1877
+ function _unsupported_iterable_to_array$5(o, minLen) {
1903
1878
  if (!o) return;
1904
- if (typeof o === "string") return _array_like_to_array$4(o, minLen);
1879
+ if (typeof o === "string") return _array_like_to_array$5(o, minLen);
1905
1880
  var n = Object.prototype.toString.call(o).slice(8, -1);
1906
1881
  if (n === "Object" && o.constructor) n = o.constructor.name;
1907
1882
  if (n === "Map" || n === "Set") return Array.from(n);
1908
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$4(o, minLen);
1883
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
1909
1884
  }
1910
1885
  /**
1911
1886
  * @deprecated can use getCurrentTaskInput instead?
1912
1887
  */ var CONTEXT_VARIABLE_CURRENTSTATE = "currentState";
1913
1888
  var STATE_VARIABLE_SYS = "sys";
1914
- var STATE_VARIABLE_HUMAN = "human";
1915
1889
  var GRAPH_NODE_SUMMARIZE_CONVERSATION = "summarize_conversation";
1916
1890
  var GRAPH_NODE_TITLE_CONVERSATION = "title_conversation";
1917
1891
  var STATE_VARIABLE_FILES = "files";
1918
1892
  var STATE_VARIABLE_INPUT = "input";
1919
1893
  var STATE_SYS_VOLUME = "volume";
1920
- var STATE_SYS_WORKSPACE_PATH = "workspace_path";
1921
- var STATE_SYS_WORKSPACE_URL = "workspace_url";
1894
+ /**
1895
+ * Workspace path in sandbox environment
1896
+ */ var STATE_SYS_WORKSPACE_PATH = "workspace_path";
1897
+ /**
1898
+ * URL for workspace files in sandbox environment
1899
+ */ var STATE_SYS_WORKSPACE_URL = "workspace_url";
1922
1900
  var STATE_VARIABLE_TITLE_CHANNEL = channelName("title");
1923
1901
  // Helpers
1924
1902
  function channelName(name) {
@@ -1927,7 +1905,12 @@ function channelName(name) {
1927
1905
  function messageContentText(content) {
1928
1906
  return typeof content === "string" ? content : content.type === "text" ? content.text : "";
1929
1907
  }
1930
- function getWorkspaceFromRunnable(configurable) {
1908
+ /**
1909
+ * Get workspace folder for sandbox from runnable configurable
1910
+ *
1911
+ * @param configurable
1912
+ * @returns
1913
+ */ function getWorkspaceFromRunnable(configurable) {
1931
1914
  return (configurable === null || configurable === void 0 ? void 0 : configurable.projectId) ? {
1932
1915
  type: "project",
1933
1916
  id: ""
@@ -1971,10 +1954,10 @@ function configurableStoreNamespace(configurable) {
1971
1954
  * @param value
1972
1955
  * @returns
1973
1956
  */ function setStateVariable(state, varName, value) {
1974
- var _varName_split = _sliced_to_array$2(varName.split("."), 2), agentChannelName = _varName_split[0], variableName = _varName_split[1];
1957
+ var _varName_split = _sliced_to_array$3(varName.split("."), 2), agentChannelName = _varName_split[0], variableName = _varName_split[1];
1975
1958
  if (variableName) {
1976
1959
  var _state_agentChannelName;
1977
- state[agentChannelName] = _object_spread_props$1(_object_spread$2({}, (_state_agentChannelName = state[agentChannelName]) !== null && _state_agentChannelName !== void 0 ? _state_agentChannelName : {}), _define_property$3({}, variableName, value));
1960
+ state[agentChannelName] = _object_spread_props$2(_object_spread$3({}, (_state_agentChannelName = state[agentChannelName]) !== null && _state_agentChannelName !== void 0 ? _state_agentChannelName : {}), _define_property$4({}, variableName, value));
1978
1961
  } else {
1979
1962
  state[agentChannelName] = value;
1980
1963
  }
@@ -2141,7 +2124,7 @@ function genPipelineKnowledgeBaseKey() {
2141
2124
  return letterStartSUID("KnowledgeBase_");
2142
2125
  }
2143
2126
 
2144
- function _define_property$2(obj, key, value) {
2127
+ function _define_property$3(obj, key, value) {
2145
2128
  if (key in obj) {
2146
2129
  Object.defineProperty(obj, key, {
2147
2130
  value: value,
@@ -2154,7 +2137,7 @@ function _define_property$2(obj, key, value) {
2154
2137
  }
2155
2138
  return obj;
2156
2139
  }
2157
- function _object_spread$1(target) {
2140
+ function _object_spread$2(target) {
2158
2141
  for(var i = 1; i < arguments.length; i++){
2159
2142
  var source = arguments[i] != null ? arguments[i] : {};
2160
2143
  var ownKeys = Object.keys(source);
@@ -2164,7 +2147,7 @@ function _object_spread$1(target) {
2164
2147
  }));
2165
2148
  }
2166
2149
  ownKeys.forEach(function(key) {
2167
- _define_property$2(target, key, source[key]);
2150
+ _define_property$3(target, key, source[key]);
2168
2151
  });
2169
2152
  }
2170
2153
  return target;
@@ -2179,7 +2162,7 @@ var DocumentTypeEnum;
2179
2162
  * @deprecated use DocumentSourceProviderCategoryEnum local file type instead
2180
2163
  */ DocumentTypeEnum["FILE"] = "file";
2181
2164
  })(DocumentTypeEnum || (DocumentTypeEnum = {}));
2182
- var KDocumentSourceType = _object_spread$1({}, DocumentSourceProviderCategoryEnum, DocumentTypeEnum);
2165
+ var KDocumentSourceType = _object_spread$2({}, DocumentSourceProviderCategoryEnum, DocumentTypeEnum);
2183
2166
  var KBDocumentCategoryEnum;
2184
2167
  (function(KBDocumentCategoryEnum) {
2185
2168
  KBDocumentCategoryEnum["Text"] = "text";
@@ -2466,23 +2449,23 @@ function genXpertDBSqlKey() {
2466
2449
  return letterStartSUID("DBSql_");
2467
2450
  }
2468
2451
 
2469
- function _array_like_to_array$3(arr, len) {
2452
+ function _array_like_to_array$4(arr, len) {
2470
2453
  if (len == null || len > arr.length) len = arr.length;
2471
2454
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
2472
2455
  return arr2;
2473
2456
  }
2474
- function _array_without_holes(arr) {
2475
- if (Array.isArray(arr)) return _array_like_to_array$3(arr);
2457
+ function _array_without_holes$1(arr) {
2458
+ if (Array.isArray(arr)) return _array_like_to_array$4(arr);
2476
2459
  }
2477
- function _iterable_to_array$1(iter) {
2460
+ function _iterable_to_array$2(iter) {
2478
2461
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
2479
2462
  }
2480
- function _non_iterable_spread() {
2463
+ function _non_iterable_spread$1() {
2481
2464
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
2482
2465
  }
2483
- function _object_without_properties(source, excluded) {
2466
+ function _object_without_properties$1(source, excluded) {
2484
2467
  if (source == null) return {};
2485
- var target = _object_without_properties_loose(source, excluded);
2468
+ var target = _object_without_properties_loose$1(source, excluded);
2486
2469
  var key, i;
2487
2470
  if (Object.getOwnPropertySymbols) {
2488
2471
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
@@ -2495,7 +2478,7 @@ function _object_without_properties(source, excluded) {
2495
2478
  }
2496
2479
  return target;
2497
2480
  }
2498
- function _object_without_properties_loose(source, excluded) {
2481
+ function _object_without_properties_loose$1(source, excluded) {
2499
2482
  if (source == null) return {};
2500
2483
  var target = {};
2501
2484
  var sourceKeys = Object.keys(source);
@@ -2507,21 +2490,21 @@ function _object_without_properties_loose(source, excluded) {
2507
2490
  }
2508
2491
  return target;
2509
2492
  }
2510
- function _to_consumable_array(arr) {
2511
- return _array_without_holes(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$3(arr) || _non_iterable_spread();
2493
+ function _to_consumable_array$1(arr) {
2494
+ return _array_without_holes$1(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$4(arr) || _non_iterable_spread$1();
2512
2495
  }
2513
- function _unsupported_iterable_to_array$3(o, minLen) {
2496
+ function _unsupported_iterable_to_array$4(o, minLen) {
2514
2497
  if (!o) return;
2515
- if (typeof o === "string") return _array_like_to_array$3(o, minLen);
2498
+ if (typeof o === "string") return _array_like_to_array$4(o, minLen);
2516
2499
  var n = Object.prototype.toString.call(o).slice(8, -1);
2517
2500
  if (n === "Object" && o.constructor) n = o.constructor.name;
2518
2501
  if (n === "Map" || n === "Set") return Array.from(n);
2519
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$3(o, minLen);
2502
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$4(o, minLen);
2520
2503
  }
2521
2504
  // Helpers
2522
2505
  function omitXpertRelations(xpert) {
2523
2506
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2524
- var _ref = xpert !== null && xpert !== void 0 ? xpert : {}; _ref.draft; _ref.agent; _ref.agents; _ref.executors; _ref.leaders; _ref.knowledgebases; _ref.knowledgebase; _ref.environment; _ref.integrations; _ref.toolsets; _ref.managers; var rest = _object_without_properties(_ref, [
2507
+ var _ref = xpert !== null && xpert !== void 0 ? xpert : {}; _ref.draft; _ref.agent; _ref.agents; _ref.executors; _ref.leaders; _ref.knowledgebases; _ref.knowledgebase; _ref.environment; _ref.integrations; _ref.toolsets; _ref.managers; var rest = _object_without_properties$1(_ref, [
2525
2508
  "draft",
2526
2509
  "agent",
2527
2510
  "agents",
@@ -2536,7 +2519,13 @@ function omitXpertRelations(xpert) {
2536
2519
  ]);
2537
2520
  return rest;
2538
2521
  }
2539
- function figureOutXpert(xpert, isDraft) {
2522
+ /**
2523
+ * Figure out latest xpert or draft xpert.
2524
+ *
2525
+ * @param xpert
2526
+ * @param isDraft Is draft
2527
+ * @returns
2528
+ */ function figureOutXpert(xpert, isDraft) {
2540
2529
  var _xpert_draft;
2541
2530
  var _ref;
2542
2531
  return (_ref = isDraft ? (_xpert_draft = xpert.draft) === null || _xpert_draft === void 0 ? void 0 : _xpert_draft.team : xpert) !== null && _ref !== void 0 ? _ref : xpert;
@@ -2579,12 +2568,12 @@ function locateNodes(nodes, position) {
2579
2568
  }) // Node height min 70
2580
2569
  ;
2581
2570
  var xRange = {
2582
- min: (_Math = Math).min.apply(_Math, _to_consumable_array(x0Positions)),
2583
- max: (_Math1 = Math).max.apply(_Math1, _to_consumable_array(x1Positions))
2571
+ min: (_Math = Math).min.apply(_Math, _to_consumable_array$1(x0Positions)),
2572
+ max: (_Math1 = Math).max.apply(_Math1, _to_consumable_array$1(x1Positions))
2584
2573
  };
2585
2574
  var yRange = {
2586
- min: (_Math2 = Math).min.apply(_Math2, _to_consumable_array(y0Positions)),
2587
- max: (_Math3 = Math).max.apply(_Math3, _to_consumable_array(y1Positions))
2575
+ min: (_Math2 = Math).min.apply(_Math2, _to_consumable_array$1(y0Positions)),
2576
+ max: (_Math3 = Math).max.apply(_Math3, _to_consumable_array$1(y1Positions))
2588
2577
  };
2589
2578
  var size = {
2590
2579
  width: xRange.max - xRange.min + 50,
@@ -2621,9 +2610,9 @@ function locateNodes(nodes, position) {
2621
2610
  }
2622
2611
  if ((_xpert_agents = xpert.agents) === null || _xpert_agents === void 0 ? void 0 : _xpert_agents.length) {
2623
2612
  var _agents;
2624
- (_agents = agents).push.apply(_agents, _to_consumable_array(xpert.agents));
2613
+ (_agents = agents).push.apply(_agents, _to_consumable_array$1(xpert.agents));
2625
2614
  }
2626
- (_nodes = nodes).push.apply(_nodes, _to_consumable_array(agents.map(function(_) {
2615
+ (_nodes = nodes).push.apply(_nodes, _to_consumable_array$1(agents.map(function(_) {
2627
2616
  var _xpert_options_agent___key, _xpert_options_agent, _xpert_options, _xpert_options_agent___key1, _xpert_options_agent1, _xpert_options1;
2628
2617
  var _xpert_options_agent___key_position;
2629
2618
  return {
@@ -2655,7 +2644,7 @@ function locateNodes(nodes, position) {
2655
2644
  });
2656
2645
  });
2657
2646
  var _xpert_knowledgebases;
2658
- (_nodes1 = nodes).push.apply(_nodes1, _to_consumable_array(((_xpert_knowledgebases = xpert.knowledgebases) !== null && _xpert_knowledgebases !== void 0 ? _xpert_knowledgebases : []).map(function(x) {
2647
+ (_nodes1 = nodes).push.apply(_nodes1, _to_consumable_array$1(((_xpert_knowledgebases = xpert.knowledgebases) !== null && _xpert_knowledgebases !== void 0 ? _xpert_knowledgebases : []).map(function(x) {
2659
2648
  var _xpert_options_knowledge_x_id, _xpert_options_knowledge, _xpert_options, _xpert_options_knowledge_x_id1, _xpert_options_knowledge1, _xpert_options1;
2660
2649
  var _xpert_options_knowledge_x_id_position;
2661
2650
  return {
@@ -2670,7 +2659,7 @@ function locateNodes(nodes, position) {
2670
2659
  };
2671
2660
  })));
2672
2661
  var _xpert_toolsets;
2673
- (_nodes2 = nodes).push.apply(_nodes2, _to_consumable_array(((_xpert_toolsets = xpert.toolsets) !== null && _xpert_toolsets !== void 0 ? _xpert_toolsets : []).map(function(x) {
2662
+ (_nodes2 = nodes).push.apply(_nodes2, _to_consumable_array$1(((_xpert_toolsets = xpert.toolsets) !== null && _xpert_toolsets !== void 0 ? _xpert_toolsets : []).map(function(x) {
2674
2663
  var _xpert_options_toolset_x_id, _xpert_options_toolset, _xpert_options, _xpert_options_toolset_x_id1, _xpert_options_toolset1, _xpert_options1;
2675
2664
  var _xpert_options_toolset_x_id_position;
2676
2665
  return {
@@ -2707,12 +2696,12 @@ function locateNodes(nodes, position) {
2707
2696
  }) // Node height min 70
2708
2697
  ;
2709
2698
  var xRange = {
2710
- min: (_Math = Math).min.apply(_Math, _to_consumable_array(x0Positions)),
2711
- max: (_Math1 = Math).max.apply(_Math1, _to_consumable_array(x1Positions))
2699
+ min: (_Math = Math).min.apply(_Math, _to_consumable_array$1(x0Positions)),
2700
+ max: (_Math1 = Math).max.apply(_Math1, _to_consumable_array$1(x1Positions))
2712
2701
  };
2713
2702
  var yRange = {
2714
- min: (_Math2 = Math).min.apply(_Math2, _to_consumable_array(y0Positions)),
2715
- max: (_Math3 = Math).max.apply(_Math3, _to_consumable_array(y1Positions))
2703
+ min: (_Math2 = Math).min.apply(_Math2, _to_consumable_array$1(y0Positions)),
2704
+ max: (_Math3 = Math).max.apply(_Math3, _to_consumable_array$1(y1Positions))
2716
2705
  };
2717
2706
  var size = {
2718
2707
  width: xRange.max - xRange.min + 50,
@@ -2850,9 +2839,10 @@ var MCPServerType;
2850
2839
  MCPServerType["SSE"] = "sse";
2851
2840
  MCPServerType["STDIO"] = "stdio";
2852
2841
  MCPServerType["CODE"] = "code";
2842
+ MCPServerType["HTTP"] = "http";
2853
2843
  })(MCPServerType || (MCPServerType = {}));
2854
2844
 
2855
- function _define_property$1(obj, key, value) {
2845
+ function _define_property$2(obj, key, value) {
2856
2846
  if (key in obj) {
2857
2847
  Object.defineProperty(obj, key, {
2858
2848
  value: value,
@@ -2865,7 +2855,7 @@ function _define_property$1(obj, key, value) {
2865
2855
  }
2866
2856
  return obj;
2867
2857
  }
2868
- function _object_spread(target) {
2858
+ function _object_spread$1(target) {
2869
2859
  for(var i = 1; i < arguments.length; i++){
2870
2860
  var source = arguments[i] != null ? arguments[i] : {};
2871
2861
  var ownKeys = Object.keys(source);
@@ -2875,12 +2865,12 @@ function _object_spread(target) {
2875
2865
  }));
2876
2866
  }
2877
2867
  ownKeys.forEach(function(key) {
2878
- _define_property$1(target, key, source[key]);
2868
+ _define_property$2(target, key, source[key]);
2879
2869
  });
2880
2870
  }
2881
2871
  return target;
2882
2872
  }
2883
- function ownKeys(object, enumerableOnly) {
2873
+ function ownKeys$1(object, enumerableOnly) {
2884
2874
  var keys = Object.keys(object);
2885
2875
  if (Object.getOwnPropertySymbols) {
2886
2876
  var symbols = Object.getOwnPropertySymbols(object);
@@ -2888,12 +2878,12 @@ function ownKeys(object, enumerableOnly) {
2888
2878
  }
2889
2879
  return keys;
2890
2880
  }
2891
- function _object_spread_props(target, source) {
2881
+ function _object_spread_props$1(target, source) {
2892
2882
  source = source != null ? source : {};
2893
2883
  if (Object.getOwnPropertyDescriptors) {
2894
2884
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
2895
2885
  } else {
2896
- ownKeys(Object(source)).forEach(function(key) {
2886
+ ownKeys$1(Object(source)).forEach(function(key) {
2897
2887
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
2898
2888
  });
2899
2889
  }
@@ -2916,8 +2906,8 @@ function _object_spread_props(target, source) {
2916
2906
  var doc = _step.value;
2917
2907
  var _doc_metadata;
2918
2908
  if ((_doc_metadata = doc.metadata) === null || _doc_metadata === void 0 ? void 0 : _doc_metadata.chunkId) {
2919
- map.set(doc.metadata.chunkId, _object_spread_props(_object_spread({}, doc), {
2920
- metadata: _object_spread_props(_object_spread({}, doc.metadata), {
2909
+ map.set(doc.metadata.chunkId, _object_spread_props$1(_object_spread$1({}, doc), {
2910
+ metadata: _object_spread_props$1(_object_spread$1({}, doc.metadata), {
2921
2911
  children: []
2922
2912
  })
2923
2913
  }));
@@ -3030,6 +3020,12 @@ function genXpertSkillKey() {
3030
3020
  return letterStartSUID("Skill_");
3031
3021
  }
3032
3022
 
3023
+ function isMiddlewareToolEnabled(config) {
3024
+ if (typeof config === "boolean") {
3025
+ return config;
3026
+ }
3027
+ return (config === null || config === void 0 ? void 0 : config.enabled) !== false;
3028
+ }
3033
3029
  function genXpertMiddlewareKey() {
3034
3030
  return letterStartSUID("Middleware_");
3035
3031
  }
@@ -3054,6 +3050,444 @@ function getAgentMiddlewareNodes(graph, agentKey) {
3054
3050
  return middlewares;
3055
3051
  }
3056
3052
 
3053
+ function _array_like_to_array$3(arr, len) {
3054
+ if (len == null || len > arr.length) len = arr.length;
3055
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
3056
+ return arr2;
3057
+ }
3058
+ function _array_with_holes$3(arr) {
3059
+ if (Array.isArray(arr)) return arr;
3060
+ }
3061
+ function _array_without_holes(arr) {
3062
+ if (Array.isArray(arr)) return _array_like_to_array$3(arr);
3063
+ }
3064
+ function _define_property$1(obj, key, value) {
3065
+ if (key in obj) {
3066
+ Object.defineProperty(obj, key, {
3067
+ value: value,
3068
+ enumerable: true,
3069
+ configurable: true,
3070
+ writable: true
3071
+ });
3072
+ } else {
3073
+ obj[key] = value;
3074
+ }
3075
+ return obj;
3076
+ }
3077
+ function _iterable_to_array$1(iter) {
3078
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
3079
+ }
3080
+ function _iterable_to_array_limit$2(arr, i) {
3081
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
3082
+ if (_i == null) return;
3083
+ var _arr = [];
3084
+ var _n = true;
3085
+ var _d = false;
3086
+ var _s, _e;
3087
+ try {
3088
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
3089
+ _arr.push(_s.value);
3090
+ if (i && _arr.length === i) break;
3091
+ }
3092
+ } catch (err) {
3093
+ _d = true;
3094
+ _e = err;
3095
+ } finally{
3096
+ try {
3097
+ if (!_n && _i["return"] != null) _i["return"]();
3098
+ } finally{
3099
+ if (_d) throw _e;
3100
+ }
3101
+ }
3102
+ return _arr;
3103
+ }
3104
+ function _non_iterable_rest$3() {
3105
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3106
+ }
3107
+ function _non_iterable_spread() {
3108
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
3109
+ }
3110
+ function _object_spread(target) {
3111
+ for(var i = 1; i < arguments.length; i++){
3112
+ var source = arguments[i] != null ? arguments[i] : {};
3113
+ var ownKeys = Object.keys(source);
3114
+ if (typeof Object.getOwnPropertySymbols === "function") {
3115
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
3116
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
3117
+ }));
3118
+ }
3119
+ ownKeys.forEach(function(key) {
3120
+ _define_property$1(target, key, source[key]);
3121
+ });
3122
+ }
3123
+ return target;
3124
+ }
3125
+ function ownKeys(object, enumerableOnly) {
3126
+ var keys = Object.keys(object);
3127
+ if (Object.getOwnPropertySymbols) {
3128
+ var symbols = Object.getOwnPropertySymbols(object);
3129
+ keys.push.apply(keys, symbols);
3130
+ }
3131
+ return keys;
3132
+ }
3133
+ function _object_spread_props(target, source) {
3134
+ source = source != null ? source : {};
3135
+ if (Object.getOwnPropertyDescriptors) {
3136
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
3137
+ } else {
3138
+ ownKeys(Object(source)).forEach(function(key) {
3139
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
3140
+ });
3141
+ }
3142
+ return target;
3143
+ }
3144
+ function _object_without_properties(source, excluded) {
3145
+ if (source == null) return {};
3146
+ var target = _object_without_properties_loose(source, excluded);
3147
+ var key, i;
3148
+ if (Object.getOwnPropertySymbols) {
3149
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
3150
+ for(i = 0; i < sourceSymbolKeys.length; i++){
3151
+ key = sourceSymbolKeys[i];
3152
+ if (excluded.indexOf(key) >= 0) continue;
3153
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
3154
+ target[key] = source[key];
3155
+ }
3156
+ }
3157
+ return target;
3158
+ }
3159
+ function _object_without_properties_loose(source, excluded) {
3160
+ if (source == null) return {};
3161
+ var target = {};
3162
+ var sourceKeys = Object.keys(source);
3163
+ var key, i;
3164
+ for(i = 0; i < sourceKeys.length; i++){
3165
+ key = sourceKeys[i];
3166
+ if (excluded.indexOf(key) >= 0) continue;
3167
+ target[key] = source[key];
3168
+ }
3169
+ return target;
3170
+ }
3171
+ function _sliced_to_array$2(arr, i) {
3172
+ return _array_with_holes$3(arr) || _iterable_to_array_limit$2(arr, i) || _unsupported_iterable_to_array$3(arr, i) || _non_iterable_rest$3();
3173
+ }
3174
+ function _to_consumable_array(arr) {
3175
+ return _array_without_holes(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$3(arr) || _non_iterable_spread();
3176
+ }
3177
+ function _unsupported_iterable_to_array$3(o, minLen) {
3178
+ if (!o) return;
3179
+ if (typeof o === "string") return _array_like_to_array$3(o, minLen);
3180
+ var n = Object.prototype.toString.call(o).slice(8, -1);
3181
+ if (n === "Object" && o.constructor) n = o.constructor.name;
3182
+ if (n === "Map" || n === "Set") return Array.from(n);
3183
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$3(o, minLen);
3184
+ }
3185
+ function isNil(value) {
3186
+ return value === null || value === undefined;
3187
+ }
3188
+ function isTextContent(content) {
3189
+ return !!content && typeof content === "object" && content.type === "text";
3190
+ }
3191
+ function isReasoningContent(content) {
3192
+ return !!content && typeof content === "object" && content.type === "reasoning";
3193
+ }
3194
+ function isComponentContent(content) {
3195
+ return !!content && typeof content === "object" && content.type === "component";
3196
+ }
3197
+ function inferContentSource(content) {
3198
+ if (typeof content === "string") {
3199
+ return "text";
3200
+ }
3201
+ switch(content === null || content === void 0 ? void 0 : content.type){
3202
+ case "text":
3203
+ return "text";
3204
+ case "reasoning":
3205
+ return "reasoning";
3206
+ case "component":
3207
+ return "component";
3208
+ case "memory":
3209
+ return "memory";
3210
+ default:
3211
+ return "content";
3212
+ }
3213
+ }
3214
+ function mapJoinHint(hint) {
3215
+ switch(hint){
3216
+ case "none":
3217
+ return "";
3218
+ case "space":
3219
+ return " ";
3220
+ case "line":
3221
+ return "\n";
3222
+ case "paragraph":
3223
+ return "\n\n";
3224
+ default:
3225
+ return "";
3226
+ }
3227
+ }
3228
+ function endsWithCodeFence(text) {
3229
+ var normalized = (text !== null && text !== void 0 ? text : "").replace(/[ \t]+$/g, "");
3230
+ return normalized.endsWith("```");
3231
+ }
3232
+ function shouldJoinWithoutSeparator(previous, current) {
3233
+ return !!(previous === null || previous === void 0 ? void 0 : previous.streamId) && previous.source === current.source && previous.streamId === current.streamId;
3234
+ }
3235
+ function getSeparator(previousType, previousText, nextText, joinHint) {
3236
+ if (!nextText || /^\s/.test(nextText)) {
3237
+ return "";
3238
+ }
3239
+ if (joinHint) {
3240
+ return mapJoinHint(joinHint);
3241
+ }
3242
+ if (previousType === "component") {
3243
+ return "\n\n";
3244
+ }
3245
+ if (endsWithCodeFence(previousText)) {
3246
+ return "\n";
3247
+ }
3248
+ if (previousText && !/[\s\n]$/.test(previousText)) {
3249
+ return "\n";
3250
+ }
3251
+ return "";
3252
+ }
3253
+ function normalizeIncomingContent(content, context) {
3254
+ if (typeof content !== "string") {
3255
+ return content;
3256
+ }
3257
+ return _object_spread({
3258
+ type: "text",
3259
+ text: content
3260
+ }, context.streamId ? {
3261
+ id: context.streamId
3262
+ } : {});
3263
+ }
3264
+ function ensureArrayContent(content) {
3265
+ if (Array.isArray(content)) {
3266
+ return content;
3267
+ }
3268
+ if (typeof content === "string" && content.length > 0) {
3269
+ return [
3270
+ {
3271
+ type: "text",
3272
+ text: content
3273
+ }
3274
+ ];
3275
+ }
3276
+ return [];
3277
+ }
3278
+ function stringifySingle(content) {
3279
+ if (content.type === "text") {
3280
+ return content.text;
3281
+ }
3282
+ if (content.type === "component") {
3283
+ return JSON.stringify(content.data);
3284
+ }
3285
+ return JSON.stringify(content);
3286
+ }
3287
+ function filterText(content) {
3288
+ if (typeof content === "string") {
3289
+ return content;
3290
+ }
3291
+ if ((content === null || content === void 0 ? void 0 : content.type) === "text") {
3292
+ return content.text;
3293
+ }
3294
+ return "";
3295
+ }
3296
+ function mergeComponentData(previous, incoming) {
3297
+ var _previous_data, _incoming_data;
3298
+ var _incoming_data1;
3299
+ var mergedIncomingData = Object.entries((_incoming_data1 = incoming.data) !== null && _incoming_data1 !== void 0 ? _incoming_data1 : {}).reduce(function(acc, param) {
3300
+ var _param = _sliced_to_array$2(param, 2), key = _param[0], value = _param[1];
3301
+ if (!isNil(value)) {
3302
+ acc[key] = value;
3303
+ }
3304
+ return acc;
3305
+ }, {});
3306
+ var _previous_data1;
3307
+ return _object_spread_props(_object_spread({}, previous, incoming), {
3308
+ data: _object_spread_props(_object_spread({}, (_previous_data1 = previous.data) !== null && _previous_data1 !== void 0 ? _previous_data1 : {}, mergedIncomingData), {
3309
+ created_date: ((_previous_data = previous.data) === null || _previous_data === void 0 ? void 0 : _previous_data.created_date) || ((_incoming_data = incoming.data) === null || _incoming_data === void 0 ? void 0 : _incoming_data.created_date)
3310
+ })
3311
+ });
3312
+ }
3313
+ function inferMessageAppendContext(content, fallbackSource) {
3314
+ return _object_spread({
3315
+ source: fallbackSource !== null && fallbackSource !== void 0 ? fallbackSource : inferContentSource(content)
3316
+ }, typeof content !== "string" && (content === null || content === void 0 ? void 0 : content.id) ? {
3317
+ streamId: String(content.id)
3318
+ } : {});
3319
+ }
3320
+ function resolveMessageAppendContext(options) {
3321
+ var inferredContext = inferMessageAppendContext(options.incoming, options.fallbackSource);
3322
+ var appendContext = typeof options.incoming === "string" && !inferredContext.streamId && options.fallbackStreamId ? _object_spread_props(_object_spread({}, inferredContext), {
3323
+ streamId: options.fallbackStreamId
3324
+ }) : inferredContext;
3325
+ var messageContext = shouldJoinWithoutSeparator(options.previous, appendContext) ? _object_spread_props(_object_spread({}, appendContext), {
3326
+ joinHint: "none"
3327
+ }) : appendContext;
3328
+ return {
3329
+ appendContext: appendContext,
3330
+ messageContext: messageContext
3331
+ };
3332
+ }
3333
+ /**
3334
+ * Stateful helper for streaming append.
3335
+ *
3336
+ * It keeps the previous append context and resolves the current one, so callers
3337
+ * can avoid passing `previous` manually for every chunk and still get stable
3338
+ * join behavior (for example, same source + same stream -> `joinHint: 'none'`).
3339
+ *
3340
+ * Call `reset()` at turn/session boundaries to prevent cross-turn contamination.
3341
+ */ function createMessageAppendContextTracker() {
3342
+ var initial = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
3343
+ var previous = initial;
3344
+ return {
3345
+ resolve: function resolve(options) {
3346
+ var resolved = resolveMessageAppendContext(_object_spread_props(_object_spread({}, options), {
3347
+ previous: previous
3348
+ }));
3349
+ previous = resolved.appendContext;
3350
+ return resolved;
3351
+ },
3352
+ reset: function reset() {
3353
+ previous = null;
3354
+ },
3355
+ current: function current() {
3356
+ return previous;
3357
+ }
3358
+ };
3359
+ }
3360
+ /**
3361
+ * Append one incoming chunk into a chat message in place.
3362
+ *
3363
+ * Behavior:
3364
+ * - Keeps `aiMessage` object reference stable (caller may hold this object).
3365
+ * - Updates message properties with new references (`content`/`reasoning` arrays)
3366
+ * so UI change detection that relies on reference changes can react reliably.
3367
+ * - Applies context-aware merge rules for text/reasoning/component chunks.
3368
+ * - `previous` must be supplied by caller when same-stream join inference is needed.
3369
+ */ function appendMessageContent(aiMessage, incoming, context) {
3370
+ aiMessage.status = "answering";
3371
+ var _ref = context !== null && context !== void 0 ? context : {}, previous = _ref.previous, contextWithoutPrevious = _object_without_properties(_ref, [
3372
+ "previous"
3373
+ ]);
3374
+ var resolvedContext = _object_spread({}, inferMessageAppendContext(incoming), contextWithoutPrevious);
3375
+ var content = normalizeIncomingContent(incoming, resolvedContext);
3376
+ if (isReasoningContent(content)) {
3377
+ var _aiMessage_reasoning;
3378
+ var reasoning = (_aiMessage_reasoning = aiMessage.reasoning) !== null && _aiMessage_reasoning !== void 0 ? _aiMessage_reasoning : [];
3379
+ var lastReasoning = reasoning[reasoning.length - 1];
3380
+ if ((lastReasoning === null || lastReasoning === void 0 ? void 0 : lastReasoning.id) === content.id) {
3381
+ var mergedReasoning = _object_spread_props(_object_spread({}, lastReasoning), {
3382
+ text: "".concat(lastReasoning.text).concat(content.text)
3383
+ });
3384
+ aiMessage.reasoning = _to_consumable_array(reasoning.slice(0, reasoning.length - 1)).concat([
3385
+ mergedReasoning
3386
+ ]);
3387
+ } else {
3388
+ aiMessage.reasoning = _to_consumable_array(reasoning).concat([
3389
+ content
3390
+ ]);
3391
+ }
3392
+ aiMessage.status = "reasoning";
3393
+ return;
3394
+ }
3395
+ var chunks = ensureArrayContent(aiMessage.content);
3396
+ if (isTextContent(content)) {
3397
+ var _resolvedContext_joinHint;
3398
+ var joinHint = (_resolvedContext_joinHint = resolvedContext.joinHint) !== null && _resolvedContext_joinHint !== void 0 ? _resolvedContext_joinHint : shouldJoinWithoutSeparator(previous, resolvedContext) ? "none" : undefined;
3399
+ var lastContent = chunks[chunks.length - 1];
3400
+ if (isTextContent(lastContent) && (joinHint === "none" || !!content.id && !!lastContent.id && lastContent.id === content.id)) {
3401
+ var mergedLastContent = _object_spread(_object_spread_props(_object_spread({}, lastContent), {
3402
+ text: "".concat(lastContent.text).concat(content.text)
3403
+ }), !lastContent.id && content.id ? {
3404
+ id: content.id
3405
+ } : {});
3406
+ aiMessage.content = _to_consumable_array(chunks.slice(0, chunks.length - 1)).concat([
3407
+ mergedLastContent
3408
+ ]);
3409
+ return;
3410
+ }
3411
+ var _lastContent_type;
3412
+ var previousType = (_lastContent_type = lastContent === null || lastContent === void 0 ? void 0 : lastContent.type) !== null && _lastContent_type !== void 0 ? _lastContent_type : null;
3413
+ var previousText = isTextContent(lastContent) ? lastContent.text : "";
3414
+ var separator = getSeparator(previousType, previousText, content.text, joinHint);
3415
+ var appended = _object_spread_props(_object_spread({}, content), {
3416
+ text: separator + content.text
3417
+ });
3418
+ aiMessage.content = _to_consumable_array(chunks).concat([
3419
+ appended
3420
+ ]);
3421
+ return;
3422
+ }
3423
+ var nextChunks = _to_consumable_array(chunks);
3424
+ if (isComponentContent(content) && content.id) {
3425
+ var index = nextChunks.findIndex(function(item) {
3426
+ return isComponentContent(item) && item.id === content.id;
3427
+ });
3428
+ if (index > -1) {
3429
+ nextChunks[index] = mergeComponentData(nextChunks[index], content);
3430
+ } else {
3431
+ nextChunks.push(content);
3432
+ }
3433
+ } else {
3434
+ nextChunks.push(content);
3435
+ }
3436
+ aiMessage.content = nextChunks;
3437
+ }
3438
+ function appendMessagePlainText(accumulator, incoming, context) {
3439
+ var resolvedContext = _object_spread({}, inferMessageAppendContext(incoming), context !== null && context !== void 0 ? context : {});
3440
+ var nextText = filterText(incoming);
3441
+ if (!nextText) {
3442
+ return accumulator !== null && accumulator !== void 0 ? accumulator : "";
3443
+ }
3444
+ var previous = accumulator !== null && accumulator !== void 0 ? accumulator : "";
3445
+ var separator = getSeparator("text", previous, nextText, resolvedContext.joinHint);
3446
+ return previous + separator + nextText;
3447
+ }
3448
+ function stringifyMessageContent(content) {
3449
+ if (typeof content === "string") {
3450
+ return content;
3451
+ }
3452
+ if (Array.isArray(content)) {
3453
+ var result = "";
3454
+ var previousContext = null;
3455
+ content.forEach(function(item) {
3456
+ var itemContext = inferMessageAppendContext(item);
3457
+ var joinHint = shouldJoinWithoutSeparator(previousContext, itemContext) ? "none" : undefined;
3458
+ result = appendMessagePlainText(result, stringifySingle(item), _object_spread({}, itemContext, joinHint ? {
3459
+ joinHint: joinHint
3460
+ } : {}));
3461
+ previousContext = itemContext;
3462
+ });
3463
+ return result;
3464
+ }
3465
+ return stringifySingle(content);
3466
+ }
3467
+ function filterMessageText(content) {
3468
+ if (typeof content === "string") {
3469
+ return content;
3470
+ }
3471
+ if (Array.isArray(content)) {
3472
+ var result = "";
3473
+ var previousContext = null;
3474
+ content.forEach(function(item) {
3475
+ var nextText = filterText(item);
3476
+ if (!nextText) {
3477
+ return;
3478
+ }
3479
+ var itemContext = inferMessageAppendContext(item);
3480
+ var joinHint = shouldJoinWithoutSeparator(previousContext, itemContext) ? "none" : undefined;
3481
+ result = appendMessagePlainText(result, nextText, _object_spread({}, itemContext, joinHint ? {
3482
+ joinHint: joinHint
3483
+ } : {}));
3484
+ previousContext = itemContext;
3485
+ });
3486
+ return result || null;
3487
+ }
3488
+ return filterText(content) || null;
3489
+ }
3490
+
3057
3491
  var PermissionsEnum;
3058
3492
  (function(PermissionsEnum) {
3059
3493
  PermissionsEnum["PROFILE_EDIT"] = "PROFILE_EDIT";
@@ -3366,7 +3800,9 @@ var IntegrationGitHubProvider = {
3366
3800
  };
3367
3801
  };
3368
3802
 
3369
- var IntegrationLarkProvider = {
3803
+ /**
3804
+ * @deprecated use plugin
3805
+ */ var IntegrationLarkProvider = {
3370
3806
  name: IntegrationEnum.LARK,
3371
3807
  label: {
3372
3808
  en_US: "Lark",
@@ -3748,11 +4184,12 @@ function _unsupported_iterable_to_array$1(o, minLen) {
3748
4184
  var __group, __group1;
3749
4185
  return rest.length ? ((__group = _.group) === null || __group === void 0 ? void 0 : __group.name) === groupName : !((__group1 = _.group) === null || __group1 === void 0 ? void 0 : __group1.name);
3750
4186
  });
4187
+ var selectVariable = group === null || group === void 0 ? void 0 : group.variables.find(function(_) {
4188
+ return _.name === (rest.join(".") || groupName);
4189
+ });
3751
4190
  return {
3752
4191
  group: group,
3753
- variable: group === null || group === void 0 ? void 0 : group.variables.find(function(_) {
3754
- return _.name === (rest.join(".") || groupName);
3755
- })
4192
+ variable: selectVariable
3756
4193
  };
3757
4194
  }
3758
4195
  var FILE_VARIABLES = [
@@ -3798,6 +4235,10 @@ var FILE_VARIABLES = [
3798
4235
  }
3799
4236
  ];
3800
4237
 
4238
+ function isInterruptMessage(obj) {
4239
+ return obj && typeof obj === "object" && "type" in obj && "category" in obj;
4240
+ }
4241
+
3801
4242
  function _array_like_to_array(arr, len) {
3802
4243
  if (len == null || len > arr.length) len = arr.length;
3803
4244
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -3906,4 +4347,9 @@ var InterruptMessageType;
3906
4347
  InterruptMessageType["Select"] = "select";
3907
4348
  })(InterruptMessageType || (InterruptMessageType = {}));
3908
4349
 
3909
- export { AIPermissionsEnum, AI_MODEL_TYPE_VARIABLE, AccessEnum, AgentEventType, AgentType, AiBusinessRole, AiFeatureEnum, AiModelTypeEnum, AiProtocol, AiProvider, AiProviderRole, AlignmentOptions, AnalyticsFeatures, AnalyticsPermissionsEnum, ApiAuthType, ApiProviderSchemaType, ApprovalPolicyTypesEnum, ApprovalPolicyTypesStringEnum, Attachment_Type_Options, AuthenticationEnum, BIInterruptMessageType, BonusTypeEnum, BusinessAreaRole, BusinessType, CONTEXT_VARIABLE_CURRENTSTATE, ChatDashboardMessageType, ChatGatewayEvent, ChatMessageEventTypeEnum, ChatMessageFeedbackRatingEnum, ChatMessageStepCategory, ChatMessageTypeEnum, ClientFocusEnum, ConfigurateMethod, ContactOrganizationInviteStatus, ContactType, CredentialFormTypeEnum, CredentialsType, CrudActionEnum, CurrenciesEnum, CurrencyPosition, DEFAULT_CURRENCIES, DEFAULT_DATE_FORMATS, DEFAULT_INTEGRATION_PAID_FILTERS, DEFAULT_INVITE_EXPIRY_PERIOD, DEFAULT_PROFIT_BASED_BONUS, DEFAULT_REVENUE_BASED_BONUS, DEFAULT_TENANT, DEFAULT_TIME_FORMATS, DEFAULT_TYPE, DataSourceProtocolEnum, DataSourceSyntaxEnum, DataSourceTypeEnum, DefaultValueDateTypeEnum, DocumentSourceProviderCategoryEnum, DocumentTypeEnum, EmailTemplateEnum, EmailTemplateNameEnum, EmbeddingStatusEnum, FILE_VARIABLES, FeatureEnum, FeatureStatusEnum, FeedTypeEnum, FetchFrom, FileStorageProviderEnum, GRAPH_NODE_SUMMARIZE_CONVERSATION, GRAPH_NODE_TITLE_CONVERSATION, HttpStatus, IFeatureToggleTypeEnum, INTEGRATION_PROVIDERS, ImportHistoryStatusEnum, ImportTypeEnum, IndicatorDraftFields, IndicatorOptionFields, IndicatorStatusEnum, IndicatorTagEnum, IndicatorType, IntegrationEnum, IntegrationFeatureEnum, IntegrationFilterEnum, IntegrationGitHubProvider, IntegrationLarkProvider, InterruptMessageType, InvitationExpirationEnum, InvitationTypeEnum, InviteStatusEnum, IteratingIndexParameterName, IteratingItemParameterName, KBDocumentCategoryEnum, KBDocumentStatusEnum, KDocumentSourceType, KDocumentWebTypeEnum, KDocumentWebTypeOptions, KNOWLEDGE_DOCUMENTS_NAME, KNOWLEDGE_FOLDER_ID_NAME, KNOWLEDGE_SOURCES_NAME, KNOWLEDGE_STAGE_NAME, KnowledgeProviderEnum, KnowledgeStructureEnum, KnowledgeTask, KnowledgebaseChannel, KnowledgebasePermission, KnowledgebaseTypeEnum, LanguagesEnum, LanguagesMap, ListsInputTypeEnum, LocalAgentType, LongTermMemoryTypeEnum, MCPServerType, schema as MDX, MEMORY_PROFILE_PROMPT, MEMORY_QA_PROMPT, MinimumProjectSizeEnum, ModelEntityType, ModelFeature, ModelPropertyKey, ModelTypeEnum, OllamaEmbeddingsProviders, OpenAIEmbeddingsProviders, OrderTypeEnum, OrganizationContactBudgetTypeEnum, OrganizationDemoNetworkEnum, OrganizationPermissionsEnum, OrganizationProjectBudgetTypeEnum, OrganizationSelectInput, ParameterType, ParameterTypeEnum, PayPeriodEnum, PermissionApprovalStatus, PermissionApprovalStatusTypesEnum, PermissionGroups, PermissionsEnum, PriceType, ProjectBillingEnum, ProjectOwnerEnum, ProjectStatusEnum, ProviderEnum, ProviderType, QueryStatusEnum, RegionsEnum, RequestMethodEnum, RoleTypeEnum, RolesEnum, SMTPSecureEnum, STANDARD_METADATA_FIELDS, STATE_SYS_VOLUME, STATE_SYS_WORKSPACE_PATH, STATE_SYS_WORKSPACE_URL, STATE_VARIABLE_FILES, STATE_VARIABLE_HUMAN, STATE_VARIABLE_INPUT, STATE_VARIABLE_SYS, STATE_VARIABLE_TITLE_CHANNEL, ScheduleTaskStatus, SemanticModelStatusEnum, StoryStatusEnum, StoryTemplateType, SubscriptionType, TASK_DESCRIPTION_PREFIX, TASK_DESCRIPTION_SUFFIX, TENANT_AGENT_LOCAL_URL, TOOL_NAME_REGEX, TagCategoryEnum, TaskFrequency, TaskListTypeEnum, TimeGranularity, ToolParameterForm, ToolParameterType, ToolTagEnum, TranslationLanguageMap, UserType, VariableOperationEnum, VariableOperations, VectorTypeEnum, Visibility, VisitEntityEnum, VisitTypeEnum, WeekDaysEnum, WorkflowComparisonOperator, WorkflowLogicalOperator, WorkflowNodeTypeEnum, XpertAgentExecutionStatusEnum, XpertParameterTypeEnum, XpertTableStatus, XpertToolsetCategoryEnum, XpertTypeEnum, agentLabel, agentUniqueName, allChannels, buildChunkTree, channelName, classificateDocumentCategory, collectTreeLeaves, configurableStoreNamespace, convertToUrlPath, createAgentConnections, createXpertGraph, createXpertNodes, embeddingCubeCollectionName, extractSemanticModelDraft, figureOutXpert, findStartNodes, genJSONParseKey, genJSONStringifyKey, genListOperatorKey, genPipelineChunkerKey, genPipelineKnowledgeBaseKey, genPipelineProcessorKey, genPipelineSourceKey, genPipelineUnderstandingKey, genVariableAggregatorKey, genXpertDBDeleteKey, genXpertDBInsertKey, genXpertDBQueryKey, genXpertDBSqlKey, genXpertDBUpdateKey, genXpertMiddlewareKey, genXpertSkillKey, genXpertTriggerKey, generateCronExpression, getAgentMiddlewareNodes, getAgentVarGroup, getCurrentGraph, getEnabledTools, getStoreNamespace, getSwarmPartners, getToolCallFromConfig, getToolCallIdFromConfig, getToolLabel, getVariableSchema, getWorkflowTriggers, getWorkspaceFromRunnable, isAgentKey, isAudioType, isDocumentSheet, isEnableTool, isImageType, isIteratingKey, isMessageGroup, isRouterKey, isToolEnabled, isVideoType, isWorkflowKey, letterStartSUID, locateNodes, mapTranslationLanguage, messageContentText, omitXpertRelations, setStateVariable, shortTitle, transformInstallation, uuid, workflowNodeIdentifier, xpertLabel };
4350
+ var PLUGIN_LEVEL = {
4351
+ SYSTEM: "system",
4352
+ ORGANIZATION: "organization"
4353
+ };
4354
+
4355
+ export { AIPermissionsEnum, AI_MODEL_TYPE_VARIABLE, AccessEnum, AgentEventType, AgentType, AiBusinessRole, AiFeatureEnum, AiModelTypeEnum, AiProtocol, AiProvider, AiProviderRole, AlignmentOptions, AnalyticsFeatures, AnalyticsPermissionsEnum, ApiAuthType, ApiProviderSchemaType, ApprovalPolicyTypesEnum, ApprovalPolicyTypesStringEnum, Attachment_Type_Options, AuthenticationEnum, BIInterruptMessageType, BonusTypeEnum, BusinessAreaRole, BusinessType, CONTEXT_VARIABLE_CURRENTSTATE, ChatDashboardMessageType, ChatGatewayEvent, ChatMessageFeedbackRatingEnum, ClientFocusEnum, ConfigurateMethod, ContactOrganizationInviteStatus, ContactType, CredentialFormTypeEnum, CredentialsType, CrudActionEnum, CurrenciesEnum, CurrencyPosition, DEFAULT_CURRENCIES, DEFAULT_DATE_FORMATS, DEFAULT_INTEGRATION_PAID_FILTERS, DEFAULT_INVITE_EXPIRY_PERIOD, DEFAULT_PROFIT_BASED_BONUS, DEFAULT_REVENUE_BASED_BONUS, DEFAULT_TENANT, DEFAULT_TIME_FORMATS, DEFAULT_TYPE, DataSourceProtocolEnum, DataSourceSyntaxEnum, DataSourceTypeEnum, DefaultValueDateTypeEnum, DocumentSourceProviderCategoryEnum, DocumentTypeEnum, EmailTemplateEnum, EmailTemplateNameEnum, EmbeddingStatusEnum, FILE_VARIABLES, FeatureEnum, FeatureStatusEnum, FeedTypeEnum, FetchFrom, FileStorageProviderEnum, GRAPH_NODE_SUMMARIZE_CONVERSATION, GRAPH_NODE_TITLE_CONVERSATION, HttpStatus, IFeatureToggleTypeEnum, INTEGRATION_PROVIDERS, ImportHistoryStatusEnum, ImportTypeEnum, IndicatorDraftFields, IndicatorOptionFields, IndicatorStatusEnum, IndicatorTagEnum, IndicatorType, IntegrationEnum, IntegrationFeatureEnum, IntegrationFilterEnum, IntegrationGitHubProvider, IntegrationLarkProvider, InterruptMessageType, InvitationExpirationEnum, InvitationTypeEnum, InviteStatusEnum, IteratingIndexParameterName, IteratingItemParameterName, IteratorIndexParameterName, IteratorItemParameterName, KBDocumentCategoryEnum, KBDocumentStatusEnum, KDocumentSourceType, KDocumentWebTypeEnum, KDocumentWebTypeOptions, KNOWLEDGE_DOCUMENTS_NAME, KNOWLEDGE_FOLDER_ID_NAME, KNOWLEDGE_SOURCES_NAME, KNOWLEDGE_STAGE_NAME, KnowledgeProviderEnum, KnowledgeStructureEnum, KnowledgeTask, KnowledgebaseChannel, KnowledgebasePermission, KnowledgebaseTypeEnum, LanguagesEnum, LanguagesMap, ListsInputTypeEnum, LocalAgentType, LongTermMemoryTypeEnum, MCPServerType, schema as MDX, MEMORY_PROFILE_PROMPT, MEMORY_QA_PROMPT, MinimumProjectSizeEnum, ModelEntityType, ModelFeature, ModelPropertyKey, ModelTypeEnum, OllamaEmbeddingsProviders, OpenAIEmbeddingsProviders, OrderTypeEnum, OrganizationContactBudgetTypeEnum, OrganizationDemoNetworkEnum, OrganizationPermissionsEnum, OrganizationProjectBudgetTypeEnum, OrganizationSelectInput, PLUGIN_LEVEL, ParameterType, ParameterTypeEnum, PayPeriodEnum, PermissionApprovalStatus, PermissionApprovalStatusTypesEnum, PermissionGroups, PermissionsEnum, PriceType, ProjectBillingEnum, ProjectOwnerEnum, ProjectStatusEnum, ProviderEnum, ProviderType, QueryStatusEnum, RegionsEnum, RequestMethodEnum, RoleTypeEnum, RolesEnum, SMTPSecureEnum, STANDARD_METADATA_FIELDS, STATE_SYS_VOLUME, STATE_SYS_WORKSPACE_PATH, STATE_SYS_WORKSPACE_URL, STATE_VARIABLE_FILES, STATE_VARIABLE_INPUT, STATE_VARIABLE_SYS, STATE_VARIABLE_TITLE_CHANNEL, ScheduleTaskStatus, SemanticModelStatusEnum, StoryStatusEnum, StoryTemplateType, SubscriptionType, TASK_DESCRIPTION_PREFIX, TASK_DESCRIPTION_SUFFIX, TENANT_AGENT_LOCAL_URL, TOOL_NAME_REGEX, TagCategoryEnum, TaskFrequency, TaskListTypeEnum, TimeGranularity, ToolParameterForm, ToolParameterType, ToolTagEnum, TranslationLanguageMap, USAGE_HOUR_FORMAT, UserType, VariableOperationEnum, VariableOperations, VectorTypeEnum, Visibility, VisitEntityEnum, VisitTypeEnum, WeekDaysEnum, WorkflowComparisonOperator, WorkflowLogicalOperator, WorkflowNodeTypeEnum, XpertAgentExecutionStatusEnum, XpertParameterTypeEnum, XpertTableStatus, XpertToolsetCategoryEnum, XpertTypeEnum, agentLabel, agentUniqueName, allChannels, appendMessageContent, appendMessagePlainText, buildChunkTree, channelName, classificateDocumentCategory, collectTreeLeaves, configurableStoreNamespace, convertToUrlPath, createAgentConnections, createMessageAppendContextTracker, createXpertGraph, createXpertNodes, embeddingCubeCollectionName, extractSemanticModelDraft, figureOutXpert, filterMessageText, findStartNodes, genJSONParseKey, genJSONStringifyKey, genListOperatorKey, genPipelineChunkerKey, genPipelineKnowledgeBaseKey, genPipelineProcessorKey, genPipelineSourceKey, genPipelineUnderstandingKey, genVariableAggregatorKey, genXpertDBDeleteKey, genXpertDBInsertKey, genXpertDBQueryKey, genXpertDBSqlKey, genXpertDBUpdateKey, genXpertIteratorKey, genXpertMiddlewareKey, genXpertSkillKey, genXpertStartKey, genXpertTriggerKey, generateCronExpression, getAgentMiddlewareNodes, getAgentVarGroup, getCurrentGraph, getEnabledTools, getStoreNamespace, getSwarmPartners, getToolCallFromConfig, getToolCallIdFromConfig, getToolLabel, getVariableSchema, getWorkflowTriggers, getWorkspaceFromRunnable, inferMessageAppendContext, isAgentKey, isAudioType, isDocumentSheet, isEnableTool, isImageType, isInterruptMessage, isIteratingKey, isIteratorKey, isMessageGroup, isMiddlewareToolEnabled, isRouterKey, isToolEnabled, isVideoType, isXpertNodeType, letterStartSUID, locateNodes, mapTranslationLanguage, messageContentText, omitXpertRelations, resolveMessageAppendContext, setStateVariable, shortTitle, stringifyMessageContent, transformInstallation, uuid, workflowNodeIdentifier, xpertLabel };