@uptime.app/contracts 3.0.54 → 4.0.0-rc.1

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 (250) hide show
  1. package/dist/cjs/app-hack/app-hack-metadata.d.ts +1 -0
  2. package/dist/cjs/app-hack/app-hack-metadata.d.ts.map +1 -1
  3. package/dist/cjs/cms-hack/cms-searchable-hack.d.ts +2 -0
  4. package/dist/cjs/cms-hack/cms-searchable-hack.d.ts.map +1 -1
  5. package/dist/cjs/draft-hack/draft-hack.d.ts +2 -0
  6. package/dist/cjs/draft-hack/draft-hack.d.ts.map +1 -1
  7. package/dist/cjs/enriched-hack/enriched-hack.d.ts +2 -0
  8. package/dist/cjs/enriched-hack/enriched-hack.d.ts.map +1 -1
  9. package/dist/cjs/flashcard/flashcard.d.ts +3 -1
  10. package/dist/cjs/flashcard/flashcard.d.ts.map +1 -1
  11. package/dist/cjs/hack/hack.d.ts +3 -0
  12. package/dist/cjs/hack/hack.d.ts.map +1 -1
  13. package/dist/cjs/hack-mapping/app-hack-metadata.d.ts.map +1 -1
  14. package/dist/cjs/hack-mapping/app-hack-metadata.js +1 -0
  15. package/dist/cjs/hack-mapping/app-hack-metadata.js.map +1 -1
  16. package/dist/cjs/identity-provider/identity-provider.d.ts +0 -4
  17. package/dist/cjs/identity-provider/identity-provider.d.ts.map +1 -1
  18. package/dist/cjs/index.d.ts +2 -0
  19. package/dist/cjs/index.d.ts.map +1 -1
  20. package/dist/cjs/index.js +2 -0
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/interest/interest.d.ts +1 -0
  23. package/dist/cjs/interest/interest.d.ts.map +1 -1
  24. package/dist/cjs/pending-hack/pending-hack.d.ts +2 -0
  25. package/dist/cjs/pending-hack/pending-hack.d.ts.map +1 -1
  26. package/dist/cjs/spark/spark.d.ts +1 -1
  27. package/dist/cjs/spark/spark.d.ts.map +1 -1
  28. package/dist/cjs/topics/primary-topic-mapping.d.ts +11 -0
  29. package/dist/cjs/topics/primary-topic-mapping.d.ts.map +1 -0
  30. package/dist/cjs/topics/primary-topic-mapping.js +119 -0
  31. package/dist/cjs/topics/primary-topic-mapping.js.map +1 -0
  32. package/dist/cjs/topics/primary-topic.d.ts +4 -0
  33. package/dist/cjs/topics/primary-topic.d.ts.map +1 -0
  34. package/dist/cjs/topics/primary-topic.js +3 -0
  35. package/dist/cjs/topics/primary-topic.js.map +1 -0
  36. package/dist/esm/app-hack/app-hack-metadata.d.ts +1 -0
  37. package/dist/esm/app-hack/app-hack-metadata.d.ts.map +1 -1
  38. package/dist/esm/cms-hack/cms-searchable-hack.d.ts +2 -0
  39. package/dist/esm/cms-hack/cms-searchable-hack.d.ts.map +1 -1
  40. package/dist/esm/draft-hack/draft-hack.d.ts +2 -0
  41. package/dist/esm/draft-hack/draft-hack.d.ts.map +1 -1
  42. package/dist/esm/enriched-hack/enriched-hack.d.ts +2 -0
  43. package/dist/esm/enriched-hack/enriched-hack.d.ts.map +1 -1
  44. package/dist/esm/flashcard/flashcard.d.ts +3 -1
  45. package/dist/esm/flashcard/flashcard.d.ts.map +1 -1
  46. package/dist/esm/hack/hack.d.ts +3 -0
  47. package/dist/esm/hack/hack.d.ts.map +1 -1
  48. package/dist/esm/hack-mapping/app-hack-metadata.d.ts.map +1 -1
  49. package/dist/esm/hack-mapping/app-hack-metadata.js +1 -0
  50. package/dist/esm/hack-mapping/app-hack-metadata.js.map +1 -1
  51. package/dist/esm/identity-provider/identity-provider.d.ts +0 -4
  52. package/dist/esm/identity-provider/identity-provider.d.ts.map +1 -1
  53. package/dist/esm/index.d.ts +2 -0
  54. package/dist/esm/index.d.ts.map +1 -1
  55. package/dist/esm/index.js +2 -0
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/interest/interest.d.ts +1 -0
  58. package/dist/esm/interest/interest.d.ts.map +1 -1
  59. package/dist/esm/pending-hack/pending-hack.d.ts +2 -0
  60. package/dist/esm/pending-hack/pending-hack.d.ts.map +1 -1
  61. package/dist/esm/spark/spark.d.ts +1 -1
  62. package/dist/esm/spark/spark.d.ts.map +1 -1
  63. package/dist/esm/topics/primary-topic-mapping.d.ts +11 -0
  64. package/dist/esm/topics/primary-topic-mapping.d.ts.map +1 -0
  65. package/dist/esm/topics/primary-topic-mapping.js +114 -0
  66. package/dist/esm/topics/primary-topic-mapping.js.map +1 -0
  67. package/dist/esm/topics/primary-topic.d.ts +4 -0
  68. package/dist/esm/topics/primary-topic.d.ts.map +1 -0
  69. package/dist/esm/topics/primary-topic.js +2 -0
  70. package/dist/esm/topics/primary-topic.js.map +1 -0
  71. package/package.json +2 -2
  72. package/src/access-control/collection-access-control.ts +28 -28
  73. package/src/access-control/hack-access-control.ts +32 -32
  74. package/src/access-control/profile-access-control.ts +27 -27
  75. package/src/app-hack/app-full-hack.ts +9 -9
  76. package/src/app-hack/app-hack-metadata.ts +62 -61
  77. package/src/app-hack/app-restricted-hack.ts +22 -22
  78. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  79. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  80. package/src/b2b-organisation/b2b-org-idp-mapping.ts +27 -27
  81. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  82. package/src/b2b-organisation/b2b-organisation-group-events.ts +21 -21
  83. package/src/b2b-organisation/b2b-organisation-group-membership-events.ts +21 -21
  84. package/src/b2b-organisation/b2b-organisation-group-membership.ts +17 -17
  85. package/src/b2b-organisation/b2b-organisation-group.ts +42 -42
  86. package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
  87. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  88. package/src/b2b-organisation/b2b-organisation-member.ts +19 -19
  89. package/src/b2b-organisation/b2b-organisation.ts +38 -38
  90. package/src/brand/brand-events.ts +21 -21
  91. package/src/brand/brand.ts +77 -77
  92. package/src/catalogue/catalogue.ts +152 -152
  93. package/src/cms-hack/cms-searchable-hack.ts +47 -44
  94. package/src/collection/collection-events.ts +21 -21
  95. package/src/collection/collection.ts +59 -59
  96. package/src/collection/enriched-collection-events.ts +18 -18
  97. package/src/collection/enriched-collection.ts +65 -65
  98. package/src/course/course-events.ts +20 -20
  99. package/src/course/course.ts +25 -25
  100. package/src/course-enrollment/course-enrollment-events.ts +21 -21
  101. package/src/course-enrollment/course-enrollment.ts +36 -36
  102. package/src/creator/creator-events.ts +32 -32
  103. package/src/creator/creator.ts +7 -7
  104. package/src/distribution/collection-distribution.ts +17 -17
  105. package/src/distribution/distribution-events.ts +61 -61
  106. package/src/distribution/hack-distribution.ts +18 -18
  107. package/src/draft-hack/draft-hack-events.ts +21 -21
  108. package/src/draft-hack/draft-hack.ts +192 -190
  109. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  110. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  111. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  112. package/src/enriched-b2b-organisation/enriched-b2b-organisation-events.ts +21 -21
  113. package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +37 -37
  114. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  115. package/src/enriched-hack/enriched-hack.ts +111 -109
  116. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  117. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  118. package/src/entitlement/user-entitlements-commands.ts +54 -54
  119. package/src/entitlement/user-entitlements-events.ts +29 -29
  120. package/src/entitlement/user-entitlements.ts +18 -18
  121. package/src/flashcard/flashcard-events.ts +85 -85
  122. package/src/flashcard/flashcard.ts +161 -138
  123. package/src/hack/extracted-subject.ts +31 -31
  124. package/src/hack/hack-events.ts +21 -21
  125. package/src/hack/hack-published.ts +21 -21
  126. package/src/hack/hack-with-voice-events.ts +20 -20
  127. package/src/hack/hack-with-voice.ts +36 -36
  128. package/src/hack/hack.ts +130 -127
  129. package/src/hack/publish-hack-command.ts +20 -20
  130. package/src/hack/republish-hack-command.ts +20 -20
  131. package/src/hack-mapping/access-helper.ts +6 -6
  132. package/src/hack-mapping/app-full-hack.test.ts +13 -13
  133. package/src/hack-mapping/app-full-hack.ts +14 -14
  134. package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
  135. package/src/hack-mapping/app-hack-metadata.ts +83 -82
  136. package/src/hack-mapping/app-restricted-hack.test.ts +12 -12
  137. package/src/hack-mapping/app-restricted-hack.ts +21 -21
  138. package/src/hack-mapping/remove-undefined-fields.ts +9 -9
  139. package/src/hack-mapping/test-data/enriched-hack.json +2569 -2564
  140. package/src/hack-mapping/test-data/expected-app-full-hack.json +2502 -2497
  141. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +86 -81
  142. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +792 -787
  143. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  144. package/src/hack-metadata/hack-metadata.ts +17 -17
  145. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  146. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  147. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  148. package/src/hack-statistics/hack-statistics.ts +9 -9
  149. package/src/hackbot/hack-generation-commands.ts +45 -45
  150. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  151. package/src/hackbot/hack-generation-trigger.ts +57 -57
  152. package/src/history/history-events.ts +21 -21
  153. package/src/history/history.ts +46 -46
  154. package/src/identity-provider/domain-identity-provider-events.ts +20 -20
  155. package/src/identity-provider/domain-identity-provider.ts +10 -10
  156. package/src/identity-provider/identity-provider-events.ts +20 -20
  157. package/src/identity-provider/identity-provider.ts +47 -51
  158. package/src/index.ts +223 -220
  159. package/src/interest/interest-events.ts +21 -21
  160. package/src/interest/interest.ts +16 -15
  161. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  162. package/src/knowledge-source/knowledge-source.ts +43 -43
  163. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +58 -58
  164. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  165. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  166. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  167. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  168. package/src/knowledge-source-parsing/user-hack-generation-options.ts +7 -7
  169. package/src/learn-upon/get-sqsso-url.ts +13 -13
  170. package/src/learn-upon/learn-upon-commands.ts +33 -33
  171. package/src/learn-upon/learn-upon-course-enrollment-events.ts +21 -21
  172. package/src/learn-upon/learn-upon-course-enrollment.ts +62 -62
  173. package/src/learn-upon/learn-upon-course-events.ts +21 -21
  174. package/src/learn-upon/learn-upon-course.ts +108 -108
  175. package/src/learn-upon/learn-upon-portal-events.ts +20 -20
  176. package/src/learn-upon/learn-upon-portal.ts +12 -12
  177. package/src/learn-upon/learn-upon-user-mapping-events.ts +18 -18
  178. package/src/learn-upon/learn-upon-user-mapping.ts +9 -9
  179. package/src/learn-upon/learn-upon-webhook-events.ts +80 -80
  180. package/src/learn-upon/learn-upon-webhook-types.ts +346 -346
  181. package/src/learn-upon/unenroll.ts +6 -6
  182. package/src/localisation/live-locales.ts +45 -45
  183. package/src/localisation/locale-language.ts +4 -4
  184. package/src/localisation/supported-languages.ts +11 -11
  185. package/src/localisation/supported-locales.ts +67 -67
  186. package/src/message-bus/context.ts +7 -7
  187. package/src/moderation/hack-moderation-result-events.ts +18 -18
  188. package/src/moderation/hack-moderation-result.ts +27 -27
  189. package/src/partner/partner-events.ts +21 -21
  190. package/src/partner/partner.ts +7 -7
  191. package/src/pending-hack/pending-hack-events.ts +20 -20
  192. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  193. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  194. package/src/pending-hack/pending-hack.ts +80 -78
  195. package/src/preferences/preferences-events.ts +15 -15
  196. package/src/preferences/preferences.ts +35 -35
  197. package/src/profile/profile-events.ts +41 -41
  198. package/src/profile/profile.ts +36 -36
  199. package/src/profile/translated-profile.ts +13 -13
  200. package/src/referral/referral-events.ts +41 -41
  201. package/src/referral/referral.ts +76 -76
  202. package/src/saved/saved-collection-events.ts +19 -19
  203. package/src/saved/saved-collection.ts +8 -8
  204. package/src/segment/segment-commands.ts +75 -75
  205. package/src/segment/segment-events.ts +42 -42
  206. package/src/segment/segment-with-voice.ts +8 -8
  207. package/src/segment/segment.ts +82 -82
  208. package/src/service-simulator/mock-request-response.ts +17 -17
  209. package/src/skin/skin-events.ts +21 -21
  210. package/src/skin/skin.ts +6 -6
  211. package/src/spark/spark-board-read-model.ts +17 -17
  212. package/src/spark/spark-board.ts +12 -12
  213. package/src/spark/spark-events.ts +42 -42
  214. package/src/spark/spark.ts +74 -75
  215. package/src/text-analysis/hack-categories-extracted-events.ts +24 -24
  216. package/src/text-analysis/hack-categories-extracted.ts +31 -31
  217. package/src/text-analysis/hack-entities-extracted-events.ts +24 -24
  218. package/src/text-analysis/hack-entities-extracted.ts +38 -38
  219. package/src/text-analysis/hack-keywords-extracted-events.ts +24 -24
  220. package/src/text-analysis/hack-keywords-extracted.ts +23 -23
  221. package/src/text-analysis/hack-topics-extracted-events.ts +24 -24
  222. package/src/text-analysis/hack-topics-extracted.ts +31 -31
  223. package/src/text-to-speech/create-speech-commands.ts +22 -22
  224. package/src/text-to-speech/speech-created-events.ts +10 -10
  225. package/src/text-to-speech/supported-voices.ts +222 -222
  226. package/src/text-to-speech/text-segment.ts +29 -29
  227. package/src/theme/theme-events.ts +21 -21
  228. package/src/theme/theme.ts +68 -68
  229. package/src/topics/primary-topic-mapping.test.ts +87 -0
  230. package/src/topics/primary-topic-mapping.ts +136 -0
  231. package/src/topics/primary-topic.ts +3 -0
  232. package/src/translation/translation-events.ts +73 -73
  233. package/src/translation/translation.ts +25 -25
  234. package/src/trending/trending-events.ts +21 -21
  235. package/src/trending/trending-hacks.ts +8 -8
  236. package/src/user/cognito-user-authentication-log.ts +7 -7
  237. package/src/user/get-user.ts +63 -63
  238. package/src/user/user-events.ts +39 -39
  239. package/src/user-acl/user-acl-utils.test.ts +273 -273
  240. package/src/user-acl/user-acl-utils.ts +176 -176
  241. package/src/user-context/user-context-events.ts +21 -21
  242. package/src/user-context/user-context.ts +15 -15
  243. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  244. package/src/user-notification-context/user-notification-context.ts +9 -9
  245. package/src/user-statistics/user-statistics-events.ts +97 -97
  246. package/src/user-statistics/user-statistics.ts +82 -82
  247. package/src/video-cropping/video-cropping-events.ts +43 -43
  248. package/src/video-cropping/video-metadata.ts +12 -12
  249. package/tsconfig.cjs.json +7 -7
  250. package/tsconfig.npm.json +22 -22
