@uptime.app/contracts 2.0.27-rc.2 → 2.0.27

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 (176) hide show
  1. package/dist/cjs/hackbot/hack-generation-commands.d.ts +0 -2
  2. package/dist/cjs/hackbot/hack-generation-commands.d.ts.map +1 -1
  3. package/dist/cjs/hackbot/hack-generation-trigger.d.ts +0 -2
  4. package/dist/cjs/hackbot/hack-generation-trigger.d.ts.map +1 -1
  5. package/dist/cjs/hackbot/hack-generation-trigger.js.map +1 -1
  6. package/dist/cjs/identity-provider/domain-identity-provider.d.ts +12 -0
  7. package/dist/cjs/identity-provider/domain-identity-provider.d.ts.map +1 -0
  8. package/dist/cjs/identity-provider/domain-identity-provider.js +3 -0
  9. package/dist/cjs/identity-provider/domain-identity-provider.js.map +1 -0
  10. package/dist/cjs/identity-provider/identity-provider.d.ts +27 -0
  11. package/dist/cjs/identity-provider/identity-provider.d.ts.map +1 -0
  12. package/dist/cjs/identity-provider/identity-provider.js +3 -0
  13. package/dist/cjs/identity-provider/identity-provider.js.map +1 -0
  14. package/dist/cjs/index.d.ts +2 -0
  15. package/dist/cjs/index.d.ts.map +1 -1
  16. package/dist/cjs/index.js +2 -0
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/knowledge-source-parsing/user-hack-generation-options.d.ts +0 -1
  19. package/dist/cjs/knowledge-source-parsing/user-hack-generation-options.d.ts.map +1 -1
  20. package/dist/esm/hackbot/hack-generation-commands.d.ts +0 -2
  21. package/dist/esm/hackbot/hack-generation-commands.d.ts.map +1 -1
  22. package/dist/esm/hackbot/hack-generation-trigger.d.ts +0 -2
  23. package/dist/esm/hackbot/hack-generation-trigger.d.ts.map +1 -1
  24. package/dist/esm/hackbot/hack-generation-trigger.js.map +1 -1
  25. package/dist/esm/identity-provider/domain-identity-provider.d.ts +12 -0
  26. package/dist/esm/identity-provider/domain-identity-provider.d.ts.map +1 -0
  27. package/dist/esm/identity-provider/domain-identity-provider.js +2 -0
  28. package/dist/esm/identity-provider/domain-identity-provider.js.map +1 -0
  29. package/dist/esm/identity-provider/identity-provider.d.ts +27 -0
  30. package/dist/esm/identity-provider/identity-provider.d.ts.map +1 -0
  31. package/dist/esm/identity-provider/identity-provider.js +2 -0
  32. package/dist/esm/identity-provider/identity-provider.js.map +1 -0
  33. package/dist/esm/index.d.ts +2 -0
  34. package/dist/esm/index.d.ts.map +1 -1
  35. package/dist/esm/index.js +2 -0
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/knowledge-source-parsing/user-hack-generation-options.d.ts +0 -1
  38. package/dist/esm/knowledge-source-parsing/user-hack-generation-options.d.ts.map +1 -1
  39. package/package.json +2 -2
  40. package/src/access-control/collection-access-control.ts +28 -28
  41. package/src/access-control/hack-access-control.ts +32 -32
  42. package/src/access-control/profile-access-control.ts +27 -27
  43. package/src/app-hack/app-full-hack.ts +9 -9
  44. package/src/app-hack/app-hack-metadata.ts +60 -60
  45. package/src/app-hack/app-restricted-hack.ts +22 -22
  46. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  47. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  48. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  49. package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
  50. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  51. package/src/b2b-organisation/b2b-organisation-member.ts +11 -11
  52. package/src/b2b-organisation/b2b-organisation.ts +33 -33
  53. package/src/brand/brand-events.ts +21 -21
  54. package/src/brand/brand.ts +26 -26
  55. package/src/catalogue/catalogue.ts +147 -147
  56. package/src/cms-hack/cms-searchable-hack.ts +44 -44
  57. package/src/collection/collection-events.ts +21 -21
  58. package/src/collection/collection.ts +57 -57
  59. package/src/collection/enriched-collection-events.ts +18 -18
  60. package/src/collection/enriched-collection.ts +64 -64
  61. package/src/creator/creator-events.ts +32 -32
  62. package/src/creator/creator.ts +7 -7
  63. package/src/distribution/collection-distribution.ts +17 -17
  64. package/src/distribution/distribution-events.ts +61 -61
  65. package/src/distribution/hack-distribution.ts +18 -18
  66. package/src/draft-hack/draft-hack-events.ts +21 -21
  67. package/src/draft-hack/draft-hack.ts +190 -190
  68. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  69. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  70. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  71. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  72. package/src/enriched-hack/enriched-hack.ts +104 -104
  73. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  74. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  75. package/src/entitlement/user-entitlements-commands.ts +54 -54
  76. package/src/entitlement/user-entitlements-events.ts +29 -29
  77. package/src/entitlement/user-entitlements.ts +18 -18
  78. package/src/flashcard/flashcard-events.ts +85 -85
  79. package/src/flashcard/flashcard.ts +138 -138
  80. package/src/hack/extracted-subject.ts +31 -31
  81. package/src/hack/hack-events.ts +21 -21
  82. package/src/hack/hack-published.ts +21 -21
  83. package/src/hack/hack-with-voice-events.ts +20 -20
  84. package/src/hack/hack-with-voice.ts +33 -33
  85. package/src/hack/hack.ts +117 -117
  86. package/src/hack/publish-hack-command.ts +20 -20
  87. package/src/hack-mapping/access-helper.ts +6 -6
  88. package/src/hack-mapping/app-full-hack.test.ts +12 -12
  89. package/src/hack-mapping/app-full-hack.ts +14 -14
  90. package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
  91. package/src/hack-mapping/app-hack-metadata.ts +81 -81
  92. package/src/hack-mapping/app-restricted-hack.test.ts +11 -11
  93. package/src/hack-mapping/app-restricted-hack.ts +21 -21
  94. package/src/hack-mapping/remove-undefined-fields.ts +9 -9
  95. package/src/hack-mapping/test-data/enriched-hack.json +2574 -2574
  96. package/src/hack-mapping/test-data/expected-app-full-hack.json +2507 -2507
  97. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +90 -90
  98. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +797 -797
  99. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  100. package/src/hack-metadata/hack-metadata.ts +17 -17
  101. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  102. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  103. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  104. package/src/hack-statistics/hack-statistics.ts +9 -9
  105. package/src/hackbot/hack-generation-commands.ts +42 -44
  106. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  107. package/src/hackbot/hack-generation-trigger.ts +54 -56
  108. package/src/history/history-events.ts +21 -21
  109. package/src/history/history.ts +46 -46
  110. package/src/identity-provider/domain-identity-provider.ts +11 -0
  111. package/src/identity-provider/identity-provider.ts +27 -0
  112. package/src/index.ts +174 -171
  113. package/src/interest/interest-events.ts +21 -21
  114. package/src/interest/interest.ts +15 -15
  115. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  116. package/src/knowledge-source/knowledge-source.ts +43 -43
  117. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +51 -51
  118. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  119. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  120. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  121. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  122. package/src/knowledge-source-parsing/user-hack-generation-options.ts +6 -7
  123. package/src/localisation/live-locales.ts +45 -45
  124. package/src/localisation/locale-language.ts +4 -4
  125. package/src/localisation/supported-languages.ts +11 -11
  126. package/src/localisation/supported-locales.ts +67 -67
  127. package/src/message-bus/Context.ts +7 -7
  128. package/src/moderation/hack-moderation-result-events.ts +18 -18
  129. package/src/moderation/hack-moderation-result.ts +27 -27
  130. package/src/partner/partner-events.ts +21 -21
  131. package/src/partner/partner.ts +7 -7
  132. package/src/pending-hack/pending-hack-events.ts +20 -20
  133. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  134. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  135. package/src/pending-hack/pending-hack.ts +78 -78
  136. package/src/preferences/preferences-events.ts +15 -15
  137. package/src/preferences/preferences.ts +35 -35
  138. package/src/profile/profile-events.ts +41 -41
  139. package/src/profile/profile.ts +29 -29
  140. package/src/profile/translated-profile.ts +13 -13
  141. package/src/referral/referral-events.ts +41 -41
  142. package/src/referral/referral.ts +76 -76
  143. package/src/saved/saved-collection-events.ts +19 -19
  144. package/src/saved/saved-collection.ts +8 -8
  145. package/src/segment/segment-commands.ts +75 -75
  146. package/src/segment/segment-events.ts +42 -42
  147. package/src/segment/segment-with-voice.ts +8 -8
  148. package/src/segment/segment.ts +82 -82
  149. package/src/skin/skin-events.ts +21 -21
  150. package/src/skin/skin.ts +6 -6
  151. package/src/spark/spark-board-read-model.ts +17 -17
  152. package/src/spark/spark-board.ts +12 -12
  153. package/src/spark/spark-events.ts +42 -42
  154. package/src/spark/spark.ts +80 -80
  155. package/src/text-to-speech/create-speech-commands.ts +22 -22
  156. package/src/text-to-speech/speech-created-events.ts +10 -10
  157. package/src/text-to-speech/supported-voices.ts +183 -183
  158. package/src/text-to-speech/text-segment.ts +29 -29
  159. package/src/theme/theme-events.ts +21 -21
  160. package/src/theme/theme.ts +68 -68
  161. package/src/translation/translation-events.ts +73 -73
  162. package/src/translation/translation.ts +25 -25
  163. package/src/trending/trending-events.ts +21 -21
  164. package/src/trending/trending-hacks.ts +8 -8
  165. package/src/user/get-user.ts +31 -31
  166. package/src/user/user-events.ts +26 -26
  167. package/src/user-context/user-context-events.ts +21 -21
  168. package/src/user-context/user-context.ts +15 -15
  169. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  170. package/src/user-notification-context/user-notification-context.ts +9 -9
  171. package/src/user-statistics/user-statistics-events.ts +97 -97
  172. package/src/user-statistics/user-statistics.ts +82 -82
  173. package/src/video-cropping/video-cropping-events.ts +43 -43
  174. package/src/video-cropping/video-metadata.ts +12 -12
  175. package/tsconfig.cjs.json +7 -7
  176. 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,42 @@
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
+ }
18
+
19
+ hackFromPodcastUrl?: {
20
+ knowledgeSourceUrl: string;
21
+ }
22
+
23
+ hackFromPodcastRSS?: {
24
+ rssUrl: string;
25
+ episodeNumber: number;
26
+ }
27
+
28
+ hackFromPodcastWithMetadata?: {
29
+ knowledgeSourceUrl: string;
30
+ podcastName: string;
31
+ episodeName: string;
32
+ episodeDescription: string;
33
+ episodeReleaseDate: string;
34
+ episodeImageUrl: string
35
+ }
36
+ }
37
+
38
+ export interface TriggerHackGenerationCommand {
39
+ id: string;
40
+ type: 'TriggerHackGeneration';
41
+ payload: TriggerHackGenerationCommandPayload;
42
+ }
@@ -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,54 @@
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
+ }
24
+
25
+ hackFromPodcastUrl?: {
26
+ knowledgeSourceUrl: string;
27
+ }
28
+
29
+ hackFromPodcastRSS?: {
30
+ rssUrl: string;
31
+ episodeNumber: number;
32
+ }
33
+
34
+ hackFromPodcastWithMetadata?: {
35
+ knowledgeSourceUrl: string;
36
+ podcastName: string;
37
+ episodeName: string;
38
+ episodeDescription: string;
39
+ episodeReleaseDate: string;
40
+ episodeImageUrl: string
41
+ }
42
+
43
+ // computed based on 'type of hack'
44
+ typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
45
+ generationStatus: HackGenerationStatus;
46
+ }
47
+
48
+ export enum HackGenerationStatus {
49
+ ParsingKnowledgeSource = 'ParsingKnowledgeSource', // when the trigger is created
50
+ KnowledgeSourceParsingFailed = 'KnowledgeSourceParsingFailed',
51
+ GeneratingHack = 'GeneratingHack', // just after the knowledge source has been parsed
52
+ HackGenerationFinished = 'HackGenerationFinished',
53
+ HackGenerationFailed = 'HackGenerationFailed',
54
+ }
@@ -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
+ }
@@ -0,0 +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;
11
+ }
@@ -0,0 +1,27 @@
1
+ export interface IdentityProvider {
2
+ id: string;
3
+ v: number;
4
+ updatedAt: string;
5
+ createdAt: string;
6
+ verifiedDomains: string[];
7
+ /** Matching verifiedDomains should require to be authenticated via IdP or not */
8
+ enforceIdpAuth: boolean;
9
+ providerName: string;
10
+ config: IdentityProviderConfig;
11
+ }
12
+
13
+ export interface IdentityProviderConfig {
14
+ cognitoUserPoolId: string;
15
+ /** Whether IdP-initiated SSO is allowed */
16
+ idpInit: boolean;
17
+ idpSignout: boolean;
18
+ encryptedResponses: boolean;
19
+ requestSigningAlgorithm: string;
20
+ /** Optional raw metadata XML string */
21
+ metadataXml?: string;
22
+ /** Optional URL to fetch metadata from */
23
+ metadataUrl?: string;
24
+ attributeMapping?: {
25
+ [key: string]: string | undefined;
26
+ };
27
+ }