@intlayer/backend-contract 0.0.0-stage → 9.6.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 (164) hide show
  1. package/README.md +330 -2
  2. package/dist/cjs/ai.cjs +267 -0
  3. package/dist/cjs/ai.cjs.map +1 -0
  4. package/dist/cjs/analytics.cjs +175 -0
  5. package/dist/cjs/analytics.cjs.map +1 -0
  6. package/dist/cjs/asset.cjs +88 -0
  7. package/dist/cjs/asset.cjs.map +1 -0
  8. package/dist/cjs/blogComment.cjs +98 -0
  9. package/dist/cjs/blogComment.cjs.map +1 -0
  10. package/dist/cjs/cliSessionToken.cjs +40 -0
  11. package/dist/cjs/cliSessionToken.cjs.map +1 -0
  12. package/dist/cjs/common.cjs +42 -0
  13. package/dist/cjs/common.cjs.map +1 -0
  14. package/dist/cjs/defineRoute.cjs +26 -0
  15. package/dist/cjs/defineRoute.cjs.map +1 -0
  16. package/dist/cjs/demo.cjs +22 -0
  17. package/dist/cjs/demo.cjs.map +1 -0
  18. package/dist/cjs/dictionary.cjs +168 -0
  19. package/dist/cjs/dictionary.cjs.map +1 -0
  20. package/dist/cjs/environment.cjs +91 -0
  21. package/dist/cjs/environment.cjs.map +1 -0
  22. package/dist/cjs/eventListener.cjs +19 -0
  23. package/dist/cjs/eventListener.cjs.map +1 -0
  24. package/dist/cjs/gitProviders.cjs +361 -0
  25. package/dist/cjs/gitProviders.cjs.map +1 -0
  26. package/dist/cjs/newsletter.cjs +50 -0
  27. package/dist/cjs/newsletter.cjs.map +1 -0
  28. package/dist/cjs/oAuth2.cjs +62 -0
  29. package/dist/cjs/oAuth2.cjs.map +1 -0
  30. package/dist/cjs/organization.cjs +226 -0
  31. package/dist/cjs/organization.cjs.map +1 -0
  32. package/dist/cjs/project.cjs +401 -0
  33. package/dist/cjs/project.cjs.map +1 -0
  34. package/dist/cjs/public.cjs +60 -0
  35. package/dist/cjs/public.cjs.map +1 -0
  36. package/dist/cjs/responseData.cjs +33 -0
  37. package/dist/cjs/responseData.cjs.map +1 -0
  38. package/dist/cjs/reviewer.cjs +401 -0
  39. package/dist/cjs/reviewer.cjs.map +1 -0
  40. package/dist/cjs/scan.cjs +235 -0
  41. package/dist/cjs/scan.cjs.map +1 -0
  42. package/dist/cjs/search.cjs +40 -0
  43. package/dist/cjs/search.cjs.map +1 -0
  44. package/dist/cjs/session.cjs +56 -0
  45. package/dist/cjs/session.cjs.map +1 -0
  46. package/dist/cjs/showcaseProject.cjs +185 -0
  47. package/dist/cjs/showcaseProject.cjs.map +1 -0
  48. package/dist/cjs/stripe.cjs +388 -0
  49. package/dist/cjs/stripe.cjs.map +1 -0
  50. package/dist/cjs/tag.cjs +83 -0
  51. package/dist/cjs/tag.cjs.map +1 -0
  52. package/dist/cjs/translation.cjs +54 -0
  53. package/dist/cjs/translation.cjs.map +1 -0
  54. package/dist/cjs/user.cjs +153 -0
  55. package/dist/cjs/user.cjs.map +1 -0
  56. package/dist/esm/ai.mjs +261 -0
  57. package/dist/esm/ai.mjs.map +1 -0
  58. package/dist/esm/analytics.mjs +168 -0
  59. package/dist/esm/analytics.mjs.map +1 -0
  60. package/dist/esm/asset.mjs +86 -0
  61. package/dist/esm/asset.mjs.map +1 -0
  62. package/dist/esm/blogComment.mjs +94 -0
  63. package/dist/esm/blogComment.mjs.map +1 -0
  64. package/dist/esm/cliSessionToken.mjs +39 -0
  65. package/dist/esm/cliSessionToken.mjs.map +1 -0
  66. package/dist/esm/common.mjs +35 -0
  67. package/dist/esm/common.mjs.map +1 -0
  68. package/dist/esm/defineRoute.mjs +23 -0
  69. package/dist/esm/defineRoute.mjs.map +1 -0
  70. package/dist/esm/demo.mjs +21 -0
  71. package/dist/esm/demo.mjs.map +1 -0
  72. package/dist/esm/dictionary.mjs +163 -0
  73. package/dist/esm/dictionary.mjs.map +1 -0
  74. package/dist/esm/environment.mjs +90 -0
  75. package/dist/esm/environment.mjs.map +1 -0
  76. package/dist/esm/eventListener.mjs +18 -0
  77. package/dist/esm/eventListener.mjs.map +1 -0
  78. package/dist/esm/gitProviders.mjs +352 -0
  79. package/dist/esm/gitProviders.mjs.map +1 -0
  80. package/dist/esm/newsletter.mjs +49 -0
  81. package/dist/esm/newsletter.mjs.map +1 -0
  82. package/dist/esm/oAuth2.mjs +60 -0
  83. package/dist/esm/oAuth2.mjs.map +1 -0
  84. package/dist/esm/organization.mjs +219 -0
  85. package/dist/esm/organization.mjs.map +1 -0
  86. package/dist/esm/project.mjs +387 -0
  87. package/dist/esm/project.mjs.map +1 -0
  88. package/dist/esm/public.mjs +58 -0
  89. package/dist/esm/public.mjs.map +1 -0
  90. package/dist/esm/responseData.mjs +30 -0
  91. package/dist/esm/responseData.mjs.map +1 -0
  92. package/dist/esm/reviewer.mjs +390 -0
  93. package/dist/esm/reviewer.mjs.map +1 -0
  94. package/dist/esm/scan.mjs +225 -0
  95. package/dist/esm/scan.mjs.map +1 -0
  96. package/dist/esm/search.mjs +38 -0
  97. package/dist/esm/search.mjs.map +1 -0
  98. package/dist/esm/session.mjs +53 -0
  99. package/dist/esm/session.mjs.map +1 -0
  100. package/dist/esm/showcaseProject.mjs +182 -0
  101. package/dist/esm/showcaseProject.mjs.map +1 -0
  102. package/dist/esm/stripe.mjs +379 -0
  103. package/dist/esm/stripe.mjs.map +1 -0
  104. package/dist/esm/tag.mjs +81 -0
  105. package/dist/esm/tag.mjs.map +1 -0
  106. package/dist/esm/translation.mjs +53 -0
  107. package/dist/esm/translation.mjs.map +1 -0
  108. package/dist/esm/user.mjs +149 -0
  109. package/dist/esm/user.mjs.map +1 -0
  110. package/dist/types/ai.d.ts +549 -0
  111. package/dist/types/ai.d.ts.map +1 -0
  112. package/dist/types/analytics.d.ts +378 -0
  113. package/dist/types/analytics.d.ts.map +1 -0
  114. package/dist/types/asset.d.ts +207 -0
  115. package/dist/types/asset.d.ts.map +1 -0
  116. package/dist/types/blogComment.d.ts +241 -0
  117. package/dist/types/blogComment.d.ts.map +1 -0
  118. package/dist/types/cliSessionToken.d.ts +263 -0
  119. package/dist/types/cliSessionToken.d.ts.map +1 -0
  120. package/dist/types/common.d.ts +32 -0
  121. package/dist/types/common.d.ts.map +1 -0
  122. package/dist/types/defineRoute.d.ts +57 -0
  123. package/dist/types/defineRoute.d.ts.map +1 -0
  124. package/dist/types/demo.d.ts +21 -0
  125. package/dist/types/demo.d.ts.map +1 -0
  126. package/dist/types/dictionary.d.ts +360 -0
  127. package/dist/types/dictionary.d.ts.map +1 -0
  128. package/dist/types/environment.d.ts +284 -0
  129. package/dist/types/environment.d.ts.map +1 -0
  130. package/dist/types/eventListener.d.ts +17 -0
  131. package/dist/types/eventListener.d.ts.map +1 -0
  132. package/dist/types/gitProviders.d.ts +807 -0
  133. package/dist/types/gitProviders.d.ts.map +1 -0
  134. package/dist/types/newsletter.d.ts +165 -0
  135. package/dist/types/newsletter.d.ts.map +1 -0
  136. package/dist/types/oAuth2.d.ts +481 -0
  137. package/dist/types/oAuth2.d.ts.map +1 -0
  138. package/dist/types/organization.d.ts +1069 -0
  139. package/dist/types/organization.d.ts.map +1 -0
  140. package/dist/types/project.d.ts +1735 -0
  141. package/dist/types/project.d.ts.map +1 -0
  142. package/dist/types/public.d.ts +109 -0
  143. package/dist/types/public.d.ts.map +1 -0
  144. package/dist/types/responseData.d.ts +68 -0
  145. package/dist/types/responseData.d.ts.map +1 -0
  146. package/dist/types/reviewer.d.ts +1239 -0
  147. package/dist/types/reviewer.d.ts.map +1 -0
  148. package/dist/types/scan.d.ts +625 -0
  149. package/dist/types/scan.d.ts.map +1 -0
  150. package/dist/types/search.d.ts +55 -0
  151. package/dist/types/search.d.ts.map +1 -0
  152. package/dist/types/session.d.ts +286 -0
  153. package/dist/types/session.d.ts.map +1 -0
  154. package/dist/types/showcaseProject.d.ts +550 -0
  155. package/dist/types/showcaseProject.d.ts.map +1 -0
  156. package/dist/types/stripe.d.ts +1219 -0
  157. package/dist/types/stripe.d.ts.map +1 -0
  158. package/dist/types/tag.d.ts +193 -0
  159. package/dist/types/tag.d.ts.map +1 -0
  160. package/dist/types/translation.d.ts +162 -0
  161. package/dist/types/translation.d.ts.map +1 -0
  162. package/dist/types/user.d.ts +447 -0
  163. package/dist/types/user.d.ts.map +1 -0
  164. package/package.json +300 -4
