@atlaskit/smart-card 26.47.1 → 26.48.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 (161) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/i18n/cs.js +17 -21
  3. package/dist/cjs/i18n/da.js +17 -21
  4. package/dist/cjs/i18n/de.js +17 -21
  5. package/dist/cjs/i18n/en.js +17 -21
  6. package/dist/cjs/i18n/en_GB.js +17 -21
  7. package/dist/cjs/i18n/en_ZZ.js +17 -21
  8. package/dist/cjs/i18n/es.js +17 -21
  9. package/dist/cjs/i18n/fi.js +17 -21
  10. package/dist/cjs/i18n/fr.js +17 -21
  11. package/dist/cjs/i18n/hu.js +17 -21
  12. package/dist/cjs/i18n/it.js +17 -21
  13. package/dist/cjs/i18n/ja.js +17 -21
  14. package/dist/cjs/i18n/ko.js +17 -21
  15. package/dist/cjs/i18n/nb.js +17 -21
  16. package/dist/cjs/i18n/nl.js +17 -21
  17. package/dist/cjs/i18n/pl.js +17 -21
  18. package/dist/cjs/i18n/pt_BR.js +17 -21
  19. package/dist/cjs/i18n/ru.js +17 -21
  20. package/dist/cjs/i18n/sv.js +17 -21
  21. package/dist/cjs/i18n/th.js +17 -21
  22. package/dist/cjs/i18n/tr.js +17 -21
  23. package/dist/cjs/i18n/uk.js +17 -21
  24. package/dist/cjs/i18n/vi.js +17 -21
  25. package/dist/cjs/i18n/zh.js +13 -21
  26. package/dist/cjs/i18n/zh_TW.js +17 -21
  27. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/index.js +179 -0
  28. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/store.js +11 -0
  29. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/types.js +5 -0
  30. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/utils.js +131 -0
  31. package/dist/cjs/state/hooks/use-ai-summary/index.js +44 -0
  32. package/dist/cjs/utils/analytics/analytics.js +1 -1
  33. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +12 -0
  34. package/dist/cjs/view/LinkUrl/index.js +1 -1
  35. package/dist/es2019/i18n/cs.js +17 -21
  36. package/dist/es2019/i18n/da.js +17 -21
  37. package/dist/es2019/i18n/de.js +17 -21
  38. package/dist/es2019/i18n/en.js +17 -21
  39. package/dist/es2019/i18n/en_GB.js +17 -21
  40. package/dist/es2019/i18n/en_ZZ.js +17 -21
  41. package/dist/es2019/i18n/es.js +17 -21
  42. package/dist/es2019/i18n/fi.js +17 -21
  43. package/dist/es2019/i18n/fr.js +17 -21
  44. package/dist/es2019/i18n/hu.js +17 -21
  45. package/dist/es2019/i18n/it.js +17 -21
  46. package/dist/es2019/i18n/ja.js +17 -21
  47. package/dist/es2019/i18n/ko.js +17 -21
  48. package/dist/es2019/i18n/nb.js +17 -21
  49. package/dist/es2019/i18n/nl.js +17 -21
  50. package/dist/es2019/i18n/pl.js +17 -21
  51. package/dist/es2019/i18n/pt_BR.js +17 -21
  52. package/dist/es2019/i18n/ru.js +17 -21
  53. package/dist/es2019/i18n/sv.js +17 -21
  54. package/dist/es2019/i18n/th.js +17 -21
  55. package/dist/es2019/i18n/tr.js +17 -21
  56. package/dist/es2019/i18n/uk.js +17 -21
  57. package/dist/es2019/i18n/vi.js +17 -21
  58. package/dist/es2019/i18n/zh.js +13 -21
  59. package/dist/es2019/i18n/zh_TW.js +17 -21
  60. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/index.js +71 -0
  61. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/store.js +5 -0
  62. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/types.js +1 -0
  63. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/utils.js +55 -0
  64. package/dist/es2019/state/hooks/use-ai-summary/index.js +35 -0
  65. package/dist/es2019/utils/analytics/analytics.js +1 -1
  66. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +15 -1
  67. package/dist/es2019/view/LinkUrl/index.js +1 -1
  68. package/dist/esm/i18n/cs.js +17 -21
  69. package/dist/esm/i18n/da.js +17 -21
  70. package/dist/esm/i18n/de.js +17 -21
  71. package/dist/esm/i18n/en.js +17 -21
  72. package/dist/esm/i18n/en_GB.js +17 -21
  73. package/dist/esm/i18n/en_ZZ.js +17 -21
  74. package/dist/esm/i18n/es.js +17 -21
  75. package/dist/esm/i18n/fi.js +17 -21
  76. package/dist/esm/i18n/fr.js +17 -21
  77. package/dist/esm/i18n/hu.js +17 -21
  78. package/dist/esm/i18n/it.js +17 -21
  79. package/dist/esm/i18n/ja.js +17 -21
  80. package/dist/esm/i18n/ko.js +17 -21
  81. package/dist/esm/i18n/nb.js +17 -21
  82. package/dist/esm/i18n/nl.js +17 -21
  83. package/dist/esm/i18n/pl.js +17 -21
  84. package/dist/esm/i18n/pt_BR.js +17 -21
  85. package/dist/esm/i18n/ru.js +17 -21
  86. package/dist/esm/i18n/sv.js +17 -21
  87. package/dist/esm/i18n/th.js +17 -21
  88. package/dist/esm/i18n/tr.js +17 -21
  89. package/dist/esm/i18n/uk.js +17 -21
  90. package/dist/esm/i18n/vi.js +17 -21
  91. package/dist/esm/i18n/zh.js +13 -21
  92. package/dist/esm/i18n/zh_TW.js +17 -21
  93. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/index.js +172 -0
  94. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/store.js +5 -0
  95. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/types.js +1 -0
  96. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/utils.js +123 -0
  97. package/dist/esm/state/hooks/use-ai-summary/index.js +37 -0
  98. package/dist/esm/utils/analytics/analytics.js +1 -1
  99. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +13 -1
  100. package/dist/esm/view/LinkUrl/index.js +1 -1
  101. package/dist/types/i18n/cs.d.ts +10 -14
  102. package/dist/types/i18n/da.d.ts +10 -14
  103. package/dist/types/i18n/de.d.ts +10 -14
  104. package/dist/types/i18n/en.d.ts +10 -14
  105. package/dist/types/i18n/en_GB.d.ts +10 -14
  106. package/dist/types/i18n/en_ZZ.d.ts +10 -14
  107. package/dist/types/i18n/es.d.ts +10 -14
  108. package/dist/types/i18n/fi.d.ts +10 -14
  109. package/dist/types/i18n/fr.d.ts +10 -14
  110. package/dist/types/i18n/hu.d.ts +10 -14
  111. package/dist/types/i18n/it.d.ts +10 -14
  112. package/dist/types/i18n/ja.d.ts +10 -14
  113. package/dist/types/i18n/ko.d.ts +10 -14
  114. package/dist/types/i18n/nb.d.ts +10 -14
  115. package/dist/types/i18n/nl.d.ts +10 -14
  116. package/dist/types/i18n/pl.d.ts +10 -14
  117. package/dist/types/i18n/pt_BR.d.ts +10 -14
  118. package/dist/types/i18n/ru.d.ts +10 -14
  119. package/dist/types/i18n/sv.d.ts +10 -14
  120. package/dist/types/i18n/th.d.ts +10 -14
  121. package/dist/types/i18n/tr.d.ts +10 -14
  122. package/dist/types/i18n/uk.d.ts +10 -14
  123. package/dist/types/i18n/vi.d.ts +10 -14
  124. package/dist/types/i18n/zh.d.ts +6 -14
  125. package/dist/types/i18n/zh_TW.d.ts +10 -14
  126. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/index.d.ts +11 -0
  127. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/store.d.ts +3 -0
  128. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +158 -0
  129. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/utils.d.ts +3 -0
  130. package/dist/types/state/hooks/use-ai-summary/index.d.ts +9 -0
  131. package/dist/types-ts4.5/i18n/cs.d.ts +10 -14
  132. package/dist/types-ts4.5/i18n/da.d.ts +10 -14
  133. package/dist/types-ts4.5/i18n/de.d.ts +10 -14
  134. package/dist/types-ts4.5/i18n/en.d.ts +10 -14
  135. package/dist/types-ts4.5/i18n/en_GB.d.ts +10 -14
  136. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +10 -14
  137. package/dist/types-ts4.5/i18n/es.d.ts +10 -14
  138. package/dist/types-ts4.5/i18n/fi.d.ts +10 -14
  139. package/dist/types-ts4.5/i18n/fr.d.ts +10 -14
  140. package/dist/types-ts4.5/i18n/hu.d.ts +10 -14
  141. package/dist/types-ts4.5/i18n/it.d.ts +10 -14
  142. package/dist/types-ts4.5/i18n/ja.d.ts +10 -14
  143. package/dist/types-ts4.5/i18n/ko.d.ts +10 -14
  144. package/dist/types-ts4.5/i18n/nb.d.ts +10 -14
  145. package/dist/types-ts4.5/i18n/nl.d.ts +10 -14
  146. package/dist/types-ts4.5/i18n/pl.d.ts +10 -14
  147. package/dist/types-ts4.5/i18n/pt_BR.d.ts +10 -14
  148. package/dist/types-ts4.5/i18n/ru.d.ts +10 -14
  149. package/dist/types-ts4.5/i18n/sv.d.ts +10 -14
  150. package/dist/types-ts4.5/i18n/th.d.ts +10 -14
  151. package/dist/types-ts4.5/i18n/tr.d.ts +10 -14
  152. package/dist/types-ts4.5/i18n/uk.d.ts +10 -14
  153. package/dist/types-ts4.5/i18n/vi.d.ts +10 -14
  154. package/dist/types-ts4.5/i18n/zh.d.ts +6 -14
  155. package/dist/types-ts4.5/i18n/zh_TW.d.ts +10 -14
  156. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/index.d.ts +11 -0
  157. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/store.d.ts +3 -0
  158. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +158 -0
  159. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/utils.d.ts +3 -0
  160. package/dist/types-ts4.5/state/hooks/use-ai-summary/index.d.ts +9 -0
  161. package/package.json +7 -6
