@buildinternet/releases-api-types 0.58.3 → 0.60.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 (125) hide show
  1. package/README.md +14 -6
  2. package/dist/api-types.d.ts +1168 -0
  3. package/dist/api-types.d.ts.map +1 -0
  4. package/dist/api-types.js +134 -0
  5. package/dist/schemas/account-profile.d.ts +29 -0
  6. package/dist/schemas/account-profile.d.ts.map +1 -0
  7. package/dist/schemas/account-profile.js +24 -0
  8. package/dist/schemas/ai-models.d.ts +67 -0
  9. package/dist/schemas/ai-models.d.ts.map +1 -0
  10. package/{src/schemas/ai-models.ts → dist/schemas/ai-models.js} +25 -31
  11. package/dist/schemas/api-keys.d.ts +71 -0
  12. package/dist/schemas/api-keys.d.ts.map +1 -0
  13. package/dist/schemas/api-keys.js +32 -0
  14. package/dist/schemas/classifications.d.ts +134 -0
  15. package/dist/schemas/classifications.d.ts.map +1 -0
  16. package/dist/schemas/classifications.js +96 -0
  17. package/dist/schemas/collections.d.ts +605 -0
  18. package/dist/schemas/collections.d.ts.map +1 -0
  19. package/dist/schemas/collections.js +320 -0
  20. package/dist/schemas/datasets.d.ts +34 -0
  21. package/dist/schemas/datasets.d.ts.map +1 -0
  22. package/dist/schemas/datasets.js +11 -0
  23. package/dist/schemas/errors.d.ts +43 -0
  24. package/dist/schemas/errors.d.ts.map +1 -0
  25. package/dist/schemas/errors.js +61 -0
  26. package/dist/schemas/feedback.d.ts +134 -0
  27. package/dist/schemas/feedback.d.ts.map +1 -0
  28. package/dist/schemas/feedback.js +76 -0
  29. package/dist/schemas/follows.d.ts +154 -0
  30. package/dist/schemas/follows.d.ts.map +1 -0
  31. package/dist/schemas/follows.js +42 -0
  32. package/dist/schemas/listing.d.ts +374 -0
  33. package/dist/schemas/listing.d.ts.map +1 -0
  34. package/dist/schemas/listing.js +175 -0
  35. package/dist/schemas/lookups.d.ts +285 -0
  36. package/dist/schemas/lookups.d.ts.map +1 -0
  37. package/{src/schemas/lookups.ts → dist/schemas/lookups.js} +67 -80
  38. package/dist/schemas/marketing-classifier.d.ts +32 -0
  39. package/dist/schemas/marketing-classifier.d.ts.map +1 -0
  40. package/{src/schemas/marketing-classifier.ts → dist/schemas/marketing-classifier.js} +14 -18
  41. package/dist/schemas/orgs.d.ts +950 -0
  42. package/dist/schemas/orgs.d.ts.map +1 -0
  43. package/dist/schemas/orgs.js +473 -0
  44. package/dist/schemas/overviews.d.ts +205 -0
  45. package/dist/schemas/overviews.d.ts.map +1 -0
  46. package/{src/schemas/overviews.ts → dist/schemas/overviews.js} +41 -54
  47. package/dist/schemas/products.d.ts +595 -0
  48. package/dist/schemas/products.d.ts.map +1 -0
  49. package/{src/schemas/products.ts → dist/schemas/products.js} +113 -136
  50. package/dist/schemas/publish-tokens.d.ts +55 -0
  51. package/dist/schemas/publish-tokens.d.ts.map +1 -0
  52. package/{src/schemas/publish-tokens.ts → dist/schemas/publish-tokens.js} +18 -29
  53. package/dist/schemas/recommendations.d.ts +52 -0
  54. package/dist/schemas/recommendations.d.ts.map +1 -0
  55. package/dist/schemas/recommendations.js +58 -0
  56. package/dist/schemas/related.d.ts +331 -0
  57. package/dist/schemas/related.d.ts.map +1 -0
  58. package/dist/schemas/related.js +115 -0
  59. package/dist/schemas/releases.d.ts +623 -0
  60. package/dist/schemas/releases.d.ts.map +1 -0
  61. package/dist/schemas/releases.js +414 -0
  62. package/dist/schemas/resolve.d.ts +259 -0
  63. package/dist/schemas/resolve.d.ts.map +1 -0
  64. package/{src/schemas/resolve.ts → dist/schemas/resolve.js} +2 -5
  65. package/dist/schemas/search.d.ts +475 -0
  66. package/dist/schemas/search.d.ts.map +1 -0
  67. package/dist/schemas/search.js +258 -0
  68. package/dist/schemas/semantic-alert-summary.d.ts +54 -0
  69. package/dist/schemas/semantic-alert-summary.d.ts.map +1 -0
  70. package/dist/schemas/semantic-alert-summary.js +57 -0
  71. package/dist/schemas/semantic-alerts.d.ts +41 -0
  72. package/dist/schemas/semantic-alerts.d.ts.map +1 -0
  73. package/dist/schemas/semantic-alerts.js +42 -0
  74. package/dist/schemas/shared.d.ts +247 -0
  75. package/dist/schemas/shared.d.ts.map +1 -0
  76. package/dist/schemas/shared.js +248 -0
  77. package/dist/schemas/site-notice.d.ts +35 -0
  78. package/dist/schemas/site-notice.d.ts.map +1 -0
  79. package/{src/schemas/site-notice.ts → dist/schemas/site-notice.js} +14 -18
  80. package/dist/schemas/sitemap.d.ts +97 -0
  81. package/dist/schemas/sitemap.d.ts.map +1 -0
  82. package/dist/schemas/sitemap.js +107 -0
  83. package/dist/schemas/sources.d.ts +1145 -0
  84. package/dist/schemas/sources.d.ts.map +1 -0
  85. package/dist/schemas/sources.js +645 -0
  86. package/dist/schemas/stats.d.ts +82 -0
  87. package/dist/schemas/stats.d.ts.map +1 -0
  88. package/dist/schemas/stats.js +59 -0
  89. package/dist/schemas/taxonomy.d.ts +344 -0
  90. package/dist/schemas/taxonomy.d.ts.map +1 -0
  91. package/{src/schemas/taxonomy.ts → dist/schemas/taxonomy.js} +47 -58
  92. package/dist/schemas/webhooks.d.ts +618 -0
  93. package/dist/schemas/webhooks.d.ts.map +1 -0
  94. package/dist/schemas/webhooks.js +191 -0
  95. package/dist/schemas/well-known.d.ts +302 -0
  96. package/dist/schemas/well-known.d.ts.map +1 -0
  97. package/dist/schemas/well-known.js +192 -0
  98. package/dist/schemas/workspace-integrations.d.ts +27 -0
  99. package/dist/schemas/workspace-integrations.d.ts.map +1 -0
  100. package/dist/schemas/workspace-integrations.js +22 -0
  101. package/package.json +16 -4
  102. package/src/api-types.ts +0 -2223
  103. package/src/schemas/account-profile.ts +0 -28
  104. package/src/schemas/ai-models.test.ts +0 -29
  105. package/src/schemas/classifications.ts +0 -109
  106. package/src/schemas/collections.ts +0 -346
  107. package/src/schemas/errors.test.ts +0 -55
  108. package/src/schemas/errors.ts +0 -81
  109. package/src/schemas/feedback.ts +0 -56
  110. package/src/schemas/listing.ts +0 -226
  111. package/src/schemas/orgs.ts +0 -533
  112. package/src/schemas/recommendations.ts +0 -39
  113. package/src/schemas/related.ts +0 -126
  114. package/src/schemas/releases.ts +0 -436
  115. package/src/schemas/search.ts +0 -274
  116. package/src/schemas/semantic-alert-summary.ts +0 -65
  117. package/src/schemas/shared.notice.test.ts +0 -36
  118. package/src/schemas/shared.ts +0 -267
  119. package/src/schemas/site-notice.test.ts +0 -67
  120. package/src/schemas/sitemap.ts +0 -114
  121. package/src/schemas/sources.ts +0 -674
  122. package/src/schemas/stats.ts +0 -62
  123. package/src/schemas/well-known.test.ts +0 -264
  124. package/src/schemas/well-known.ts +0 -252
  125. package/src/schemas/workspace-integrations.ts +0 -26
