@projectcor/maia-components 2.34.2-0 → 2.34.3-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 (70) hide show
  1. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +4 -59
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +4 -16
  3. package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.js +53 -0
  4. package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.spec.js +107 -0
  5. package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.styles.js +8 -0
  6. package/lib/components/atoms/ContextCompactedNotice/index.js +2 -0
  7. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +12 -1
  8. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +127 -5
  9. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  10. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  11. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +2 -19
  12. package/lib/components/atoms/MAIAInput/MAIAInput.js +192 -17
  13. package/lib/components/atoms/MAIAInput/styles.js +15 -11
  14. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +208 -0
  15. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
  16. package/lib/components/atoms/SkillsDropdown/index.js +2 -0
  17. package/lib/components/atoms/icons/PlusIcon.js +29 -0
  18. package/lib/components/atoms/icons/SkillCreatedByIcon.js +20 -0
  19. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
  20. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
  21. package/lib/components/atoms/icons/SkillsNavIcon.js +4 -7
  22. package/lib/components/atoms/icons/index.js +5 -1
  23. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +11 -34
  24. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +5 -3
  25. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +25 -16
  26. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +56 -18
  27. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +10 -5
  28. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +315 -239
  29. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +131 -104
  30. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  31. package/lib/components/molecules/Sidebar/Sidebar.js +5 -4
  32. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  33. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +6 -10
  34. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +8 -1
  35. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +369 -182
  36. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +126 -66
  37. package/lib/constants/config.js +1 -4
  38. package/lib/constants/formatExtensions.js +8 -7
  39. package/lib/constants/permissions/utils.js +3 -3
  40. package/lib/dev/DevReasoningTimeline.js +50 -8
  41. package/lib/hooks/useAgentModel/useCreateAgent.js +6 -6
  42. package/lib/hooks/useAgentModel/useUpdateAgent.js +6 -6
  43. package/lib/hooks/useChatManager/useChatManager.js +26 -12
  44. package/lib/hooks/useContextMentions.js +93 -56
  45. package/lib/hooks/useEntitySearch.js +92 -278
  46. package/lib/hooks/useMentionAllowedTypes.js +9 -25
  47. package/lib/hooks/useMentionPopover.js +9 -33
  48. package/lib/hooks/useReasoningTrace/reasoningStore.js +39 -8
  49. package/lib/hooks/useSkillsCatalog.js +66 -0
  50. package/lib/lang/br/index.js +41 -13
  51. package/lib/lang/en/index.js +41 -13
  52. package/lib/lang/es/index.js +42 -14
  53. package/lib/lang/fr/index.js +41 -13
  54. package/lib/services/maia/Agents/setAgentToolGroups.js +2 -2
  55. package/lib/services/maia/Orchestrator/orchestrator.js +3 -6
  56. package/lib/services/maia/Skills/createSkill.js +1 -1
  57. package/lib/services/maia/Skills/getSkills.js +70 -40
  58. package/lib/services/maia/Skills/updateSkill.js +1 -1
  59. package/lib/services/utils/mapChatMessages.js +12 -7
  60. package/lib/store/sessions/sessionStreamManager.js +47 -44
  61. package/lib/types/Chat.js +1 -1
  62. package/lib/types/agentModal.js +1 -1
  63. package/lib/types/contextCompaction.js +48 -0
  64. package/lib/types/jest-dom.d.js +2 -0
  65. package/lib/types/reasoning.js +1 -1
  66. package/lib/types/skill.js +1 -1
  67. package/lib/utils/contextMentionTriggers.js +2 -5
  68. package/lib/utils/normalizeAgentConnectors.js +16 -44
  69. package/lib/utils/renderContextMentions.js +39 -18
  70. package/package.json +3 -2
@@ -6,6 +6,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
6
6
  /* eslint-disable react/button-has-type */
7
7
  import { useCallback, useEffect, useRef, useState } from 'react';
8
8
  import { AgentActivityIndicator } from '../components/atoms/AgentActivityIndicator/AgentActivityIndicator';
9
+ import { ContextCompactedNotice } from '../components/atoms/ContextCompactedNotice/ContextCompactedNotice';
9
10
  import { MaiaStreamdown } from '../components/atoms/MaiaStreamdown/MaiaStreamdown';
10
11
  import { ReasoningBlock } from '../components/atoms/ReasoningBlock/ReasoningBlock';
11
12
  import { SCTimelineIndicator, SCFinalAnswerBody } from '../components/atoms/ReasoningBlock/ReasoningBlock.styles';
@@ -40,14 +41,18 @@ export function DevReasoningTimeline() {
40
41
  _useState8 = _slicedToArray(_useState7, 2),
41
42
  showThinking = _useState8[0],
42
43
  setShowThinking = _useState8[1];
43
- var _useState9 = useState(4),
44
+ var _useState9 = useState(false),
44
45
  _useState0 = _slicedToArray(_useState9, 2),
45
- speed = _useState0[0],
46
- setSpeed = _useState0[1];
47
- var _useState1 = useState(0),
46
+ simulateCompaction = _useState0[0],
47
+ setSimulateCompaction = _useState0[1];
48
+ var _useState1 = useState(4),
48
49
  _useState10 = _slicedToArray(_useState1, 2),
49
- runId = _useState10[0],
50
- setRunId = _useState10[1];
50
+ speed = _useState10[0],
51
+ setSpeed = _useState10[1];
52
+ var _useState11 = useState(0),
53
+ _useState12 = _slicedToArray(_useState11, 2),
54
+ runId = _useState12[0],
55
+ setRunId = _useState12[1];
51
56
  var timeoutsRef = useRef([]);
52
57
  var clearTimers = useCallback(function () {
53
58
  timeoutsRef.current.forEach(function (id) {
@@ -75,6 +80,23 @@ export function DevReasoningTimeline() {
75
80
  var schedule = function schedule(at, fn) {
76
81
  timeoutsRef.current.push(window.setTimeout(fn, at / speed));
77
82
  };
83
+
84
+ // `event: context_compacted` a mitad del turno, como cuando el historial
85
+ // ya no entra y el backend tiene que recortar antes de invocar al modelo.
86
+ if (simulateCompaction) {
87
+ schedule(4000, function () {
88
+ return reasoningStore.setCompaction(MESSAGE_ID, {
89
+ strategies: ['cap_tool_results', 'prune_images', 'summarize'],
90
+ summarized: true,
91
+ images_pruned: 3,
92
+ turns_dropped: 0,
93
+ tool_results_cleared: 7,
94
+ tokens_before: 243011,
95
+ tokens_after: 131884,
96
+ agent: 'orchestrator:dev'
97
+ });
98
+ });
99
+ }
78
100
  MOCK_EVENTS.forEach(function (event) {
79
101
  if (event.kind === 'thinking') {
80
102
  schedule(event.at, function () {
@@ -132,12 +154,14 @@ export function DevReasoningTimeline() {
132
154
  }
133
155
  });
134
156
  });
135
- }, [clearTimers, speed, t]);
157
+ }, [clearTimers, simulateCompaction, speed, t]);
136
158
  useEffect(function () {
137
159
  return clearTimers;
138
160
  }, [clearTimers]);
139
161
  var _useReasoningTrace = useReasoningTrace(isDone ? '' : MESSAGE_ID),
140
162
  steps = _useReasoningTrace.steps;
163
+ var _useReasoningTrace2 = useReasoningTrace(MESSAGE_ID),
164
+ compaction = _useReasoningTrace2.compaction;
141
165
  var streamNarrationInTimeline = shouldStreamNarrationInTimeline(steps, activity, body, MESSAGE_ID);
142
166
  return /*#__PURE__*/_jsxs("div", {
143
167
  style: {
@@ -195,6 +219,22 @@ export function DevReasoningTimeline() {
195
219
  return setShowThinking(e.target.checked);
196
220
  }
197
221
  }), "Mostrar thinking (window.reasoningThinking)"]
222
+ }), /*#__PURE__*/_jsxs("label", {
223
+ htmlFor: "dev-compaction",
224
+ style: {
225
+ display: 'flex',
226
+ gap: 6,
227
+ alignItems: 'center',
228
+ fontSize: 13
229
+ },
230
+ children: [/*#__PURE__*/_jsx("input", {
231
+ id: "dev-compaction",
232
+ type: "checkbox",
233
+ checked: simulateCompaction,
234
+ onChange: function onChange(e) {
235
+ return setSimulateCompaction(e.target.checked);
236
+ }
237
+ }), "Simular context_compacted"]
198
238
  })]
