@atlaskit/profilecard 26.19.9 → 26.20.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 (424) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/build-agg-user-query/package.json +10 -0
  3. package/dist/cjs/client/AGGQuery.js +37 -0
  4. package/dist/cjs/client/AgentForbiddenError.js +28 -0
  5. package/dist/cjs/client/HeaderProcessor.js +1 -0
  6. package/dist/cjs/client/ProfileCardClient.js +11 -20
  7. package/dist/cjs/client/Query.js +1 -0
  8. package/dist/cjs/client/RovoAgentCardClient.js +38 -50
  9. package/dist/cjs/client/TeamCentralCardClient.js +5 -12
  10. package/dist/cjs/client/TeamProfileCardClient.js +2 -2
  11. package/dist/cjs/client/UserProfileCardClient.js +30 -54
  12. package/dist/cjs/client/addHeaders.js +16 -0
  13. package/dist/cjs/client/aggUserQuery.js +11 -0
  14. package/dist/cjs/client/aggUserQueryString.js +7 -0
  15. package/dist/cjs/client/ariPrefix.js +7 -0
  16. package/dist/cjs/client/buildAggUserQuery.js +18 -0
  17. package/dist/cjs/client/buildGatewayQuery.js +22 -0
  18. package/dist/cjs/client/buildHeaders.js +11 -0
  19. package/dist/cjs/client/buildReportingLinesQuery.js +14 -0
  20. package/dist/cjs/client/convertTeam.js +27 -0
  21. package/dist/cjs/client/defaultConfig.js +9 -0
  22. package/dist/cjs/client/directoryGraphqlQuery.js +37 -0
  23. package/dist/cjs/client/extractIdFromAri.js +14 -0
  24. package/dist/cjs/client/gatewayQueryV2.js +11 -0
  25. package/dist/cjs/client/{errorUtils.js → getErrorAttributes.js} +12 -15
  26. package/dist/cjs/client/getOrgIdForCloudIdFromAGG.js +3 -3
  27. package/dist/cjs/client/getTeamFromAGG.js +8 -64
  28. package/dist/cjs/client/graphQLQuery.js +66 -0
  29. package/dist/cjs/client/graphqlUtils.js +1 -125
  30. package/dist/cjs/client/handleAGGErrors.js +10 -0
  31. package/dist/cjs/client/handleDirectoryGraphQLErrors.js +10 -0
  32. package/dist/cjs/client/id.js +9 -0
  33. package/dist/cjs/client/idToAri.js +15 -0
  34. package/dist/cjs/client/idToAriSafe.js +14 -0
  35. package/dist/cjs/client/index.js +17 -4
  36. package/dist/cjs/client/maybeCreateTeamCentralClient.js +22 -0
  37. package/dist/cjs/client/modifyResponse.js +40 -0
  38. package/dist/cjs/components/Agent/AgentProfileCard.js +4 -4
  39. package/dist/cjs/components/Agent/AgentProfileCardResourced.js +2 -2
  40. package/dist/cjs/components/Agent/hooks/duplicateFetch.js +2 -169
  41. package/dist/cjs/components/Agent/hooks/fetchActivationId.js +57 -0
  42. package/dist/cjs/components/Agent/hooks/fetchDuplicateAgentMutation.js +74 -0
  43. package/dist/cjs/components/Agent/hooks/fetchHasVersionCapability.js +60 -0
  44. package/dist/cjs/components/Agent/hooks/firstCharUpper.js +9 -0
  45. package/dist/cjs/components/Agent/hooks/useAgentActions.js +2 -212
  46. package/dist/cjs/components/Agent/hooks/useAgentUrlActions.js +219 -0
  47. package/dist/cjs/components/Agent/utils/getAtlassianStudioAgentDuplicateUrl.js +10 -0
  48. package/dist/cjs/components/Agent/utils/getAtlassianStudioAgentEditUrl.js +10 -0
  49. package/dist/cjs/components/Agent/utils/getStudioHost.js +14 -0
  50. package/dist/cjs/components/Agent/utils/getStudioPath.js +19 -0
  51. package/dist/cjs/components/Agent/utils/index.js +3 -28
  52. package/dist/cjs/components/Team/TeamProfileCard.js +2 -2
  53. package/dist/cjs/components/Team/index.js +5 -0
  54. package/dist/cjs/components/User/LoadingView.js +31 -0
  55. package/dist/cjs/components/User/ProfileCard.js +21 -242
  56. package/dist/cjs/components/User/ProfileCardDetails.js +6 -6
  57. package/dist/cjs/components/User/ProfileCardResourced.js +2 -2
  58. package/dist/cjs/components/User/ProfilecardInternal.js +234 -0
  59. package/dist/cjs/components/User/index.js +7 -0
  60. package/dist/cjs/components/common/LoadingState.js +2 -1
  61. package/dist/cjs/components/common/ProfileCardTrigger.js +2 -1
  62. package/dist/cjs/components/team-profile-card/main.js +9 -3
  63. package/dist/cjs/components/team-profile-card/team-actions/index.js +2 -2
  64. package/dist/cjs/index.js +5 -6
  65. package/dist/cjs/internal/isValidDate.js +12 -0
  66. package/dist/cjs/internal/relative-date.js +2 -7
  67. package/dist/cjs/mocks/get-time-string.js +16 -0
  68. package/dist/cjs/mocks/get-weekday.js +15 -0
  69. package/dist/cjs/mocks/mock-profile-client.js +7 -5
  70. package/dist/cjs/mocks/mock-team-client.js +2 -2
  71. package/dist/cjs/mocks/profile-data.js +32 -31
  72. package/dist/cjs/mocks/random.js +9 -0
  73. package/dist/cjs/mocks/simple-mock-clients.js +4 -3
  74. package/dist/cjs/mocks/static-team-data.js +33 -0
  75. package/dist/cjs/mocks/team-data.js +8 -33
  76. package/dist/cjs/styled/Card.js +1 -0
  77. package/dist/cjs/styled/Error.js +1 -0
  78. package/dist/cjs/styled/ReportingLines.js +1 -0
  79. package/dist/cjs/styled/TeamCard.js +1 -0
  80. package/dist/cjs/styled/TeamTrigger.js +1 -0
  81. package/dist/cjs/styled/UserTrigger.js +1 -0
  82. package/dist/cjs/util/AGGError.js +37 -0
  83. package/dist/cjs/util/AGGErrors.js +34 -0
  84. package/dist/cjs/util/AnalyticsEventPayload.js +1 -0
  85. package/dist/cjs/util/DirectoryGraphQLError.js +36 -0
  86. package/dist/cjs/util/DirectoryGraphQLErrors.js +34 -0
  87. package/dist/cjs/util/GenericAttributes.js +1 -0
  88. package/dist/cjs/util/HttpError.js +27 -0
  89. package/dist/cjs/util/actionClicked.js +15 -0
  90. package/dist/cjs/util/agentRequestAnalytics.js +15 -0
  91. package/dist/cjs/util/analytics.js +5 -134
  92. package/dist/cjs/util/cardTriggered.js +23 -0
  93. package/dist/cjs/util/createEvent.js +30 -0
  94. package/dist/cjs/util/errorRetryClicked.js +15 -0
  95. package/dist/cjs/util/getActionSubject.js +19 -0
  96. package/dist/cjs/util/moreActionsClicked.js +15 -0
  97. package/dist/cjs/util/moreMembersClicked.js +15 -0
  98. package/dist/cjs/util/profileCardRendered.js +15 -0
  99. package/dist/cjs/util/reportingLinesClicked.js +15 -0
  100. package/dist/cjs/util/teamAvatarClicked.js +15 -0
  101. package/dist/cjs/util/teamRequestAnalytics.js +15 -0
  102. package/dist/cjs/util/userRequestAnalytics.js +15 -0
  103. package/dist/es2019/client/AGGQuery.js +12 -0
  104. package/dist/es2019/client/AgentForbiddenError.js +8 -0
  105. package/dist/es2019/client/HeaderProcessor.js +0 -0
  106. package/dist/es2019/client/ProfileCardClient.js +10 -19
  107. package/dist/es2019/client/Query.js +0 -0
  108. package/dist/es2019/client/RovoAgentCardClient.js +3 -10
  109. package/dist/es2019/client/TeamCentralCardClient.js +2 -31
  110. package/dist/es2019/client/TeamProfileCardClient.js +1 -1
  111. package/dist/es2019/client/UserProfileCardClient.js +15 -102
  112. package/dist/es2019/client/addHeaders.js +10 -0
  113. package/dist/es2019/client/aggUserQuery.js +31 -0
  114. package/dist/es2019/client/aggUserQueryString.js +28 -0
  115. package/dist/es2019/client/ariPrefix.js +1 -0
  116. package/dist/es2019/client/buildAggUserQuery.js +10 -0
  117. package/dist/es2019/client/buildGatewayQuery.js +15 -0
  118. package/dist/es2019/client/buildHeaders.js +5 -0
  119. package/dist/es2019/client/buildReportingLinesQuery.js +30 -0
  120. package/dist/es2019/client/convertTeam.js +21 -0
  121. package/dist/es2019/client/defaultConfig.js +3 -0
  122. package/dist/es2019/client/directoryGraphqlQuery.js +12 -0
  123. package/dist/es2019/client/extractIdFromAri.js +8 -0
  124. package/dist/es2019/client/gatewayQueryV2.js +30 -0
  125. package/dist/es2019/client/{errorUtils.js → getErrorAttributes.js} +4 -7
  126. package/dist/es2019/client/getOrgIdForCloudIdFromAGG.js +2 -2
  127. package/dist/es2019/client/getTeamFromAGG.js +4 -80
  128. package/dist/es2019/client/graphQLQuery.js +24 -0
  129. package/dist/es2019/client/graphqlUtils.js +0 -47
  130. package/dist/es2019/client/handleAGGErrors.js +4 -0
  131. package/dist/es2019/client/handleDirectoryGraphQLErrors.js +4 -0
  132. package/dist/es2019/client/id.js +1 -0
  133. package/dist/es2019/client/idToAri.js +9 -0
  134. package/dist/es2019/client/idToAriSafe.js +6 -0
  135. package/dist/es2019/client/index.js +22 -2
  136. package/dist/es2019/client/maybeCreateTeamCentralClient.js +14 -0
  137. package/dist/es2019/client/modifyResponse.js +32 -0
  138. package/dist/es2019/components/Agent/AgentProfileCard.js +2 -2
  139. package/dist/es2019/components/Agent/AgentProfileCardResourced.js +1 -1
  140. package/dist/es2019/components/Agent/hooks/duplicateFetch.js +1 -121
  141. package/dist/es2019/components/Agent/hooks/fetchActivationId.js +35 -0
  142. package/dist/es2019/components/Agent/hooks/fetchDuplicateAgentMutation.js +49 -0
  143. package/dist/es2019/components/Agent/hooks/fetchHasVersionCapability.js +39 -0
  144. package/dist/es2019/components/Agent/hooks/firstCharUpper.js +1 -0
  145. package/dist/es2019/components/Agent/hooks/useAgentActions.js +1 -182
  146. package/dist/es2019/components/Agent/hooks/useAgentUrlActions.js +186 -0
  147. package/dist/es2019/components/Agent/utils/getAtlassianStudioAgentDuplicateUrl.js +2 -0
  148. package/dist/es2019/components/Agent/utils/getAtlassianStudioAgentEditUrl.js +2 -0
  149. package/dist/es2019/components/Agent/utils/getStudioHost.js +8 -0
  150. package/dist/es2019/components/Agent/utils/getStudioPath.js +13 -0
  151. package/dist/es2019/components/Agent/utils/index.js +2 -23
  152. package/dist/es2019/components/Team/TeamProfileCard.js +1 -1
  153. package/dist/es2019/components/Team/index.js +6 -0
  154. package/dist/es2019/components/User/LoadingView.js +19 -0
  155. package/dist/es2019/components/User/ProfileCard.js +12 -221
  156. package/dist/es2019/components/User/ProfileCardDetails.js +1 -1
  157. package/dist/es2019/components/User/ProfileCardResourced.js +1 -1
  158. package/dist/es2019/components/User/ProfilecardInternal.js +207 -0
  159. package/dist/es2019/components/User/index.js +8 -0
  160. package/dist/es2019/components/common/LoadingState.js +2 -1
  161. package/dist/es2019/components/common/ProfileCardTrigger.js +2 -1
  162. package/dist/es2019/components/team-profile-card/main.js +8 -1
  163. package/dist/es2019/components/team-profile-card/team-actions/index.js +1 -1
  164. package/dist/es2019/i18n/index.js +91 -0
  165. package/dist/es2019/index.js +4 -2
  166. package/dist/es2019/internal/isValidDate.js +4 -0
  167. package/dist/es2019/internal/relative-date.js +1 -4
  168. package/dist/es2019/mocks/{util.js → get-time-string.js} +1 -9
  169. package/dist/es2019/mocks/get-weekday.js +9 -0
  170. package/dist/es2019/mocks/index.js +13 -0
  171. package/dist/es2019/mocks/mock-profile-client.js +4 -2
  172. package/dist/es2019/mocks/mock-team-client.js +1 -1
  173. package/dist/es2019/mocks/profile-data.js +2 -1
  174. package/dist/es2019/mocks/random.js +1 -0
  175. package/dist/es2019/mocks/simple-mock-clients.js +3 -2
  176. package/dist/es2019/mocks/static-team-data.js +21 -0
  177. package/dist/es2019/mocks/team-data.js +6 -26
  178. package/dist/es2019/styled/Card.js +1 -0
  179. package/dist/es2019/styled/Error.js +1 -0
  180. package/dist/es2019/styled/ReportingLines.js +1 -0
  181. package/dist/es2019/styled/TeamCard.js +1 -0
  182. package/dist/es2019/styled/TeamTrigger.js +1 -0
  183. package/dist/es2019/styled/UserTrigger.js +1 -0
  184. package/dist/es2019/util/AGGError.js +16 -0
  185. package/dist/es2019/util/AGGErrors.js +12 -0
  186. package/dist/es2019/util/AnalyticsEventPayload.js +0 -0
  187. package/dist/es2019/util/DirectoryGraphQLError.js +14 -0
  188. package/dist/es2019/util/DirectoryGraphQLErrors.js +12 -0
  189. package/dist/es2019/util/GenericAttributes.js +0 -0
  190. package/dist/es2019/util/HttpError.js +7 -0
  191. package/dist/es2019/util/actionClicked.js +8 -0
  192. package/dist/es2019/util/agentRequestAnalytics.js +7 -0
  193. package/dist/es2019/util/analytics.js +4 -107
  194. package/dist/es2019/util/cardTriggered.js +15 -0
  195. package/dist/es2019/util/createEvent.js +18 -0
  196. package/dist/es2019/util/errorRetryClicked.js +8 -0
  197. package/dist/es2019/util/getActionSubject.js +13 -0
  198. package/dist/es2019/util/moreActionsClicked.js +8 -0
  199. package/dist/es2019/util/moreMembersClicked.js +8 -0
  200. package/dist/es2019/util/profileCardRendered.js +8 -0
  201. package/dist/es2019/util/reportingLinesClicked.js +8 -0
  202. package/dist/es2019/util/teamAvatarClicked.js +8 -0
  203. package/dist/es2019/util/teamRequestAnalytics.js +7 -0
  204. package/dist/es2019/util/userRequestAnalytics.js +7 -0
  205. package/dist/esm/client/AGGQuery.js +31 -0
  206. package/dist/esm/client/AgentForbiddenError.js +21 -0
  207. package/dist/esm/client/HeaderProcessor.js +0 -0
  208. package/dist/esm/client/ProfileCardClient.js +10 -17
  209. package/dist/esm/client/Query.js +0 -0
  210. package/dist/esm/client/RovoAgentCardClient.js +27 -39
  211. package/dist/esm/client/TeamCentralCardClient.js +2 -9
  212. package/dist/esm/client/TeamProfileCardClient.js +1 -1
  213. package/dist/esm/client/UserProfileCardClient.js +17 -51
  214. package/dist/esm/client/addHeaders.js +10 -0
  215. package/dist/esm/client/aggUserQuery.js +4 -0
  216. package/dist/esm/client/aggUserQueryString.js +1 -0
  217. package/dist/esm/client/ariPrefix.js +1 -0
  218. package/dist/esm/client/buildAggUserQuery.js +12 -0
  219. package/dist/esm/client/buildGatewayQuery.js +16 -0
  220. package/dist/esm/client/buildHeaders.js +5 -0
  221. package/dist/esm/client/buildReportingLinesQuery.js +8 -0
  222. package/dist/esm/client/convertTeam.js +22 -0
  223. package/dist/esm/client/defaultConfig.js +3 -0
  224. package/dist/esm/client/directoryGraphqlQuery.js +31 -0
  225. package/dist/esm/client/extractIdFromAri.js +8 -0
  226. package/dist/esm/client/gatewayQueryV2.js +5 -0
  227. package/dist/esm/client/{errorUtils.js → getErrorAttributes.js} +5 -8
  228. package/dist/esm/client/getOrgIdForCloudIdFromAGG.js +2 -2
  229. package/dist/esm/client/getTeamFromAGG.js +4 -59
  230. package/dist/esm/client/graphQLQuery.js +59 -0
  231. package/dist/esm/client/graphqlUtils.js +0 -118
  232. package/dist/esm/client/handleAGGErrors.js +4 -0
  233. package/dist/esm/client/handleDirectoryGraphQLErrors.js +4 -0
  234. package/dist/esm/client/id.js +3 -0
  235. package/dist/esm/client/idToAri.js +9 -0
  236. package/dist/esm/client/idToAriSafe.js +8 -0
  237. package/dist/esm/client/index.js +22 -2
  238. package/dist/esm/client/maybeCreateTeamCentralClient.js +15 -0
  239. package/dist/esm/client/modifyResponse.js +33 -0
  240. package/dist/esm/components/Agent/AgentProfileCard.js +2 -2
  241. package/dist/esm/components/Agent/AgentProfileCardResourced.js +1 -1
  242. package/dist/esm/components/Agent/hooks/duplicateFetch.js +1 -167
  243. package/dist/esm/components/Agent/hooks/fetchActivationId.js +51 -0
  244. package/dist/esm/components/Agent/hooks/fetchDuplicateAgentMutation.js +68 -0
  245. package/dist/esm/components/Agent/hooks/fetchHasVersionCapability.js +54 -0
  246. package/dist/esm/components/Agent/hooks/firstCharUpper.js +3 -0
  247. package/dist/esm/components/Agent/hooks/useAgentActions.js +1 -210
  248. package/dist/esm/components/Agent/hooks/useAgentUrlActions.js +212 -0
  249. package/dist/esm/components/Agent/utils/getAtlassianStudioAgentDuplicateUrl.js +4 -0
  250. package/dist/esm/components/Agent/utils/getAtlassianStudioAgentEditUrl.js +4 -0
  251. package/dist/esm/components/Agent/utils/getStudioHost.js +8 -0
  252. package/dist/esm/components/Agent/utils/getStudioPath.js +13 -0
  253. package/dist/esm/components/Agent/utils/index.js +2 -27
  254. package/dist/esm/components/Team/TeamProfileCard.js +1 -1
  255. package/dist/esm/components/Team/index.js +6 -0
  256. package/dist/esm/components/User/LoadingView.js +22 -0
  257. package/dist/esm/components/User/ProfileCard.js +12 -239
  258. package/dist/esm/components/User/ProfileCardDetails.js +1 -1
  259. package/dist/esm/components/User/ProfileCardResourced.js +1 -1
  260. package/dist/esm/components/User/ProfilecardInternal.js +225 -0
  261. package/dist/esm/components/User/index.js +8 -0
  262. package/dist/esm/components/common/LoadingState.js +2 -1
  263. package/dist/esm/components/common/ProfileCardTrigger.js +2 -1
  264. package/dist/esm/components/team-profile-card/main.js +8 -1
  265. package/dist/esm/components/team-profile-card/team-actions/index.js +1 -1
  266. package/dist/esm/i18n/index.js +91 -0
  267. package/dist/esm/index.js +4 -2
  268. package/dist/esm/internal/isValidDate.js +5 -0
  269. package/dist/esm/internal/relative-date.js +1 -5
  270. package/dist/esm/mocks/{util.js → get-time-string.js} +1 -11
  271. package/dist/esm/mocks/get-weekday.js +9 -0
  272. package/dist/esm/mocks/index.js +13 -0
  273. package/dist/esm/mocks/mock-profile-client.js +4 -2
  274. package/dist/esm/mocks/mock-team-client.js +1 -1
  275. package/dist/esm/mocks/profile-data.js +2 -1
  276. package/dist/esm/mocks/random.js +3 -0
  277. package/dist/esm/mocks/simple-mock-clients.js +3 -2
  278. package/dist/esm/mocks/static-team-data.js +27 -0
  279. package/dist/esm/mocks/team-data.js +6 -32
  280. package/dist/esm/styled/Card.js +1 -0
  281. package/dist/esm/styled/Error.js +1 -0
  282. package/dist/esm/styled/ReportingLines.js +1 -0
  283. package/dist/esm/styled/TeamCard.js +1 -0
  284. package/dist/esm/styled/TeamTrigger.js +1 -0
  285. package/dist/esm/styled/UserTrigger.js +1 -0
  286. package/dist/esm/util/AGGError.js +30 -0
  287. package/dist/esm/util/AGGErrors.js +27 -0
  288. package/dist/esm/util/AnalyticsEventPayload.js +0 -0
  289. package/dist/esm/util/DirectoryGraphQLError.js +29 -0
  290. package/dist/esm/util/DirectoryGraphQLErrors.js +27 -0
  291. package/dist/esm/util/GenericAttributes.js +0 -0
  292. package/dist/esm/util/HttpError.js +20 -0
  293. package/dist/esm/util/actionClicked.js +10 -0
  294. package/dist/esm/util/agentRequestAnalytics.js +9 -0
  295. package/dist/esm/util/analytics.js +4 -132
  296. package/dist/esm/util/cardTriggered.js +17 -0
  297. package/dist/esm/util/createEvent.js +24 -0
  298. package/dist/esm/util/errorRetryClicked.js +10 -0
  299. package/dist/esm/util/getActionSubject.js +13 -0
  300. package/dist/esm/util/moreActionsClicked.js +10 -0
  301. package/dist/esm/util/moreMembersClicked.js +10 -0
  302. package/dist/esm/util/profileCardRendered.js +10 -0
  303. package/dist/esm/util/reportingLinesClicked.js +10 -0
  304. package/dist/esm/util/teamAvatarClicked.js +10 -0
  305. package/dist/esm/util/teamRequestAnalytics.js +9 -0
  306. package/dist/esm/util/userRequestAnalytics.js +9 -0
  307. package/dist/types/client/AGGQuery.d.ts +8 -0
  308. package/dist/types/client/AgentForbiddenError.d.ts +4 -0
  309. package/dist/types/client/HeaderProcessor.d.ts +1 -0
  310. package/dist/types/client/ProfileCardClient.d.ts +8 -3
  311. package/dist/types/client/Query.d.ts +4 -0
  312. package/dist/types/client/RovoAgentCardClient.d.ts +0 -4
  313. package/dist/types/client/TeamCentralCardClient.d.ts +0 -6
  314. package/dist/types/client/UserProfileCardClient.d.ts +9 -16
  315. package/dist/types/client/addHeaders.d.ts +1 -0
  316. package/dist/types/client/aggUserQuery.d.ts +2 -0
  317. package/dist/types/client/aggUserQueryString.d.ts +1 -0
  318. package/dist/types/client/ariPrefix.d.ts +1 -0
  319. package/dist/types/client/buildAggUserQuery.d.ts +6 -0
  320. package/dist/types/client/buildGatewayQuery.d.ts +12 -0
  321. package/dist/types/client/buildHeaders.d.ts +1 -0
  322. package/dist/types/client/buildReportingLinesQuery.d.ts +6 -0
  323. package/dist/types/client/convertTeam.d.ts +3 -0
  324. package/dist/types/client/defaultConfig.d.ts +3 -0
  325. package/dist/types/client/directoryGraphqlQuery.d.ts +8 -0
  326. package/dist/types/client/extractIdFromAri.d.ts +1 -0
  327. package/dist/types/client/gatewayQueryV2.d.ts +1 -0
  328. package/dist/types/client/getErrorAttributes.d.ts +6 -0
  329. package/dist/types/client/getTeamFromAGG.d.ts +1 -21
  330. package/dist/types/client/graphQLQuery.d.ts +3 -0
  331. package/dist/types/client/graphqlUtils.d.ts +0 -18
  332. package/dist/types/client/handleAGGErrors.d.ts +1 -0
  333. package/dist/types/client/handleDirectoryGraphQLErrors.d.ts +1 -0
  334. package/dist/types/client/id.d.ts +2 -0
  335. package/dist/types/client/idToAri.d.ts +4 -0
  336. package/dist/types/client/idToAriSafe.d.ts +1 -0
  337. package/dist/types/client/index.d.ts +18 -2
  338. package/dist/types/client/maybeCreateTeamCentralClient.d.ts +3 -0
  339. package/dist/types/client/modifyResponse.d.ts +10 -0
  340. package/dist/types/components/Agent/hooks/duplicateFetch.d.ts +1 -24
  341. package/dist/types/components/Agent/hooks/fetchActivationId.d.ts +5 -0
  342. package/dist/types/components/Agent/hooks/fetchDuplicateAgentMutation.d.ts +11 -0
  343. package/dist/types/components/Agent/hooks/fetchHasVersionCapability.d.ts +8 -0
  344. package/dist/types/components/Agent/hooks/firstCharUpper.d.ts +1 -0
  345. package/dist/types/components/Agent/hooks/useAgentActions.d.ts +1 -16
  346. package/dist/types/components/Agent/hooks/useAgentUrlActions.d.ts +15 -0
  347. package/dist/types/components/Agent/utils/getAtlassianStudioAgentDuplicateUrl.d.ts +1 -0
  348. package/dist/types/components/Agent/utils/getAtlassianStudioAgentEditUrl.d.ts +1 -0
  349. package/dist/types/components/Agent/utils/getStudioHost.d.ts +1 -0
  350. package/dist/types/components/Agent/utils/getStudioPath.d.ts +1 -0
  351. package/dist/types/components/Agent/utils/index.d.ts +2 -4
  352. package/dist/types/components/Team/index.d.ts +3 -0
  353. package/dist/types/components/User/LoadingView.d.ts +3 -0
  354. package/dist/types/components/User/ProfileCard.d.ts +9 -4
  355. package/dist/types/components/User/ProfilecardInternal.d.ts +3 -0
  356. package/dist/types/components/User/index.d.ts +6 -0
  357. package/dist/types/components/team-profile-card/main.d.ts +5 -0
  358. package/dist/types/i18n/index.d.ts +90 -0
  359. package/dist/types/index.d.ts +3 -2
  360. package/dist/types/internal/isValidDate.d.ts +1 -0
  361. package/dist/types/internal/relative-date.d.ts +0 -1
  362. package/dist/types/mocks/get-time-string.d.ts +1 -0
  363. package/dist/types/mocks/get-weekday.d.ts +4 -0
  364. package/dist/types/mocks/index.d.ts +12 -0
  365. package/dist/types/mocks/random.d.ts +1 -0
  366. package/dist/types/mocks/simple-mock-clients.d.ts +1 -1
  367. package/dist/types/mocks/static-team-data.d.ts +8 -0
  368. package/dist/types/mocks/team-data.d.ts +10 -7
  369. package/dist/types/types.d.ts +1 -1
  370. package/dist/types/util/AGGError.d.ts +15 -0
  371. package/dist/types/util/AGGErrors.d.ts +6 -0
  372. package/dist/types/util/AnalyticsEventPayload.d.ts +1 -0
  373. package/dist/types/util/DirectoryGraphQLError.d.ts +14 -0
  374. package/dist/types/util/DirectoryGraphQLErrors.d.ts +6 -0
  375. package/dist/types/util/GenericAttributes.d.ts +1 -0
  376. package/dist/types/util/HttpError.d.ts +5 -0
  377. package/dist/types/util/actionClicked.d.ts +13 -0
  378. package/dist/types/util/agentRequestAnalytics.d.ts +9 -0
  379. package/dist/types/util/analytics.d.ts +3 -97
  380. package/dist/types/util/cardTriggered.d.ts +7 -0
  381. package/dist/types/util/createEvent.d.ts +7 -0
  382. package/dist/types/util/errorRetryClicked.d.ts +8 -0
  383. package/dist/types/util/getActionSubject.d.ts +1 -0
  384. package/dist/types/util/moreActionsClicked.d.ts +10 -0
  385. package/dist/types/util/moreMembersClicked.d.ts +9 -0
  386. package/dist/types/util/profileCardRendered.d.ts +16 -0
  387. package/dist/types/util/reportingLinesClicked.d.ts +9 -0
  388. package/dist/types/util/teamAvatarClicked.d.ts +11 -0
  389. package/dist/types/util/teamRequestAnalytics.d.ts +9 -0
  390. package/dist/types/util/userRequestAnalytics.d.ts +9 -0
  391. package/loading-view/package.json +10 -0
  392. package/main/package.json +4 -4
  393. package/modify-response/package.json +10 -0
  394. package/package.json +2 -2
  395. package/profile-card-client/package.json +4 -4
  396. package/profile-card-resourced/package.json +10 -0
  397. package/profilecard-internal/package.json +10 -0
  398. package/dist/cjs/components/Error/index.js +0 -27
  399. package/dist/cjs/components/Icon/index.js +0 -13
  400. package/dist/cjs/components/team-profile-card/index.js +0 -12
  401. package/dist/cjs/entry-points/ProfileCardClient.js +0 -13
  402. package/dist/cjs/entry-points/main.js +0 -12
  403. package/dist/cjs/mocks/util.js +0 -26
  404. package/dist/cjs/util/errors.js +0 -105
  405. package/dist/es2019/components/Error/index.js +0 -3
  406. package/dist/es2019/components/Icon/index.js +0 -1
  407. package/dist/es2019/components/team-profile-card/index.js +0 -1
  408. package/dist/es2019/entry-points/ProfileCardClient.js +0 -1
  409. package/dist/es2019/entry-points/main.js +0 -1
  410. package/dist/es2019/util/errors.js +0 -59
  411. package/dist/esm/components/Error/index.js +0 -3
  412. package/dist/esm/components/Icon/index.js +0 -1
  413. package/dist/esm/components/team-profile-card/index.js +0 -1
  414. package/dist/esm/entry-points/ProfileCardClient.js +0 -1
  415. package/dist/esm/entry-points/main.js +0 -1
  416. package/dist/esm/util/errors.js +0 -98
  417. package/dist/types/client/errorUtils.d.ts +0 -5
  418. package/dist/types/components/Error/index.d.ts +0 -3
  419. package/dist/types/components/Icon/index.d.ts +0 -1
  420. package/dist/types/components/team-profile-card/index.d.ts +0 -1
  421. package/dist/types/entry-points/ProfileCardClient.d.ts +0 -1
  422. package/dist/types/entry-points/main.d.ts +0 -1
  423. package/dist/types/mocks/util.d.ts +0 -6
  424. package/dist/types/util/errors.d.ts +0 -43
