@uptime.app/contracts 2.0.7-rc.0 → 2.0.7

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 (131) hide show
  1. package/dist/cjs/knowledge-source-parsing/knowledge-source-metadata.d.ts +0 -1
  2. package/dist/cjs/knowledge-source-parsing/knowledge-source-metadata.d.ts.map +1 -1
  3. package/dist/cjs/user/get-user.d.ts +5 -0
  4. package/dist/cjs/user/get-user.d.ts.map +1 -1
  5. package/dist/esm/knowledge-source-parsing/knowledge-source-metadata.d.ts +0 -1
  6. package/dist/esm/knowledge-source-parsing/knowledge-source-metadata.d.ts.map +1 -1
  7. package/dist/esm/user/get-user.d.ts +5 -0
  8. package/dist/esm/user/get-user.d.ts.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 +29 -29
  12. package/src/app-hack/app-full-hack.ts +9 -9
  13. package/src/app-hack/app-hack-metadata.ts +60 -60
  14. package/src/app-hack/app-restricted-hack.ts +22 -22
  15. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  16. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  17. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  18. package/src/b2b-organisation/b2b-organisation-invitation.ts +35 -35
  19. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  20. package/src/b2b-organisation/b2b-organisation-member.ts +10 -10
  21. package/src/b2b-organisation/b2b-organisation.ts +32 -32
  22. package/src/brand/brand-events.ts +21 -21
  23. package/src/brand/brand.ts +26 -26
  24. package/src/catalogue/catalogue.ts +149 -149
  25. package/src/cms-hack/cms-searchable-hack.ts +44 -44
  26. package/src/collection/collection-events.ts +21 -21
  27. package/src/collection/collection.ts +57 -57
  28. package/src/collection/enriched-collection-events.ts +18 -18
  29. package/src/collection/enriched-collection.ts +64 -64
  30. package/src/creator/creator-events.ts +32 -32
  31. package/src/creator/creator.ts +7 -7
  32. package/src/distribution/collection-distribution.ts +17 -17
  33. package/src/distribution/distribution-events.ts +61 -61
  34. package/src/distribution/hack-distribution.ts +18 -18
  35. package/src/draft-hack/draft-hack-events.ts +21 -21
  36. package/src/draft-hack/draft-hack.ts +189 -189
  37. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  38. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  39. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  40. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  41. package/src/enriched-hack/enriched-hack.ts +103 -103
  42. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  43. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  44. package/src/entitlement/user-entitlements-commands.ts +54 -54
  45. package/src/entitlement/user-entitlements-events.ts +29 -29
  46. package/src/entitlement/user-entitlements.ts +18 -18
  47. package/src/flashcard/flashcard-events.ts +85 -85
  48. package/src/flashcard/flashcard.ts +138 -138
  49. package/src/hack/extracted-subject.ts +31 -31
  50. package/src/hack/hack-events.ts +21 -21
  51. package/src/hack/hack-published.ts +21 -21
  52. package/src/hack/hack-with-voice-events.ts +20 -20
  53. package/src/hack/hack-with-voice.ts +33 -33
  54. package/src/hack/hack.ts +116 -116
  55. package/src/hack/publish-hack-command.ts +20 -20
  56. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  57. package/src/hack-metadata/hack-metadata.ts +17 -17
  58. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  59. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  60. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  61. package/src/hack-statistics/hack-statistics.ts +9 -9
  62. package/src/hackbot/hack-generation-commands.ts +42 -42
  63. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  64. package/src/hackbot/hack-generation-trigger.ts +54 -54
  65. package/src/history/history-events.ts +21 -21
  66. package/src/history/history.ts +46 -46
  67. package/src/index.ts +165 -165
  68. package/src/interest/interest-events.ts +21 -21
  69. package/src/interest/interest.ts +15 -15
  70. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  71. package/src/knowledge-source/knowledge-source.ts +43 -43
  72. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +40 -42
  73. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  74. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  75. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  76. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  77. package/src/knowledge-source-parsing/user-hack-generation-options.ts +6 -6
  78. package/src/localisation/live-locales.ts +45 -45
  79. package/src/localisation/locale-language.ts +4 -4
  80. package/src/localisation/supported-languages.ts +11 -11
  81. package/src/localisation/supported-locales.ts +67 -67
  82. package/src/message-bus/Context.ts +7 -7
  83. package/src/moderation/hack-moderation-result-events.ts +18 -18
  84. package/src/moderation/hack-moderation-result.ts +27 -27
  85. package/src/partner/partner-events.ts +21 -21
  86. package/src/partner/partner.ts +7 -7
  87. package/src/pending-hack/pending-hack-events.ts +20 -20
  88. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  89. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  90. package/src/pending-hack/pending-hack.ts +77 -77
  91. package/src/preferences/preferences-events.ts +15 -15
  92. package/src/preferences/preferences.ts +35 -35
  93. package/src/profile/profile-events.ts +41 -41
  94. package/src/profile/profile.ts +28 -28
  95. package/src/profile/translated-profile.ts +13 -13
  96. package/src/referral/referral-events.ts +41 -41
  97. package/src/referral/referral.ts +76 -76
  98. package/src/saved/saved-collection-events.ts +19 -19
  99. package/src/saved/saved-collection.ts +8 -8
  100. package/src/segment/segment-commands.ts +75 -75
  101. package/src/segment/segment-events.ts +42 -42
  102. package/src/segment/segment-with-voice.ts +8 -8
  103. package/src/segment/segment.ts +82 -82
  104. package/src/skin/skin-events.ts +21 -21
  105. package/src/skin/skin.ts +6 -6
  106. package/src/spark/spark-board-read-model.ts +17 -17
  107. package/src/spark/spark-board.ts +12 -12
  108. package/src/spark/spark-events.ts +42 -42
  109. package/src/spark/spark.ts +80 -80
  110. package/src/text-to-speech/create-speech-commands.ts +22 -22
  111. package/src/text-to-speech/speech-created-events.ts +10 -10
  112. package/src/text-to-speech/supported-voices.ts +184 -184
  113. package/src/text-to-speech/text-segment.ts +29 -29
  114. package/src/theme/theme-events.ts +21 -21
  115. package/src/theme/theme.ts +68 -68
  116. package/src/translation/translation-events.ts +73 -73
  117. package/src/translation/translation.ts +25 -25
  118. package/src/trending/trending-events.ts +21 -21
  119. package/src/trending/trending-hacks.ts +8 -8
  120. package/src/user/get-user.ts +30 -24
  121. package/src/user/user-events.ts +26 -26
  122. package/src/user-context/user-context-events.ts +21 -21
  123. package/src/user-context/user-context.ts +15 -15
  124. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  125. package/src/user-notification-context/user-notification-context.ts +9 -9
  126. package/src/user-statistics/user-statistics-events.ts +97 -97
  127. package/src/user-statistics/user-statistics.ts +82 -82
  128. package/src/video-cropping/video-cropping-events.ts +43 -43
  129. package/src/video-cropping/video-metadata.ts +12 -12
  130. package/tsconfig.cjs.json +7 -7
  131. package/tsconfig.npm.json +21 -21