199
239
  }), /*#__PURE__*/_jsxs("p", {
200
240
  style: {
@@ -220,6 +260,8 @@ export function DevReasoningTimeline() {
220
260
  showThinking: showThinking,
221
261
  streamActivity: activity,
222
262
  streamingText: body
263
+ }), /*#__PURE__*/_jsx(ContextCompactedNotice, {
264
+ compaction: compaction
223
265
  }), !streamNarrationInTimeline && !!body && /*#__PURE__*/_jsx(SCFinalAnswerBody, {
224
266
  children: /*#__PURE__*/_jsx(MaiaStreamdown, {
225
267
  variant: "chat",
@@ -234,4 +276,4 @@ export function DevReasoningTimeline() {
234
276
  })]
235
277
  });
236
278
  }
237
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiQWdlbnRBY3Rpdml0eUluZGljYXRvciIsIk1haWFTdHJlYW1kb3duIiwiUmVhc29uaW5nQmxvY2siLCJTQ1RpbWVsaW5lSW5kaWNhdG9yIiwiU0NGaW5hbEFuc3dlckJvZHkiLCJSZWFzb25pbmdUaW1lbGluZSIsInNob3VsZFN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUiLCJyZWFzb25pbmdTdG9yZSIsInVzZVJlYXNvbmluZ1RyYWNlIiwidXNlVCIsInJlc29sdmVUb29sQWN0aW9uTGFiZWwiLCJnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkiLCJNT0NLX0VWRU5UUyIsIk1PQ0tfU1VNTUFSWSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJNRVNTQUdFX0lEIiwiU1BFRURTIiwiQk9EWV9DSFVOS1MiLCJEZXZSZWFzb25pbmdUaW1lbGluZSIsIl91c2VUIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGl2aXR5Iiwic2V0QWN0aXZpdHkiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImJvZHkiLCJzZXRCb2R5IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0RvbmUiLCJzZXRJc0RvbmUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNob3dUaGlua2luZyIsInNldFNob3dUaGlua2luZyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic3BlZWQiLCJzZXRTcGVlZCIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInJ1bklkIiwic2V0UnVuSWQiLCJ0aW1lb3V0c1JlZiIsImNsZWFyVGltZXJzIiwiY3VycmVudCIsImZvckVhY2giLCJpZCIsIndpbmRvdyIsImNsZWFyVGltZW91dCIsInJ1biIsImNsZWFyIiwic3RhcnQiLCJwaGFzZSIsIm1lc3NhZ2UiLCJlbWl0dGVkIiwiTWFwIiwic2NoZWR1bGUiLCJhdCIsImZuIiwicHVzaCIsInNldFRpbWVvdXQiLCJldmVudCIsImtpbmQiLCJhcHBlbmRUaGlua2luZyIsImkiLCJ0ZXh0Iiwic2l6ZSIsIk1hdGgiLCJjZWlsIiwibGVuZ3RoIiwiX2xvb3AiLCJzbGljZSIsImNodW5rIiwiZmluaXNoIiwidiIsInN0ZXBzIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidmFsdWVzIiwic3VtbWFyeSIsInBheWxvYWQiLCJzZXQiLCJfb2JqZWN0U3ByZWFkIiwiZ2V0IiwiYXBwbHlTdGVwIiwidHlwZSIsIm1hcmtBbnN3ZXJSZXNldCIsInN0YXR1cyIsInRvb2wiLCJsYWJlbCIsIl91c2VSZWFzb25pbmdUcmFjZSIsInN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUiLCJzdHlsZSIsInBhZGRpbmciLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsImZvbnRGYW1pbHkiLCJjaGlsZHJlbiIsImFsaWduSXRlbXMiLCJmbGV4V3JhcCIsIm9uQ2xpY2siLCJmb250U2l6ZSIsIm1hcCIsIm9wdGlvbiIsImZvbnRXZWlnaHQiLCJodG1sRm9yIiwiY2hlY2tlZCIsIm9uQ2hhbmdlIiwiZSIsInRhcmdldCIsIm1hcmdpbiIsImNvbG9yIiwibWF4V2lkdGgiLCJtZXNzYWdlSWQiLCJjb25jYXQiLCJzdHJlYW1BY3Rpdml0eSIsInN0cmVhbWluZ1RleHQiLCJ2YXJpYW50IiwiY29tcGFjdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXYvRGV2UmVhc29uaW5nVGltZWxpbmUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2J1dHRvbi1oYXMtdHlwZSAqL1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yL0FnZW50QWN0aXZpdHlJbmRpY2F0b3InXG5pbXBvcnQgeyBNYWlhU3RyZWFtZG93biB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvTWFpYVN0cmVhbWRvd24vTWFpYVN0cmVhbWRvd24nXG5pbXBvcnQgeyBSZWFzb25pbmdCbG9jayB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svUmVhc29uaW5nQmxvY2snXG5pbXBvcnQgeyBTQ1RpbWVsaW5lSW5kaWNhdG9yLCBTQ0ZpbmFsQW5zd2VyQm9keSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svUmVhc29uaW5nQmxvY2suc3R5bGVzJ1xuaW1wb3J0IHsgUmVhc29uaW5nVGltZWxpbmUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL1JlYXNvbmluZ0Jsb2NrL1JlYXNvbmluZ1RpbWVsaW5lJ1xuaW1wb3J0IHsgc2hvdWxkU3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svcmVhc29uaW5nTGl2ZU5hcnJhdGlvbidcbmltcG9ydCB7IHJlYXNvbmluZ1N0b3JlIH0gZnJvbSAnLi4vaG9va3MvdXNlUmVhc29uaW5nVHJhY2UvcmVhc29uaW5nU3RvcmUnXG5pbXBvcnQgeyB1c2VSZWFzb25pbmdUcmFjZSB9IGZyb20gJy4uL2hvb2tzL3VzZVJlYXNvbmluZ1RyYWNlJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyByZXNvbHZlVG9vbEFjdGlvbkxhYmVsLCBnZXRXcml0aW5nU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi91dGlscy9zdHJlYW1BY3Rpdml0eU1lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBSZWFzb25pbmdTdGVwUGF5bG9hZCB9IGZyb20gJy4uL3R5cGVzL3JlYXNvbmluZydcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7IE1PQ0tfRVZFTlRTLCBNT0NLX1NVTU1BUlkgfSBmcm9tICcuL3JlYXNvbmluZ1RyYWNlTW9jaydcblxuY29uc3QgTUVTU0FHRV9JRCA9ICdhbnN3ZXItZGV2LXJlYXNvbmluZy1zdHJlYW1pbmcnXG5jb25zdCBTUEVFRFMgPSBbMSwgMiwgNCwgOF0gYXMgY29uc3Rcbi8qKiBDaHVua3MgZW4gbG9zIHF1ZSBzZSBwYXJ0ZSBlbCB0ZXh0byBkZSBjYWRhIHR1cm5vIHBhcmEgc2ltdWxhciBsb3MgdG9rZW5zLiAqL1xuY29uc3QgQk9EWV9DSFVOS1MgPSA0XG5cbmV4cG9ydCBmdW5jdGlvbiBEZXZSZWFzb25pbmdUaW1lbGluZSgpIHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgW2FjdGl2aXR5LCBzZXRBY3Rpdml0eV0gPSB1c2VTdGF0ZTxTdHJlYW1BY3Rpdml0eSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtib2R5LCBzZXRCb2R5XSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNEb25lLCBzZXRJc0RvbmVdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93VGhpbmtpbmcsIHNldFNob3dUaGlua2luZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NwZWVkLCBzZXRTcGVlZF0gPSB1c2VTdGF0ZTwodHlwZW9mIFNQRUVEUylbbnVtYmVyXT4oNClcbiAgY29uc3QgW3J1bklkLCBzZXRSdW5JZF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCB0aW1lb3V0c1JlZiA9IHVzZVJlZjxudW1iZXJbXT4oW10pXG5cbiAgY29uc3QgY2xlYXJUaW1lcnMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdGltZW91dHNSZWYuY3VycmVudC5mb3JFYWNoKGlkID0+IHdpbmRvdy5jbGVhclRpbWVvdXQoaWQpKVxuICAgIHRpbWVvdXRzUmVmLmN1cnJlbnQgPSBbXVxuICB9LCBbXSlcblxuICBjb25zdCBydW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY2xlYXJUaW1lcnMoKVxuICAgIHJlYXNvbmluZ1N0b3JlLmNsZWFyKClcbiAgICByZWFzb25pbmdTdG9yZS5zdGFydChNRVNTQUdFX0lEKVxuICAgIHNldEFjdGl2aXR5KHsgcGhhc2U6ICd0aGlua2luZycsIG1lc3NhZ2U6IHQoJ2NoYXQuYWN0aXZpdHkudGhpbmtpbmcuYW5hbHl6aW5nJykgfSlcbiAgICBzZXRCb2R5KCcnKVxuICAgIHNldElzRG9uZShmYWxzZSlcbiAgICBzZXRSdW5JZChjdXJyZW50ID0+IGN1cnJlbnQgKyAxKVxuXG4gICAgLy8gTGEgdHJhemEgYXV0b3JpdGF0aXZhIGRlbCBgY29tcGxldGVgIHNlIGFybWEgY29uIGxvcyBtaXNtb3Mgc3RlcHMgcXVlIHNlXG4gICAgLy8gZnVlcm9uIGVtaXRpZW5kbywgcGFyYSBubyBkdXBsaWNhciBlbCBwYXlsb2FkIGVuIGVsIG1vY2suXG4gICAgY29uc3QgZW1pdHRlZCA9IG5ldyBNYXA8bnVtYmVyLCBSZWFzb25pbmdTdGVwUGF5bG9hZD4oKVxuICAgIGNvbnN0IHNjaGVkdWxlID0gKGF0OiBudW1iZXIsIGZuOiAoKSA9PiB2b2lkKSA9PiB7XG4gICAgICB0aW1lb3V0c1JlZi5jdXJyZW50LnB1c2god2luZG93LnNldFRpbWVvdXQoZm4sIGF0IC8gc3BlZWQpKVxuICAgIH1cblxuICAgIE1PQ0tfRVZFTlRTLmZvckVhY2goZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICd0aGlua2luZycpIHtcbiAgICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHJlYXNvbmluZ1N0b3JlLmFwcGVuZFRoaW5raW5nKE1FU1NBR0VfSUQsIGV2ZW50LmksIGV2ZW50LnRleHQpKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICdib2R5Jykge1xuICAgICAgICBzY2hlZHVsZShldmVudC5hdCwgKCkgPT4gc2V0QWN0aXZpdHkoZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHQpKSlcbiAgICAgICAgLy8gVG9rZW5zOiBlbCB0ZXh0byBlbnRyYSBkZSBhIHBlZGF6b3MsIGNvbW8gZWwgc3RyZWFtIHJlYWwuXG4gICAgICAgIGNvbnN0IHNpemUgPSBNYXRoLmNlaWwoZXZlbnQudGV4dC5sZW5ndGggLyBCT0RZX0NIVU5LUylcbiAgICAgICAgZm9yIChsZXQgY2h1bmsgPSAwOyBjaHVuayA8IEJPRFlfQ0hVTktTOyBjaHVuayArPSAxKSB7XG4gICAgICAgICAgY29uc3Qgc2xpY2UgPSBldmVudC50ZXh0LnNsaWNlKDAsIHNpemUgKiAoY2h1bmsgKyAxKSlcbiAgICAgICAgICBzY2hlZHVsZShldmVudC5hdCArIGNodW5rICogMjIwLCAoKSA9PiBzZXRCb2R5KHNsaWNlKSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHtcbiAgICAgICAgICByZWFzb25pbmdTdG9yZS5maW5pc2goTUVTU0FHRV9JRCwgeyB2OiAxLCBzdGVwczogWy4uLmVtaXR0ZWQudmFsdWVzKCldLCBzdW1tYXJ5OiBNT0NLX1NVTU1BUlkgfSlcbiAgICAgICAgICBzZXRBY3Rpdml0eShudWxsKVxuICAgICAgICAgIHNldElzRG9uZSh0cnVlKVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBldmVudFxuICAgICAgICBlbWl0dGVkLnNldChwYXlsb2FkLmksIHsgLi4uZW1pdHRlZC5nZXQocGF5bG9hZC5pKSwgLi4ucGF5bG9hZCB9KVxuXG4gICAgICAgIC8vIElndWFsIHF1ZSBhbnN3ZXJfcmVzZXQgKyByZWFzb25pbmdfc3RlcDogY29tbWl0ZWFyIGZpbGEgeSBsaW1waWFyIGJvZHkuXG4gICAgICAgIHJlYXNvbmluZ1N0b3JlLmFwcGx5U3RlcChNRVNTQUdFX0lELCBwYXlsb2FkKVxuICAgICAgICBpZiAocGF5bG9hZC50eXBlID09PSAnbmFycmF0aW9uJykge1xuICAgICAgICAgIHNldEJvZHkoJycpXG4gICAgICAgICAgcmVhc29uaW5nU3RvcmUubWFya0Fuc3dlclJlc2V0KE1FU1NBR0VfSUQpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbCBtYW5hZ2VyIHNhY2EgZWwgbGFiZWwgZGUgYWN0aXZpZGFkIGRlIGxhIHRvb2wgcXVlIGFycmFuY2EgYSBjb3JyZXIuXG4gICAgICAgIGlmIChwYXlsb2FkLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIHBheWxvYWQudHlwZSA9PT0gJ3Rvb2wnICYmIHBheWxvYWQudG9vbCkge1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gcmVzb2x2ZVRvb2xBY3Rpb25MYWJlbChwYXlsb2FkLnRvb2wsIHQsICdwcmVzZW50JylcbiAgICAgICAgICBpZiAobGFiZWwpIHNldEFjdGl2aXR5KHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiBsYWJlbCB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH0sIFtjbGVhclRpbWVycywgc3BlZWQsIHRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiBjbGVhclRpbWVycywgW2NsZWFyVGltZXJzXSlcblxuICBjb25zdCB7IHN0ZXBzIH0gPSB1c2VSZWFzb25pbmdUcmFjZShpc0RvbmUgPyAnJyA6IE1FU1NBR0VfSUQpXG4gIGNvbnN0IHN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUgPSBzaG91bGRTdHJlYW1OYXJyYXRpb25JblRpbWVsaW5lKHN0ZXBzLCBhY3Rpdml0eSwgYm9keSwgTUVTU0FHRV9JRClcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7IHBhZGRpbmc6IDI0LCBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6IDIwLCBmb250RmFtaWx5OiAnV29yayBTYW5zLCBzYW5zLXNlcmlmJyB9fVxuICAgID5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6IDE2LCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZmxleFdyYXA6ICd3cmFwJyB9fT5cbiAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXtydW59IHN0eWxlPXt7IHBhZGRpbmc6ICc2cHggMTRweCcgfX0+XG4gICAgICAgICAgUmVwcm9kdWNpciB0dXJub1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6IDQsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBmb250U2l6ZTogMTMgfX0+XG4gICAgICAgICAgVmVsb2NpZGFkOlxuICAgICAgICAgIHtTUEVFRFMubWFwKG9wdGlvbiA9PiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtleT17b3B0aW9ufVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTcGVlZChvcHRpb24pfVxuICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nOiAnMnB4IDhweCcsIGZvbnRXZWlnaHQ6IHNwZWVkID09PSBvcHRpb24gPyA3MDAgOiA0MDAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge29wdGlvbn14XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImRldi1zaG93LXRoaW5raW5nXCIgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6IDYsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBmb250U2l6ZTogMTMgfX0+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBpZD1cImRldi1zaG93LXRoaW5raW5nXCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBjaGVja2VkPXtzaG93VGhpbmtpbmd9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBzZXRTaG93VGhpbmtpbmcoZS50YXJnZXQuY2hlY2tlZCl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICBNb3N0cmFyIHRoaW5raW5nICh3aW5kb3cucmVhc29uaW5nVGhpbmtpbmcpXG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogMTIsIGNvbG9yOiAnIzgwODA4MCcsIG1heFdpZHRoOiA2NDAgfX0+XG4gICAgICAgIFJlcGxheSBkZSB1biB0dXJubyByZWFsIGRlIDk0czogMzAgcGFzb3MsIDE4IHRvb2xzLCBkb3MgaGFuZG9mZnMgYW5pZGFkb3MgeSByw6FmYWdhcyBkZSB0b29scyBlbiBwYXJhbGVsby4gRWxcbiAgICAgICAgY3VlcnBvIGRlbCBtZW5zYWplIHNlIGxpbXBpYSBjb24gY2FkYSBuYXJyYWNpw7NuLCBpZ3VhbCBxdWUgZWwgPGNvZGU+YW5zd2VyX3Jlc2V0PC9jb2RlPiBkZWwgYmFja2VuZC5cbiAgICAgIDwvcD5cblxuICAgICAgPGRpdiBzdHlsZT17eyBtYXhXaWR0aDogNjQwLCBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6IDggfX0+XG4gICAgICAgIHtpc0RvbmUgPyAoXG4gICAgICAgICAgPFJlYXNvbmluZ0Jsb2NrIGtleT17YGJsb2NrLSR7cnVuSWR9YH0gbWVzc2FnZUlkPXtNRVNTQUdFX0lEfSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxSZWFzb25pbmdUaW1lbGluZVxuICAgICAgICAgICAgbWVzc2FnZUlkPXtNRVNTQUdFX0lEfVxuICAgICAgICAgICAgc2hvd1RoaW5raW5nPXtzaG93VGhpbmtpbmd9XG4gICAgICAgICAgICBzdHJlYW1BY3Rpdml0eT17YWN0aXZpdHl9XG4gICAgICAgICAgICBzdHJlYW1pbmdUZXh0PXtib2R5fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHshc3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSAmJiAhIWJvZHkgJiYgKFxuICAgICAgICAgIDxTQ0ZpbmFsQW5zd2VyQm9keT5cbiAgICAgICAgICAgIDxNYWlhU3RyZWFtZG93biB2YXJpYW50PVwiY2hhdFwiPntib2R5fTwvTWFpYVN0cmVhbWRvd24+XG4gICAgICAgICAgPC9TQ0ZpbmFsQW5zd2VyQm9keT5cbiAgICAgICAgKX1cbiAgICAgICAge2FjdGl2aXR5ICYmIChcbiAgICAgICAgICA8U0NUaW1lbGluZUluZGljYXRvcj5cbiAgICAgICAgICAgIDxBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIGFjdGl2aXR5PXthY3Rpdml0eX0gY29tcGFjdCAvPlxuICAgICAgICAgIDwvU0NUaW1lbGluZUluZGljYXRvcj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUVoRSxTQUFTQyxzQkFBc0IsUUFBUSxtRUFBbUU7QUFDMUcsU0FBU0MsY0FBYyxRQUFRLG1EQUFtRDtBQUNsRixTQUFTQyxjQUFjLFFBQVEsbURBQW1EO0FBQ2xGLFNBQVNDLG1CQUFtQixFQUFFQyxpQkFBaUIsUUFBUSwwREFBMEQ7QUFDakgsU0FBU0MsaUJBQWlCLFFBQVEsc0RBQXNEO0FBQ3hGLFNBQVNDLCtCQUErQixRQUFRLDJEQUEyRDtBQUMzRyxTQUFTQyxjQUFjLFFBQVEsMkNBQTJDO0FBQzFFLFNBQVNDLGlCQUFpQixRQUFRLDRCQUE0QjtBQUM5RCxTQUFTQyxJQUFJLFFBQVEsZUFBZTtBQUNwQyxTQUFTQyxzQkFBc0IsRUFBRUMsd0JBQXdCLFFBQVEsaUNBQWlDO0FBR2xHLFNBQVNDLFdBQVcsRUFBRUMsWUFBWSxRQUFRLHNCQUFzQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFaEUsSUFBTUMsVUFBVSxH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
279
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiQWdlbnRBY3Rpdml0eUluZGljYXRvciIsIkNvbnRleHRDb21wYWN0ZWROb3RpY2UiLCJNYWlhU3RyZWFtZG93biIsIlJlYXNvbmluZ0Jsb2NrIiwiU0NUaW1lbGluZUluZGljYXRvciIsIlNDRmluYWxBbnN3ZXJCb2R5IiwiUmVhc29uaW5nVGltZWxpbmUiLCJzaG91bGRTdHJlYW1OYXJyYXRpb25JblRpbWVsaW5lIiwicmVhc29uaW5nU3RvcmUiLCJ1c2VSZWFzb25pbmdUcmFjZSIsInVzZVQiLCJyZXNvbHZlVG9vbEFjdGlvbkxhYmVsIiwiZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5IiwiTU9DS19FVkVOVFMiLCJNT0NLX1NVTU1BUlkiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiTUVTU0FHRV9JRCIsIlNQRUVEUyIsIkJPRFlfQ0hVTktTIiwiRGV2UmVhc29uaW5nVGltZWxpbmUiLCJfdXNlVCIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhY3Rpdml0eSIsInNldEFjdGl2aXR5IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJib2R5Iiwic2V0Qm9keSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNEb25lIiwic2V0SXNEb25lIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzaG93VGhpbmtpbmciLCJzZXRTaG93VGhpbmtpbmciLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInNpbXVsYXRlQ29tcGFjdGlvbiIsInNldFNpbXVsYXRlQ29tcGFjdGlvbiIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsInNwZWVkIiwic2V0U3BlZWQiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwicnVuSWQiLCJzZXRSdW5JZCIsInRpbWVvdXRzUmVmIiwiY2xlYXJUaW1lcnMiLCJjdXJyZW50IiwiZm9yRWFjaCIsImlkIiwid2luZG93IiwiY2xlYXJUaW1lb3V0IiwicnVuIiwiY2xlYXIiLCJzdGFydCIsInBoYXNlIiwibWVzc2FnZSIsImVtaXR0ZWQiLCJNYXAiLCJzY2hlZHVsZSIsImF0IiwiZm4iLCJwdXNoIiwic2V0VGltZW91dCIsInNldENvbXBhY3Rpb24iLCJzdHJhdGVnaWVzIiwic3VtbWFyaXplZCIsImltYWdlc19wcnVuZWQiLCJ0dXJuc19kcm9wcGVkIiwidG9vbF9yZXN1bHRzX2NsZWFyZWQiLCJ0b2tlbnNfYmVmb3JlIiwidG9rZW5zX2FmdGVyIiwiYWdlbnQiLCJldmVudCIsImtpbmQiLCJhcHBlbmRUaGlua2luZyIsImkiLCJ0ZXh0Iiwic2l6ZSIsIk1hdGgiLCJjZWlsIiwibGVuZ3RoIiwiX2xvb3AiLCJzbGljZSIsImNodW5rIiwiZmluaXNoIiwidiIsInN0ZXBzIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidmFsdWVzIiwic3VtbWFyeSIsInBheWxvYWQiLCJzZXQiLCJfb2JqZWN0U3ByZWFkIiwiZ2V0IiwiYXBwbHlTdGVwIiwidHlwZSIsIm1hcmtBbnN3ZXJSZXNldCIsInN0YXR1cyIsInRvb2wiLCJsYWJlbCIsIl91c2VSZWFzb25pbmdUcmFjZSIsIl91c2VSZWFzb25pbmdUcmFjZTIiLCJjb21wYWN0aW9uIiwic3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSIsInN0eWxlIiwicGFkZGluZyIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwiZm9udEZhbWlseSIsImNoaWxkcmVuIiwiYWxpZ25JdGVtcyIsImZsZXhXcmFwIiwib25DbGljayIsImZvbnRTaXplIiwibWFwIiwib3B0aW9uIiwiZm9udFdlaWdodCIsImh0bWxGb3IiLCJjaGVja2VkIiwib25DaGFuZ2UiLCJlIiwidGFyZ2V0IiwibWFyZ2luIiwiY29sb3IiLCJtYXhXaWR0aCIsIm1lc3NhZ2VJZCIsImNvbmNhdCIsInN0cmVhbUFjdGl2aXR5Iiwic3RyZWFtaW5nVGV4dCIsInZhcmlhbnQiLCJjb21wYWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rldi9EZXZSZWFzb25pbmdUaW1lbGluZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvYnV0dG9uLWhhcy10eXBlICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IEFnZW50QWN0aXZpdHlJbmRpY2F0b3IgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0FnZW50QWN0aXZpdHlJbmRpY2F0b3IvQWdlbnRBY3Rpdml0eUluZGljYXRvcidcbmltcG9ydCB7IENvbnRleHRDb21wYWN0ZWROb3RpY2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0NvbnRleHRDb21wYWN0ZWROb3RpY2UvQ29udGV4dENvbXBhY3RlZE5vdGljZSdcbmltcG9ydCB7IE1haWFTdHJlYW1kb3duIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9NYWlhU3RyZWFtZG93bi9NYWlhU3RyZWFtZG93bidcbmltcG9ydCB7IFJlYXNvbmluZ0Jsb2NrIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9SZWFzb25pbmdCbG9jay9SZWFzb25pbmdCbG9jaydcbmltcG9ydCB7IFNDVGltZWxpbmVJbmRpY2F0b3IsIFNDRmluYWxBbnN3ZXJCb2R5IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9SZWFzb25pbmdCbG9jay9SZWFzb25pbmdCbG9jay5zdHlsZXMnXG5pbXBvcnQgeyBSZWFzb25pbmdUaW1lbGluZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvUmVhc29uaW5nQmxvY2svUmVhc29uaW5nVGltZWxpbmUnXG5pbXBvcnQgeyBzaG91bGRTdHJlYW1OYXJyYXRpb25JblRpbWVsaW5lIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9SZWFzb25pbmdCbG9jay9yZWFzb25pbmdMaXZlTmFycmF0aW9uJ1xuaW1wb3J0IHsgcmVhc29uaW5nU3RvcmUgfSBmcm9tICcuLi9ob29rcy91c2VSZWFzb25pbmdUcmFjZS9yZWFzb25pbmdTdG9yZSdcbmltcG9ydCB7IHVzZVJlYXNvbmluZ1RyYWNlIH0gZnJvbSAnLi4vaG9va3MvdXNlUmVhc29uaW5nVHJhY2UnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IHJlc29sdmVUb29sQWN0aW9uTGFiZWwsIGdldFdyaXRpbmdTdHJlYW1BY3Rpdml0eSB9IGZyb20gJy4uL3V0aWxzL3N0cmVhbUFjdGl2aXR5TWVzc2FnZXMnXG5pbXBvcnQgdHlwZSB7IFJlYXNvbmluZ1N0ZXBQYXlsb2FkIH0gZnJvbSAnLi4vdHlwZXMvcmVhc29uaW5nJ1xuaW1wb3J0IHR5cGUgeyBTdHJlYW1BY3Rpdml0eSB9IGZyb20gJy4uL3R5cGVzL3N0cmVhbUFjdGl2aXR5J1xuaW1wb3J0IHsgTU9DS19FVkVOVFMsIE1PQ0tfU1VNTUFSWSB9IGZyb20gJy4vcmVhc29uaW5nVHJhY2VNb2NrJ1xuXG5jb25zdCBNRVNTQUdFX0lEID0gJ2Fuc3dlci1kZXYtcmVhc29uaW5nLXN0cmVhbWluZydcbmNvbnN0IFNQRUVEUyA9IFsxLCAyLCA0LCA4XSBhcyBjb25zdFxuLyoqIENodW5rcyBlbiBsb3MgcXVlIHNlIHBhcnRlIGVsIHRleHRvIGRlIGNhZGEgdHVybm8gcGFyYSBzaW11bGFyIGxvcyB0b2tlbnMuICovXG5jb25zdCBCT0RZX0NIVU5LUyA9IDRcblxuZXhwb3J0IGZ1bmN0aW9uIERldlJlYXNvbmluZ1RpbWVsaW5lKCkge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBbYWN0aXZpdHksIHNldEFjdGl2aXR5XSA9IHVzZVN0YXRlPFN0cmVhbUFjdGl2aXR5IHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2JvZHksIHNldEJvZHldID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtpc0RvbmUsIHNldElzRG9uZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3Nob3dUaGlua2luZywgc2V0U2hvd1RoaW5raW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2ltdWxhdGVDb21wYWN0aW9uLCBzZXRTaW11bGF0ZUNvbXBhY3Rpb25dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzcGVlZCwgc2V0U3BlZWRdID0gdXNlU3RhdGU8KHR5cGVvZiBTUEVFRFMpW251bWJlcl0+KDQpXG4gIGNvbnN0IFtydW5JZCwgc2V0UnVuSWRdID0gdXNlU3RhdGUoMClcbiAgY29uc3QgdGltZW91dHNSZWYgPSB1c2VSZWY8bnVtYmVyW10+KFtdKVxuXG4gIGNvbnN0IGNsZWFyVGltZXJzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHRpbWVvdXRzUmVmLmN1cnJlbnQuZm9yRWFjaChpZCA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKSlcbiAgICB0aW1lb3V0c1JlZi5jdXJyZW50ID0gW11cbiAgfSwgW10pXG5cbiAgY29uc3QgcnVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNsZWFyVGltZXJzKClcbiAgICByZWFzb25pbmdTdG9yZS5jbGVhcigpXG4gICAgcmVhc29uaW5nU3RvcmUuc3RhcnQoTUVTU0FHRV9JRClcbiAgICBzZXRBY3Rpdml0eSh7IHBoYXNlOiAndGhpbmtpbmcnLCBtZXNzYWdlOiB0KCdjaGF0LmFjdGl2aXR5LnRoaW5raW5nLmFuYWx5emluZycpIH0pXG4gICAgc2V0Qm9keSgnJylcbiAgICBzZXRJc0RvbmUoZmFsc2UpXG4gICAgc2V0UnVuSWQoY3VycmVudCA9PiBjdXJyZW50ICsgMSlcblxuICAgIC8vIExhIHRyYXphIGF1dG9yaXRhdGl2YSBkZWwgYGNvbXBsZXRlYCBzZSBhcm1hIGNvbiBsb3MgbWlzbW9zIHN0ZXBzIHF1ZSBzZVxuICAgIC8vIGZ1ZXJvbiBlbWl0aWVuZG8sIHBhcmEgbm8gZHVwbGljYXIgZWwgcGF5bG9hZCBlbiBlbCBtb2NrLlxuICAgIGNvbnN0IGVtaXR0ZWQgPSBuZXcgTWFwPG51bWJlciwgUmVhc29uaW5nU3RlcFBheWxvYWQ+KClcbiAgICBjb25zdCBzY2hlZHVsZSA9IChhdDogbnVtYmVyLCBmbjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgdGltZW91dHNSZWYuY3VycmVudC5wdXNoKHdpbmRvdy5zZXRUaW1lb3V0KGZuLCBhdCAvIHNwZWVkKSlcbiAgICB9XG5cbiAgICAvLyBgZXZlbnQ6IGNvbnRleHRfY29tcGFjdGVkYCBhIG1pdGFkIGRlbCB0dXJubywgY29tbyBjdWFuZG8gZWwgaGlzdG9yaWFsXG4gICAgLy8geWEgbm8gZW50cmEgeSBlbCBiYWNrZW5kIHRpZW5lIHF1ZSByZWNvcnRhciBhbnRlcyBkZSBpbnZvY2FyIGFsIG1vZGVsby5cbiAgICBpZiAoc2ltdWxhdGVDb21wYWN0aW9uKSB7XG4gICAgICBzY2hlZHVsZSg0MDAwLCAoKSA9PlxuICAgICAgICByZWFzb25pbmdTdG9yZS5zZXRDb21wYWN0aW9uKE1FU1NBR0VfSUQsIHtcbiAgICAgICAgICBzdHJhdGVnaWVzOiBbJ2NhcF90b29sX3Jlc3VsdHMnLCAncHJ1bmVfaW1hZ2VzJywgJ3N1bW1hcml6ZSddLFxuICAgICAgICAgIHN1bW1hcml6ZWQ6IHRydWUsXG4gICAgICAgICAgaW1hZ2VzX3BydW5lZDogMyxcbiAgICAgICAgICB0dXJuc19kcm9wcGVkOiAwLFxuICAgICAgICAgIHRvb2xfcmVzdWx0c19jbGVhcmVkOiA3LFxuICAgICAgICAgIHRva2Vuc19iZWZvcmU6IDI0MzAxMSxcbiAgICAgICAgICB0b2tlbnNfYWZ0ZXI6IDEzMTg4NCxcbiAgICAgICAgICBhZ2VudDogJ29yY2hlc3RyYXRvcjpkZXYnLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cblxuICAgIE1PQ0tfRVZFTlRTLmZvckVhY2goZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICd0aGlua2luZycpIHtcbiAgICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHJlYXNvbmluZ1N0b3JlLmFwcGVuZFRoaW5raW5nKE1FU1NBR0VfSUQsIGV2ZW50LmksIGV2ZW50LnRleHQpKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICdib2R5Jykge1xuICAgICAgICBzY2hlZHVsZShldmVudC5hdCwgKCkgPT4gc2V0QWN0aXZpdHkoZ2V0V3JpdGluZ1N0cmVhbUFjdGl2aXR5KHQpKSlcbiAgICAgICAgLy8gVG9rZW5zOiBlbCB0ZXh0byBlbnRyYSBkZSBhIHBlZGF6b3MsIGNvbW8gZWwgc3RyZWFtIHJlYWwuXG4gICAgICAgIGNvbnN0IHNpemUgPSBNYXRoLmNlaWwoZXZlbnQudGV4dC5sZW5ndGggLyBCT0RZX0NIVU5LUylcbiAgICAgICAgZm9yIChsZXQgY2h1bmsgPSAwOyBjaHVuayA8IEJPRFlfQ0hVTktTOyBjaHVuayArPSAxKSB7XG4gICAgICAgICAgY29uc3Qgc2xpY2UgPSBldmVudC50ZXh0LnNsaWNlKDAsIHNpemUgKiAoY2h1bmsgKyAxKSlcbiAgICAgICAgICBzY2hlZHVsZShldmVudC5hdCArIGNodW5rICogMjIwLCAoKSA9PiBzZXRCb2R5KHNsaWNlKSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50LmtpbmQgPT09ICdjb21wbGV0ZScpIHtcbiAgICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHtcbiAgICAgICAgICByZWFzb25pbmdTdG9yZS5maW5pc2goTUVTU0FHRV9JRCwgeyB2OiAxLCBzdGVwczogWy4uLmVtaXR0ZWQudmFsdWVzKCldLCBzdW1tYXJ5OiBNT0NLX1NVTU1BUlkgfSlcbiAgICAgICAgICBzZXRBY3Rpdml0eShudWxsKVxuICAgICAgICAgIHNldElzRG9uZSh0cnVlKVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2NoZWR1bGUoZXZlbnQuYXQsICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBldmVudFxuICAgICAgICBlbWl0dGVkLnNldChwYXlsb2FkLmksIHsgLi4uZW1pdHRlZC5nZXQocGF5bG9hZC5pKSwgLi4ucGF5bG9hZCB9KVxuXG4gICAgICAgIC8vIElndWFsIHF1ZSBhbnN3ZXJfcmVzZXQgKyByZWFzb25pbmdfc3RlcDogY29tbWl0ZWFyIGZpbGEgeSBsaW1waWFyIGJvZHkuXG4gICAgICAgIHJlYXNvbmluZ1N0b3JlLmFwcGx5U3RlcChNRVNTQUdFX0lELCBwYXlsb2FkKVxuICAgICAgICBpZiAocGF5bG9hZC50eXBlID09PSAnbmFycmF0aW9uJykge1xuICAgICAgICAgIHNldEJvZHkoJycpXG4gICAgICAgICAgcmVhc29uaW5nU3RvcmUubWFya0Fuc3dlclJlc2V0KE1FU1NBR0VfSUQpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbCBtYW5hZ2VyIHNhY2EgZWwgbGFiZWwgZGUgYWN0aXZpZGFkIGRlIGxhIHRvb2wgcXVlIGFycmFuY2EgYSBjb3JyZXIuXG4gICAgICAgIGlmIChwYXlsb2FkLnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIHBheWxvYWQudHlwZSA9PT0gJ3Rvb2wnICYmIHBheWxvYWQudG9vbCkge1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gcmVzb2x2ZVRvb2xBY3Rpb25MYWJlbChwYXlsb2FkLnRvb2wsIHQsICdwcmVzZW50JylcbiAgICAgICAgICBpZiAobGFiZWwpIHNldEFjdGl2aXR5KHsgcGhhc2U6ICdhY3Rpb24nLCBtZXNzYWdlOiBsYWJlbCB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gIH0sIFtjbGVhclRpbWVycywgc2ltdWxhdGVDb21wYWN0aW9uLCBzcGVlZCwgdF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IGNsZWFyVGltZXJzLCBbY2xlYXJUaW1lcnNdKVxuXG4gIGNvbnN0IHsgc3RlcHMgfSA9IHVzZVJlYXNvbmluZ1RyYWNlKGlzRG9uZSA/ICcnIDogTUVTU0FHRV9JRClcbiAgY29uc3QgeyBjb21wYWN0aW9uIH0gPSB1c2VSZWFzb25pbmdUcmFjZShNRVNTQUdFX0lEKVxuICBjb25zdCBzdHJlYW1OYXJyYXRpb25JblRpbWVsaW5lID0gc2hvdWxkU3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZShzdGVwcywgYWN0aXZpdHksIGJvZHksIE1FU1NBR0VfSUQpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17eyBwYWRkaW5nOiAyNCwgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAyMCwgZm9udEZhbWlseTogJ1dvcmsgU2Fucywgc2Fucy1zZXJpZicgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAxNiwgYWxpZ25JdGVtczogJ2NlbnRlcicsIGZsZXhXcmFwOiAnd3JhcCcgfX0+XG4gICAgICAgIDxidXR0b24gb25DbGljaz17cnVufSBzdHlsZT17eyBwYWRkaW5nOiAnNnB4IDE0cHgnIH19PlxuICAgICAgICAgIFJlcHJvZHVjaXIgdHVybm9cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiA0LCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZm9udFNpemU6IDEzIH19PlxuICAgICAgICAgIFZlbG9jaWRhZDpcbiAgICAgICAgICB7U1BFRURTLm1hcChvcHRpb24gPT4gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBrZXk9e29wdGlvbn1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U3BlZWQob3B0aW9uKX1cbiAgICAgICAgICAgICAgc3R5bGU9e3sgcGFkZGluZzogJzJweCA4cHgnLCBmb250V2VpZ2h0OiBzcGVlZCA9PT0gb3B0aW9uID8gNzAwIDogNDAwIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtvcHRpb259eFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJkZXYtc2hvdy10aGlua2luZ1wiIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiA2LCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZm9udFNpemU6IDEzIH19PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgaWQ9XCJkZXYtc2hvdy10aGlua2luZ1wiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgY2hlY2tlZD17c2hvd1RoaW5raW5nfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gc2V0U2hvd1RoaW5raW5nKGUudGFyZ2V0LmNoZWNrZWQpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgTW9zdHJhciB0aGlua2luZyAod2luZG93LnJlYXNvbmluZ1RoaW5raW5nKVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImRldi1jb21wYWN0aW9uXCIgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6IDYsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBmb250U2l6ZTogMTMgfX0+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBpZD1cImRldi1jb21wYWN0aW9uXCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBjaGVja2VkPXtzaW11bGF0ZUNvbXBhY3Rpb259XG4gICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBzZXRTaW11bGF0ZUNvbXBhY3Rpb24oZS50YXJnZXQuY2hlY2tlZCl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICBTaW11bGFyIGNvbnRleHRfY29tcGFjdGVkXG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogMTIsIGNvbG9yOiAnIzgwODA4MCcsIG1heFdpZHRoOiA2NDAgfX0+XG4gICAgICAgIFJlcGxheSBkZSB1biB0dXJubyByZWFsIGRlIDk0czogMzAgcGFzb3MsIDE4IHRvb2xzLCBkb3MgaGFuZG9mZnMgYW5pZGFkb3MgeSByw6FmYWdhcyBkZSB0b29scyBlbiBwYXJhbGVsby4gRWxcbiAgICAgICAgY3VlcnBvIGRlbCBtZW5zYWplIHNlIGxpbXBpYSBjb24gY2FkYSBuYXJyYWNpw7NuLCBpZ3VhbCBxdWUgZWwgPGNvZGU+YW5zd2VyX3Jlc2V0PC9jb2RlPiBkZWwgYmFja2VuZC5cbiAgICAgIDwvcD5cblxuICAgICAgPGRpdiBzdHlsZT17eyBtYXhXaWR0aDogNjQwLCBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6IDggfX0+XG4gICAgICAgIHtpc0RvbmUgPyAoXG4gICAgICAgICAgPFJlYXNvbmluZ0Jsb2NrIGtleT17YGJsb2NrLSR7cnVuSWR9YH0gbWVzc2FnZUlkPXtNRVNTQUdFX0lEfSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxSZWFzb25pbmdUaW1lbGluZVxuICAgICAgICAgICAgbWVzc2FnZUlkPXtNRVNTQUdFX0lEfVxuICAgICAgICAgICAgc2hvd1RoaW5raW5nPXtzaG93VGhpbmtpbmd9XG4gICAgICAgICAgICBzdHJlYW1BY3Rpdml0eT17YWN0aXZpdHl9XG4gICAgICAgICAgICBzdHJlYW1pbmdUZXh0PXtib2R5fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxDb250ZXh0Q29tcGFjdGVkTm90aWNlIGNvbXBhY3Rpb249e2NvbXBhY3Rpb259IC8+XG4gICAgICAgIHshc3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSAmJiAhIWJvZHkgJiYgKFxuICAgICAgICAgIDxTQ0ZpbmFsQW5zd2VyQm9keT5cbiAgICAgICAgICAgIDxNYWlhU3RyZWFtZG93biB2YXJpYW50PVwiY2hhdFwiPntib2R5fTwvTWFpYVN0cmVhbWRvd24+XG4gICAgICAgICAgPC9TQ0ZpbmFsQW5zd2VyQm9keT5cbiAgICAgICAgKX1cbiAgICAgICAge2FjdGl2aXR5ICYmIChcbiAgICAgICAgICA8U0NUaW1lbGluZUluZGljYXRvcj5cbiAgICAgICAgICAgIDxBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIGFjdGl2aXR5PXthY3Rpdml0eX0gY29tcGFjdCAvPlxuICAgICAgICAgIDwvU0NUaW1lbGluZUluZGljYXRvcj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUVoRSxTQUFTQyxzQkFBc0IsUUFBUSxtRUFBbUU7QUFDMUcsU0FBU0Msc0JBQXNCLFFBQVEsbUVBQW1FO0FBQzFHLFNBQVNDLGNBQWMsUUFBUSxtREFBbUQ7QUFDbEYsU0FBU0MsY0FBYyxRQUFRLG1EQUFtRDtBQUNsRixTQUFTQyxtQkFBbUIsRUFBRUMsaUJBQWlCLFFBQVEsMERBQTBEO0FBQ2pILFNBQVNDLGlCQUFpQixRQUFRLHNEQUFzRDtBQUN4RixTQUFTQywrQkFBK0IsUUFBUSwyREFBMkQ7QUFDM0csU0FBU0MsY0FBYyxRQUFRLDJDQUEyQztBQUMxRSxTQUFTQyxpQkFBaUIsUUFBUSw0QkFBNEI7QUFDOUQsU0FBU0MsSUFBSSxRQUFRLGVBQWU7QUFDcEMsU0FBU0Msc0JBQXNCLEVBQUVDLHdCQUF3QixRQUFRLGlDQUFpQztBQUdsRyxTQUFTQyxXQUFXLEVBQUVDLFlBQVksUUFBUSxzQkFBc0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRWhFLElBQU1DLFVBQVUsR0FBRyxnQ0FBZ0M7QUFDbkQsSUFBTUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFVO0FBQ3BDO0FBQ0EsSUFBTUMsV0FBVyxHQUFHLENBQUM7QUFFckIsT0FBTyxTQUFTQyxvQkFBb0JBLENBQUEsRUFBRztFQUNyQyxJQUFBQyxLQUFBLEdBQWNiLElBQUksQ0FBQyxDQUFDO0lBQVpjLENBQUMsR0FBQUQsS0FB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
@@ -10,7 +10,7 @@ import { useTranslation } from 'react-i18next';
10
10
  import { createAgent } from '../../services/maia/Agents/createAgent';
11
11
  import { setAgentToolGroups } from '../../services/maia/Agents/setAgentToolGroups';
12
12
  import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
13
- import { buildAgentToolGroupsRequest, buildAgentConnectorsFromCorAccess, DEFAULT_COR_ACCESS } from '../../utils/normalizeAgentConnectors';
13
+ import { buildAgentToolGroupsRequest, buildAgentConnectorsFromTaskAccess } from '../../utils/normalizeAgentConnectors';
14
14
  export var parsedValuesByReq = function parsedValuesByReq(agentValues) {
15
15
  var _agentValues$aiModel, _agentValues$aiModel2;
16
16
  return {
@@ -46,7 +46,7 @@ export var useCreateAgent = function useCreateAgent() {
46
46
  };
47
47
  var handleCreateAgent = /*#__PURE__*/function () {
48
48
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
49
- var parsedValue, _values$accessibility, _values$accessibility2, response, corAccess, _t, _t2;
49
+ var parsedValue, _values$accessibility, _values$accessibility2, response, taskAccess, _t, _t2;
50
50
  return _regeneratorRuntime.wrap(function (_context) {
51
51
  while (1) switch (_context.prev = _context.next) {
52
52
  case 0:
@@ -71,14 +71,14 @@ export var useCreateAgent = function useCreateAgent() {
71
71
  }
72
72
  throw new Error(response.error);
73
73
  case 4:
74
- corAccess = (_values$accessibility = (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.corAccess) !== null && _values$accessibility !== void 0 ? _values$accessibility : DEFAULT_COR_ACCESS;
74
+ taskAccess = (_values$accessibility = (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.taskAccess) !== null && _values$accessibility !== void 0 ? _values$accessibility : true;
75
75
  if (!(response !== null && response !== void 0 && response.id)) {
76
76
  _context.next = 8;
77
77
  break;
78
78
  }
79
79
  _context.prev = 5;
80
80
  _context.next = 6;
81
- return setAgentToolGroups(response.id.toString(), buildAgentToolGroupsRequest(corAccess));
81
+ return setAgentToolGroups(response.id.toString(), buildAgentToolGroupsRequest(taskAccess));
82
82
  case 6:
83
83
  _context.next = 8;
84
84
  break;
@@ -89,7 +89,7 @@ export var useCreateAgent = function useCreateAgent() {
89
89
  case 8:
90
90
  setError(null);
91
91
  setSuccess(_objectSpread(_objectSpread({}, response), {}, {
92
- connectors: buildAgentConnectorsFromCorAccess(corAccess)
92
+ connectors: buildAgentConnectorsFromTaskAccess(taskAccess)
93
93
  }));
94
94
  _context.next = 10;
95
95
  break;
@@ -125,4 +125,4 @@ export var useCreateAgent = function useCreateAgent() {
125
125
  resetSuccess: resetSuccess
126
126
  };
127
127
  };
128
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21Db3JBY2Nlc3MiLCJERUZBVUxUX0NPUl9BQ0NFU1MiLCJwYXJzZWRWYWx1ZXNCeVJlcSIsImFnZW50VmFsdWVzIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwiLCJfYWdlbnRWYWx1ZXMkYWlNb2RlbDIiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsImlucHV0UGxhY2Vob2xkZXIiLCJ1c2VyX3Byb21wdCIsInVzZXJQcm9tcHQiLCJwcm92aWRlciIsImFpTW9kZWwiLCJtb2RlbF9uYW1lIiwidXNlQ3JlYXRlQWdlbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzdWNjZXNzIiwic2V0U3VjY2VzcyIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiaXNQcm9jZXNzaW5nUmVmIiwiaGFuZGxlU2V0U3VjY2VzcyIsInZhbHVlIiwiaGFuZGxlQ3JlYXRlQWdlbnQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ2YWx1ZXMiLCJwYXJzZWRWYWx1ZSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJyZXNwb25zZSIsImNvckFjY2VzcyIsIl90IiwiX3QyIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjdXJyZW50IiwiYWJydXB0IiwiZ2VuZXJhbCIsInNlbnQiLCJFcnJvciIsImFjY2Vzc2liaWxpdHkiLCJpZCIsInRvU3RyaW5nIiwiY29uc29sZSIsIl9vYmplY3RTcHJlYWQiLCJjb25uZWN0b3JzIiwibWVzc2FnZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmVzZXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUFnZW50TW9kZWwvdXNlQ3JlYXRlQWdlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQWdlbnRDcmVhdGVSZXF1ZXN0LCBjcmVhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2NyZWF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7XG4gIGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCxcbiAgYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tQ29yQWNjZXNzLFxuICBERUZBVUxUX0NPUl9BQ0NFU1MsXG59IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcblxuZXhwb3J0IGNvbnN0IHBhcnNlZFZhbHVlc0J5UmVxID0gKGFnZW50VmFsdWVzOiBhbnkpOiBBZ2VudENyZWF0ZVJlcXVlc3QgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGFnZW50VmFsdWVzLm5hbWUsXG4gICAgZW1vamk6IGFnZW50VmFsdWVzLmVtb2ppIHx8ICfinKgnLFxuICAgIGludHJvZHVjdGlvbjogYWdlbnRWYWx1ZXMuaW50cm9kdWN0aW9uIHx8ICcnLFxuICAgIGlucHV0X3BsYWNlaG9sZGVyOiBhZ2VudFZhbHVlcy5pbnB1dFBsYWNlaG9sZGVyIHx8ICcnLFxuICAgIHVzZXJfcHJvbXB0OiBhZ2VudFZhbHVlcy51c2VyUHJvbXB0LFxuICAgIHByb3ZpZGVyOiBhZ2VudFZhbHVlcy5haU1vZGVsPy5wcm92aWRlcixcbiAgICBtb2RlbF9uYW1lOiBhZ2VudFZhbHVlcy5haU1vZGVsPy5tb2RlbF9uYW1lLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VDcmVhdGVBZ2VudCA9ICgpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbignYWJtX2FnZW50X3NlY3Rpb24nKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3N1Y2Nlc3MsIHNldFN1Y2Nlc3NdID0gdXNlU3RhdGU8YW55PihmYWxzZSlcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCBpc1Byb2Nlc3NpbmdSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgY29uc3QgaGFuZGxlU2V0U3VjY2VzcyA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgIHNldFN1Y2Nlc3ModmFsdWUpXG4gIH1cblxuICBjb25zdCBoYW5kbGVDcmVhdGVBZ2VudCA9IGFzeW5jICh2YWx1ZXM6IGFueSkgPT4ge1xuICAgIGlmIChpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkVmFsdWU6IEFnZW50Q3JlYXRlUmVxdWVzdCA9IHBhcnNlZFZhbHVlc0J5UmVxKHZhbHVlcy5nZW5lcmFsKVxuXG4gICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgc2V0SXNMb2FkaW5nKHRydWUpXG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNyZWF0ZUFnZW50KHBhcnNlZFZhbHVlKVxuXG4gICAgICBpZiAocmVzcG9uc2UuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3BvbnNlLmVycm9yKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb3JBY2Nlc3MgPSB2YWx1ZXMuYWNjZXNzaWJpbGl0eT8uY29yQWNjZXNzID8/IERFRkFVTFRfQ09SX0FDQ0VTU1xuXG4gICAgICBpZiAocmVzcG9uc2U/LmlkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWdlbnRUb29sR3JvdXBzKHJlc3BvbnNlLmlkLnRvU3RyaW5nKCksIGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdChjb3JBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21Db3JBY2Nlc3MoY29yQWNjZXNzKSB9KVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXNldFN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFuZGxlQ3JlYXRlQWdlbnQsXG4gICAgaXNMb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHN1Y2Nlc3MsXG4gICAgaGFuZGxlU2V0U3VjY2VzcyxcbiAgICByZXNldFN1Y2Nlc3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3hDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQTZCQyxXQUFXLFFBQVEsd0NBQXdDO0FBQ3hGLFNBQVNDLGtCQUFrQixRQUFRLCtDQUErQztBQUNsRixTQUFTQyxrQkFBa0IsUUFBUSwwQ0FBMEM7QUFDN0UsU0FDRUMsMkJBQTJCLEVBQzNCQyxpQ0FBaUMsRUFDakNDLGtCQUFrQixRQUNiLHNDQUFzQztBQUU3QyxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLFdBQWdCLEVBQXlCO0VBQUEsSUFBQUMsb0JBQUEsRUFBQUMscUJBQUE7RUFDekUsT0FBTztJQUNMQyxJQUFJLEVBQUVILFdBQVcsQ0FBQ0csSUFBSTtJQUN0QkMsS0FBSyxFQUFFSixXQUFXLENBQUNJLEtBQUssSUFBSSxHQUFHO0lBQy9CQyxZQUFZLEVBQUVMLFdBQVcsQ0FBQ0ssWUFBWSxJQUFJLEVBQUU7SUFDNUNDLGlCQUFpQixFQUFFTixXQUFXLENBQUNPLGdCQUFnQixJQUFJLEVBQUU7SUFDckRDLFdBQVcsRUFBRVIsV0FBVyxDQUFDUyxVQUFVO0lBQ25DQyxRQUFRLEdB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
128
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIiwicGFyc2VkVmFsdWVzQnlSZXEiLCJhZ2VudFZhbHVlcyIsIl9hZ2VudFZhbHVlcyRhaU1vZGVsIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwyIiwibmFtZSIsImVtb2ppIiwiaW50cm9kdWN0aW9uIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJpbnB1dFBsYWNlaG9sZGVyIiwidXNlcl9wcm9tcHQiLCJ1c2VyUHJvbXB0IiwicHJvdmlkZXIiLCJhaU1vZGVsIiwibW9kZWxfbmFtZSIsInVzZUNyZWF0ZUFnZW50IiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic3VjY2VzcyIsInNldFN1Y2Nlc3MiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImlzUHJvY2Vzc2luZ1JlZiIsImhhbmRsZVNldFN1Y2Nlc3MiLCJ2YWx1ZSIsImhhbmRsZUNyZWF0ZUFnZW50IiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwidmFsdWVzIiwicGFyc2VkVmFsdWUiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkyIiwicmVzcG9uc2UiLCJ0YXNrQWNjZXNzIiwiX3QiLCJfdDIiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYnJ1cHQiLCJnZW5lcmFsIiwic2VudCIsIkVycm9yIiwiYWNjZXNzaWJpbGl0eSIsImlkIiwidG9TdHJpbmciLCJjb25zb2xlIiwiX29iamVjdFNwcmVhZCIsImNvbm5lY3RvcnMiLCJtZXNzYWdlIiwiZmluaXNoIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXNldFN1Y2Nlc3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlQWdlbnRNb2RlbC91c2VDcmVhdGVBZ2VudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBZ2VudENyZWF0ZVJlcXVlc3QsIGNyZWF0ZUFnZW50IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY3JlYXRlQWdlbnQnXG5pbXBvcnQgeyBzZXRBZ2VudFRvb2xHcm91cHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9zZXRBZ2VudFRvb2xHcm91cHMnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0LCBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIH0gZnJvbSAnLi4vLi4vdXRpbHMvbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzJ1xuXG5leHBvcnQgY29uc3QgcGFyc2VkVmFsdWVzQnlSZXEgPSAoYWdlbnRWYWx1ZXM6IGFueSk6IEFnZW50Q3JlYXRlUmVxdWVzdCA9PiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogYWdlbnRWYWx1ZXMubmFtZSxcbiAgICBlbW9qaTogYWdlbnRWYWx1ZXMuZW1vamkgfHwgJ+KcqCcsXG4gICAgaW50cm9kdWN0aW9uOiBhZ2VudFZhbHVlcy5pbnRyb2R1Y3Rpb24gfHwgJycsXG4gICAgaW5wdXRfcGxhY2Vob2xkZXI6IGFnZW50VmFsdWVzLmlucHV0UGxhY2Vob2xkZXIgfHwgJycsXG4gICAgdXNlcl9wcm9tcHQ6IGFnZW50VmFsdWVzLnVzZXJQcm9tcHQsXG4gICAgcHJvdmlkZXI6IGFnZW50VmFsdWVzLmFpTW9kZWw/LnByb3ZpZGVyLFxuICAgIG1vZGVsX25hbWU6IGFnZW50VmFsdWVzLmFpTW9kZWw/Lm1vZGVsX25hbWUsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVzZUNyZWF0ZUFnZW50ID0gKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbc3VjY2Vzcywgc2V0U3VjY2Vzc10gPSB1c2VTdGF0ZTxhbnk+KGZhbHNlKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IGlzUHJvY2Vzc2luZ1JlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBoYW5kbGVTZXRTdWNjZXNzID0gKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgc2V0U3VjY2Vzcyh2YWx1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNyZWF0ZUFnZW50ID0gYXN5bmMgKHZhbHVlczogYW55KSA9PiB7XG4gICAgaWYgKGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZTogQWdlbnRDcmVhdGVSZXF1ZXN0ID0gcGFyc2VkVmFsdWVzQnlSZXEodmFsdWVzLmdlbmVyYWwpXG5cbiAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY3JlYXRlQWdlbnQocGFyc2VkVmFsdWUpXG5cbiAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhc2tBY2Nlc3MgPSB2YWx1ZXMuYWNjZXNzaWJpbGl0eT8udGFza0FjY2VzcyA/PyB0cnVlXG5cbiAgICAgIGlmIChyZXNwb25zZT8uaWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBzZXRBZ2VudFRvb2xHcm91cHMocmVzcG9uc2UuaWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzKHRhc2tBY2Nlc3MpIH0pXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogdCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc2V0U3VjY2VzcyA9ICgpID0+IHtcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYW5kbGVDcmVhdGVBZ2VudCxcbiAgICBpc0xvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc3VjY2VzcyxcbiAgICBoYW5kbGVTZXRTdWNjZXNzLFxuICAgIHJlc2V0U3VjY2VzcyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDeEMsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBNkJDLFdBQVcsUUFBUSx3Q0FBd0M7QUFDeEYsU0FBU0Msa0JBQWtCLFFBQVEsK0NBQStDO0FBQ2xGLFNBQVNDLGtCQUFrQixRQUFRLDBDQUEwQztBQUM3RSxTQUFTQywyQkFBMkIsRUFBRUMsa0NBQWtDLFFBQVEsc0NBQXNDO0FBRXRILE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsV0FBZ0IsRUFBeUI7RUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtFQUN6RSxPQUFPO0lBQ0xDLElBQUksRUFBRUgsV0FBVyxDQUFDRyxJQUFJO0lBQ3RCQyxLQUFLLEVBQUVKLFdBQVcsQ0FBQ0ksS0FBSyxJQUFJLEdBQUc7SUFDL0JDLFlBQVksRUFBRUwsV0FBVyxDQUFDSyxZQUFZLElBQUksRUFBRTtJQUM1Q0MsaUJBQWlCLEVBQUVOLFdBQVcsQ0FBQ08sZ0JBQWdCLElBQUksRUFBRTtJQUNyREMsV0FBVyxFQUFFUixXQUFXLENBQUNTLFVBQVU7SUFDbkNDLFFBQVEsR0FBQVQsb0JBQUEsR0FBRUQsV0FBVyxDQUFDVyxPQUFPLGNBQUFWLG9CQUFBLHVCQUFuQkEsb0JBQUEsQ0FBcUJTLFFBQVE7SUFD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
@@ -10,7 +10,7 @@ import { useTranslation } from 'react-i18next';
10
10
  import { updateAgent } from '../../services/maia/Agents/updateAgent';
11
11
  import { setAgentToolGroups } from '../../services/maia/Agents/setAgentToolGroups';
12
12
  import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
13
- import { buildAgentToolGroupsRequest, buildAgentConnectorsFromCorAccess, DEFAULT_COR_ACCESS } from '../../utils/normalizeAgentConnectors';
13
+ import { buildAgentToolGroupsRequest, buildAgentConnectorsFromTaskAccess } from '../../utils/normalizeAgentConnectors';
14
14
  export var parsedValuesByReq = function parsedValuesByReq(agentValues) {
15
15
  var _agentValues$aiModel, _agentValues$aiModel2;
16
16
  return {
@@ -47,7 +47,7 @@ export var useUpdateAgent = function useUpdateAgent() {
47
47
  };
48
48
  var handleUpdateAgent = /*#__PURE__*/function () {
49
49
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
50
- var parsedValue, _values$accessibility, _values$accessibility2, _values$general, response, corAccess, agentId, _t, _t2;
50
+ var parsedValue, _values$accessibility, _values$accessibility2, _values$general, response, taskAccess, agentId, _t, _t2;
51
51
  return _regeneratorRuntime.wrap(function (_context) {
52
52
  while (1) switch (_context.prev = _context.next) {
53
53
  case 0:
@@ -72,7 +72,7 @@ export var useUpdateAgent = function useUpdateAgent() {
72
72
  }
73
73
  throw new Error(response.error);
74
74
  case 4:
75
- corAccess = (_values$accessibility = (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.corAccess) !== null && _values$accessibility !== void 0 ? _values$accessibility : DEFAULT_COR_ACCESS;
75
+ taskAccess = (_values$accessibility = (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.taskAccess) !== null && _values$accessibility !== void 0 ? _values$accessibility : true;
76
76
  agentId = (_values$general = values.general) === null || _values$general === void 0 ? void 0 : _values$general.id;
77
77
  if (!agentId) {
78
78
  _context.next = 8;
@@ -80,7 +80,7 @@ export var useUpdateAgent = function useUpdateAgent() {
80
80
  }
81
81
  _context.prev = 5;
82
82
  _context.next = 6;
83
- return setAgentToolGroups(agentId.toString(), buildAgentToolGroupsRequest(corAccess));
83
+ return setAgentToolGroups(agentId.toString(), buildAgentToolGroupsRequest(taskAccess));
84
84
  case 6:
85
85
  _context.next = 8;
86
86
  break;
@@ -91,7 +91,7 @@ export var useUpdateAgent = function useUpdateAgent() {
91
91
  case 8:
92
92
  setError(null);
93
93
  setSuccess(_objectSpread(_objectSpread({}, response), {}, {
94
- connectors: buildAgentConnectorsFromCorAccess(corAccess)
94
+ connectors: buildAgentConnectorsFromTaskAccess(taskAccess)
95
95
  }));
96
96
  setIsLoading(false);
97
97
  isProcessingRef.current = false;
@@ -126,4 +126,4 @@ export var useUpdateAgent = function useUpdateAgent() {
126
126
  resetSuccess: resetSuccess
127
127
  };
128
128
  };
129
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwidXBkYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21Db3JBY2Nlc3MiLCJERUZBVUxUX0NPUl9BQ0NFU1MiLCJwYXJzZWRWYWx1ZXNCeVJlcSIsImFnZW50VmFsdWVzIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwiLCJfYWdlbnRWYWx1ZXMkYWlNb2RlbDIiLCJpZCIsIm5hbWUiLCJlbW9qaSIsImludHJvZHVjdGlvbiIsImlucHV0X3BsYWNlaG9sZGVyIiwiaW5wdXRQbGFjZWhvbGRlciIsInVzZXJfcHJvbXB0IiwidXNlclByb21wdCIsInByb3ZpZGVyIiwiYWlNb2RlbCIsIm1vZGVsX25hbWUiLCJ1c2VVcGRhdGVBZ2VudCIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInN1Y2Nlc3MiLCJzZXRTdWNjZXNzIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJpc1Byb2Nlc3NpbmdSZWYiLCJoYW5kbGVTZXRTdWNjZXNzIiwidmFsdWUiLCJoYW5kbGVVcGRhdGVBZ2VudCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInZhbHVlcyIsInBhcnNlZFZhbHVlIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5IiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5MiIsIl92YWx1ZXMkZ2VuZXJhbCIsInJlc3BvbnNlIiwiY29yQWNjZXNzIiwiYWdlbnRJZCIsIl90IiwiX3QyIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJjdXJyZW50IiwiYWJydXB0IiwiZ2VuZXJhbCIsInNlbnQiLCJFcnJvciIsImFjY2Vzc2liaWxpdHkiLCJ0b1N0cmluZyIsImNvbnNvbGUiLCJfb2JqZWN0U3ByZWFkIiwiY29ubmVjdG9ycyIsIm1lc3NhZ2UiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsInJlc2V0U3VjY2VzcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VBZ2VudE1vZGVsL3VzZVVwZGF0ZUFnZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEFnZW50VXBkYXRlUmVxdWVzdCwgdXBkYXRlQWdlbnQgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy91cGRhdGVBZ2VudCdcbmltcG9ydCB7IHNldEFnZW50VG9vbEdyb3VwcyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3NldEFnZW50VG9vbEdyb3VwcydcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQge1xuICBidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QsXG4gIGJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbUNvckFjY2VzcyxcbiAgREVGQVVMVF9DT1JfQUNDRVNTLFxufSBmcm9tICcuLi8uLi91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMnXG5cbmV4cG9ydCBjb25zdCBwYXJzZWRWYWx1ZXNCeVJlcSA9IChhZ2VudFZhbHVlczogYW55KTogQWdlbnRVcGRhdGVSZXF1ZXN0ID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpZDogYWdlbnRWYWx1ZXMuaWQsXG4gICAgbmFtZTogYWdlbnRWYWx1ZXMubmFtZSxcbiAgICBlbW9qaTogYWdlbnRWYWx1ZXMuZW1vamkgfHwgJ+KcqCcsXG4gICAgaW50cm9kdWN0aW9uOiBhZ2VudFZhbHVlcy5pbnRyb2R1Y3Rpb24gfHwgJycsXG4gICAgaW5wdXRfcGxhY2Vob2xkZXI6IGFnZW50VmFsdWVzLmlucHV0UGxhY2Vob2xkZXIgfHwgJycsXG4gICAgdXNlcl9wcm9tcHQ6IGFnZW50VmFsdWVzLnVzZXJQcm9tcHQsXG4gICAgcHJvdmlkZXI6IGFnZW50VmFsdWVzLmFpTW9kZWw/LnByb3ZpZGVyLFxuICAgIG1vZGVsX25hbWU6IGFnZW50VmFsdWVzLmFpTW9kZWw/Lm1vZGVsX25hbWUsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVVwZGF0ZUFnZW50ID0gKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbc3VjY2Vzcywgc2V0U3VjY2Vzc10gPSB1c2VTdGF0ZTxhbnk+KGZhbHNlKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IGlzUHJvY2Vzc2luZ1JlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBoYW5kbGVTZXRTdWNjZXNzID0gKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgc2V0U3VjY2Vzcyh2YWx1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVVwZGF0ZUFnZW50ID0gYXN5bmMgKHZhbHVlczogYW55KSA9PiB7XG4gICAgaWYgKGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZTogQWdlbnRVcGRhdGVSZXF1ZXN0ID0gcGFyc2VkVmFsdWVzQnlSZXEodmFsdWVzLmdlbmVyYWwpXG5cbiAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICBzZXRTdWNjZXNzKGZhbHNlKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdXBkYXRlQWdlbnQocGFyc2VkVmFsdWUpXG5cbiAgICAgIGlmIChyZXNwb25zZS5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzcG9uc2UuZXJyb3IpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvckFjY2VzcyA9IHZhbHVlcy5hY2Nlc3NpYmlsaXR5Py5jb3JBY2Nlc3MgPz8gREVGQVVMVF9DT1JfQUNDRVNTXG4gICAgICBjb25zdCBhZ2VudElkID0gdmFsdWVzLmdlbmVyYWw/LmlkXG4gICAgICBpZiAoYWdlbnRJZCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHNldEFnZW50VG9vbEdyb3VwcyhhZ2VudElkLnRvU3RyaW5nKCksIGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdChjb3JBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21Db3JBY2Nlc3MoY29yQWNjZXNzKSB9KVxuICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ2Vycm9yQWdlbnRDcmVhdGVkJykpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmVzZXRTdWNjZXNzID0gKCkgPT4ge1xuICAgIHNldFN1Y2Nlc3MoZmFsc2UpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhhbmRsZVVwZGF0ZUFnZW50LFxuICAgIGlzTG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBzdWNjZXNzLFxuICAgIGhhbmRsZVNldFN1Y2Nlc3MsXG4gICAgcmVzZXRTdWNjZXNzLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0EsU0FBU0EsUUFBUSxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUN4QyxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUE2QkMsV0FBVyxRQUFRLHdDQUF3QztBQUN4RixTQUFTQyxrQkFBa0IsUUFBUSwrQ0FBK0M7QUFDbEYsU0FBU0Msa0JBQWtCLFFBQVEsMENBQTBDO0FBQzdFLFNBQ0VDLDJCQUEyQixFQUMzQkMsaUNBQWlDLEVBQ2pDQyxrQkFBa0IsUUFDYixzQ0FBc0M7QUFFN0MsT0FBTyxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxXQUFnQixFQUF5QjtFQUFBLElBQUFDLG9CQUFBLEVBQUFDLHFCQUFBO0VBQ3pFLE9BQU87SUFDTEMsRUFBRSxFQUFFSCxXQUFXLENBQUNHLEVBQUU7SUFDbEJDLElBQUksRUFBRUosV0FBVyxDQUFDSSxJQUFJO0lBQ3RCQyxLQUFLLEVBQUVMLFdBQVcsQ0FB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
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwidXBkYXRlQWdlbnQiLCJzZXRBZ2VudFRvb2xHcm91cHMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzIiwicGFyc2VkVmFsdWVzQnlSZXEiLCJhZ2VudFZhbHVlcyIsIl9hZ2VudFZhbHVlcyRhaU1vZGVsIiwiX2FnZW50VmFsdWVzJGFpTW9kZWwyIiwiaWQiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsImlucHV0UGxhY2Vob2xkZXIiLCJ1c2VyX3Byb21wdCIsInVzZXJQcm9tcHQiLCJwcm92aWRlciIsImFpTW9kZWwiLCJtb2RlbF9uYW1lIiwidXNlVXBkYXRlQWdlbnQiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzdWNjZXNzIiwic2V0U3VjY2VzcyIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiaXNQcm9jZXNzaW5nUmVmIiwiaGFuZGxlU2V0U3VjY2VzcyIsInZhbHVlIiwiaGFuZGxlVXBkYXRlQWdlbnQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ2YWx1ZXMiLCJwYXJzZWRWYWx1ZSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGdlbmVyYWwiLCJyZXNwb25zZSIsInRhc2tBY2Nlc3MiLCJhZ2VudElkIiwiX3QiLCJfdDIiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImN1cnJlbnQiLCJhYnJ1cHQiLCJnZW5lcmFsIiwic2VudCIsIkVycm9yIiwiYWNjZXNzaWJpbGl0eSIsInRvU3RyaW5nIiwiY29uc29sZSIsIl9vYmplY3RTcHJlYWQiLCJjb25uZWN0b3JzIiwibWVzc2FnZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicmVzZXRTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUFnZW50TW9kZWwvdXNlVXBkYXRlQWdlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQWdlbnRVcGRhdGVSZXF1ZXN0LCB1cGRhdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3VwZGF0ZUFnZW50J1xuaW1wb3J0IHsgc2V0QWdlbnRUb29sR3JvdXBzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvc2V0QWdlbnRUb29sR3JvdXBzJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCwgYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2VzcyB9IGZyb20gJy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcblxuZXhwb3J0IGNvbnN0IHBhcnNlZFZhbHVlc0J5UmVxID0gKGFnZW50VmFsdWVzOiBhbnkpOiBBZ2VudFVwZGF0ZVJlcXVlc3QgPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBhZ2VudFZhbHVlcy5pZCxcbiAgICBuYW1lOiBhZ2VudFZhbHVlcy5uYW1lLFxuICAgIGVtb2ppOiBhZ2VudFZhbHVlcy5lbW9qaSB8fCAn4pyoJyxcbiAgICBpbnRyb2R1Y3Rpb246IGFnZW50VmFsdWVzLmludHJvZHVjdGlvbiB8fCAnJyxcbiAgICBpbnB1dF9wbGFjZWhvbGRlcjogYWdlbnRWYWx1ZXMuaW5wdXRQbGFjZWhvbGRlciB8fCAnJyxcbiAgICB1c2VyX3Byb21wdDogYWdlbnRWYWx1ZXMudXNlclByb21wdCxcbiAgICBwcm92aWRlcjogYWdlbnRWYWx1ZXMuYWlNb2RlbD8ucHJvdmlkZXIsXG4gICAgbW9kZWxfbmFtZTogYWdlbnRWYWx1ZXMuYWlNb2RlbD8ubW9kZWxfbmFtZSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgdXNlVXBkYXRlQWdlbnQgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtzdWNjZXNzLCBzZXRTdWNjZXNzXSA9IHVzZVN0YXRlPGFueT4oZmFsc2UpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgaXNQcm9jZXNzaW5nUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IGhhbmRsZVNldFN1Y2Nlc3MgPSAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICBzZXRTdWNjZXNzKHZhbHVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVXBkYXRlQWdlbnQgPSBhc3luYyAodmFsdWVzOiBhbnkpID0+IHtcbiAgICBpZiAoaXNQcm9jZXNzaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHBhcnNlZFZhbHVlOiBBZ2VudFVwZGF0ZVJlcXVlc3QgPSBwYXJzZWRWYWx1ZXNCeVJlcSh2YWx1ZXMuZ2VuZXJhbClcblxuICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIHNldElzTG9hZGluZyh0cnVlKVxuICAgIHNldFN1Y2Nlc3MoZmFsc2UpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB1cGRhdGVBZ2VudChwYXJzZWRWYWx1ZSlcblxuICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihyZXNwb25zZS5lcnJvcilcbiAgICAgIH1cblxuICAgICAgY29uc3QgdGFza0FjY2VzcyA9IHZhbHVlcy5hY2Nlc3NpYmlsaXR5Py50YXNrQWNjZXNzID8/IHRydWVcbiAgICAgIGNvbnN0IGFnZW50SWQgPSB2YWx1ZXMuZ2VuZXJhbD8uaWRcbiAgICAgIGlmIChhZ2VudElkKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgc2V0QWdlbnRUb29sR3JvdXBzKGFnZW50SWQudG9TdHJpbmcoKSwgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KHRhc2tBY2Nlc3MpKVxuICAgICAgICB9IGNhdGNoICh0b29sR3JvdXBzRXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZXR0aW5nIGFnZW50IHRvb2wgZ3JvdXBzOicsIHRvb2xHcm91cHNFcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgc2V0U3VjY2Vzcyh7IC4uLnJlc3BvbnNlLCBjb25uZWN0b3JzOiBidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21UYXNrQWNjZXNzKHRhc2tBY2Nlc3MpIH0pXG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICBpc1Byb2Nlc3NpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogdCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgIGlzUHJvY2Vzc2luZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnZXJyb3JBZ2VudENyZWF0ZWQnKSlcbiAgICB9XG4gIH1cblxuICBjb25zdCByZXNldFN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgc2V0U3VjY2VzcyhmYWxzZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFuZGxlVXBkYXRlQWdlbnQsXG4gICAgaXNMb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHN1Y2Nlc3MsXG4gICAgaGFuZGxlU2V0U3VjY2VzcyxcbiAgICByZXNldFN1Y2Nlc3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3hDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQTZCQyxXQUFXLFFBQVEsd0NBQXdDO0FBQ3hGLFNBQVNDLGtCQUFrQixRQUFRLCtDQUErQztBQUNsRixTQUFTQyxrQkFBa0IsUUFBUSwwQ0FBMEM7QUFDN0UsU0FBU0MsMkJBQTJCLEVBQUVDLGtDQUFrQyxRQUFRLHNDQUFzQztBQUV0SCxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLFdBQWdCLEVBQXlCO0VBQUEsSUFBQUMsb0JBQUEsRUFBQUMscUJBQUE7RUFDekUsT0FBTztJQUNMQyxFQUFFLEVBQUVILFdBQVcsQ0FBQ0csRUFBRTtJQUNsQkMsSUFBSSxFQUFFSixXQUFXLENBQUNJLElBQUk7SUFDdEJDLEtBQUssRUFBRUwsV0FBVyxDQUFDSyxLQUFLLElBQUksR0FBRztJQUMvQkMsWUFBWSxFQUFFTixXQUFXLENBQUNNLFlBQVksSUFBSSxFQUFFO0lBQzVDQyxpQkFB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