@@ -1,21 +1,21 @@
1
- import { HackMetadata } from './hack-metadata';
2
-
3
- export interface HackMetadataCreatedEvent {
4
- id: string;
5
- type: 'HackMetadataCreated';
6
- payload: HackMetadata;
7
- }
8
-
9
- export interface HackMetadataUpdatedEvent {
10
- id: string;
11
- type: 'HackMetadataUpdated';
12
- payload: HackMetadata;
13
- }
14
-
15
- export interface HackMetadataDeletedEvent {
16
- id: string;
17
- type: 'HackMetadataDeleted';
18
- payload: HackMetadata;
19
- }
20
-
21
- export type HackMetadataChangedEvent = HackMetadataCreatedEvent | HackMetadataUpdatedEvent | HackMetadataDeletedEvent;
1
+ import { HackMetadata } from './hack-metadata';
2
+
3
+ export interface HackMetadataCreatedEvent {
4
+ id: string;
5
+ type: 'HackMetadataCreated';
6
+ payload: HackMetadata;
7
+ }
8
+
9
+ export interface HackMetadataUpdatedEvent {
10
+ id: string;
11
+ type: 'HackMetadataUpdated';
12
+ payload: HackMetadata;
13
+ }
14
+
15
+ export interface HackMetadataDeletedEvent {
16
+ id: string;
17
+ type: 'HackMetadataDeleted';
18
+ payload: HackMetadata;
19
+ }
20
+
21
+ export type HackMetadataChangedEvent = HackMetadataCreatedEvent | HackMetadataUpdatedEvent | HackMetadataDeletedEvent;
@@ -1,17 +1,17 @@
1
- import { ExtractedSubject } from '../hack/extracted-subject';
2
-
3
- export interface HackMetadata {
4
- // hackId
5
- id: string;
6
- v: number;
7
- createdAt: string;
8
- updatedAt: string;
9
-
10
- hackId: string;
11
- baseLocaleHackId: string;
12
- draftHackId: string;
13
- subjects: {
14
- aiGenerated?: ExtractedSubject[],
15
- humanCurated?: ExtractedSubject[]
16
- }
17
- }
1
+ import { ExtractedSubject } from '../hack/extracted-subject';
2
+
3
+ export interface HackMetadata {
4
+ // hackId
5
+ id: string;
6
+ v: number;
7
+ createdAt: string;
8
+ updatedAt: string;
9
+
10
+ hackId: string;
11
+ baseLocaleHackId: string;
12
+ draftHackId: string;
13
+ subjects: {
14
+ aiGenerated?: ExtractedSubject[],
15
+ humanCurated?: ExtractedSubject[]
16
+ }
17
+ }
@@ -1,21 +1,21 @@
1
- import { HackOfTheDay } from './hack-of-the-day';
2
-
3
- export interface HackOfTheDayCreatedEvent {
4
- id: string;
5
- type: 'HackOfTheDayCreated';
6
- payload: HackOfTheDay;
7
- }
8
-
9
- export interface HackOfTheDayUpdatedEvent {
10
- id: string;
11
- type: 'HackOfTheDayUpdated';
12
- payload: HackOfTheDay;
13
- }
14
-
15
- export interface HackOfTheDayDeletedEvent {
16
- id: string;
17
- type: 'HackOfTheDayDeleted';
18
- payload: HackOfTheDay;
19
- }
20
-
21
- export type HackOfTheDayChangedEvent = HackOfTheDayCreatedEvent | HackOfTheDayUpdatedEvent | HackOfTheDayDeletedEvent;
1
+ import { HackOfTheDay } from './hack-of-the-day';
2
+
3
+ export interface HackOfTheDayCreatedEvent {
4
+ id: string;
5
+ type: 'HackOfTheDayCreated';
6
+ payload: HackOfTheDay;
7
+ }
8
+
9
+ export interface HackOfTheDayUpdatedEvent {
10
+ id: string;
11
+ type: 'HackOfTheDayUpdated';
12
+ payload: HackOfTheDay;
13
+ }
14
+
15
+ export interface HackOfTheDayDeletedEvent {
16
+ id: string;
17
+ type: 'HackOfTheDayDeleted';
18
+ payload: HackOfTheDay;
19
+ }
20
+
21
+ export type HackOfTheDayChangedEvent = HackOfTheDayCreatedEvent | HackOfTheDayUpdatedEvent | HackOfTheDayDeletedEvent;
@@ -1,13 +1,13 @@
1
- export const HackOfTheDayDateFormat = 'YYYY-MM-DD';
2
-
3
- export interface HackOfTheDay {
4
- id: string;
5
- v: number;
6
- createdAt: string;
7
- updatedAt: string;
8
- hackId: string;
9
- date: string;
10
- selectedBy?: string;
11
- locale: string;
12
- baseLocaleHackId: string;
13
- }
1
+ export const HackOfTheDayDateFormat = 'YYYY-MM-DD';
2
+
3
+ export interface HackOfTheDay {
4
+ id: string;
5
+ v: number;
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ hackId: string;
9
+ date: string;
10
+ selectedBy?: string;
11
+ locale: string;
12
+ baseLocaleHackId: string;
13
+ }
@@ -1,21 +1,21 @@
1
- import { HackStatistics } from './hack-statistics';
2
-
3
- export interface HackStatisticsCreatedEvent {
4
- id: string;
5
- type: 'HackStatisticsCreated';
6
- payload: HackStatistics;
7
- }
8
-
9
- export interface HackStatisticsUpdatedEvent {
10
- id: string;
11
- type: 'HackStatisticsUpdated';
12
- payload: HackStatistics;
13
- }
14
-
15
- export interface HackStatisticsDeletedEvent {
16
- id: string;
17
- type: 'HackStatisticsDeleted';
18
- payload: HackStatistics;
19
- }
20
-
21
- export type HackStatisticsChangedEvent = HackStatisticsCreatedEvent | HackStatisticsUpdatedEvent | HackStatisticsDeletedEvent;
1
+ import { HackStatistics } from './hack-statistics';
2
+
3
+ export interface HackStatisticsCreatedEvent {
4
+ id: string;
5
+ type: 'HackStatisticsCreated';
6
+ payload: HackStatistics;
7
+ }
8
+
9
+ export interface HackStatisticsUpdatedEvent {
10
+ id: string;
11
+ type: 'HackStatisticsUpdated';
12
+ payload: HackStatistics;
13
+ }
14
+
15
+ export interface HackStatisticsDeletedEvent {
16
+ id: string;
17
+ type: 'HackStatisticsDeleted';
18
+ payload: HackStatistics;
19
+ }
20
+
21
+ export type HackStatisticsChangedEvent = HackStatisticsCreatedEvent | HackStatisticsUpdatedEvent | HackStatisticsDeletedEvent;
@@ -1,10 +1,10 @@
1
-
2
- export interface HackStatistics {
3
- id: string;
4
- v: number;
5
- createdAt: string;
6
- updatedAt: string;
7
- hackId: string;
8
- popularityRank: number;
9
- trendingRank: number;
1
+
2
+ export interface HackStatistics {
3
+ id: string;
4
+ v: number;
5
+ createdAt: string;
6
+ updatedAt: string;
7
+ hackId: string;
8
+ popularityRank: number;
9
+ trendingRank: number;
10
10
  }
@@ -1,45 +1,45 @@
1
- export interface TriggerHackGenerationCommandPayload {
2
- reference: string;
3
- userId?: string;
4
-
5
- hackFromUrl?: {
6
- knowledgeSourceUrl: string;
7
- }
8
-
9
- hackFromUrlWithMetadata?: {
10
- knowledgeSourceUrl: string;
11
- typeOfHack: string; // in words e.g. "annual report", free text
12
- toneOfVoice: string; // e.g. "professional", "casual", "enthusiastic", free text
13
- insightsToEmphasise: string; // e.g. "key statistics", "quotes", "key facts", "keep it general", free text
14
- takeawaysToEmphasise?: string; // e.g. "practical steps", "strategic advice", free text, for the "insights in action". If "shouldCreateTakeaways" is false, this will be omitted
15
- shouldCreateTakeaways: boolean; // whether to create "insights in action"
16
- title?: string;
17
- contributors?: string;
18
- useB2CSegmentLimits: boolean; // if true, use the B2C segment length limits (e.g. 850+ characters for insight bodies)
19
- }
20
-
21
- hackFromPodcastUrl?: {
22
- knowledgeSourceUrl: string;
23
- }
24
-
25
- hackFromPodcastRSS?: {
26
- rssUrl: string;
27
- episodeNumber: number;
28
- }
29
-
30
- hackFromPodcastWithMetadata?: {
31
- knowledgeSourceUrl: string;
32
- podcastName: string;
33
- episodeName: string;
34
- episodeDescription: string;
35
- episodeReleaseDate: string;
36
- episodeImageUrl: string;
37
- useB2CSegmentLimits: boolean;
38
- }
39
- }
40
-
41
- export interface TriggerHackGenerationCommand {
42
- id: string;
43
- type: 'TriggerHackGeneration';
44
- payload: TriggerHackGenerationCommandPayload;
45
- }
1
+ export interface TriggerHackGenerationCommandPayload {
2
+ reference: string;
3
+ userId?: string;
4
+
5
+ hackFromUrl?: {
6
+ knowledgeSourceUrl: string;
7
+ }
8
+
9
+ hackFromUrlWithMetadata?: {
10
+ knowledgeSourceUrl: string;
11
+ typeOfHack: string; // in words e.g. "annual report", free text
12
+ toneOfVoice: string; // e.g. "professional", "casual", "enthusiastic", free text
13
+ insightsToEmphasise: string; // e.g. "key statistics", "quotes", "key facts", "keep it general", free text
14
+ takeawaysToEmphasise?: string; // e.g. "practical steps", "strategic advice", free text, for the "insights in action". If "shouldCreateTakeaways" is false, this will be omitted
15
+ shouldCreateTakeaways: boolean; // whether to create "insights in action"
16
+ title?: string;
17
+ contributors?: string;
18
+ useB2CSegmentLimits: boolean; // if true, use the B2C segment length limits (e.g. 850+ characters for insight bodies)
19
+ }
20
+
21
+ hackFromPodcastUrl?: {
22
+ knowledgeSourceUrl: string;
23
+ }
24
+
25
+ hackFromPodcastRSS?: {
26
+ rssUrl: string;
27
+ episodeNumber: number;
28
+ }
29
+
30
+ hackFromPodcastWithMetadata?: {
31
+ knowledgeSourceUrl: string;
32
+ podcastName: string;
33
+ episodeName: string;
34
+ episodeDescription: string;
35
+ episodeReleaseDate: string;
36
+ episodeImageUrl: string;
37
+ useB2CSegmentLimits: boolean;
38
+ }
39
+ }
40
+
41
+ export interface TriggerHackGenerationCommand {
42
+ id: string;
43
+ type: 'TriggerHackGeneration';
44
+ payload: TriggerHackGenerationCommandPayload;
45
+ }
@@ -1,21 +1,21 @@
1
- import { HackGenerationTrigger } from './hack-generation-trigger';
2
-
3
- export interface HackGenerationTriggerCreatedEvent {
4
- id: string;
5
- type: 'HackGenerationTriggerCreated';
6
- payload: HackGenerationTrigger;
7
- }
8
-
9
- export interface HackGenerationTriggerUpdatedEvent {
10
- id: string;
11
- type: 'HackGenerationTriggerUpdated';
12
- payload: HackGenerationTrigger;
13
- }
14
-
15
- export interface HackGenerationTriggerDeletedEvent {
16
- id: string;
17
- type: 'HackGenerationTriggerDeleted';
18
- payload: HackGenerationTrigger;
19
- }
20
-
21
- export type HackGenerationTriggerChangedEvent = HackGenerationTriggerCreatedEvent | HackGenerationTriggerUpdatedEvent | HackGenerationTriggerDeletedEvent;
1
+ import { HackGenerationTrigger } from './hack-generation-trigger';
2
+
3
+ export interface HackGenerationTriggerCreatedEvent {
4
+ id: string;
5
+ type: 'HackGenerationTriggerCreated';
6
+ payload: HackGenerationTrigger;
7
+ }
8
+
9
+ export interface HackGenerationTriggerUpdatedEvent {
10
+ id: string;
11
+ type: 'HackGenerationTriggerUpdated';
12
+ payload: HackGenerationTrigger;
13
+ }
14
+
15
+ export interface HackGenerationTriggerDeletedEvent {
16
+ id: string;
17
+ type: 'HackGenerationTriggerDeleted';
18
+ payload: HackGenerationTrigger;
19
+ }
20
+
21
+ export type HackGenerationTriggerChangedEvent = HackGenerationTriggerCreatedEvent | HackGenerationTriggerUpdatedEvent | HackGenerationTriggerDeletedEvent;
@@ -1,57 +1,57 @@
1
- import { SupportedDraftHackGenerationType } from '../knowledge-source-parsing/knowledge-source-parsing-commands';
2
-
3
- export interface HackGenerationTrigger {
4
- id: string;
5
- v: number;
6
- createdAt: string;
7
- updatedAt: string;
8
- userId?: string;
9
- reference?: string;
10
-
11
- hackFromUrl?: {
12
- knowledgeSourceUrl: string;
13
- }
14
-
15
- hackFromUrlWithMetadata?: {
16
- knowledgeSourceUrl: string;
17
- typeOfHack: string; // in words e.g. "annual report", free text
18
- toneOfVoice: string; // e.g. "professional", "casual", "enthusiastic", free text
19
- insightsToEmphasise: string; // e.g. "key statistics", "quotes", "key facts", "keep it general", free text
20
- shouldCreateTakeaways: boolean; // whether to create "insights in action"
21
- takeawaysToEmphasise?: string; // e.g. "practical steps", "strategic advice", free text, for the "insights in action". If "shouldCreateTakeaways" is false, this will be omitted
22
- title?: string;
23
- contributors?: string;
24
- useB2CSegmentLimits: boolean; // if true, use the B2C segment length limits (e.g. 850+ characters for insight bodies)
25
- }
26
-
27
- hackFromPodcastUrl?: {
28
- knowledgeSourceUrl: string;
29
- }
30
-
31
- hackFromPodcastRSS?: {
32
- rssUrl: string;
33
- episodeNumber: number;
34
- }
35
-
36
- hackFromPodcastWithMetadata?: {
37
- knowledgeSourceUrl: string;
38
- podcastName: string;
39
- episodeName: string;
40
- episodeDescription: string;
41
- episodeReleaseDate: string;
42
- episodeImageUrl: string
43
- useB2CSegmentLimits: boolean;
44
- }
45
-
46
- // computed based on 'type of hack'
47
- typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
48
- generationStatus: HackGenerationStatus;
49
- }
50
-
51
- export enum HackGenerationStatus {
52
- ParsingKnowledgeSource = 'ParsingKnowledgeSource', // when the trigger is created
53
- KnowledgeSourceParsingFailed = 'KnowledgeSourceParsingFailed',
54
- GeneratingHack = 'GeneratingHack', // just after the knowledge source has been parsed
55
- HackGenerationFinished = 'HackGenerationFinished',
56
- HackGenerationFailed = 'HackGenerationFailed',
57
- }
1
+ import { SupportedDraftHackGenerationType } from '../knowledge-source-parsing/knowledge-source-parsing-commands';
2
+
3
+ export interface HackGenerationTrigger {
4
+ id: string;
5
+ v: number;
6
+ createdAt: string;
7
+ updatedAt: string;
8
+ userId?: string;
9
+ reference?: string;
10
+
11
+ hackFromUrl?: {
12
+ knowledgeSourceUrl: string;
13
+ }
14
+
15
+ hackFromUrlWithMetadata?: {
16
+ knowledgeSourceUrl: string;
17
+ typeOfHack: string; // in words e.g. "annual report", free text
18
+ toneOfVoice: string; // e.g. "professional", "casual", "enthusiastic", free text
19
+ insightsToEmphasise: string; // e.g. "key statistics", "quotes", "key facts", "keep it general", free text
20
+ shouldCreateTakeaways: boolean; // whether to create "insights in action"
21
+ takeawaysToEmphasise?: string; // e.g. "practical steps", "strategic advice", free text, for the "insights in action". If "shouldCreateTakeaways" is false, this will be omitted
22
+ title?: string;
23
+ contributors?: string;
24
+ useB2CSegmentLimits: boolean; // if true, use the B2C segment length limits (e.g. 850+ characters for insight bodies)
25
+ }
26
+
27
+ hackFromPodcastUrl?: {
28
+ knowledgeSourceUrl: string;
29
+ }
30
+
31
+ hackFromPodcastRSS?: {
32
+ rssUrl: string;
33
+ episodeNumber: number;
34
+ }
35
+
36
+ hackFromPodcastWithMetadata?: {
37
+ knowledgeSourceUrl: string;
38
+ podcastName: string;
39
+ episodeName: string;
40
+ episodeDescription: string;
41
+ episodeReleaseDate: string;
42
+ episodeImageUrl: string
43
+ useB2CSegmentLimits: boolean;
44
+ }
45
+
46
+ // computed based on 'type of hack'
47
+ typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
48
+ generationStatus: HackGenerationStatus;
49
+ }
50
+
51
+ export enum HackGenerationStatus {
52
+ ParsingKnowledgeSource = 'ParsingKnowledgeSource', // when the trigger is created
53
+ KnowledgeSourceParsingFailed = 'KnowledgeSourceParsingFailed',
54
+ GeneratingHack = 'GeneratingHack', // just after the knowledge source has been parsed
55
+ HackGenerationFinished = 'HackGenerationFinished',
56
+ HackGenerationFailed = 'HackGenerationFailed',
57
+ }
@@ -1,21 +1,21 @@
1
- import { HackProgress } from './history';
2
-
3
- export interface HackProgressCreatedEvent {
4
- id: string;
5
- type: 'HackProgressCreated';
6
- payload: HackProgress;
7
- }
8
-
9
- export interface HackProgressUpdatedEvent {
10
- id: string;
11
- type: 'HackProgressUpdated';
12
- payload: HackProgress;
13
- }
14
-
15
- export interface HackProgressDeletedEvent {
16
- id: string;
17
- type: 'HackProgressDeleted';
18
- payload: HackProgress;
19
- }
20
-
21
- export type HackProgressChangedEvent = HackProgressCreatedEvent | HackProgressUpdatedEvent | HackProgressDeletedEvent;
1
+ import { HackProgress } from './history';
2
+
3
+ export interface HackProgressCreatedEvent {
4
+ id: string;
5
+ type: 'HackProgressCreated';
6
+ payload: HackProgress;
7
+ }
8
+
9
+ export interface HackProgressUpdatedEvent {
10
+ id: string;
11
+ type: 'HackProgressUpdated';
12
+ payload: HackProgress;
13
+ }
14
+
15
+ export interface HackProgressDeletedEvent {
16
+ id: string;
17
+ type: 'HackProgressDeleted';
18
+ payload: HackProgress;
19
+ }
20
+
21
+ export type HackProgressChangedEvent = HackProgressCreatedEvent | HackProgressUpdatedEvent | HackProgressDeletedEvent;
@@ -1,46 +1,46 @@
1
- export interface ResumeStoryPlayer {
2
- /** the format the user chose to consume the hack */
3
- format: 'story';
4
- /** where to resume from in the segment's array of cards */
5
- fromCardIndex: number;
6
- }
7
-
8
- export interface ResumeAudioPlayer {
9
- /** the format the user chose to consume the hack */
10
- format: 'audio';
11
- /** the timestamp in seconds that the audio player should resume from */
12
- audioPlayerFromTimestamp: number;
13
- /** where to resume from in the segment's array of cards */
14
- fromCardIndex?: number;
15
- }
16
-
17
- export interface ResumeTextReader {
18
- /** the format the user chose to consume the hack */
19
- format: 'text';
20
- /** the timestamp in seconds that the audio player should resume from
21
- * if the user had audio playing in the background while reading */
22
- audioPlayerFromTimestamp?: number;
23
- /** where to resume from in the segment's array of cards */
24
- fromCardIndex?: number;
25
- }
26
-
27
- export interface HackProgressDTO {
28
- /** the hack the user has been viewing */
29
- hackId: string;
30
- /** the segment to resume from */
31
- segmentId: string;
32
- /** the ISO 8601 date and time when the user last viewed the hack */
33
- lastViewedAt: string;
34
- /** used to render the hack progress bar on the client */
35
- percentageComplete: number;
36
- /** the format the hack will be resumed in */
37
- resume: ResumeStoryPlayer | ResumeAudioPlayer | ResumeTextReader;
38
- }
39
-
40
- export interface HackProgress extends HackProgressDTO {
41
- id: string
42
- createdAt: string;
43
- updatedAt: string;
44
- v: number;
45
- userId: string;
46
- }
1
+ export interface ResumeStoryPlayer {
2
+ /** the format the user chose to consume the hack */
3
+ format: 'story';
4
+ /** where to resume from in the segment's array of cards */
5
+ fromCardIndex: number;
6
+ }
7
+
8
+ export interface ResumeAudioPlayer {
9
+ /** the format the user chose to consume the hack */
10
+ format: 'audio';
11
+ /** the timestamp in seconds that the audio player should resume from */
12
+ audioPlayerFromTimestamp: number;
13
+ /** where to resume from in the segment's array of cards */
14
+ fromCardIndex?: number;
15
+ }
16
+
17
+ export interface ResumeTextReader {
18
+ /** the format the user chose to consume the hack */
19
+ format: 'text';
20
+ /** the timestamp in seconds that the audio player should resume from
21
+ * if the user had audio playing in the background while reading */
22
+ audioPlayerFromTimestamp?: number;
23
+ /** where to resume from in the segment's array of cards */
24
+ fromCardIndex?: number;
25
+ }
26
+
27
+ export interface HackProgressDTO {
28
+ /** the hack the user has been viewing */
29
+ hackId: string;
30
+ /** the segment to resume from */
31
+ segmentId: string;
32
+ /** the ISO 8601 date and time when the user last viewed the hack */
33
+ lastViewedAt: string;
34
+ /** used to render the hack progress bar on the client */
35
+ percentageComplete: number;
36
+ /** the format the hack will be resumed in */
37
+ resume: ResumeStoryPlayer | ResumeAudioPlayer | ResumeTextReader;
38
+ }
39
+
40
+ export interface HackProgress extends HackProgressDTO {
41
+ id: string
42
+ createdAt: string;
43
+ updatedAt: string;
44
+ v: number;
45
+ userId: string;
46
+ }
@@ -1,21 +1,21 @@
1
- import { DomainIdentityProvider } from './domain-identity-provider';
2
-
3
- export interface DomainIdentityProviderCreatedEvent {
4
- id: string;
5
- type: 'DomainIdentityProviderCreated';
6
- payload: DomainIdentityProvider;
7
- }
8
-
9
- export interface DomainIdentityProviderUpdatedEvent {
10
- id: string;
11
- type: 'DomainIdentityProviderUpdated';
12
- payload: DomainIdentityProvider;
13
- }
14
-
15
- export interface DomainIdentityProviderDeletedEvent {
16
- id: string;
17
- type: 'DomainIdentityProviderDeleted';
18
- payload: DomainIdentityProvider;
19
- }
20
-
1
+ import { DomainIdentityProvider } from './domain-identity-provider';
2
+
3
+ export interface DomainIdentityProviderCreatedEvent {
4
+ id: string;
5
+ type: 'DomainIdentityProviderCreated';
6
+ payload: DomainIdentityProvider;
7
+ }
8
+
9
+ export interface DomainIdentityProviderUpdatedEvent {
10
+ id: string;
11
+ type: 'DomainIdentityProviderUpdated';
12
+ payload: DomainIdentityProvider;
13
+ }
14
+
15
+ export interface DomainIdentityProviderDeletedEvent {
16
+ id: string;
17
+ type: 'DomainIdentityProviderDeleted';
18
+ payload: DomainIdentityProvider;
19
+ }
20
+
21
21
  export type DomainIdentityProviderChangedEvent = DomainIdentityProviderCreatedEvent | DomainIdentityProviderUpdatedEvent | DomainIdentityProviderDeletedEvent;