@uptime.app/contracts 1.0.45 → 1.0.49-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 (119) hide show
  1. package/dist/cjs/draft-hack-generation/draft-hack-generation-commands.d.ts +15 -0
  2. package/dist/cjs/draft-hack-generation/draft-hack-generation-commands.d.ts.map +1 -1
  3. package/dist/cjs/localisation/live-locales.d.ts.map +1 -1
  4. package/dist/cjs/localisation/live-locales.js +1 -5
  5. package/dist/cjs/localisation/live-locales.js.map +1 -1
  6. package/dist/esm/draft-hack-generation/draft-hack-generation-commands.d.ts +15 -0
  7. package/dist/esm/draft-hack-generation/draft-hack-generation-commands.d.ts.map +1 -1
  8. package/dist/esm/localisation/live-locales.d.ts.map +1 -1
  9. package/dist/esm/localisation/live-locales.js +1 -5
  10. package/dist/esm/localisation/live-locales.js.map +1 -1
  11. package/package.json +2 -2
  12. package/src/access-control/collection-access-control.ts +28 -28
  13. package/src/access-control/hack-access-control.ts +29 -29
  14. package/src/app-hack/app-full-hack.ts +9 -9
  15. package/src/app-hack/app-hack-metadata.ts +58 -58
  16. package/src/app-hack/app-restricted-hack.ts +22 -22
  17. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  18. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  19. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  20. package/src/b2b-organisation/b2b-organisation-invitation.ts +31 -31
  21. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  22. package/src/b2b-organisation/b2b-organisation-member.ts +8 -8
  23. package/src/b2b-organisation/b2b-organisation.ts +15 -15
  24. package/src/brand/brand-events.ts +21 -21
  25. package/src/brand/brand.ts +26 -26
  26. package/src/catalogue/catalogue.ts +118 -118
  27. package/src/collection/collection-events.ts +21 -21
  28. package/src/collection/collection.ts +58 -58
  29. package/src/collection/enriched-collection-events.ts +18 -18
  30. package/src/collection/enriched-collection.ts +64 -64
  31. package/src/creator/creator-events.ts +32 -32
  32. package/src/creator/creator.ts +7 -7
  33. package/src/distribution/collection-distribution.ts +17 -17
  34. package/src/distribution/distribution-events.ts +61 -61
  35. package/src/distribution/hack-distribution.ts +18 -18
  36. package/src/draft-hack/draft-hack-events.ts +21 -21
  37. package/src/draft-hack/draft-hack.ts +189 -189
  38. package/src/draft-hack-generation/draft-hack-generation-commands.ts +50 -33
  39. package/src/draft-hack-generation/draft-hack-generation-events.ts +42 -42
  40. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  41. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  42. package/src/enriched-hack/enriched-hack.ts +103 -103
  43. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  44. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  45. package/src/entitlement/user-entitlements-commands.ts +33 -33
  46. package/src/entitlement/user-entitlements-events.ts +29 -29
  47. package/src/entitlement/user-entitlements.ts +18 -18
  48. package/src/flashcard/flashcard-events.ts +85 -85
  49. package/src/flashcard/flashcard.ts +138 -138
  50. package/src/hack/extracted-subject.ts +31 -31
  51. package/src/hack/hack-events.ts +21 -21
  52. package/src/hack/hack-published.ts +21 -21
  53. package/src/hack/hack-with-voice-events.ts +20 -20
  54. package/src/hack/hack-with-voice.ts +33 -33
  55. package/src/hack/hack.ts +116 -116
  56. package/src/hack/publish-hack-command.ts +18 -18
  57. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  58. package/src/hack-metadata/hack-metadata.ts +17 -17
  59. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  60. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  61. package/src/history/history-events.ts +21 -21
  62. package/src/history/history.ts +46 -46
  63. package/src/index.ts +147 -147
  64. package/src/interest/interest-events.ts +21 -21
  65. package/src/interest/interest.ts +15 -15
  66. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  67. package/src/knowledge-source/knowledge-source.ts +43 -43
  68. package/src/localisation/live-locales.ts +36 -40
  69. package/src/localisation/locale-language.ts +4 -4
  70. package/src/localisation/supported-languages.ts +11 -11
  71. package/src/localisation/supported-locales.ts +59 -59
  72. package/src/moderation/hack-moderation-result-events.ts +18 -18
  73. package/src/moderation/hack-moderation-result.ts +27 -27
  74. package/src/partner/partner-events.ts +21 -21
  75. package/src/partner/partner.ts +7 -7
  76. package/src/pending-hack/pending-hack-events.ts +20 -20
  77. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  78. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  79. package/src/pending-hack/pending-hack.ts +77 -77
  80. package/src/preferences/preferences-events.ts +15 -15
  81. package/src/preferences/preferences.ts +35 -35
  82. package/src/profile/profile-events.ts +41 -41
  83. package/src/profile/profile.ts +27 -27
  84. package/src/profile/translated-profile.ts +13 -13
  85. package/src/referral/referral-events.ts +41 -41
  86. package/src/referral/referral.ts +76 -76
  87. package/src/saved/saved-collection-events.ts +19 -19
  88. package/src/saved/saved-collection.ts +8 -8
  89. package/src/segment/segment-commands.ts +70 -70
  90. package/src/segment/segment-events.ts +42 -42
  91. package/src/segment/segment-with-voice.ts +8 -8
  92. package/src/segment/segment.ts +82 -82
  93. package/src/skin/skin-events.ts +21 -21
  94. package/src/skin/skin.ts +6 -6
  95. package/src/spark/spark-board-read-model.ts +17 -17
  96. package/src/spark/spark-board.ts +12 -12
  97. package/src/spark/spark-events.ts +42 -42
  98. package/src/spark/spark.ts +80 -80
  99. package/src/text-to-speech/create-speech-commands.ts +20 -20
  100. package/src/text-to-speech/speech-created-events.ts +10 -10
  101. package/src/text-to-speech/supported-voices.ts +149 -149
  102. package/src/text-to-speech/text-segment.ts +29 -29
  103. package/src/theme/theme-events.ts +21 -21
  104. package/src/theme/theme.ts +68 -68
  105. package/src/translation/translation-events.ts +73 -73
  106. package/src/translation/translation.ts +25 -25
  107. package/src/trending/trending-events.ts +21 -21
  108. package/src/trending/trending-hacks.ts +8 -8
  109. package/src/user/user-events.ts +27 -27
  110. package/src/user-context/user-context-events.ts +21 -21
  111. package/src/user-context/user-context.ts +16 -16
  112. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  113. package/src/user-notification-context/user-notification-context.ts +9 -9
  114. package/src/user-statistics/user-statistics-events.ts +97 -97
  115. package/src/user-statistics/user-statistics.ts +82 -82
  116. package/src/video-cropping/video-cropping-events.ts +43 -43
  117. package/src/video-cropping/video-metadata.ts +12 -12
  118. package/tsconfig.cjs.json +7 -7
  119. package/tsconfig.npm.json +21 -21
