@atlaskit/profilecard 19.18.0 → 19.19.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 (73) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/agent/package.json +14 -0
  3. package/dist/cjs/client/ProfileCardClient.js +2 -2
  4. package/dist/cjs/client/RovoAgentCardClient.js +11 -8
  5. package/dist/cjs/client/getAgentInfo.js +4 -7
  6. package/dist/cjs/client/getTeamFromAGG.js +1 -1
  7. package/dist/cjs/components/Agent/AgentProfileCard.js +34 -6
  8. package/dist/cjs/components/Agent/AgentProfileCardResourced.js +36 -12
  9. package/dist/cjs/components/Agent/AgentProfileCardTrigger.js +41 -16
  10. package/dist/cjs/components/Agent/index.js +8 -0
  11. package/dist/cjs/components/Agent/useSetFavouriteAgent.js +22 -16
  12. package/dist/cjs/components/common/ProfileCardTrigger.js +13 -5
  13. package/dist/cjs/mocks/simple-mock-clients.js +1 -1
  14. package/dist/cjs/util/analytics.js +16 -4
  15. package/dist/cjs/util/rovoAgentUtils.js +3 -3
  16. package/dist/cjs/util/useProfileInfo.js +11 -6
  17. package/dist/es2019/client/ProfileCardClient.js +2 -2
  18. package/dist/es2019/client/RovoAgentCardClient.js +12 -9
  19. package/dist/es2019/client/getAgentInfo.js +5 -3
  20. package/dist/es2019/client/getTeamFromAGG.js +1 -1
  21. package/dist/es2019/components/Agent/AgentProfileCard.js +32 -6
  22. package/dist/es2019/components/Agent/AgentProfileCardResourced.js +31 -10
  23. package/dist/es2019/components/Agent/AgentProfileCardTrigger.js +39 -17
  24. package/dist/es2019/components/Agent/index.js +2 -0
  25. package/dist/es2019/components/Agent/useSetFavouriteAgent.js +5 -2
  26. package/dist/es2019/components/common/ProfileCardTrigger.js +10 -3
  27. package/dist/es2019/mocks/simple-mock-clients.js +1 -1
  28. package/dist/es2019/util/analytics.js +20 -6
  29. package/dist/es2019/util/rovoAgentUtils.js +2 -2
  30. package/dist/es2019/util/useProfileInfo.js +3 -1
  31. package/dist/esm/client/ProfileCardClient.js +2 -2
  32. package/dist/esm/client/RovoAgentCardClient.js +12 -9
  33. package/dist/esm/client/getAgentInfo.js +4 -7
  34. package/dist/esm/client/getTeamFromAGG.js +1 -1
  35. package/dist/esm/components/Agent/AgentProfileCard.js +31 -6
  36. package/dist/esm/components/Agent/AgentProfileCardResourced.js +36 -12
  37. package/dist/esm/components/Agent/AgentProfileCardTrigger.js +42 -17
  38. package/dist/esm/components/Agent/index.js +2 -0
  39. package/dist/esm/components/Agent/useSetFavouriteAgent.js +22 -16
  40. package/dist/esm/components/common/ProfileCardTrigger.js +13 -5
  41. package/dist/esm/mocks/simple-mock-clients.js +1 -1
  42. package/dist/esm/util/analytics.js +16 -4
  43. package/dist/esm/util/rovoAgentUtils.js +2 -2
  44. package/dist/esm/util/useProfileInfo.js +11 -6
  45. package/dist/types/client/ProfileCardClient.d.ts +2 -2
  46. package/dist/types/client/RovoAgentCardClient.d.ts +3 -3
  47. package/dist/types/components/Agent/AgentProfileCard.d.ts +4 -3
  48. package/dist/types/components/Agent/AgentProfileCardResourced.d.ts +1 -1
  49. package/dist/types/components/Agent/index.d.ts +2 -0
  50. package/dist/types/components/Agent/lazyAgentProfileCard.d.ts +3 -2
  51. package/dist/types/components/Agent/useSetFavouriteAgent.d.ts +2 -2
  52. package/dist/types/components/common/ProfileCardTrigger.d.ts +1 -1
  53. package/dist/types/components/common/types.d.ts +6 -1
  54. package/dist/types/mocks/simple-mock-clients.d.ts +2 -2
  55. package/dist/types/types.d.ts +6 -1
  56. package/dist/types/util/analytics.d.ts +1 -1
  57. package/dist/types/util/rovoAgentUtils.d.ts +1 -0
  58. package/dist/types/util/useProfileInfo.d.ts +1 -0
  59. package/dist/types-ts4.5/client/ProfileCardClient.d.ts +2 -2
  60. package/dist/types-ts4.5/client/RovoAgentCardClient.d.ts +3 -3
  61. package/dist/types-ts4.5/components/Agent/AgentProfileCard.d.ts +4 -3
  62. package/dist/types-ts4.5/components/Agent/AgentProfileCardResourced.d.ts +1 -1
  63. package/dist/types-ts4.5/components/Agent/index.d.ts +2 -0
  64. package/dist/types-ts4.5/components/Agent/lazyAgentProfileCard.d.ts +3 -2
  65. package/dist/types-ts4.5/components/Agent/useSetFavouriteAgent.d.ts +2 -2
  66. package/dist/types-ts4.5/components/common/ProfileCardTrigger.d.ts +1 -1
  67. package/dist/types-ts4.5/components/common/types.d.ts +6 -1
  68. package/dist/types-ts4.5/mocks/simple-mock-clients.d.ts +2 -2
  69. package/dist/types-ts4.5/types.d.ts +6 -1
  70. package/dist/types-ts4.5/util/analytics.d.ts +1 -1
  71. package/dist/types-ts4.5/util/rovoAgentUtils.d.ts +1 -0
  72. package/dist/types-ts4.5/util/useProfileInfo.d.ts +1 -0
  73. package/package.json +3 -2