@@ -1,21 +1,21 @@
1
- import { UserInterests } from './interest';
2
-
3
- export interface UserInterestsCreatedEvent {
4
- id: string;
5
- type: 'UserInterestsCreated';
6
- payload: UserInterests;
7
- }
8
-
9
- export interface UserInterestsUpdatedEvent {
10
- id: string;
11
- type: 'UserInterestsUpdated';
12
- payload: UserInterests;
13
- }
14
-
15
- export interface UserInterestsDeletedEvent {
16
- id: string;
17
- type: 'UserInterestsDeleted';
18
- payload: UserInterests;
19
- }
20
-
21
- export type UserInterestsChangedEvent = UserInterestsCreatedEvent | UserInterestsUpdatedEvent | UserInterestsUpdatedEvent;
1
+ import { UserInterests } from './interest';
2
+
3
+ export interface UserInterestsCreatedEvent {
4
+ id: string;
5
+ type: 'UserInterestsCreated';
6
+ payload: UserInterests;
7
+ }
8
+
9
+ export interface UserInterestsUpdatedEvent {
10
+ id: string;
11
+ type: 'UserInterestsUpdated';
12
+ payload: UserInterests;
13
+ }
14
+
15
+ export interface UserInterestsDeletedEvent {
16
+ id: string;
17
+ type: 'UserInterestsDeleted';
18
+ payload: UserInterests;
19
+ }
20
+
21
+ export type UserInterestsChangedEvent = UserInterestsCreatedEvent | UserInterestsUpdatedEvent | UserInterestsUpdatedEvent;
@@ -1,15 +1,15 @@
1
- export interface Interest {
2
- /** the name of the thing they are interested in e.g. Health & Fitness */
3
- name: string;
4
- /** the type of the thing they are interested in e.g. a topic or a category */
5
- type: string;
6
- }
7
-
8
- export interface UserInterests {
9
- id: string;
10
- userId: string;
11
- interests: Interest[];
12
- createdAt: string;
13
- updatedAt: string;
14
- v: number;
15
- }
1
+ export interface Interest {
2
+ /** the name of the thing they are interested in e.g. Health & Fitness */
3
+ name: string;
4
+ /** the type of the thing they are interested in e.g. a topic or a category */
5
+ type: string;
6
+ }
7
+
8
+ export interface UserInterests {
9
+ id: string;
10
+ userId: string;
11
+ interests: Interest[];
12
+ createdAt: string;
13
+ updatedAt: string;
14
+ v: number;
15
+ }
@@ -1,21 +1,21 @@
1
- import { KnowledgeSource } from './knowledge-source';
2
-
3
- export interface KnowledgeSourceCreatedEvent {
4
- id: string;
5
- type: 'KnowledgeSourceCreated';
6
- payload: KnowledgeSource;
7
- }
8
-
9
- export interface KnowledgeSourceUpdatedEvent {
10
- id: string;
11
- type: 'KnowledgeSourceUpdated';
12
- payload: KnowledgeSource;
13
- }
14
-
15
- export interface KnowledgeSourceDeletedEvent {
16
- id: string;
17
- type: 'KnowledgeSourceDeleted';
18
- payload: KnowledgeSource;
19
- }
20
-
21
- export type KnowledgeSourceChangedEvent = KnowledgeSourceCreatedEvent | KnowledgeSourceUpdatedEvent | KnowledgeSourceDeletedEvent;
1
+ import { KnowledgeSource } from './knowledge-source';
2
+
3
+ export interface KnowledgeSourceCreatedEvent {
4
+ id: string;
5
+ type: 'KnowledgeSourceCreated';
6
+ payload: KnowledgeSource;
7
+ }
8
+
9
+ export interface KnowledgeSourceUpdatedEvent {
10
+ id: string;
11
+ type: 'KnowledgeSourceUpdated';
12
+ payload: KnowledgeSource;
13
+ }
14
+
15
+ export interface KnowledgeSourceDeletedEvent {
16
+ id: string;
17
+ type: 'KnowledgeSourceDeleted';
18
+ payload: KnowledgeSource;
19
+ }
20
+
21
+ export type KnowledgeSourceChangedEvent = KnowledgeSourceCreatedEvent | KnowledgeSourceUpdatedEvent | KnowledgeSourceDeletedEvent;
@@ -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,42 +1,40 @@
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
- tablesS3Path: string;
22
- }
23
-
24
- export interface KnowledgeSourceQuote {
25
- content: string;
26
- authors: string;
27
- }
28
-
29
- export interface KnowledgeSourceUserDefinedMetadata {
30
- title: string;
31
- contributors: string;
32
- type: string;
33
- }
34
-
35
- // created for gpt3-playground to be able to parse the metadata from hack generations triggered via slack
36
- export interface SlackDefinedMetadata {
37
- title: string;
38
- contributors: string;
39
- type: string;
40
- hintsForInsights: string;
41
- createActionsForInsights: boolean;
42
- }
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
+
22
+ export interface KnowledgeSourceQuote {
23
+ content: string;
24
+ authors: string;
25
+ }
26
+
27
+ export interface KnowledgeSourceUserDefinedMetadata {
28
+ title: string;
29
+ contributors: string;
30
+ type: string;
31
+ }
32
+
33
+ // created for gpt3-playground to be able to parse the metadata from hack generations triggered via slack
34
+ export interface SlackDefinedMetadata {
35
+ title: string;
36
+ contributors: string;
37
+ type: string;
38
+ hintsForInsights: string;
39
+ createActionsForInsights: boolean;
40
+ }
@@ -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,6 +1,6 @@
1
- export interface UserHackGenerationOptions {
2
- toneOfVoice?: string;
3
- takeawaysToEmphasise?: string;
4
- hintsForInsights?: string;
5
- createActionsForInsights: boolean;
6
- }
1
+ export interface UserHackGenerationOptions {
2
+ toneOfVoice?: string;
3
+ takeawaysToEmphasise?: string;
4
+ hintsForInsights?: string;
5
+ createActionsForInsights: boolean;
6
+ }