@@ -0,0 +1,378 @@
1
+ import { RouteBodyInput, RouteDefinition, RouteGroup } from "./defineRoute.js";
2
+ import { ResponseData } from "./responseData.js";
3
+ import { z } from "zod/mini";
4
+ //#region src/analytics.d.ts
5
+ /** Kind of analytics event sent by the SDK. */
6
+ export declare const analyticsEventTypeSchema: z.ZodMiniEnum<{
7
+ content_exposure: "content_exposure";
8
+ conversion: "conversion";
9
+ page_view: "page_view";
10
+ }>;
11
+ /** One event as sent by the SDK (batched). */
12
+ export declare const incomingAnalyticsEventSchema: z.ZodMiniObject<{
13
+ type: z.ZodMiniEnum<{
14
+ content_exposure: "content_exposure";
15
+ conversion: "conversion";
16
+ page_view: "page_view";
17
+ }>;
18
+ t: z.ZodMiniNumber<number>;
19
+ locale: z.ZodMiniString<string>;
20
+ url: z.ZodMiniString<string>;
21
+ ref: z.ZodMiniOptional<z.ZodMiniString<string>>;
22
+ dictionaryKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
23
+ keyPath: z.ZodMiniOptional<z.ZodMiniString<string>>;
24
+ nodeType: z.ZodMiniOptional<z.ZodMiniString<string>>;
25
+ variant: z.ZodMiniOptional<z.ZodMiniString<string>>;
26
+ count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
27
+ experimentKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
28
+ goal: z.ZodMiniOptional<z.ZodMiniString<string>>;
29
+ value: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
30
+ }, z.core.$loose>;
31
+ /** Time windows of the audience report. */
32
+ export declare const audienceRangeSchema: z.ZodMiniEnum<{
33
+ "1h": "1h";
34
+ "1y": "1y";
35
+ "24h": "24h";
36
+ "30d": "30d";
37
+ "3y": "3y";
38
+ "6mo": "6mo";
39
+ "7d": "7d";
40
+ "90d": "90d";
41
+ }>;
42
+ export declare const audienceGranularitySchema: z.ZodMiniEnum<{
43
+ day: "day";
44
+ hour: "hour";
45
+ minute: "minute";
46
+ month: "month";
47
+ week: "week";
48
+ }>;
49
+ export declare const audienceSeriesPointSchema: z.ZodMiniObject<{
50
+ bucket: z.ZodMiniString<string>;
51
+ users: z.ZodMiniNumber<number>;
52
+ views: z.ZodMiniNumber<number>;
53
+ }, z.core.$strip>;
54
+ declare const audienceBreakdownRowSchema: z.ZodMiniObject<{
55
+ key: z.ZodMiniString<string>;
56
+ users: z.ZodMiniNumber<number>;
57
+ views: z.ZodMiniNumber<number>;
58
+ }, z.core.$strip>;
59
+ export declare const audienceStatsSchema: z.ZodMiniObject<{
60
+ usersToday: z.ZodMiniNumber<number>;
61
+ usersLast7Days: z.ZodMiniNumber<number>;
62
+ usersInRange: z.ZodMiniNumber<number>;
63
+ viewsInRange: z.ZodMiniNumber<number>;
64
+ range: z.ZodMiniEnum<{
65
+ "1h": "1h";
66
+ "1y": "1y";
67
+ "24h": "24h";
68
+ "30d": "30d";
69
+ "3y": "3y";
70
+ "6mo": "6mo";
71
+ "7d": "7d";
72
+ "90d": "90d";
73
+ }>;
74
+ rangeHours: z.ZodMiniNumber<number>;
75
+ granularity: z.ZodMiniEnum<{
76
+ day: "day";
77
+ hour: "hour";
78
+ minute: "minute";
79
+ month: "month";
80
+ week: "week";
81
+ }>;
82
+ series: z.ZodMiniArray<z.ZodMiniObject<{
83
+ bucket: z.ZodMiniString<string>;
84
+ users: z.ZodMiniNumber<number>;
85
+ views: z.ZodMiniNumber<number>;
86
+ }, z.core.$strip>>;
87
+ byLocale: z.ZodMiniArray<z.ZodMiniObject<{
88
+ key: z.ZodMiniString<string>;
89
+ users: z.ZodMiniNumber<number>;
90
+ views: z.ZodMiniNumber<number>;
91
+ }, z.core.$strip>>;
92
+ byCountry: z.ZodMiniArray<z.ZodMiniObject<{
93
+ key: z.ZodMiniString<string>;
94
+ users: z.ZodMiniNumber<number>;
95
+ views: z.ZodMiniNumber<number>;
96
+ }, z.core.$strip>>;
97
+ byPage: z.ZodMiniArray<z.ZodMiniObject<{
98
+ key: z.ZodMiniString<string>;
99
+ users: z.ZodMiniNumber<number>;
100
+ views: z.ZodMiniNumber<number>;
101
+ }, z.core.$strip>>;
102
+ }, z.core.$strip>;
103
+ declare const analyticsOverviewRowSchema: z.ZodMiniObject<{
104
+ url: z.ZodMiniString<string>;
105
+ locale: z.ZodMiniString<string>;
106
+ views: z.ZodMiniNumber<number>;
107
+ }, z.core.$strip>;
108
+ declare const contentStatRowSchema: z.ZodMiniObject<{
109
+ dictionaryKey: z.ZodMiniString<string>;
110
+ keyPath: z.ZodMiniString<string>;
111
+ locale: z.ZodMiniString<string>;
112
+ exposures: z.ZodMiniNumber<number>;
113
+ }, z.core.$strip>;
114
+ declare const experimentResultSchema: z.ZodMiniObject<{
115
+ experimentKey: z.ZodMiniString<string>;
116
+ variants: z.ZodMiniArray<z.ZodMiniObject<{
117
+ variant: z.ZodMiniString<string>;
118
+ exposures: z.ZodMiniNumber<number>;
119
+ conversions: z.ZodMiniNumber<number>;
120
+ conversionRate: z.ZodMiniNumber<number>;
121
+ }, z.core.$strip>>;
122
+ pValue: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
123
+ winner: z.ZodMiniNullable<z.ZodMiniString<string>>;
124
+ }, z.core.$strip>;
125
+ declare const pageMetadataSchema: z.ZodMiniObject<{
126
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
127
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
128
+ }, z.core.$strip>;
129
+ /** REST contract of the `/api/analytics` routes. */
130
+ export declare const analyticsContract: RouteGroup<"/api/analytics", {
131
+ readonly ingestAnalyticsEvents: RouteDefinition<"POST", "/events", {
132
+ /** Sent as `text/plain` JSON by `navigator.sendBeacon`. */
133
+ readonly body: z.ZodMiniObject<{
134
+ token: z.ZodMiniOptional<z.ZodMiniString<string>>;
135
+ clientId: z.ZodMiniOptional<z.ZodMiniString<string>>;
136
+ sessionId: z.ZodMiniString<string>;
137
+ sdkVersion: z.ZodMiniString<string>;
138
+ events: z.ZodMiniArray<z.ZodMiniObject<{
139
+ type: z.ZodMiniEnum<{
140
+ content_exposure: "content_exposure";
141
+ conversion: "conversion";
142
+ page_view: "page_view";
143
+ }>;
144
+ t: z.ZodMiniNumber<number>;
145
+ locale: z.ZodMiniString<string>;
146
+ url: z.ZodMiniString<string>;
147
+ ref: z.ZodMiniOptional<z.ZodMiniString<string>>;
148
+ dictionaryKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
149
+ keyPath: z.ZodMiniOptional<z.ZodMiniString<string>>;
150
+ nodeType: z.ZodMiniOptional<z.ZodMiniString<string>>;
151
+ variant: z.ZodMiniOptional<z.ZodMiniString<string>>;
152
+ count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
153
+ experimentKey: z.ZodMiniOptional<z.ZodMiniString<string>>;
154
+ goal: z.ZodMiniOptional<z.ZodMiniString<string>>;
155
+ value: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
156
+ }, z.core.$loose>>;
157
+ }, z.core.$loose>;
158
+ readonly response: {
159
+ 200: z.ZodMiniObject<{
160
+ success: z.ZodMiniBoolean<boolean>;
161
+ status: z.ZodMiniNumber<number>;
162
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
163
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
164
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
165
+ accepted: z.ZodMiniNumber<number>;
166
+ }, z.core.$strip>>;
167
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
168
+ code: z.ZodMiniString<string>;
169
+ title: z.ZodMiniString<string>;
170
+ message: z.ZodMiniString<string>;
171
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
172
+ code: z.ZodMiniString<string>;
173
+ title: z.ZodMiniString<string>;
174
+ message: z.ZodMiniString<string>;
175
+ }, z.core.$loose>>]>>;
176
+ }, z.core.$strip>;
177
+ };
178
+ }>;
179
+ readonly getAnalyticsOverview: RouteDefinition<"GET", "/overview", {
180
+ readonly response: {
181
+ 200: z.ZodMiniObject<{
182
+ success: z.ZodMiniBoolean<boolean>;
183
+ status: z.ZodMiniNumber<number>;
184
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
185
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
186
+ data: z.ZodMiniNullable<z.ZodMiniArray<z.ZodMiniObject<{
187
+ url: z.ZodMiniString<string>;
188
+ locale: z.ZodMiniString<string>;
189
+ views: z.ZodMiniNumber<number>;
190
+ }, z.core.$strip>>>;
191
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
192
+ code: z.ZodMiniString<string>;
193
+ title: z.ZodMiniString<string>;
194
+ message: z.ZodMiniString<string>;
195
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
196
+ code: z.ZodMiniString<string>;
197
+ title: z.ZodMiniString<string>;
198
+ message: z.ZodMiniString<string>;
199
+ }, z.core.$loose>>]>>;
200
+ }, z.core.$strip>;
201
+ };
202
+ }>;
203
+ readonly getAnalyticsAudience: RouteDefinition<"GET", "/audience", {
204
+ readonly querystring: z.ZodMiniObject<{
205
+ range: z.ZodMiniOptional<z.ZodMiniString<string>>;
206
+ days: z.ZodMiniOptional<z.ZodMiniString<string>>;
207
+ }, z.core.$strip>;
208
+ readonly response: {
209
+ 200: z.ZodMiniObject<{
210
+ success: z.ZodMiniBoolean<boolean>;
211
+ status: z.ZodMiniNumber<number>;
212
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
213
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
214
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
215
+ usersToday: z.ZodMiniNumber<number>;
216
+ usersLast7Days: z.ZodMiniNumber<number>;
217
+ usersInRange: z.ZodMiniNumber<number>;
218
+ viewsInRange: z.ZodMiniNumber<number>;
219
+ range: z.ZodMiniEnum<{
220
+ "1h": "1h";
221
+ "1y": "1y";
222
+ "24h": "24h";
223
+ "30d": "30d";
224
+ "3y": "3y";
225
+ "6mo": "6mo";
226
+ "7d": "7d";
227
+ "90d": "90d";
228
+ }>;
229
+ rangeHours: z.ZodMiniNumber<number>;
230
+ granularity: z.ZodMiniEnum<{
231
+ day: "day";
232
+ hour: "hour";
233
+ minute: "minute";
234
+ month: "month";
235
+ week: "week";
236
+ }>;
237
+ series: z.ZodMiniArray<z.ZodMiniObject<{
238
+ bucket: z.ZodMiniString<string>;
239
+ users: z.ZodMiniNumber<number>;
240
+ views: z.ZodMiniNumber<number>;
241
+ }, z.core.$strip>>;
242
+ byLocale: z.ZodMiniArray<z.ZodMiniObject<{
243
+ key: z.ZodMiniString<string>;
244
+ users: z.ZodMiniNumber<number>;
245
+ views: z.ZodMiniNumber<number>;
246
+ }, z.core.$strip>>;
247
+ byCountry: z.ZodMiniArray<z.ZodMiniObject<{
248
+ key: z.ZodMiniString<string>;
249
+ users: z.ZodMiniNumber<number>;
250
+ views: z.ZodMiniNumber<number>;
251
+ }, z.core.$strip>>;
252
+ byPage: z.ZodMiniArray<z.ZodMiniObject<{
253
+ key: z.ZodMiniString<string>;
254
+ users: z.ZodMiniNumber<number>;
255
+ views: z.ZodMiniNumber<number>;
256
+ }, z.core.$strip>>;
257
+ }, z.core.$strip>>;
258
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
259
+ code: z.ZodMiniString<string>;
260
+ title: z.ZodMiniString<string>;
261
+ message: z.ZodMiniString<string>;
262
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
263
+ code: z.ZodMiniString<string>;
264
+ title: z.ZodMiniString<string>;
265
+ message: z.ZodMiniString<string>;
266
+ }, z.core.$loose>>]>>;
267
+ }, z.core.$strip>;
268
+ };
269
+ }>;
270
+ readonly getContentStats: RouteDefinition<"GET", "/content-stats", {
271
+ readonly response: {
272
+ 200: z.ZodMiniObject<{
273
+ success: z.ZodMiniBoolean<boolean>;
274
+ status: z.ZodMiniNumber<number>;
275
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
276
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
277
+ data: z.ZodMiniNullable<z.ZodMiniArray<z.ZodMiniObject<{
278
+ dictionaryKey: z.ZodMiniString<string>;
279
+ keyPath: z.ZodMiniString<string>;
280
+ locale: z.ZodMiniString<string>;
281
+ exposures: z.ZodMiniNumber<number>;
282
+ }, z.core.$strip>>>;
283
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
284
+ code: z.ZodMiniString<string>;
285
+ title: z.ZodMiniString<string>;
286
+ message: z.ZodMiniString<string>;
287
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
288
+ code: z.ZodMiniString<string>;
289
+ title: z.ZodMiniString<string>;
290
+ message: z.ZodMiniString<string>;
291
+ }, z.core.$loose>>]>>;
292
+ }, z.core.$strip>;
293
+ };
294
+ }>;
295
+ readonly getExperimentResults: RouteDefinition<"GET", "/experiments/:experimentKey", {
296
+ readonly params: z.ZodMiniObject<{
297
+ experimentKey: z.ZodMiniString<string>;
298
+ }, z.core.$strip>;
299
+ readonly response: {
300
+ 200: z.ZodMiniObject<{
301
+ success: z.ZodMiniBoolean<boolean>;
302
+ status: z.ZodMiniNumber<number>;
303
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
304
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
305
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
306
+ experimentKey: z.ZodMiniString<string>;
307
+ variants: z.ZodMiniArray<z.ZodMiniObject<{
308
+ variant: z.ZodMiniString<string>;
309
+ exposures: z.ZodMiniNumber<number>;
310
+ conversions: z.ZodMiniNumber<number>;
311
+ conversionRate: z.ZodMiniNumber<number>;
312
+ }, z.core.$strip>>;
313
+ pValue: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
314
+ winner: z.ZodMiniNullable<z.ZodMiniString<string>>;
315
+ }, z.core.$strip>>;
316
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
317
+ code: z.ZodMiniString<string>;
318
+ title: z.ZodMiniString<string>;
319
+ message: z.ZodMiniString<string>;
320
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
321
+ code: z.ZodMiniString<string>;
322
+ title: z.ZodMiniString<string>;
323
+ message: z.ZodMiniString<string>;
324
+ }, z.core.$loose>>]>>;
325
+ }, z.core.$strip>;
326
+ };
327
+ }>;
328
+ readonly getPageMetadata: RouteDefinition<"GET", "/page-metadata", {
329
+ readonly querystring: z.ZodMiniObject<{
330
+ url: z.ZodMiniOptional<z.ZodMiniString<string>>;
331
+ }, z.core.$strip>;
332
+ readonly response: {
333
+ 200: z.ZodMiniObject<{
334
+ success: z.ZodMiniBoolean<boolean>;
335
+ status: z.ZodMiniNumber<number>;
336
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
337
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
338
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
339
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
340
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
341
+ }, z.core.$strip>>;
342
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
343
+ code: z.ZodMiniString<string>;
344
+ title: z.ZodMiniString<string>;
345
+ message: z.ZodMiniString<string>;
346
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
347
+ code: z.ZodMiniString<string>;
348
+ title: z.ZodMiniString<string>;
349
+ message: z.ZodMiniString<string>;
350
+ }, z.core.$loose>>]>>;
351
+ }, z.core.$strip>;
352
+ };
353
+ }>;
354
+ }>;
355
+ /** Route definitions of the `/api/analytics` group, by name. */
356
+ export type AnalyticsRoutes = (typeof analyticsContract)['routes'];
357
+ export type AnalyticsEventType = z.output<typeof analyticsEventTypeSchema>;
358
+ export type IncomingAnalyticsEvent = z.output<typeof incomingAnalyticsEventSchema>;
359
+ export type AudienceRange = z.output<typeof audienceRangeSchema>;
360
+ export type AudienceGranularity = z.output<typeof audienceGranularitySchema>;
361
+ export type AudienceSeriesPoint = z.output<typeof audienceSeriesPointSchema>;
362
+ export type AudienceBreakdownRow = z.output<typeof audienceBreakdownRowSchema>;
363
+ export type AudienceStats = z.output<typeof audienceStatsSchema>;
364
+ export type AnalyticsOverviewRow = z.output<typeof analyticsOverviewRowSchema>;
365
+ export type ContentStatRow = z.output<typeof contentStatRowSchema>;
366
+ export type ExperimentResult = z.output<typeof experimentResultSchema>;
367
+ export type PageMetadata = z.output<typeof pageMetadataSchema>;
368
+ export type IngestAnalyticsBody = RouteBodyInput<AnalyticsRoutes['ingestAnalyticsEvents']>;
369
+ export type IngestAnalyticsResult = ResponseData<{
370
+ accepted: number;
371
+ }>;
372
+ export type GetAnalyticsOverviewResult = ResponseData<AnalyticsOverviewRow[]>;
373
+ export type GetContentStatsResult = ResponseData<ContentStatRow[]>;
374
+ export type GetExperimentResultsResult = ResponseData<ExperimentResult>;
375
+ export type GetAudienceResult = ResponseData<AudienceStats>;
376
+ export type GetPageMetadataResult = ResponseData<PageMetadata>;
377
+ //#endregion
378
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","names":[],"sources":["../../src/analytics.ts"],"mappings":";;;;;qBASa,0BAAwB,EAAA;;;;;;qBAOxB,8BAA4B,EAAA;;;;;;;;;;;;;;;;;;GAevC,EAAA,KAAA;;qBAGW,qBAAmB,EAAA;;;;;;;;;;qBAWnB,2BAAyB,EAAA;;;;;;;qBAQzB,2BAAyB,EAAA;;;;GAKpC,EAAA,KAAA;cAEI,4BAA0B,EAAA;;;;GAI9B,EAAA,KAAA;qBAEW,qBAAmB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAY9B,EAAA,KAAA;cAEI,4BAA0B,EAAA;;;;GAI9B,EAAA,KAAA;cAEI,sBAAoB,EAAA;;;;;GAKxB,EAAA,KAAA;cAEI,wBAAsB,EAAA;;;;;;;;;;GAY1B,EAAA,KAAA;cAEI,oBAAkB,EAAA;;;GAGtB,EAAA,KAAA;;qBAGW;kCAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;iCAUA;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;iCAcU;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAQA;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;iCASA;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BASA;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;YAOX,0BAA0B;YAE1B,qBAAqB,EAAE,cAAc;YACrC,yBAAyB,EAAE,cAC9B;YAEG,gBAAgB,EAAE,cAAc;YAChC,sBAAsB,EAAE,cAAc;YACtC,sBAAsB,EAAE,cAAc;YACtC,uBAAuB,EAAE,cAAc;YACvC,gBAAgB,EAAE,cAAc;YAChC,uBAAuB,EAAE,cAAc;YACvC,iBAAiB,EAAE,cAAc;YACjC,mBAAmB,EAAE,cAAc;YACnC,eAAe,EAAE,cAAc;YAE/B,sBAAsB,eAChC;YAEU,wBAAwB;EAAe;;YACvC,6BAA6B,aAAa;YAC1C,wBAAwB,aAAa;YACrC,6BAA6B,aAAa;YAC1C,oBAAoB,aAAa;YACjC,wBAAwB,aAAa"}
@@ -0,0 +1,207 @@
1
+ import { RouteBodyInput, RouteDefinition, RouteGroup } from "./defineRoute.js";
2
+ import { PaginatedResponse, ResponseData } from "./responseData.js";
3
+ import { z } from "zod/mini";
4
+ //#region src/asset.d.ts
5
+ /** Image uploaded to a project (served from the CDN). */
6
+ export declare const assetSchema: z.ZodMiniObject<{
7
+ id: z.ZodMiniString<string>;
8
+ projectId: z.ZodMiniString<string>;
9
+ originalName: z.ZodMiniString<string>;
10
+ mimeType: z.ZodMiniString<string>;
11
+ size: z.ZodMiniNumber<number>;
12
+ s3Key: z.ZodMiniString<string>;
13
+ publicUrl: z.ZodMiniString<string>;
14
+ alt: z.ZodMiniOptional<z.ZodMiniString<string>>;
15
+ caption: z.ZodMiniOptional<z.ZodMiniString<string>>;
16
+ uploadedBy: z.ZodMiniString<string>;
17
+ createdAt: z.ZodMiniString<string>;
18
+ updatedAt: z.ZodMiniString<string>;
19
+ }, z.core.$loose>;
20
+ /** REST contract of the `/api/assets` routes (scoped to the selected project). */
21
+ export declare const assetContract: RouteGroup<"/api/assets", {
22
+ readonly getAssets: RouteDefinition<"GET", "/", {
23
+ readonly querystring: z.ZodMiniObject<{
24
+ page: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>;
25
+ pageSize: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>>;
26
+ }, z.core.$strip>;
27
+ readonly response: {
28
+ 200: z.ZodMiniObject<{
29
+ success: z.ZodMiniBoolean<boolean>;
30
+ status: z.ZodMiniNumber<number>;
31
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
32
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
33
+ data: z.ZodMiniNullable<z.ZodMiniArray<z.ZodMiniObject<{
34
+ id: z.ZodMiniString<string>;
35
+ projectId: z.ZodMiniString<string>;
36
+ originalName: z.ZodMiniString<string>;
37
+ mimeType: z.ZodMiniString<string>;
38
+ size: z.ZodMiniNumber<number>;
39
+ s3Key: z.ZodMiniString<string>;
40
+ publicUrl: z.ZodMiniString<string>;
41
+ alt: z.ZodMiniOptional<z.ZodMiniString<string>>;
42
+ caption: z.ZodMiniOptional<z.ZodMiniString<string>>;
43
+ uploadedBy: z.ZodMiniString<string>;
44
+ createdAt: z.ZodMiniString<string>;
45
+ updatedAt: z.ZodMiniString<string>;
46
+ }, z.core.$loose>>>;
47
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
48
+ code: z.ZodMiniString<string>;
49
+ title: z.ZodMiniString<string>;
50
+ message: z.ZodMiniString<string>;
51
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
52
+ code: z.ZodMiniString<string>;
53
+ title: z.ZodMiniString<string>;
54
+ message: z.ZodMiniString<string>;
55
+ }, z.core.$loose>>]>>;
56
+ page: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
57
+ page_size: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
58
+ total_pages: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
59
+ total_items: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
60
+ }, z.core.$strip>;
61
+ };
62
+ }>;
63
+ readonly getAssetById: RouteDefinition<"GET", "/:assetId", {
64
+ readonly params: z.ZodMiniObject<{
65
+ assetId: z.ZodMiniString<string>;
66
+ }, z.core.$strip>;
67
+ readonly response: {
68
+ 200: z.ZodMiniObject<{
69
+ success: z.ZodMiniBoolean<boolean>;
70
+ status: z.ZodMiniNumber<number>;
71
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
72
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
73
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
74
+ id: z.ZodMiniString<string>;
75
+ projectId: z.ZodMiniString<string>;
76
+ originalName: z.ZodMiniString<string>;
77
+ mimeType: z.ZodMiniString<string>;
78
+ size: z.ZodMiniNumber<number>;
79
+ s3Key: z.ZodMiniString<string>;
80
+ publicUrl: z.ZodMiniString<string>;
81
+ alt: z.ZodMiniOptional<z.ZodMiniString<string>>;
82
+ caption: z.ZodMiniOptional<z.ZodMiniString<string>>;
83
+ uploadedBy: z.ZodMiniString<string>;
84
+ createdAt: z.ZodMiniString<string>;
85
+ updatedAt: z.ZodMiniString<string>;
86
+ }, z.core.$loose>>;
87
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
88
+ code: z.ZodMiniString<string>;
89
+ title: z.ZodMiniString<string>;
90
+ message: z.ZodMiniString<string>;
91
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
92
+ code: z.ZodMiniString<string>;
93
+ title: z.ZodMiniString<string>;
94
+ message: z.ZodMiniString<string>;
95
+ }, z.core.$loose>>]>>;
96
+ }, z.core.$strip>;
97
+ };
98
+ }>;
99
+ readonly uploadAsset: RouteDefinition<"POST", "/", {
100
+ readonly response: {
101
+ 200: z.ZodMiniObject<{
102
+ success: z.ZodMiniBoolean<boolean>;
103
+ status: z.ZodMiniNumber<number>;
104
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
105
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
106
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
107
+ id: z.ZodMiniString<string>;
108
+ projectId: z.ZodMiniString<string>;
109
+ originalName: z.ZodMiniString<string>;
110
+ mimeType: z.ZodMiniString<string>;
111
+ size: z.ZodMiniNumber<number>;
112
+ s3Key: z.ZodMiniString<string>;
113
+ publicUrl: z.ZodMiniString<string>;
114
+ alt: z.ZodMiniOptional<z.ZodMiniString<string>>;
115
+ caption: z.ZodMiniOptional<z.ZodMiniString<string>>;
116
+ uploadedBy: z.ZodMiniString<string>;
117
+ createdAt: z.ZodMiniString<string>;
118
+ updatedAt: z.ZodMiniString<string>;
119
+ }, z.core.$loose>>;
120
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
121
+ code: z.ZodMiniString<string>;
122
+ title: z.ZodMiniString<string>;
123
+ message: z.ZodMiniString<string>;
124
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
125
+ code: z.ZodMiniString<string>;
126
+ title: z.ZodMiniString<string>;
127
+ message: z.ZodMiniString<string>;
128
+ }, z.core.$loose>>]>>;
129
+ }, z.core.$strip>;
130
+ };
131
+ }>;
132
+ readonly updateAsset: RouteDefinition<"PATCH", "/:assetId", {
133
+ readonly params: z.ZodMiniObject<{
134
+ assetId: z.ZodMiniString<string>;
135
+ }, z.core.$strip>;
136
+ readonly body: z.ZodMiniObject<{
137
+ originalName: z.ZodMiniOptional<z.ZodMiniString<string>>;
138
+ alt: z.ZodMiniOptional<z.ZodMiniString<string>>;
139
+ caption: z.ZodMiniOptional<z.ZodMiniString<string>>;
140
+ }, z.core.$strip>;
141
+ readonly response: {
142
+ 200: z.ZodMiniObject<{
143
+ success: z.ZodMiniBoolean<boolean>;
144
+ status: z.ZodMiniNumber<number>;
145
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
146
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
147
+ data: z.ZodMiniNullable<z.ZodMiniObject<{
148
+ id: z.ZodMiniString<string>;
149
+ projectId: z.ZodMiniString<string>;
150
+ originalName: z.ZodMiniString<string>;
151
+ mimeType: z.ZodMiniString<string>;
152
+ size: z.ZodMiniNumber<number>;
153
+ s3Key: z.ZodMiniString<string>;
154
+ publicUrl: z.ZodMiniString<string>;
155
+ alt: z.ZodMiniOptional<z.ZodMiniString<string>>;
156
+ caption: z.ZodMiniOptional<z.ZodMiniString<string>>;
157
+ uploadedBy: z.ZodMiniString<string>;
158
+ createdAt: z.ZodMiniString<string>;
159
+ updatedAt: z.ZodMiniString<string>;
160
+ }, z.core.$loose>>;
161
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
162
+ code: z.ZodMiniString<string>;
163
+ title: z.ZodMiniString<string>;
164
+ message: z.ZodMiniString<string>;
165
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
166
+ code: z.ZodMiniString<string>;
167
+ title: z.ZodMiniString<string>;
168
+ message: z.ZodMiniString<string>;
169
+ }, z.core.$loose>>]>>;
170
+ }, z.core.$strip>;
171
+ };
172
+ }>;
173
+ readonly deleteAsset: RouteDefinition<"DELETE", "/:assetId", {
174
+ readonly params: z.ZodMiniObject<{
175
+ assetId: z.ZodMiniString<string>;
176
+ }, z.core.$strip>;
177
+ readonly response: {
178
+ 200: z.ZodMiniObject<{
179
+ success: z.ZodMiniBoolean<boolean>;
180
+ status: z.ZodMiniNumber<number>;
181
+ message: z.ZodMiniOptional<z.ZodMiniString<string>>;
182
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
183
+ data: z.ZodMiniNullable<z.ZodMiniNull>;
184
+ error: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
185
+ code: z.ZodMiniString<string>;
186
+ title: z.ZodMiniString<string>;
187
+ message: z.ZodMiniString<string>;
188
+ }, z.core.$loose>, z.ZodMiniArray<z.ZodMiniObject<{
189
+ code: z.ZodMiniString<string>;
190
+ title: z.ZodMiniString<string>;
191
+ message: z.ZodMiniString<string>;
192
+ }, z.core.$loose>>]>>;
193
+ }, z.core.$strip>;
194
+ };
195
+ }>;
196
+ }>;
197
+ /** Route definitions of the `/api/assets` group, by name. */
198
+ export type AssetRoutes = (typeof assetContract)['routes'];
199
+ export type AssetAPI = z.output<typeof assetSchema>;
200
+ export type GetAssetsResult = PaginatedResponse<AssetAPI>;
201
+ export type GetAssetByIdResult = ResponseData<AssetAPI>;
202
+ export type UploadAssetResult = ResponseData<AssetAPI>;
203
+ export type UpdateAssetBody = RouteBodyInput<AssetRoutes['updateAsset']>;
204
+ export type UpdateAssetResult = ResponseData<AssetAPI>;
205
+ export type DeleteAssetResult = ResponseData<null>;
206
+ //#endregion
207
+ //# sourceMappingURL=asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.d.ts","names":[],"sources":["../../src/asset.ts"],"mappings":";;;;;qBAea,aAAW,EAAA;;;;;;;;;;;;;GAkBtB,EAAA,KAAA;;qBAMW;sBAUU;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBASA;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAQA;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAcA;;;;;;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBASA;;;;;MAAH,KAAG,EAAA;;;;;;;;;;;;;;;;;;;;YAOX,sBAAsB;YAEtB,WAAW,EAAE,cAAc;YAC3B,kBAAkB,kBAAkB;YACpC,qBAAqB,aAAa;YAClC,oBAAoB,aAAa;YACjC,kBAAkB,eAAe;YACjC,oBAAoB,aAAa;YACjC,oBAAoB"}