@atlaskit/smart-card 26.50.13 → 26.50.14

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 (32) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/extractors/flexible/index.js +2 -1
  3. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/index.js +6 -3
  4. package/dist/cjs/state/hooks/use-ai-summary/index.js +4 -2
  5. package/dist/cjs/utils/analytics/analytics.js +1 -1
  6. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +3 -1
  7. package/dist/cjs/view/HoverCard/components/ContentContainer.js +6 -3
  8. package/dist/cjs/view/HoverCard/components/views/resolved/index.js +7 -3
  9. package/dist/cjs/view/LinkUrl/index.js +1 -1
  10. package/dist/es2019/extractors/flexible/index.js +3 -2
  11. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/index.js +6 -3
  12. package/dist/es2019/state/hooks/use-ai-summary/index.js +4 -2
  13. package/dist/es2019/utils/analytics/analytics.js +1 -1
  14. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +3 -1
  15. package/dist/es2019/view/HoverCard/components/ContentContainer.js +7 -4
  16. package/dist/es2019/view/HoverCard/components/views/resolved/index.js +8 -4
  17. package/dist/es2019/view/LinkUrl/index.js +1 -1
  18. package/dist/esm/extractors/flexible/index.js +3 -2
  19. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/index.js +6 -3
  20. package/dist/esm/state/hooks/use-ai-summary/index.js +4 -2
  21. package/dist/esm/utils/analytics/analytics.js +1 -1
  22. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +3 -1
  23. package/dist/esm/view/HoverCard/components/ContentContainer.js +7 -4
  24. package/dist/esm/view/HoverCard/components/views/resolved/index.js +8 -4
  25. package/dist/esm/view/LinkUrl/index.js +1 -1
  26. package/dist/types/state/flexible-ui-context/types.d.ts +6 -0
  27. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/index.d.ts +1 -0
  28. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +7 -3
  29. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +6 -0
  30. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/index.d.ts +1 -0
  31. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +7 -3
  32. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 26.50.14
4
+
5
+ ### Patch Changes
6
+
7
+ - [#86596](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/86596) [`37621cb1f1b9`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/37621cb1f1b9) - Update dependency json-ld-types
8
+ - [#86596](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/86596) [`3e267c62d680`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/3e267c62d680) - Change request shape to ai mate summary service and include ARI, add ari to flex context
9
+ - Updated dependencies
10
+
3
11
  ## 26.50.13
4
12
 
5
13
  ### Patch Changes
@@ -70,7 +70,8 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
70
70
  storyPoints: (0, _utils.extractStoryPoints)(data),
71
71
  targetBranch: (0, _utils.extractTargetBranch)(data),
72
72
  title: (0, _linkExtractors.extractTitle)(data) || url,
73
- url: url
73
+ url: url,
74
+ ari: (0, _linkExtractors.extractAri)(data)
74
75
  };
75
76
  };
76
77
  var _default = exports.default = extractFlexibleUiContext;