@@ -12,7 +12,7 @@ function _getAgentDetailsByAgentId() {
12
12
  case 0:
13
13
  headers = createHeaders(product, cloudId);
14
14
  _context.next = 3;
15
- return fetch(new Request("assist/agents/v1/".concat(agentId), {
15
+ return fetch(new Request("/gateway/api/assist/agents/v1/".concat(agentId), {
16
16
  method: 'GET',
17
17
  credentials: 'include',
18
18
  mode: 'cors',
@@ -40,18 +40,15 @@ function _getAgentDetailsByUserId() {
40
40
  while (1) switch (_context2.prev = _context2.next) {
41
41
  case 0:
42
42
  headers = createHeaders(product, cloudId);
43
- _context2.next = 3;
44
- return fetch(new Request("assist/agents/v1/accountid/".concat(userId), {
43
+ return _context2.abrupt("return", fetch(new Request("/gateway/api/assist/agents/v1/accountid/".concat(userId), {
45
44
  method: 'GET',
46
45
  credentials: 'include',
47
46
  mode: 'cors',
48
47
  headers: headers
49
48
  })).then(function (response) {
50
49
  return response.json();
51
- });
52
- case 3:
53
- return _context2.abrupt("return", _context2.sent);
54
- case 4:
50
+ }));
51
+ case 2:
55
52
  case "end":
56
53
  return _context2.stop();
57
54
  }
@@ -48,7 +48,7 @@ export var addHeaders = function addHeaders(headers) {
48
48
  headers.append('X-ExperimentalApi', 'teams-beta');
49
49
  headers.append('X-ExperimentalApi', 'team-members-beta');
50
50
  headers.append('atl-client-name', "@atlaskit/profilecard");
51
- headers.append('atl-client-version', "19.18.0");
51
+ headers.append('atl-client-version', "19.19.0");
52
52
  return headers;
53
53
  };
54
54
  export function getTeamFromAGG(_x, _x2, _x3) {
@@ -1,7 +1,10 @@
1
- import React from 'react';
1
+ import React, { useCallback, useEffect } from 'react';
2
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
2
3
  import { Box, Stack, xcss } from '@atlaskit/primitives';
3
4
  import { AgentAvatar, AgentBanner, AgentProfileCreator, AgentProfileInfo, AgentStarCount } from '@atlaskit/rovo-agent-components';
5
+ import { fireEvent, profileCardRendered } from '../../util/analytics';
4
6
  import LoadingState from '../common/LoadingState';
7
+ import { ErrorMessage } from '../Error';
5
8
  import { AgentActions } from './Actions';
6
9
  import { AgentProfileCardWrapper } from './AgentProfileCardWrapper';
7
10
  import { ConversationStarters } from './ConversationStarters';
@@ -29,7 +32,9 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
29
32
  cloudId = _ref.cloudId,
30
33
  onOpenChat = _ref.onOpenChat,
31
34
  _ref$product = _ref.product,
32
- product = _ref$product === void 0 ? 'rovo' : _ref$product;
35
+ product = _ref$product === void 0 ? 'rovo' : _ref$product,
36
+ hasError = _ref.hasError,
37
+ errorType = _ref.errorType;
33
38
  var _useAgentUrlActions = useAgentUrlActions({
34
39
  cloudId: cloudId || ''
35
40
  }),
@@ -37,16 +42,35 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
37
42
  _onCopyAgent = _useAgentUrlActions.onCopyAgent,
38
43
  _onDuplicateAgent = _useAgentUrlActions.onDuplicateAgent;
39
44
  var _useSetFavouriteAgent = useSetFavouriteAgent({
40
- agentId: agent.id,
41
- cloudId: cloudId || '',
42
- isStarred: agent.favourite,
45
+ agentId: agent === null || agent === void 0 ? void 0 : agent.id,
46
+ cloudId: cloudId,
47
+ isStarred: !!(agent !== null && agent !== void 0 && agent.favourite),
43
48
  product: product
44
49
  }),
45
50
  isStarred = _useSetFavouriteAgent.isStarred,
46
51
  setFavourite = _useSetFavouriteAgent.setFavourite;
52
+ var _useAnalyticsEvents = useAnalyticsEvents(),
53
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
54
+ var fireAnalytics = useCallback(function (payload) {
55
+ if (createAnalyticsEvent) {
56
+ fireEvent(createAnalyticsEvent, payload);
57
+ }
58
+ }, [createAnalyticsEvent]);
59
+ useEffect(function () {
60
+ if (!isLoading && agent) {
61
+ fireAnalytics(profileCardRendered('agent', 'content'));
62
+ }
63
+ }, [agent, fireAnalytics, isLoading]);
47
64
  if (isLoading) {
48
65
  return /*#__PURE__*/React.createElement(AgentProfileCardWrapper, null, /*#__PURE__*/React.createElement(LoadingState, {
49
- profileType: "agent"
66
+ profileType: "agent",
67
+ fireAnalytics: fireAnalytics
68
+ }));
69
+ }
70
+ if (hasError || !agent) {
71
+ return /*#__PURE__*/React.createElement(AgentProfileCardWrapper, null, /*#__PURE__*/React.createElement(ErrorMessage, {
72
+ errorType: errorType,
73
+ fireAnalytics: fireAnalytics
50
74
  }));
51
75
  }
52
76
  return /*#__PURE__*/React.createElement(AgentProfileCardWrapper, null, /*#__PURE__*/React.createElement(Box, {
@@ -64,6 +88,7 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
64
88
  agentName: agent.name,
65
89
  isStarred: isStarred,
66
90
  onStarToggle: setFavourite,
91
+ isHidden: agent.visibility === 'PRIVATE',
67
92
  creatorRender: ((_agent$creatorInfo = agent.creatorInfo) === null || _agent$creatorInfo === void 0 ? void 0 : _agent$creatorInfo.type) && /*#__PURE__*/React.createElement(AgentProfileCreator, {
68
93
  creator: {
69
94
  type: (_agent$creatorInfo2 = agent.creatorInfo) === null || _agent$creatorInfo2 === void 0 ? void 0 : _agent$creatorInfo2.type,
@@ -5,6 +5,8 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  import _regeneratorRuntime from "@babel/runtime/regenerator";
7
7
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
8
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
9
+ import { fireEvent } from '../../util/analytics';
8
10
  import { getAAIDFromARI } from '../../util/rovoAgentUtils';
9
11
  import ErrorMessage from '../Error/ErrorMessage';
10
12
  import { AgentProfileCardWrapper } from './AgentProfileCardWrapper';
@@ -22,6 +24,13 @@ export var AgentProfileCardResourced = function AgentProfileCardResourced(props)
22
24
  _useState6 = _slicedToArray(_useState5, 2),
23
25
  error = _useState6[0],
24
26
  setError = _useState6[1];
27
+ var _useAnalyticsEvents = useAnalyticsEvents(),
28
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
29
+ var fireAnalytics = useCallback(function (payload) {
30
+ if (createAnalyticsEvent) {
31
+ fireEvent(createAnalyticsEvent, payload);
32
+ }
33
+ }, [createAnalyticsEvent]);
25
34
  var creatorUserId = useMemo(function () {
26
35
  return (agentData === null || agentData === void 0 ? void 0 : agentData.creator_type) === 'CUSTOMER' && agentData.creator ? getAAIDFromARI(agentData.creator) : '';
27
36
  }, [agentData === null || agentData === void 0 ? void 0 : agentData.creator_type, agentData === null || agentData === void 0 ? void 0 : agentData.creator]);
@@ -38,7 +47,7 @@ export var AgentProfileCardResourced = function AgentProfileCardResourced(props)
38
47
  return _context.abrupt("return", undefined);
39
48
  case 2:
40
49
  _context.t0 = creator_type;
41
- _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 11;
50
+ _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 19;
42
51
  break;
43
52
  case 5:
44
53
  return _context.abrupt("return", {
@@ -50,30 +59,45 @@ export var AgentProfileCardResourced = function AgentProfileCardResourced(props)
50
59
  name: creator !== null && creator !== void 0 ? creator : ''
51
60
  });
52
61
  case 7:
53
- _context.next = 9;
54
- return props.resourceClient.getProfile(creatorUserId || '', props.cloudId || '');
55
- case 9:
62
+ _context.prev = 7;
63
+ if (!(!creatorUserId || !props.cloudId)) {
64
+ _context.next = 10;
65
+ break;
66
+ }
67
+ return _context.abrupt("return", undefined);
68
+ case 10:
69
+ _context.next = 12;
70
+ return props.resourceClient.getProfile(creatorUserId, props.cloudId, fireAnalytics);
71
+ case 12:
56
72
  creatorInfo = _context.sent;
57
73
  return _context.abrupt("return", {
58
74
  type: 'CUSTOMER',
59
75
  name: creatorInfo.fullName,
60
- profileLink: "/people/".concat(creatorUserId)
76
+ profileLink: "/people/".concat(creatorUserId),
77
+ id: creatorUserId
61
78
  });
62
- case 11:
79
+ case 16:
80
+ _context.prev = 16;
81
+ _context.t1 = _context["catch"](7);
63
82
  return _context.abrupt("return", undefined);
64
- case 12:
83
+ case 19:
84
+ return _context.abrupt("return", undefined);
85
+ case 20:
65
86
  case "end":
66
87
  return _context.stop();
67
88
  }
68
- }, _callee);
89
+ }, _callee, null, [[7, 16]]);
69
90
  }));
70
91
  return function (_x, _x2) {
71
92
  return _ref.apply(this, arguments);
72
93
  };
73
- }(), [creatorUserId, props.cloudId, props.resourceClient]);
94
+ }(), [creatorUserId, fireAnalytics, props.cloudId, props.resourceClient]);
74
95
  var getAgentInfo = useCallback(function () {
75
- return props.resourceClient.getRovoAgentProfile(props.agentId);
76
- }, [props.agentId, props.resourceClient]);
96
+ return props.resourceClient.getRovoAgentProfile({
97
+ type: 'identity',
98
+ value: props.accountId
99
+ }, fireAnalytics);
100
+ }, [fireAnalytics, props.accountId, props.resourceClient]);
77
101
  var fetchData = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
78
102
  var getAgentData, agentData;
79
103
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
@@ -126,7 +150,7 @@ export var AgentProfileCardResourced = function AgentProfileCardResourced(props)
126
150
  setIsLoading(false);
127
151
  setError(error);
128
152
  }
129
- }, [fetchData, getAgentInfo, getCreator, props.agentId, props.cloudId, props.resourceClient]);
153
+ }, [fetchData, getAgentInfo, getCreator, props.accountId, props.cloudId, props.resourceClient]);
130
154
  if (error || !isLoading && !agentData) {
131
155
  return /*#__PURE__*/React.createElement(AgentProfileCardWrapper, null, /*#__PURE__*/React.createElement(ErrorMessage, {
132
156
  reload: function reload() {
@@ -6,7 +6,9 @@ var _excluded = ["trigger", "viewingUserId", "product"];
6
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
8
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
- import React, { Suspense } from 'react';
9
+ import React, { Suspense, useCallback } from 'react';
10
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
11
+ import { fireEvent } from '../../util/analytics';
10
12
  import { getAAIDFromARI } from '../../util/rovoAgentUtils';
11
13
  import ProfileCardTrigger from '../common/ProfileCardTrigger';
12
14
  import { AgentProfileCardLazy } from './lazyAgentProfileCard';
@@ -19,6 +21,13 @@ export var AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
19
21
  var resourceClient = props.resourceClient,
20
22
  userId = props.userId,
21
23
  cloudId = props.cloudId;
24
+ var _useAnalyticsEvents = useAnalyticsEvents(),
25
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
26
+ var fireAnalytics = useCallback(function (payload) {
27
+ if (createAnalyticsEvent) {
28
+ fireEvent(createAnalyticsEvent, payload);
29
+ }
30
+ }, [createAnalyticsEvent]);
22
31
  var getCreator = /*#__PURE__*/function () {
23
32
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(creator_type, creator) {
24
33
  var _userId, creatorInfo;
@@ -32,7 +41,7 @@ export var AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
32
41
  return _context.abrupt("return", undefined);
33
42
  case 2:
34
43
  _context.t0 = creator_type;
35
- _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 12;
44
+ _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 20;
36
45
  break;
37
46
  case 5:
38
47
  return _context.abrupt("return", {
@@ -45,9 +54,16 @@ export var AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
45
54
  });
46
55
  case 7:
47
56
  _userId = getAAIDFromARI(creator) || '';
48
- _context.next = 10;
49
- return props.resourceClient.getProfile(_userId, cloudId || '');
50
- case 10:
57
+ _context.prev = 8;
58
+ if (!(!_userId || !cloudId)) {
59
+ _context.next = 11;
60
+ break;
61
+ }
62
+ return _context.abrupt("return", undefined);
63
+ case 11:
64
+ _context.next = 13;
65
+ return props.resourceClient.getProfile(cloudId, _userId, fireAnalytics);
66
+ case 13:
51
67
  creatorInfo = _context.sent;
52
68
  return _context.abrupt("return", {
53
69
  type: 'CUSTOMER',
@@ -55,13 +71,17 @@ export var AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
55
71
  profileLink: "/people/".concat(_userId),
56
72
  id: _userId
57
73
  });
58
- case 12:
74
+ case 17:
75
+ _context.prev = 17;
76
+ _context.t1 = _context["catch"](8);
59
77
  return _context.abrupt("return", undefined);
60
- case 13:
78
+ case 20:
79
+ return _context.abrupt("return", undefined);
80
+ case 21:
61
81
  case "end":
62
82
  return _context.stop();
63
83
  }
64
- }, _callee);
84
+ }, _callee, null, [[8, 17]]);
65
85
  }));
