@uptime.app/contracts 3.0.18 → 3.0.19-rc.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 (167) hide show
  1. package/dist/cjs/course-enrollment/course-enrollment.d.ts +1 -0
  2. package/dist/cjs/course-enrollment/course-enrollment.d.ts.map +1 -1
  3. package/dist/esm/course-enrollment/course-enrollment.d.ts +1 -0
  4. package/dist/esm/course-enrollment/course-enrollment.d.ts.map +1 -1
  5. package/package.json +2 -2
  6. package/src/access-control/collection-access-control.ts +28 -28
  7. package/src/access-control/hack-access-control.ts +32 -32
  8. package/src/access-control/profile-access-control.ts +27 -27
  9. package/src/app-hack/app-full-hack.ts +9 -9
  10. package/src/app-hack/app-hack-metadata.ts +61 -61
  11. package/src/app-hack/app-restricted-hack.ts +22 -22
  12. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  13. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  14. package/src/b2b-organisation/b2b-org-idp-mapping.ts +27 -27
  15. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  16. package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
  17. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  18. package/src/b2b-organisation/b2b-organisation-member.ts +19 -19
  19. package/src/b2b-organisation/b2b-organisation.ts +35 -35
  20. package/src/brand/brand-events.ts +21 -21
  21. package/src/brand/brand.ts +27 -27
  22. package/src/catalogue/catalogue.ts +147 -147
  23. package/src/cms-hack/cms-searchable-hack.ts +44 -44
  24. package/src/collection/collection-events.ts +21 -21
  25. package/src/collection/collection.ts +57 -57
  26. package/src/collection/enriched-collection-events.ts +18 -18
  27. package/src/collection/enriched-collection.ts +61 -61
  28. package/src/course/course-events.ts +20 -20
  29. package/src/course/course.ts +25 -25
  30. package/src/course-enrollment/course-enrollment-events.ts +21 -21
  31. package/src/course-enrollment/course-enrollment.ts +33 -32
  32. package/src/creator/creator-events.ts +32 -32
  33. package/src/creator/creator.ts +7 -7
  34. package/src/distribution/collection-distribution.ts +17 -17
  35. package/src/distribution/distribution-events.ts +61 -61
  36. package/src/distribution/hack-distribution.ts +18 -18
  37. package/src/draft-hack/draft-hack-events.ts +21 -21
  38. package/src/draft-hack/draft-hack.ts +190 -190
  39. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  40. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  41. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  42. package/src/enriched-b2b-organisation/enriched-b2b-organisation-events.ts +21 -21
  43. package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +37 -37
  44. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  45. package/src/enriched-hack/enriched-hack.ts +109 -109
  46. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  47. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  48. package/src/entitlement/user-entitlements-commands.ts +54 -54
  49. package/src/entitlement/user-entitlements-events.ts +29 -29
  50. package/src/entitlement/user-entitlements.ts +18 -18
  51. package/src/flashcard/flashcard-events.ts +85 -85
  52. package/src/flashcard/flashcard.ts +138 -138
  53. package/src/hack/extracted-subject.ts +31 -31
  54. package/src/hack/hack-events.ts +21 -21
  55. package/src/hack/hack-published.ts +21 -21
  56. package/src/hack/hack-with-voice-events.ts +20 -20
  57. package/src/hack/hack-with-voice.ts +36 -36
  58. package/src/hack/hack.ts +127 -127
  59. package/src/hack/publish-hack-command.ts +20 -20
  60. package/src/hack/republish-hack-command.ts +20 -20
  61. package/src/hack-mapping/access-helper.ts +6 -6
  62. package/src/hack-mapping/app-full-hack.test.ts +12 -12
  63. package/src/hack-mapping/app-full-hack.ts +14 -14
  64. package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
  65. package/src/hack-mapping/app-hack-metadata.ts +82 -82
  66. package/src/hack-mapping/app-restricted-hack.test.ts +11 -11
  67. package/src/hack-mapping/app-restricted-hack.ts +21 -21
  68. package/src/hack-mapping/remove-undefined-fields.ts +9 -9
  69. package/src/hack-mapping/test-data/enriched-hack.json +2576 -2576
  70. package/src/hack-mapping/test-data/expected-app-full-hack.json +2509 -2509
  71. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +93 -93
  72. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +799 -799
  73. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  74. package/src/hack-metadata/hack-metadata.ts +17 -17
  75. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  76. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  77. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  78. package/src/hack-statistics/hack-statistics.ts +9 -9
  79. package/src/hackbot/hack-generation-commands.ts +44 -44
  80. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  81. package/src/hackbot/hack-generation-trigger.ts +56 -56
  82. package/src/history/history-events.ts +21 -21
  83. package/src/history/history.ts +46 -46
  84. package/src/identity-provider/domain-identity-provider-events.ts +20 -20
  85. package/src/identity-provider/domain-identity-provider.ts +10 -10
  86. package/src/identity-provider/identity-provider-events.ts +20 -20
  87. package/src/identity-provider/identity-provider.ts +46 -46
  88. package/src/index.ts +205 -205
  89. package/src/interest/interest-events.ts +21 -21
  90. package/src/interest/interest.ts +15 -15
  91. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  92. package/src/knowledge-source/knowledge-source.ts +43 -43
  93. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +52 -52
  94. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  95. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  96. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  97. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  98. package/src/knowledge-source-parsing/user-hack-generation-options.ts +7 -7
  99. package/src/learn-upon/get-sqsso-url.ts +13 -13
  100. package/src/learn-upon/learn-upon-commands.ts +32 -32
  101. package/src/learn-upon/learn-upon-course-enrollment-events.ts +21 -21
  102. package/src/learn-upon/learn-upon-course-enrollment.ts +62 -62
  103. package/src/learn-upon/learn-upon-course-events.ts +21 -21
  104. package/src/learn-upon/learn-upon-course.ts +105 -105
  105. package/src/learn-upon/learn-upon-portal-events.ts +20 -20
  106. package/src/learn-upon/learn-upon-portal.ts +12 -12
  107. package/src/learn-upon/learn-upon-user-mapping-events.ts +18 -18
  108. package/src/learn-upon/learn-upon-user-mapping.ts +9 -9
  109. package/src/learn-upon/learn-upon-webhook-events.ts +80 -80
  110. package/src/learn-upon/learn-upon-webhook-types.ts +346 -346
  111. package/src/learn-upon/unenroll.ts +6 -6
  112. package/src/localisation/live-locales.ts +45 -45
  113. package/src/localisation/locale-language.ts +4 -4
  114. package/src/localisation/supported-languages.ts +11 -11
  115. package/src/localisation/supported-locales.ts +67 -67
  116. package/src/message-bus/context.ts +7 -7
  117. package/src/moderation/hack-moderation-result-events.ts +18 -18
  118. package/src/moderation/hack-moderation-result.ts +27 -27
  119. package/src/partner/partner-events.ts +21 -21
  120. package/src/partner/partner.ts +7 -7
  121. package/src/pending-hack/pending-hack-events.ts +20 -20
  122. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  123. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  124. package/src/pending-hack/pending-hack.ts +78 -78
  125. package/src/preferences/preferences-events.ts +15 -15
  126. package/src/preferences/preferences.ts +35 -35
  127. package/src/profile/profile-events.ts +41 -41
  128. package/src/profile/profile.ts +36 -36
  129. package/src/profile/translated-profile.ts +13 -13
  130. package/src/referral/referral-events.ts +41 -41
  131. package/src/referral/referral.ts +76 -76
  132. package/src/saved/saved-collection-events.ts +19 -19
  133. package/src/saved/saved-collection.ts +8 -8
  134. package/src/segment/segment-commands.ts +75 -75
  135. package/src/segment/segment-events.ts +42 -42
  136. package/src/segment/segment-with-voice.ts +8 -8
  137. package/src/segment/segment.ts +82 -82
  138. package/src/service-simulator/mock-request-response.ts +17 -17
  139. package/src/skin/skin-events.ts +21 -21
  140. package/src/skin/skin.ts +6 -6
  141. package/src/spark/spark-board-read-model.ts +17 -17
  142. package/src/spark/spark-board.ts +12 -12
  143. package/src/spark/spark-events.ts +42 -42
  144. package/src/spark/spark.ts +75 -75
  145. package/src/text-to-speech/create-speech-commands.ts +22 -22
  146. package/src/text-to-speech/speech-created-events.ts +10 -10
  147. package/src/text-to-speech/supported-voices.ts +222 -222
  148. package/src/text-to-speech/text-segment.ts +29 -29
  149. package/src/theme/theme-events.ts +21 -21
  150. package/src/theme/theme.ts +68 -68
  151. package/src/translation/translation-events.ts +73 -73
  152. package/src/translation/translation.ts +25 -25
  153. package/src/trending/trending-events.ts +21 -21
  154. package/src/trending/trending-hacks.ts +8 -8
  155. package/src/user/cognito-user-authentication-log.ts +7 -7
  156. package/src/user/get-user.ts +63 -63
  157. package/src/user/user-events.ts +32 -32
  158. package/src/user-context/user-context-events.ts +21 -21
  159. package/src/user-context/user-context.ts +15 -15
  160. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  161. package/src/user-notification-context/user-notification-context.ts +9 -9
  162. package/src/user-statistics/user-statistics-events.ts +97 -97
  163. package/src/user-statistics/user-statistics.ts +82 -82
  164. package/src/video-cropping/video-cropping-events.ts +43 -43
  165. package/src/video-cropping/video-metadata.ts +12 -12
  166. package/tsconfig.cjs.json +7 -7
  167. 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,44 +1,44 @@
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". When null, don't generate "insights in action"
15
- title?: string;
16
- contributors?: string;
17
- useB2CSegmentLimits: boolean; // if true, use the B2C segment length limits (e.g. 850+ characters for insight bodies)
18
- }
19
-
20
- hackFromPodcastUrl?: {
21
- knowledgeSourceUrl: string;
22
- }
23
-
24
- hackFromPodcastRSS?: {
25
- rssUrl: string;
26
- episodeNumber: number;
27
- }
28
-
29
- hackFromPodcastWithMetadata?: {
30
- knowledgeSourceUrl: string;
31
- podcastName: string;
32
- episodeName: string;
33
- episodeDescription: string;
34
- episodeReleaseDate: string;
35
- episodeImageUrl: string;
36
- useB2CSegmentLimits: boolean;
37
- }
38
- }
39
-
40
- export interface TriggerHackGenerationCommand {
41
- id: string;
42
- type: 'TriggerHackGeneration';
43
- payload: TriggerHackGenerationCommandPayload;
44
- }
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". When null, don't generate "insights in action"
15
+ title?: string;
16
+ contributors?: string;
17
+ useB2CSegmentLimits: boolean; // if true, use the B2C segment length limits (e.g. 850+ characters for insight bodies)
18
+ }
19
+
20
+ hackFromPodcastUrl?: {
21
+ knowledgeSourceUrl: string;
22
+ }
23
+
24
+ hackFromPodcastRSS?: {
25
+ rssUrl: string;
26
+ episodeNumber: number;
27
+ }
28
+
29
+ hackFromPodcastWithMetadata?: {
30
+ knowledgeSourceUrl: string;
31
+ podcastName: string;
32
+ episodeName: string;
33
+ episodeDescription: string;
34
+ episodeReleaseDate: string;
35
+ episodeImageUrl: string;
36
+ useB2CSegmentLimits: boolean;
37
+ }
38
+ }
39
+
40
+ export interface TriggerHackGenerationCommand {
41
+ id: string;
42
+ type: 'TriggerHackGeneration';
43
+ payload: TriggerHackGenerationCommandPayload;
44
+ }
@@ -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,56 +1,56 @@
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
- takeawaysToEmphasise?: string; // e.g. "practical steps", "strategic advice", free text, for the "insights in action". When null, don't generate "insights in action"
21
- title?: string;
22
- contributors?: string;
23
- useB2CSegmentLimits: boolean; // if true, use the B2C segment length limits (e.g. 850+ characters for insight bodies)
24
- }
25
-
26
- hackFromPodcastUrl?: {
27
- knowledgeSourceUrl: string;
28
- }
29
-
30
- hackFromPodcastRSS?: {
31
- rssUrl: string;
32
- episodeNumber: number;
33
- }
34
-
35
- hackFromPodcastWithMetadata?: {
36
- knowledgeSourceUrl: string;
37
- podcastName: string;
38
- episodeName: string;
39
- episodeDescription: string;
40
- episodeReleaseDate: string;
41
- episodeImageUrl: string
42
- useB2CSegmentLimits: boolean;
43
- }
44
-
45
- // computed based on 'type of hack'
46
- typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
47
- generationStatus: HackGenerationStatus;
48
- }
49
-
50
- export enum HackGenerationStatus {
51
- ParsingKnowledgeSource = 'ParsingKnowledgeSource', // when the trigger is created
52
- KnowledgeSourceParsingFailed = 'KnowledgeSourceParsingFailed',
53
- GeneratingHack = 'GeneratingHack', // just after the knowledge source has been parsed
54
- HackGenerationFinished = 'HackGenerationFinished',
55
- HackGenerationFailed = 'HackGenerationFailed',
56
- }
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
+ takeawaysToEmphasise?: string; // e.g. "practical steps", "strategic advice", free text, for the "insights in action". When null, don't generate "insights in action"
21
+ title?: string;
22
+ contributors?: string;
23
+ useB2CSegmentLimits: boolean; // if true, use the B2C segment length limits (e.g. 850+ characters for insight bodies)
24
+ }
25
+
26
+ hackFromPodcastUrl?: {
27
+ knowledgeSourceUrl: string;
28
+ }
29
+
30
+ hackFromPodcastRSS?: {
31
+ rssUrl: string;
32
+ episodeNumber: number;
33
+ }
34
+
35
+ hackFromPodcastWithMetadata?: {
36
+ knowledgeSourceUrl: string;
37
+ podcastName: string;
38
+ episodeName: string;
39
+ episodeDescription: string;
40
+ episodeReleaseDate: string;
41
+ episodeImageUrl: string
42
+ useB2CSegmentLimits: boolean;
43
+ }
44
+
45
+ // computed based on 'type of hack'
46
+ typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
47
+ generationStatus: HackGenerationStatus;
48
+ }
49
+
50
+ export enum HackGenerationStatus {
51
+ ParsingKnowledgeSource = 'ParsingKnowledgeSource', // when the trigger is created
52
+ KnowledgeSourceParsingFailed = 'KnowledgeSourceParsingFailed',
53
+ GeneratingHack = 'GeneratingHack', // just after the knowledge source has been parsed
54
+ HackGenerationFinished = 'HackGenerationFinished',
55
+ HackGenerationFailed = 'HackGenerationFailed',
56
+ }
@@ -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;
@@ -1,11 +1,11 @@
1
- export interface DomainIdentityProvider {
2
- id: string;
3
- v: number;
4
- updatedAt: string;
5
- createdAt: string;
6
- identityProviderId: string;
7
- domain: string;
8
- providerName: string;
9
- /** Matching verifiedDomains should require to be authenticated via IdP or not */
10
- enforceIdpAuth: boolean;
1
+ export interface DomainIdentityProvider {
2
+ id: string;
3
+ v: number;
4
+ updatedAt: string;
5
+ createdAt: string;
6
+ identityProviderId: string;
7
+ domain: string;
8
+ providerName: string;
9
+ /** Matching verifiedDomains should require to be authenticated via IdP or not */
10
+ enforceIdpAuth: boolean;
11
11
  }