@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.
- package/README.md +14 -6
- package/dist/api-types.d.ts +1168 -0
- package/dist/api-types.d.ts.map +1 -0
- package/dist/api-types.js +134 -0
- package/dist/schemas/account-profile.d.ts +29 -0
- package/dist/schemas/account-profile.d.ts.map +1 -0
- package/dist/schemas/account-profile.js +24 -0
- package/dist/schemas/ai-models.d.ts +67 -0
- package/dist/schemas/ai-models.d.ts.map +1 -0
- package/{src/schemas/ai-models.ts → dist/schemas/ai-models.js} +25 -31
- package/dist/schemas/api-keys.d.ts +71 -0
- package/dist/schemas/api-keys.d.ts.map +1 -0
- package/dist/schemas/api-keys.js +32 -0
- package/dist/schemas/classifications.d.ts +134 -0
- package/dist/schemas/classifications.d.ts.map +1 -0
- package/dist/schemas/classifications.js +96 -0
- package/dist/schemas/collections.d.ts +605 -0
- package/dist/schemas/collections.d.ts.map +1 -0
- package/dist/schemas/collections.js +320 -0
- package/dist/schemas/datasets.d.ts +34 -0
- package/dist/schemas/datasets.d.ts.map +1 -0
- package/dist/schemas/datasets.js +11 -0
- package/dist/schemas/errors.d.ts +43 -0
- package/dist/schemas/errors.d.ts.map +1 -0
- package/dist/schemas/errors.js +61 -0
- package/dist/schemas/feedback.d.ts +134 -0
- package/dist/schemas/feedback.d.ts.map +1 -0
- package/dist/schemas/feedback.js +76 -0
- package/dist/schemas/follows.d.ts +154 -0
- package/dist/schemas/follows.d.ts.map +1 -0
- package/dist/schemas/follows.js +42 -0
- package/dist/schemas/listing.d.ts +374 -0
- package/dist/schemas/listing.d.ts.map +1 -0
- package/dist/schemas/listing.js +175 -0
- package/dist/schemas/lookups.d.ts +285 -0
- package/dist/schemas/lookups.d.ts.map +1 -0
- package/{src/schemas/lookups.ts → dist/schemas/lookups.js} +67 -80
- package/dist/schemas/marketing-classifier.d.ts +32 -0
- package/dist/schemas/marketing-classifier.d.ts.map +1 -0
- package/{src/schemas/marketing-classifier.ts → dist/schemas/marketing-classifier.js} +14 -18
- package/dist/schemas/orgs.d.ts +950 -0
- package/dist/schemas/orgs.d.ts.map +1 -0
- package/dist/schemas/orgs.js +473 -0
- package/dist/schemas/overviews.d.ts +205 -0
- package/dist/schemas/overviews.d.ts.map +1 -0
- package/{src/schemas/overviews.ts → dist/schemas/overviews.js} +41 -54
- package/dist/schemas/products.d.ts +595 -0
- package/dist/schemas/products.d.ts.map +1 -0
- package/{src/schemas/products.ts → dist/schemas/products.js} +113 -136
- package/dist/schemas/publish-tokens.d.ts +55 -0
- package/dist/schemas/publish-tokens.d.ts.map +1 -0
- package/{src/schemas/publish-tokens.ts → dist/schemas/publish-tokens.js} +18 -29
- package/dist/schemas/recommendations.d.ts +52 -0
- package/dist/schemas/recommendations.d.ts.map +1 -0
- package/dist/schemas/recommendations.js +58 -0
- package/dist/schemas/related.d.ts +331 -0
- package/dist/schemas/related.d.ts.map +1 -0
- package/dist/schemas/related.js +115 -0
- package/dist/schemas/releases.d.ts +623 -0
- package/dist/schemas/releases.d.ts.map +1 -0
- package/dist/schemas/releases.js +414 -0
- package/dist/schemas/resolve.d.ts +259 -0
- package/dist/schemas/resolve.d.ts.map +1 -0
- package/{src/schemas/resolve.ts → dist/schemas/resolve.js} +2 -5
- package/dist/schemas/search.d.ts +475 -0
- package/dist/schemas/search.d.ts.map +1 -0
- package/dist/schemas/search.js +258 -0
- package/dist/schemas/semantic-alert-summary.d.ts +54 -0
- package/dist/schemas/semantic-alert-summary.d.ts.map +1 -0
- package/dist/schemas/semantic-alert-summary.js +57 -0
- package/dist/schemas/semantic-alerts.d.ts +41 -0
- package/dist/schemas/semantic-alerts.d.ts.map +1 -0
- package/dist/schemas/semantic-alerts.js +42 -0
- package/dist/schemas/shared.d.ts +247 -0
- package/dist/schemas/shared.d.ts.map +1 -0
- package/dist/schemas/shared.js +248 -0
- package/dist/schemas/site-notice.d.ts +35 -0
- package/dist/schemas/site-notice.d.ts.map +1 -0
- package/{src/schemas/site-notice.ts → dist/schemas/site-notice.js} +14 -18
- package/dist/schemas/sitemap.d.ts +97 -0
- package/dist/schemas/sitemap.d.ts.map +1 -0
- package/dist/schemas/sitemap.js +107 -0
- package/dist/schemas/sources.d.ts +1145 -0
- package/dist/schemas/sources.d.ts.map +1 -0
- package/dist/schemas/sources.js +645 -0
- package/dist/schemas/stats.d.ts +82 -0
- package/dist/schemas/stats.d.ts.map +1 -0
- package/dist/schemas/stats.js +59 -0
- package/dist/schemas/taxonomy.d.ts +344 -0
- package/dist/schemas/taxonomy.d.ts.map +1 -0
- package/{src/schemas/taxonomy.ts → dist/schemas/taxonomy.js} +47 -58
- package/dist/schemas/webhooks.d.ts +618 -0
- package/dist/schemas/webhooks.d.ts.map +1 -0
- package/dist/schemas/webhooks.js +191 -0
- package/dist/schemas/well-known.d.ts +302 -0
- package/dist/schemas/well-known.d.ts.map +1 -0
- package/dist/schemas/well-known.js +192 -0
- package/dist/schemas/workspace-integrations.d.ts +27 -0
- package/dist/schemas/workspace-integrations.d.ts.map +1 -0
- package/dist/schemas/workspace-integrations.js +22 -0
- package/package.json +16 -4
- package/src/api-types.ts +0 -2223
- package/src/schemas/account-profile.ts +0 -28
- package/src/schemas/ai-models.test.ts +0 -29
- package/src/schemas/classifications.ts +0 -109
- package/src/schemas/collections.ts +0 -346
- package/src/schemas/errors.test.ts +0 -55
- package/src/schemas/errors.ts +0 -81
- package/src/schemas/feedback.ts +0 -56
- package/src/schemas/listing.ts +0 -226
- package/src/schemas/orgs.ts +0 -533
- package/src/schemas/recommendations.ts +0 -39
- package/src/schemas/related.ts +0 -126
- package/src/schemas/releases.ts +0 -436
- package/src/schemas/search.ts +0 -274
- package/src/schemas/semantic-alert-summary.ts +0 -65
- package/src/schemas/shared.notice.test.ts +0 -36
- package/src/schemas/shared.ts +0 -267
- package/src/schemas/site-notice.test.ts +0 -67
- package/src/schemas/sitemap.ts +0 -114
- package/src/schemas/sources.ts +0 -674
- package/src/schemas/stats.ts +0 -62
- package/src/schemas/well-known.test.ts +0 -264
- package/src/schemas/well-known.ts +0 -252
- package/src/schemas/workspace-integrations.ts +0 -26
|
@@ -0,0 +1,595 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Raw `products` table row, returned by `POST /v1/products` and
|
|
4
|
+
* `PATCH /v1/products/:slug`. The OSS CLI types these responses against
|
|
5
|
+
* `Product` from `@buildinternet/releases-core/schema` (the drizzle row
|
|
6
|
+
* type), so `embeddedAt` and `deletedAt` stay on the wire even though
|
|
7
|
+
* they're internal columns. `deletedAt` is always `null` on these paths
|
|
8
|
+
* (live rows only); `embeddedAt` reflects when the product was last
|
|
9
|
+
* indexed for semantic search.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ProductRowSchema: z.ZodObject<{
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
slug: z.ZodString;
|
|
15
|
+
orgId: z.ZodString;
|
|
16
|
+
url: z.ZodNullable<z.ZodString>;
|
|
17
|
+
description: z.ZodNullable<z.ZodString>;
|
|
18
|
+
category: z.ZodNullable<z.ZodEnum<{
|
|
19
|
+
ai: "ai";
|
|
20
|
+
cloud: "cloud";
|
|
21
|
+
commerce: "commerce";
|
|
22
|
+
crm: "crm";
|
|
23
|
+
database: "database";
|
|
24
|
+
design: "design";
|
|
25
|
+
"developer-tools": "developer-tools";
|
|
26
|
+
devops: "devops";
|
|
27
|
+
finance: "finance";
|
|
28
|
+
framework: "framework";
|
|
29
|
+
infrastructure: "infrastructure";
|
|
30
|
+
observability: "observability";
|
|
31
|
+
productivity: "productivity";
|
|
32
|
+
security: "security";
|
|
33
|
+
}>>;
|
|
34
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
35
|
+
desktop: "desktop";
|
|
36
|
+
docs: "docs";
|
|
37
|
+
integration: "integration";
|
|
38
|
+
mobile: "mobile";
|
|
39
|
+
platform: "platform";
|
|
40
|
+
sdk: "sdk";
|
|
41
|
+
tool: "tool";
|
|
42
|
+
}>>>;
|
|
43
|
+
avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
44
|
+
createdAt: z.ZodString;
|
|
45
|
+
embeddedAt: z.ZodNullable<z.ZodString>;
|
|
46
|
+
deletedAt: z.ZodNullable<z.ZodString>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
/** 201 body of POST /v1/products — ProductRow plus an optional non-blocking
|
|
49
|
+
* warning emitted when the new slug shadows an existing same-org source (#1190). */
|
|
50
|
+
export declare const ProductCreateResponseSchema: z.ZodObject<{
|
|
51
|
+
id: z.ZodString;
|
|
52
|
+
name: z.ZodString;
|
|
53
|
+
slug: z.ZodString;
|
|
54
|
+
orgId: z.ZodString;
|
|
55
|
+
url: z.ZodNullable<z.ZodString>;
|
|
56
|
+
description: z.ZodNullable<z.ZodString>;
|
|
57
|
+
category: z.ZodNullable<z.ZodEnum<{
|
|
58
|
+
ai: "ai";
|
|
59
|
+
cloud: "cloud";
|
|
60
|
+
commerce: "commerce";
|
|
61
|
+
crm: "crm";
|
|
62
|
+
database: "database";
|
|
63
|
+
design: "design";
|
|
64
|
+
"developer-tools": "developer-tools";
|
|
65
|
+
devops: "devops";
|
|
66
|
+
finance: "finance";
|
|
67
|
+
framework: "framework";
|
|
68
|
+
infrastructure: "infrastructure";
|
|
69
|
+
observability: "observability";
|
|
70
|
+
productivity: "productivity";
|
|
71
|
+
security: "security";
|
|
72
|
+
}>>;
|
|
73
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
74
|
+
desktop: "desktop";
|
|
75
|
+
docs: "docs";
|
|
76
|
+
integration: "integration";
|
|
77
|
+
mobile: "mobile";
|
|
78
|
+
platform: "platform";
|
|
79
|
+
sdk: "sdk";
|
|
80
|
+
tool: "tool";
|
|
81
|
+
}>>>;
|
|
82
|
+
avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
83
|
+
createdAt: z.ZodString;
|
|
84
|
+
embeddedAt: z.ZodNullable<z.ZodString>;
|
|
85
|
+
deletedAt: z.ZodNullable<z.ZodString>;
|
|
86
|
+
warning: z.ZodOptional<z.ZodString>;
|
|
87
|
+
}, z.core.$strip>;
|
|
88
|
+
export type ProductCreateResponse = z.infer<typeof ProductCreateResponseSchema>;
|
|
89
|
+
/**
|
|
90
|
+
* Per-product row returned by `GET /v1/products`. Adds `sourceCount` to
|
|
91
|
+
* the row shape but omits the internal `embeddedAt` / `deletedAt` columns
|
|
92
|
+
* (the list handler explicitly selects only the user-facing fields).
|
|
93
|
+
* `avatarUrl` (the product icon, e.g. an App Store app icon) is included so
|
|
94
|
+
* list surfaces can render the avatar without a per-row detail round-trip.
|
|
95
|
+
*/
|
|
96
|
+
export declare const ProductListItemSchema: z.ZodObject<{
|
|
97
|
+
id: z.ZodString;
|
|
98
|
+
name: z.ZodString;
|
|
99
|
+
slug: z.ZodString;
|
|
100
|
+
orgId: z.ZodString;
|
|
101
|
+
url: z.ZodNullable<z.ZodString>;
|
|
102
|
+
description: z.ZodNullable<z.ZodString>;
|
|
103
|
+
category: z.ZodNullable<z.ZodEnum<{
|
|
104
|
+
ai: "ai";
|
|
105
|
+
cloud: "cloud";
|
|
106
|
+
commerce: "commerce";
|
|
107
|
+
crm: "crm";
|
|
108
|
+
database: "database";
|
|
109
|
+
design: "design";
|
|
110
|
+
"developer-tools": "developer-tools";
|
|
111
|
+
devops: "devops";
|
|
112
|
+
finance: "finance";
|
|
113
|
+
framework: "framework";
|
|
114
|
+
infrastructure: "infrastructure";
|
|
115
|
+
observability: "observability";
|
|
116
|
+
productivity: "productivity";
|
|
117
|
+
security: "security";
|
|
118
|
+
}>>;
|
|
119
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
120
|
+
desktop: "desktop";
|
|
121
|
+
docs: "docs";
|
|
122
|
+
integration: "integration";
|
|
123
|
+
mobile: "mobile";
|
|
124
|
+
platform: "platform";
|
|
125
|
+
sdk: "sdk";
|
|
126
|
+
tool: "tool";
|
|
127
|
+
}>>>;
|
|
128
|
+
avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
129
|
+
createdAt: z.ZodString;
|
|
130
|
+
sourceCount: z.ZodNumber;
|
|
131
|
+
}, z.core.$strip>;
|
|
132
|
+
export declare const ProductListResponseSchema: z.ZodObject<{
|
|
133
|
+
items: z.ZodArray<z.ZodObject<{
|
|
134
|
+
id: z.ZodString;
|
|
135
|
+
name: z.ZodString;
|
|
136
|
+
slug: z.ZodString;
|
|
137
|
+
orgId: z.ZodString;
|
|
138
|
+
url: z.ZodNullable<z.ZodString>;
|
|
139
|
+
description: z.ZodNullable<z.ZodString>;
|
|
140
|
+
category: z.ZodNullable<z.ZodEnum<{
|
|
141
|
+
ai: "ai";
|
|
142
|
+
cloud: "cloud";
|
|
143
|
+
commerce: "commerce";
|
|
144
|
+
crm: "crm";
|
|
145
|
+
database: "database";
|
|
146
|
+
design: "design";
|
|
147
|
+
"developer-tools": "developer-tools";
|
|
148
|
+
devops: "devops";
|
|
149
|
+
finance: "finance";
|
|
150
|
+
framework: "framework";
|
|
151
|
+
infrastructure: "infrastructure";
|
|
152
|
+
observability: "observability";
|
|
153
|
+
productivity: "productivity";
|
|
154
|
+
security: "security";
|
|
155
|
+
}>>;
|
|
156
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
157
|
+
desktop: "desktop";
|
|
158
|
+
docs: "docs";
|
|
159
|
+
integration: "integration";
|
|
160
|
+
mobile: "mobile";
|
|
161
|
+
platform: "platform";
|
|
162
|
+
sdk: "sdk";
|
|
163
|
+
tool: "tool";
|
|
164
|
+
}>>>;
|
|
165
|
+
avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
166
|
+
createdAt: z.ZodString;
|
|
167
|
+
sourceCount: z.ZodNumber;
|
|
168
|
+
}, z.core.$strip>>;
|
|
169
|
+
pagination: z.ZodObject<{
|
|
170
|
+
page: z.ZodNumber;
|
|
171
|
+
pageSize: z.ZodNumber;
|
|
172
|
+
returned: z.ZodNumber;
|
|
173
|
+
totalItems: z.ZodOptional<z.ZodNumber>;
|
|
174
|
+
totalPages: z.ZodOptional<z.ZodNumber>;
|
|
175
|
+
hasMore: z.ZodBoolean;
|
|
176
|
+
}, z.core.$strip>;
|
|
177
|
+
}, z.core.$strip>;
|
|
178
|
+
/**
|
|
179
|
+
* Embedded source row returned in `ProductDetail.sources`. The detail
|
|
180
|
+
* handler explicitly selects only this small subset; reuses the shared
|
|
181
|
+
* `SourceTypeSchema` enum so source types stay in one place.
|
|
182
|
+
*/
|
|
183
|
+
export declare const ProductDetailSourceSchema: z.ZodObject<{
|
|
184
|
+
id: z.ZodString;
|
|
185
|
+
slug: z.ZodString;
|
|
186
|
+
name: z.ZodString;
|
|
187
|
+
type: z.ZodEnum<{
|
|
188
|
+
agent: "agent";
|
|
189
|
+
appstore: "appstore";
|
|
190
|
+
feed: "feed";
|
|
191
|
+
github: "github";
|
|
192
|
+
scrape: "scrape";
|
|
193
|
+
video: "video";
|
|
194
|
+
}>;
|
|
195
|
+
url: z.ZodString;
|
|
196
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
197
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
198
|
+
desktop: "desktop";
|
|
199
|
+
docs: "docs";
|
|
200
|
+
integration: "integration";
|
|
201
|
+
mobile: "mobile";
|
|
202
|
+
platform: "platform";
|
|
203
|
+
sdk: "sdk";
|
|
204
|
+
tool: "tool";
|
|
205
|
+
}>>>;
|
|
206
|
+
}, z.core.$strip>;
|
|
207
|
+
/**
|
|
208
|
+
* Returned by `GET /v1/products/:identifier` (and the org-scoped twin).
|
|
209
|
+
* Spreads the raw product row and adds `sources`, `tags`, `aliases`.
|
|
210
|
+
*
|
|
211
|
+
* `releases` and `pagination` are populated only by the web format adapter
|
|
212
|
+
* (the `.json` / `.md` product route — see PR #1207), NOT by the bare product
|
|
213
|
+
* detail endpoint. They are optional so bare endpoint consumers see a valid
|
|
214
|
+
* `ProductDetail` without the embedded feed.
|
|
215
|
+
*/
|
|
216
|
+
export declare const ProductDetailSchema: z.ZodObject<{
|
|
217
|
+
id: z.ZodString;
|
|
218
|
+
name: z.ZodString;
|
|
219
|
+
slug: z.ZodString;
|
|
220
|
+
orgId: z.ZodString;
|
|
221
|
+
url: z.ZodNullable<z.ZodString>;
|
|
222
|
+
description: z.ZodNullable<z.ZodString>;
|
|
223
|
+
category: z.ZodNullable<z.ZodEnum<{
|
|
224
|
+
ai: "ai";
|
|
225
|
+
cloud: "cloud";
|
|
226
|
+
commerce: "commerce";
|
|
227
|
+
crm: "crm";
|
|
228
|
+
database: "database";
|
|
229
|
+
design: "design";
|
|
230
|
+
"developer-tools": "developer-tools";
|
|
231
|
+
devops: "devops";
|
|
232
|
+
finance: "finance";
|
|
233
|
+
framework: "framework";
|
|
234
|
+
infrastructure: "infrastructure";
|
|
235
|
+
observability: "observability";
|
|
236
|
+
productivity: "productivity";
|
|
237
|
+
security: "security";
|
|
238
|
+
}>>;
|
|
239
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
240
|
+
desktop: "desktop";
|
|
241
|
+
docs: "docs";
|
|
242
|
+
integration: "integration";
|
|
243
|
+
mobile: "mobile";
|
|
244
|
+
platform: "platform";
|
|
245
|
+
sdk: "sdk";
|
|
246
|
+
tool: "tool";
|
|
247
|
+
}>>>;
|
|
248
|
+
avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
249
|
+
createdAt: z.ZodString;
|
|
250
|
+
embeddedAt: z.ZodNullable<z.ZodString>;
|
|
251
|
+
deletedAt: z.ZodNullable<z.ZodString>;
|
|
252
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
253
|
+
id: z.ZodString;
|
|
254
|
+
slug: z.ZodString;
|
|
255
|
+
name: z.ZodString;
|
|
256
|
+
type: z.ZodEnum<{
|
|
257
|
+
agent: "agent";
|
|
258
|
+
appstore: "appstore";
|
|
259
|
+
feed: "feed";
|
|
260
|
+
github: "github";
|
|
261
|
+
scrape: "scrape";
|
|
262
|
+
video: "video";
|
|
263
|
+
}>;
|
|
264
|
+
url: z.ZodString;
|
|
265
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
266
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
267
|
+
desktop: "desktop";
|
|
268
|
+
docs: "docs";
|
|
269
|
+
integration: "integration";
|
|
270
|
+
mobile: "mobile";
|
|
271
|
+
platform: "platform";
|
|
272
|
+
sdk: "sdk";
|
|
273
|
+
tool: "tool";
|
|
274
|
+
}>>>;
|
|
275
|
+
}, z.core.$strip>>;
|
|
276
|
+
tags: z.ZodArray<z.ZodString>;
|
|
277
|
+
aliases: z.ZodArray<z.ZodString>;
|
|
278
|
+
releases: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
279
|
+
id: z.ZodOptional<z.ZodString>;
|
|
280
|
+
version: z.ZodNullable<z.ZodString>;
|
|
281
|
+
title: z.ZodString;
|
|
282
|
+
summary: z.ZodString;
|
|
283
|
+
content: z.ZodOptional<z.ZodString>;
|
|
284
|
+
publishedAt: z.ZodNullable<z.ZodString>;
|
|
285
|
+
fetchedAt: z.ZodOptional<z.ZodString>;
|
|
286
|
+
url: z.ZodNullable<z.ZodString>;
|
|
287
|
+
media: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
288
|
+
type: z.ZodEnum<{
|
|
289
|
+
gif: "gif";
|
|
290
|
+
image: "image";
|
|
291
|
+
video: "video";
|
|
292
|
+
}>;
|
|
293
|
+
url: z.ZodString;
|
|
294
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
295
|
+
r2Key: z.ZodOptional<z.ZodString>;
|
|
296
|
+
r2Url: z.ZodOptional<z.ZodString>;
|
|
297
|
+
linkUrl: z.ZodOptional<z.ZodString>;
|
|
298
|
+
}, z.core.$strip>>>;
|
|
299
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
300
|
+
feature: "feature";
|
|
301
|
+
rollup: "rollup";
|
|
302
|
+
}>>;
|
|
303
|
+
prerelease: z.ZodOptional<z.ZodBoolean>;
|
|
304
|
+
titleGenerated: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
305
|
+
titleShort: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
306
|
+
breaking: z.ZodOptional<z.ZodEnum<{
|
|
307
|
+
major: "major";
|
|
308
|
+
minor: "minor";
|
|
309
|
+
none: "none";
|
|
310
|
+
unknown: "unknown";
|
|
311
|
+
}>>;
|
|
312
|
+
importance: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
313
|
+
coverageCount: z.ZodOptional<z.ZodNumber>;
|
|
314
|
+
contentChars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
315
|
+
contentTokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
316
|
+
composition: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
317
|
+
bugs: z.ZodNumber;
|
|
318
|
+
features: z.ZodNumber;
|
|
319
|
+
enhancements: z.ZodNumber;
|
|
320
|
+
}, z.core.$strip>>>;
|
|
321
|
+
}, z.core.$strip>>>;
|
|
322
|
+
pagination: z.ZodOptional<z.ZodObject<{
|
|
323
|
+
nextCursor: z.ZodNullable<z.ZodString>;
|
|
324
|
+
limit: z.ZodNumber;
|
|
325
|
+
}, z.core.$strip>>;
|
|
326
|
+
notice: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
327
|
+
message: z.ZodString;
|
|
328
|
+
linkText: z.ZodOptional<z.ZodString>;
|
|
329
|
+
coordinate: z.ZodOptional<z.ZodString>;
|
|
330
|
+
href: z.ZodOptional<z.ZodURL>;
|
|
331
|
+
}, z.core.$strip>>>;
|
|
332
|
+
}, z.core.$strip>;
|
|
333
|
+
/**
|
|
334
|
+
* Body accepted by `POST /v1/products`. `category` is a non-empty string at
|
|
335
|
+
* the wire boundary so callers can pass either a canonical slug or one of
|
|
336
|
+
* its configured aliases (resolved server-side via `resolveCategoryInput`).
|
|
337
|
+
* Responses always carry the canonical slug. Empty strings are rejected so
|
|
338
|
+
* the truthy-guard around `resolveCategoryInput` in the handler can't be
|
|
339
|
+
* bypassed into persisting an invalid `""` value.
|
|
340
|
+
*/
|
|
341
|
+
export declare const CreateProductBodySchema: z.ZodObject<{
|
|
342
|
+
name: z.ZodString;
|
|
343
|
+
orgId: z.ZodOptional<z.ZodString>;
|
|
344
|
+
orgSlug: z.ZodOptional<z.ZodString>;
|
|
345
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
346
|
+
url: z.ZodOptional<z.ZodString>;
|
|
347
|
+
description: z.ZodOptional<z.ZodString>;
|
|
348
|
+
category: z.ZodOptional<z.ZodString>;
|
|
349
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
350
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
351
|
+
desktop: "desktop";
|
|
352
|
+
docs: "docs";
|
|
353
|
+
integration: "integration";
|
|
354
|
+
mobile: "mobile";
|
|
355
|
+
platform: "platform";
|
|
356
|
+
sdk: "sdk";
|
|
357
|
+
tool: "tool";
|
|
358
|
+
}>>>;
|
|
359
|
+
}, z.core.$strip>;
|
|
360
|
+
/**
|
|
361
|
+
* Body accepted by `PATCH /v1/products/:slug`. Same alias-allowed string rule
|
|
362
|
+
* as create, plus `null` to explicitly clear the overlay. Empty strings stay
|
|
363
|
+
* rejected so callers must pick between a slug/alias or `null`.
|
|
364
|
+
*/
|
|
365
|
+
export declare const UpdateProductBodySchema: z.ZodObject<{
|
|
366
|
+
name: z.ZodOptional<z.ZodString>;
|
|
367
|
+
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
368
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
369
|
+
category: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
370
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
371
|
+
aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
372
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
373
|
+
desktop: "desktop";
|
|
374
|
+
docs: "docs";
|
|
375
|
+
integration: "integration";
|
|
376
|
+
mobile: "mobile";
|
|
377
|
+
platform: "platform";
|
|
378
|
+
sdk: "sdk";
|
|
379
|
+
tool: "tool";
|
|
380
|
+
}>>>;
|
|
381
|
+
avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
382
|
+
notice: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
383
|
+
message: z.ZodString;
|
|
384
|
+
linkText: z.ZodOptional<z.ZodString>;
|
|
385
|
+
coordinate: z.ZodOptional<z.ZodString>;
|
|
386
|
+
href: z.ZodOptional<z.ZodURL>;
|
|
387
|
+
}, z.core.$strip>>>;
|
|
388
|
+
}, z.core.$strip>;
|
|
389
|
+
/**
|
|
390
|
+
* Body accepted by `POST /v1/products/adopt`.
|
|
391
|
+
*
|
|
392
|
+
* `mergeInto` (slug or `prod_…` ID) folds the source org into an existing
|
|
393
|
+
* product under `targetOrgSlug` instead of creating a new one. When set,
|
|
394
|
+
* `slug` and `url` must be omitted (the existing product's values stand).
|
|
395
|
+
*/
|
|
396
|
+
export declare const AdoptProductBodySchema: z.ZodObject<{
|
|
397
|
+
sourceOrgSlug: z.ZodString;
|
|
398
|
+
targetOrgSlug: z.ZodString;
|
|
399
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
400
|
+
url: z.ZodOptional<z.ZodString>;
|
|
401
|
+
mergeInto: z.ZodOptional<z.ZodString>;
|
|
402
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
403
|
+
}, z.core.$strip>;
|
|
404
|
+
/**
|
|
405
|
+
* Live (non-dryRun) result from `POST /v1/products/adopt`.
|
|
406
|
+
*
|
|
407
|
+
* `mergedInto` is set when the request used `mergeInto` — its value is the
|
|
408
|
+
* existing product's slug, signalling that no new product was created.
|
|
409
|
+
*/
|
|
410
|
+
export declare const ProductAdoptResultSchema: z.ZodObject<{
|
|
411
|
+
product: z.ZodObject<{
|
|
412
|
+
id: z.ZodString;
|
|
413
|
+
name: z.ZodString;
|
|
414
|
+
slug: z.ZodString;
|
|
415
|
+
orgId: z.ZodString;
|
|
416
|
+
url: z.ZodNullable<z.ZodString>;
|
|
417
|
+
description: z.ZodNullable<z.ZodString>;
|
|
418
|
+
category: z.ZodNullable<z.ZodEnum<{
|
|
419
|
+
ai: "ai";
|
|
420
|
+
cloud: "cloud";
|
|
421
|
+
commerce: "commerce";
|
|
422
|
+
crm: "crm";
|
|
423
|
+
database: "database";
|
|
424
|
+
design: "design";
|
|
425
|
+
"developer-tools": "developer-tools";
|
|
426
|
+
devops: "devops";
|
|
427
|
+
finance: "finance";
|
|
428
|
+
framework: "framework";
|
|
429
|
+
infrastructure: "infrastructure";
|
|
430
|
+
observability: "observability";
|
|
431
|
+
productivity: "productivity";
|
|
432
|
+
security: "security";
|
|
433
|
+
}>>;
|
|
434
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
435
|
+
desktop: "desktop";
|
|
436
|
+
docs: "docs";
|
|
437
|
+
integration: "integration";
|
|
438
|
+
mobile: "mobile";
|
|
439
|
+
platform: "platform";
|
|
440
|
+
sdk: "sdk";
|
|
441
|
+
tool: "tool";
|
|
442
|
+
}>>>;
|
|
443
|
+
avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
444
|
+
createdAt: z.ZodString;
|
|
445
|
+
embeddedAt: z.ZodNullable<z.ZodString>;
|
|
446
|
+
deletedAt: z.ZodNullable<z.ZodString>;
|
|
447
|
+
}, z.core.$strip>;
|
|
448
|
+
mergedInto: z.ZodOptional<z.ZodString>;
|
|
449
|
+
sourcesMoved: z.ZodNumber;
|
|
450
|
+
accountsMoved: z.ZodNumber;
|
|
451
|
+
sourceOrgDeleted: z.ZodString;
|
|
452
|
+
}, z.core.$strip>;
|
|
453
|
+
/** Dry-run preview from `POST /v1/products/adopt` with `dryRun: true`. */
|
|
454
|
+
export declare const ProductAdoptDryRunSchema: z.ZodObject<{
|
|
455
|
+
dryRun: z.ZodLiteral<true>;
|
|
456
|
+
mergeInto: z.ZodOptional<z.ZodString>;
|
|
457
|
+
product: z.ZodObject<{
|
|
458
|
+
name: z.ZodString;
|
|
459
|
+
slug: z.ZodString;
|
|
460
|
+
url: z.ZodNullable<z.ZodString>;
|
|
461
|
+
orgSlug: z.ZodString;
|
|
462
|
+
}, z.core.$strip>;
|
|
463
|
+
sourcesToMove: z.ZodArray<z.ZodString>;
|
|
464
|
+
sourceOrgToDelete: z.ZodString;
|
|
465
|
+
}, z.core.$strip>;
|
|
466
|
+
/** Response shape returned by `POST /v1/products/adopt` (union of live + dry-run). */
|
|
467
|
+
export declare const ProductAdoptResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
468
|
+
product: z.ZodObject<{
|
|
469
|
+
id: z.ZodString;
|
|
470
|
+
name: z.ZodString;
|
|
471
|
+
slug: z.ZodString;
|
|
472
|
+
orgId: z.ZodString;
|
|
473
|
+
url: z.ZodNullable<z.ZodString>;
|
|
474
|
+
description: z.ZodNullable<z.ZodString>;
|
|
475
|
+
category: z.ZodNullable<z.ZodEnum<{
|
|
476
|
+
ai: "ai";
|
|
477
|
+
cloud: "cloud";
|
|
478
|
+
commerce: "commerce";
|
|
479
|
+
crm: "crm";
|
|
480
|
+
database: "database";
|
|
481
|
+
design: "design";
|
|
482
|
+
"developer-tools": "developer-tools";
|
|
483
|
+
devops: "devops";
|
|
484
|
+
finance: "finance";
|
|
485
|
+
framework: "framework";
|
|
486
|
+
infrastructure: "infrastructure";
|
|
487
|
+
observability: "observability";
|
|
488
|
+
productivity: "productivity";
|
|
489
|
+
security: "security";
|
|
490
|
+
}>>;
|
|
491
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
492
|
+
desktop: "desktop";
|
|
493
|
+
docs: "docs";
|
|
494
|
+
integration: "integration";
|
|
495
|
+
mobile: "mobile";
|
|
496
|
+
platform: "platform";
|
|
497
|
+
sdk: "sdk";
|
|
498
|
+
tool: "tool";
|
|
499
|
+
}>>>;
|
|
500
|
+
avatarUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
501
|
+
createdAt: z.ZodString;
|
|
502
|
+
embeddedAt: z.ZodNullable<z.ZodString>;
|
|
503
|
+
deletedAt: z.ZodNullable<z.ZodString>;
|
|
504
|
+
}, z.core.$strip>;
|
|
505
|
+
mergedInto: z.ZodOptional<z.ZodString>;
|
|
506
|
+
sourcesMoved: z.ZodNumber;
|
|
507
|
+
accountsMoved: z.ZodNumber;
|
|
508
|
+
sourceOrgDeleted: z.ZodString;
|
|
509
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
510
|
+
dryRun: z.ZodLiteral<true>;
|
|
511
|
+
mergeInto: z.ZodOptional<z.ZodString>;
|
|
512
|
+
product: z.ZodObject<{
|
|
513
|
+
name: z.ZodString;
|
|
514
|
+
slug: z.ZodString;
|
|
515
|
+
url: z.ZodNullable<z.ZodString>;
|
|
516
|
+
orgSlug: z.ZodString;
|
|
517
|
+
}, z.core.$strip>;
|
|
518
|
+
sourcesToMove: z.ZodArray<z.ZodString>;
|
|
519
|
+
sourceOrgToDelete: z.ZodString;
|
|
520
|
+
}, z.core.$strip>]>;
|
|
521
|
+
/** Response shape returned by `DELETE /v1/products/:identifier`. */
|
|
522
|
+
export declare const ProductDeleteResponseSchema: z.ZodObject<{
|
|
523
|
+
deleted: z.ZodLiteral<true>;
|
|
524
|
+
hard: z.ZodOptional<z.ZodLiteral<true>>;
|
|
525
|
+
deletedAt: z.ZodOptional<z.ZodString>;
|
|
526
|
+
}, z.core.$strip>;
|
|
527
|
+
/**
|
|
528
|
+
* Tag list returned by `GET /v1/products/:identifier/tags`. Tag names are
|
|
529
|
+
* sorted alphabetically; the empty array is returned when the product has
|
|
530
|
+
* no tags rather than 404.
|
|
531
|
+
*/
|
|
532
|
+
export declare const ProductTagsListResponseSchema: z.ZodArray<z.ZodString>;
|
|
533
|
+
/** Body accepted by `PUT` and `DELETE` `/v1/products/:identifier/tags`. */
|
|
534
|
+
export declare const ProductTagsBodySchema: z.ZodObject<{
|
|
535
|
+
tags: z.ZodArray<z.ZodString>;
|
|
536
|
+
}, z.core.$strip>;
|
|
537
|
+
/** Response shape returned by `PUT` and `DELETE` `/v1/products/:identifier/tags`. */
|
|
538
|
+
export declare const ProductTagsMutationResponseSchema: z.ZodObject<{
|
|
539
|
+
ok: z.ZodLiteral<true>;
|
|
540
|
+
}, z.core.$strip>;
|
|
541
|
+
/**
|
|
542
|
+
* Response shape for `GET /v1/products/:slug/activity` and the org-scoped twin.
|
|
543
|
+
* Returns per-source weekly release buckets plus an aggregate rollup — used for
|
|
544
|
+
* timeline visualization on the product detail page.
|
|
545
|
+
*/
|
|
546
|
+
export declare const ProductActivityResponseSchema: z.ZodObject<{
|
|
547
|
+
product: z.ZodObject<{
|
|
548
|
+
slug: z.ZodString;
|
|
549
|
+
name: z.ZodString;
|
|
550
|
+
}, z.core.$strip>;
|
|
551
|
+
range: z.ZodObject<{
|
|
552
|
+
from: z.ZodString;
|
|
553
|
+
to: z.ZodString;
|
|
554
|
+
}, z.core.$strip>;
|
|
555
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
556
|
+
slug: z.ZodString;
|
|
557
|
+
name: z.ZodString;
|
|
558
|
+
releaseCount: z.ZodNumber;
|
|
559
|
+
avgReleasesPerWeek: z.ZodNumber;
|
|
560
|
+
earliestVersion: z.ZodNullable<z.ZodString>;
|
|
561
|
+
latestVersion: z.ZodNullable<z.ZodString>;
|
|
562
|
+
latestDate: z.ZodNullable<z.ZodString>;
|
|
563
|
+
weeklyBuckets: z.ZodArray<z.ZodObject<{
|
|
564
|
+
weekStart: z.ZodString;
|
|
565
|
+
count: z.ZodNumber;
|
|
566
|
+
earliestVersion: z.ZodNullable<z.ZodString>;
|
|
567
|
+
latestVersion: z.ZodNullable<z.ZodString>;
|
|
568
|
+
}, z.core.$strip>>;
|
|
569
|
+
}, z.core.$strip>>;
|
|
570
|
+
aggregateWeekly: z.ZodArray<z.ZodObject<{
|
|
571
|
+
weekStart: z.ZodString;
|
|
572
|
+
count: z.ZodNumber;
|
|
573
|
+
}, z.core.$strip>>;
|
|
574
|
+
}, z.core.$strip>;
|
|
575
|
+
/**
|
|
576
|
+
* Response shape for `GET /v1/products/:slug/heatmap` and the org-scoped twin.
|
|
577
|
+
* Returns daily release counts for the trailing 365 days — used for
|
|
578
|
+
* contribution-graph visualization on the product detail page.
|
|
579
|
+
*/
|
|
580
|
+
export declare const ProductHeatmapResponseSchema: z.ZodObject<{
|
|
581
|
+
product: z.ZodObject<{
|
|
582
|
+
slug: z.ZodString;
|
|
583
|
+
name: z.ZodString;
|
|
584
|
+
}, z.core.$strip>;
|
|
585
|
+
range: z.ZodObject<{
|
|
586
|
+
from: z.ZodString;
|
|
587
|
+
to: z.ZodString;
|
|
588
|
+
}, z.core.$strip>;
|
|
589
|
+
dailyCounts: z.ZodArray<z.ZodObject<{
|
|
590
|
+
date: z.ZodString;
|
|
591
|
+
count: z.ZodNumber;
|
|
592
|
+
}, z.core.$strip>>;
|
|
593
|
+
total: z.ZodNumber;
|
|
594
|
+
}, z.core.$strip>;
|
|
595
|
+
//# sourceMappingURL=products.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/schemas/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa3B,CAAC;AAEH;qFACqF;AACrF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYhC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4C,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;iBAQpC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS9B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;iBAUlC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;iBAUlC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;iBAOjC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMnC,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBAWnC,CAAC;AAEH,sFAAsF;AACtF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAGrC,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,yBAAsB,CAAC;AAEjE,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,qFAAqF;AACrF,eAAO,MAAM,iCAAiC;;iBAE5C,CAAC;AAsBH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKxC,CAAC;AAIH;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;iBAKvC,CAAC"}
|