@@ -1,6 +1,26 @@
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
1
2
  import CachingClient from './CachingClient';
2
3
  import ProfileCardClient from './ProfileCardClient';
3
4
  import TeamProfileClient from './TeamProfileCardClient';
4
- import UserProfileClient, { modifyResponse } from './UserProfileCardClient';
5
- export { CachingClient, modifyResponse, TeamProfileClient, UserProfileClient };
5
+ import UserProfileClient from './UserProfileCardClient';
6
+ import { modifyResponse } from './modifyResponse';
7
+
8
+ /**
9
+ * @deprecated Use `import CachingClient from '@atlaskit/profilecard/caching-client'` instead.
10
+ */
11
+ export { CachingClient };
12
+ /**
13
+ * @deprecated Use `import { modifyResponse } from '@atlaskit/profilecard/modify-response'` instead.
14
+ */
15
+ export { modifyResponse };
16
+ /**
17
+ * @deprecated Use `import TeamProfileClient from '@atlaskit/profilecard/team-profile-card-client'` instead.
18
+ */
19
+ export { TeamProfileClient };
20
+ /**
21
+ * @deprecated Use `import UserProfileClient from '@atlaskit/profilecard/user-profile-card-client'` instead.
22
+ */
23
+ export { UserProfileClient };
24
+
25
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-re-exports
6
26
  export default ProfileCardClient;