@@ -0,0 +1,605 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * One org as it appears inside a collection's preview list or detail page.
4
+ * Joined through `organizations_public`, so soft-deleted / on_demand orgs
5
+ * never leak via a collection.
6
+ */
7
+ export declare const CollectionMemberOrgSchema: z.ZodObject<{
8
+ slug: z.ZodString;
9
+ name: z.ZodString;
10
+ domain: z.ZodNullable<z.ZodString>;
11
+ avatarUrl: z.ZodNullable<z.ZodString>;
12
+ githubHandle: z.ZodNullable<z.ZodString>;
13
+ description: z.ZodNullable<z.ZodString>;
14
+ }, z.core.$strip>;
15
+ /**
16
+ * Org context attached to a product member so the chip can render the parent
17
+ * org's avatar / handle. Subset of `CollectionMemberOrg` — description is
18
+ * intentionally omitted because the byline comes from the product itself.
19
+ */
20
+ export declare const ProductParentOrgSchema: z.ZodObject<{
21
+ slug: z.ZodString;
22
+ name: z.ZodString;
23
+ domain: z.ZodNullable<z.ZodString>;
24
+ avatarUrl: z.ZodNullable<z.ZodString>;
25
+ githubHandle: z.ZodNullable<z.ZodString>;
26
+ }, z.core.$strip>;
27
+ /**
28
+ * One product as it appears inside a collection. Carries the parent org block
29
+ * so the chip can render the org's avatar (products don't have their own).
30
+ */
31
+ export declare const CollectionMemberProductSchema: z.ZodObject<{
32
+ slug: z.ZodString;
33
+ name: z.ZodString;
34
+ description: z.ZodNullable<z.ZodString>;
35
+ org: z.ZodObject<{
36
+ slug: z.ZodString;
37
+ name: z.ZodString;
38
+ domain: z.ZodNullable<z.ZodString>;
39
+ avatarUrl: z.ZodNullable<z.ZodString>;
40
+ githubHandle: z.ZodNullable<z.ZodString>;
41
+ }, z.core.$strip>;
42
+ }, z.core.$strip>;
43
+ /**
44
+ * Mixed-kind member entry. `kind` discriminates: `org` carries the org block at
45
+ * the top level; `product` carries the product fields plus a `org` parent block.
46
+ * Used by `GET /v1/collections/:slug` (`members` field) and the new
47
+ * `previewMembers` on `GET /v1/collections`.
48
+ */
49
+ export declare const CollectionMemberSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
50
+ slug: z.ZodString;
51
+ name: z.ZodString;
52
+ domain: z.ZodNullable<z.ZodString>;
53
+ avatarUrl: z.ZodNullable<z.ZodString>;
54
+ githubHandle: z.ZodNullable<z.ZodString>;
55
+ description: z.ZodNullable<z.ZodString>;
56
+ kind: z.ZodLiteral<"org">;
57
+ }, z.core.$strip>, z.ZodObject<{
58
+ slug: z.ZodString;
59
+ name: z.ZodString;
60
+ description: z.ZodNullable<z.ZodString>;
61
+ org: z.ZodObject<{
62
+ slug: z.ZodString;
63
+ name: z.ZodString;
64
+ domain: z.ZodNullable<z.ZodString>;
65
+ avatarUrl: z.ZodNullable<z.ZodString>;
66
+ githubHandle: z.ZodNullable<z.ZodString>;
67
+ }, z.core.$strip>;
68
+ kind: z.ZodLiteral<"product">;
69
+ }, z.core.$strip>], "kind">;
70
+ /**
71
+ * Row on `GET /v1/collections`. `previewMembers` (the new mixed-kind preview)
72
+ * is the first few visible members so the list page can render inline avatars
73
+ * without a second round trip. `previewOrgs` is the legacy org-only preview,
74
+ * retained for back-compat — clients should migrate to `previewMembers`.
75
+ */
76
+ export declare const CollectionListItemSchema: z.ZodObject<{
77
+ slug: z.ZodString;
78
+ name: z.ZodString;
79
+ description: z.ZodNullable<z.ZodString>;
80
+ memberCount: z.ZodNumber;
81
+ isFeatured: z.ZodBoolean;
82
+ previewMembers: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
83
+ slug: z.ZodString;
84
+ name: z.ZodString;
85
+ domain: z.ZodNullable<z.ZodString>;
86
+ avatarUrl: z.ZodNullable<z.ZodString>;
87
+ githubHandle: z.ZodNullable<z.ZodString>;
88
+ description: z.ZodNullable<z.ZodString>;
89
+ kind: z.ZodLiteral<"org">;
90
+ }, z.core.$strip>, z.ZodObject<{
91
+ slug: z.ZodString;
92
+ name: z.ZodString;
93
+ description: z.ZodNullable<z.ZodString>;
94
+ org: z.ZodObject<{
95
+ slug: z.ZodString;
96
+ name: z.ZodString;
97
+ domain: z.ZodNullable<z.ZodString>;
98
+ avatarUrl: z.ZodNullable<z.ZodString>;
99
+ githubHandle: z.ZodNullable<z.ZodString>;
100
+ }, z.core.$strip>;
101
+ kind: z.ZodLiteral<"product">;
102
+ }, z.core.$strip>], "kind">>>;
103
+ previewOrgs: z.ZodOptional<z.ZodArray<z.ZodObject<{
104
+ slug: z.ZodString;
105
+ name: z.ZodString;
106
+ domain: z.ZodNullable<z.ZodString>;
107
+ avatarUrl: z.ZodNullable<z.ZodString>;
108
+ githubHandle: z.ZodNullable<z.ZodString>;
109
+ description: z.ZodNullable<z.ZodString>;
110
+ }, z.core.$strip>>>;
111
+ }, z.core.$strip>;
112
+ export declare const CollectionListResponseSchema: z.ZodArray<z.ZodObject<{
113
+ slug: z.ZodString;
114
+ name: z.ZodString;
115
+ description: z.ZodNullable<z.ZodString>;
116
+ memberCount: z.ZodNumber;
117
+ isFeatured: z.ZodBoolean;
118
+ previewMembers: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
119
+ slug: z.ZodString;
120
+ name: z.ZodString;
121
+ domain: z.ZodNullable<z.ZodString>;
122
+ avatarUrl: z.ZodNullable<z.ZodString>;
123
+ githubHandle: z.ZodNullable<z.ZodString>;
124
+ description: z.ZodNullable<z.ZodString>;
125
+ kind: z.ZodLiteral<"org">;
126
+ }, z.core.$strip>, z.ZodObject<{
127
+ slug: z.ZodString;
128
+ name: z.ZodString;
129
+ description: z.ZodNullable<z.ZodString>;
130
+ org: z.ZodObject<{
131
+ slug: z.ZodString;
132
+ name: z.ZodString;
133
+ domain: z.ZodNullable<z.ZodString>;
134
+ avatarUrl: z.ZodNullable<z.ZodString>;
135
+ githubHandle: z.ZodNullable<z.ZodString>;
136
+ }, z.core.$strip>;
137
+ kind: z.ZodLiteral<"product">;
138
+ }, z.core.$strip>], "kind">>>;
139
+ previewOrgs: z.ZodOptional<z.ZodArray<z.ZodObject<{
140
+ slug: z.ZodString;
141
+ name: z.ZodString;
142
+ domain: z.ZodNullable<z.ZodString>;
143
+ avatarUrl: z.ZodNullable<z.ZodString>;
144
+ githubHandle: z.ZodNullable<z.ZodString>;
145
+ description: z.ZodNullable<z.ZodString>;
146
+ }, z.core.$strip>>>;
147
+ }, z.core.$strip>>;
148
+ /**
149
+ * Returned by `GET /v1/collections/:slug`.
150
+ *
151
+ * `members` is the mixed-kind canonical list. `orgs` is the legacy org-only
152
+ * field, populated with the org-kind subset of `members` for back-compat —
153
+ * new clients should consume `members`.
154
+ */
155
+ export declare const CollectionDetailSchema: z.ZodObject<{
156
+ slug: z.ZodString;
157
+ name: z.ZodString;
158
+ description: z.ZodNullable<z.ZodString>;
159
+ isFeatured: z.ZodBoolean;
160
+ dailySummaryEnabled: z.ZodBoolean;
161
+ weeklyDigestEnabled: z.ZodBoolean;
162
+ members: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
163
+ slug: z.ZodString;
164
+ name: z.ZodString;
165
+ domain: z.ZodNullable<z.ZodString>;
166
+ avatarUrl: z.ZodNullable<z.ZodString>;
167
+ githubHandle: z.ZodNullable<z.ZodString>;
168
+ description: z.ZodNullable<z.ZodString>;
169
+ kind: z.ZodLiteral<"org">;
170
+ }, z.core.$strip>, z.ZodObject<{
171
+ slug: z.ZodString;
172
+ name: z.ZodString;
173
+ description: z.ZodNullable<z.ZodString>;
174
+ org: z.ZodObject<{
175
+ slug: z.ZodString;
176
+ name: z.ZodString;
177
+ domain: z.ZodNullable<z.ZodString>;
178
+ avatarUrl: z.ZodNullable<z.ZodString>;
179
+ githubHandle: z.ZodNullable<z.ZodString>;
180
+ }, z.core.$strip>;
181
+ kind: z.ZodLiteral<"product">;
182
+ }, z.core.$strip>], "kind">>;
183
+ orgs: z.ZodArray<z.ZodObject<{
184
+ slug: z.ZodString;
185
+ name: z.ZodString;
186
+ domain: z.ZodNullable<z.ZodString>;
187
+ avatarUrl: z.ZodNullable<z.ZodString>;
188
+ githubHandle: z.ZodNullable<z.ZodString>;
189
+ description: z.ZodNullable<z.ZodString>;
190
+ }, z.core.$strip>>;
191
+ }, z.core.$strip>;
192
+ /**
193
+ * Cross-member release feed row on `GET /v1/collections/:slug/releases`. Same
194
+ * shape as `OrgReleaseItem` plus the origin `org` block (and optional
195
+ * `product`) so the web's release card can render it identically. `source.type`
196
+ * stays as `z.string()` because the SQL passes the column through unvalidated —
197
+ * tightening to the SourceType enum would break pass-through code.
198
+ */
199
+ export declare const CollectionReleaseItemSchema: z.ZodObject<{
200
+ version: z.ZodNullable<z.ZodString>;
201
+ title: z.ZodString;
202
+ summary: z.ZodString;
203
+ content: z.ZodOptional<z.ZodString>;
204
+ publishedAt: z.ZodNullable<z.ZodString>;
205
+ fetchedAt: z.ZodOptional<z.ZodString>;
206
+ url: z.ZodNullable<z.ZodString>;
207
+ media: z.ZodOptional<z.ZodArray<z.ZodObject<{
208
+ type: z.ZodEnum<{
209
+ gif: "gif";
210
+ image: "image";
211
+ video: "video";
212
+ }>;
213
+ url: z.ZodString;
214
+ alt: z.ZodOptional<z.ZodString>;
215
+ r2Key: z.ZodOptional<z.ZodString>;
216
+ r2Url: z.ZodOptional<z.ZodString>;
217
+ linkUrl: z.ZodOptional<z.ZodString>;
218
+ }, z.core.$strip>>>;
219
+ type: z.ZodOptional<z.ZodEnum<{
220
+ feature: "feature";
221
+ rollup: "rollup";
222
+ }>>;
223
+ prerelease: z.ZodOptional<z.ZodBoolean>;
224
+ titleGenerated: z.ZodOptional<z.ZodNullable<z.ZodString>>;
225
+ titleShort: z.ZodOptional<z.ZodNullable<z.ZodString>>;
226
+ breaking: z.ZodOptional<z.ZodEnum<{
227
+ major: "major";
228
+ minor: "minor";
229
+ none: "none";
230
+ unknown: "unknown";
231
+ }>>;
232
+ importance: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
233
+ coverageCount: z.ZodOptional<z.ZodNumber>;
234
+ contentChars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
235
+ contentTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
236
+ composition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
237
+ bugs: z.ZodNumber;
238
+ features: z.ZodNumber;
239
+ enhancements: z.ZodNumber;
240
+ }, z.core.$strip>>>;
241
+ id: z.ZodString;
242
+ source: z.ZodObject<{
243
+ slug: z.ZodString;
244
+ name: z.ZodString;
245
+ type: z.ZodString;
246
+ }, z.core.$strip>;
247
+ org: z.ZodObject<{
248
+ slug: z.ZodString;
249
+ name: z.ZodString;
250
+ }, z.core.$strip>;
251
+ product: z.ZodOptional<z.ZodNullable<z.ZodObject<{
252
+ slug: z.ZodString;
253
+ name: z.ZodString;
254
+ }, z.core.$strip>>>;
255
+ groupSlug: z.ZodOptional<z.ZodString>;
256
+ groupName: z.ZodOptional<z.ZodString>;
257
+ }, z.core.$strip>;
258
+ /** Cursor pagination shape matches `/v1/orgs/:slug/releases`. */
259
+ export declare const CollectionFeedPaginationSchema: z.ZodObject<{
260
+ nextCursor: z.ZodNullable<z.ZodString>;
261
+ limit: z.ZodNumber;
262
+ }, z.core.$strip>;
263
+ export declare const CollectionReleasesResponseSchema: z.ZodObject<{
264
+ releases: z.ZodArray<z.ZodObject<{
265
+ version: z.ZodNullable<z.ZodString>;
266
+ title: z.ZodString;
267
+ summary: z.ZodString;
268
+ content: z.ZodOptional<z.ZodString>;
269
+ publishedAt: z.ZodNullable<z.ZodString>;
270
+ fetchedAt: z.ZodOptional<z.ZodString>;
271
+ url: z.ZodNullable<z.ZodString>;
272
+ media: z.ZodOptional<z.ZodArray<z.ZodObject<{
273
+ type: z.ZodEnum<{
274
+ gif: "gif";
275
+ image: "image";
276
+ video: "video";
277
+ }>;
278
+ url: z.ZodString;
279
+ alt: z.ZodOptional<z.ZodString>;
280
+ r2Key: z.ZodOptional<z.ZodString>;
281
+ r2Url: z.ZodOptional<z.ZodString>;
282
+ linkUrl: z.ZodOptional<z.ZodString>;
283
+ }, z.core.$strip>>>;
284
+ type: z.ZodOptional<z.ZodEnum<{
285
+ feature: "feature";
286
+ rollup: "rollup";
287
+ }>>;
288
+ prerelease: z.ZodOptional<z.ZodBoolean>;
289
+ titleGenerated: z.ZodOptional<z.ZodNullable<z.ZodString>>;
290
+ titleShort: z.ZodOptional<z.ZodNullable<z.ZodString>>;
291
+ breaking: z.ZodOptional<z.ZodEnum<{
292
+ major: "major";
293
+ minor: "minor";
294
+ none: "none";
295
+ unknown: "unknown";
296
+ }>>;
297
+ importance: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
298
+ coverageCount: z.ZodOptional<z.ZodNumber>;
299
+ contentChars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
300
+ contentTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
301
+ composition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
302
+ bugs: z.ZodNumber;
303
+ features: z.ZodNumber;
304
+ enhancements: z.ZodNumber;
305
+ }, z.core.$strip>>>;
306
+ id: z.ZodString;
307
+ source: z.ZodObject<{
308
+ slug: z.ZodString;
309
+ name: z.ZodString;
310
+ type: z.ZodString;
311
+ }, z.core.$strip>;
312
+ org: z.ZodObject<{
313
+ slug: z.ZodString;
314
+ name: z.ZodString;
315
+ }, z.core.$strip>;
316
+ product: z.ZodOptional<z.ZodNullable<z.ZodObject<{
317
+ slug: z.ZodString;
318
+ name: z.ZodString;
319
+ }, z.core.$strip>>>;
320
+ groupSlug: z.ZodOptional<z.ZodString>;
321
+ groupName: z.ZodOptional<z.ZodString>;
322
+ }, z.core.$strip>>;
323
+ pagination: z.ZodObject<{
324
+ nextCursor: z.ZodNullable<z.ZodString>;
325
+ limit: z.ZodNumber;
326
+ }, z.core.$strip>;
327
+ }, z.core.$strip>;
328
+ /**
329
+ * Bare row returned by `POST /v1/collections` and `PATCH /v1/collections/:slug`.
330
+ * Mirrors the `collections` table columns (no member rollup — that's a
331
+ * separate detail call).
332
+ */
333
+ export declare const CollectionRowSchema: z.ZodObject<{
334
+ id: z.ZodString;
335
+ slug: z.ZodString;
336
+ name: z.ZodString;
337
+ description: z.ZodNullable<z.ZodString>;
338
+ isFeatured: z.ZodBoolean;
339
+ dailySummaryEnabled: z.ZodBoolean;
340
+ createdAt: z.ZodString;
341
+ updatedAt: z.ZodString;
342
+ }, z.core.$strip>;
343
+ /**
344
+ * Body for `POST /v1/collections`. `slug` derives from `name` via `toSlug()`
345
+ * when omitted. Slug shape is lowercased alnum + hyphens, alnum-start, 2–64
346
+ * chars — enforced server-side.
347
+ */
348
+ export declare const CreateCollectionRequestSchema: z.ZodObject<{
349
+ slug: z.ZodOptional<z.ZodString>;
350
+ name: z.ZodString;
351
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
352
+ }, z.core.$strip>;
353
+ /** Body for `PATCH /v1/collections/:slug`. All fields optional; slug rename allowed. */
354
+ export declare const UpdateCollectionRequestSchema: z.ZodObject<{
355
+ slug: z.ZodOptional<z.ZodString>;
356
+ name: z.ZodOptional<z.ZodString>;
357
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
358
+ isFeatured: z.ZodOptional<z.ZodBoolean>;
359
+ dailySummaryEnabled: z.ZodOptional<z.ZodBoolean>;
360
+ weeklyDigestEnabled: z.ZodOptional<z.ZodBoolean>;
361
+ }, z.core.$strip>;
362
+ /**
363
+ * One member entry accepted by the member-write endpoints.
364
+ *
365
+ * Exactly one of `orgId` / `orgSlug` / `productId` / `productSlug` must be
366
+ * present. When both an id and a slug are supplied for the same kind, the id
367
+ * wins. Mixing kinds (e.g. `orgId` + `productSlug`) is rejected by the handler.
368
+ *
369
+ * Product slug is resolved within an org — supply either `productId`
370
+ * (`prod_…`, globally unique) or pair `productSlug` with `orgSlug`/`orgId`.
371
+ * `productSlug` alone is rejected.
372
+ */
373
+ export declare const CollectionMemberInputSchema: z.ZodObject<{
374
+ orgId: z.ZodOptional<z.ZodString>;
375
+ orgSlug: z.ZodOptional<z.ZodString>;
376
+ productId: z.ZodOptional<z.ZodString>;
377
+ productSlug: z.ZodOptional<z.ZodString>;
378
+ position: z.ZodOptional<z.ZodNumber>;
379
+ }, z.core.$strip>;
380
+ /** Body for `POST /v1/collections/:slug/members`. */
381
+ export declare const AddCollectionMemberRequestSchema: z.ZodObject<{
382
+ orgId: z.ZodOptional<z.ZodString>;
383
+ orgSlug: z.ZodOptional<z.ZodString>;
384
+ productId: z.ZodOptional<z.ZodString>;
385
+ productSlug: z.ZodOptional<z.ZodString>;
386
+ position: z.ZodOptional<z.ZodNumber>;
387
+ }, z.core.$strip>;
388
+ /**
389
+ * Body for `PUT /v1/collections/:slug/members`. Replaces the full membership
390
+ * atomically. The field is still named `orgs` for back-compat — it accepts
391
+ * any `CollectionMemberInput`, org or product.
392
+ */
393
+ export declare const ReplaceCollectionMembersRequestSchema: z.ZodObject<{
394
+ orgs: z.ZodArray<z.ZodObject<{
395
+ orgId: z.ZodOptional<z.ZodString>;
396
+ orgSlug: z.ZodOptional<z.ZodString>;
397
+ productId: z.ZodOptional<z.ZodString>;
398
+ productSlug: z.ZodOptional<z.ZodString>;
399
+ position: z.ZodOptional<z.ZodNumber>;
400
+ }, z.core.$strip>>;
401
+ }, z.core.$strip>;
402
+ /**
403
+ * Resolved member returned by `PUT /v1/collections/:slug/members` and `POST
404
+ * /v1/collections/:slug/members`. `kind` discriminates which id field is
405
+ * populated. `orgId` is also set on legacy callers that only used org
406
+ * membership — for clean dispatch, dispatch on `kind`.
407
+ */
408
+ export declare const ResolvedCollectionMemberSchema: z.ZodObject<{
409
+ kind: z.ZodEnum<{
410
+ org: "org";
411
+ product: "product";
412
+ }>;
413
+ orgId: z.ZodOptional<z.ZodString>;
414
+ productId: z.ZodOptional<z.ZodString>;
415
+ position: z.ZodNumber;
416
+ }, z.core.$strip>;
417
+ /** Response from `PUT /v1/collections/:slug/members`. */
418
+ export declare const ReplaceCollectionMembersResponseSchema: z.ZodObject<{
419
+ collectionSlug: z.ZodString;
420
+ members: z.ZodArray<z.ZodObject<{
421
+ kind: z.ZodEnum<{
422
+ org: "org";
423
+ product: "product";
424
+ }>;
425
+ orgId: z.ZodOptional<z.ZodString>;
426
+ productId: z.ZodOptional<z.ZodString>;
427
+ position: z.ZodNumber;
428
+ }, z.core.$strip>>;
429
+ }, z.core.$strip>;
430
+ /**
431
+ * Response from `POST /v1/collections/:slug/members`. `orgId` stays populated
432
+ * for org-kind members so existing CLI callers don't break; `kind` +
433
+ * `productId` are the canonical fields for new code.
434
+ */
435
+ export declare const AddCollectionMemberResponseSchema: z.ZodObject<{
436
+ collectionSlug: z.ZodString;
437
+ kind: z.ZodEnum<{
438
+ org: "org";
439
+ product: "product";
440
+ }>;
441
+ orgId: z.ZodOptional<z.ZodString>;
442
+ productId: z.ZodOptional<z.ZodString>;
443
+ position: z.ZodNumber;
444
+ }, z.core.$strip>;
445
+ /** One daily summary row returned by `GET /v1/collections/:slug/daily-summaries`. */
446
+ export declare const CollectionDailySummarySchema: z.ZodObject<{
447
+ date: z.ZodString;
448
+ title: z.ZodString;
449
+ summary: z.ZodString;
450
+ takeaways: z.ZodArray<z.ZodString>;
451
+ releaseCount: z.ZodNumber;
452
+ }, z.core.$strip>;
453
+ /** Response envelope for `GET /v1/collections/:slug/daily-summaries`. */
454
+ export declare const CollectionDailySummariesResponseSchema: z.ZodObject<{
455
+ summaries: z.ZodArray<z.ZodObject<{
456
+ date: z.ZodString;
457
+ title: z.ZodString;
458
+ summary: z.ZodString;
459
+ takeaways: z.ZodArray<z.ZodString>;
460
+ releaseCount: z.ZodNumber;
461
+ }, z.core.$strip>>;
462
+ }, z.core.$strip>;
463
+ /** List row on `GET /v1/collections/:slug/digests` — newest-first, no body. */
464
+ export declare const CollectionWeeklyDigestListItemSchema: z.ZodObject<{
465
+ id: z.ZodString;
466
+ weekStart: z.ZodString;
467
+ title: z.ZodString;
468
+ intro: z.ZodString;
469
+ releaseCount: z.ZodNumber;
470
+ generatedAt: z.ZodString;
471
+ }, z.core.$strip>;
472
+ /** Cursor pagination shape matches the other paginated list surfaces. */
473
+ export declare const CollectionWeeklyDigestsResponseSchema: z.ZodObject<{
474
+ digests: z.ZodArray<z.ZodObject<{
475
+ id: z.ZodString;
476
+ weekStart: z.ZodString;
477
+ title: z.ZodString;
478
+ intro: z.ZodString;
479
+ releaseCount: z.ZodNumber;
480
+ generatedAt: z.ZodString;
481
+ }, z.core.$strip>>;
482
+ pagination: z.ZodObject<{
483
+ nextCursor: z.ZodNullable<z.ZodString>;
484
+ limit: z.ZodNumber;
485
+ }, z.core.$strip>;
486
+ }, z.core.$strip>;
487
+ /** Minimal, server-resolved release info for a digest's "Releases covered" list. */
488
+ export declare const DigestCoveredReleaseSchema: z.ZodObject<{
489
+ id: z.ZodString;
490
+ title: z.ZodString;
491
+ path: z.ZodString;
492
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
493
+ org: z.ZodObject<{
494
+ slug: z.ZodString;
495
+ name: z.ZodString;
496
+ avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
497
+ githubHandle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
498
+ }, z.core.$strip>;
499
+ product: z.ZodOptional<z.ZodNullable<z.ZodObject<{
500
+ slug: z.ZodString;
501
+ name: z.ZodString;
502
+ }, z.core.$strip>>>;
503
+ importance: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
504
+ composition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
505
+ bugs: z.ZodNumber;
506
+ features: z.ZodNumber;
507
+ enhancements: z.ZodNumber;
508
+ }, z.core.$strip>>>;
509
+ publishedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
510
+ }, z.core.$strip>;
511
+ /** One `###` section of a digest body, parsed server-side. */
512
+ export declare const DigestSectionSchema: z.ZodObject<{
513
+ heading: z.ZodString;
514
+ anchor: z.ZodString;
515
+ lede: z.ZodString;
516
+ releaseIds: z.ZodArray<z.ZodString>;
517
+ releases: z.ZodOptional<z.ZodArray<z.ZodObject<{
518
+ id: z.ZodString;
519
+ title: z.ZodString;
520
+ path: z.ZodString;
521
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
522
+ org: z.ZodObject<{
523
+ slug: z.ZodString;
524
+ name: z.ZodString;
525
+ avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
526
+ githubHandle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
527
+ }, z.core.$strip>;
528
+ product: z.ZodOptional<z.ZodNullable<z.ZodObject<{
529
+ slug: z.ZodString;
530
+ name: z.ZodString;
531
+ }, z.core.$strip>>>;
532
+ importance: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
533
+ composition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
534
+ bugs: z.ZodNumber;
535
+ features: z.ZodNumber;
536
+ enhancements: z.ZodNumber;
537
+ }, z.core.$strip>>>;
538
+ publishedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
539
+ }, z.core.$strip>>>;
540
+ }, z.core.$strip>;
541
+ /** Full row returned by `GET /v1/collections/:slug/digests/:weekStart` and
542
+ * `GET /v1/collections/:slug/digests/latest`. */
543
+ export declare const CollectionWeeklyDigestDetailSchema: z.ZodObject<{
544
+ id: z.ZodString;
545
+ weekStart: z.ZodString;
546
+ title: z.ZodString;
547
+ intro: z.ZodString;
548
+ body: z.ZodString;
549
+ releaseIds: z.ZodArray<z.ZodString>;
550
+ releaseCount: z.ZodNumber;
551
+ generatedAt: z.ZodString;
552
+ releases: z.ZodArray<z.ZodObject<{
553
+ id: z.ZodString;
554
+ title: z.ZodString;
555
+ path: z.ZodString;
556
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
557
+ org: z.ZodObject<{
558
+ slug: z.ZodString;
559
+ name: z.ZodString;
560
+ avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
561
+ githubHandle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
562
+ }, z.core.$strip>;
563
+ product: z.ZodOptional<z.ZodNullable<z.ZodObject<{
564
+ slug: z.ZodString;
565
+ name: z.ZodString;
566
+ }, z.core.$strip>>>;
567
+ importance: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
568
+ composition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
569
+ bugs: z.ZodNumber;
570
+ features: z.ZodNumber;
571
+ enhancements: z.ZodNumber;
572
+ }, z.core.$strip>>>;
573
+ publishedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
574
+ }, z.core.$strip>>;
575
+ sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
576
+ heading: z.ZodString;
577
+ anchor: z.ZodString;
578
+ lede: z.ZodString;
579
+ releaseIds: z.ZodArray<z.ZodString>;
580
+ releases: z.ZodOptional<z.ZodArray<z.ZodObject<{
581
+ id: z.ZodString;
582
+ title: z.ZodString;
583
+ path: z.ZodString;
584
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
585
+ org: z.ZodObject<{
586
+ slug: z.ZodString;
587
+ name: z.ZodString;
588
+ avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
589
+ githubHandle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
590
+ }, z.core.$strip>;
591
+ product: z.ZodOptional<z.ZodNullable<z.ZodObject<{
592
+ slug: z.ZodString;
593
+ name: z.ZodString;
594
+ }, z.core.$strip>>>;
595
+ importance: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
596
+ composition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
597
+ bugs: z.ZodNumber;
598
+ features: z.ZodNumber;
599
+ enhancements: z.ZodNumber;
600
+ }, z.core.$strip>>>;
601
+ publishedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
602
+ }, z.core.$strip>>>;
603
+ }, z.core.$strip>>>;
604
+ }, z.core.$strip>;
605
+ //# sourceMappingURL=collections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/schemas/collections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;;;iBAQpC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;iBAKxC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;2BAGjC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWnC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAoC,CAAC;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAajC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBtC,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;iBAU9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,6BAA6B;;;;;;;iBAUxC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B;;;;;;iBAOtC,CAAC;AAEH,qDAAqD;AACrD,eAAO,MAAM,gCAAgC;;;;;;iBAA8B,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;iBAEhD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;iBAKzC,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,sCAAsC;;;;;;;;;;;iBAGjD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;iBAM5C,CAAC;AAEH,qFAAqF;AACrF,eAAO,MAAM,4BAA4B;;;;;;iBAOvC,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,sCAAsC;;;;;;;;iBAEjD,CAAC;AAIH,+EAA+E;AAC/E,eAAO,MAAM,oCAAoC;;;;;;;iBAQ/C,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;iBAGhD,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;iBAiCrC,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAc9B,CAAC;AAEH;kDACkD;AAClD,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAe7C,CAAC"}