@uptime.app/contracts 2.0.55 → 2.0.57-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 (169) hide show
  1. package/dist/cjs/b2b-organisation/b2b-organisation.d.ts +2 -0
  2. package/dist/cjs/b2b-organisation/b2b-organisation.d.ts.map +1 -1
  3. package/dist/cjs/text-to-speech/supported-voices.js +6 -6
  4. package/dist/cjs/text-to-speech/supported-voices.js.map +1 -1
  5. package/dist/esm/b2b-organisation/b2b-organisation.d.ts +2 -0
  6. package/dist/esm/b2b-organisation/b2b-organisation.d.ts.map +1 -1
  7. package/dist/esm/text-to-speech/supported-voices.js +6 -6
  8. package/dist/esm/text-to-speech/supported-voices.js.map +1 -1
  9. package/package.json +2 -2
  10. package/src/access-control/collection-access-control.ts +28 -28
  11. package/src/access-control/hack-access-control.ts +32 -32
  12. package/src/access-control/profile-access-control.ts +27 -27
  13. package/src/app-hack/app-full-hack.ts +9 -9
  14. package/src/app-hack/app-hack-metadata.ts +61 -61
  15. package/src/app-hack/app-restricted-hack.ts +22 -22
  16. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  17. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  18. package/src/b2b-organisation/b2b-org-idp-mapping.ts +27 -27
  19. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  20. package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
  21. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  22. package/src/b2b-organisation/b2b-organisation-member.ts +19 -19
  23. package/src/b2b-organisation/b2b-organisation.ts +35 -33
  24. package/src/brand/brand-events.ts +21 -21
  25. package/src/brand/brand.ts +27 -27
  26. package/src/catalogue/catalogue.ts +147 -147
  27. package/src/cms-hack/cms-searchable-hack.ts +44 -44
  28. package/src/collection/collection-events.ts +21 -21
  29. package/src/collection/collection.ts +57 -57
  30. package/src/collection/enriched-collection-events.ts +18 -18
  31. package/src/collection/enriched-collection.ts +61 -61
  32. package/src/course/course-events.ts +20 -20
  33. package/src/course/course.ts +16 -16
  34. package/src/course-enrollment/course-enrollment-events.ts +21 -21
  35. package/src/course-enrollment/course-enrollment.ts +21 -21
  36. package/src/creator/creator-events.ts +32 -32
  37. package/src/creator/creator.ts +7 -7
  38. package/src/distribution/collection-distribution.ts +17 -17
  39. package/src/distribution/distribution-events.ts +61 -61
  40. package/src/distribution/hack-distribution.ts +18 -18
  41. package/src/draft-hack/draft-hack-events.ts +21 -21
  42. package/src/draft-hack/draft-hack.ts +190 -190
  43. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  44. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  45. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  46. package/src/enriched-b2b-organisation/enriched-b2b-organisation-events.ts +21 -21
  47. package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +33 -33
  48. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  49. package/src/enriched-hack/enriched-hack.ts +109 -109
  50. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  51. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  52. package/src/entitlement/user-entitlements-commands.ts +54 -54
  53. package/src/entitlement/user-entitlements-events.ts +29 -29
  54. package/src/entitlement/user-entitlements.ts +18 -18
  55. package/src/flashcard/flashcard-events.ts +85 -85
  56. package/src/flashcard/flashcard.ts +138 -138
  57. package/src/hack/extracted-subject.ts +31 -31
  58. package/src/hack/hack-events.ts +21 -21
  59. package/src/hack/hack-published.ts +21 -21
  60. package/src/hack/hack-with-voice-events.ts +20 -20
  61. package/src/hack/hack-with-voice.ts +33 -33
  62. package/src/hack/hack.ts +117 -117
  63. package/src/hack/publish-hack-command.ts +20 -20
  64. package/src/hack-mapping/access-helper.ts +6 -6
  65. package/src/hack-mapping/app-full-hack.test.ts +12 -12
  66. package/src/hack-mapping/app-full-hack.ts +14 -14
  67. package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
  68. package/src/hack-mapping/app-hack-metadata.ts +82 -82
  69. package/src/hack-mapping/app-restricted-hack.test.ts +11 -11
  70. package/src/hack-mapping/app-restricted-hack.ts +21 -21
  71. package/src/hack-mapping/remove-undefined-fields.ts +9 -9
  72. package/src/hack-mapping/test-data/enriched-hack.json +2576 -2576
  73. package/src/hack-mapping/test-data/expected-app-full-hack.json +2509 -2509
  74. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +93 -93
  75. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +799 -799
  76. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  77. package/src/hack-metadata/hack-metadata.ts +17 -17
  78. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  79. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  80. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  81. package/src/hack-statistics/hack-statistics.ts +9 -9
  82. package/src/hackbot/hack-generation-commands.ts +44 -44
  83. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  84. package/src/hackbot/hack-generation-trigger.ts +56 -56
  85. package/src/history/history-events.ts +21 -21
  86. package/src/history/history.ts +46 -46
  87. package/src/identity-provider/domain-identity-provider-events.ts +20 -20
  88. package/src/identity-provider/domain-identity-provider.ts +10 -10
  89. package/src/identity-provider/identity-provider-events.ts +20 -20
  90. package/src/identity-provider/identity-provider.ts +31 -31
  91. package/src/index.ts +190 -190
  92. package/src/interest/interest-events.ts +21 -21
  93. package/src/interest/interest.ts +15 -15
  94. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  95. package/src/knowledge-source/knowledge-source.ts +43 -43
  96. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +52 -52
  97. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  98. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  99. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  100. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  101. package/src/knowledge-source-parsing/user-hack-generation-options.ts +7 -7
  102. package/src/learn-upon/from-lydia.ts +15 -15
  103. package/src/learn-upon/learn-upon-api-course.ts +53 -53
  104. package/src/learn-upon/learn-upon-api-enrollment.ts +45 -45
  105. package/src/learn-upon/learn-upon-api-portal.ts +18 -18
  106. package/src/learn-upon/learn-upon-api-user.ts +39 -39
  107. package/src/learn-upon/learn-upon-portal-config.ts +22 -22
  108. package/src/learn-upon/learn-upon-user-mapping.ts +10 -10
  109. package/src/learn-upon/learn-upon-webhook-course-completion.ts +52 -52
  110. package/src/learn-upon/learn-upon-webhook-course-update.ts +75 -75
  111. package/src/learn-upon/learn-upon-webhook-enrollment.ts +17 -17
  112. package/src/learn-upon/learn-upon-webhook-events.ts +40 -40
  113. package/src/learn-upon/learn-upon-webhook-module-complete.ts +29 -29
  114. package/src/learn-upon/learn-upon-webhook-types.ts +338 -338
  115. package/src/localisation/live-locales.ts +45 -45
  116. package/src/localisation/locale-language.ts +4 -4
  117. package/src/localisation/supported-languages.ts +11 -11
  118. package/src/localisation/supported-locales.ts +67 -67
  119. package/src/message-bus/Context.ts +7 -7
  120. package/src/moderation/hack-moderation-result-events.ts +18 -18
  121. package/src/moderation/hack-moderation-result.ts +27 -27
  122. package/src/partner/partner-events.ts +21 -21
  123. package/src/partner/partner.ts +7 -7
  124. package/src/pending-hack/pending-hack-events.ts +20 -20
  125. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  126. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  127. package/src/pending-hack/pending-hack.ts +78 -78
  128. package/src/preferences/preferences-events.ts +15 -15
  129. package/src/preferences/preferences.ts +35 -35
  130. package/src/profile/profile-events.ts +41 -41
  131. package/src/profile/profile.ts +36 -36
  132. package/src/profile/translated-profile.ts +13 -13
  133. package/src/referral/referral-events.ts +41 -41
  134. package/src/referral/referral.ts +76 -76
  135. package/src/saved/saved-collection-events.ts +19 -19
  136. package/src/saved/saved-collection.ts +8 -8
  137. package/src/segment/segment-commands.ts +75 -75
  138. package/src/segment/segment-events.ts +42 -42
  139. package/src/segment/segment-with-voice.ts +8 -8
  140. package/src/segment/segment.ts +82 -82
  141. package/src/skin/skin-events.ts +21 -21
  142. package/src/skin/skin.ts +6 -6
  143. package/src/spark/spark-board-read-model.ts +17 -17
  144. package/src/spark/spark-board.ts +12 -12
  145. package/src/spark/spark-events.ts +42 -42
  146. package/src/spark/spark.ts +75 -75
  147. package/src/text-to-speech/create-speech-commands.ts +22 -22
  148. package/src/text-to-speech/speech-created-events.ts +10 -10
  149. package/src/text-to-speech/supported-voices.ts +183 -183
  150. package/src/text-to-speech/text-segment.ts +29 -29
  151. package/src/theme/theme-events.ts +21 -21
  152. package/src/theme/theme.ts +68 -68
  153. package/src/translation/translation-events.ts +73 -73
  154. package/src/translation/translation.ts +25 -25
  155. package/src/trending/trending-events.ts +21 -21
  156. package/src/trending/trending-hacks.ts +8 -8
  157. package/src/user/cognito-user-authentication-log.ts +7 -7
  158. package/src/user/get-user.ts +60 -60
  159. package/src/user/user-events.ts +30 -30
  160. package/src/user-context/user-context-events.ts +21 -21
  161. package/src/user-context/user-context.ts +15 -15
  162. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  163. package/src/user-notification-context/user-notification-context.ts +9 -9
  164. package/src/user-statistics/user-statistics-events.ts +97 -97
  165. package/src/user-statistics/user-statistics.ts +82 -82
  166. package/src/video-cropping/video-cropping-events.ts +43 -43
  167. package/src/video-cropping/video-metadata.ts +12 -12
  168. package/tsconfig.cjs.json +7 -7
  169. package/tsconfig.npm.json +22 -22