@@ -1,82 +1,82 @@
1
- export interface ViewedHack {
2
- id: string;
3
- v: number;
4
- createdAt: string;
5
- updatedAt: string;
6
- userId: string;
7
- hackId: string;
8
- isHackCompleted: boolean;
9
- insightsCompletedCount: number;
10
- /** added Aug 2023 */
11
- percentageComplete: number;
12
- /** added Aug 2023 */
13
- lastViewedAt: string;
14
- hackProgress: {
15
- id: string;
16
- version: number;
17
- createdAt: string;
18
- }
19
- }
20
-
21
- export interface UserInsightStreak {
22
- userId: string;
23
- v: number;
24
- id: string; // deterministic from userId
25
- createdAt: string;
26
- updatedAt: string;
27
- longestStreak: {
28
- length: number;
29
- },
30
- latestStreak: {
31
- // date with format YYYY-MM-DD
32
- latestDayCompleted: string;
33
- length: number;
34
- },
35
- previousStreak: {
36
- length: number;
37
- },
38
- // 30 dates with format YYYY-MM-DD
39
- latestDaysCompleted: string[];
40
- repairs?: {
41
- usedThisMonthCount: number;
42
- }
43
- }
44
-
45
- export interface UserHackStatistics {
46
- userId: string;
47
- v: number;
48
- createdAt: string;
49
- updatedAt: string;
50
-
51
- id: string; // deterministic from userId
52
- insightsCompletedCount: number;
53
- hacksCompletedCount: number;
54
- /** Time saved in minutes. Added Aug 2023 */
55
- totalTimeSaved: number;
56
- perTopic?: PerTopicStatistics[]
57
- }
58
-
59
- export interface PerTopicStatistics {
60
- name: string;
61
- insightsCompletedCount: number;
62
- }
63
-
64
- export interface StreakRepair {
65
- id: string;
66
- v: number;
67
- createdAt: string;
68
- updatedAt: string;
69
- userId: string;
70
- repairDate_streakType : string;
71
- repairDate: string;
72
- streakType: string;
73
- }
74
-
75
- export interface DailyInsightCompleted {
76
- id: string;
77
- v: number;
78
- createdAt: string;
79
- updatedAt: string;
80
- userId: string;
81
- dateInsightCompleted: string;
82
- }
1
+ export interface ViewedHack {
2
+ id: string;
3
+ v: number;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ userId: string;
7
+ hackId: string;
8
+ isHackCompleted: boolean;
9
+ insightsCompletedCount: number;
10
+ /** added Aug 2023 */
11
+ percentageComplete: number;
12
+ /** added Aug 2023 */
13
+ lastViewedAt: string;
14
+ hackProgress: {
15
+ id: string;
16
+ version: number;
17
+ createdAt: string;
18
+ }
19
+ }
20
+
21
+ export interface UserInsightStreak {
22
+ userId: string;
23
+ v: number;
24
+ id: string; // deterministic from userId
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ longestStreak: {
28
+ length: number;
29
+ },
30
+ latestStreak: {
31
+ // date with format YYYY-MM-DD
32
+ latestDayCompleted: string;
33
+ length: number;
34
+ },
35
+ previousStreak: {
36
+ length: number;
37
+ },
38
+ // 30 dates with format YYYY-MM-DD
39
+ latestDaysCompleted: string[];
40
+ repairs?: {
41
+ usedThisMonthCount: number;
42
+ }
43
+ }
44
+
45
+ export interface UserHackStatistics {
46
+ userId: string;
47
+ v: number;
48
+ createdAt: string;
49
+ updatedAt: string;
50
+
51
+ id: string; // deterministic from userId
52
+ insightsCompletedCount: number;
53
+ hacksCompletedCount: number;
54
+ /** Time saved in minutes. Added Aug 2023 */
55
+ totalTimeSaved: number;
56
+ perTopic?: PerTopicStatistics[]
57
+ }
58
+
59
+ export interface PerTopicStatistics {
60
+ name: string;
61
+ insightsCompletedCount: number;
62
+ }
63
+
64
+ export interface StreakRepair {
65
+ id: string;
66
+ v: number;
67
+ createdAt: string;
68
+ updatedAt: string;
69
+ userId: string;
70
+ repairDate_streakType : string;
71
+ repairDate: string;
72
+ streakType: string;
73
+ }
74
+
75
+ export interface DailyInsightCompleted {
76
+ id: string;
77
+ v: number;
78
+ createdAt: string;
79
+ updatedAt: string;
80
+ userId: string;
81
+ dateInsightCompleted: string;
82
+ }
@@ -1,43 +1,43 @@
1
- import { VideoMetadata } from './video-metadata';
2
-
3
- export interface VideoCroppedEvent {
4
- id: string;
5
- type: 'VideoCroppedEvent';
6
- payload: VideoCroppedEventPayload;
7
- }
8
-
9
- export interface VideoCroppedEventPayload {
10
- youTubeVideoId: string;
11
- startAtSeconds: number;
12
- endAtSeconds: number;
13
- reference: string;
14
- s3Path: string;
15
- videoMetadata: VideoMetadata;
16
- }
17
-
18
- export interface VideoCroppingFailedEvent {
19
- id: string;
20
- type: 'VideoCroppingFailedEvent';
21
- payload: VideoCroppingFailedEventPayload;
22
- }
23
-
24
- export interface VideoCroppingFailedEventPayload {
25
- reference: string;
26
- error: string;
27
- }
28
-
29
- export interface CropVideoCommandBody {
30
- // a command needs an id and a version so that it can be more easily replayed
31
- id: string;
32
- v: number;
33
- youTubeUrl: string;
34
- // a reference set by the service issuing this command. Used to match to the corresponding VideoCroppedEvent or VideoFailedToBeCroppedEvent (TBC whether a failed event is required)
35
- // TODO: better name
36
- reference: string;
37
- }
38
-
39
- export interface CropVideoCommand {
40
- id: string;
41
- type: 'CropVideoCommand';
42
- payload: CropVideoCommandBody;
43
- }
1
+ import { VideoMetadata } from './video-metadata';
2
+
3
+ export interface VideoCroppedEvent {
4
+ id: string;
5
+ type: 'VideoCroppedEvent';
6
+ payload: VideoCroppedEventPayload;
7
+ }
8
+
9
+ export interface VideoCroppedEventPayload {
10
+ youTubeVideoId: string;
11
+ startAtSeconds: number;
12
+ endAtSeconds: number;
13
+ reference: string;
14
+ s3Path: string;
15
+ videoMetadata: VideoMetadata;
16
+ }
17
+
18
+ export interface VideoCroppingFailedEvent {
19
+ id: string;
20
+ type: 'VideoCroppingFailedEvent';
21
+ payload: VideoCroppingFailedEventPayload;
22
+ }
23
+
24
+ export interface VideoCroppingFailedEventPayload {
25
+ reference: string;
26
+ error: string;
27
+ }
28
+
29
+ export interface CropVideoCommandBody {
30
+ // a command needs an id and a version so that it can be more easily replayed
31
+ id: string;
32
+ v: number;
33
+ youTubeUrl: string;
34
+ // a reference set by the service issuing this command. Used to match to the corresponding VideoCroppedEvent or VideoFailedToBeCroppedEvent (TBC whether a failed event is required)
35
+ // TODO: better name
36
+ reference: string;
37
+ }
38
+
39
+ export interface CropVideoCommand {
40
+ id: string;
41
+ type: 'CropVideoCommand';
42
+ payload: CropVideoCommandBody;
43
+ }
@@ -1,12 +1,12 @@
1
- export interface VideoMetadata {
2
- title: string;
3
- ownerChannelName: string;
4
- ownerChannelId: string;
5
- ownerProfileUrl: string;
6
- lengthSeconds: number;
7
- croppedSeconds: number;
8
- percentCropped: number;
9
- quality: string; // e.g. "hd1080", "small", "tiny"
10
- qualityLabel: string; // e.g. "1080p", "720p60 HDR"
11
- fileSize?: number;
12
- }
1
+ export interface VideoMetadata {
2
+ title: string;
3
+ ownerChannelName: string;
4
+ ownerChannelId: string;
5
+ ownerProfileUrl: string;
6
+ lengthSeconds: number;
7
+ croppedSeconds: number;
8
+ percentCropped: number;
9
+ quality: string; // e.g. "hd1080", "small", "tiny"
10
+ qualityLabel: string; // e.g. "1080p", "720p60 HDR"
11
+ fileSize?: number;
12
+ }
package/tsconfig.cjs.json CHANGED
@@ -1,7 +1,7 @@
1
- {
2
- "extends": "./tsconfig.npm.json",
3
- "compilerOptions": {
4
- "module": "CommonJS",
5
- "outDir": "./dist/cjs"
6
- },
7
- }
1
+ {
2
+ "extends": "./tsconfig.npm.json",
3
+ "compilerOptions": {
4
+ "module": "CommonJS",
5
+ "outDir": "./dist/cjs"
6
+ },
7
+ }
package/tsconfig.npm.json CHANGED
@@ -1,21 +1,21 @@
1
- {
2
- "compilerOptions": {
3
- "build": true,
4
- "target": "ES2020",
5
- "module": "ES2020",
6
- "declaration": true,
7
- "emitDeclarationOnly": false,
8
- "declarationMap": true,
9
- "sourceMap": true,
10
- "outDir": "./dist/esm",
11
- "noEmit": false,
12
- "strict": true,
13
- "noImplicitAny": true,
14
- "strictNullChecks": true,
15
- "esModuleInterop": true,
16
- "moduleResolution": "node",
17
- },
18
- "files": [
19
- "src/index.ts"
20
- ]
21
- }
1
+ {
2
+ "compilerOptions": {
3
+ "build": true,
4
+ "target": "ES2020",
5
+ "module": "ES2020",
6
+ "declaration": true,
7
+ "emitDeclarationOnly": false,
8
+ "declarationMap": true,
9
+ "sourceMap": true,
10
+ "outDir": "./dist/esm",
11
+ "noEmit": false,
12
+ "strict": true,
13
+ "noImplicitAny": true,
14
+ "strictNullChecks": true,
15
+ "esModuleInterop": true,
16
+ "moduleResolution": "node",
17
+ },
18
+ "files": [
19
+ "src/index.ts"
20
+ ]
21
+ }