66
86
  return function getCreator(_x, _x2) {
67
87
  return _ref2.apply(this, arguments);
@@ -74,7 +94,10 @@ export var AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
74
94
  while (1) switch (_context2.prev = _context2.next) {
75
95
  case 0:
76
96
  _context2.next = 2;
77
- return resourceClient.getRovoAgentProfile(userId);
97
+ return resourceClient.getRovoAgentProfile({
98
+ type: 'agent',
99
+ value: userId
100
+ }, fireAnalytics);
78
101
  case 2:
79
102
  agentInfo = _context2.sent;
80
103
  _context2.next = 5;
@@ -97,23 +120,25 @@ export var AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
97
120
  var renderProfileCard = function renderProfileCard(_ref4) {
98
121
  var _profileData$creatorI;
99
122
  var profileData = _ref4.profileData,
100
- isLoading = _ref4.isLoading;
101
- if (!profileData) {
102
- return /*#__PURE__*/React.createElement(React.Fragment, null);
103
- }
123
+ isLoading = _ref4.isLoading,
124
+ error = _ref4.error;
104
125
  return /*#__PURE__*/React.createElement(Suspense, {
105
126
  fallback: null
106
127
  }, /*#__PURE__*/React.createElement(AgentProfileCardLazy, {
107
128
  agent: profileData,
108
129
  isLoading: isLoading,
109
- isCreatedByViewingUser: ((_profileData$creatorI = profileData.creatorInfo) === null || _profileData$creatorI === void 0 ? void 0 : _profileData$creatorI.id) === viewingUserId,
130
+ hasError: !!error,
131
+ isCreatedByViewingUser: (profileData === null || profileData === void 0 || (_profileData$creatorI = profileData.creatorInfo) === null || _profileData$creatorI === void 0 ? void 0 : _profileData$creatorI.id) === viewingUserId,
110
132
  cloudId: props.cloudId,
111
- product: product
133
+ product: product,
134
+ errorType: error
112
135
  }));
113
136
  };
114
137
  return /*#__PURE__*/React.createElement(ProfileCardTrigger, _extends({}, props, {
138
+ trigger: "hover",
115
139
  renderProfileCard: renderProfileCard,
116
- trigger: trigger,
117
- fetchProfile: fetchAgentProfile
140
+ fetchProfile: fetchAgentProfile,
141
+ fireAnalytics: fireAnalytics,
142
+ profileCardType: "agent"
118
143
  }));
119
144
  };
@@ -0,0 +1,2 @@
1
+ import { AgentProfileCardTrigger } from './AgentProfileCardTrigger';
2
+ export default AgentProfileCardTrigger;
@@ -22,15 +22,21 @@ export var useSetFavouriteAgent = function useSetFavouriteAgent(_ref) {
22
22
  return _regeneratorRuntime.wrap(function _callee$(_context) {
23
23
  while (1) switch (_context.prev = _context.next) {
24
24
  case 0:
25
+ if (!(!agentId || !cloudId)) {
26
+ _context.next = 2;
27
+ break;
28
+ }
29
+ return _context.abrupt("return");
30
+ case 2:
25
31
  setIsLoading(true);
26
- _context.prev = 1;
32
+ _context.prev = 3;
27
33
  headers = createHeaders(product, cloudId);
28
34
  if (!isFavourite) {
29
- _context.next = 8;
35
+ _context.next = 10;
30
36
  break;
31
37
  }
32
- _context.next = 6;
33
- return fetch(new Request("/agents/v1/".concat(agentId, "/favourite"), {
38
+ _context.next = 8;
39
+ return fetch(new Request("/gateway/api/assist/agents/v1/".concat(agentId, "/favourite"), {
34
40
  method: 'POST',
35
41
  credentials: 'include',
36
42
  mode: 'cors',
@@ -38,12 +44,12 @@ export var useSetFavouriteAgent = function useSetFavouriteAgent(_ref) {
38
44
  })).then(function () {
39
45
  setIsFavourite(true);
40
46
  });
41
- case 6:
42
- _context.next = 10;
43
- break;
44
47
  case 8:
45
- _context.next = 10;
46
- return fetch(new Request("/agents/v1/".concat(agentId, "/favourite"), {
48
+ _context.next = 12;
49
+ break;
50
+ case 10:
51
+ _context.next = 12;
52
+ return fetch(new Request("/gateway/api/assist/agents/v1/".concat(agentId, "/favourite"), {
47
53
  method: 'DELETE',
48
54
  credentials: 'include',
49
55
  mode: 'cors',
@@ -51,19 +57,19 @@ export var useSetFavouriteAgent = function useSetFavouriteAgent(_ref) {
51
57
  })).then(function () {
52
58
  setIsFavourite(false);
53
59
  });
54
- case 10:
60
+ case 12:
55
61
  setIsLoading(false);
56
- _context.next = 16;
62
+ _context.next = 18;
57
63
  break;
58
- case 13:
59
- _context.prev = 13;
60
- _context.t0 = _context["catch"](1);
64
+ case 15:
65
+ _context.prev = 15;
66
+ _context.t0 = _context["catch"](3);
61
67
  setIsLoading(false);
62
- case 16:
68
+ case 18:
63
69
  case "end":
64
70
  return _context.stop();
65
71
  }
66
- }, _callee, null, [[1, 13]]);
72
+ }, _callee, null, [[3, 15]]);
67
73
  }));
68
74
  return function setFavourite() {
69
75
  return _ref2.apply(this, arguments);
@@ -2,12 +2,13 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes"],
5
+ var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes", "profileCardType", "fireAnalytics"],
6
6
  _excluded2 = ["aria-expanded", "aria-haspopup"];
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  import React, { useCallback, useEffect, useRef, useState } from 'react';
9
9
  import Popup from '@atlaskit/popup';
10
10
  import { layers } from '@atlaskit/theme/constants';
11
+ import { cardTriggered } from '../../util/analytics';
11
12
  import { useProfileInfo } from '../../util/useProfileInfo';
12
13
  import { PopupTrigger } from './PopupTrigger';
13
14
  var DELAY_MS_SHOW = 800;
@@ -20,6 +21,8 @@ function ProfileCardTrigger(_ref) {
20
21
  renderProfileCard = _ref.renderProfileCard,
21
22
  fetchProfile = _ref.fetchProfile,
22
23
  disabledAriaAttributes = _ref.disabledAriaAttributes,
24
+ profileCardType = _ref.profileCardType,
25
+ fireAnalytics = _ref.fireAnalytics,
23
26
  popupProps = _objectWithoutProperties(_ref, _excluded);
24
27
  var showDelay = _trigger === 'click' ? 0 : DELAY_MS_SHOW;
25
28
  var hideDelay = _trigger === 'click' ? 0 : DELAY_MS_HIDE;
@@ -34,6 +37,7 @@ function ProfileCardTrigger(_ref) {
34
37
  }),
35
38
  profileData = _useProfileInfo.profileData,
36
39
  isLoading = _useProfileInfo.isLoading,
40
+ error = _useProfileInfo.error,
37
41
  getProfileData = _useProfileInfo.getProfileData;
38
42
  useEffect(function () {
39
43
  return function () {
@@ -59,14 +63,17 @@ function ProfileCardTrigger(_ref) {
59
63
  while (1) switch (_context.prev = _context.next) {
60
64
  case 0:
61
65
  if (visible) {
62
- _context.next = 4;
66
+ _context.next = 5;
63
67
  break;
64
68
  }
65
69
  _context.next = 3;
66
70
  return getProfileData === null || getProfileData === void 0 ? void 0 : getProfileData();
67
71
  case 3:
68
72
  setVisible(true);
69
- case 4:
73
+ if (fireAnalytics) {
74
+ fireAnalytics(cardTriggered(profileCardType, _trigger));
75
+ }
76
+ case 5:
70
77
  case "end":
71
78
  return _context.stop();
72
79
  }
@@ -77,7 +84,7 @@ function ProfileCardTrigger(_ref) {
77
84
  return _context2.stop();
78
85
  }
79
86
  }, _callee2);
80
- })), [showDelay, visible, getProfileData]);
87
+ })), [showDelay, visible, getProfileData, fireAnalytics, profileCardType, _trigger]);
81
88
  var onMouseEnter = useCallback(function () {
82
89
  showProfilecard();
83
90
  }, [showProfilecard]);