@@ -37,9 +37,11 @@ var AISummaryService = exports.AISummaryService = /*#__PURE__*/function () {
37
37
  case 0:
38
38
  payload = {
39
39
  recipient_agent_named_id: 'summary_agent',
40
- agent_input: {
41
- urls: [_this.url],
42
- summary_style: summaryStyle
40
+ agent_input_context: {
41
+ content_url: _this.url,
42
+ content_ari: _this.ari,
43
+ summary_style: summaryStyle,
44
+ summary_output_mimetype: 'text/markdown'
43
45
  }
44
46
  };
45
47
  options = {
@@ -84,6 +86,7 @@ var AISummaryService = exports.AISummaryService = /*#__PURE__*/function () {
84
86
  headers: _objectSpread({}, props.headers || defaultConfig.headers)
85
87
  };
86
88
  this.url = props.url;
89
+ this.ari = props.ari;
87
90
  this.onStart = props.onStart;
88
91
  this.onSuccess = props.onSuccess;
89
92
  this.onError = props.onError;
@@ -17,7 +17,8 @@ var useAISummary = exports.useAISummary = function useAISummary(props) {
17
17
  var url = props.url,
18
18
  baseUrl = props.baseUrl,
19
19
  headers = props.headers,
20
- product = props.product;
20
+ product = props.product,
21
+ ari = props.ari;
21
22
  var _useState = (0, _react.useState)(((_AISummariesStore$get = _store.AISummariesStore.get(url)) === null || _AISummariesStore$get === void 0 ? void 0 : _AISummariesStore$get.state) || {
22
23
  status: 'ready',
23
24
  content: ''
@@ -45,6 +46,7 @@ var useAISummary = exports.useAISummary = function useAISummary(props) {
45
46
  if (!_store.AISummariesStore.get(url)) {
46
47
  _store.AISummariesStore.set(url, new _aiSummaryService.AISummaryService({
47
48
  url: url,
49
+ ari: ari,
48
50
  baseUrl: baseUrl,
49
51
  headers: headers,
50
52
  onError: onError,
@@ -56,7 +58,7 @@ var useAISummary = exports.useAISummary = function useAISummary(props) {
56
58
 
57
59
  //returns function that calls unsubscribe method
58
60
  return (_AISummariesStore$get2 = _store.AISummariesStore.get(url)) === null || _AISummariesStore$get2 === void 0 ? void 0 : _AISummariesStore$get2.subscribe(setState);
59
- }, [url, baseUrl, headers, onError, onStart, onSuccess, product]);
61
+ }, [url, baseUrl, headers, onError, onStart, onSuccess, product, ari]);
60
62
  var summariseUrl = function summariseUrl() {
61
63
  var _AISummariesStore$get3;
62
64
  return (_AISummariesStore$get3 = _store.AISummariesStore.get(url)) === null || _AISummariesStore$get3 === void 0 ? void 0 : _AISummariesStore$get3.summariseUrl();
@@ -22,7 +22,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
22
22
  var context = exports.context = {
23
23
  componentName: 'smart-cards',
24
24
  packageName: "@atlaskit/smart-card",
25
- packageVersion: "26.50.13"
25
+ packageVersion: "26.50.14"
26
26
  };
27
27
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
28
28
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -42,8 +42,10 @@ var AISummaryBlockResolvedView = function AISummaryBlockResolvedView(props) {
42
42
  fireEvent = _useAnalyticsEvents.fireEvent;
43
43
  var context = (0, _flexibleUiContext.useFlexibleUiContext)();
44
44
  var url = (context === null || context === void 0 ? void 0 : context.url) || '';
45
+ var ari = (context === null || context === void 0 ? void 0 : context.ari) || '';
45
46
  var _useAISummary = (0, _useAiSummary.useAISummary)({
46
- url: url
47
+ url: url,
48
+ ari: ari
47
49
  }),
48
50
  summariseUrl = _useAISummary.summariseUrl,
49
51
  _useAISummary$state = _useAISummary.state,
@@ -21,7 +21,7 @@ var _excluded = ["children", "isAIEnabled", "testId", "url"],
21
21
  _excluded2 = ["children", "isAIEnabled", "testId", "url"];
22
22
  /** @jsx jsx */
23
23
  var ConnectedAIPrismContainer = function ConnectedAIPrismContainer(_ref) {
24
- var _extractLink, _cardState$details;
24
+ var _cardState$details, _extractLink, _extractAri;
25
25
  var children = _ref.children,
26
26
  _ref$isAIEnabled = _ref.isAIEnabled,
27
27
  isAIEnabled = _ref$isAIEnabled === void 0 ? false : _ref$isAIEnabled,
@@ -29,9 +29,12 @@ var ConnectedAIPrismContainer = function ConnectedAIPrismContainer(_ref) {
29
29
  url = _ref.url,
30
30
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
31
31
  var cardState = (0, _store.useSmartCardState)(url);
32
- var dataUrl = (_extractLink = (0, _linkExtractors.extractLink)(cardState === null || cardState === void 0 || (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data)) !== null && _extractLink !== void 0 ? _extractLink : '';
32
+ var data = cardState === null || cardState === void 0 || (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
33
+ var dataUrl = (_extractLink = (0, _linkExtractors.extractLink)(data)) !== null && _extractLink !== void 0 ? _extractLink : '';
34
+ var dataAri = (_extractAri = (0, _linkExtractors.extractAri)(data)) !== null && _extractAri !== void 0 ? _extractAri : '';
33
35
  var _useAISummary = (0, _useAiSummary.useAISummary)({
34
- url: dataUrl
36
+ url: dataUrl,
37
+ ari: dataAri
35
38
  }),
36
39
  status = _useAISummary.state.status;
37
40
  var _useState = (0, _react2.useState)(status === 'loading'),
@@ -63,9 +63,11 @@ var toFooterActions = exports.toFooterActions = function toFooterActions(cardAct
63
63
  var ConnectedAIBlock = function ConnectedAIBlock(_ref) {
64
64
  var bottomPrimary = _ref.bottomPrimary,
65
65
  imagePreview = _ref.imagePreview,
66
- url = _ref.url;
66
+ url = _ref.url,
67
+ ari = _ref.ari;
67
68
  var _useAISummary = (0, _useAiSummary.useAISummary)({
68
- url: url
69
+ url: url,
70
+ ari: ari
69
71
  }),
70
72
  _useAISummary$state = _useAISummary.state,
71
73
  status = _useAISummary$state.status,
@@ -85,7 +87,7 @@ var ConnectedAIBlock = function ConnectedAIBlock(_ref) {
85
87
  })) : null;
86
88
  };
87
89
  var HoverCardResolvedView = function HoverCardResolvedView(_ref2) {
88
- var _cardState$details, _extractLink;
90
+ var _cardState$details, _extractLink, _extractAri;
89
91
  var flexibleCardProps = _ref2.flexibleCardProps,
90
92
  titleBlockProps = _ref2.titleBlockProps,
91
93
  analytics = _ref2.analytics,
@@ -111,6 +113,7 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref2) {
111
113
  }, [cardActions, onActionClick]);
112
114
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
113
115
  var dataUrl = (_extractLink = (0, _linkExtractors.extractLink)(data)) !== null && _extractLink !== void 0 ? _extractLink : '';
116
+ var dataAri = (_extractAri = (0, _linkExtractors.extractAri)(data)) !== null && _extractAri !== void 0 ? _extractAri : '';
114
117
  var _useMemo = (0, _react.useMemo)(function () {
115
118
  var betterMetadata = (0, _utils.getSimulatedBetterMetadata)(extensionKey, data);
116
119
  return {
@@ -160,6 +163,7 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref2) {
160
163
  }, /*#__PURE__*/_react.default.createElement(ConnectedAIBlock, {
161
164
  imagePreview: !!imagePreview,
162
165
  url: dataUrl,
166
+ ari: dataAri,
163
167
  bottomPrimary: bottomPrimary
164
168
  })), !isAISummaryEnabled && !imagePreview && /*#__PURE__*/_react.default.createElement(_blocks.SnippetBlock, {
165
169
  status: _constants.SmartLinkStatus.Resolved
@@ -17,7 +17,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId"],
17
17
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
18
18
  var PACKAGE_DATA = {
19
19
  packageName: "@atlaskit/smart-card",
20
- packageVersion: "26.50.13",
20
+ packageVersion: "26.50.14",
21
21
  componentName: 'linkUrl'
22
22
  };
23
23
  var Link = (0, _click.withLinkClickedEvent)('a');
@@ -3,7 +3,7 @@ import extractFollowAction from './actions/extract-follow-action';
3
3
  import { extractLinkIcon } from './icon';
4
4
  import { extractAttachmentCount, extractChecklistProgress, extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch, extractDueOn, extractLocation, extractOwnedBy, extractAssignedTo, extractSubTasksProgress, extractStoryPoints, extractReadTime, extractSentOn, extractPersonAssignedToAsArray } from './utils';
5
5
  import { extractPersonsUpdatedBy } from './collaboratorGroup';
6
- import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink, extractPersonOwnedBy } from '@atlaskit/link-extractors';
6
+ import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink, extractPersonOwnedBy, extractAri } from '@atlaskit/link-extractors';
7
7
  import extractPriority from './extract-priority';
8
8
  import extractProviderIcon from './icon/extract-provider-icon';
9
9
  import extractPreview from './extract-preview';
@@ -63,7 +63,8 @@ const extractFlexibleUiContext = ({
63
63
  storyPoints: extractStoryPoints(data),
64
64
  targetBranch: extractTargetBranch(data),
65
65
  title: extractTitle(data) || url,
66
- url
66
+ url,
67
+ ari: extractAri(data)
67
68
  };
68
69
  };
69
70
  export default extractFlexibleUiContext;
@@ -12,9 +12,11 @@ export class AISummaryService {
12
12
  _defineProperty(this, "fetchStream", async summaryStyle => {
13
13
  const payload = {
14
14
  recipient_agent_named_id: 'summary_agent',
15
- agent_input: {
16
- urls: [this.url],
17
- summary_style: summaryStyle
15
+ agent_input_context: {
16
+ content_url: this.url,
17
+ content_ari: this.ari,
18
+ summary_style: summaryStyle,
19
+ summary_output_mimetype: 'text/markdown'
18
20
  }
19
21
  };
20
22
  const options = {
@@ -47,6 +49,7 @@ export class AISummaryService {
47
49
  }
48
50
  };
49
51
  this.url = props.url;
52
+ this.ari = props.ari;
50
53
  this.onStart = props.onStart;
51
54
  this.onSuccess = props.onSuccess;
52
55
  this.onError = props.onError;
@@ -10,7 +10,8 @@ export const useAISummary = props => {
10
10
  url,
11
11
  baseUrl,
12
12
  headers,
13
- product
13
+ product,
14
+ ari
14
15
  } = props;
15
16
  const [state, setState] = useState(((_AISummariesStore$get = AISummariesStore.get(url)) === null || _AISummariesStore$get === void 0 ? void 0 : _AISummariesStore$get.state) || {
16
17
  status: 'ready',
@@ -37,6 +38,7 @@ export const useAISummary = props => {
37
38
  if (!AISummariesStore.get(url)) {
38
39
  AISummariesStore.set(url, new AISummaryService({
39
40
  url,
41
+ ari,
40
42
  baseUrl,
41
43
  headers,
42
44
  onError,
@@ -48,7 +50,7 @@ export const useAISummary = props => {
48
50
 
49
51
  //returns function that calls unsubscribe method
50
52
  return (_AISummariesStore$get2 = AISummariesStore.get(url)) === null || _AISummariesStore$get2 === void 0 ? void 0 : _AISummariesStore$get2.subscribe(setState);
51
- }, [url, baseUrl, headers, onError, onStart, onSuccess, product]);
53
+ }, [url, baseUrl, headers, onError, onStart, onSuccess, product, ari]);
52
54
  const summariseUrl = () => {
53
55
  var _AISummariesStore$get3;
54
56
  return (_AISummariesStore$get3 = AISummariesStore.get(url)) === null || _AISummariesStore$get3 === void 0 ? void 0 : _AISummariesStore$get3.summariseUrl();
@@ -4,7 +4,7 @@ export const ANALYTICS_CHANNEL = 'media';
4
4
  export const context = {
5
5
  componentName: 'smart-cards',
6
6
  packageName: "@atlaskit/smart-card",
7
- packageVersion: "26.50.13"
7
+ packageVersion: "26.50.14"
8
8
  };
9
9
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -31,6 +31,7 @@ const AISummaryBlockResolvedView = props => {
31
31
  } = useAnalyticsEvents();
32
32
  const context = useFlexibleUiContext();
33
33
  const url = (context === null || context === void 0 ? void 0 : context.url) || '';
34
+ const ari = (context === null || context === void 0 ? void 0 : context.ari) || '';
34
35
  const {
35
36
  summariseUrl,
36
37
  state: {
@@ -39,7 +40,8 @@ const AISummaryBlockResolvedView = props => {
39
40
  error
40
41
  }
41
42
  } = useAISummary({
42
- url
43
+ url,
44
+ ari
43
45
  });
44
46
  const showAISummary = status === 'done' ||
45
47
  // We want to display the AI Summary component only when there is content available during the loading process.
@@ -8,7 +8,7 @@ import AIPrism from '../../common/ai-prism';
8
8
  import { hoverCardClassName } from './HoverCardContent';
9
9
  import { useAISummary } from '../../../state/hooks/use-ai-summary';
10
10
  import { useSmartCardState } from '../../../state/store';
11
- import { extractLink } from '@atlaskit/link-extractors';
11
+ import { extractAri, extractLink } from '@atlaskit/link-extractors';
12
12
  const ConnectedAIPrismContainer = ({
13
13
  children,
14
14
  isAIEnabled = false,
@@ -16,15 +16,18 @@ const ConnectedAIPrismContainer = ({
16
16
  url,
17
17
  ...props
18
18
  }) => {
19
- var _extractLink, _cardState$details;
19
+ var _cardState$details, _extractLink, _extractAri;
20
20
  const cardState = useSmartCardState(url);
21
- const dataUrl = (_extractLink = extractLink(cardState === null || cardState === void 0 ? void 0 : (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data)) !== null && _extractLink !== void 0 ? _extractLink : '';
21
+ const data = cardState === null || cardState === void 0 ? void 0 : (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
22
+ const dataUrl = (_extractLink = extractLink(data)) !== null && _extractLink !== void 0 ? _extractLink : '';
23
+ const dataAri = (_extractAri = extractAri(data)) !== null && _extractAri !== void 0 ? _extractAri : '';
22
24
  const {
23
25
  state: {
24
26
  status
25
27
  }
26
28
  } = useAISummary({
27
- url: dataUrl
29
+ url: dataUrl,
30
+ ari: dataAri
28
31
  });
29
32
  const [showPrism, setShowPrism] = useState(status === 'loading');
30
33
  useEffect(() => {
@@ -12,7 +12,7 @@ import { FormattedMessage } from 'react-intl-next';
12
12
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
13
13
  import { getCanBeDatasource } from '../../../../../state/helpers';
14
14
  import { useAISummary } from '../../../../../state/hooks/use-ai-summary';
15
- import { extractLink } from '@atlaskit/link-extractors';
15
+ import { extractAri, extractLink } from '@atlaskit/link-extractors';
16
16
  import { SmartLinkStatus } from '../../../../../constants';
17
17
  export const toFooterActions = (cardActions, onActionClick) => {
18
18
  const followAction = {
@@ -53,7 +53,8 @@ export const toFooterActions = (cardActions, onActionClick) => {
53
53
  const ConnectedAIBlock = ({
54
54
  bottomPrimary,
55
55
  imagePreview,
56
- url
56
+ url,
57
+ ari
57
58
  }) => {
58
59
  const {
59
60
  state: {
@@ -61,7 +62,8 @@ const ConnectedAIBlock = ({
61
62
  content
62
63
  }
63
64
  } = useAISummary({
64
- url
65
+ url,
66
+ ari
65
67
  });
66
68
  const showData = status === 'ready' || status === 'error' ||
67
69
  // Description & bottom metadata should only disappear when we start getting summary content
@@ -88,7 +90,7 @@ const HoverCardResolvedView = ({
88
90
  extensionKey,
89
91
  url
90
92
  }) => {
91
- var _cardState$details, _extractLink;
93
+ var _cardState$details, _extractLink, _extractAri;
92
94
  const canBeDatasource = getCanBeDatasource(cardState.details);
93
95
  useEffect(() => {
94
96
  // Since this hover view is only rendered on resolved status,
@@ -102,6 +104,7 @@ const HoverCardResolvedView = ({
102
104
  const footerActions = useMemo(() => toFooterActions(cardActions, onActionClick), [cardActions, onActionClick]);
103
105
  const data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
104
106
  const dataUrl = (_extractLink = extractLink(data)) !== null && _extractLink !== void 0 ? _extractLink : '';
107
+ const dataAri = (_extractAri = extractAri(data)) !== null && _extractAri !== void 0 ? _extractAri : '';
105
108
  const {
106
109
  topPrimary,
107
110
  topSecondary,
@@ -152,6 +155,7 @@ const HoverCardResolvedView = ({
152
155
  }, /*#__PURE__*/React.createElement(ConnectedAIBlock, {
153
156
  imagePreview: !!imagePreview,
154
157
  url: dataUrl,
158
+ ari: dataAri,
155
159
  bottomPrimary: bottomPrimary
156
160
  })), !isAISummaryEnabled && !imagePreview && /*#__PURE__*/React.createElement(SnippetBlock, {
157
161
  status: SmartLinkStatus.Resolved
@@ -7,7 +7,7 @@ import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-m
7
7
  import LinkWarningModal from './LinkWarningModal';
8
8
  const PACKAGE_DATA = {
9
9
  packageName: "@atlaskit/smart-card",
10
- packageVersion: "26.50.13",
10
+ packageVersion: "26.50.14",
11
11
  componentName: 'linkUrl'
12
12
  };
13
13
  const Link = withLinkClickedEvent('a');
@@ -3,7 +3,7 @@ import extractFollowAction from './actions/extract-follow-action';
3
3
  import { extractLinkIcon } from './icon';
4
4
  import { extractAttachmentCount, extractChecklistProgress, extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch, extractDueOn, extractLocation, extractOwnedBy, extractAssignedTo, extractSubTasksProgress, extractStoryPoints, extractReadTime, extractSentOn, extractPersonAssignedToAsArray } from './utils';
5
5
  import { extractPersonsUpdatedBy } from './collaboratorGroup';
6
- import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink, extractPersonOwnedBy } from '@atlaskit/link-extractors';
6
+ import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink, extractPersonOwnedBy, extractAri } from '@atlaskit/link-extractors';
7
7
  import extractPriority from './extract-priority';
8
8
  import extractProviderIcon from './icon/extract-provider-icon';
9
9
  import extractPreview from './extract-preview';
@@ -63,7 +63,8 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
63
63
  storyPoints: extractStoryPoints(data),
64
64
  targetBranch: extractTargetBranch(data),
65
65
  title: extractTitle(data) || url,
66
- url: url
66
+ url: url,
67
+ ari: extractAri(data)
67
68
  };
68
69
  };
69
70
  export default extractFlexibleUiContext;
@@ -30,9 +30,11 @@ export var AISummaryService = /*#__PURE__*/function () {
30
30
  case 0:
31
31
  payload = {
32
32
  recipient_agent_named_id: 'summary_agent',
33
- agent_input: {
34
- urls: [_this.url],
35
- summary_style: summaryStyle
33
+ agent_input_context: {
34
+ content_url: _this.url,
35
+ content_ari: _this.ari,
36
+ summary_style: summaryStyle,
37
+ summary_output_mimetype: 'text/markdown'
36
38
  }
37
39
  };
38
40
  options = {
@@ -77,6 +79,7 @@ export var AISummaryService = /*#__PURE__*/function () {
77
79
  headers: _objectSpread({}, props.headers || defaultConfig.headers)
78
80
  };
79
81
  this.url = props.url;
82
+ this.ari = props.ari;
80
83
  this.onStart = props.onStart;
81
84
  this.onSuccess = props.onSuccess;
82
85
  this.onError = props.onError;
@@ -10,7 +10,8 @@ export var useAISummary = function useAISummary(props) {
10
10
  var url = props.url,
11
11
  baseUrl = props.baseUrl,
12
12
  headers = props.headers,
13
- product = props.product;
13
+ product = props.product,
14
+ ari = props.ari;
14
15
  var _useState = useState(((_AISummariesStore$get = AISummariesStore.get(url)) === null || _AISummariesStore$get === void 0 ? void 0 : _AISummariesStore$get.state) || {
15
16
  status: 'ready',
16
17
  content: ''
@@ -38,6 +39,7 @@ export var useAISummary = function useAISummary(props) {
38
39
  if (!AISummariesStore.get(url)) {
39
40
  AISummariesStore.set(url, new AISummaryService({
40
41
  url: url,
42
+ ari: ari,
41
43
  baseUrl: baseUrl,
42
44
  headers: headers,
43
45
  onError: onError,
@@ -49,7 +51,7 @@ export var useAISummary = function useAISummary(props) {
49
51
 
50
52
  //returns function that calls unsubscribe method
51
53
  return (_AISummariesStore$get2 = AISummariesStore.get(url)) === null || _AISummariesStore$get2 === void 0 ? void 0 : _AISummariesStore$get2.subscribe(setState);
52
- }, [url, baseUrl, headers, onError, onStart, onSuccess, product]);
54
+ }, [url, baseUrl, headers, onError, onStart, onSuccess, product, ari]);
53
55
  var summariseUrl = function summariseUrl() {
54
56
  var _AISummariesStore$get3;
55
57
  return (_AISummariesStore$get3 = AISummariesStore.get(url)) === null || _AISummariesStore$get3 === void 0 ? void 0 : _AISummariesStore$get3.summariseUrl();
@@ -15,7 +15,7 @@ export var ANALYTICS_CHANNEL = 'media';
15
15
  export var context = {
16
16
  componentName: 'smart-cards',
17
17
  packageName: "@atlaskit/smart-card",
18
- packageVersion: "26.50.13"
18
+ packageVersion: "26.50.14"
19
19
  };
20
20
  export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
21
21
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -32,8 +32,10 @@ var AISummaryBlockResolvedView = function AISummaryBlockResolvedView(props) {
32
32
  fireEvent = _useAnalyticsEvents.fireEvent;
33
33
  var context = useFlexibleUiContext();
34
34
  var url = (context === null || context === void 0 ? void 0 : context.url) || '';
35
+ var ari = (context === null || context === void 0 ? void 0 : context.ari) || '';
35
36
  var _useAISummary = useAISummary({
36
- url: url
37
+ url: url,
38
+ ari: ari
37
39
  }),
38
40
  summariseUrl = _useAISummary.summariseUrl,
39
41
  _useAISummary$state = _useAISummary.state,
@@ -12,9 +12,9 @@ import AIPrism from '../../common/ai-prism';
12
12
  import { hoverCardClassName } from './HoverCardContent';
13
13
  import { useAISummary } from '../../../state/hooks/use-ai-summary';
14
14
  import { useSmartCardState } from '../../../state/store';
15
- import { extractLink } from '@atlaskit/link-extractors';
15
+ import { extractAri, extractLink } from '@atlaskit/link-extractors';
16
16
  var ConnectedAIPrismContainer = function ConnectedAIPrismContainer(_ref) {
17
- var _extractLink, _cardState$details;
17
+ var _cardState$details, _extractLink, _extractAri;
18
18
  var children = _ref.children,
19
19
  _ref$isAIEnabled = _ref.isAIEnabled,
20
20
  isAIEnabled = _ref$isAIEnabled === void 0 ? false : _ref$isAIEnabled,
@@ -22,9 +22,12 @@ var ConnectedAIPrismContainer = function ConnectedAIPrismContainer(_ref) {
22
22
  url = _ref.url,
23
23
  props = _objectWithoutProperties(_ref, _excluded);
24
24
  var cardState = useSmartCardState(url);
25
- var dataUrl = (_extractLink = extractLink(cardState === null || cardState === void 0 || (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data)) !== null && _extractLink !== void 0 ? _extractLink : '';
25
+ var data = cardState === null || cardState === void 0 || (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
26
+ var dataUrl = (_extractLink = extractLink(data)) !== null && _extractLink !== void 0 ? _extractLink : '';
27
+ var dataAri = (_extractAri = extractAri(data)) !== null && _extractAri !== void 0 ? _extractAri : '';
26
28
  var _useAISummary = useAISummary({
27
- url: dataUrl
29
+ url: dataUrl,
30
+ ari: dataAri
28
31
  }),
29
32
  status = _useAISummary.state.status;
30
33
  var _useState = useState(status === 'loading'),
@@ -13,7 +13,7 @@ import { FormattedMessage } from 'react-intl-next';
13
13
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
14
14
  import { getCanBeDatasource } from '../../../../../state/helpers';
15
15
  import { useAISummary } from '../../../../../state/hooks/use-ai-summary';
16
- import { extractLink } from '@atlaskit/link-extractors';
16
+ import { extractAri, extractLink } from '@atlaskit/link-extractors';
17
17
  import { SmartLinkStatus } from '../../../../../constants';
18
18
  export var toFooterActions = function toFooterActions(cardActions, onActionClick) {
19
19
  var followAction = {
@@ -54,9 +54,11 @@ export var toFooterActions = function toFooterActions(cardActions, onActionClick
54
54
  var ConnectedAIBlock = function ConnectedAIBlock(_ref) {
55
55
  var bottomPrimary = _ref.bottomPrimary,
56
56
  imagePreview = _ref.imagePreview,
57
- url = _ref.url;
57
+ url = _ref.url,
58
+ ari = _ref.ari;
58
59
  var _useAISummary = useAISummary({
59
- url: url
60
+ url: url,
61
+ ari: ari
60
62
  }),
61
63
  _useAISummary$state = _useAISummary.state,
62
64
  status = _useAISummary$state.status,
@@ -76,7 +78,7 @@ var ConnectedAIBlock = function ConnectedAIBlock(_ref) {
76
78
  })) : null;
77
79
  };
78
80
  var HoverCardResolvedView = function HoverCardResolvedView(_ref2) {
79
- var _cardState$details, _extractLink;
81
+ var _cardState$details, _extractLink, _extractAri;
80
82
  var flexibleCardProps = _ref2.flexibleCardProps,
81
83
  titleBlockProps = _ref2.titleBlockProps,
82
84
  analytics = _ref2.analytics,
@@ -102,6 +104,7 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref2) {
102
104
  }, [cardActions, onActionClick]);
103
105
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
104
106
  var dataUrl = (_extractLink = extractLink(data)) !== null && _extractLink !== void 0 ? _extractLink : '';
107
+ var dataAri = (_extractAri = extractAri(data)) !== null && _extractAri !== void 0 ? _extractAri : '';
105
108
  var _useMemo = useMemo(function () {
106
109
  var betterMetadata = getSimulatedBetterMetadata(extensionKey, data);
107
110
  return {
@@ -151,6 +154,7 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref2) {
151
154
  }, /*#__PURE__*/React.createElement(ConnectedAIBlock, {
152
155
  imagePreview: !!imagePreview,
153
156
  url: dataUrl,
157
+ ari: dataAri,
154
158
  bottomPrimary: bottomPrimary
155
159
  })), !isAISummaryEnabled && !imagePreview && /*#__PURE__*/React.createElement(SnippetBlock, {
156
160
  status: SmartLinkStatus.Resolved
@@ -10,7 +10,7 @@ import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-m
10
10
  import LinkWarningModal from './LinkWarningModal';
11
11
  var PACKAGE_DATA = {
12
12
  packageName: "@atlaskit/smart-card",
13
- packageVersion: "26.50.13",
13
+ packageVersion: "26.50.14",
14
14
  componentName: 'linkUrl'
15
15
  };
16
16
  var Link = withLinkClickedEvent('a');
@@ -228,6 +228,12 @@ export type FlexibleUiDataContext = {
228
228
  * @see Title
229
229
  */
230
230
  url?: string;
231
+ /**
232
+ * Contains the atlassian resource identifier (ARI) of the linked resource.
233
+ * @type string
234
+ * @see Title
235
+ */
236
+ ari?: string;
231
237
  /**
232
238
  * Contains the name and url of the location that the resource is located in.
233
239
  * @type LinkLocation
@@ -3,6 +3,7 @@ export declare class AISummaryService implements AISummaryServiceInt {
3
3
  state: AISummaryState;
4
4
  private config;
5
5
  private url;
6
+ private ari?;
6
7
  private subscribedStateSetters;
7
8
  private onStart?;
8
9
  private onSuccess?;
@@ -12,6 +12,7 @@ export type AISummaryServiceProps = {
12
12
  onSuccess?: (id: string) => void;
13
13
  product?: ProductType;
14
14
  url: string;
15
+ ari: string;
15
16
  };
16
17
  export type AISummaryServiceConfig = {
17
18
  baseUrl: string;
@@ -21,14 +22,17 @@ export type AISummaryStatus = 'ready' | 'loading' | 'error' | 'done';
21
22
  export type ProductType = 'confluence' | 'atlas' | 'jpd' | 'jsm' | 'jsw' | 'jwm' | 'bitbucket' | 'trello';
22
23
  export type PostAgentPayload = {
23
24
  recipient_agent_named_id: string;
24
- agent_input: AgentInput;
25
+ agent_input_context: AgentInputContext;
25
26
  user_intent?: string;
26
27
  };
27
- export type AgentInput = {
28
- urls: Array<string>;
28
+ export type AgentInputContext = {
29
+ content_url: string;
30
+ content_ari?: string;
29
31
  summary_style?: SummaryStyle;
32
+ summary_output_mimetype?: SummaryOutputMimeType;
30
33
  };
31
34
  export type SummaryStyle = 'short' | 'medium' | 'long';
35
+ export type SummaryOutputMimeType = 'text/adf' | 'text/markdown' | 'text/json';
32
36
  export declare const errorMessages: readonly ["NETWORK_ERROR", "NO_ANSWER", "RATE_LIMIT", "NO_AGENT", "PLUGIN_ERRORED", "OPENAI_RATE_LIMIT_USER_ABUSE", "ACCEPTABLE_USE_VIOLATIONS", "AI_DISABLED", "UNEXPECTED"];
33
37
  export type ErrorMessage = (typeof errorMessages)[number];
34
38
  export type AISummaryState = {
@@ -228,6 +228,12 @@ export type FlexibleUiDataContext = {
228
228
  * @see Title
229
229
  */
230
230
  url?: string;
231
+ /**
232
+ * Contains the atlassian resource identifier (ARI) of the linked resource.
233
+ * @type string
234
+ * @see Title
235
+ */
236
+ ari?: string;
231
237
  /**
232
238
  * Contains the name and url of the location that the resource is located in.
233
239
  * @type LinkLocation
@@ -3,6 +3,7 @@ export declare class AISummaryService implements AISummaryServiceInt {
3
3
  state: AISummaryState;
4
4
  private config;
5
5
  private url;
6
+ private ari?;
6
7
  private subscribedStateSetters;
7
8
  private onStart?;
8
9
  private onSuccess?;
@@ -12,6 +12,7 @@ export type AISummaryServiceProps = {
12
12
  onSuccess?: (id: string) => void;
13
13
  product?: ProductType;
14
14
  url: string;
15
+ ari: string;
15
16
  };
16
17
  export type AISummaryServiceConfig = {
17
18
  baseUrl: string;
@@ -21,14 +22,17 @@ export type AISummaryStatus = 'ready' | 'loading' | 'error' | 'done';
21
22
  export type ProductType = 'confluence' | 'atlas' | 'jpd' | 'jsm' | 'jsw' | 'jwm' | 'bitbucket' | 'trello';
22
23
  export type PostAgentPayload = {
23
24
  recipient_agent_named_id: string;
24
- agent_input: AgentInput;
25
+ agent_input_context: AgentInputContext;
25
26
  user_intent?: string;
26
27
  };
27
- export type AgentInput = {
28
- urls: Array<string>;
28
+ export type AgentInputContext = {
29
+ content_url: string;
30
+ content_ari?: string;
29
31
  summary_style?: SummaryStyle;
32
+ summary_output_mimetype?: SummaryOutputMimeType;
30
33
  };
31
34
  export type SummaryStyle = 'short' | 'medium' | 'long';
35
+ export type SummaryOutputMimeType = 'text/adf' | 'text/markdown' | 'text/json';
32
36
  export declare const errorMessages: readonly [
33
37
  "NETWORK_ERROR",
34
38
  "NO_ANSWER",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.50.13",
3
+ "version": "26.50.14",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -42,7 +42,7 @@
42
42
  "@atlaskit/in-product-testing": "^0.2.0",
43
43
  "@atlaskit/link-analytics": "^8.3.0",
44
44
  "@atlaskit/link-client-extension": "^1.8.0",
45
- "@atlaskit/link-extractors": "^1.2.0",
45
+ "@atlaskit/link-extractors": "^1.3.0",
46
46
  "@atlaskit/linking-common": "^5.6.0",
47
47
  "@atlaskit/linking-types": "^8.7.0",
48
48
  "@atlaskit/logo": "^13.15.0",
@@ -62,7 +62,7 @@
62
62
  "@emotion/styled": "^11.0.0",
63
63
  "@formatjs/intl-utils": "^3.8.4",
64
64
  "facepaint": "^1.2.1",
65
- "json-ld-types": "^3.11.0",
65
+ "json-ld-types": "^4.1.0",
66
66
  "lru_map": "^0.4.1",
67
67
  "markdown-to-jsx": "^7.1.7",
68
68
  "react-error-boundary": "^3.1.3",