@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.
- package/dist/cjs/knowledge-source-parsing/knowledge-source-metadata.d.ts +0 -1
- package/dist/cjs/knowledge-source-parsing/knowledge-source-metadata.d.ts.map +1 -1
- package/dist/cjs/user/get-user.d.ts +5 -0
- package/dist/cjs/user/get-user.d.ts.map +1 -1
- package/dist/esm/knowledge-source-parsing/knowledge-source-metadata.d.ts +0 -1
- package/dist/esm/knowledge-source-parsing/knowledge-source-metadata.d.ts.map +1 -1
- package/dist/esm/user/get-user.d.ts +5 -0
- package/dist/esm/user/get-user.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/access-control/collection-access-control.ts +28 -28
- package/src/access-control/hack-access-control.ts +29 -29
- package/src/app-hack/app-full-hack.ts +9 -9
- package/src/app-hack/app-hack-metadata.ts +60 -60
- package/src/app-hack/app-restricted-hack.ts +22 -22
- package/src/b2b-content-access/b2b-content-access.ts +57 -57
- package/src/b2b-organisation/b2b-carousel.ts +33 -33
- package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
- package/src/b2b-organisation/b2b-organisation-invitation.ts +35 -35
- package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
- package/src/b2b-organisation/b2b-organisation-member.ts +10 -10
- package/src/b2b-organisation/b2b-organisation.ts +32 -32
- package/src/brand/brand-events.ts +21 -21
- package/src/brand/brand.ts +26 -26
- package/src/catalogue/catalogue.ts +149 -149
- package/src/cms-hack/cms-searchable-hack.ts +44 -44
- package/src/collection/collection-events.ts +21 -21
- package/src/collection/collection.ts +57 -57
- package/src/collection/enriched-collection-events.ts +18 -18
- package/src/collection/enriched-collection.ts +64 -64
- package/src/creator/creator-events.ts +32 -32
- package/src/creator/creator.ts +7 -7
- package/src/distribution/collection-distribution.ts +17 -17
- package/src/distribution/distribution-events.ts +61 -61
- package/src/distribution/hack-distribution.ts +18 -18
- package/src/draft-hack/draft-hack-events.ts +21 -21
- package/src/draft-hack/draft-hack.ts +189 -189
- package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
- package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
- package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
- package/src/enriched-hack/enriched-hack-events.ts +21 -21
- package/src/enriched-hack/enriched-hack.ts +103 -103
- package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
- package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
- package/src/entitlement/user-entitlements-commands.ts +54 -54
- package/src/entitlement/user-entitlements-events.ts +29 -29
- package/src/entitlement/user-entitlements.ts +18 -18
- package/src/flashcard/flashcard-events.ts +85 -85
- package/src/flashcard/flashcard.ts +138 -138
- package/src/hack/extracted-subject.ts +31 -31
- package/src/hack/hack-events.ts +21 -21
- package/src/hack/hack-published.ts +21 -21
- package/src/hack/hack-with-voice-events.ts +20 -20
- package/src/hack/hack-with-voice.ts +33 -33
- package/src/hack/hack.ts +116 -116
- package/src/hack/publish-hack-command.ts +20 -20
- package/src/hack-metadata/hack-metadata-events.ts +21 -21
- package/src/hack-metadata/hack-metadata.ts +17 -17
- package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
- package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
- package/src/hack-statistics/hack-statistics-events.ts +21 -21
- package/src/hack-statistics/hack-statistics.ts +9 -9
- package/src/hackbot/hack-generation-commands.ts +42 -42
- package/src/hackbot/hack-generation-trigger-events.ts +21 -21
- package/src/hackbot/hack-generation-trigger.ts +54 -54
- package/src/history/history-events.ts +21 -21
- package/src/history/history.ts +46 -46
- package/src/index.ts +165 -165
- package/src/interest/interest-events.ts +21 -21
- package/src/interest/interest.ts +15 -15
- package/src/knowledge-source/knowledge-source-events.ts +21 -21
- package/src/knowledge-source/knowledge-source.ts +43 -43
- package/src/knowledge-source-parsing/knowledge-source-metadata.ts +40 -42
- package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
- package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
- package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
- package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
- package/src/knowledge-source-parsing/user-hack-generation-options.ts +6 -6
- package/src/localisation/live-locales.ts +45 -45
- package/src/localisation/locale-language.ts +4 -4
- package/src/localisation/supported-languages.ts +11 -11
- package/src/localisation/supported-locales.ts +67 -67
- package/src/message-bus/Context.ts +7 -7
- package/src/moderation/hack-moderation-result-events.ts +18 -18
- package/src/moderation/hack-moderation-result.ts +27 -27
- package/src/partner/partner-events.ts +21 -21
- package/src/partner/partner.ts +7 -7
- package/src/pending-hack/pending-hack-events.ts +20 -20
- package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
- package/src/pending-hack/pending-hack-with-voice.ts +25 -25
- package/src/pending-hack/pending-hack.ts +77 -77
- package/src/preferences/preferences-events.ts +15 -15
- package/src/preferences/preferences.ts +35 -35
- package/src/profile/profile-events.ts +41 -41
- package/src/profile/profile.ts +28 -28
- package/src/profile/translated-profile.ts +13 -13
- package/src/referral/referral-events.ts +41 -41
- package/src/referral/referral.ts +76 -76
- package/src/saved/saved-collection-events.ts +19 -19
- package/src/saved/saved-collection.ts +8 -8
- package/src/segment/segment-commands.ts +75 -75
- package/src/segment/segment-events.ts +42 -42
- package/src/segment/segment-with-voice.ts +8 -8
- package/src/segment/segment.ts +82 -82
- package/src/skin/skin-events.ts +21 -21
- package/src/skin/skin.ts +6 -6
- package/src/spark/spark-board-read-model.ts +17 -17
- package/src/spark/spark-board.ts +12 -12
- package/src/spark/spark-events.ts +42 -42
- package/src/spark/spark.ts +80 -80
- package/src/text-to-speech/create-speech-commands.ts +22 -22
- package/src/text-to-speech/speech-created-events.ts +10 -10
- package/src/text-to-speech/supported-voices.ts +184 -184
- package/src/text-to-speech/text-segment.ts +29 -29
- package/src/theme/theme-events.ts +21 -21
- package/src/theme/theme.ts +68 -68
- package/src/translation/translation-events.ts +73 -73
- package/src/translation/translation.ts +25 -25
- package/src/trending/trending-events.ts +21 -21
- package/src/trending/trending-hacks.ts +8 -8
- package/src/user/get-user.ts +30 -24
- package/src/user/user-events.ts +26 -26
- package/src/user-context/user-context-events.ts +21 -21
- package/src/user-context/user-context.ts +15 -15
- package/src/user-notification-context/user-notification-context-events.ts +21 -21
- package/src/user-notification-context/user-notification-context.ts +9 -9
- package/src/user-statistics/user-statistics-events.ts +97 -97
- package/src/user-statistics/user-statistics.ts +82 -82
- package/src/video-cropping/video-cropping-events.ts +43 -43
- package/src/video-cropping/video-metadata.ts +12 -12
- package/tsconfig.cjs.json +7 -7
- package/tsconfig.npm.json +21 -21
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { SavedCollection } from './saved-collection';
|
|
2
|
-
|
|
3
|
-
export interface SavedCollectionCreatedEvent {
|
|
4
|
-
id: string;
|
|
5
|
-
type: 'SavedCollectionCreated';
|
|
6
|
-
payload: SavedCollection;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface SavedCollectionUpdatedEvent {
|
|
10
|
-
id: string;
|
|
11
|
-
type: 'SavedCollectionUpdated';
|
|
12
|
-
payload: SavedCollection;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface SavedCollectionDeletedEvent {
|
|
16
|
-
id: string;
|
|
17
|
-
type: 'SavedCollectionDeleted';
|
|
18
|
-
payload: SavedCollection;
|
|
19
|
-
}
|
|
1
|
+
import { SavedCollection } from './saved-collection';
|
|
2
|
+
|
|
3
|
+
export interface SavedCollectionCreatedEvent {
|
|
4
|
+
id: string;
|
|
5
|
+
type: 'SavedCollectionCreated';
|
|
6
|
+
payload: SavedCollection;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface SavedCollectionUpdatedEvent {
|
|
10
|
+
id: string;
|
|
11
|
+
type: 'SavedCollectionUpdated';
|
|
12
|
+
payload: SavedCollection;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface SavedCollectionDeletedEvent {
|
|
16
|
+
id: string;
|
|
17
|
+
type: 'SavedCollectionDeleted';
|
|
18
|
+
payload: SavedCollection;
|
|
19
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export interface SavedCollection {
|
|
2
|
-
id: string;
|
|
3
|
-
v: number;
|
|
4
|
-
createdAt: string;
|
|
5
|
-
updatedAt: string;
|
|
6
|
-
userId: string;
|
|
7
|
-
collectionId: string;
|
|
8
|
-
}
|
|
1
|
+
export interface SavedCollection {
|
|
2
|
+
id: string;
|
|
3
|
+
v: number;
|
|
4
|
+
createdAt: string;
|
|
5
|
+
updatedAt: string;
|
|
6
|
+
userId: string;
|
|
7
|
+
collectionId: string;
|
|
8
|
+
}
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
import { SupportedLocale } from '../localisation/supported-locales';
|
|
2
|
-
import { SegmentType } from './segment';
|
|
3
|
-
|
|
4
|
-
export interface StandaloneSegmentCard {
|
|
5
|
-
markdown: string;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export interface StandaloneSegmentAction {
|
|
9
|
-
title: string;
|
|
10
|
-
cards: StandaloneSegmentCard[];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface StandaloneSegmentSection {
|
|
14
|
-
heading?: string;
|
|
15
|
-
cards: StandaloneSegmentCard[];
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface CommandSegment {
|
|
19
|
-
type: SegmentType;
|
|
20
|
-
// @deprecated use hackTitle, hackType and hackContributors
|
|
21
|
-
source?: {
|
|
22
|
-
id: string;
|
|
23
|
-
type: string;
|
|
24
|
-
contributors: {
|
|
25
|
-
name: string;
|
|
26
|
-
}[];
|
|
27
|
-
title: string;
|
|
28
|
-
};
|
|
29
|
-
hackCoverUrl?: string;
|
|
30
|
-
hackId: string;
|
|
31
|
-
hackTitle: string;
|
|
32
|
-
hackType: 'book' | 'course' | 'documentary' | 'podcast' | 'original';
|
|
33
|
-
hackContributors: {
|
|
34
|
-
name: string;
|
|
35
|
-
}[];
|
|
36
|
-
locale: SupportedLocale;
|
|
37
|
-
}
|
|
38
|
-
export interface StandaloneSegment extends CommandSegment {
|
|
39
|
-
title?: string;
|
|
40
|
-
keywords?: string[];
|
|
41
|
-
sections: StandaloneSegmentSection[];
|
|
42
|
-
actions?: StandaloneSegmentAction[];
|
|
43
|
-
textSummary?: string;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export interface CompositeSegment extends CommandSegment {
|
|
47
|
-
subSegments: StandaloneSegment[];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export interface CreateSegmentCommand {
|
|
51
|
-
id: string;
|
|
52
|
-
type: 'CreateSegment';
|
|
53
|
-
payload: (CompositeSegment | StandaloneSegment) & {
|
|
54
|
-
/** if no voice ids are specified then all voices are generated */
|
|
55
|
-
voiceIds?: string[];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface UpdateSegmentCommand {
|
|
60
|
-
id: string;
|
|
61
|
-
type: 'UpdateSegment';
|
|
62
|
-
payload: (CompositeSegment | StandaloneSegment) & {
|
|
63
|
-
segmentId: string;
|
|
64
|
-
/** if no voice ids are specified then all voices are generated */
|
|
65
|
-
voiceIds?: string[];
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export interface DeleteSegmentCommand {
|
|
70
|
-
id: string;
|
|
71
|
-
type: 'DeleteSegment';
|
|
72
|
-
payload: {
|
|
73
|
-
segmentId: string;
|
|
74
|
-
};
|
|
75
|
-
}
|
|
1
|
+
import { SupportedLocale } from '../localisation/supported-locales';
|
|
2
|
+
import { SegmentType } from './segment';
|
|
3
|
+
|
|
4
|
+
export interface StandaloneSegmentCard {
|
|
5
|
+
markdown: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface StandaloneSegmentAction {
|
|
9
|
+
title: string;
|
|
10
|
+
cards: StandaloneSegmentCard[];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface StandaloneSegmentSection {
|
|
14
|
+
heading?: string;
|
|
15
|
+
cards: StandaloneSegmentCard[];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface CommandSegment {
|
|
19
|
+
type: SegmentType;
|
|
20
|
+
// @deprecated use hackTitle, hackType and hackContributors
|
|
21
|
+
source?: {
|
|
22
|
+
id: string;
|
|
23
|
+
type: string;
|
|
24
|
+
contributors: {
|
|
25
|
+
name: string;
|
|
26
|
+
}[];
|
|
27
|
+
title: string;
|
|
28
|
+
};
|
|
29
|
+
hackCoverUrl?: string;
|
|
30
|
+
hackId: string;
|
|
31
|
+
hackTitle: string;
|
|
32
|
+
hackType: 'book' | 'course' | 'documentary' | 'podcast' | 'original';
|
|
33
|
+
hackContributors: {
|
|
34
|
+
name: string;
|
|
35
|
+
}[];
|
|
36
|
+
locale: SupportedLocale;
|
|
37
|
+
}
|
|
38
|
+
export interface StandaloneSegment extends CommandSegment {
|
|
39
|
+
title?: string;
|
|
40
|
+
keywords?: string[];
|
|
41
|
+
sections: StandaloneSegmentSection[];
|
|
42
|
+
actions?: StandaloneSegmentAction[];
|
|
43
|
+
textSummary?: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface CompositeSegment extends CommandSegment {
|
|
47
|
+
subSegments: StandaloneSegment[];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface CreateSegmentCommand {
|
|
51
|
+
id: string;
|
|
52
|
+
type: 'CreateSegment';
|
|
53
|
+
payload: (CompositeSegment | StandaloneSegment) & {
|
|
54
|
+
/** if no voice ids are specified then all voices are generated */
|
|
55
|
+
voiceIds?: string[];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface UpdateSegmentCommand {
|
|
60
|
+
id: string;
|
|
61
|
+
type: 'UpdateSegment';
|
|
62
|
+
payload: (CompositeSegment | StandaloneSegment) & {
|
|
63
|
+
segmentId: string;
|
|
64
|
+
/** if no voice ids are specified then all voices are generated */
|
|
65
|
+
voiceIds?: string[];
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface DeleteSegmentCommand {
|
|
70
|
+
id: string;
|
|
71
|
+
type: 'DeleteSegment';
|
|
72
|
+
payload: {
|
|
73
|
+
segmentId: string;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { Segment } from './segment';
|
|
2
|
-
import { SegmentWithVoice } from './segment-with-voice';
|
|
3
|
-
|
|
4
|
-
export interface SegmentCreatedEvent {
|
|
5
|
-
id: string;
|
|
6
|
-
type: 'SegmentCreated';
|
|
7
|
-
payload: Segment;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface SegmentUpdatedEvent {
|
|
11
|
-
id: string;
|
|
12
|
-
type: 'SegmentUpdated';
|
|
13
|
-
payload: Segment;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface SegmentDeletedEvent {
|
|
17
|
-
id: string;
|
|
18
|
-
type: 'SegmentDeleted';
|
|
19
|
-
payload: Segment;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export type SegmentChangedEvent = SegmentCreatedEvent | SegmentUpdatedEvent | SegmentDeletedEvent;
|
|
23
|
-
|
|
24
|
-
export interface SegmentWithVoiceCreatedEvent {
|
|
25
|
-
id: string;
|
|
26
|
-
type: 'SegmentWithVoiceCreated';
|
|
27
|
-
payload: SegmentWithVoice;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface SegmentWithVoiceUpdatedEvent {
|
|
31
|
-
id: string;
|
|
32
|
-
type: 'SegmentWithVoiceUpdated';
|
|
33
|
-
payload: SegmentWithVoice;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface SegmentWithVoiceDeletedEvent {
|
|
37
|
-
id: string;
|
|
38
|
-
type: 'SegmentWithVoiceDeleted';
|
|
39
|
-
payload: SegmentWithVoice;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export type SegmentWithVoiceChangedEvent = SegmentWithVoiceCreatedEvent | SegmentWithVoiceUpdatedEvent | SegmentWithVoiceDeletedEvent;
|
|
1
|
+
import { Segment } from './segment';
|
|
2
|
+
import { SegmentWithVoice } from './segment-with-voice';
|
|
3
|
+
|
|
4
|
+
export interface SegmentCreatedEvent {
|
|
5
|
+
id: string;
|
|
6
|
+
type: 'SegmentCreated';
|
|
7
|
+
payload: Segment;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface SegmentUpdatedEvent {
|
|
11
|
+
id: string;
|
|
12
|
+
type: 'SegmentUpdated';
|
|
13
|
+
payload: Segment;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface SegmentDeletedEvent {
|
|
17
|
+
id: string;
|
|
18
|
+
type: 'SegmentDeleted';
|
|
19
|
+
payload: Segment;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type SegmentChangedEvent = SegmentCreatedEvent | SegmentUpdatedEvent | SegmentDeletedEvent;
|
|
23
|
+
|
|
24
|
+
export interface SegmentWithVoiceCreatedEvent {
|
|
25
|
+
id: string;
|
|
26
|
+
type: 'SegmentWithVoiceCreated';
|
|
27
|
+
payload: SegmentWithVoice;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface SegmentWithVoiceUpdatedEvent {
|
|
31
|
+
id: string;
|
|
32
|
+
type: 'SegmentWithVoiceUpdated';
|
|
33
|
+
payload: SegmentWithVoice;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface SegmentWithVoiceDeletedEvent {
|
|
37
|
+
id: string;
|
|
38
|
+
type: 'SegmentWithVoiceDeleted';
|
|
39
|
+
payload: SegmentWithVoice;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export type SegmentWithVoiceChangedEvent = SegmentWithVoiceCreatedEvent | SegmentWithVoiceUpdatedEvent | SegmentWithVoiceDeletedEvent;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Segment } from './segment';
|
|
2
|
-
|
|
3
|
-
// a segment with audio in a single voice, because having all voices in one segment would make the entity very large
|
|
4
|
-
// the only difference is that it includes a voiceIdAndLanguage field, which can be used as a range key to find the segment for a specific voice
|
|
5
|
-
// segmentsWithVoice may point to default or non-default voices
|
|
6
|
-
export interface SegmentWithVoice extends Segment {
|
|
7
|
-
voiceIdAndLanguage: string;
|
|
8
|
-
}
|
|
1
|
+
import { Segment } from './segment';
|
|
2
|
+
|
|
3
|
+
// a segment with audio in a single voice, because having all voices in one segment would make the entity very large
|
|
4
|
+
// the only difference is that it includes a voiceIdAndLanguage field, which can be used as a range key to find the segment for a specific voice
|
|
5
|
+
// segmentsWithVoice may point to default or non-default voices
|
|
6
|
+
export interface SegmentWithVoice extends Segment {
|
|
7
|
+
voiceIdAndLanguage: string;
|
|
8
|
+
}
|
package/src/segment/segment.ts
CHANGED
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
export interface SegmentVoice {
|
|
2
|
-
id: string;
|
|
3
|
-
language: string;
|
|
4
|
-
name: string;
|
|
5
|
-
countryCode: string;
|
|
6
|
-
speechProvider: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface Segment {
|
|
10
|
-
id: string;
|
|
11
|
-
v: number;
|
|
12
|
-
createdAt: string;
|
|
13
|
-
updatedAt: string;
|
|
14
|
-
hackId: string;
|
|
15
|
-
type: SegmentType;
|
|
16
|
-
title: string;
|
|
17
|
-
sections: SegmentSection[];
|
|
18
|
-
keywords: string[];
|
|
19
|
-
actions: SegmentAction[];
|
|
20
|
-
speech: SegmentSpeech[];
|
|
21
|
-
textSummary?: string;
|
|
22
|
-
lastUpdatedFromPendingSegmentId?: string;
|
|
23
|
-
hackType: string;
|
|
24
|
-
/** use @uptime.app/text-to-speech-contracts */
|
|
25
|
-
locale: string;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export type SegmentType =
|
|
29
|
-
'overview' | 'favourite-quote' | 'in-a-nutshell' |
|
|
30
|
-
'introduction' | 'here-are-the-insights' |
|
|
31
|
-
'insight-one' | 'insight-two' | 'insight-three' |
|
|
32
|
-
'put-in-action' | 'conclusion' |
|
|
33
|
-
'shareable-overview' | 'download-app-to-see-more';
|
|
34
|
-
|
|
35
|
-
export type CardType = 'hack-cover' | 'action';
|
|
36
|
-
|
|
37
|
-
export interface SegmentAction {
|
|
38
|
-
title: string;
|
|
39
|
-
cards: SegmentTextCard[];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface SegmentTextCard {
|
|
43
|
-
id: string;
|
|
44
|
-
markdown: string;
|
|
45
|
-
segmentType: SegmentType;
|
|
46
|
-
cardType?: CardType;
|
|
47
|
-
isTitle?: boolean;
|
|
48
|
-
speech?: TextCardSpeech[];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface SegmentSection {
|
|
52
|
-
heading?: string;
|
|
53
|
-
cards: SegmentTextCard[];
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export interface SegmentSpeech {
|
|
57
|
-
voice: SegmentVoice;
|
|
58
|
-
withHeading: {
|
|
59
|
-
url: string;
|
|
60
|
-
lengthSeconds: number;
|
|
61
|
-
};
|
|
62
|
-
withoutHeading: {
|
|
63
|
-
url: string;
|
|
64
|
-
lengthSeconds: number;
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export interface TextCardSpeech {
|
|
69
|
-
voiceId: string;
|
|
70
|
-
withHeading: {
|
|
71
|
-
timestamps: {
|
|
72
|
-
startsAt: number;
|
|
73
|
-
endsAt: number;
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
withoutHeading: {
|
|
77
|
-
timestamps: {
|
|
78
|
-
startsAt: number;
|
|
79
|
-
endsAt: number;
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
}
|
|
1
|
+
export interface SegmentVoice {
|
|
2
|
+
id: string;
|
|
3
|
+
language: string;
|
|
4
|
+
name: string;
|
|
5
|
+
countryCode: string;
|
|
6
|
+
speechProvider: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface Segment {
|
|
10
|
+
id: string;
|
|
11
|
+
v: number;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
hackId: string;
|
|
15
|
+
type: SegmentType;
|
|
16
|
+
title: string;
|
|
17
|
+
sections: SegmentSection[];
|
|
18
|
+
keywords: string[];
|
|
19
|
+
actions: SegmentAction[];
|
|
20
|
+
speech: SegmentSpeech[];
|
|
21
|
+
textSummary?: string;
|
|
22
|
+
lastUpdatedFromPendingSegmentId?: string;
|
|
23
|
+
hackType: string;
|
|
24
|
+
/** use @uptime.app/text-to-speech-contracts */
|
|
25
|
+
locale: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type SegmentType =
|
|
29
|
+
'overview' | 'favourite-quote' | 'in-a-nutshell' |
|
|
30
|
+
'introduction' | 'here-are-the-insights' |
|
|
31
|
+
'insight-one' | 'insight-two' | 'insight-three' |
|
|
32
|
+
'put-in-action' | 'conclusion' |
|
|
33
|
+
'shareable-overview' | 'download-app-to-see-more';
|
|
34
|
+
|
|
35
|
+
export type CardType = 'hack-cover' | 'action';
|
|
36
|
+
|
|
37
|
+
export interface SegmentAction {
|
|
38
|
+
title: string;
|
|
39
|
+
cards: SegmentTextCard[];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface SegmentTextCard {
|
|
43
|
+
id: string;
|
|
44
|
+
markdown: string;
|
|
45
|
+
segmentType: SegmentType;
|
|
46
|
+
cardType?: CardType;
|
|
47
|
+
isTitle?: boolean;
|
|
48
|
+
speech?: TextCardSpeech[];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface SegmentSection {
|
|
52
|
+
heading?: string;
|
|
53
|
+
cards: SegmentTextCard[];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface SegmentSpeech {
|
|
57
|
+
voice: SegmentVoice;
|
|
58
|
+
withHeading: {
|
|
59
|
+
url: string;
|
|
60
|
+
lengthSeconds: number;
|
|
61
|
+
};
|
|
62
|
+
withoutHeading: {
|
|
63
|
+
url: string;
|
|
64
|
+
lengthSeconds: number;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface TextCardSpeech {
|
|
69
|
+
voiceId: string;
|
|
70
|
+
withHeading: {
|
|
71
|
+
timestamps: {
|
|
72
|
+
startsAt: number;
|
|
73
|
+
endsAt: number;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
withoutHeading: {
|
|
77
|
+
timestamps: {
|
|
78
|
+
startsAt: number;
|
|
79
|
+
endsAt: number;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
}
|
package/src/skin/skin-events.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Skin } from './skin';
|
|
2
|
-
|
|
3
|
-
export interface SkinCreatedEvent {
|
|
4
|
-
id: string;
|
|
5
|
-
type: 'SkinCreated';
|
|
6
|
-
payload: Skin;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface SkinUpdatedEvent {
|
|
10
|
-
id: string;
|
|
11
|
-
type: 'SkinUpdated';
|
|
12
|
-
payload: Skin;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface SkinDeletedEvent {
|
|
16
|
-
id: string;
|
|
17
|
-
type: 'SkinDeleted';
|
|
18
|
-
payload: Skin;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type SkinChangedEvent = SkinCreatedEvent | SkinUpdatedEvent | SkinDeletedEvent;
|
|
1
|
+
import { Skin } from './skin';
|
|
2
|
+
|
|
3
|
+
export interface SkinCreatedEvent {
|
|
4
|
+
id: string;
|
|
5
|
+
type: 'SkinCreated';
|
|
6
|
+
payload: Skin;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface SkinUpdatedEvent {
|
|
10
|
+
id: string;
|
|
11
|
+
type: 'SkinUpdated';
|
|
12
|
+
payload: Skin;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface SkinDeletedEvent {
|
|
16
|
+
id: string;
|
|
17
|
+
type: 'SkinDeleted';
|
|
18
|
+
payload: Skin;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type SkinChangedEvent = SkinCreatedEvent | SkinUpdatedEvent | SkinDeletedEvent;
|
package/src/skin/skin.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
export interface Skin {
|
|
3
|
-
id: string;
|
|
4
|
-
v: number;
|
|
5
|
-
createdAt: string;
|
|
6
|
-
updatedAt: string;
|
|
1
|
+
|
|
2
|
+
export interface Skin {
|
|
3
|
+
id: string;
|
|
4
|
+
v: number;
|
|
5
|
+
createdAt: string;
|
|
6
|
+
updatedAt: string;
|
|
7
7
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Spark } from './spark';
|
|
2
|
-
import { SparkBoardType } from './spark-board';
|
|
3
|
-
|
|
4
|
-
export interface SparkBoardReadModel {
|
|
5
|
-
// the spark board id
|
|
6
|
-
id: string;
|
|
7
|
-
// the version of the read model
|
|
8
|
-
v: number;
|
|
9
|
-
updatedAt: string;
|
|
10
|
-
createdAt: string;
|
|
11
|
-
sparkBoardVersion: number;
|
|
12
|
-
userId: string;
|
|
13
|
-
boardName: string;
|
|
14
|
-
boardType?: SparkBoardType;
|
|
15
|
-
sparkCount: number;
|
|
16
|
-
firstSparks: Spark[];
|
|
17
|
-
}
|
|
1
|
+
import { Spark } from './spark';
|
|
2
|
+
import { SparkBoardType } from './spark-board';
|
|
3
|
+
|
|
4
|
+
export interface SparkBoardReadModel {
|
|
5
|
+
// the spark board id
|
|
6
|
+
id: string;
|
|
7
|
+
// the version of the read model
|
|
8
|
+
v: number;
|
|
9
|
+
updatedAt: string;
|
|
10
|
+
createdAt: string;
|
|
11
|
+
sparkBoardVersion: number;
|
|
12
|
+
userId: string;
|
|
13
|
+
boardName: string;
|
|
14
|
+
boardType?: SparkBoardType;
|
|
15
|
+
sparkCount: number;
|
|
16
|
+
firstSparks: Spark[];
|
|
17
|
+
}
|
package/src/spark/spark-board.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export interface SparkBoard {
|
|
2
|
-
id: string;
|
|
3
|
-
v: number;
|
|
4
|
-
createdAt: string;
|
|
5
|
-
updatedAt: string;
|
|
6
|
-
userId: string;
|
|
7
|
-
boardName: string;
|
|
8
|
-
boardType?: SparkBoardType;
|
|
9
|
-
isPublic: boolean;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export type SparkBoardType = 'default';
|
|
1
|
+
export interface SparkBoard {
|
|
2
|
+
id: string;
|
|
3
|
+
v: number;
|
|
4
|
+
createdAt: string;
|
|
5
|
+
updatedAt: string;
|
|
6
|
+
userId: string;
|
|
7
|
+
boardName: string;
|
|
8
|
+
boardType?: SparkBoardType;
|
|
9
|
+
isPublic: boolean;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type SparkBoardType = 'default';
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { Spark } from './spark';
|
|
2
|
-
import { SparkBoard } from './spark-board';
|
|
3
|
-
|
|
4
|
-
export interface SparkCreatedEvent {
|
|
5
|
-
id: string;
|
|
6
|
-
type: 'SparkCreated';
|
|
7
|
-
payload: Spark;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface SparkUpdatedEvent {
|
|
11
|
-
id: string;
|
|
12
|
-
type: 'SparkUpdated';
|
|
13
|
-
payload: Spark;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface SparkDeletedEvent {
|
|
17
|
-
id: string;
|
|
18
|
-
type: 'SparkDeleted';
|
|
19
|
-
payload: Spark;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export type SparkChangedEvent = SparkCreatedEvent | SparkUpdatedEvent | SparkDeletedEvent;
|
|
23
|
-
|
|
24
|
-
export interface SparkBoardCreatedEvent {
|
|
25
|
-
id: string;
|
|
26
|
-
type: 'SparkBoardCreated';
|
|
27
|
-
payload: SparkBoard;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface SparkBoardUpdatedEvent {
|
|
31
|
-
id: string;
|
|
32
|
-
type: 'SparkBoardUpdated';
|
|
33
|
-
payload: SparkBoard;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface SparkBoardDeletedEvent {
|
|
37
|
-
id: string;
|
|
38
|
-
type: 'SparkBoardDeleted';
|
|
39
|
-
payload: SparkBoard;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export type SparkBoardChangedEvent = SparkBoardCreatedEvent | SparkBoardUpdatedEvent | SparkBoardDeletedEvent;
|
|
1
|
+
import { Spark } from './spark';
|
|
2
|
+
import { SparkBoard } from './spark-board';
|
|
3
|
+
|
|
4
|
+
export interface SparkCreatedEvent {
|
|
5
|
+
id: string;
|
|
6
|
+
type: 'SparkCreated';
|
|
7
|
+
payload: Spark;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface SparkUpdatedEvent {
|
|
11
|
+
id: string;
|
|
12
|
+
type: 'SparkUpdated';
|
|
13
|
+
payload: Spark;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface SparkDeletedEvent {
|
|
17
|
+
id: string;
|
|
18
|
+
type: 'SparkDeleted';
|
|
19
|
+
payload: Spark;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type SparkChangedEvent = SparkCreatedEvent | SparkUpdatedEvent | SparkDeletedEvent;
|
|
23
|
+
|
|
24
|
+
export interface SparkBoardCreatedEvent {
|
|
25
|
+
id: string;
|
|
26
|
+
type: 'SparkBoardCreated';
|
|
27
|
+
payload: SparkBoard;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface SparkBoardUpdatedEvent {
|
|
31
|
+
id: string;
|
|
32
|
+
type: 'SparkBoardUpdated';
|
|
33
|
+
payload: SparkBoard;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface SparkBoardDeletedEvent {
|
|
37
|
+
id: string;
|
|
38
|
+
type: 'SparkBoardDeleted';
|
|
39
|
+
payload: SparkBoard;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export type SparkBoardChangedEvent = SparkBoardCreatedEvent | SparkBoardUpdatedEvent | SparkBoardDeletedEvent;
|