@@ -10,6 +10,10 @@ export default {
10
10
  'fabric.linking.access_exists_description': '{hostname} üzerindeki bu içeriği görüntülemek için erişim talep edin.',
11
11
  'fabric.linking.actions': 'Eylemler',
12
12
  'fabric.linking.add_account': 'Hesap ekle',
13
+ 'fabric.linking.ai_summarize': 'Özetle',
14
+ 'fabric.linking.ai_summarized': 'Atlassian Intelligence tarafından özetlendi',
15
+ 'fabric.linking.ai_summarized_info': 'Bilgi kalitesi farklılık gösterebilir. <a>Daha fazla bilgi</a>',
16
+ 'fabric.linking.ai_summarizing': 'Atlassian Intelligence çalışıyor...',
13
17
  'fabric.linking.assigned_to': '{context} adlı kişiye atandı',
14
18
  'fabric.linking.cancel': 'İptal',
15
19
  'fabric.linking.cannot_connect': 'Bağlanılamıyor, tekrar deneyin',
@@ -34,16 +38,15 @@ export default {
34
38
  'fabric.linking.create_on_relative': '{context} oluşturuldu',
35
39
  'fabric.linking.created_by': '{context} tarafından oluşturuldu',
36
40
  'fabric.linking.delete': 'Sil',
37
- 'fabric.linking.direct_access_crossjoin': 'Hemen katıl',
38
- 'fabric.linking.direct_access_description_crossjoin': 'Takımınız iş birliği yapmak için {product} kullanıyor ve siz de hemen kullanmaya başlayabilirsiniz!',
39
- 'fabric.linking.direct_access_title_crossjoin': 'Bu içeriği görüntülemek için {product} ürününe katılın',
41
+ 'fabric.linking.direct_access': 'Hemen katıl',
42
+ 'fabric.linking.direct_access_description': 'Takımınız iş birliği yapmak için {product} kullanıyor ve siz de hemen kullanmaya başlayabilirsiniz!',
43
+ 'fabric.linking.direct_access_title': 'Bu içeriği görüntülemek için {product} ürününe katılın',
40
44
  'fabric.linking.download': 'İndir',
41
45
  'fabric.linking.edit': 'Düzenle',
42
46
  'fabric.linking.follow': 'Takip Et',
43
47
  'fabric.linking.forbidden_access': 'Erişiminiz yasak',
44
- 'fabric.linking.forbidden_description': 'Bu önizlemeye erişiminiz yok. Erişim gerekliyse site yöneticisiyle iletişime geçin.',
45
- 'fabric.linking.forbidden_description_crossjoin': '{hostname} sitesine erişim talep etmek için yöneticinizle iletişime geçin.',
46
- 'fabric.linking.forbidden_title_crossjoin': 'Bu içeriğe erişiminiz yok',
48
+ 'fabric.linking.forbidden_description': '{hostname} sitesine erişim talep etmek için yöneticinizle iletişime geçin.',
49
+ 'fabric.linking.forbidden_title': 'Bu içeriğe erişiminiz yok',
47
50
  'fabric.linking.generic_error_message': 'Bir hata oluştu',
48
51
  'fabric.linking.go_back': 'Geri dön',
49
52
  'fabric.linking.invalid_permissions': 'Kısıtlanmış içerik',
@@ -57,11 +60,9 @@ export default {
57
60
  'fabric.linking.modified_on_absolute': '{context} tarihinde güncellendi',
58
61
  'fabric.linking.modified_on_relative': '{context} güncellendi',
59
62
  'fabric.linking.more_actions': 'Daha fazla işlem',
60
- 'fabric.linking.no_access_title_crossjoin': 'Bu içeriği görüntülemek için {product} ürününe katılın',
61
- 'fabric.linking.not_found_description': "Bağlantıyı bulamadık. URL'yi kontrol edin ve düzenlemeyi veya yeniden yapıştırmayı deneyin.",
62
- 'fabric.linking.not_found_description_crossjoin': 'Bu sayfa mevcut değil veya bu bağlantı eklendikten sonra değişmiş olabilir.',
63
- 'fabric.linking.not_found_title': 'Hay aksi! Bu bağlantıyı bulamadık!',
64
- 'fabric.linking.not_found_title_crossjoin': 'Bu {product} sayfası gösterilemiyor',
63
+ 'fabric.linking.no_access_title': 'Bu içeriği görüntülemek için {product} ürününe katılın',
64
+ 'fabric.linking.not_found_description': 'Bu sayfa mevcut değil veya bu bağlantı eklendikten sonra değişmiş olabilir.',
65
+ 'fabric.linking.not_found_title': 'Bu {product} sayfası gösterilemiyor',
65
66
  'fabric.linking.open_issue_in_jira': "Konuyu Jira'da aç",
66
67
  'fabric.linking.open_link_in_a_new_tab': 'Bağlantıyı yeni sekmede aç',
67
68
  'fabric.linking.owned_by': 'Sahibi: {context}',
@@ -85,18 +86,13 @@ export default {
85
86
  'fabric.linking.related': 'İlgili',
86
87
  'fabric.linking.related_work_items_not_found': 'Bu bağlantıdan başka hiçbir yerde bahsedilmedi.',
87
88
  'fabric.linking.request_access': 'Erişim talep edin',
88
- 'fabric.linking.request_access_crossjoin': 'Erişim talep edin',
89
- 'fabric.linking.request_access_description': 'Bu önizlemeyi görüntülemek için {context} ürününe erişim talep edin.',
90
- 'fabric.linking.request_access_description_crossjoin': 'Takımınız iş birliği yapmak için {product} kullanıyor. Yöneticinize bir erişim talebi gönderin.',
91
- 'fabric.linking.request_access_pending': 'Erişim bekleniyor',
92
- 'fabric.linking.request_access_pending_crossjoin': 'Onay bekleniyor',
93
- 'fabric.linking.request_access_pending_description': 'Erişim talebiniz beklemede.',
94
- 'fabric.linking.request_access_pending_description_crossjoin': '{hostname} adresine erişme talebiniz yönetici onayı bekliyor.',
95
- 'fabric.linking.request_access_pending_title_crossjoin': '{product} ürününe erişim bekleniyor',
89
+ 'fabric.linking.request_access_description': 'Takımınız birliği yapmak için {product} kullanıyor. Yöneticinize bir erişim talebi gönderin.',
90
+ 'fabric.linking.request_access_pending': 'Onay bekleniyor',
91
+ 'fabric.linking.request_access_pending_description': '{hostname} adresine erişme talebiniz yönetici onayı bekliyor.',
92
+ 'fabric.linking.request_access_pending_title': '{product} ürününe erişim bekleniyor',
96
93
  'fabric.linking.request_access_to_view': 'Bu konuyu görüntülemek için {context} ürününe erişim talep edin',
97
94
  'fabric.linking.request_denied': 'Erişim talebiniz reddedildi',
98
- 'fabric.linking.request_denied_description': 'Erişim talebiniz reddedildi. Hâlâ erişim gerekliyse site yöneticisiyle iletişime geçin.',
99
- 'fabric.linking.request_denied_description_crossjoin': 'Yöneticiniz {hostname} üzerinde {product} sayfalarını görüntüleme talebinizi onaylamadı.',
95
+ 'fabric.linking.request_denied_description': 'Yöneticiniz {hostname} üzerinde {product} sayfalarını görüntüleme talebinizi onaylamadı.',
100
96
  'fabric.linking.restricted_link': 'Sınırlı bağlantı, başka bir hesap deneyin',
101
97
  'fabric.linking.retry': 'Yeniden Dene',
102
98
  'fabric.linking.save': 'Kaydet',
@@ -10,6 +10,10 @@ export default {
10
10
  'fabric.linking.access_exists_description': 'Надішліть запит на перегляд цього вмісту з {hostname}.',
11
11
  'fabric.linking.actions': 'Дії',
12
12
  'fabric.linking.add_account': 'Додати обліковий запис',
13
+ 'fabric.linking.ai_summarize': 'Підсумок',
14
+ 'fabric.linking.ai_summarized': 'Узагальнено Atlassian Intelligence',
15
+ 'fabric.linking.ai_summarized_info': 'Якість інформації може бути різною. <a>Докладніше</a>',
16
+ 'fabric.linking.ai_summarizing': 'Atlassian Intelligence узагальнює дані…',
13
17
  'fabric.linking.assigned_to': 'Призначено для {context}',
14
18
  'fabric.linking.cancel': 'Скасувати',
15
19
  'fabric.linking.cannot_connect': 'Не вдається підключитися, спробуйте ще раз',
@@ -34,16 +38,15 @@ export default {
34
38
  'fabric.linking.create_on_relative': 'Створено {context}',
35
39
  'fabric.linking.created_by': 'Автор: {context}',
36
40
  'fabric.linking.delete': 'Видалити',
37
- 'fabric.linking.direct_access_crossjoin': 'Приєднатися',
38
- 'fabric.linking.direct_access_description_crossjoin': 'Ваша команда використовує {product} для співпраці, і ви можете почати роботу з продуктом просто зараз!',
39
- 'fabric.linking.direct_access_title_crossjoin': 'Приєднайтеся до {product}, щоб переглянути цей вміст',
41
+ 'fabric.linking.direct_access': 'Приєднатися',
42
+ 'fabric.linking.direct_access_description': 'Ваша команда використовує {product} для співпраці, і ви можете почати роботу з продуктом просто зараз!',
43
+ 'fabric.linking.direct_access_title': 'Приєднайтеся до {product}, щоб переглянути цей вміст',
40
44
  'fabric.linking.download': 'Завантажити',
41
45
  'fabric.linking.edit': 'Редагувати',
42
46
  'fabric.linking.follow': 'Підписатися',
43
47
  'fabric.linking.forbidden_access': 'У вас немає доступу',
44
- 'fabric.linking.forbidden_description': 'Ви не маєте доступу до цього вмісту. Якщо вам потрібен доступ, зверніться до адміністратора сайту.',
45
- 'fabric.linking.forbidden_description_crossjoin': 'Зверніться до адміністратора з проханням надати доступ до {hostname}.',
46
- 'fabric.linking.forbidden_title_crossjoin': 'У вас немає доступу до цього вмісту',
48
+ 'fabric.linking.forbidden_description': 'Зверніться до адміністратора з проханням надати доступ до {hostname}.',
49
+ 'fabric.linking.forbidden_title': 'У вас немає доступу до цього вмісту',
47
50
  'fabric.linking.generic_error_message': 'Сталася помилка',
48
51
  'fabric.linking.go_back': 'Назад',
49
52
  'fabric.linking.invalid_permissions': 'Вміст із обмеженим доступом',
@@ -57,11 +60,9 @@ export default {
57
60
  'fabric.linking.modified_on_absolute': 'Оновлено {context}',
58
61
  'fabric.linking.modified_on_relative': 'Оновлено {context}',
59
62
  'fabric.linking.more_actions': 'Інші дії',
60
- 'fabric.linking.no_access_title_crossjoin': 'Приєднайтеся до {product}, щоб переглянути цей вміст',
61
- 'fabric.linking.not_found_description': 'Не вдалося знайти посилання. Перевірте URL-адресу й спробуйте її відредагувати або вставити знову.',
62
- 'fabric.linking.not_found_description_crossjoin': 'Сторінка не існує або, можливо, змінилася після додавання цього посилання.',
63
- 'fabric.linking.not_found_title': 'Ой! Не вдається знайти це посилання.',
64
- 'fabric.linking.not_found_title_crossjoin': 'Не вдається відобразити цю сторінку {product}',
63
+ 'fabric.linking.no_access_title': 'Приєднайтеся до {product}, щоб переглянути цей вміст',
64
+ 'fabric.linking.not_found_description': 'Сторінка не існує або, можливо, змінилася після додавання цього посилання.',
65
+ 'fabric.linking.not_found_title': 'Не вдається відобразити цю сторінку {product}',
65
66
  'fabric.linking.open_issue_in_jira': 'Відкрити завдання в Jira',
66
67
  'fabric.linking.open_link_in_a_new_tab': 'Відкрити посилання в новій вкладці',
67
68
  'fabric.linking.owned_by': 'Власник: {context}',
@@ -85,18 +86,13 @@ export default {
85
86
  'fabric.linking.related': 'Пов’язані ресурси',
86
87
  'fabric.linking.related_work_items_not_found': 'Це посилання більше ніде не згадується.',
87
88
  'fabric.linking.request_access': 'Надіслати запит на доступ',
88
- 'fabric.linking.request_access_crossjoin': 'Надіслати запит на доступ',
89
- 'fabric.linking.request_access_description': 'Надішліть запит на доступ до {context}, щоб попередньо переглянути продукт.',
90
- 'fabric.linking.request_access_description_crossjoin': 'Ваша команда використовує {product} для співпраці. Надішліть адміністратору запит на доступ до продукту.',
91
- 'fabric.linking.request_access_pending': 'Очікується надання доступу',
92
- 'fabric.linking.request_access_pending_crossjoin': 'Очікується підтвердження',
93
- 'fabric.linking.request_access_pending_description': 'Ваш запит на надання доступу в очікуванні.',
94
- 'fabric.linking.request_access_pending_description_crossjoin': 'Ваш запит на доступ до {hostname} очікує на схвалення адміністратора.',
95
- 'fabric.linking.request_access_pending_title_crossjoin': 'Очікується надання доступу до {product}',
89
+ 'fabric.linking.request_access_description': 'Ваша команда використовує {product} для співпраці. Надішліть адміністратору запит на доступ до продукту.',
90
+ 'fabric.linking.request_access_pending': 'Очікується підтвердження',
91
+ 'fabric.linking.request_access_pending_description': 'Ваш запит на доступ до {hostname} очікує на схвалення адміністратора.',
92
+ 'fabric.linking.request_access_pending_title': 'Очікується надання доступу до {product}',
96
93
  'fabric.linking.request_access_to_view': 'Надішліть запит на доступ до {context}, щоб переглянути завдання',
97
94
  'fabric.linking.request_denied': 'Ваш запит на надання доступу відхилено',
98
- 'fabric.linking.request_denied_description': 'Ваш запит на надання доступу відхилено. Якщо вам усе ще потрібен доступ, зверніться до адміністратора сайту.',
99
- 'fabric.linking.request_denied_description_crossjoin': 'Ваш адміністратор не схвалив запит на перегляд сторінок {product} з {hostname}.',
95
+ 'fabric.linking.request_denied_description': 'Ваш адміністратор не схвалив запит на перегляд сторінок {product} з {hostname}.',
100
96
  'fabric.linking.restricted_link': 'Посилання з обмеженим доступом; спробуйте інший обліковий запис',
101
97
  'fabric.linking.retry': 'Повторити спробу',
102
98
  'fabric.linking.save': 'Зберегти',
@@ -10,6 +10,10 @@ export default {
10
10
  'fabric.linking.access_exists_description': 'Yêu cầu quyền truy cập để xem nội dung này từ {hostname}.',
11
11
  'fabric.linking.actions': 'Hành động',
12
12
  'fabric.linking.add_account': 'Thêm tài khoản',
13
+ 'fabric.linking.ai_summarize': 'Tóm tắt',
14
+ 'fabric.linking.ai_summarized': 'Do Atlassian Intelligence tóm tắt',
15
+ 'fabric.linking.ai_summarized_info': 'Chất lượng thông tin có thể khác nhau. <a>Tìm hiểu thêm</a>',
16
+ 'fabric.linking.ai_summarizing': 'Atlassian Intelligence đang xử lý...',
13
17
  'fabric.linking.assigned_to': 'Đã chỉ định cho {context}',
14
18
  'fabric.linking.cancel': 'Hủy',
15
19
  'fabric.linking.cannot_connect': 'Không thể kết nối, hãy thử lại',
@@ -34,16 +38,15 @@ export default {
34
38
  'fabric.linking.create_on_relative': 'Đã tạo {context}',
35
39
  'fabric.linking.created_by': 'Được tạo bởi {context}',
36
40
  'fabric.linking.delete': 'Xóa',
37
- 'fabric.linking.direct_access_crossjoin': 'Tham gia ngay',
38
- 'fabric.linking.direct_access_description_crossjoin': 'Nhóm của bạn sử dụng {product} để cộng tác và bạn có thể bắt đầu sử dụng sản phẩm này ngay lập tức!',
39
- 'fabric.linking.direct_access_title_crossjoin': 'Tham gia {product} để xem nội dung này',
41
+ 'fabric.linking.direct_access': 'Tham gia ngay',
42
+ 'fabric.linking.direct_access_description': 'Nhóm của bạn sử dụng {product} để cộng tác và bạn có thể bắt đầu sử dụng sản phẩm này ngay lập tức!',
43
+ 'fabric.linking.direct_access_title': 'Tham gia {product} để xem nội dung này',
40
44
  'fabric.linking.download': 'Tải xuống',
41
45
  'fabric.linking.edit': 'Chỉnh sửa',
42
46
  'fabric.linking.follow': 'Theo dõi',
43
47
  'fabric.linking.forbidden_access': 'Quyền truy cập của bạn bị cấm',
44
- 'fabric.linking.forbidden_description': 'Bạn không có quyền truy cập vào bản xem trước này. Hãy liên hệ với quản trị viên trang web nếu bạn cần quyền truy cập.',
45
- 'fabric.linking.forbidden_description_crossjoin': 'Hãy liên hệ với quản trị viên để yêu cầu cấp quyền truy cập vào {hostname}.',
46
- 'fabric.linking.forbidden_title_crossjoin': 'Bạn không có quyền truy cập nội dung này',
48
+ 'fabric.linking.forbidden_description': 'Hãy liên hệ với quản trị viên để yêu cầu cấp quyền truy cập vào {hostname}.',
49
+ 'fabric.linking.forbidden_title': 'Bạn không quyền truy cập nội dung này',
47
50
  'fabric.linking.generic_error_message': 'Đã xảy ra lỗi',
48
51
  'fabric.linking.go_back': 'Quay lại',
49
52
  'fabric.linking.invalid_permissions': 'Nội dung bị hạn chế',
@@ -57,11 +60,9 @@ export default {
57
60
  'fabric.linking.modified_on_absolute': 'Đã cập nhật trên {context}',
58
61
  'fabric.linking.modified_on_relative': 'Đã cập nhật {context}',
59
62
  'fabric.linking.more_actions': 'Hành động khác',
60
- 'fabric.linking.no_access_title_crossjoin': 'Tham gia {product} để xem nội dung này',
61
- 'fabric.linking.not_found_description': 'Chúng tôi không thể tìm thấy đường liên kết này. Hãy kiểm tra url thử chỉnh sửa hoặc dán lại.',
62
- 'fabric.linking.not_found_description_crossjoin': 'Trang này không tồn tại hoặc có thể đã thay đổi sau khi liên kết này được thêm vào.',
63
- 'fabric.linking.not_found_title': 'Ôi! Chúng tôi không thể tìm thấy liên kết này!',
64
- 'fabric.linking.not_found_title_crossjoin': 'Chúng tôi không thể hiển thị cho bạn trang {product} này',
63
+ 'fabric.linking.no_access_title': 'Tham gia {product} để xem nội dung này',
64
+ 'fabric.linking.not_found_description': 'Trang này không tồn tại hoặc thể đã thay đổi sau khi liên kết này được thêm vào.',
65
+ 'fabric.linking.not_found_title': 'Chúng tôi không thể hiển thị cho bạn trang {product} này',
65
66
  'fabric.linking.open_issue_in_jira': 'Mở vấn đề trong Jira',
66
67
  'fabric.linking.open_link_in_a_new_tab': 'Mở liên kết trong tab mới',
67
68
  'fabric.linking.owned_by': 'Sở hữu bởi {context}',
@@ -85,18 +86,13 @@ export default {
85
86
  'fabric.linking.related': 'Có liên quan',
86
87
  'fabric.linking.related_work_items_not_found': 'Liên kết này chưa được nhắc đến ở bất cứ đâu.',
87
88
  'fabric.linking.request_access': 'Yêu cầu cấp quyền truy cập',
88
- 'fabric.linking.request_access_crossjoin': 'Yêu cầu cấp quyền truy cập',
89
- 'fabric.linking.request_access_description': 'Yêu cầu quyền truy cập để {context} xem bản xem trước này.',
90
- 'fabric.linking.request_access_description_crossjoin': 'Nhóm của bạn sử dụng {product} để cộng tác. Hãy gửi yêu cầu cho quản trị viên của bạn để được cấp quyền truy cập.',
91
- 'fabric.linking.request_access_pending': 'Đang chờ xử quyền truy cập',
92
- 'fabric.linking.request_access_pending_crossjoin': 'Đang chờ phê duyệt',
93
- 'fabric.linking.request_access_pending_description': 'Đang chờ xử lý yêu cầu quyền truy cập của bạn.',
94
- 'fabric.linking.request_access_pending_description_crossjoin': 'Yêu cầu quyền truy cập {hostname} của bạn đang chờ quản trị viên phê duyệt.',
95
- 'fabric.linking.request_access_pending_title_crossjoin': 'Đang chờ cấp quyền truy cập {product}',
89
+ 'fabric.linking.request_access_description': 'Nhóm của bạn sử dụng {product} để cộng tác. Hãy gửi yêu cầu cho quản trị viên của bạn để được cấp quyền truy cập.',
90
+ 'fabric.linking.request_access_pending': 'Đang chờ phê duyệt',
91
+ 'fabric.linking.request_access_pending_description': 'Yêu cầu quyền truy cập {hostname} của bạn đang chờ quản trị viên phê duyệt.',
92
+ 'fabric.linking.request_access_pending_title': 'Đang chờ cấp quyền truy cập {product}',
96
93
  'fabric.linking.request_access_to_view': 'Yêu cầu quyền truy cập vào {context} để xem vấn đề này',
97
94
  'fabric.linking.request_denied': 'Yêu cầu quyền truy cập của bạn đã bị từ chối',
98
- 'fabric.linking.request_denied_description': 'Yêu cầu quyền truy cập của bạn đã bị từ chối. Hãy liên hệ với quản trị viên trang web nếu bạn vẫn cần quyền truy cập.',
99
- 'fabric.linking.request_denied_description_crossjoin': 'Quản trị viên không chấp thuận yêu cầu xem các trang {product} từ {hostname} của bạn.',
95
+ 'fabric.linking.request_denied_description': 'Quản trị viên không chấp thuận yêu cầu xem các trang {product} từ {hostname} của bạn.',
100
96
  'fabric.linking.restricted_link': 'Liên kết bị hạn chế, thử một tài khoản khác',
101
97
  'fabric.linking.retry': 'Thử lại',
102
98
  'fabric.linking.save': 'Lưu',
@@ -10,6 +10,7 @@ export default {
10
10
  'fabric.linking.access_exists_description': '要从 {hostname} 查看此内容,请申请访问权限。',
11
11
  'fabric.linking.actions': '操作',
12
12
  'fabric.linking.add_account': '添加帐户',
13
+ 'fabric.linking.ai_summarize': '汇总',
13
14
  'fabric.linking.assigned_to': '已分配给 {context}',
14
15
  'fabric.linking.cancel': '取消',
15
16
  'fabric.linking.cannot_connect': '无法连接,请重试',
@@ -34,16 +35,14 @@ export default {
34
35
  'fabric.linking.create_on_relative': '创建时间:{context}',
35
36
  'fabric.linking.created_by': '创建者:{context}',
36
37
  'fabric.linking.delete': '删除',
37
- 'fabric.linking.direct_access_crossjoin': '立即加入',
38
- 'fabric.linking.direct_access_description_crossjoin': '您的团队使用 {product} 进行协作,而您可以立即开始使用该产品!',
39
- 'fabric.linking.direct_access_title_crossjoin': '加入 {product} 即可查看此内容',
38
+ 'fabric.linking.direct_access_description': '您的团队使用 {product} 进行协作,而您可以立即开始使用该产品!',
39
+ 'fabric.linking.direct_access_title': '加入 {product} 即可查看此内容',
40
40
  'fabric.linking.download': '下载',
41
41
  'fabric.linking.edit': '编辑',
42
42
  'fabric.linking.follow': '关注',
43
43
  'fabric.linking.forbidden_access': '您的访问已被禁止',
44
- 'fabric.linking.forbidden_description': '您无权访问此预览。如果需要访问,请联系站点管理员。',
45
- 'fabric.linking.forbidden_description_crossjoin': '请联系您的管理员申请对 {hostname} 的访问权限。',
46
- 'fabric.linking.forbidden_title_crossjoin': '您无权访问此内容',
44
+ 'fabric.linking.forbidden_description': '请联系您的管理员申请对 {hostname} 的访问权限。',
45
+ 'fabric.linking.forbidden_title': '您无权访问此内容',
47
46
  'fabric.linking.generic_error_message': '出错了',
48
47
  'fabric.linking.go_back': '返回',
49
48
  'fabric.linking.invalid_permissions': '受限内容',
@@ -57,11 +56,9 @@ export default {
57
56
  'fabric.linking.modified_on_absolute': '更新时间:{context}',
58
57
  'fabric.linking.modified_on_relative': '更新时间:{context}',
59
58
  'fabric.linking.more_actions': '更多操作',
60
- 'fabric.linking.no_access_title_crossjoin': '加入 {product} 即可查看此内容',
61
- 'fabric.linking.not_found_description': '未找到此链接。请检查 URL,然后尝试编辑或重新粘贴。',
62
- 'fabric.linking.not_found_description_crossjoin': '该页面不存在或者在添加此链接后可能已发生更改。',
63
- 'fabric.linking.not_found_title': '噢。找不到此链接!',
64
- 'fabric.linking.not_found_title_crossjoin': '无法显示此 {product} 页面',
59
+ 'fabric.linking.no_access_title': '加入 {product} 即可查看此内容',
60
+ 'fabric.linking.not_found_description': '该页面不存在或者在添加此链接后可能已发生更改。',
61
+ 'fabric.linking.not_found_title': '无法显示此 {product} 页面',
65
62
  'fabric.linking.open_issue_in_jira': '在 Jira 中打开事务',
66
63
  'fabric.linking.open_link_in_a_new_tab': '在新选项卡中打开链接',
67
64
  'fabric.linking.owned_by': '负责人:{context}',
@@ -85,18 +82,13 @@ export default {
85
82
  'fabric.linking.related': '相关',
86
83
  'fabric.linking.related_work_items_not_found': '此链接在其他任何地方均未提及。',
87
84
  'fabric.linking.request_access': '请求访问',
88
- 'fabric.linking.request_access_crossjoin': '申请访问权限',
89
- 'fabric.linking.request_access_description': '请求访问 {context} 以查看此预览。',
90
- 'fabric.linking.request_access_description_crossjoin': '您的团队使用 {product} 进行协作。请向您的管理员发送访问请求。',
91
- 'fabric.linking.request_access_pending': '访问待处理',
92
- 'fabric.linking.request_access_pending_crossjoin': '待批准',
93
- 'fabric.linking.request_access_pending_description': '您的访问请求正等待处理。',
94
- 'fabric.linking.request_access_pending_description_crossjoin': '您对 {hostname} 的访问请求正在等待管理员批准。',
95
- 'fabric.linking.request_access_pending_title_crossjoin': '对 {product} 的访问权限正在等待处理',
85
+ 'fabric.linking.request_access_description': '您的团队使用 {product} 进行协作。请向您的管理员发送访问请求。',
86
+ 'fabric.linking.request_access_pending': '待批准',
87
+ 'fabric.linking.request_access_pending_description': '您对 {hostname} 的访问请求正在等待管理员批准。',
88
+ 'fabric.linking.request_access_pending_title': '对 {product} 的访问权限正在等待处理',
96
89
  'fabric.linking.request_access_to_view': '请求访问{context}以查看此事务',
97
90
  'fabric.linking.request_denied': '您的访问请求已被拒绝',
98
- 'fabric.linking.request_denied_description': '您的访问请求已被拒绝。如果您仍需访问,请联系站点管理员。',
99
- 'fabric.linking.request_denied_description_crossjoin': '您的管理员未批准您从 {hostname} 查看 {product} 页面的请求。',
91
+ 'fabric.linking.request_denied_description': '您的管理员未批准您从 {hostname} 查看 {product} 页面的请求。',
100
92
  'fabric.linking.restricted_link': '受限链接,请尝试其他帐户',
101
93
  'fabric.linking.retry': '重试',
102
94
  'fabric.linking.save': '保存',
@@ -10,6 +10,10 @@ export default {
10
10
  'fabric.linking.access_exists_description': '要求存取權以檢視 {hostname} 的這項內容。',
11
11
  'fabric.linking.actions': '動作',
12
12
  'fabric.linking.add_account': '新增帳戶',
13
+ 'fabric.linking.ai_summarize': '總結',
14
+ 'fabric.linking.ai_summarized': '由 Atlassian Intelligence 總結',
15
+ 'fabric.linking.ai_summarized_info': '資訊品質可能會有變化。<a>深入了解</a>',
16
+ 'fabric.linking.ai_summarizing': 'Atlassian Intelligence 運作中...',
13
17
  'fabric.linking.assigned_to': '已指派給 {context}',
14
18
  'fabric.linking.cancel': '取消',
15
19
  'fabric.linking.cannot_connect': '無法連結,請再試一次',
@@ -34,16 +38,15 @@ export default {
34
38
  'fabric.linking.create_on_relative': '建立時間:{context}',
35
39
  'fabric.linking.created_by': '建立者:{context}',
36
40
  'fabric.linking.delete': '刪除',
37
- 'fabric.linking.direct_access_crossjoin': '立即加入',
38
- 'fabric.linking.direct_access_description_crossjoin': '您的團隊使用 {product} 協作,您可以立即開始使用!',
39
- 'fabric.linking.direct_access_title_crossjoin': '加入 {product} 以檢視此內容',
41
+ 'fabric.linking.direct_access': '立即加入',
42
+ 'fabric.linking.direct_access_description': '您的團隊使用 {product} 協作,您可以立即開始使用!',
43
+ 'fabric.linking.direct_access_title': '加入 {product} 以檢視此內容',
40
44
  'fabric.linking.download': '下載',
41
45
  'fabric.linking.edit': '編輯',
42
46
  'fabric.linking.follow': '追蹤',
43
47
  'fabric.linking.forbidden_access': '您的存取遭拒',
44
- 'fabric.linking.forbidden_description': '您沒有此預覽的存取權。如果您需要存取權,請連絡網站管理員。',
45
- 'fabric.linking.forbidden_description_crossjoin': '請連絡您的管理員以要求 {hostname} 存取權。',
46
- 'fabric.linking.forbidden_title_crossjoin': '您無法存取此內容',
48
+ 'fabric.linking.forbidden_description': '請連絡您的管理員以要求 {hostname} 存取權。',
49
+ 'fabric.linking.forbidden_title': '您無法存取此內容',
47
50
  'fabric.linking.generic_error_message': '發生錯誤',
48
51
  'fabric.linking.go_back': '返回',
49
52
  'fabric.linking.invalid_permissions': '受限制的內容',
@@ -57,11 +60,9 @@ export default {
57
60
  'fabric.linking.modified_on_absolute': '更新於 {context}',
58
61
  'fabric.linking.modified_on_relative': '更新時間:{context}',
59
62
  'fabric.linking.more_actions': '更多動作',
60
- 'fabric.linking.no_access_title_crossjoin': '加入 {product} 以檢視此內容',
61
- 'fabric.linking.not_found_description': '我們找不到此連結。請檢查 URL,然後試著編輯或再次貼上。',
62
- 'fabric.linking.not_found_description_crossjoin': '該頁面不存在,或在新增此連結後可能已變更。',
63
- 'fabric.linking.not_found_title': '糟糕,我們找不到此連結!',
64
- 'fabric.linking.not_found_title_crossjoin': '我們無法向您顯示此 {product} 頁面',
63
+ 'fabric.linking.no_access_title': '加入 {product} 以檢視此內容',
64
+ 'fabric.linking.not_found_description': '該頁面不存在,或在新增此連結後可能已變更。',
65
+ 'fabric.linking.not_found_title': '我們無法向您顯示此 {product} 頁面',
65
66
  'fabric.linking.open_issue_in_jira': 'Jira 中的待處理議題',
66
67
  'fabric.linking.open_link_in_a_new_tab': '在新分頁中開啟連結',
67
68
  'fabric.linking.owned_by': '負責人:{context}',
@@ -85,18 +86,13 @@ export default {
85
86
  'fabric.linking.related': '相關',
86
87
  'fabric.linking.related_work_items_not_found': '這個連結並未在其他任何位置提及。',
87
88
  'fabric.linking.request_access': '要求存取權',
88
- 'fabric.linking.request_access_crossjoin': '要求存取權',
89
- 'fabric.linking.request_access_description': '要求 {context} 的存取權以檢視此預覽。',
90
- 'fabric.linking.request_access_description_crossjoin': '您的團隊使用 {product} 來協作。向您的管理員傳送存取要求。',
91
- 'fabric.linking.request_access_pending': '存取擱置',
92
- 'fabric.linking.request_access_pending_crossjoin': '待核准',
93
- 'fabric.linking.request_access_pending_description': '您的存取要求擱置中。',
94
- 'fabric.linking.request_access_pending_description_crossjoin': '您的 {hostname} 存取要求正在等待管理員核准。',
95
- 'fabric.linking.request_access_pending_title_crossjoin': '{product} 的存取權待核准',
89
+ 'fabric.linking.request_access_description': '您的團隊使用 {product} 來協作。向您的管理員傳送存取要求。',
90
+ 'fabric.linking.request_access_pending': '待核准',
91
+ 'fabric.linking.request_access_pending_description': '您的 {hostname} 存取要求正在等待管理員核准。',
92
+ 'fabric.linking.request_access_pending_title': '{product} 的存取權待核准',
96
93
  'fabric.linking.request_access_to_view': '要求存取 {context} 以檢視此議題',
97
94
  'fabric.linking.request_denied': '您的存取要求遭拒',
98
- 'fabric.linking.request_denied_description': '您的存取要求遭到拒絕。如果您仍需要存取權,請連絡網站管理員。',
99
- 'fabric.linking.request_denied_description_crossjoin': '您的管理員並未核准您的要求,因此您無法檢視 {hostname} 的 {product} 頁面。',
95
+ 'fabric.linking.request_denied_description': '您的管理員並未核准您的要求,因此您無法檢視 {hostname} 的 {product} 頁面。',
100
96
  'fabric.linking.restricted_link': '連結受到限制,請嘗試其他帳戶',
101
97
  'fabric.linking.retry': '重試',
102
98
  'fabric.linking.save': '儲存',
@@ -0,0 +1,71 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import { readStream, addPath } from './utils';
3
+ export class AISummaryService {
4
+ constructor(props) {
5
+ _defineProperty(this, "state", {
6
+ content: '',
7
+ status: 'ready'
8
+ });
9
+ _defineProperty(this, "subscribedStateSetter", state => {});
10
+ _defineProperty(this, "fetchStream", async summaryStyle => {
11
+ const payload = {
12
+ recipient_agent_named_id: 'summary_agent',
13
+ agent_input: {
14
+ urls: [this.url],
15
+ summary_style: summaryStyle
16
+ }
17
+ };
18
+ const options = {
19
+ method: 'POST',
20
+ headers: this.config.headers,
21
+ body: JSON.stringify(payload)
22
+ };
23
+ const path = 'chat/v1/invoke_agent/stream';
24
+ const requestUrl = addPath(this.config.baseUrl, path);
25
+ const response = await fetch(requestUrl, options);
26
+ return readStream(response);
27
+ });
28
+ const defaultConfig = {
29
+ baseUrl: '/gateway/api/assist',
30
+ headers: {
31
+ 'Content-Type': 'application/json;charset=UTF-8',
32
+ 'x-experience-id': 'smart-link',
33
+ //TODO: EDM-9337 - Remove the hardcoded Confluence product name and find a way to populate the product name here
34
+ 'x-product': props.product || 'confluence'
35
+ }
36
+ };
37
+ this.config = {
38
+ baseUrl: props.baseUrl || defaultConfig.baseUrl,
39
+ headers: {
40
+ ...(props.headers || defaultConfig.headers)
41
+ }
42
+ };
43
+ this.url = props.url;
44
+ }
45
+ async summariseUrl(summaryStyle = 'short') {
46
+ this.state = {
47
+ ...this.state,
48
+ status: 'loading'
49
+ };
50
+ this.subscribedStateSetter(this.state);
51
+ const stream = await this.fetchStream(summaryStyle);
52
+ let bufferContent = '';
53
+ for await (const chunk of stream) {
54
+ if (chunk.type === 'ANSWER_PART') {
55
+ bufferContent += chunk.message.content;
56
+ this.subscribedStateSetter({
57
+ ...this.state,
58
+ content: bufferContent
59
+ });
60
+ }
61
+ }
62
+ this.state = {
63
+ status: 'done',
64
+ content: bufferContent
65
+ };
66
+ this.subscribedStateSetter(this.state);
67
+ }
68
+ subscribe(stateSetter) {
69
+ this.subscribedStateSetter = stateSetter;
70
+ }
71
+ }
@@ -0,0 +1,5 @@
1
+ import { LRUMap } from 'lru_map';
2
+ const AI_SUMMARY_CACHE_SIZE = 100;
3
+
4
+ // Contains cached mapping between url and an AISummaryService.
5
+ export const AISummariesStore = new LRUMap(AI_SUMMARY_CACHE_SIZE);
@@ -0,0 +1,55 @@
1
+ export async function* readStream(response) {
2
+ const reader = getBufferReader(response);
3
+ let doneStreaming = false;
4
+ let chunkBuffer = '';
5
+ do {
6
+ try {
7
+ const {
8
+ value,
9
+ done
10
+ } = await reader.read();
11
+ doneStreaming = done;
12
+ if (value) {
13
+ try {
14
+ const processedChunks = `${chunkBuffer}${value}`.split('\n'); // assumes that all JSON chunks are separated by a new-line;
15
+
16
+ chunkBuffer = '';
17
+ for (let chunk of processedChunks) {
18
+ try {
19
+ yield JSON.parse(chunk);
20
+ } catch (e) {
21
+ // the chunk may be incomplete, so we'll save it for the next iteration.
22
+ chunkBuffer = chunk;
23
+ }
24
+ }
25
+ } catch (e) {
26
+ const error = new Error(`Error Processing Stream Data: ${value}`);
27
+ throw error;
28
+ }
29
+ }
30
+ } catch (e) {
31
+ // If we abort the call, this exception bubbles up, so we want to catch it and exit gracefully
32
+ if (e instanceof DOMException && e.name === 'AbortError') {
33
+ doneStreaming = true;
34
+ } else {
35
+ throw e;
36
+ }
37
+ }
38
+ } while (!doneStreaming);
39
+ if (chunkBuffer) {
40
+ const error = new Error(`Not all the data was processed: ${chunkBuffer}`);
41
+ throw error;
42
+ }
43
+ }
44
+ export const getBufferReader = response => {
45
+ if (!response.body) {
46
+ throw new Error('Response body is empty');
47
+ }
48
+ return response.body.pipeThrough(new TextDecoderStream()).getReader();
49
+ };
50
+ export const addPath = (baseUrl, path) => {
51
+ const urlWithTrailingSlash = baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`;
52
+ const pathWithoutLeadingSlash = !path.startsWith('/') ? path : path.substring(1, path.length);
53
+ const url = [urlWithTrailingSlash, pathWithoutLeadingSlash].join('');
54
+ return url;
55
+ };
@@ -0,0 +1,35 @@
1
+ import { useState, useEffect } from 'react';
2
+ import { AISummariesStore } from './ai-summary-service/store';
3
+ import { AISummaryService } from './ai-summary-service';
4
+ export const useAISummary = props => {
5
+ const {
6
+ url
7
+ } = props;
8
+ const aISummaryService = AISummariesStore.get(url);
9
+ const isAISummaryServiceInitiated = !!aISummaryService;
10
+ const [state, setState] = useState(isAISummaryServiceInitiated ? aISummaryService.state : {
11
+ status: 'ready',
12
+ content: ''
13
+ });
14
+ const isSummarised = isAISummaryServiceInitiated && state.status === 'done';
15
+ useEffect(() => {
16
+ if (!isSummarised) {
17
+ var _AISummariesStore$get;
18
+ if (!isAISummaryServiceInitiated) {
19
+ AISummariesStore.set(url, new AISummaryService(props));
20
+ }
21
+ return (_AISummariesStore$get = AISummariesStore.get(url)) === null || _AISummariesStore$get === void 0 ? void 0 : _AISummariesStore$get.subscribe(setState);
22
+ }
23
+ }, [isSummarised, isAISummaryServiceInitiated, url, props]);
24
+ const summariseUrl = () => {
25
+ if (isAISummaryServiceInitiated) {
26
+ return aISummaryService.summariseUrl();
27
+ }
28
+ return;
29
+ };
30
+ return {
31
+ isSummarised,
32
+ summariseUrl,
33
+ state
34
+ };
35
+ };
@@ -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.47.1"
7
+ packageVersion: "26.48.0"
8
8
  };
9
9
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback, useMemo, useState } from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
4
  import { Box, Inline } from '@atlaskit/primitives';
5
- import { ActionName, SmartLinkSize, SmartLinkWidth } from '../../../../../../constants';
5
+ import { ActionName, SmartLinkSize, SmartLinkWidth, SmartLinkDirection } from '../../../../../../constants';
6
6
  import ActionGroup from '../../action-group';
7
7
  import Block from '../../block';
8
8
  import ElementGroup from '../../element-group';
@@ -10,6 +10,9 @@ import AIStateIndicator from '../ai-state-indicator';
10
10
  import { renderElementItems } from '../../utils';
11
11
  import { messages } from '../../../../../../messages';
12
12
  import AiIcon from '../../../../../common/ai-icon';
13
+ import AISummary from '../../../../../common/ai-summary';
14
+ import { useAISummary } from '../../../../../../state/hooks/use-ai-summary';
15
+ import { useFlexibleUiContext } from '../../../../../../state/flexible-ui-context';
13
16
  const AISummaryBlockResolvedView = props => {
14
17
  const {
15
18
  actions = [],
@@ -21,6 +24,14 @@ const AISummaryBlockResolvedView = props => {
21
24
  } = props;
22
25
  const [aiState, setAIState] = useState('ready');
23
26
  const metadataElements = renderElementItems(metadata);
27
+ const context = useFlexibleUiContext();
28
+ const url = (context === null || context === void 0 ? void 0 : context.url) || '';
29
+ const aiSummary = useAISummary({
30
+ url
31
+ });
32
+ const {
33
+ content
34
+ } = aiSummary.state;
24
35
  const onAIActionClick = useCallback(() => {
25
36
  setAIState('loading');
26
37
  if (onAIActionChange) {
@@ -50,7 +61,10 @@ const AISummaryBlockResolvedView = props => {
50
61
  }
51
62
  }, [onActionMenuOpenChange]);
52
63
  return /*#__PURE__*/React.createElement(Block, _extends({}, props, {
64
+ direction: SmartLinkDirection.Vertical,
53
65
  testId: `${testId}-resolved-view`
66
+ }), /*#__PURE__*/React.createElement(AISummary, {
67
+ content: content
54
68
  }), /*#__PURE__*/React.createElement(Inline, {
55
69
  alignBlock: "center",
56
70
  alignInline: "end",
@@ -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.47.1",
10
+ packageVersion: "26.48.0",
11
11
  componentName: 'linkUrl'
12
12
  };
13
13
  const Link = withLinkClickedEvent('a');