@uptime.app/contracts 3.0.44 → 3.0.45-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.
- package/dist/cjs/collection/enriched-collection.d.ts +2 -0
- package/dist/cjs/collection/enriched-collection.d.ts.map +1 -1
- package/dist/esm/collection/enriched-collection.d.ts +2 -0
- package/dist/esm/collection/enriched-collection.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 +32 -32
- package/src/access-control/profile-access-control.ts +27 -27
- package/src/app-hack/app-full-hack.ts +9 -9
- package/src/app-hack/app-hack-metadata.ts +61 -61
- 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-org-idp-mapping.ts +27 -27
- package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
- package/src/b2b-organisation/b2b-organisation-group-events.ts +21 -21
- package/src/b2b-organisation/b2b-organisation-group-membership-events.ts +21 -21
- package/src/b2b-organisation/b2b-organisation-group-membership.ts +10 -10
- package/src/b2b-organisation/b2b-organisation-group.ts +16 -16
- package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
- package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
- package/src/b2b-organisation/b2b-organisation-member.ts +19 -19
- package/src/b2b-organisation/b2b-organisation.ts +38 -38
- package/src/brand/brand-events.ts +21 -21
- package/src/brand/brand.ts +77 -77
- package/src/catalogue/catalogue.ts +152 -152
- package/src/cms-hack/cms-searchable-hack.ts +44 -44
- package/src/collection/collection-events.ts +21 -21
- package/src/collection/collection.ts +59 -59
- package/src/collection/enriched-collection-events.ts +18 -18
- package/src/collection/enriched-collection.ts +65 -63
- package/src/course/course-events.ts +20 -20
- package/src/course/course.ts +25 -25
- package/src/course-enrollment/course-enrollment-events.ts +21 -21
- package/src/course-enrollment/course-enrollment.ts +36 -36
- 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 +190 -190
- 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-b2b-organisation/enriched-b2b-organisation-events.ts +21 -21
- package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +37 -37
- package/src/enriched-hack/enriched-hack-events.ts +21 -21
- package/src/enriched-hack/enriched-hack.ts +109 -109
- 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 +36 -36
- package/src/hack/hack.ts +127 -127
- package/src/hack/publish-hack-command.ts +20 -20
- package/src/hack/republish-hack-command.ts +20 -20
- package/src/hack-mapping/access-helper.ts +6 -6
- package/src/hack-mapping/app-full-hack.test.ts +12 -12
- package/src/hack-mapping/app-full-hack.ts +14 -14
- package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
- package/src/hack-mapping/app-hack-metadata.ts +82 -82
- package/src/hack-mapping/app-restricted-hack.test.ts +11 -11
- package/src/hack-mapping/app-restricted-hack.ts +21 -21
- package/src/hack-mapping/remove-undefined-fields.ts +9 -9
- package/src/hack-mapping/test-data/enriched-hack.json +2576 -2576
- package/src/hack-mapping/test-data/expected-app-full-hack.json +2509 -2509
- package/src/hack-mapping/test-data/expected-app-hack-metadata.json +93 -93
- package/src/hack-mapping/test-data/expected-app-restricted-hack.json +799 -799
- 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 +45 -45
- package/src/hackbot/hack-generation-trigger-events.ts +21 -21
- package/src/hackbot/hack-generation-trigger.ts +57 -57
- package/src/history/history-events.ts +21 -21
- package/src/history/history.ts +46 -46
- package/src/identity-provider/domain-identity-provider-events.ts +20 -20
- package/src/identity-provider/domain-identity-provider.ts +10 -10
- package/src/identity-provider/identity-provider-events.ts +20 -20
- package/src/identity-provider/identity-provider.ts +46 -46
- package/src/index.ts +219 -219
- 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 +58 -58
- 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 +7 -7
- package/src/learn-upon/get-sqsso-url.ts +13 -13
- package/src/learn-upon/learn-upon-commands.ts +33 -33
- package/src/learn-upon/learn-upon-course-enrollment-events.ts +21 -21
- package/src/learn-upon/learn-upon-course-enrollment.ts +62 -62
- package/src/learn-upon/learn-upon-course-events.ts +21 -21
- package/src/learn-upon/learn-upon-course.ts +108 -108
- package/src/learn-upon/learn-upon-portal-events.ts +20 -20
- package/src/learn-upon/learn-upon-portal.ts +12 -12
- package/src/learn-upon/learn-upon-user-mapping-events.ts +18 -18
- package/src/learn-upon/learn-upon-user-mapping.ts +9 -9
- package/src/learn-upon/learn-upon-webhook-events.ts +80 -80
- package/src/learn-upon/learn-upon-webhook-types.ts +346 -346
- package/src/learn-upon/unenroll.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 +78 -78
- 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 +36 -36
- 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/service-simulator/mock-request-response.ts +17 -17
- 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 +75 -75
- package/src/text-analysis/hack-categories-extracted-events.ts +24 -24
- package/src/text-analysis/hack-categories-extracted.ts +31 -31
- package/src/text-analysis/hack-entities-extracted-events.ts +24 -24
- package/src/text-analysis/hack-entities-extracted.ts +38 -38
- package/src/text-analysis/hack-keywords-extracted-events.ts +24 -24
- package/src/text-analysis/hack-keywords-extracted.ts +23 -23
- package/src/text-analysis/hack-topics-extracted-events.ts +24 -24
- package/src/text-analysis/hack-topics-extracted.ts +31 -31
- 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 +222 -222
- 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/cognito-user-authentication-log.ts +7 -7
- package/src/user/get-user.ts +63 -63
- package/src/user/user-events.ts +39 -39
- 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 +22 -22
|
@@ -1,190 +1,190 @@
|
|
|
1
|
-
import { SupportedLocale } from '../localisation/supported-locales';
|
|
2
|
-
|
|
3
|
-
export interface DraftHack extends DraftHackContent {
|
|
4
|
-
/** The unique id of the draft hack. */
|
|
5
|
-
id: string;
|
|
6
|
-
/** The locale (language and region) of the draft hack e.g. fr-FR. Mandatory property since 12/01/2023. */
|
|
7
|
-
locale: SupportedLocale;
|
|
8
|
-
/** @deprecated Temporarily added in 12/01/2023. Should not be used under any circumstance as only a handful of drafts will contain this property */
|
|
9
|
-
baseLocaleDraftHackId?: string;
|
|
10
|
-
/** The id of the hack. Mandatory property since Dec 2022. */
|
|
11
|
-
hackId: string;
|
|
12
|
-
/** The id of the hack in its original locale. Mandatory property since 01/02/2023. */
|
|
13
|
-
baseLocaleHackId: string;
|
|
14
|
-
|
|
15
|
-
v: number;
|
|
16
|
-
createdAt: string;
|
|
17
|
-
updatedAt: string;
|
|
18
|
-
publishedAt?: string;
|
|
19
|
-
publishedVersion?: number;
|
|
20
|
-
owner?: string;
|
|
21
|
-
tenant?: string;
|
|
22
|
-
/** workflowStatus was added in May 2022 as we move toward UGC. Older drafts have not been backfilled */
|
|
23
|
-
workflowStatus?: DraftHackWorkflowStatus;
|
|
24
|
-
/** added in Nov 2022. Set to true whenever content changes are made to the draft */
|
|
25
|
-
hasUnpublishedChanges?: boolean;
|
|
26
|
-
/** added in March 2023. Must be set whenever content changes are made to the draft */
|
|
27
|
-
contentUpdatedAt?: string;
|
|
28
|
-
/** added in late April 2023. Only set on translations. Set to the value of contentUpdatedAt of the base locale draft that was translated. Can be used to determine if the translated draft is out of sync with the original draft */
|
|
29
|
-
baseLocaleContentUpdatedAt?: string;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface DraftHackContent {
|
|
33
|
-
/**
|
|
34
|
-
* @maxLength 150
|
|
35
|
-
*/
|
|
36
|
-
title: string;
|
|
37
|
-
/**
|
|
38
|
-
* @maxLength 50
|
|
39
|
-
*/
|
|
40
|
-
sourceId?: string;
|
|
41
|
-
/**
|
|
42
|
-
* @maxLength 50
|
|
43
|
-
*/
|
|
44
|
-
themeId?: string;
|
|
45
|
-
segments: DraftHackSegments;
|
|
46
|
-
/**
|
|
47
|
-
* @maxLength 1000
|
|
48
|
-
*/
|
|
49
|
-
coverUrl?: string;
|
|
50
|
-
/**
|
|
51
|
-
* Added in July 2024. This is the URL of the cover image that is free to use without any copyright.
|
|
52
|
-
* @maxLength 1000
|
|
53
|
-
*/
|
|
54
|
-
copyrightFreeCoverUrl?: string;
|
|
55
|
-
notifications?: DraftHackNotifications;
|
|
56
|
-
affiliate?: DraftAffiliate;
|
|
57
|
-
/**
|
|
58
|
-
* @maxItems 50
|
|
59
|
-
*/
|
|
60
|
-
topics?: DraftTopic[];
|
|
61
|
-
/**
|
|
62
|
-
* @maxItems 10
|
|
63
|
-
*/
|
|
64
|
-
contributors?: DraftContributor[];
|
|
65
|
-
sourceData?: DraftSourceData;
|
|
66
|
-
/** For creators only. We will tackle this validation once profiles are introduce*/
|
|
67
|
-
externalLink?: DraftHackExternalLink;
|
|
68
|
-
/** For recording purpose for now, we will use this value further in the future */
|
|
69
|
-
contentRating?: DraftHackRating;
|
|
70
|
-
/**
|
|
71
|
-
* @maxItems 50
|
|
72
|
-
* @items.maxLength 150
|
|
73
|
-
*/
|
|
74
|
-
tags?: string[];
|
|
75
|
-
type?: DraftHackType;
|
|
76
|
-
isCopyrightFree?: boolean;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export interface DraftHackNotifications {
|
|
80
|
-
/**
|
|
81
|
-
* @maxLength 1000
|
|
82
|
-
*/
|
|
83
|
-
aiGeneratedText?: string;
|
|
84
|
-
/**
|
|
85
|
-
* @maxLength 1000
|
|
86
|
-
*/
|
|
87
|
-
humanCuratedText?: string;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export interface DraftHackSegments {
|
|
91
|
-
favouriteQuote?: DraftHackSegment;
|
|
92
|
-
inANutshell?: DraftHackSegment;
|
|
93
|
-
introduction?: DraftHackSegment;
|
|
94
|
-
/**
|
|
95
|
-
* @maxItems 10
|
|
96
|
-
*/
|
|
97
|
-
insights?: DraftHackInsightSegment[];
|
|
98
|
-
conclusion?: DraftHackSegment;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export interface DraftHackCard {
|
|
102
|
-
/**
|
|
103
|
-
* @maxLength 2000
|
|
104
|
-
*/
|
|
105
|
-
markdown: string;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export interface DraftHackSegment {
|
|
109
|
-
/**
|
|
110
|
-
* @maxItems 50
|
|
111
|
-
* @items.maxLength 150
|
|
112
|
-
*/
|
|
113
|
-
keywords: string[];
|
|
114
|
-
paragraphCards: DraftHackCard[][];
|
|
115
|
-
/**
|
|
116
|
-
* @maxLength 1000
|
|
117
|
-
*/
|
|
118
|
-
textSummary?: string;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
export interface DraftHackInsightSegment extends DraftHackSegment {
|
|
122
|
-
/**
|
|
123
|
-
* @maxLength 150
|
|
124
|
-
*/
|
|
125
|
-
title?: string;
|
|
126
|
-
/**
|
|
127
|
-
* @maxItems 50
|
|
128
|
-
*/
|
|
129
|
-
actions: DraftHackAction[];
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export interface DraftHackAction {
|
|
133
|
-
/**
|
|
134
|
-
* @maxLength 150
|
|
135
|
-
*/
|
|
136
|
-
title: string;
|
|
137
|
-
/**
|
|
138
|
-
* @maxLength 1000
|
|
139
|
-
*/
|
|
140
|
-
markdown: string
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
export interface DraftContributor {
|
|
144
|
-
/**
|
|
145
|
-
* @maxLength 150
|
|
146
|
-
*/
|
|
147
|
-
name: string;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
export interface DraftTopic {
|
|
151
|
-
/**
|
|
152
|
-
* @maxLength 150
|
|
153
|
-
*/
|
|
154
|
-
name: string;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export interface DraftAffiliate {
|
|
158
|
-
/**
|
|
159
|
-
* @maxLength 1000
|
|
160
|
-
*/
|
|
161
|
-
url?: string;
|
|
162
|
-
/**
|
|
163
|
-
* @maxLength 150
|
|
164
|
-
*/
|
|
165
|
-
name?: string;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
export interface DraftSourceData {
|
|
169
|
-
/**
|
|
170
|
-
* @maxLength 150
|
|
171
|
-
*/
|
|
172
|
-
episodeTitle?: string;
|
|
173
|
-
/**
|
|
174
|
-
* @maxLength 50
|
|
175
|
-
*/
|
|
176
|
-
releaseDate?: string;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
export interface DraftHackExternalLink {
|
|
180
|
-
/**
|
|
181
|
-
* @maxLength 1000
|
|
182
|
-
*/
|
|
183
|
-
url: string;
|
|
184
|
-
type: 'Website' | 'Book' | 'Course' | 'Podcast' | 'Video' | 'Other';
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// this status is currently used to present the draft in different columns in the airtable used by the content team
|
|
188
|
-
export type DraftHackWorkflowStatus = 'publishing' | 'published';
|
|
189
|
-
export type DraftHackType = 'book' | 'course' | 'documentary' | 'podcast' | 'original';
|
|
190
|
-
export type DraftHackRating = 'mature' | 'appropriate';
|
|
1
|
+
import { SupportedLocale } from '../localisation/supported-locales';
|
|
2
|
+
|
|
3
|
+
export interface DraftHack extends DraftHackContent {
|
|
4
|
+
/** The unique id of the draft hack. */
|
|
5
|
+
id: string;
|
|
6
|
+
/** The locale (language and region) of the draft hack e.g. fr-FR. Mandatory property since 12/01/2023. */
|
|
7
|
+
locale: SupportedLocale;
|
|
8
|
+
/** @deprecated Temporarily added in 12/01/2023. Should not be used under any circumstance as only a handful of drafts will contain this property */
|
|
9
|
+
baseLocaleDraftHackId?: string;
|
|
10
|
+
/** The id of the hack. Mandatory property since Dec 2022. */
|
|
11
|
+
hackId: string;
|
|
12
|
+
/** The id of the hack in its original locale. Mandatory property since 01/02/2023. */
|
|
13
|
+
baseLocaleHackId: string;
|
|
14
|
+
|
|
15
|
+
v: number;
|
|
16
|
+
createdAt: string;
|
|
17
|
+
updatedAt: string;
|
|
18
|
+
publishedAt?: string;
|
|
19
|
+
publishedVersion?: number;
|
|
20
|
+
owner?: string;
|
|
21
|
+
tenant?: string;
|
|
22
|
+
/** workflowStatus was added in May 2022 as we move toward UGC. Older drafts have not been backfilled */
|
|
23
|
+
workflowStatus?: DraftHackWorkflowStatus;
|
|
24
|
+
/** added in Nov 2022. Set to true whenever content changes are made to the draft */
|
|
25
|
+
hasUnpublishedChanges?: boolean;
|
|
26
|
+
/** added in March 2023. Must be set whenever content changes are made to the draft */
|
|
27
|
+
contentUpdatedAt?: string;
|
|
28
|
+
/** added in late April 2023. Only set on translations. Set to the value of contentUpdatedAt of the base locale draft that was translated. Can be used to determine if the translated draft is out of sync with the original draft */
|
|
29
|
+
baseLocaleContentUpdatedAt?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface DraftHackContent {
|
|
33
|
+
/**
|
|
34
|
+
* @maxLength 150
|
|
35
|
+
*/
|
|
36
|
+
title: string;
|
|
37
|
+
/**
|
|
38
|
+
* @maxLength 50
|
|
39
|
+
*/
|
|
40
|
+
sourceId?: string;
|
|
41
|
+
/**
|
|
42
|
+
* @maxLength 50
|
|
43
|
+
*/
|
|
44
|
+
themeId?: string;
|
|
45
|
+
segments: DraftHackSegments;
|
|
46
|
+
/**
|
|
47
|
+
* @maxLength 1000
|
|
48
|
+
*/
|
|
49
|
+
coverUrl?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Added in July 2024. This is the URL of the cover image that is free to use without any copyright.
|
|
52
|
+
* @maxLength 1000
|
|
53
|
+
*/
|
|
54
|
+
copyrightFreeCoverUrl?: string;
|
|
55
|
+
notifications?: DraftHackNotifications;
|
|
56
|
+
affiliate?: DraftAffiliate;
|
|
57
|
+
/**
|
|
58
|
+
* @maxItems 50
|
|
59
|
+
*/
|
|
60
|
+
topics?: DraftTopic[];
|
|
61
|
+
/**
|
|
62
|
+
* @maxItems 10
|
|
63
|
+
*/
|
|
64
|
+
contributors?: DraftContributor[];
|
|
65
|
+
sourceData?: DraftSourceData;
|
|
66
|
+
/** For creators only. We will tackle this validation once profiles are introduce*/
|
|
67
|
+
externalLink?: DraftHackExternalLink;
|
|
68
|
+
/** For recording purpose for now, we will use this value further in the future */
|
|
69
|
+
contentRating?: DraftHackRating;
|
|
70
|
+
/**
|
|
71
|
+
* @maxItems 50
|
|
72
|
+
* @items.maxLength 150
|
|
73
|
+
*/
|
|
74
|
+
tags?: string[];
|
|
75
|
+
type?: DraftHackType;
|
|
76
|
+
isCopyrightFree?: boolean;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface DraftHackNotifications {
|
|
80
|
+
/**
|
|
81
|
+
* @maxLength 1000
|
|
82
|
+
*/
|
|
83
|
+
aiGeneratedText?: string;
|
|
84
|
+
/**
|
|
85
|
+
* @maxLength 1000
|
|
86
|
+
*/
|
|
87
|
+
humanCuratedText?: string;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface DraftHackSegments {
|
|
91
|
+
favouriteQuote?: DraftHackSegment;
|
|
92
|
+
inANutshell?: DraftHackSegment;
|
|
93
|
+
introduction?: DraftHackSegment;
|
|
94
|
+
/**
|
|
95
|
+
* @maxItems 10
|
|
96
|
+
*/
|
|
97
|
+
insights?: DraftHackInsightSegment[];
|
|
98
|
+
conclusion?: DraftHackSegment;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export interface DraftHackCard {
|
|
102
|
+
/**
|
|
103
|
+
* @maxLength 2000
|
|
104
|
+
*/
|
|
105
|
+
markdown: string;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export interface DraftHackSegment {
|
|
109
|
+
/**
|
|
110
|
+
* @maxItems 50
|
|
111
|
+
* @items.maxLength 150
|
|
112
|
+
*/
|
|
113
|
+
keywords: string[];
|
|
114
|
+
paragraphCards: DraftHackCard[][];
|
|
115
|
+
/**
|
|
116
|
+
* @maxLength 1000
|
|
117
|
+
*/
|
|
118
|
+
textSummary?: string;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface DraftHackInsightSegment extends DraftHackSegment {
|
|
122
|
+
/**
|
|
123
|
+
* @maxLength 150
|
|
124
|
+
*/
|
|
125
|
+
title?: string;
|
|
126
|
+
/**
|
|
127
|
+
* @maxItems 50
|
|
128
|
+
*/
|
|
129
|
+
actions: DraftHackAction[];
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export interface DraftHackAction {
|
|
133
|
+
/**
|
|
134
|
+
* @maxLength 150
|
|
135
|
+
*/
|
|
136
|
+
title: string;
|
|
137
|
+
/**
|
|
138
|
+
* @maxLength 1000
|
|
139
|
+
*/
|
|
140
|
+
markdown: string
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface DraftContributor {
|
|
144
|
+
/**
|
|
145
|
+
* @maxLength 150
|
|
146
|
+
*/
|
|
147
|
+
name: string;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface DraftTopic {
|
|
151
|
+
/**
|
|
152
|
+
* @maxLength 150
|
|
153
|
+
*/
|
|
154
|
+
name: string;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export interface DraftAffiliate {
|
|
158
|
+
/**
|
|
159
|
+
* @maxLength 1000
|
|
160
|
+
*/
|
|
161
|
+
url?: string;
|
|
162
|
+
/**
|
|
163
|
+
* @maxLength 150
|
|
164
|
+
*/
|
|
165
|
+
name?: string;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export interface DraftSourceData {
|
|
169
|
+
/**
|
|
170
|
+
* @maxLength 150
|
|
171
|
+
*/
|
|
172
|
+
episodeTitle?: string;
|
|
173
|
+
/**
|
|
174
|
+
* @maxLength 50
|
|
175
|
+
*/
|
|
176
|
+
releaseDate?: string;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export interface DraftHackExternalLink {
|
|
180
|
+
/**
|
|
181
|
+
* @maxLength 1000
|
|
182
|
+
*/
|
|
183
|
+
url: string;
|
|
184
|
+
type: 'Website' | 'Book' | 'Course' | 'Podcast' | 'Video' | 'Other';
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// this status is currently used to present the draft in different columns in the airtable used by the content team
|
|
188
|
+
export type DraftHackWorkflowStatus = 'publishing' | 'published';
|
|
189
|
+
export type DraftHackType = 'book' | 'course' | 'documentary' | 'podcast' | 'original';
|
|
190
|
+
export type DraftHackRating = 'mature' | 'appropriate';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export interface GenerateDraftHackCommand {
|
|
2
|
-
id: string;
|
|
3
|
-
type: 'GenerateDraftHack';
|
|
4
|
-
payload: {
|
|
5
|
-
knowledgeSourceContributor: string;
|
|
6
|
-
knowledgeSourceName: string;
|
|
7
|
-
knowledgeSourceType: string;
|
|
8
|
-
reference: string;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
1
|
+
export interface GenerateDraftHackCommand {
|
|
2
|
+
id: string;
|
|
3
|
+
type: 'GenerateDraftHack';
|
|
4
|
+
payload: {
|
|
5
|
+
knowledgeSourceContributor: string;
|
|
6
|
+
knowledgeSourceName: string;
|
|
7
|
+
knowledgeSourceType: string;
|
|
8
|
+
reference: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { GeneratedDraftHackContent } from './draft-hack-generation';
|
|
2
|
-
|
|
3
|
-
export interface DraftHackGenerated {
|
|
4
|
-
id: string;
|
|
5
|
-
type: 'DraftHackGenerated';
|
|
6
|
-
payload: {
|
|
7
|
-
// the draft hack id
|
|
8
|
-
id: string;
|
|
9
|
-
// the version
|
|
10
|
-
v: number;
|
|
11
|
-
reference: string;
|
|
12
|
-
draftHackId: string;
|
|
13
|
-
draftHackContent: GeneratedDraftHackContent;
|
|
14
|
-
|
|
15
|
-
hackGenerationTriggerId: string;
|
|
16
|
-
|
|
17
|
-
// introduced 11/09/2024
|
|
18
|
-
researchNotes?: {
|
|
19
|
-
insight1: string;
|
|
20
|
-
insight2: string;
|
|
21
|
-
insight3: string;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export interface DraftHackGenerationFailed {
|
|
27
|
-
id: string;
|
|
28
|
-
type: 'DraftHackGenerationFailed';
|
|
29
|
-
payload: {
|
|
30
|
-
reference: string;
|
|
31
|
-
hackGenerationTriggerId: string;
|
|
32
|
-
errorMessage: string;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface GeneratedDraftHackSavedToGoogleDrive {
|
|
37
|
-
id: string;
|
|
38
|
-
type: 'GeneratedDraftHackSavedToGoogleDrive';
|
|
39
|
-
payload: {
|
|
40
|
-
// the draft hack id
|
|
41
|
-
id: string;
|
|
42
|
-
// the version
|
|
43
|
-
v: number;
|
|
44
|
-
reference: string;
|
|
45
|
-
draftHackId: string;
|
|
46
|
-
draftHackContent: GeneratedDraftHackContent;
|
|
47
|
-
driveFile: {
|
|
48
|
-
id: string;
|
|
49
|
-
parentId: string;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
1
|
+
import { GeneratedDraftHackContent } from './draft-hack-generation';
|
|
2
|
+
|
|
3
|
+
export interface DraftHackGenerated {
|
|
4
|
+
id: string;
|
|
5
|
+
type: 'DraftHackGenerated';
|
|
6
|
+
payload: {
|
|
7
|
+
// the draft hack id
|
|
8
|
+
id: string;
|
|
9
|
+
// the version
|
|
10
|
+
v: number;
|
|
11
|
+
reference: string;
|
|
12
|
+
draftHackId: string;
|
|
13
|
+
draftHackContent: GeneratedDraftHackContent;
|
|
14
|
+
|
|
15
|
+
hackGenerationTriggerId: string;
|
|
16
|
+
|
|
17
|
+
// introduced 11/09/2024
|
|
18
|
+
researchNotes?: {
|
|
19
|
+
insight1: string;
|
|
20
|
+
insight2: string;
|
|
21
|
+
insight3: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface DraftHackGenerationFailed {
|
|
27
|
+
id: string;
|
|
28
|
+
type: 'DraftHackGenerationFailed';
|
|
29
|
+
payload: {
|
|
30
|
+
reference: string;
|
|
31
|
+
hackGenerationTriggerId: string;
|
|
32
|
+
errorMessage: string;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface GeneratedDraftHackSavedToGoogleDrive {
|
|
37
|
+
id: string;
|
|
38
|
+
type: 'GeneratedDraftHackSavedToGoogleDrive';
|
|
39
|
+
payload: {
|
|
40
|
+
// the draft hack id
|
|
41
|
+
id: string;
|
|
42
|
+
// the version
|
|
43
|
+
v: number;
|
|
44
|
+
reference: string;
|
|
45
|
+
draftHackId: string;
|
|
46
|
+
draftHackContent: GeneratedDraftHackContent;
|
|
47
|
+
driveFile: {
|
|
48
|
+
id: string;
|
|
49
|
+
parentId: string;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
export interface GeneratedDraftHackContent {
|
|
2
|
-
title: string;
|
|
3
|
-
segments: GeneratedDraftHackSegments;
|
|
4
|
-
coverUrl?: string;
|
|
5
|
-
copyrightFreeCoverUrl?: string;
|
|
6
|
-
topics: GeneratedDraftTopic[];
|
|
7
|
-
notification: GeneratedDraftHackNotification;
|
|
8
|
-
contributors: GeneratedDraftContributor[];
|
|
9
|
-
}
|
|
10
|
-
export interface GeneratedDraftHackSegments {
|
|
11
|
-
favouriteQuote: GeneratedDraftHackSegment;
|
|
12
|
-
inANutshell: GeneratedDraftHackSegment;
|
|
13
|
-
introduction: GeneratedDraftHackSegment;
|
|
14
|
-
insights: GeneratedDraftHackInsightSegment[];
|
|
15
|
-
conclusion: GeneratedDraftHackSegment;
|
|
16
|
-
}
|
|
17
|
-
export interface GeneratedDraftHackSegment {
|
|
18
|
-
paragraphCards: GeneratedDraftHackCard[][];
|
|
19
|
-
}
|
|
20
|
-
export interface GeneratedDraftHackCard {
|
|
21
|
-
markdown: string;
|
|
22
|
-
}
|
|
23
|
-
export interface GeneratedDraftHackInsightSegment extends GeneratedDraftHackSegment {
|
|
24
|
-
title: string;
|
|
25
|
-
actions: GeneratedDraftHackAction[];
|
|
26
|
-
}
|
|
27
|
-
export interface GeneratedDraftHackAction {
|
|
28
|
-
title: string;
|
|
29
|
-
markdown: string;
|
|
30
|
-
}
|
|
31
|
-
export interface GeneratedDraftTopic {
|
|
32
|
-
name: string;
|
|
33
|
-
}
|
|
34
|
-
export interface GeneratedDraftHackNotification {
|
|
35
|
-
aiGeneratedText: string;
|
|
36
|
-
}
|
|
37
|
-
export interface GeneratedDraftContributor {
|
|
38
|
-
name: string;
|
|
39
|
-
}
|
|
1
|
+
export interface GeneratedDraftHackContent {
|
|
2
|
+
title: string;
|
|
3
|
+
segments: GeneratedDraftHackSegments;
|
|
4
|
+
coverUrl?: string;
|
|
5
|
+
copyrightFreeCoverUrl?: string;
|
|
6
|
+
topics: GeneratedDraftTopic[];
|
|
7
|
+
notification: GeneratedDraftHackNotification;
|
|
8
|
+
contributors: GeneratedDraftContributor[];
|
|
9
|
+
}
|
|
10
|
+
export interface GeneratedDraftHackSegments {
|
|
11
|
+
favouriteQuote: GeneratedDraftHackSegment;
|
|
12
|
+
inANutshell: GeneratedDraftHackSegment;
|
|
13
|
+
introduction: GeneratedDraftHackSegment;
|
|
14
|
+
insights: GeneratedDraftHackInsightSegment[];
|
|
15
|
+
conclusion: GeneratedDraftHackSegment;
|
|
16
|
+
}
|
|
17
|
+
export interface GeneratedDraftHackSegment {
|
|
18
|
+
paragraphCards: GeneratedDraftHackCard[][];
|
|
19
|
+
}
|
|
20
|
+
export interface GeneratedDraftHackCard {
|
|
21
|
+
markdown: string;
|
|
22
|
+
}
|
|
23
|
+
export interface GeneratedDraftHackInsightSegment extends GeneratedDraftHackSegment {
|
|
24
|
+
title: string;
|
|
25
|
+
actions: GeneratedDraftHackAction[];
|
|
26
|
+
}
|
|
27
|
+
export interface GeneratedDraftHackAction {
|
|
28
|
+
title: string;
|
|
29
|
+
markdown: string;
|
|
30
|
+
}
|
|
31
|
+
export interface GeneratedDraftTopic {
|
|
32
|
+
name: string;
|
|
33
|
+
}
|
|
34
|
+
export interface GeneratedDraftHackNotification {
|
|
35
|
+
aiGeneratedText: string;
|
|
36
|
+
}
|
|
37
|
+
export interface GeneratedDraftContributor {
|
|
38
|
+
name: string;
|
|
39
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { EnrichedB2BOrganisation } from './enriched-b2b-organisation';
|
|
2
|
-
|
|
3
|
-
export interface EnrichedB2BOrganisationCreatedEvent {
|
|
4
|
-
id: string;
|
|
5
|
-
type: 'EnrichedB2BOrganisationCreated';
|
|
6
|
-
payload: EnrichedB2BOrganisation;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface EnrichedB2BOrganisationUpdatedEvent {
|
|
10
|
-
id: string;
|
|
11
|
-
type: 'EnrichedB2BOrganisationUpdated';
|
|
12
|
-
payload: EnrichedB2BOrganisation;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface EnrichedB2BOrganisationDeletedEvent {
|
|
16
|
-
id: string;
|
|
17
|
-
type: 'EnrichedB2BOrganisationDeleted';
|
|
18
|
-
payload: EnrichedB2BOrganisation;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type EnrichedB2BOrganisationChangedEvent = EnrichedB2BOrganisationCreatedEvent | EnrichedB2BOrganisationUpdatedEvent | EnrichedB2BOrganisationDeletedEvent;
|
|
1
|
+
import { EnrichedB2BOrganisation } from './enriched-b2b-organisation';
|
|
2
|
+
|
|
3
|
+
export interface EnrichedB2BOrganisationCreatedEvent {
|
|
4
|
+
id: string;
|
|
5
|
+
type: 'EnrichedB2BOrganisationCreated';
|
|
6
|
+
payload: EnrichedB2BOrganisation;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface EnrichedB2BOrganisationUpdatedEvent {
|
|
10
|
+
id: string;
|
|
11
|
+
type: 'EnrichedB2BOrganisationUpdated';
|
|
12
|
+
payload: EnrichedB2BOrganisation;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface EnrichedB2BOrganisationDeletedEvent {
|
|
16
|
+
id: string;
|
|
17
|
+
type: 'EnrichedB2BOrganisationDeleted';
|
|
18
|
+
payload: EnrichedB2BOrganisation;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type EnrichedB2BOrganisationChangedEvent = EnrichedB2BOrganisationCreatedEvent | EnrichedB2BOrganisationUpdatedEvent | EnrichedB2BOrganisationDeletedEvent;
|