@@ -108,7 +115,8 @@ function ProfileCardTrigger(_ref) {
108
115
  onFocus: showProfilecard
109
116
  }, renderProfileCard({
110
117
  profileData: profileData,
111
- isLoading: isLoading
118
+ isLoading: isLoading,
119
+ error: error
112
120
  }));
113
121
  }
114
122
  }));
@@ -66,7 +66,7 @@ var SimpleMockAgentClient = /*#__PURE__*/function (_RovoAgentCardClient) {
66
66
  }
67
67
  _createClass(SimpleMockAgentClient, [{
68
68
  key: "makeRequest",
69
- value: function makeRequest(userId) {
69
+ value: function makeRequest(id, cloudId) {
70
70
  return Promise.resolve(agentData);
71
71
  }
72
72
  }]);
@@ -29,7 +29,7 @@ export var fireEvent = function fireEvent(createAnalyticsEvent, body) {
29
29
 
30
30
  var TEAM_SUBJECT = 'teamProfileCard';
31
31
  var USER_SUBJECT = 'profilecard';
32
- var RovoAgent = 'rovoAgenrProfilecard';
32
+ var AGENT_SUBJECT = 'rovoAgenrProfilecard';
33
33
  var createEvent = function createEvent(eventType, action, actionSubject, actionSubjectId) {
34
34
  var attributes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
35
35
  return {
@@ -39,14 +39,26 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
39
39
  actionSubjectId: actionSubjectId,
40
40
  attributes: _objectSpread(_objectSpread({
41
41
  packageName: "@atlaskit/profilecard",
42
- packageVersion: "19.18.0"
42
+ packageVersion: "19.19.0"
43
43
  }, attributes), {}, {
44
44
  firedAt: Math.round(getPageTime())
45
45
  })
46
46
  };
47
47
  };
48
48
  export var cardTriggered = function cardTriggered(type, method) {
49
- return createEvent('ui', 'triggered', type === 'user' ? USER_SUBJECT : TEAM_SUBJECT, undefined, {
49
+ var getActionSubject = function getActionSubject(type) {
50
+ switch (type) {
51
+ case 'user':
52
+ return USER_SUBJECT;
53
+ case 'team':
54
+ return TEAM_SUBJECT;
55
+ case 'agent':
56
+ return AGENT_SUBJECT;
57
+ default:
58
+ return 'user';
59
+ }
60
+ };
61
+ return createEvent('ui', 'triggered', getActionSubject(type), undefined, {
50
62
  method: method
51
63
  });
52
64
  };
@@ -78,5 +90,5 @@ export var errorRetryClicked = function errorRetryClicked(attributes) {
78
90
  return createEvent('ui', 'clicked', TEAM_SUBJECT, 'errorRetry', attributes);
79
91
  };
80
92
  export var agentRequestAnalytics = function agentRequestAnalytics(action, attributes) {
81
- return createEvent('operational', action, RovoAgent, 'request', attributes);
93
+ return createEvent('operational', action, AGENT_SUBJECT, 'request', attributes);
82
94
  };
@@ -1,6 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ export var USER_ARI_PREFIX = 'ari:cloud:identity::user/';
4
5
  export var createHeaders = function createHeaders(product, cloudId) {
5
6
  var config = {
6
7
  headers: {
@@ -12,6 +13,5 @@ export var createHeaders = function createHeaders(product, cloudId) {
12
13
  return new Headers(_objectSpread({}, config.headers || {}));
13
14
  };
14
15
  export var getAAIDFromARI = function getAAIDFromARI(ari) {
15
- var matched = ari.match(/\/([a-zA-Z0-9_\|\-\:]{1,128})$/);
16
- return matched ? matched[1] : undefined;
16
+ return ari.replace(USER_ARI_PREFIX, '');
17
17
  };
@@ -8,10 +8,14 @@ export var useProfileInfo = function useProfileInfo(_ref) {
8
8
  _useState2 = _slicedToArray(_useState, 2),
9
9
  isLoading = _useState2[0],
10
10
  setIsLoading = _useState2[1];
11
- var _useState3 = useState(),
11
+ var _useState3 = useState(null),
12
12
  _useState4 = _slicedToArray(_useState3, 2),
13
- profileData = _useState4[0],
14
- setProfileData = _useState4[1];
13
+ error = _useState4[0],
14
+ setError = _useState4[1];
15
+ var _useState5 = useState(),
16
+ _useState6 = _slicedToArray(_useState5, 2),
17
+ profileData = _useState6[0],
18
+ setProfileData = _useState6[1];
15
19
  var getProfileData = /*#__PURE__*/function () {
16
20
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
17
21
  var _profileData;
@@ -26,13 +30,14 @@ export var useProfileInfo = function useProfileInfo(_ref) {
26
30
  _profileData = _context.sent;
27
31
  setProfileData(_profileData);
28
32
  setIsLoading(false);
29
- _context.next = 12;
33
+ _context.next = 13;
30
34
  break;
31
35
  case 9:
32
36
  _context.prev = 9;
33
37
  _context.t0 = _context["catch"](1);
38
+ setError(_context.t0);
34
39
  setIsLoading(true);
35
- case 12:
40
+ case 13:
36
41
  case "end":
37
42
  return _context.stop();
38
43
  }
@@ -45,7 +50,7 @@ export var useProfileInfo = function useProfileInfo(_ref) {
45
50
  return {
46
51
  profileData: profileData,
47
52
  isLoading: isLoading,
48
- // hasError: Boolean(error) || cannotLoadUser,
53
+ error: error,
49
54
  getProfileData: getProfileData
50
55
  };
51
56
  };
@@ -1,5 +1,5 @@
1
1
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
- import { type ClientOverrides, type ProfileClientOptions, type TeamCentralReportingLinesData } from '../types';
2
+ import { type AgentIdType, type ClientOverrides, type ProfileClientOptions, type TeamCentralReportingLinesData } from '../types';
3
3
  import RovoAgentCardClient from './RovoAgentCardClient';
4
4
  import TeamCentralCardClient from './TeamCentralCardClient';
5
5
  import TeamProfileCardClient from './TeamProfileCardClient';
@@ -16,6 +16,6 @@ declare class ProfileCardClient {
16
16
  getReportingLines(userId: string): Promise<TeamCentralReportingLinesData>;
17
17
  getTeamCentralBaseUrl(): string | undefined;
18
18
  shouldShowGiveKudos(): Promise<boolean>;
19
- getRovoAgentProfile(agentId: string, analytics?: (event: AnalyticsEventPayload) => void): Promise<import("../types").RovoAgent>;
19
+ getRovoAgentProfile(id: AgentIdType, analytics?: (event: AnalyticsEventPayload) => void): Promise<import("../types").RovoAgent>;
20
20
  }
21
21
  export default ProfileCardClient;
@@ -1,9 +1,9 @@
1
1
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
- import type { ProfileClientOptions, RovoAgent } from '../types';
2
+ import type { AgentIdType, ProfileClientOptions, RovoAgent } from '../types';
3
3
  import CachingClient from './CachingClient';
4
4
  export default class RovoAgentCardClient extends CachingClient<RovoAgent> {
5
5
  options: ProfileClientOptions;
6
6
  constructor(options: ProfileClientOptions);
7
- makeRequest(agentId: string, cloudId: string): Promise<RovoAgent>;
8
- getProfile(agentId: string, analytics?: (event: AnalyticsEventPayload) => void): Promise<RovoAgent>;
7
+ makeRequest(id: AgentIdType, cloudId: string): Promise<RovoAgent>;
8
+ getProfile(id: AgentIdType, analytics?: (event: AnalyticsEventPayload) => void): Promise<RovoAgent>;
9
9
  }
@@ -1,13 +1,14 @@
1
1
  /// <reference types="react" />
2
- import { type RovoAgentProfileCardInfo } from '../../types';
2
+ import { type ProfileCardErrorType, type RovoAgentProfileCardInfo } from '../../types';
3
3
  type AgentProfileCardProps = {
4
- agent: RovoAgentProfileCardInfo;
4
+ agent?: RovoAgentProfileCardInfo;
5
5
  isLoading?: boolean;
6
6
  hasError?: boolean;
7
7
  isCreatedByViewingUser?: boolean;
8
8
  cloudId?: string;
9
9
  onOpenChat?: (agentId: string) => void;
10
10
  product?: string;
11
+ errorType?: ProfileCardErrorType;
11
12
  };
12
- declare const AgentProfileCard: ({ agent, isLoading, isCreatedByViewingUser, cloudId, onOpenChat, product, }: AgentProfileCardProps) => JSX.Element;
13
+ declare const AgentProfileCard: ({ agent, isLoading, isCreatedByViewingUser, cloudId, onOpenChat, product, hasError, errorType, }: AgentProfileCardProps) => JSX.Element;
13
14
  export default AgentProfileCard;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { type ProfileClient, type TriggerType } from '../../types';
3
3
  export interface AgentProfileCardResourcedProps {
4
- agentId: string;
4
+ accountId: string;
5
5
  cloudId: string;
6
6
  resourceClient: ProfileClient;
7
7
  trigger?: TriggerType;
@@ -0,0 +1,2 @@
1
+ import { AgentProfileCardTrigger } from './AgentProfileCardTrigger';
2
+ export default AgentProfileCardTrigger;