@@ -0,0 +1,14 @@
1
+ import { isFedRamp } from '@atlaskit/atlassian-context/is-fedramp';
2
+ import { default as TeamCentralCardClient } from './TeamCentralCardClient';
3
+ export function maybeCreateTeamCentralClient(config, clients) {
4
+ if (isFedRamp()) {
5
+ return undefined;
6
+ }
7
+ if (clients !== null && clients !== void 0 && clients.teamCentralClient) {
8
+ return clients.teamCentralClient;
9
+ }
10
+ const teamCentralEnabled = config.teamCentralDisabled !== true;
11
+ return teamCentralEnabled ? new TeamCentralCardClient({
12
+ ...config
13
+ }) : undefined;
14
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Transform response from GraphQL
3
+ * - Prefix `timestring` with `remoteWeekdayString` depending on `remoteWeekdayIndex`
4
+ * - Remove properties which will be not used later
5
+ * @ignore
6
+ * @param {object} response
7
+ * @return {object}
8
+ */
9
+ export const modifyResponse = response => {
10
+ const data = {
11
+ ...response.User
12
+ };
13
+ const localWeekdayIndex = new Date().getDay().toString();
14
+ if (data.remoteWeekdayIndex && data.remoteWeekdayIndex !== localWeekdayIndex) {
15
+ data.remoteTimeString = `${data.remoteWeekdayString} ${data.remoteTimeString}`;
16
+ }
17
+ return {
18
+ isBot: data.isBot,
19
+ isCurrentUser: data.isCurrentUser,
20
+ status: data.status,
21
+ statusModifiedDate: data.statusModifiedDate || undefined,
22
+ avatarUrl: data.avatarUrl || undefined,
23
+ email: data.email || undefined,
24
+ fullName: data.fullName || undefined,
25
+ location: data.location || undefined,
26
+ meta: data.meta || undefined,
27
+ nickname: data.nickname || undefined,
28
+ companyName: data.companyName || undefined,
29
+ timestring: data.remoteTimeString || undefined,
30
+ accountType: data.accountType || undefined
31
+ };
32
+ };
@@ -17,12 +17,12 @@ import { TeamsLink } from '@atlaskit/teams-app-internal-navigation/teams-link';
17
17
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
18
18
  import { PACKAGE_META_DATA } from '../../util/analytics';
19
19
  import { getPageTime } from '../../util/performance';
20
+ import { default as ErrorMessage } from '../Error/ErrorMessage';
20
21
  import { LoadingState } from '../common/LoadingState';
21
- import { ErrorMessage } from '../Error';
22
22
  import { AgentActions } from './Actions';
23
23
  import { AgentProfileCardWrapper } from './AgentProfileCardWrapper';
24
24
  import { ConversationStarters } from './ConversationStarters';
25
- import { useAgentUrlActions } from './hooks/useAgentActions';
25
+ import { useAgentUrlActions } from './hooks/useAgentUrlActions';
26
26
  import { messages } from './messages';
27
27
  const styles = {
28
28
  detailWrapper: "_1q511ejb",
@@ -4,7 +4,7 @@ import { fg } from '@atlaskit/platform-feature-flags/fg';
4
4
  import { getAgentCreator } from '@atlaskit/rovo-agent-components/ui/AgentProfileInfo';
5
5
  import { navigateToTeamsApp } from '@atlaskit/teams-app-config/navigation';
6
6
  import { useAnalyticsEvents as useAnalyticsEventsNext } from '@atlaskit/teams-app-internal-analytics/use-analytics-events';
7
- import { AgentForbiddenError } from '../../client/RovoAgentCardClient';
7
+ import { AgentForbiddenError } from '../../client/AgentForbiddenError';
8
8
  import { getAAIDFromARI } from '../../util/rovoAgentUtils';
9
9
  import ErrorMessage from '../Error/ErrorMessage';
10
10
  import { AgentProfileCardWrapper } from './AgentProfileCardWrapper';
@@ -1,121 +1 @@
1
- const GRAPHQL_ENDPOINT = '/gateway/api/graphql';
2
-
3
- /**
4
- * Fetches version capability for a site via raw GraphQL fetch.
5
- * Returns true only if versioning migration has completed.
6
- *
7
- * TODO remove after versioning rollout complete
8
- * See: https://product-fabric.atlassian.net/browse/RAGE-2822
9
- */
10
- export const fetchHasVersionCapability = async cloudId => {
11
- try {
12
- var _json$data;
13
- const response = await fetch(GRAPHQL_ENDPOINT, {
14
- method: 'POST',
15
- credentials: 'include',
16
- headers: {
17
- 'Content-Type': 'application/json'
18
- },
19
- body: JSON.stringify({
20
- query: `query profilecardHasVersionCapabilityQuery($cloudId: String!) {
21
- agentStudio_hasVersionCapability(cloudId: $cloudId) @optIn(to: "AgentStudio") {
22
- __typename
23
- ... on AgentStudioHasVersionCapability {
24
- hasVersionCapability
25
- }
26
- }
27
- }`,
28
- variables: {
29
- cloudId
30
- }
31
- })
32
- });
33
- const json = await response.json();
34
- const result = json === null || json === void 0 ? void 0 : (_json$data = json.data) === null || _json$data === void 0 ? void 0 : _json$data.agentStudio_hasVersionCapability;
35
- return (result === null || result === void 0 ? void 0 : result.__typename) === 'AgentStudioHasVersionCapability' ? Boolean(result.hasVersionCapability) : false;
36
- } catch {
37
- return false;
38
- }
39
- };
40
-
41
- /**
42
- * Fetches the Rovo activation ID for a given cloud ID.
43
- * Used to construct the agent ARI when not available.
44
- */
45
- export const fetchActivationId = async cloudId => {
46
- try {
47
- var _json$data$tenantCont, _json$data2, _json$data2$tenantCon, _json$data2$tenantCon2, _json$data2$tenantCon3;
48
- const response = await fetch(GRAPHQL_ENDPOINT, {
49
- method: 'POST',
50
- credentials: 'include',
51
- headers: {
52
- 'Content-Type': 'application/json'
53
- },
54
- body: JSON.stringify({
55
- query: `query profilecardActivationQuery($cloudId: ID!, $product: String!) {
56
- tenantContexts(cloudIds: [$cloudId]) {
57
- activationIdByProduct(product: $product) {
58
- active
59
- }
60
- }
61
- }`,
62
- variables: {
63
- cloudId,
64
- product: 'rovo'
65
- }
66
- })
67
- });
68
- const json = await response.json();
69
- return (_json$data$tenantCont = json === null || json === void 0 ? void 0 : (_json$data2 = json.data) === null || _json$data2 === void 0 ? void 0 : (_json$data2$tenantCon = _json$data2.tenantContexts) === null || _json$data2$tenantCon === void 0 ? void 0 : (_json$data2$tenantCon2 = _json$data2$tenantCon[0]) === null || _json$data2$tenantCon2 === void 0 ? void 0 : (_json$data2$tenantCon3 = _json$data2$tenantCon2.activationIdByProduct) === null || _json$data2$tenantCon3 === void 0 ? void 0 : _json$data2$tenantCon3.active) !== null && _json$data$tenantCont !== void 0 ? _json$data$tenantCont : null;
70
- } catch {
71
- return null;
72
- }
73
- };
74
-
75
- /**
76
- * Calls the agentStudio_duplicateAgent mutation via raw GraphQL fetch.
77
- *
78
- * TODO: Add SLO tracking and Sentry error reporting.
79
- * See: https://product-fabric.atlassian.net/browse/RAGE-2822
80
- */
81
- export const fetchDuplicateAgentMutation = async agentAri => {
82
- try {
83
- var _json$data3, _result$agent, _result$errors$0$mess, _result$errors, _result$errors$;
84
- const response = await fetch(GRAPHQL_ENDPOINT, {
85
- method: 'POST',
86
- credentials: 'include',
87
- headers: {
88
- 'Content-Type': 'application/json'
89
- },
90
- body: JSON.stringify({
91
- query: `mutation profilecardDuplicateAgentMutation($agentId: ID!) {
92
- agentStudio_duplicateAgent(id: $agentId) @optIn(to: "AgentStudio") {
93
- agent { id }
94
- success
95
- errors { message }
96
- }
97
- }`,
98
- variables: {
99
- agentId: agentAri
100
- }
101
- })
102
- });
103
- const json = await response.json();
104
- const result = json === null || json === void 0 ? void 0 : (_json$data3 = json.data) === null || _json$data3 === void 0 ? void 0 : _json$data3.agentStudio_duplicateAgent;
105
- if (result !== null && result !== void 0 && result.success && result !== null && result !== void 0 && (_result$agent = result.agent) !== null && _result$agent !== void 0 && _result$agent.id) {
106
- return {
107
- success: true,
108
- newAgentAri: result.agent.id
109
- };
110
- }
111
- return {
112
- success: false,
113
- errorMessage: (_result$errors$0$mess = result === null || result === void 0 ? void 0 : (_result$errors = result.errors) === null || _result$errors === void 0 ? void 0 : (_result$errors$ = _result$errors[0]) === null || _result$errors$ === void 0 ? void 0 : _result$errors$.message) !== null && _result$errors$0$mess !== void 0 ? _result$errors$0$mess : 'Duplicate agent mutation failed'
114
- };
115
- } catch (error) {
116
- return {
117
- success: false,
118
- errorMessage: error instanceof Error ? error.message : 'Network error during duplication'
119
- };
120
- }
121
- };
1
+ export const GRAPHQL_ENDPOINT = '/gateway/api/graphql';
@@ -0,0 +1,35 @@
1
+ import { GRAPHQL_ENDPOINT } from './duplicateFetch';
2
+
3
+ /**
4
+ * Fetches the Rovo activation ID for a given cloud ID.
5
+ * Used to construct the agent ARI when not available.
6
+ */
7
+ export const fetchActivationId = async cloudId => {
8
+ try {
9
+ var _json$data$tenantCont, _json$data, _json$data$tenantCont2, _json$data$tenantCont3, _json$data$tenantCont4;
10
+ const response = await fetch(GRAPHQL_ENDPOINT, {
11
+ method: 'POST',
12
+ credentials: 'include',
13
+ headers: {
14
+ 'Content-Type': 'application/json'
15
+ },
16
+ body: JSON.stringify({
17
+ query: `query profilecardActivationQuery($cloudId: ID!, $product: String!) {
18
+ tenantContexts(cloudIds: [$cloudId]) {
19
+ activationIdByProduct(product: $product) {
20
+ active
21
+ }
22
+ }
23
+ }`,
24
+ variables: {
25
+ cloudId,
26
+ product: 'rovo'
27
+ }
28
+ })
29
+ });
30
+ const json = await response.json();
31
+ return (_json$data$tenantCont = json === null || json === void 0 ? void 0 : (_json$data = json.data) === null || _json$data === void 0 ? void 0 : (_json$data$tenantCont2 = _json$data.tenantContexts) === null || _json$data$tenantCont2 === void 0 ? void 0 : (_json$data$tenantCont3 = _json$data$tenantCont2[0]) === null || _json$data$tenantCont3 === void 0 ? void 0 : (_json$data$tenantCont4 = _json$data$tenantCont3.activationIdByProduct) === null || _json$data$tenantCont4 === void 0 ? void 0 : _json$data$tenantCont4.active) !== null && _json$data$tenantCont !== void 0 ? _json$data$tenantCont : null;
32
+ } catch {
33
+ return null;
34
+ }
35
+ };
@@ -0,0 +1,49 @@
1
+ import { GRAPHQL_ENDPOINT } from './duplicateFetch';
2
+
3
+ /**
4
+ * Calls the agentStudio_duplicateAgent mutation via raw GraphQL fetch.
5
+ *
6
+ * TODO: Add SLO tracking and Sentry error reporting.
7
+ * See: https://product-fabric.atlassian.net/browse/RAGE-2822
8
+ */
9
+ export const fetchDuplicateAgentMutation = async agentAri => {
10
+ try {
11
+ var _json$data, _result$agent, _result$errors$0$mess, _result$errors, _result$errors$;
12
+ const response = await fetch(GRAPHQL_ENDPOINT, {
13
+ method: 'POST',
14
+ credentials: 'include',
15
+ headers: {
16
+ 'Content-Type': 'application/json'
17
+ },
18
+ body: JSON.stringify({
19
+ query: `mutation profilecardDuplicateAgentMutation($agentId: ID!) {
20
+ agentStudio_duplicateAgent(id: $agentId) @optIn(to: "AgentStudio") {
21
+ agent { id }
22
+ success
23
+ errors { message }
24
+ }
25
+ }`,
26
+ variables: {
27
+ agentId: agentAri
28
+ }
29
+ })
30
+ });
31
+ const json = await response.json();
32
+ const result = json === null || json === void 0 ? void 0 : (_json$data = json.data) === null || _json$data === void 0 ? void 0 : _json$data.agentStudio_duplicateAgent;
33
+ if (result !== null && result !== void 0 && result.success && result !== null && result !== void 0 && (_result$agent = result.agent) !== null && _result$agent !== void 0 && _result$agent.id) {
34
+ return {
35
+ success: true,
36
+ newAgentAri: result.agent.id
37
+ };
38
+ }
39
+ return {
40
+ success: false,
41
+ errorMessage: (_result$errors$0$mess = result === null || result === void 0 ? void 0 : (_result$errors = result.errors) === null || _result$errors === void 0 ? void 0 : (_result$errors$ = _result$errors[0]) === null || _result$errors$ === void 0 ? void 0 : _result$errors$.message) !== null && _result$errors$0$mess !== void 0 ? _result$errors$0$mess : 'Duplicate agent mutation failed'
42
+ };
43
+ } catch (error) {
44
+ return {
45
+ success: false,
46
+ errorMessage: error instanceof Error ? error.message : 'Network error during duplication'
47
+ };
48
+ }
49
+ };
@@ -0,0 +1,39 @@
1
+ import { GRAPHQL_ENDPOINT } from './duplicateFetch';
2
+
3
+ /**
4
+ * Fetches version capability for a site via raw GraphQL fetch.
5
+ * Returns true only if versioning migration has completed.
6
+ *
7
+ * TODO remove after versioning rollout complete
8
+ * See: https://product-fabric.atlassian.net/browse/RAGE-2822
9
+ */
10
+ export const fetchHasVersionCapability = async cloudId => {
11
+ try {
12
+ var _json$data;
13
+ const response = await fetch(GRAPHQL_ENDPOINT, {
14
+ method: 'POST',
15
+ credentials: 'include',
16
+ headers: {
17
+ 'Content-Type': 'application/json'
18
+ },
19
+ body: JSON.stringify({
20
+ query: `query profilecardHasVersionCapabilityQuery($cloudId: String!) {
21
+ agentStudio_hasVersionCapability(cloudId: $cloudId) @optIn(to: "AgentStudio") {
22
+ __typename
23
+ ... on AgentStudioHasVersionCapability {
24
+ hasVersionCapability
25
+ }
26
+ }
27
+ }`,
28
+ variables: {
29
+ cloudId
30
+ }
31
+ })
32
+ });
33
+ const json = await response.json();
34
+ const result = json === null || json === void 0 ? void 0 : (_json$data = json.data) === null || _json$data === void 0 ? void 0 : _json$data.agentStudio_hasVersionCapability;
35
+ return (result === null || result === void 0 ? void 0 : result.__typename) === 'AgentStudioHasVersionCapability' ? Boolean(result.hasVersionCapability) : false;
36
+ } catch {
37
+ return false;
38
+ }
39
+ };
@@ -0,0 +1 @@
1
+ export const firstCharUpper = str => str.charAt(0).toUpperCase() + str.slice(1);
@@ -1,182 +1 @@
1
- import { useCallback } from 'react';
2
- import { getATLContextUrl } from '@atlaskit/atlassian-context/get-atl-context-url';
3
- import { fg } from '@atlaskit/platform-feature-flags/fg';
4
- import { useRovoPostMessageToPubsub } from '@atlaskit/rovo-triggers/post-message-to-pubsub';
5
- import { navigateToTeamsApp } from '@atlaskit/teams-app-config/navigation';
6
- import { useAnalyticsEvents } from '@atlaskit/teams-app-internal-analytics/use-analytics-events';
7
- import { encodeParamsToUrl } from '../../../util/url';
8
- import { getAtlassianStudioAgentDuplicateUrl, getAtlassianStudioAgentEditUrl, getStudioPath } from '../utils';
9
- import { fetchHasVersionCapability, fetchActivationId, fetchDuplicateAgentMutation } from './duplicateFetch';
10
- export const firstCharUpper = str => str.charAt(0).toUpperCase() + str.slice(1);
11
- const ROVO_PARAM_PREFIX = 'rovoChat';
12
- const createRovoParams = params => {
13
- const rovoParams = {};
14
- Object.entries(params).forEach(([key, value]) => {
15
- rovoParams[`${ROVO_PARAM_PREFIX}${firstCharUpper(key)}`] = encodeURIComponent(value);
16
- });
17
- return rovoParams;
18
- };
19
- export const useAgentUrlActions = ({
20
- cloudId,
21
- email,
22
- source
23
- }) => {
24
- const {
25
- publishWithPostMessage
26
- } = useRovoPostMessageToPubsub();
27
- const {
28
- fireEvent
29
- } = useAnalyticsEvents();
30
- const onEditAgent = useCallback(agentId => {
31
- const url = getAtlassianStudioAgentEditUrl(cloudId, agentId, email);
32
- window.open(url, '_blank', 'noopener, noreferrer');
33
- fireEvent('ui.button.clicked.editAgentButton', {
34
- agentId,
35
- source
36
- });
37
- }, [cloudId, email, fireEvent, source]);
38
- const onCopyAgent = agentId => {
39
- const url = `${window.location.origin}/people/agent/${agentId}`;
40
- const urlWithParams = encodeParamsToUrl(url, {
41
- cloudId
42
- });
43
- navigator.clipboard.writeText(urlWithParams);
44
- fireEvent('ui.button.clicked.copyAgentLinkButton', {
45
- agentId,
46
- source
47
- });
48
- };
49
- const onDuplicateAgent = useCallback(async agentId => {
50
- fireEvent('ui.button.clicked.duplicateAgentButton', {
51
- agentId,
52
- source
53
- });
54
- const legacyDuplicateUrl = getAtlassianStudioAgentDuplicateUrl(cloudId, agentId, email);
55
-
56
- // When versioning FG is off, use legacy duplicate flow
57
- if (!fg('rovo_agent_versioning_enabled')) {
58
- window.open(legacyDuplicateUrl, '_blank', 'noopener, noreferrer');
59
- return;
60
- }
61
-
62
- // Check if versioning migration has completed for this site
63
- const hasVersionCapability = await fetchHasVersionCapability(cloudId);
64
- if (!hasVersionCapability) {
65
- // Opening in same tab because, we cannot open in new tab after async operation, because browsers prevent `.open` after certain duration
66
- window.location.assign(legacyDuplicateUrl);
67
- return;
68
- }
69
-
70
- // Resolve agent ARI (profilecard doesn't have agentAri, so fetch activationId)
71
- const activationId = await fetchActivationId(cloudId);
72
- if (!activationId) {
73
- // Opening in same tab because, we cannot open in new tab after async operation, because browsers prevent `.open` after certain duration
74
- window.location.assign(legacyDuplicateUrl);
75
- return;
76
- }
77
- const agentAri = `ari:cloud:rovo::agent/activation/${activationId}/${agentId}`;
78
-
79
- // Call BE mutation to duplicate the agent
80
- const result = await fetchDuplicateAgentMutation(agentAri);
81
- if (result.success && result.newAgentAri) {
82
- // Opening in same tab because, we cannot open in new tab after async operation, because browsers prevent `.open` after certain duration
83
- window.location.assign(getStudioPath(`/s/${cloudId}/agents/${encodeURIComponent(result.newAgentAri)}/v/draft/details`));
84
- } else {
85
- // Fallback to legacy on error
86
- // Opening in same tab because, we cannot open in new tab after async operation, because browsers prevent `.open` after certain duration
87
- window.location.assign(legacyDuplicateUrl);
88
- }
89
- }, [cloudId, email, fireEvent, source]);
90
- const onConversationStarter = ({
91
- agentId,
92
- prompt
93
- }) => {
94
- const startConversationInNewTab = () => {
95
- const baseUrl = `${getATLContextUrl('home')}/chat`;
96
- const urlWithParams = encodeParamsToUrl(baseUrl, {
97
- cloudId,
98
- ...createRovoParams({
99
- cloudId,
100
- agentId,
101
- prompt,
102
- pathway: 'chat'
103
- })
104
- });
105
- window.open(urlWithParams, '_blank', 'noopener, noreferrer');
106
- };
107
- publishWithPostMessage({
108
- targetWindow: window,
109
- payload: {
110
- type: 'chat-new',
111
- source: 'AgentProfileCard',
112
- data: {
113
- name: prompt.slice(0, 50),
114
- prompt,
115
- agentId,
116
- dialogues: []
117
- }
118
- },
119
- onAcknowledgeTimeout: () => {
120
- startConversationInNewTab();
121
- }
122
- });
123
- };
124
- const onOpenChat = (agentId, agentName) => {
125
- const openChatInNewTab = () => {
126
- const baseUrl = `${getATLContextUrl('home')}/chat`;
127
- const urlWithParams = encodeParamsToUrl(baseUrl, {
128
- cloudId,
129
- ...createRovoParams({
130
- cloudId,
131
- agentId,
132
- pathway: 'chat'
133
- })
134
- });
135
- window.open(urlWithParams, '_blank', 'noopener, noreferrer');
136
- };
137
- publishWithPostMessage({
138
- targetWindow: window,
139
- payload: {
140
- type: 'chat-new',
141
- source: 'AgentProfileCard',
142
- data: {
143
- agentId,
144
- dialogues: [],
145
- name: `Chat with ${agentName}`
146
- }
147
- },
148
- onAcknowledgeTimeout: () => {
149
- openChatInNewTab();
150
- }
151
- });
152
- };
153
- const onViewFullProfile = agentId => {
154
- const {
155
- onNavigate
156
- } = navigateToTeamsApp({
157
- type: 'AGENT',
158
- payload: {
159
- agentId
160
- },
161
- cloudId,
162
- shouldOpenInSameTab: false
163
- });
164
- if (fg('platform-adopt-teams-nav-config')) {
165
- onNavigate();
166
- } else {
167
- window.open(`${window.location.origin}/people/agent/${agentId}`, '_blank', 'noopener, noreferrer');
168
- }
169
- fireEvent('ui.button.clicked.viewAgentFullProfileButton', {
170
- agentId,
171
- source
172
- });
173
- };
174
- return {
175
- onEditAgent,
176
- onCopyAgent,
177
- onDuplicateAgent,
178
- onOpenChat,
179
- onConversationStarter,
180
- onViewFullProfile
181
- };
182
- };
1
+ export const ROVO_PARAM_PREFIX = 'rovoChat';