@@ -1,43 +1,43 @@
1
- export interface KnowledgeSource {
2
- id: string;
3
- /** @deprecated - use affiliate.url instead */
4
- affiliateLink?: string;
5
- // introduced Feb 2021. May be undefined in previous events
6
- affiliate: Affiliate;
7
- categories: Category[];
8
- topics: Topic[];
9
- coverUrl?: string;
10
- createdAt: string;
11
- description?: string;
12
- contributors: Contributor[];
13
- title: string;
14
- type: KnowledgeSourceType;
15
- updatedAt: string;
16
- v: number;
17
- metadata?: {
18
- [key: string]: any;
19
- };
20
- /** Number of pages in the book. only set for books. May be undefined */
21
- pageCount?: number;
22
- /** Set for courses, documentaries and podcasts. May be undefined */
23
- durationInMinutes?: number;
24
- }
25
-
26
- export type KnowledgeSourceType = 'book' | 'course' | 'documentary' | 'podcast';
27
-
28
- export interface Affiliate {
29
- url?: string;
30
- name?: string;
31
- }
32
-
33
- export interface Contributor {
34
- name: string;
35
- }
36
-
37
- export interface Category {
38
- name: string;
39
- }
40
-
41
- export interface Topic {
42
- name: string;
43
- }
1
+ export interface KnowledgeSource {
2
+ id: string;
3
+ /** @deprecated - use affiliate.url instead */
4
+ affiliateLink?: string;
5
+ // introduced Feb 2021. May be undefined in previous events
6
+ affiliate: Affiliate;
7
+ categories: Category[];
8
+ topics: Topic[];
9
+ coverUrl?: string;
10
+ createdAt: string;
11
+ description?: string;
12
+ contributors: Contributor[];
13
+ title: string;
14
+ type: KnowledgeSourceType;
15
+ updatedAt: string;
16
+ v: number;
17
+ metadata?: {
18
+ [key: string]: any;
19
+ };
20
+ /** Number of pages in the book. only set for books. May be undefined */
21
+ pageCount?: number;
22
+ /** Set for courses, documentaries and podcasts. May be undefined */
23
+ durationInMinutes?: number;
24
+ }
25
+
26
+ export type KnowledgeSourceType = 'book' | 'course' | 'documentary' | 'podcast';
27
+
28
+ export interface Affiliate {
29
+ url?: string;
30
+ name?: string;
31
+ }
32
+
33
+ export interface Contributor {
34
+ name: string;
35
+ }
36
+
37
+ export interface Category {
38
+ name: string;
39
+ }
40
+
41
+ export interface Topic {
42
+ name: string;
43
+ }
@@ -1,52 +1,52 @@
1
- export interface KnowledgeSourceMetadata {
2
- // deterministic based on input URL
3
- id: string;
4
- v: number;
5
- createdAt: string;
6
- updatedAt: string;
7
-
8
- url: string;
9
- s3Path: string;
10
- title: string;
11
- contributors: string;
12
- type: string;
13
-
14
- about: string;
15
- summary: string;
16
- quotes: KnowledgeSourceQuote[];
17
-
18
- vectorDbNamespace: string;
19
- vectorDbApproxWordsPerChunk: number;
20
-
21
- // used for parsed tables stored in s3, of type TableEntry[]
22
- tablesS3Path: string;
23
- }
24
-
25
- export interface KnowledgeSourceQuote {
26
- content: string;
27
- authors: string;
28
- }
29
-
30
- export interface KnowledgeSourceUserDefinedMetadata {
31
- title: string;
32
- contributors: string;
33
- type: string;
34
- }
35
-
36
- // created for gpt3-playground to be able to parse the metadata from hack generations triggered via slack
37
- export interface SlackDefinedMetadata {
38
- title: string;
39
- contributors: string;
40
- type: string;
41
- hintsForInsights: string;
42
- createActionsForInsights: boolean;
43
- useB2CSegmentLimits: boolean;
44
- }
45
-
46
- // used for parsed tables stored in s3 and referenced in tablesS3Path
47
- export interface TableEntry {
48
- id: string;
49
- content: string;
50
- originalHtml: string;
51
- title?: string;
52
- }
1
+ export interface KnowledgeSourceMetadata {
2
+ // deterministic based on input URL
3
+ id: string;
4
+ v: number;
5
+ createdAt: string;
6
+ updatedAt: string;
7
+
8
+ url: string;
9
+ s3Path: string;
10
+ title: string;
11
+ contributors: string;
12
+ type: string;
13
+
14
+ about: string;
15
+ summary: string;
16
+ quotes: KnowledgeSourceQuote[];
17
+
18
+ vectorDbNamespace: string;
19
+ vectorDbApproxWordsPerChunk: number;
20
+
21
+ // used for parsed tables stored in s3, of type TableEntry[]
22
+ tablesS3Path: string;
23
+ }
24
+
25
+ export interface KnowledgeSourceQuote {
26
+ content: string;
27
+ authors: string;
28
+ }
29
+
30
+ export interface KnowledgeSourceUserDefinedMetadata {
31
+ title: string;
32
+ contributors: string;
33
+ type: string;
34
+ }
35
+
36
+ // created for gpt3-playground to be able to parse the metadata from hack generations triggered via slack
37
+ export interface SlackDefinedMetadata {
38
+ title: string;
39
+ contributors: string;
40
+ type: string;
41
+ hintsForInsights: string;
42
+ createActionsForInsights: boolean;
43
+ useB2CSegmentLimits: boolean;
44
+ }
45
+
46
+ // used for parsed tables stored in s3 and referenced in tablesS3Path
47
+ export interface TableEntry {
48
+ id: string;
49
+ content: string;
50
+ originalHtml: string;
51
+ title?: string;
52
+ }
@@ -1,41 +1,41 @@
1
- import { KnowledgeSourceUserDefinedMetadata } from './knowledge-source-metadata';
2
-
3
- export enum SupportedDraftHackGenerationType {
4
- Book = 'book',
5
- Podcast = 'podcast',
6
- }
7
-
8
- export interface ParseKnowledgeSourceCommand {
9
- id: string;
10
- type: 'ParseKnowledgeSource';
11
- payload: {
12
- knowledgeSourceUrl: string;
13
- reference: string;
14
- triggerDraftHackGeneration: boolean;
15
- typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
16
- };
17
- }
18
-
19
- export interface ParseKnowledgeSourceWithMetadataCommand {
20
- id: string;
21
- type: 'ParseKnowledgeSourceWithMetadata';
22
- payload: {
23
- knowledgeSourceUrl: string;
24
- reference: string;
25
- triggerDraftHackGeneration: boolean;
26
- typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
27
- userDefinedMetadata: KnowledgeSourceUserDefinedMetadata;
28
- };
29
- }
30
-
31
- export interface ParseKnowledgeSourceFromPodcastCommand {
32
- id: string;
33
- type: 'ParseKnowledgeSourceFromPodcast';
34
- payload: {
35
- podcastUrl: string;
36
- rssEpisodeNumber?: number;
37
- reference: string;
38
- triggerDraftHackGeneration: boolean;
39
- typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
40
- };
41
- }
1
+ import { KnowledgeSourceUserDefinedMetadata } from './knowledge-source-metadata';
2
+
3
+ export enum SupportedDraftHackGenerationType {
4
+ Book = 'book',
5
+ Podcast = 'podcast',
6
+ }
7
+
8
+ export interface ParseKnowledgeSourceCommand {
9
+ id: string;
10
+ type: 'ParseKnowledgeSource';
11
+ payload: {
12
+ knowledgeSourceUrl: string;
13
+ reference: string;
14
+ triggerDraftHackGeneration: boolean;
15
+ typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
16
+ };
17
+ }
18
+
19
+ export interface ParseKnowledgeSourceWithMetadataCommand {
20
+ id: string;
21
+ type: 'ParseKnowledgeSourceWithMetadata';
22
+ payload: {
23
+ knowledgeSourceUrl: string;
24
+ reference: string;
25
+ triggerDraftHackGeneration: boolean;
26
+ typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
27
+ userDefinedMetadata: KnowledgeSourceUserDefinedMetadata;
28
+ };
29
+ }
30
+
31
+ export interface ParseKnowledgeSourceFromPodcastCommand {
32
+ id: string;
33
+ type: 'ParseKnowledgeSourceFromPodcast';
34
+ payload: {
35
+ podcastUrl: string;
36
+ rssEpisodeNumber?: number;
37
+ reference: string;
38
+ triggerDraftHackGeneration: boolean;
39
+ typeOfDraftHackToGenerate: SupportedDraftHackGenerationType;
40
+ };
41
+ }
@@ -1,30 +1,30 @@
1
- import { SupportedDraftHackGenerationType } from './knowledge-source-parsing-commands';
2
- import { UserHackGenerationOptions } from './user-hack-generation-options';
3
- import { KnowledgeSourceUserDefinedMetadata } from './knowledge-source-metadata';
4
-
5
- export interface KnowledgeSourceParsed {
6
- id: string;
7
- type: 'KnowledgeSourceParsed';
8
- payload: {
9
- // the parsed knowledge source id
10
- id: string;
11
- // the version
12
- v: number;
13
- reference: string;
14
- parsedKnowledgeSourceId: string;
15
- hackGenerationTriggerId: string;
16
- typeOfDraftHackToGenerate?: SupportedDraftHackGenerationType;
17
- userHackGenerationOptions?: UserHackGenerationOptions;
18
- userDefinedMetadata?: KnowledgeSourceUserDefinedMetadata;
19
- }
20
- }
21
-
22
- export interface KnowledgeSourceParsingFailed {
23
- id: string;
24
- type: 'KnowledgeSourceParsingFailed';
25
- payload: {
26
- reference: string;
27
- errorMessage: string;
28
- hackGenerationTriggerId: string;
29
- }
30
- }
1
+ import { SupportedDraftHackGenerationType } from './knowledge-source-parsing-commands';
2
+ import { UserHackGenerationOptions } from './user-hack-generation-options';
3
+ import { KnowledgeSourceUserDefinedMetadata } from './knowledge-source-metadata';
4
+
5
+ export interface KnowledgeSourceParsed {
6
+ id: string;
7
+ type: 'KnowledgeSourceParsed';
8
+ payload: {
9
+ // the parsed knowledge source id
10
+ id: string;
11
+ // the version
12
+ v: number;
13
+ reference: string;
14
+ parsedKnowledgeSourceId: string;
15
+ hackGenerationTriggerId: string;
16
+ typeOfDraftHackToGenerate?: SupportedDraftHackGenerationType;
17
+ userHackGenerationOptions?: UserHackGenerationOptions;
18
+ userDefinedMetadata?: KnowledgeSourceUserDefinedMetadata;
19
+ }
20
+ }
21
+
22
+ export interface KnowledgeSourceParsingFailed {
23
+ id: string;
24
+ type: 'KnowledgeSourceParsingFailed';
25
+ payload: {
26
+ reference: string;
27
+ errorMessage: string;
28
+ hackGenerationTriggerId: string;
29
+ }
30
+ }
@@ -1,44 +1,44 @@
1
- export interface PodcastMetadataWithoutTranscript {
2
- source: SupportedPodcastSource;
3
- podcastName: string,
4
- episodeName: string,
5
- episodeDescription: string,
6
- episodeReleaseDateIso: string,
7
- episodeImageUrl: string,
8
- episodeAudioUrl: string,
9
- originalUrl: string,
10
- podcastExternalId?: string,
11
- episodeId?: string
12
- episodeUrl?: string,
13
- episodeDurationSeconds?: number,
14
- podcastPublisher?: string,
15
- podcastRss?: string,
16
- }
17
-
18
- export interface PodcastMetadata extends PodcastMetadataWithoutTranscript {
19
- id: string;
20
- v: number;
21
- createdAt: string;
22
- updatedAt: string;
23
-
24
- transcript: string;
25
- summary: string;
26
- vectorDbNamespace: string;
27
- purpose: string;
28
- hosts: PodcastConfirmedContributor[];
29
- guests: PodcastConfirmedContributor[];
30
- }
31
-
32
- export interface PodcastConfirmedContributor {
33
- nameInput: string;
34
- confirmedName: string;
35
- bio: string;
36
- }
37
-
38
- export enum SupportedPodcastSource {
39
- ListenNotes = 'listennotes',
40
- iTunes = 'itunes',
41
- Spotify = 'spotify',
42
- Rss = 'rss',
43
- AudioWithMetadata = 'audio-with-metadata'
44
- }
1
+ export interface PodcastMetadataWithoutTranscript {
2
+ source: SupportedPodcastSource;
3
+ podcastName: string,
4
+ episodeName: string,
5
+ episodeDescription: string,
6
+ episodeReleaseDateIso: string,
7
+ episodeImageUrl: string,
8
+ episodeAudioUrl: string,
9
+ originalUrl: string,
10
+ podcastExternalId?: string,
11
+ episodeId?: string
12
+ episodeUrl?: string,
13
+ episodeDurationSeconds?: number,
14
+ podcastPublisher?: string,
15
+ podcastRss?: string,
16
+ }
17
+
18
+ export interface PodcastMetadata extends PodcastMetadataWithoutTranscript {
19
+ id: string;
20
+ v: number;
21
+ createdAt: string;
22
+ updatedAt: string;
23
+
24
+ transcript: string;
25
+ summary: string;
26
+ vectorDbNamespace: string;
27
+ purpose: string;
28
+ hosts: PodcastConfirmedContributor[];
29
+ guests: PodcastConfirmedContributor[];
30
+ }
31
+
32
+ export interface PodcastConfirmedContributor {
33
+ nameInput: string;
34
+ confirmedName: string;
35
+ bio: string;
36
+ }
37
+
38
+ export enum SupportedPodcastSource {
39
+ ListenNotes = 'listennotes',
40
+ iTunes = 'itunes',
41
+ Spotify = 'spotify',
42
+ Rss = 'rss',
43
+ AudioWithMetadata = 'audio-with-metadata'
44
+ }
@@ -1,28 +1,28 @@
1
- import { SupportedDraftHackGenerationType } from './knowledge-source-parsing-commands';
2
- import { UserHackGenerationOptions } from './user-hack-generation-options';
3
-
4
- export interface PodcastParsed {
5
- id: string;
6
- type: 'PodcastParsed';
7
- payload: {
8
- // the parsed podcast id
9
- id: string;
10
- // the version
11
- v: number;
12
- reference: string;
13
- hackGenerationTriggerId: string,
14
- podcastId: string; // also the parsed podcast id
15
- typeOfDraftHackToGenerate?: SupportedDraftHackGenerationType;
16
- userHackGenerationOptions?: UserHackGenerationOptions;
17
- }
18
- }
19
-
20
- export interface PodcastParsingFailed {
21
- id: string;
22
- type: 'PodcastParsingFailed';
23
- payload: {
24
- reference: string;
25
- hackGenerationTriggerId: string,
26
- errorMessage: string;
27
- }
28
- }
1
+ import { SupportedDraftHackGenerationType } from './knowledge-source-parsing-commands';
2
+ import { UserHackGenerationOptions } from './user-hack-generation-options';
3
+
4
+ export interface PodcastParsed {
5
+ id: string;
6
+ type: 'PodcastParsed';
7
+ payload: {
8
+ // the parsed podcast id
9
+ id: string;
10
+ // the version
11
+ v: number;
12
+ reference: string;
13
+ hackGenerationTriggerId: string,
14
+ podcastId: string; // also the parsed podcast id
15
+ typeOfDraftHackToGenerate?: SupportedDraftHackGenerationType;
16
+ userHackGenerationOptions?: UserHackGenerationOptions;
17
+ }
18
+ }
19
+
20
+ export interface PodcastParsingFailed {
21
+ id: string;
22
+ type: 'PodcastParsingFailed';
23
+ payload: {
24
+ reference: string;
25
+ hackGenerationTriggerId: string,
26
+ errorMessage: string;
27
+ }
28
+ }
@@ -1,7 +1,7 @@
1
- export interface UserHackGenerationOptions {
2
- toneOfVoice?: string;
3
- takeawaysToEmphasise?: string;
4
- hintsForInsights?: string;
5
- createActionsForInsights: boolean;
6
- useB2CSegmentLimits: boolean;
7
- }
1
+ export interface UserHackGenerationOptions {
2
+ toneOfVoice?: string;
3
+ takeawaysToEmphasise?: string;
4
+ hintsForInsights?: string;
5
+ createActionsForInsights: boolean;
6
+ useB2CSegmentLimits: boolean;
7
+ }
@@ -1,16 +1,16 @@
1
-
2
- // todo LearnUponApiEnrollment.modules may not be available when searching for a users enrollments
3
-
4
- export interface APITraining {
5
- id: string; // from LearnUponApiEnrollment.course_id | LearnUponWebhookCourseUpdate.courseId | LearnUponApiCourse.id
6
- title: string; // from LearnUponApiCourse.name | LearnUponApiEnrollment.course_name | LearnUponWebhookCourseUpdate.courseName
7
- dueDate: string; // from LearnUponWebhookEnrollment.dueDate | LearnUponApiEnrollment.due_date
8
- completedModulesCount: number; // from LearnUponApiEnrollment.percentage_complete | LearnUponApiEnrollment.modules LearnUponWebhookModuleComplete
9
- totalModulesCount: number; // from LearnUponApiEnrollment.modules | LearnUponApiCourse.number_of_modules | LearnUponWebhookCourseUpdate.modules
10
- coverUrl: string; // from LearnUponApiCourse.thumbnail_image_url | LearnUponWebhookCourseUpdate.thumbnailImageUrl
11
- isStarted?: boolean; // from LearnUponApiEnrollment.date_started | ModuleComplete webhook (assuming is started is 1 or more modules complete)
12
- isCertificate?: boolean; // from LearnUponApiEnrollment.certificate_name or LearnUponWebhookCourseUpdate.certificate . Not LearnUponApiCourse ??
13
-
14
- // not looking at this for now
15
- isLiveSession?: boolean;
1
+
2
+ // todo LearnUponApiEnrollment.modules may not be available when searching for a users enrollments
3
+
4
+ export interface APITraining {
5
+ id: string; // from LearnUponApiEnrollment.course_id | LearnUponWebhookCourseUpdate.courseId | LearnUponApiCourse.id
6
+ title: string; // from LearnUponApiCourse.name | LearnUponApiEnrollment.course_name | LearnUponWebhookCourseUpdate.courseName
7
+ dueDate: string; // from LearnUponWebhookEnrollment.dueDate | LearnUponApiEnrollment.due_date
8
+ completedModulesCount: number; // from LearnUponApiEnrollment.percentage_complete | LearnUponApiEnrollment.modules LearnUponWebhookModuleComplete
9
+ totalModulesCount: number; // from LearnUponApiEnrollment.modules | LearnUponApiCourse.number_of_modules | LearnUponWebhookCourseUpdate.modules
10
+ coverUrl: string; // from LearnUponApiCourse.thumbnail_image_url | LearnUponWebhookCourseUpdate.thumbnailImageUrl
11
+ isStarted?: boolean; // from LearnUponApiEnrollment.date_started | ModuleComplete webhook (assuming is started is 1 or more modules complete)
12
+ isCertificate?: boolean; // from LearnUponApiEnrollment.certificate_name or LearnUponWebhookCourseUpdate.certificate . Not LearnUponApiCourse ??
13
+
14
+ // not looking at this for now
15
+ isLiveSession?: boolean;
16
16
  }
@@ -1,54 +1,54 @@
1
- /**
2
- * LearnUpon course representation https://docs.learnupon.com/api/#courses
3
- * TODO - many of these fields may be optional
4
- */
5
- export interface LearnUponApiCourse {
6
- id: number; /** Unique numeric identifier for the course */
7
- name: string; /** The title of the course */
8
- version: number; /** The version of the course */
9
- source_id: number; /** The source course_id for a course. When you update a course (re-version a course) the source id does not change This ID groups courses together that stem from the same root course in their version tree */
10
- created_at: string; /** Date/time when the course was created, in UTC format */
11
- sellable: boolean; /** If set to true, indicates the course is published to the store: default is false. */
12
- cataloged: boolean; /** If set to true, indicates if the course is published to the catalog: default is false */
13
- date_published: string; /** Date/time when the course was published, in UTC format */
14
- keywords: string; /** Keywords you provide, to help users find your course in the catalog or the store */
15
- reference_code: string; /** A customer reference code, to help you find your courses in the library in search, and use in reports: not generated by LearnUpon */
16
- manager_can_enroll: boolean; /** If set to true, indicates the manager can enroll their group members on this course: default is false */
17
- allow_users_rate_course: boolean; /** If set to (default)true, indicates learners can rate this course */
18
- number_of_reviews: number; /** Number of reviews/ratings recorded for this course: use in combination with number_of_stars to calculate an average rating */
19
- number_of_stars: number; /** Number of stars awarded to the course: use in combination with number_of_reviews to calculate an average rating */
20
- minute_length: number; /** The course length, if specified, that appears in your store or catalog */
21
- course_length_unit: string; /** The length unit for your course: hours or minutes */
22
- num_enrolled: number; /** Number of learners currently enrolled */
23
- num_not_started: number; /** Number of learners who have not started the course */
24
- num_in_progress: number; /** Number of learners who are currently in progress */
25
- num_completed: number; /** Number of learners who have completed the course */
26
- num_passed: number; /** Number of learners who have passed the course */
27
- num_failed: number; /** Number of learners who have failed the course */
28
- num_pending_review: number; /** Number of learners who have submitted all of their assignments for their course */
29
- number_of_modules: number; /** Number of modules in this course */
30
- price: number; /** Price in cents for your course */
31
- published_status_id: string; /** The current published status of the course: one of published, draft, archived or under_revision */
32
- difficulty_level: string; /** The difficulty level set on your course: one of not_applicable, basic, intermediate or advanced */
33
- description_html: string; /** Course description, with full HTML markup */
34
- description_text: string; /** Course description, raw text */
35
- objectives_html: string; /** Course objectives, with full HTML markup */
36
- objectives_text: string; /** Course objectives, raw text */
37
- credits_to_be_awarded: string; /** Comma-separated list of credits the learner earns by completing or passing the course. Example: "CEU:2.00,CPE:3.00" */
38
- due_days_after_enrollment: number; /** The number of days after enrollment, when the learner is due to complete the course */
39
- due_date_after_enrollment: string; /** The date/time, when this course is due for completion, in UTC format */
40
- send_due_date_reminders: boolean; /** If set to true, indicates that due date reminders are enabled on this course: default is false */
41
- due_date_reminder_days: number; /** For the first reminder LearnUpon sends: number of days before the course is due for completion */
42
- due_date_reminder_days_2: number; /** For the second reminder LearnUpon sends: number of days before the course is due for completion */
43
- thumbnail_image_url: string; /** Public URL of the course thumbnail image: returns null if the course has no thumbnail */
44
- license_expires: string; /** Licensed course only: the date/time the course license expires, in UTC format, returns null if the license is open ended */
45
- license_number_enrollments_purchased: number; /** Licensed course only: the number of enrollments purchased for the license, returns null if the license is unlimited */
46
- license_is_open_ended: boolean; /** Licensed course only: indicates if the license is open ended (never expires), default is false */
47
- license_has_unlimited_enrollments: boolean; /** Licensed course only: indicates if the license has an unlimited number of enrollments available, default is false */
48
- owner_first_name: string; /** The first name of the course owner */
49
- owner_last_name: string; /** The last name of the course owner */
50
- owner_email: string; /** The email address of the course owner */
51
- owner_id: number; /** Unique numeric identifier for the course owner: portal administrator, or instructor with course creation privileges */
52
- learning_awards: any; /** Gamification only: requires query by course_id, and contains gamification related data */
53
- customDataFieldValues /** An object containing the list of custom data field definitions. Returned only when the portal admin has defined custom course data fields */
1
+ /**
2
+ * LearnUpon course representation https://docs.learnupon.com/api/#courses
3
+ * TODO - many of these fields may be optional
4
+ */
5
+ export interface LearnUponApiCourse {
6
+ id: number; /** Unique numeric identifier for the course */
7
+ name: string; /** The title of the course */
8
+ version: number; /** The version of the course */
9
+ source_id: number; /** The source course_id for a course. When you update a course (re-version a course) the source id does not change This ID groups courses together that stem from the same root course in their version tree */
10
+ created_at: string; /** Date/time when the course was created, in UTC format */
11
+ sellable: boolean; /** If set to true, indicates the course is published to the store: default is false. */
12
+ cataloged: boolean; /** If set to true, indicates if the course is published to the catalog: default is false */
13
+ date_published: string; /** Date/time when the course was published, in UTC format */
14
+ keywords: string; /** Keywords you provide, to help users find your course in the catalog or the store */
15
+ reference_code: string; /** A customer reference code, to help you find your courses in the library in search, and use in reports: not generated by LearnUpon */
16
+ manager_can_enroll: boolean; /** If set to true, indicates the manager can enroll their group members on this course: default is false */
17
+ allow_users_rate_course: boolean; /** If set to (default)true, indicates learners can rate this course */
18
+ number_of_reviews: number; /** Number of reviews/ratings recorded for this course: use in combination with number_of_stars to calculate an average rating */
19
+ number_of_stars: number; /** Number of stars awarded to the course: use in combination with number_of_reviews to calculate an average rating */
20
+ minute_length: number; /** The course length, if specified, that appears in your store or catalog */
21
+ course_length_unit: string; /** The length unit for your course: hours or minutes */
22
+ num_enrolled: number; /** Number of learners currently enrolled */
23
+ num_not_started: number; /** Number of learners who have not started the course */
24
+ num_in_progress: number; /** Number of learners who are currently in progress */
25
+ num_completed: number; /** Number of learners who have completed the course */
26
+ num_passed: number; /** Number of learners who have passed the course */
27
+ num_failed: number; /** Number of learners who have failed the course */
28
+ num_pending_review: number; /** Number of learners who have submitted all of their assignments for their course */
29
+ number_of_modules: number; /** Number of modules in this course */
30
+ price: number; /** Price in cents for your course */
31
+ published_status_id: string; /** The current published status of the course: one of published, draft, archived or under_revision */
32
+ difficulty_level: string; /** The difficulty level set on your course: one of not_applicable, basic, intermediate or advanced */
33
+ description_html: string; /** Course description, with full HTML markup */
34
+ description_text: string; /** Course description, raw text */
35
+ objectives_html: string; /** Course objectives, with full HTML markup */
36
+ objectives_text: string; /** Course objectives, raw text */
37
+ credits_to_be_awarded: string; /** Comma-separated list of credits the learner earns by completing or passing the course. Example: "CEU:2.00,CPE:3.00" */
38
+ due_days_after_enrollment: number; /** The number of days after enrollment, when the learner is due to complete the course */
39
+ due_date_after_enrollment: string; /** The date/time, when this course is due for completion, in UTC format */
40
+ send_due_date_reminders: boolean; /** If set to true, indicates that due date reminders are enabled on this course: default is false */
41
+ due_date_reminder_days: number; /** For the first reminder LearnUpon sends: number of days before the course is due for completion */
42
+ due_date_reminder_days_2: number; /** For the second reminder LearnUpon sends: number of days before the course is due for completion */
43
+ thumbnail_image_url: string; /** Public URL of the course thumbnail image: returns null if the course has no thumbnail */
44
+ license_expires: string; /** Licensed course only: the date/time the course license expires, in UTC format, returns null if the license is open ended */
45
+ license_number_enrollments_purchased: number; /** Licensed course only: the number of enrollments purchased for the license, returns null if the license is unlimited */
46
+ license_is_open_ended: boolean; /** Licensed course only: indicates if the license is open ended (never expires), default is false */
47
+ license_has_unlimited_enrollments: boolean; /** Licensed course only: indicates if the license has an unlimited number of enrollments available, default is false */
48
+ owner_first_name: string; /** The first name of the course owner */
49
+ owner_last_name: string; /** The last name of the course owner */
50
+ owner_email: string; /** The email address of the course owner */
51
+ owner_id: number; /** Unique numeric identifier for the course owner: portal administrator, or instructor with course creation privileges */
52
+ learning_awards: any; /** Gamification only: requires query by course_id, and contains gamification related data */
53
+ customDataFieldValues /** An object containing the list of custom data field definitions. Returned only when the portal admin has defined custom course data fields */
54
54
  }