@grove-dev/core 0.1.4 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/schema.d.ts CHANGED
@@ -1,4 +1,28 @@
1
1
  import { z } from "zod";
2
+ /**
3
+ * A blueprint defines the shape and behavior of a Grove site.
4
+ *
5
+ * V1 ships three fixed blueprints. They are not extensible — no custom
6
+ * blueprint API in V1.
7
+ */
8
+ export declare const blueprintSchema: z.ZodEnum<{
9
+ "project-directory": "project-directory";
10
+ "resource-hub": "resource-hub";
11
+ "ecosystem-map": "ecosystem-map";
12
+ }>;
13
+ export type Blueprint = z.infer<typeof blueprintSchema>;
14
+ /**
15
+ * Each blueprint is bound to a single resource kind. Records are
16
+ * discriminated by `kind`, which must match the blueprint of the site
17
+ * that owns them.
18
+ */
19
+ export declare const resourceKindSchema: z.ZodEnum<{
20
+ project: "project";
21
+ resource: "resource";
22
+ entity: "entity";
23
+ }>;
24
+ export type ResourceKind = z.infer<typeof resourceKindSchema>;
25
+ export declare const blueprintKind: Record<Blueprint, ResourceKind>;
2
26
  export declare const healthStatusSchema: z.ZodEnum<{
3
27
  active: "active";
4
28
  mature: "mature";
@@ -35,16 +59,31 @@ export declare const projectTypeSchema: z.ZodEnum<{
35
59
  demo: "demo";
36
60
  template: "template";
37
61
  }>;
38
- export declare const difficultySchema: z.ZodEnum<{
39
- beginner: "beginner";
40
- intermediate: "intermediate";
41
- advanced: "advanced";
62
+ export declare const resourceTypeSchema: z.ZodEnum<{
63
+ tool: "tool";
64
+ guide: "guide";
65
+ comparison: "comparison";
66
+ link: "link";
67
+ explainer: "explainer";
68
+ video: "video";
69
+ article: "article";
70
+ course: "course";
71
+ book: "book";
72
+ podcast: "podcast";
73
+ other: "other";
42
74
  }>;
43
- export declare const codebaseSizeSchema: z.ZodEnum<{
44
- small: "small";
45
- medium: "medium";
46
- large: "large";
47
- huge: "huge";
75
+ export declare const entityTypeSchema: z.ZodEnum<{
76
+ other: "other";
77
+ company: "company";
78
+ organization: "organization";
79
+ community: "community";
80
+ school: "school";
81
+ university: "university";
82
+ "research-lab": "research-lab";
83
+ agency: "agency";
84
+ service: "service";
85
+ product: "product";
86
+ person: "person";
48
87
  }>;
49
88
  export declare const appLabelSchema: z.ZodEnum<{
50
89
  mature: "mature";
@@ -60,45 +99,12 @@ export declare const scoreSchema: z.ZodObject<{
60
99
  docs: z.ZodOptional<z.ZodNumber>;
61
100
  overall: z.ZodOptional<z.ZodNumber>;
62
101
  }, z.core.$strip>;
63
- export declare const distributionChannelTypeSchema: z.ZodEnum<{
64
- demo: "demo";
65
- docs: "docs";
66
- "app-store": "app-store";
67
- "play-store": "play-store";
68
- fdroid: "fdroid";
69
- "github-releases": "github-releases";
70
- apk: "apk";
71
- testflight: "testflight";
72
- website: "website";
73
- snapcraft: "snapcraft";
74
- flathub: "flathub";
75
- "microsoft-store": "microsoft-store";
76
- "package-registry": "package-registry";
77
- other: "other";
78
- }>;
79
- export declare const distributionChannelSchema: z.ZodObject<{
80
- type: z.ZodEnum<{
81
- demo: "demo";
82
- docs: "docs";
83
- "app-store": "app-store";
84
- "play-store": "play-store";
85
- fdroid: "fdroid";
86
- "github-releases": "github-releases";
87
- apk: "apk";
88
- testflight: "testflight";
89
- website: "website";
90
- snapcraft: "snapcraft";
91
- flathub: "flathub";
92
- "microsoft-store": "microsoft-store";
93
- "package-registry": "package-registry";
94
- other: "other";
95
- }>;
96
- platform: z.ZodOptional<z.ZodString>;
97
- label: z.ZodOptional<z.ZodString>;
98
- url: z.ZodString;
99
- verified: z.ZodOptional<z.ZodBoolean>;
100
- notes: z.ZodOptional<z.ZodString>;
101
- }, z.core.$strip>;
102
+ export declare const linksSchema: z.ZodDefault<z.ZodObject<{
103
+ github: z.ZodOptional<z.ZodString>;
104
+ website: z.ZodOptional<z.ZodString>;
105
+ docs: z.ZodOptional<z.ZodString>;
106
+ source: z.ZodOptional<z.ZodString>;
107
+ }, z.core.$catchall<z.ZodString>>>;
102
108
  export declare const githubLicenseSchema: z.ZodOptional<z.ZodNullable<z.ZodObject<{
103
109
  key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
104
110
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -140,396 +146,6 @@ export declare const githubRepositorySchema: z.ZodObject<{
140
146
  updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
141
147
  pushed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
142
148
  }, z.core.$loose>;
143
- export declare const stackTechnologySchema: z.ZodObject<{
144
- id: z.ZodString;
145
- role: z.ZodOptional<z.ZodString>;
146
- }, z.core.$loose>;
147
- export declare const stackSchema: z.ZodObject<{
148
- primary: z.ZodString;
149
- families: z.ZodOptional<z.ZodArray<z.ZodString>>;
150
- technologies: z.ZodOptional<z.ZodArray<z.ZodObject<{
151
- id: z.ZodString;
152
- role: z.ZodOptional<z.ZodString>;
153
- }, z.core.$loose>>>;
154
- }, z.core.$loose>;
155
- export declare const stackRefSchema: z.ZodObject<{
156
- id: z.ZodString;
157
- name: z.ZodString;
158
- family: z.ZodOptional<z.ZodString>;
159
- languages: z.ZodOptional<z.ZodArray<z.ZodString>>;
160
- platforms: z.ZodOptional<z.ZodArray<z.ZodString>>;
161
- icon: z.ZodOptional<z.ZodString>;
162
- status: z.ZodOptional<z.ZodEnum<{
163
- live: "live";
164
- expanding: "expanding";
165
- planned: "planned";
166
- }>>;
167
- blurb: z.ZodOptional<z.ZodString>;
168
- }, z.core.$strip>;
169
- export declare const platformRefSchema: z.ZodObject<{
170
- id: z.ZodString;
171
- name: z.ZodString;
172
- icon: z.ZodOptional<z.ZodString>;
173
- }, z.core.$strip>;
174
- export declare const categoryRefSchema: z.ZodObject<{
175
- id: z.ZodString;
176
- name: z.ZodString;
177
- blurb: z.ZodOptional<z.ZodString>;
178
- }, z.core.$strip>;
179
- export declare const distributionChannelRefSchema: z.ZodObject<{
180
- id: z.ZodEnum<{
181
- demo: "demo";
182
- docs: "docs";
183
- "app-store": "app-store";
184
- "play-store": "play-store";
185
- fdroid: "fdroid";
186
- "github-releases": "github-releases";
187
- apk: "apk";
188
- testflight: "testflight";
189
- website: "website";
190
- snapcraft: "snapcraft";
191
- flathub: "flathub";
192
- "microsoft-store": "microsoft-store";
193
- "package-registry": "package-registry";
194
- other: "other";
195
- }>;
196
- name: z.ZodString;
197
- platforms: z.ZodOptional<z.ZodArray<z.ZodString>>;
198
- }, z.core.$strip>;
199
- export declare const itemSchema: z.ZodObject<{
200
- id: z.ZodString;
201
- name: z.ZodString;
202
- description: z.ZodDefault<z.ZodString>;
203
- links: z.ZodDefault<z.ZodObject<{
204
- github: z.ZodOptional<z.ZodString>;
205
- website: z.ZodOptional<z.ZodString>;
206
- docs: z.ZodOptional<z.ZodString>;
207
- source: z.ZodOptional<z.ZodString>;
208
- }, z.core.$catchall<z.ZodString>>>;
209
- source: z.ZodDefault<z.ZodObject<{
210
- type: z.ZodDefault<z.ZodEnum<{
211
- markdown: "markdown";
212
- manual: "manual";
213
- "github-topic": "github-topic";
214
- "awesome-list": "awesome-list";
215
- submit: "submit";
216
- }>>;
217
- file: z.ZodOptional<z.ZodString>;
218
- line: z.ZodOptional<z.ZodNumber>;
219
- url: z.ZodOptional<z.ZodString>;
220
- provider: z.ZodOptional<z.ZodString>;
221
- owner: z.ZodOptional<z.ZodString>;
222
- repo: z.ZodOptional<z.ZodString>;
223
- }, z.core.$strip>>;
224
- taxonomy: z.ZodDefault<z.ZodObject<{
225
- category: z.ZodDefault<z.ZodString>;
226
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
227
- language: z.ZodOptional<z.ZodString>;
228
- stack: z.ZodOptional<z.ZodString>;
229
- stacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
230
- platforms: z.ZodDefault<z.ZodArray<z.ZodString>>;
231
- }, z.core.$strip>>;
232
- labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
233
- mature: "mature";
234
- new: "new";
235
- hot: "hot";
236
- featured: "featured";
237
- }>>>;
238
- lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
239
- distribution: z.ZodDefault<z.ZodObject<{
240
- channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
241
- type: z.ZodEnum<{
242
- demo: "demo";
243
- docs: "docs";
244
- "app-store": "app-store";
245
- "play-store": "play-store";
246
- fdroid: "fdroid";
247
- "github-releases": "github-releases";
248
- apk: "apk";
249
- testflight: "testflight";
250
- website: "website";
251
- snapcraft: "snapcraft";
252
- flathub: "flathub";
253
- "microsoft-store": "microsoft-store";
254
- "package-registry": "package-registry";
255
- other: "other";
256
- }>;
257
- platform: z.ZodOptional<z.ZodString>;
258
- label: z.ZodOptional<z.ZodString>;
259
- url: z.ZodString;
260
- verified: z.ZodOptional<z.ZodBoolean>;
261
- notes: z.ZodOptional<z.ZodString>;
262
- }, z.core.$strip>>>;
263
- }, z.core.$strip>>;
264
- curation: z.ZodDefault<z.ZodObject<{
265
- projectType: z.ZodOptional<z.ZodEnum<{
266
- historical: "historical";
267
- "real-app": "real-app";
268
- production: "production";
269
- reference: "reference";
270
- library: "library";
271
- tool: "tool";
272
- demo: "demo";
273
- template: "template";
274
- }>>;
275
- difficulty: z.ZodOptional<z.ZodEnum<{
276
- beginner: "beginner";
277
- intermediate: "intermediate";
278
- advanced: "advanced";
279
- }>>;
280
- codebaseSize: z.ZodOptional<z.ZodEnum<{
281
- small: "small";
282
- medium: "medium";
283
- large: "large";
284
- huge: "huge";
285
- }>>;
286
- stateManagement: z.ZodOptional<z.ZodString>;
287
- backend: z.ZodOptional<z.ZodString>;
288
- architecture: z.ZodOptional<z.ZodString>;
289
- bestFor: z.ZodDefault<z.ZodArray<z.ZodString>>;
290
- whyListed: z.ZodDefault<z.ZodArray<z.ZodString>>;
291
- caveats: z.ZodDefault<z.ZodArray<z.ZodString>>;
292
- goodFirstIssues: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
293
- contributionGuide: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
294
- launchedBy: z.ZodOptional<z.ZodString>;
295
- launchAsk: z.ZodDefault<z.ZodArray<z.ZodString>>;
296
- reviewed: z.ZodOptional<z.ZodBoolean>;
297
- reviewedBy: z.ZodOptional<z.ZodString>;
298
- reviewedAt: z.ZodOptional<z.ZodString>;
299
- notes: z.ZodOptional<z.ZodString>;
300
- scores: z.ZodDefault<z.ZodObject<{
301
- activity: z.ZodOptional<z.ZodNumber>;
302
- maturity: z.ZodOptional<z.ZodNumber>;
303
- learning: z.ZodOptional<z.ZodNumber>;
304
- contribution: z.ZodOptional<z.ZodNumber>;
305
- docs: z.ZodOptional<z.ZodNumber>;
306
- overall: z.ZodOptional<z.ZodNumber>;
307
- }, z.core.$strip>>;
308
- }, z.core.$strip>>;
309
- }, z.core.$strip>;
310
- export declare const itemsFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
311
- id: z.ZodString;
312
- name: z.ZodString;
313
- description: z.ZodDefault<z.ZodString>;
314
- links: z.ZodDefault<z.ZodObject<{
315
- github: z.ZodOptional<z.ZodString>;
316
- website: z.ZodOptional<z.ZodString>;
317
- docs: z.ZodOptional<z.ZodString>;
318
- source: z.ZodOptional<z.ZodString>;
319
- }, z.core.$catchall<z.ZodString>>>;
320
- source: z.ZodDefault<z.ZodObject<{
321
- type: z.ZodDefault<z.ZodEnum<{
322
- markdown: "markdown";
323
- manual: "manual";
324
- "github-topic": "github-topic";
325
- "awesome-list": "awesome-list";
326
- submit: "submit";
327
- }>>;
328
- file: z.ZodOptional<z.ZodString>;
329
- line: z.ZodOptional<z.ZodNumber>;
330
- url: z.ZodOptional<z.ZodString>;
331
- provider: z.ZodOptional<z.ZodString>;
332
- owner: z.ZodOptional<z.ZodString>;
333
- repo: z.ZodOptional<z.ZodString>;
334
- }, z.core.$strip>>;
335
- taxonomy: z.ZodDefault<z.ZodObject<{
336
- category: z.ZodDefault<z.ZodString>;
337
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
338
- language: z.ZodOptional<z.ZodString>;
339
- stack: z.ZodOptional<z.ZodString>;
340
- stacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
341
- platforms: z.ZodDefault<z.ZodArray<z.ZodString>>;
342
- }, z.core.$strip>>;
343
- labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
344
- mature: "mature";
345
- new: "new";
346
- hot: "hot";
347
- featured: "featured";
348
- }>>>;
349
- lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
350
- distribution: z.ZodDefault<z.ZodObject<{
351
- channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
352
- type: z.ZodEnum<{
353
- demo: "demo";
354
- docs: "docs";
355
- "app-store": "app-store";
356
- "play-store": "play-store";
357
- fdroid: "fdroid";
358
- "github-releases": "github-releases";
359
- apk: "apk";
360
- testflight: "testflight";
361
- website: "website";
362
- snapcraft: "snapcraft";
363
- flathub: "flathub";
364
- "microsoft-store": "microsoft-store";
365
- "package-registry": "package-registry";
366
- other: "other";
367
- }>;
368
- platform: z.ZodOptional<z.ZodString>;
369
- label: z.ZodOptional<z.ZodString>;
370
- url: z.ZodString;
371
- verified: z.ZodOptional<z.ZodBoolean>;
372
- notes: z.ZodOptional<z.ZodString>;
373
- }, z.core.$strip>>>;
374
- }, z.core.$strip>>;
375
- curation: z.ZodDefault<z.ZodObject<{
376
- projectType: z.ZodOptional<z.ZodEnum<{
377
- historical: "historical";
378
- "real-app": "real-app";
379
- production: "production";
380
- reference: "reference";
381
- library: "library";
382
- tool: "tool";
383
- demo: "demo";
384
- template: "template";
385
- }>>;
386
- difficulty: z.ZodOptional<z.ZodEnum<{
387
- beginner: "beginner";
388
- intermediate: "intermediate";
389
- advanced: "advanced";
390
- }>>;
391
- codebaseSize: z.ZodOptional<z.ZodEnum<{
392
- small: "small";
393
- medium: "medium";
394
- large: "large";
395
- huge: "huge";
396
- }>>;
397
- stateManagement: z.ZodOptional<z.ZodString>;
398
- backend: z.ZodOptional<z.ZodString>;
399
- architecture: z.ZodOptional<z.ZodString>;
400
- bestFor: z.ZodDefault<z.ZodArray<z.ZodString>>;
401
- whyListed: z.ZodDefault<z.ZodArray<z.ZodString>>;
402
- caveats: z.ZodDefault<z.ZodArray<z.ZodString>>;
403
- goodFirstIssues: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
404
- contributionGuide: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
405
- launchedBy: z.ZodOptional<z.ZodString>;
406
- launchAsk: z.ZodDefault<z.ZodArray<z.ZodString>>;
407
- reviewed: z.ZodOptional<z.ZodBoolean>;
408
- reviewedBy: z.ZodOptional<z.ZodString>;
409
- reviewedAt: z.ZodOptional<z.ZodString>;
410
- notes: z.ZodOptional<z.ZodString>;
411
- scores: z.ZodDefault<z.ZodObject<{
412
- activity: z.ZodOptional<z.ZodNumber>;
413
- maturity: z.ZodOptional<z.ZodNumber>;
414
- learning: z.ZodOptional<z.ZodNumber>;
415
- contribution: z.ZodOptional<z.ZodNumber>;
416
- docs: z.ZodOptional<z.ZodNumber>;
417
- overall: z.ZodOptional<z.ZodNumber>;
418
- }, z.core.$strip>>;
419
- }, z.core.$strip>>;
420
- }, z.core.$strip>>, z.ZodObject<{
421
- items: z.ZodArray<z.ZodObject<{
422
- id: z.ZodString;
423
- name: z.ZodString;
424
- description: z.ZodDefault<z.ZodString>;
425
- links: z.ZodDefault<z.ZodObject<{
426
- github: z.ZodOptional<z.ZodString>;
427
- website: z.ZodOptional<z.ZodString>;
428
- docs: z.ZodOptional<z.ZodString>;
429
- source: z.ZodOptional<z.ZodString>;
430
- }, z.core.$catchall<z.ZodString>>>;
431
- source: z.ZodDefault<z.ZodObject<{
432
- type: z.ZodDefault<z.ZodEnum<{
433
- markdown: "markdown";
434
- manual: "manual";
435
- "github-topic": "github-topic";
436
- "awesome-list": "awesome-list";
437
- submit: "submit";
438
- }>>;
439
- file: z.ZodOptional<z.ZodString>;
440
- line: z.ZodOptional<z.ZodNumber>;
441
- url: z.ZodOptional<z.ZodString>;
442
- provider: z.ZodOptional<z.ZodString>;
443
- owner: z.ZodOptional<z.ZodString>;
444
- repo: z.ZodOptional<z.ZodString>;
445
- }, z.core.$strip>>;
446
- taxonomy: z.ZodDefault<z.ZodObject<{
447
- category: z.ZodDefault<z.ZodString>;
448
- tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
449
- language: z.ZodOptional<z.ZodString>;
450
- stack: z.ZodOptional<z.ZodString>;
451
- stacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
452
- platforms: z.ZodDefault<z.ZodArray<z.ZodString>>;
453
- }, z.core.$strip>>;
454
- labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
455
- mature: "mature";
456
- new: "new";
457
- hot: "hot";
458
- featured: "featured";
459
- }>>>;
460
- lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
461
- distribution: z.ZodDefault<z.ZodObject<{
462
- channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
463
- type: z.ZodEnum<{
464
- demo: "demo";
465
- docs: "docs";
466
- "app-store": "app-store";
467
- "play-store": "play-store";
468
- fdroid: "fdroid";
469
- "github-releases": "github-releases";
470
- apk: "apk";
471
- testflight: "testflight";
472
- website: "website";
473
- snapcraft: "snapcraft";
474
- flathub: "flathub";
475
- "microsoft-store": "microsoft-store";
476
- "package-registry": "package-registry";
477
- other: "other";
478
- }>;
479
- platform: z.ZodOptional<z.ZodString>;
480
- label: z.ZodOptional<z.ZodString>;
481
- url: z.ZodString;
482
- verified: z.ZodOptional<z.ZodBoolean>;
483
- notes: z.ZodOptional<z.ZodString>;
484
- }, z.core.$strip>>>;
485
- }, z.core.$strip>>;
486
- curation: z.ZodDefault<z.ZodObject<{
487
- projectType: z.ZodOptional<z.ZodEnum<{
488
- historical: "historical";
489
- "real-app": "real-app";
490
- production: "production";
491
- reference: "reference";
492
- library: "library";
493
- tool: "tool";
494
- demo: "demo";
495
- template: "template";
496
- }>>;
497
- difficulty: z.ZodOptional<z.ZodEnum<{
498
- beginner: "beginner";
499
- intermediate: "intermediate";
500
- advanced: "advanced";
501
- }>>;
502
- codebaseSize: z.ZodOptional<z.ZodEnum<{
503
- small: "small";
504
- medium: "medium";
505
- large: "large";
506
- huge: "huge";
507
- }>>;
508
- stateManagement: z.ZodOptional<z.ZodString>;
509
- backend: z.ZodOptional<z.ZodString>;
510
- architecture: z.ZodOptional<z.ZodString>;
511
- bestFor: z.ZodDefault<z.ZodArray<z.ZodString>>;
512
- whyListed: z.ZodDefault<z.ZodArray<z.ZodString>>;
513
- caveats: z.ZodDefault<z.ZodArray<z.ZodString>>;
514
- goodFirstIssues: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
515
- contributionGuide: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
516
- launchedBy: z.ZodOptional<z.ZodString>;
517
- launchAsk: z.ZodDefault<z.ZodArray<z.ZodString>>;
518
- reviewed: z.ZodOptional<z.ZodBoolean>;
519
- reviewedBy: z.ZodOptional<z.ZodString>;
520
- reviewedAt: z.ZodOptional<z.ZodString>;
521
- notes: z.ZodOptional<z.ZodString>;
522
- scores: z.ZodDefault<z.ZodObject<{
523
- activity: z.ZodOptional<z.ZodNumber>;
524
- maturity: z.ZodOptional<z.ZodNumber>;
525
- learning: z.ZodOptional<z.ZodNumber>;
526
- contribution: z.ZodOptional<z.ZodNumber>;
527
- docs: z.ZodOptional<z.ZodNumber>;
528
- overall: z.ZodOptional<z.ZodNumber>;
529
- }, z.core.$strip>>;
530
- }, z.core.$strip>>;
531
- }, z.core.$strip>>;
532
- }, z.core.$strip>]>;
533
149
  export declare const githubMetadataSchema: z.ZodObject<{
534
150
  fullName: z.ZodOptional<z.ZodString>;
535
151
  stars: z.ZodDefault<z.ZodNumber>;
@@ -560,6 +176,48 @@ export declare const githubMetadataSchema: z.ZodObject<{
560
176
  commits: z.ZodNumber;
561
177
  }, z.core.$strip>]>>>;
562
178
  }, z.core.$strip>;
179
+ export declare const healthBlockSchema: z.ZodObject<{
180
+ status: z.ZodDefault<z.ZodEnum<{
181
+ active: "active";
182
+ mature: "mature";
183
+ stale: "stale";
184
+ inactive: "inactive";
185
+ archived: "archived";
186
+ unknown: "unknown";
187
+ historical: "historical";
188
+ needs_review: "needs_review";
189
+ quiet: "quiet";
190
+ unavailable: "unavailable";
191
+ }>>;
192
+ maturity: z.ZodDefault<z.ZodEnum<{
193
+ mature: "mature";
194
+ unknown: "unknown";
195
+ experimental: "experimental";
196
+ useful: "useful";
197
+ }>>;
198
+ tier: z.ZodDefault<z.ZodEnum<{
199
+ curated: "curated";
200
+ listed: "listed";
201
+ experimental: "experimental";
202
+ hidden: "hidden";
203
+ }>>;
204
+ visibility: z.ZodDefault<z.ZodEnum<{
205
+ historical: "historical";
206
+ needs_review: "needs_review";
207
+ highlight: "highlight";
208
+ keep: "keep";
209
+ hide: "hide";
210
+ remove: "remove";
211
+ }>>;
212
+ cleanupCandidate: z.ZodDefault<z.ZodBoolean>;
213
+ staleReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
214
+ confidence: z.ZodDefault<z.ZodEnum<{
215
+ low: "low";
216
+ medium: "medium";
217
+ high: "high";
218
+ }>>;
219
+ reasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
220
+ }, z.core.$strip>;
563
221
  export declare const healthEntrySchema: z.ZodObject<{
564
222
  id: z.ZodString;
565
223
  github: z.ZodOptional<z.ZodObject<{
@@ -593,7 +251,7 @@ export declare const healthEntrySchema: z.ZodObject<{
593
251
  }, z.core.$strip>]>>>;
594
252
  }, z.core.$strip>>;
595
253
  health: z.ZodObject<{
596
- status: z.ZodEnum<{
254
+ status: z.ZodDefault<z.ZodEnum<{
597
255
  active: "active";
598
256
  mature: "mature";
599
257
  stale: "stale";
@@ -604,7 +262,7 @@ export declare const healthEntrySchema: z.ZodObject<{
604
262
  needs_review: "needs_review";
605
263
  quiet: "quiet";
606
264
  unavailable: "unavailable";
607
- }>;
265
+ }>>;
608
266
  maturity: z.ZodDefault<z.ZodEnum<{
609
267
  mature: "mature";
610
268
  unknown: "unknown";
@@ -628,8 +286,8 @@ export declare const healthEntrySchema: z.ZodObject<{
628
286
  cleanupCandidate: z.ZodDefault<z.ZodBoolean>;
629
287
  staleReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
630
288
  confidence: z.ZodDefault<z.ZodEnum<{
631
- medium: "medium";
632
289
  low: "low";
290
+ medium: "medium";
633
291
  high: "high";
634
292
  }>>;
635
293
  reasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -668,7 +326,7 @@ export declare const healthFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodObje
668
326
  }, z.core.$strip>]>>>;
669
327
  }, z.core.$strip>>;
670
328
  health: z.ZodObject<{
671
- status: z.ZodEnum<{
329
+ status: z.ZodDefault<z.ZodEnum<{
672
330
  active: "active";
673
331
  mature: "mature";
674
332
  stale: "stale";
@@ -679,7 +337,7 @@ export declare const healthFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodObje
679
337
  needs_review: "needs_review";
680
338
  quiet: "quiet";
681
339
  unavailable: "unavailable";
682
- }>;
340
+ }>>;
683
341
  maturity: z.ZodDefault<z.ZodEnum<{
684
342
  mature: "mature";
685
343
  unknown: "unknown";
@@ -703,8 +361,8 @@ export declare const healthFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodObje
703
361
  cleanupCandidate: z.ZodDefault<z.ZodBoolean>;
704
362
  staleReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
705
363
  confidence: z.ZodDefault<z.ZodEnum<{
706
- medium: "medium";
707
364
  low: "low";
365
+ medium: "medium";
708
366
  high: "high";
709
367
  }>>;
710
368
  reasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -743,7 +401,7 @@ export declare const healthFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodObje
743
401
  }, z.core.$strip>]>>>;
744
402
  }, z.core.$strip>>;
745
403
  health: z.ZodObject<{
746
- status: z.ZodEnum<{
404
+ status: z.ZodDefault<z.ZodEnum<{
747
405
  active: "active";
748
406
  mature: "mature";
749
407
  stale: "stale";
@@ -754,7 +412,7 @@ export declare const healthFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodObje
754
412
  needs_review: "needs_review";
755
413
  quiet: "quiet";
756
414
  unavailable: "unavailable";
757
- }>;
415
+ }>>;
758
416
  maturity: z.ZodDefault<z.ZodEnum<{
759
417
  mature: "mature";
760
418
  unknown: "unknown";
@@ -778,8 +436,8 @@ export declare const healthFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodObje
778
436
  cleanupCandidate: z.ZodDefault<z.ZodBoolean>;
779
437
  staleReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
780
438
  confidence: z.ZodDefault<z.ZodEnum<{
781
- medium: "medium";
782
439
  low: "low";
440
+ medium: "medium";
783
441
  high: "high";
784
442
  }>>;
785
443
  reasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -848,141 +506,1387 @@ export declare const overridesFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodO
848
506
  patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
849
507
  }, z.core.$strip>>;
850
508
  }, z.core.$strip>]>;
851
- export declare const curatedConfigSchema: z.ZodObject<{
852
- name: z.ZodString;
853
- tagline: z.ZodDefault<z.ZodString>;
854
- description: z.ZodOptional<z.ZodString>;
855
- siteUrl: z.ZodOptional<z.ZodString>;
509
+ export declare const projectRecordSchema: z.ZodObject<{
510
+ slug: z.ZodString;
511
+ description: z.ZodDefault<z.ZodString>;
512
+ category: z.ZodDefault<z.ZodString>;
513
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
514
+ links: z.ZodDefault<z.ZodObject<{
515
+ github: z.ZodOptional<z.ZodString>;
516
+ website: z.ZodOptional<z.ZodString>;
517
+ docs: z.ZodOptional<z.ZodString>;
518
+ source: z.ZodOptional<z.ZodString>;
519
+ }, z.core.$catchall<z.ZodString>>>;
520
+ content: z.ZodOptional<z.ZodString>;
521
+ source: z.ZodDefault<z.ZodObject<{
522
+ type: z.ZodDefault<z.ZodEnum<{
523
+ manual: "manual";
524
+ "github-topic": "github-topic";
525
+ "awesome-list": "awesome-list";
526
+ submit: "submit";
527
+ import: "import";
528
+ }>>;
529
+ file: z.ZodOptional<z.ZodString>;
530
+ url: z.ZodOptional<z.ZodString>;
531
+ provider: z.ZodOptional<z.ZodString>;
532
+ owner: z.ZodOptional<z.ZodString>;
533
+ repo: z.ZodOptional<z.ZodString>;
534
+ }, z.core.$strip>>;
535
+ curation: z.ZodDefault<z.ZodObject<{
536
+ reviewed: z.ZodDefault<z.ZodBoolean>;
537
+ reviewedBy: z.ZodOptional<z.ZodString>;
538
+ reviewedAt: z.ZodOptional<z.ZodString>;
539
+ notes: z.ZodOptional<z.ZodString>;
540
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
541
+ mature: "mature";
542
+ new: "new";
543
+ hot: "hot";
544
+ featured: "featured";
545
+ }>>>;
546
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
547
+ }, z.core.$strip>>;
548
+ scores: z.ZodDefault<z.ZodObject<{
549
+ activity: z.ZodOptional<z.ZodNumber>;
550
+ maturity: z.ZodOptional<z.ZodNumber>;
551
+ learning: z.ZodOptional<z.ZodNumber>;
552
+ contribution: z.ZodOptional<z.ZodNumber>;
553
+ docs: z.ZodOptional<z.ZodNumber>;
554
+ overall: z.ZodOptional<z.ZodNumber>;
555
+ }, z.core.$strip>>;
556
+ kind: z.ZodLiteral<"project">;
557
+ name: z.ZodString;
558
+ projectType: z.ZodOptional<z.ZodEnum<{
559
+ historical: "historical";
560
+ "real-app": "real-app";
561
+ production: "production";
562
+ reference: "reference";
563
+ library: "library";
564
+ tool: "tool";
565
+ demo: "demo";
566
+ template: "template";
567
+ }>>;
568
+ stack: z.ZodOptional<z.ZodString>;
569
+ stacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
570
+ platforms: z.ZodDefault<z.ZodArray<z.ZodString>>;
571
+ difficulty: z.ZodOptional<z.ZodEnum<{
572
+ beginner: "beginner";
573
+ intermediate: "intermediate";
574
+ advanced: "advanced";
575
+ }>>;
576
+ codebaseSize: z.ZodOptional<z.ZodEnum<{
577
+ medium: "medium";
578
+ small: "small";
579
+ large: "large";
580
+ huge: "huge";
581
+ }>>;
856
582
  repoUrl: z.ZodOptional<z.ZodString>;
857
- itemLabel: z.ZodDefault<z.ZodString>;
583
+ logoUrl: z.ZodOptional<z.ZodString>;
584
+ bestFor: z.ZodDefault<z.ZodArray<z.ZodString>>;
585
+ whyListed: z.ZodDefault<z.ZodArray<z.ZodString>>;
586
+ caveats: z.ZodDefault<z.ZodArray<z.ZodString>>;
587
+ distribution: z.ZodDefault<z.ZodObject<{
588
+ channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
589
+ type: z.ZodString;
590
+ platform: z.ZodOptional<z.ZodString>;
591
+ label: z.ZodOptional<z.ZodString>;
592
+ url: z.ZodString;
593
+ verified: z.ZodOptional<z.ZodBoolean>;
594
+ notes: z.ZodOptional<z.ZodString>;
595
+ }, z.core.$loose>>>;
596
+ }, z.core.$strip>>;
597
+ github: z.ZodOptional<z.ZodObject<{
598
+ repository: z.ZodOptional<z.ZodObject<{
599
+ id: z.ZodOptional<z.ZodNumber>;
600
+ node_id: z.ZodOptional<z.ZodString>;
601
+ name: z.ZodOptional<z.ZodString>;
602
+ full_name: z.ZodOptional<z.ZodString>;
603
+ html_url: z.ZodOptional<z.ZodString>;
604
+ clone_url: z.ZodOptional<z.ZodString>;
605
+ ssh_url: z.ZodOptional<z.ZodString>;
606
+ homepage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
607
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
608
+ fork: z.ZodOptional<z.ZodBoolean>;
609
+ archived: z.ZodOptional<z.ZodBoolean>;
610
+ disabled: z.ZodOptional<z.ZodBoolean>;
611
+ private: z.ZodOptional<z.ZodBoolean>;
612
+ is_template: z.ZodOptional<z.ZodBoolean>;
613
+ visibility: z.ZodOptional<z.ZodString>;
614
+ default_branch: z.ZodOptional<z.ZodString>;
615
+ language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
616
+ topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
617
+ license: z.ZodOptional<z.ZodNullable<z.ZodObject<{
618
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
619
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
620
+ spdx_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
621
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
622
+ }, z.core.$loose>>>;
623
+ stargazers_count: z.ZodOptional<z.ZodNumber>;
624
+ watchers_count: z.ZodOptional<z.ZodNumber>;
625
+ forks_count: z.ZodOptional<z.ZodNumber>;
626
+ open_issues_count: z.ZodOptional<z.ZodNumber>;
627
+ subscribers_count: z.ZodOptional<z.ZodNumber>;
628
+ size: z.ZodOptional<z.ZodNumber>;
629
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
630
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
631
+ pushed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
632
+ }, z.core.$loose>>;
633
+ languages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
634
+ latestRelease: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
635
+ activity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
636
+ files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
637
+ labels: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
638
+ sync: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
639
+ }, z.core.$loose>>;
640
+ health: z.ZodOptional<z.ZodObject<{
641
+ status: z.ZodDefault<z.ZodEnum<{
642
+ active: "active";
643
+ mature: "mature";
644
+ stale: "stale";
645
+ inactive: "inactive";
646
+ archived: "archived";
647
+ unknown: "unknown";
648
+ historical: "historical";
649
+ needs_review: "needs_review";
650
+ quiet: "quiet";
651
+ unavailable: "unavailable";
652
+ }>>;
653
+ maturity: z.ZodDefault<z.ZodEnum<{
654
+ mature: "mature";
655
+ unknown: "unknown";
656
+ experimental: "experimental";
657
+ useful: "useful";
658
+ }>>;
659
+ tier: z.ZodDefault<z.ZodEnum<{
660
+ curated: "curated";
661
+ listed: "listed";
662
+ experimental: "experimental";
663
+ hidden: "hidden";
664
+ }>>;
665
+ visibility: z.ZodDefault<z.ZodEnum<{
666
+ historical: "historical";
667
+ needs_review: "needs_review";
668
+ highlight: "highlight";
669
+ keep: "keep";
670
+ hide: "hide";
671
+ remove: "remove";
672
+ }>>;
673
+ cleanupCandidate: z.ZodDefault<z.ZodBoolean>;
674
+ staleReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
675
+ confidence: z.ZodDefault<z.ZodEnum<{
676
+ low: "low";
677
+ medium: "medium";
678
+ high: "high";
679
+ }>>;
680
+ reasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
681
+ }, z.core.$strip>>;
682
+ }, z.core.$strip>;
683
+ export type ProjectRecord = z.infer<typeof projectRecordSchema>;
684
+ export declare const resourceRecordSchema: z.ZodObject<{
685
+ slug: z.ZodString;
686
+ description: z.ZodDefault<z.ZodString>;
687
+ category: z.ZodDefault<z.ZodString>;
688
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
689
+ links: z.ZodDefault<z.ZodObject<{
690
+ github: z.ZodOptional<z.ZodString>;
691
+ website: z.ZodOptional<z.ZodString>;
692
+ docs: z.ZodOptional<z.ZodString>;
693
+ source: z.ZodOptional<z.ZodString>;
694
+ }, z.core.$catchall<z.ZodString>>>;
695
+ content: z.ZodOptional<z.ZodString>;
696
+ source: z.ZodDefault<z.ZodObject<{
697
+ type: z.ZodDefault<z.ZodEnum<{
698
+ manual: "manual";
699
+ "github-topic": "github-topic";
700
+ "awesome-list": "awesome-list";
701
+ submit: "submit";
702
+ import: "import";
703
+ }>>;
704
+ file: z.ZodOptional<z.ZodString>;
705
+ url: z.ZodOptional<z.ZodString>;
706
+ provider: z.ZodOptional<z.ZodString>;
707
+ owner: z.ZodOptional<z.ZodString>;
708
+ repo: z.ZodOptional<z.ZodString>;
709
+ }, z.core.$strip>>;
710
+ curation: z.ZodDefault<z.ZodObject<{
711
+ reviewed: z.ZodDefault<z.ZodBoolean>;
712
+ reviewedBy: z.ZodOptional<z.ZodString>;
713
+ reviewedAt: z.ZodOptional<z.ZodString>;
714
+ notes: z.ZodOptional<z.ZodString>;
715
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
716
+ mature: "mature";
717
+ new: "new";
718
+ hot: "hot";
719
+ featured: "featured";
720
+ }>>>;
721
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
722
+ }, z.core.$strip>>;
723
+ scores: z.ZodDefault<z.ZodObject<{
724
+ activity: z.ZodOptional<z.ZodNumber>;
725
+ maturity: z.ZodOptional<z.ZodNumber>;
726
+ learning: z.ZodOptional<z.ZodNumber>;
727
+ contribution: z.ZodOptional<z.ZodNumber>;
728
+ docs: z.ZodOptional<z.ZodNumber>;
729
+ overall: z.ZodOptional<z.ZodNumber>;
730
+ }, z.core.$strip>>;
731
+ kind: z.ZodLiteral<"resource">;
732
+ title: z.ZodString;
733
+ type: z.ZodEnum<{
734
+ tool: "tool";
735
+ guide: "guide";
736
+ comparison: "comparison";
737
+ link: "link";
738
+ explainer: "explainer";
739
+ video: "video";
740
+ article: "article";
741
+ course: "course";
742
+ book: "book";
743
+ podcast: "podcast";
744
+ other: "other";
745
+ }>;
746
+ topic: z.ZodString;
747
+ related: z.ZodDefault<z.ZodArray<z.ZodString>>;
748
+ publishedAt: z.ZodOptional<z.ZodString>;
749
+ author: z.ZodOptional<z.ZodString>;
750
+ }, z.core.$strip>;
751
+ export type ResourceRecord = z.infer<typeof resourceRecordSchema>;
752
+ export declare const entityRecordSchema: z.ZodObject<{
753
+ slug: z.ZodString;
754
+ description: z.ZodDefault<z.ZodString>;
755
+ category: z.ZodDefault<z.ZodString>;
756
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
757
+ links: z.ZodDefault<z.ZodObject<{
758
+ github: z.ZodOptional<z.ZodString>;
759
+ website: z.ZodOptional<z.ZodString>;
760
+ docs: z.ZodOptional<z.ZodString>;
761
+ source: z.ZodOptional<z.ZodString>;
762
+ }, z.core.$catchall<z.ZodString>>>;
763
+ content: z.ZodOptional<z.ZodString>;
764
+ source: z.ZodDefault<z.ZodObject<{
765
+ type: z.ZodDefault<z.ZodEnum<{
766
+ manual: "manual";
767
+ "github-topic": "github-topic";
768
+ "awesome-list": "awesome-list";
769
+ submit: "submit";
770
+ import: "import";
771
+ }>>;
772
+ file: z.ZodOptional<z.ZodString>;
773
+ url: z.ZodOptional<z.ZodString>;
774
+ provider: z.ZodOptional<z.ZodString>;
775
+ owner: z.ZodOptional<z.ZodString>;
776
+ repo: z.ZodOptional<z.ZodString>;
777
+ }, z.core.$strip>>;
778
+ curation: z.ZodDefault<z.ZodObject<{
779
+ reviewed: z.ZodDefault<z.ZodBoolean>;
780
+ reviewedBy: z.ZodOptional<z.ZodString>;
781
+ reviewedAt: z.ZodOptional<z.ZodString>;
782
+ notes: z.ZodOptional<z.ZodString>;
783
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
784
+ mature: "mature";
785
+ new: "new";
786
+ hot: "hot";
787
+ featured: "featured";
788
+ }>>>;
789
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
790
+ }, z.core.$strip>>;
791
+ scores: z.ZodDefault<z.ZodObject<{
792
+ activity: z.ZodOptional<z.ZodNumber>;
793
+ maturity: z.ZodOptional<z.ZodNumber>;
794
+ learning: z.ZodOptional<z.ZodNumber>;
795
+ contribution: z.ZodOptional<z.ZodNumber>;
796
+ docs: z.ZodOptional<z.ZodNumber>;
797
+ overall: z.ZodOptional<z.ZodNumber>;
798
+ }, z.core.$strip>>;
799
+ kind: z.ZodLiteral<"entity">;
800
+ name: z.ZodString;
801
+ type: z.ZodEnum<{
802
+ other: "other";
803
+ company: "company";
804
+ organization: "organization";
805
+ community: "community";
806
+ school: "school";
807
+ university: "university";
808
+ "research-lab": "research-lab";
809
+ agency: "agency";
810
+ service: "service";
811
+ product: "product";
812
+ person: "person";
813
+ }>;
814
+ founded: z.ZodOptional<z.ZodString>;
815
+ location: z.ZodOptional<z.ZodString>;
816
+ members: z.ZodOptional<z.ZodNumber>;
817
+ parent: z.ZodOptional<z.ZodString>;
818
+ }, z.core.$strip>;
819
+ export type EntityRecord = z.infer<typeof entityRecordSchema>;
820
+ export declare const resourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
821
+ slug: z.ZodString;
822
+ description: z.ZodDefault<z.ZodString>;
823
+ category: z.ZodDefault<z.ZodString>;
824
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
825
+ links: z.ZodDefault<z.ZodObject<{
826
+ github: z.ZodOptional<z.ZodString>;
827
+ website: z.ZodOptional<z.ZodString>;
828
+ docs: z.ZodOptional<z.ZodString>;
829
+ source: z.ZodOptional<z.ZodString>;
830
+ }, z.core.$catchall<z.ZodString>>>;
831
+ content: z.ZodOptional<z.ZodString>;
832
+ source: z.ZodDefault<z.ZodObject<{
833
+ type: z.ZodDefault<z.ZodEnum<{
834
+ manual: "manual";
835
+ "github-topic": "github-topic";
836
+ "awesome-list": "awesome-list";
837
+ submit: "submit";
838
+ import: "import";
839
+ }>>;
840
+ file: z.ZodOptional<z.ZodString>;
841
+ url: z.ZodOptional<z.ZodString>;
842
+ provider: z.ZodOptional<z.ZodString>;
843
+ owner: z.ZodOptional<z.ZodString>;
844
+ repo: z.ZodOptional<z.ZodString>;
845
+ }, z.core.$strip>>;
846
+ curation: z.ZodDefault<z.ZodObject<{
847
+ reviewed: z.ZodDefault<z.ZodBoolean>;
848
+ reviewedBy: z.ZodOptional<z.ZodString>;
849
+ reviewedAt: z.ZodOptional<z.ZodString>;
850
+ notes: z.ZodOptional<z.ZodString>;
851
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
852
+ mature: "mature";
853
+ new: "new";
854
+ hot: "hot";
855
+ featured: "featured";
856
+ }>>>;
857
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
858
+ }, z.core.$strip>>;
859
+ scores: z.ZodDefault<z.ZodObject<{
860
+ activity: z.ZodOptional<z.ZodNumber>;
861
+ maturity: z.ZodOptional<z.ZodNumber>;
862
+ learning: z.ZodOptional<z.ZodNumber>;
863
+ contribution: z.ZodOptional<z.ZodNumber>;
864
+ docs: z.ZodOptional<z.ZodNumber>;
865
+ overall: z.ZodOptional<z.ZodNumber>;
866
+ }, z.core.$strip>>;
867
+ kind: z.ZodLiteral<"project">;
868
+ name: z.ZodString;
869
+ projectType: z.ZodOptional<z.ZodEnum<{
870
+ historical: "historical";
871
+ "real-app": "real-app";
872
+ production: "production";
873
+ reference: "reference";
874
+ library: "library";
875
+ tool: "tool";
876
+ demo: "demo";
877
+ template: "template";
878
+ }>>;
879
+ stack: z.ZodOptional<z.ZodString>;
880
+ stacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
881
+ platforms: z.ZodDefault<z.ZodArray<z.ZodString>>;
882
+ difficulty: z.ZodOptional<z.ZodEnum<{
883
+ beginner: "beginner";
884
+ intermediate: "intermediate";
885
+ advanced: "advanced";
886
+ }>>;
887
+ codebaseSize: z.ZodOptional<z.ZodEnum<{
888
+ medium: "medium";
889
+ small: "small";
890
+ large: "large";
891
+ huge: "huge";
892
+ }>>;
893
+ repoUrl: z.ZodOptional<z.ZodString>;
894
+ logoUrl: z.ZodOptional<z.ZodString>;
895
+ bestFor: z.ZodDefault<z.ZodArray<z.ZodString>>;
896
+ whyListed: z.ZodDefault<z.ZodArray<z.ZodString>>;
897
+ caveats: z.ZodDefault<z.ZodArray<z.ZodString>>;
898
+ distribution: z.ZodDefault<z.ZodObject<{
899
+ channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
900
+ type: z.ZodString;
901
+ platform: z.ZodOptional<z.ZodString>;
902
+ label: z.ZodOptional<z.ZodString>;
903
+ url: z.ZodString;
904
+ verified: z.ZodOptional<z.ZodBoolean>;
905
+ notes: z.ZodOptional<z.ZodString>;
906
+ }, z.core.$loose>>>;
907
+ }, z.core.$strip>>;
908
+ github: z.ZodOptional<z.ZodObject<{
909
+ repository: z.ZodOptional<z.ZodObject<{
910
+ id: z.ZodOptional<z.ZodNumber>;
911
+ node_id: z.ZodOptional<z.ZodString>;
912
+ name: z.ZodOptional<z.ZodString>;
913
+ full_name: z.ZodOptional<z.ZodString>;
914
+ html_url: z.ZodOptional<z.ZodString>;
915
+ clone_url: z.ZodOptional<z.ZodString>;
916
+ ssh_url: z.ZodOptional<z.ZodString>;
917
+ homepage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
918
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
919
+ fork: z.ZodOptional<z.ZodBoolean>;
920
+ archived: z.ZodOptional<z.ZodBoolean>;
921
+ disabled: z.ZodOptional<z.ZodBoolean>;
922
+ private: z.ZodOptional<z.ZodBoolean>;
923
+ is_template: z.ZodOptional<z.ZodBoolean>;
924
+ visibility: z.ZodOptional<z.ZodString>;
925
+ default_branch: z.ZodOptional<z.ZodString>;
926
+ language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
927
+ topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
928
+ license: z.ZodOptional<z.ZodNullable<z.ZodObject<{
929
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
930
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
931
+ spdx_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
932
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
933
+ }, z.core.$loose>>>;
934
+ stargazers_count: z.ZodOptional<z.ZodNumber>;
935
+ watchers_count: z.ZodOptional<z.ZodNumber>;
936
+ forks_count: z.ZodOptional<z.ZodNumber>;
937
+ open_issues_count: z.ZodOptional<z.ZodNumber>;
938
+ subscribers_count: z.ZodOptional<z.ZodNumber>;
939
+ size: z.ZodOptional<z.ZodNumber>;
940
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
941
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
942
+ pushed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
943
+ }, z.core.$loose>>;
944
+ languages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
945
+ latestRelease: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
946
+ activity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
947
+ files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
948
+ labels: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
949
+ sync: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
950
+ }, z.core.$loose>>;
951
+ health: z.ZodOptional<z.ZodObject<{
952
+ status: z.ZodDefault<z.ZodEnum<{
953
+ active: "active";
954
+ mature: "mature";
955
+ stale: "stale";
956
+ inactive: "inactive";
957
+ archived: "archived";
958
+ unknown: "unknown";
959
+ historical: "historical";
960
+ needs_review: "needs_review";
961
+ quiet: "quiet";
962
+ unavailable: "unavailable";
963
+ }>>;
964
+ maturity: z.ZodDefault<z.ZodEnum<{
965
+ mature: "mature";
966
+ unknown: "unknown";
967
+ experimental: "experimental";
968
+ useful: "useful";
969
+ }>>;
970
+ tier: z.ZodDefault<z.ZodEnum<{
971
+ curated: "curated";
972
+ listed: "listed";
973
+ experimental: "experimental";
974
+ hidden: "hidden";
975
+ }>>;
976
+ visibility: z.ZodDefault<z.ZodEnum<{
977
+ historical: "historical";
978
+ needs_review: "needs_review";
979
+ highlight: "highlight";
980
+ keep: "keep";
981
+ hide: "hide";
982
+ remove: "remove";
983
+ }>>;
984
+ cleanupCandidate: z.ZodDefault<z.ZodBoolean>;
985
+ staleReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
986
+ confidence: z.ZodDefault<z.ZodEnum<{
987
+ low: "low";
988
+ medium: "medium";
989
+ high: "high";
990
+ }>>;
991
+ reasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
992
+ }, z.core.$strip>>;
993
+ }, z.core.$strip>, z.ZodObject<{
994
+ slug: z.ZodString;
995
+ description: z.ZodDefault<z.ZodString>;
996
+ category: z.ZodDefault<z.ZodString>;
997
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
998
+ links: z.ZodDefault<z.ZodObject<{
999
+ github: z.ZodOptional<z.ZodString>;
1000
+ website: z.ZodOptional<z.ZodString>;
1001
+ docs: z.ZodOptional<z.ZodString>;
1002
+ source: z.ZodOptional<z.ZodString>;
1003
+ }, z.core.$catchall<z.ZodString>>>;
1004
+ content: z.ZodOptional<z.ZodString>;
1005
+ source: z.ZodDefault<z.ZodObject<{
1006
+ type: z.ZodDefault<z.ZodEnum<{
1007
+ manual: "manual";
1008
+ "github-topic": "github-topic";
1009
+ "awesome-list": "awesome-list";
1010
+ submit: "submit";
1011
+ import: "import";
1012
+ }>>;
1013
+ file: z.ZodOptional<z.ZodString>;
1014
+ url: z.ZodOptional<z.ZodString>;
1015
+ provider: z.ZodOptional<z.ZodString>;
1016
+ owner: z.ZodOptional<z.ZodString>;
1017
+ repo: z.ZodOptional<z.ZodString>;
1018
+ }, z.core.$strip>>;
1019
+ curation: z.ZodDefault<z.ZodObject<{
1020
+ reviewed: z.ZodDefault<z.ZodBoolean>;
1021
+ reviewedBy: z.ZodOptional<z.ZodString>;
1022
+ reviewedAt: z.ZodOptional<z.ZodString>;
1023
+ notes: z.ZodOptional<z.ZodString>;
1024
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1025
+ mature: "mature";
1026
+ new: "new";
1027
+ hot: "hot";
1028
+ featured: "featured";
1029
+ }>>>;
1030
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
1031
+ }, z.core.$strip>>;
1032
+ scores: z.ZodDefault<z.ZodObject<{
1033
+ activity: z.ZodOptional<z.ZodNumber>;
1034
+ maturity: z.ZodOptional<z.ZodNumber>;
1035
+ learning: z.ZodOptional<z.ZodNumber>;
1036
+ contribution: z.ZodOptional<z.ZodNumber>;
1037
+ docs: z.ZodOptional<z.ZodNumber>;
1038
+ overall: z.ZodOptional<z.ZodNumber>;
1039
+ }, z.core.$strip>>;
1040
+ kind: z.ZodLiteral<"resource">;
1041
+ title: z.ZodString;
1042
+ type: z.ZodEnum<{
1043
+ tool: "tool";
1044
+ guide: "guide";
1045
+ comparison: "comparison";
1046
+ link: "link";
1047
+ explainer: "explainer";
1048
+ video: "video";
1049
+ article: "article";
1050
+ course: "course";
1051
+ book: "book";
1052
+ podcast: "podcast";
1053
+ other: "other";
1054
+ }>;
1055
+ topic: z.ZodString;
1056
+ related: z.ZodDefault<z.ZodArray<z.ZodString>>;
1057
+ publishedAt: z.ZodOptional<z.ZodString>;
1058
+ author: z.ZodOptional<z.ZodString>;
1059
+ }, z.core.$strip>, z.ZodObject<{
1060
+ slug: z.ZodString;
1061
+ description: z.ZodDefault<z.ZodString>;
1062
+ category: z.ZodDefault<z.ZodString>;
1063
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1064
+ links: z.ZodDefault<z.ZodObject<{
1065
+ github: z.ZodOptional<z.ZodString>;
1066
+ website: z.ZodOptional<z.ZodString>;
1067
+ docs: z.ZodOptional<z.ZodString>;
1068
+ source: z.ZodOptional<z.ZodString>;
1069
+ }, z.core.$catchall<z.ZodString>>>;
1070
+ content: z.ZodOptional<z.ZodString>;
1071
+ source: z.ZodDefault<z.ZodObject<{
1072
+ type: z.ZodDefault<z.ZodEnum<{
1073
+ manual: "manual";
1074
+ "github-topic": "github-topic";
1075
+ "awesome-list": "awesome-list";
1076
+ submit: "submit";
1077
+ import: "import";
1078
+ }>>;
1079
+ file: z.ZodOptional<z.ZodString>;
1080
+ url: z.ZodOptional<z.ZodString>;
1081
+ provider: z.ZodOptional<z.ZodString>;
1082
+ owner: z.ZodOptional<z.ZodString>;
1083
+ repo: z.ZodOptional<z.ZodString>;
1084
+ }, z.core.$strip>>;
1085
+ curation: z.ZodDefault<z.ZodObject<{
1086
+ reviewed: z.ZodDefault<z.ZodBoolean>;
1087
+ reviewedBy: z.ZodOptional<z.ZodString>;
1088
+ reviewedAt: z.ZodOptional<z.ZodString>;
1089
+ notes: z.ZodOptional<z.ZodString>;
1090
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1091
+ mature: "mature";
1092
+ new: "new";
1093
+ hot: "hot";
1094
+ featured: "featured";
1095
+ }>>>;
1096
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
1097
+ }, z.core.$strip>>;
1098
+ scores: z.ZodDefault<z.ZodObject<{
1099
+ activity: z.ZodOptional<z.ZodNumber>;
1100
+ maturity: z.ZodOptional<z.ZodNumber>;
1101
+ learning: z.ZodOptional<z.ZodNumber>;
1102
+ contribution: z.ZodOptional<z.ZodNumber>;
1103
+ docs: z.ZodOptional<z.ZodNumber>;
1104
+ overall: z.ZodOptional<z.ZodNumber>;
1105
+ }, z.core.$strip>>;
1106
+ kind: z.ZodLiteral<"entity">;
1107
+ name: z.ZodString;
1108
+ type: z.ZodEnum<{
1109
+ other: "other";
1110
+ company: "company";
1111
+ organization: "organization";
1112
+ community: "community";
1113
+ school: "school";
1114
+ university: "university";
1115
+ "research-lab": "research-lab";
1116
+ agency: "agency";
1117
+ service: "service";
1118
+ product: "product";
1119
+ person: "person";
1120
+ }>;
1121
+ founded: z.ZodOptional<z.ZodString>;
1122
+ location: z.ZodOptional<z.ZodString>;
1123
+ members: z.ZodOptional<z.ZodNumber>;
1124
+ parent: z.ZodOptional<z.ZodString>;
1125
+ }, z.core.$strip>], "kind">;
1126
+ export type Resource = z.infer<typeof resourceSchema>;
1127
+ export declare const recordsFileSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1128
+ slug: z.ZodString;
1129
+ description: z.ZodDefault<z.ZodString>;
1130
+ category: z.ZodDefault<z.ZodString>;
1131
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1132
+ links: z.ZodDefault<z.ZodObject<{
1133
+ github: z.ZodOptional<z.ZodString>;
1134
+ website: z.ZodOptional<z.ZodString>;
1135
+ docs: z.ZodOptional<z.ZodString>;
1136
+ source: z.ZodOptional<z.ZodString>;
1137
+ }, z.core.$catchall<z.ZodString>>>;
1138
+ content: z.ZodOptional<z.ZodString>;
1139
+ source: z.ZodDefault<z.ZodObject<{
1140
+ type: z.ZodDefault<z.ZodEnum<{
1141
+ manual: "manual";
1142
+ "github-topic": "github-topic";
1143
+ "awesome-list": "awesome-list";
1144
+ submit: "submit";
1145
+ import: "import";
1146
+ }>>;
1147
+ file: z.ZodOptional<z.ZodString>;
1148
+ url: z.ZodOptional<z.ZodString>;
1149
+ provider: z.ZodOptional<z.ZodString>;
1150
+ owner: z.ZodOptional<z.ZodString>;
1151
+ repo: z.ZodOptional<z.ZodString>;
1152
+ }, z.core.$strip>>;
1153
+ curation: z.ZodDefault<z.ZodObject<{
1154
+ reviewed: z.ZodDefault<z.ZodBoolean>;
1155
+ reviewedBy: z.ZodOptional<z.ZodString>;
1156
+ reviewedAt: z.ZodOptional<z.ZodString>;
1157
+ notes: z.ZodOptional<z.ZodString>;
1158
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1159
+ mature: "mature";
1160
+ new: "new";
1161
+ hot: "hot";
1162
+ featured: "featured";
1163
+ }>>>;
1164
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
1165
+ }, z.core.$strip>>;
1166
+ scores: z.ZodDefault<z.ZodObject<{
1167
+ activity: z.ZodOptional<z.ZodNumber>;
1168
+ maturity: z.ZodOptional<z.ZodNumber>;
1169
+ learning: z.ZodOptional<z.ZodNumber>;
1170
+ contribution: z.ZodOptional<z.ZodNumber>;
1171
+ docs: z.ZodOptional<z.ZodNumber>;
1172
+ overall: z.ZodOptional<z.ZodNumber>;
1173
+ }, z.core.$strip>>;
1174
+ kind: z.ZodLiteral<"project">;
1175
+ name: z.ZodString;
1176
+ projectType: z.ZodOptional<z.ZodEnum<{
1177
+ historical: "historical";
1178
+ "real-app": "real-app";
1179
+ production: "production";
1180
+ reference: "reference";
1181
+ library: "library";
1182
+ tool: "tool";
1183
+ demo: "demo";
1184
+ template: "template";
1185
+ }>>;
1186
+ stack: z.ZodOptional<z.ZodString>;
1187
+ stacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
1188
+ platforms: z.ZodDefault<z.ZodArray<z.ZodString>>;
1189
+ difficulty: z.ZodOptional<z.ZodEnum<{
1190
+ beginner: "beginner";
1191
+ intermediate: "intermediate";
1192
+ advanced: "advanced";
1193
+ }>>;
1194
+ codebaseSize: z.ZodOptional<z.ZodEnum<{
1195
+ medium: "medium";
1196
+ small: "small";
1197
+ large: "large";
1198
+ huge: "huge";
1199
+ }>>;
1200
+ repoUrl: z.ZodOptional<z.ZodString>;
1201
+ logoUrl: z.ZodOptional<z.ZodString>;
1202
+ bestFor: z.ZodDefault<z.ZodArray<z.ZodString>>;
1203
+ whyListed: z.ZodDefault<z.ZodArray<z.ZodString>>;
1204
+ caveats: z.ZodDefault<z.ZodArray<z.ZodString>>;
1205
+ distribution: z.ZodDefault<z.ZodObject<{
1206
+ channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
1207
+ type: z.ZodString;
1208
+ platform: z.ZodOptional<z.ZodString>;
1209
+ label: z.ZodOptional<z.ZodString>;
1210
+ url: z.ZodString;
1211
+ verified: z.ZodOptional<z.ZodBoolean>;
1212
+ notes: z.ZodOptional<z.ZodString>;
1213
+ }, z.core.$loose>>>;
1214
+ }, z.core.$strip>>;
1215
+ github: z.ZodOptional<z.ZodObject<{
1216
+ repository: z.ZodOptional<z.ZodObject<{
1217
+ id: z.ZodOptional<z.ZodNumber>;
1218
+ node_id: z.ZodOptional<z.ZodString>;
1219
+ name: z.ZodOptional<z.ZodString>;
1220
+ full_name: z.ZodOptional<z.ZodString>;
1221
+ html_url: z.ZodOptional<z.ZodString>;
1222
+ clone_url: z.ZodOptional<z.ZodString>;
1223
+ ssh_url: z.ZodOptional<z.ZodString>;
1224
+ homepage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1225
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1226
+ fork: z.ZodOptional<z.ZodBoolean>;
1227
+ archived: z.ZodOptional<z.ZodBoolean>;
1228
+ disabled: z.ZodOptional<z.ZodBoolean>;
1229
+ private: z.ZodOptional<z.ZodBoolean>;
1230
+ is_template: z.ZodOptional<z.ZodBoolean>;
1231
+ visibility: z.ZodOptional<z.ZodString>;
1232
+ default_branch: z.ZodOptional<z.ZodString>;
1233
+ language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1234
+ topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
1235
+ license: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1236
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1237
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1238
+ spdx_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1239
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1240
+ }, z.core.$loose>>>;
1241
+ stargazers_count: z.ZodOptional<z.ZodNumber>;
1242
+ watchers_count: z.ZodOptional<z.ZodNumber>;
1243
+ forks_count: z.ZodOptional<z.ZodNumber>;
1244
+ open_issues_count: z.ZodOptional<z.ZodNumber>;
1245
+ subscribers_count: z.ZodOptional<z.ZodNumber>;
1246
+ size: z.ZodOptional<z.ZodNumber>;
1247
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1248
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1249
+ pushed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1250
+ }, z.core.$loose>>;
1251
+ languages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1252
+ latestRelease: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1253
+ activity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1254
+ files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1255
+ labels: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1256
+ sync: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1257
+ }, z.core.$loose>>;
1258
+ health: z.ZodOptional<z.ZodObject<{
1259
+ status: z.ZodDefault<z.ZodEnum<{
1260
+ active: "active";
1261
+ mature: "mature";
1262
+ stale: "stale";
1263
+ inactive: "inactive";
1264
+ archived: "archived";
1265
+ unknown: "unknown";
1266
+ historical: "historical";
1267
+ needs_review: "needs_review";
1268
+ quiet: "quiet";
1269
+ unavailable: "unavailable";
1270
+ }>>;
1271
+ maturity: z.ZodDefault<z.ZodEnum<{
1272
+ mature: "mature";
1273
+ unknown: "unknown";
1274
+ experimental: "experimental";
1275
+ useful: "useful";
1276
+ }>>;
1277
+ tier: z.ZodDefault<z.ZodEnum<{
1278
+ curated: "curated";
1279
+ listed: "listed";
1280
+ experimental: "experimental";
1281
+ hidden: "hidden";
1282
+ }>>;
1283
+ visibility: z.ZodDefault<z.ZodEnum<{
1284
+ historical: "historical";
1285
+ needs_review: "needs_review";
1286
+ highlight: "highlight";
1287
+ keep: "keep";
1288
+ hide: "hide";
1289
+ remove: "remove";
1290
+ }>>;
1291
+ cleanupCandidate: z.ZodDefault<z.ZodBoolean>;
1292
+ staleReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1293
+ confidence: z.ZodDefault<z.ZodEnum<{
1294
+ low: "low";
1295
+ medium: "medium";
1296
+ high: "high";
1297
+ }>>;
1298
+ reasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
1299
+ }, z.core.$strip>>;
1300
+ }, z.core.$strip>, z.ZodObject<{
1301
+ slug: z.ZodString;
1302
+ description: z.ZodDefault<z.ZodString>;
1303
+ category: z.ZodDefault<z.ZodString>;
1304
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1305
+ links: z.ZodDefault<z.ZodObject<{
1306
+ github: z.ZodOptional<z.ZodString>;
1307
+ website: z.ZodOptional<z.ZodString>;
1308
+ docs: z.ZodOptional<z.ZodString>;
1309
+ source: z.ZodOptional<z.ZodString>;
1310
+ }, z.core.$catchall<z.ZodString>>>;
1311
+ content: z.ZodOptional<z.ZodString>;
1312
+ source: z.ZodDefault<z.ZodObject<{
1313
+ type: z.ZodDefault<z.ZodEnum<{
1314
+ manual: "manual";
1315
+ "github-topic": "github-topic";
1316
+ "awesome-list": "awesome-list";
1317
+ submit: "submit";
1318
+ import: "import";
1319
+ }>>;
1320
+ file: z.ZodOptional<z.ZodString>;
1321
+ url: z.ZodOptional<z.ZodString>;
1322
+ provider: z.ZodOptional<z.ZodString>;
1323
+ owner: z.ZodOptional<z.ZodString>;
1324
+ repo: z.ZodOptional<z.ZodString>;
1325
+ }, z.core.$strip>>;
1326
+ curation: z.ZodDefault<z.ZodObject<{
1327
+ reviewed: z.ZodDefault<z.ZodBoolean>;
1328
+ reviewedBy: z.ZodOptional<z.ZodString>;
1329
+ reviewedAt: z.ZodOptional<z.ZodString>;
1330
+ notes: z.ZodOptional<z.ZodString>;
1331
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1332
+ mature: "mature";
1333
+ new: "new";
1334
+ hot: "hot";
1335
+ featured: "featured";
1336
+ }>>>;
1337
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
1338
+ }, z.core.$strip>>;
1339
+ scores: z.ZodDefault<z.ZodObject<{
1340
+ activity: z.ZodOptional<z.ZodNumber>;
1341
+ maturity: z.ZodOptional<z.ZodNumber>;
1342
+ learning: z.ZodOptional<z.ZodNumber>;
1343
+ contribution: z.ZodOptional<z.ZodNumber>;
1344
+ docs: z.ZodOptional<z.ZodNumber>;
1345
+ overall: z.ZodOptional<z.ZodNumber>;
1346
+ }, z.core.$strip>>;
1347
+ kind: z.ZodLiteral<"resource">;
1348
+ title: z.ZodString;
1349
+ type: z.ZodEnum<{
1350
+ tool: "tool";
1351
+ guide: "guide";
1352
+ comparison: "comparison";
1353
+ link: "link";
1354
+ explainer: "explainer";
1355
+ video: "video";
1356
+ article: "article";
1357
+ course: "course";
1358
+ book: "book";
1359
+ podcast: "podcast";
1360
+ other: "other";
1361
+ }>;
1362
+ topic: z.ZodString;
1363
+ related: z.ZodDefault<z.ZodArray<z.ZodString>>;
1364
+ publishedAt: z.ZodOptional<z.ZodString>;
1365
+ author: z.ZodOptional<z.ZodString>;
1366
+ }, z.core.$strip>, z.ZodObject<{
1367
+ slug: z.ZodString;
1368
+ description: z.ZodDefault<z.ZodString>;
1369
+ category: z.ZodDefault<z.ZodString>;
1370
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1371
+ links: z.ZodDefault<z.ZodObject<{
1372
+ github: z.ZodOptional<z.ZodString>;
1373
+ website: z.ZodOptional<z.ZodString>;
1374
+ docs: z.ZodOptional<z.ZodString>;
1375
+ source: z.ZodOptional<z.ZodString>;
1376
+ }, z.core.$catchall<z.ZodString>>>;
1377
+ content: z.ZodOptional<z.ZodString>;
1378
+ source: z.ZodDefault<z.ZodObject<{
1379
+ type: z.ZodDefault<z.ZodEnum<{
1380
+ manual: "manual";
1381
+ "github-topic": "github-topic";
1382
+ "awesome-list": "awesome-list";
1383
+ submit: "submit";
1384
+ import: "import";
1385
+ }>>;
1386
+ file: z.ZodOptional<z.ZodString>;
1387
+ url: z.ZodOptional<z.ZodString>;
1388
+ provider: z.ZodOptional<z.ZodString>;
1389
+ owner: z.ZodOptional<z.ZodString>;
1390
+ repo: z.ZodOptional<z.ZodString>;
1391
+ }, z.core.$strip>>;
1392
+ curation: z.ZodDefault<z.ZodObject<{
1393
+ reviewed: z.ZodDefault<z.ZodBoolean>;
1394
+ reviewedBy: z.ZodOptional<z.ZodString>;
1395
+ reviewedAt: z.ZodOptional<z.ZodString>;
1396
+ notes: z.ZodOptional<z.ZodString>;
1397
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1398
+ mature: "mature";
1399
+ new: "new";
1400
+ hot: "hot";
1401
+ featured: "featured";
1402
+ }>>>;
1403
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
1404
+ }, z.core.$strip>>;
1405
+ scores: z.ZodDefault<z.ZodObject<{
1406
+ activity: z.ZodOptional<z.ZodNumber>;
1407
+ maturity: z.ZodOptional<z.ZodNumber>;
1408
+ learning: z.ZodOptional<z.ZodNumber>;
1409
+ contribution: z.ZodOptional<z.ZodNumber>;
1410
+ docs: z.ZodOptional<z.ZodNumber>;
1411
+ overall: z.ZodOptional<z.ZodNumber>;
1412
+ }, z.core.$strip>>;
1413
+ kind: z.ZodLiteral<"entity">;
1414
+ name: z.ZodString;
1415
+ type: z.ZodEnum<{
1416
+ other: "other";
1417
+ company: "company";
1418
+ organization: "organization";
1419
+ community: "community";
1420
+ school: "school";
1421
+ university: "university";
1422
+ "research-lab": "research-lab";
1423
+ agency: "agency";
1424
+ service: "service";
1425
+ product: "product";
1426
+ person: "person";
1427
+ }>;
1428
+ founded: z.ZodOptional<z.ZodString>;
1429
+ location: z.ZodOptional<z.ZodString>;
1430
+ members: z.ZodOptional<z.ZodNumber>;
1431
+ parent: z.ZodOptional<z.ZodString>;
1432
+ }, z.core.$strip>], "kind">>, z.ZodObject<{
1433
+ records: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1434
+ slug: z.ZodString;
1435
+ description: z.ZodDefault<z.ZodString>;
1436
+ category: z.ZodDefault<z.ZodString>;
1437
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1438
+ links: z.ZodDefault<z.ZodObject<{
1439
+ github: z.ZodOptional<z.ZodString>;
1440
+ website: z.ZodOptional<z.ZodString>;
1441
+ docs: z.ZodOptional<z.ZodString>;
1442
+ source: z.ZodOptional<z.ZodString>;
1443
+ }, z.core.$catchall<z.ZodString>>>;
1444
+ content: z.ZodOptional<z.ZodString>;
1445
+ source: z.ZodDefault<z.ZodObject<{
1446
+ type: z.ZodDefault<z.ZodEnum<{
1447
+ manual: "manual";
1448
+ "github-topic": "github-topic";
1449
+ "awesome-list": "awesome-list";
1450
+ submit: "submit";
1451
+ import: "import";
1452
+ }>>;
1453
+ file: z.ZodOptional<z.ZodString>;
1454
+ url: z.ZodOptional<z.ZodString>;
1455
+ provider: z.ZodOptional<z.ZodString>;
1456
+ owner: z.ZodOptional<z.ZodString>;
1457
+ repo: z.ZodOptional<z.ZodString>;
1458
+ }, z.core.$strip>>;
1459
+ curation: z.ZodDefault<z.ZodObject<{
1460
+ reviewed: z.ZodDefault<z.ZodBoolean>;
1461
+ reviewedBy: z.ZodOptional<z.ZodString>;
1462
+ reviewedAt: z.ZodOptional<z.ZodString>;
1463
+ notes: z.ZodOptional<z.ZodString>;
1464
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1465
+ mature: "mature";
1466
+ new: "new";
1467
+ hot: "hot";
1468
+ featured: "featured";
1469
+ }>>>;
1470
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
1471
+ }, z.core.$strip>>;
1472
+ scores: z.ZodDefault<z.ZodObject<{
1473
+ activity: z.ZodOptional<z.ZodNumber>;
1474
+ maturity: z.ZodOptional<z.ZodNumber>;
1475
+ learning: z.ZodOptional<z.ZodNumber>;
1476
+ contribution: z.ZodOptional<z.ZodNumber>;
1477
+ docs: z.ZodOptional<z.ZodNumber>;
1478
+ overall: z.ZodOptional<z.ZodNumber>;
1479
+ }, z.core.$strip>>;
1480
+ kind: z.ZodLiteral<"project">;
1481
+ name: z.ZodString;
1482
+ projectType: z.ZodOptional<z.ZodEnum<{
1483
+ historical: "historical";
1484
+ "real-app": "real-app";
1485
+ production: "production";
1486
+ reference: "reference";
1487
+ library: "library";
1488
+ tool: "tool";
1489
+ demo: "demo";
1490
+ template: "template";
1491
+ }>>;
1492
+ stack: z.ZodOptional<z.ZodString>;
1493
+ stacks: z.ZodDefault<z.ZodArray<z.ZodString>>;
1494
+ platforms: z.ZodDefault<z.ZodArray<z.ZodString>>;
1495
+ difficulty: z.ZodOptional<z.ZodEnum<{
1496
+ beginner: "beginner";
1497
+ intermediate: "intermediate";
1498
+ advanced: "advanced";
1499
+ }>>;
1500
+ codebaseSize: z.ZodOptional<z.ZodEnum<{
1501
+ medium: "medium";
1502
+ small: "small";
1503
+ large: "large";
1504
+ huge: "huge";
1505
+ }>>;
1506
+ repoUrl: z.ZodOptional<z.ZodString>;
1507
+ logoUrl: z.ZodOptional<z.ZodString>;
1508
+ bestFor: z.ZodDefault<z.ZodArray<z.ZodString>>;
1509
+ whyListed: z.ZodDefault<z.ZodArray<z.ZodString>>;
1510
+ caveats: z.ZodDefault<z.ZodArray<z.ZodString>>;
1511
+ distribution: z.ZodDefault<z.ZodObject<{
1512
+ channels: z.ZodDefault<z.ZodArray<z.ZodObject<{
1513
+ type: z.ZodString;
1514
+ platform: z.ZodOptional<z.ZodString>;
1515
+ label: z.ZodOptional<z.ZodString>;
1516
+ url: z.ZodString;
1517
+ verified: z.ZodOptional<z.ZodBoolean>;
1518
+ notes: z.ZodOptional<z.ZodString>;
1519
+ }, z.core.$loose>>>;
1520
+ }, z.core.$strip>>;
1521
+ github: z.ZodOptional<z.ZodObject<{
1522
+ repository: z.ZodOptional<z.ZodObject<{
1523
+ id: z.ZodOptional<z.ZodNumber>;
1524
+ node_id: z.ZodOptional<z.ZodString>;
1525
+ name: z.ZodOptional<z.ZodString>;
1526
+ full_name: z.ZodOptional<z.ZodString>;
1527
+ html_url: z.ZodOptional<z.ZodString>;
1528
+ clone_url: z.ZodOptional<z.ZodString>;
1529
+ ssh_url: z.ZodOptional<z.ZodString>;
1530
+ homepage: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1531
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1532
+ fork: z.ZodOptional<z.ZodBoolean>;
1533
+ archived: z.ZodOptional<z.ZodBoolean>;
1534
+ disabled: z.ZodOptional<z.ZodBoolean>;
1535
+ private: z.ZodOptional<z.ZodBoolean>;
1536
+ is_template: z.ZodOptional<z.ZodBoolean>;
1537
+ visibility: z.ZodOptional<z.ZodString>;
1538
+ default_branch: z.ZodOptional<z.ZodString>;
1539
+ language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1540
+ topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
1541
+ license: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1542
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1543
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1544
+ spdx_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1545
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1546
+ }, z.core.$loose>>>;
1547
+ stargazers_count: z.ZodOptional<z.ZodNumber>;
1548
+ watchers_count: z.ZodOptional<z.ZodNumber>;
1549
+ forks_count: z.ZodOptional<z.ZodNumber>;
1550
+ open_issues_count: z.ZodOptional<z.ZodNumber>;
1551
+ subscribers_count: z.ZodOptional<z.ZodNumber>;
1552
+ size: z.ZodOptional<z.ZodNumber>;
1553
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1554
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1555
+ pushed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1556
+ }, z.core.$loose>>;
1557
+ languages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1558
+ latestRelease: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1559
+ activity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1560
+ files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1561
+ labels: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1562
+ sync: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1563
+ }, z.core.$loose>>;
1564
+ health: z.ZodOptional<z.ZodObject<{
1565
+ status: z.ZodDefault<z.ZodEnum<{
1566
+ active: "active";
1567
+ mature: "mature";
1568
+ stale: "stale";
1569
+ inactive: "inactive";
1570
+ archived: "archived";
1571
+ unknown: "unknown";
1572
+ historical: "historical";
1573
+ needs_review: "needs_review";
1574
+ quiet: "quiet";
1575
+ unavailable: "unavailable";
1576
+ }>>;
1577
+ maturity: z.ZodDefault<z.ZodEnum<{
1578
+ mature: "mature";
1579
+ unknown: "unknown";
1580
+ experimental: "experimental";
1581
+ useful: "useful";
1582
+ }>>;
1583
+ tier: z.ZodDefault<z.ZodEnum<{
1584
+ curated: "curated";
1585
+ listed: "listed";
1586
+ experimental: "experimental";
1587
+ hidden: "hidden";
1588
+ }>>;
1589
+ visibility: z.ZodDefault<z.ZodEnum<{
1590
+ historical: "historical";
1591
+ needs_review: "needs_review";
1592
+ highlight: "highlight";
1593
+ keep: "keep";
1594
+ hide: "hide";
1595
+ remove: "remove";
1596
+ }>>;
1597
+ cleanupCandidate: z.ZodDefault<z.ZodBoolean>;
1598
+ staleReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1599
+ confidence: z.ZodDefault<z.ZodEnum<{
1600
+ low: "low";
1601
+ medium: "medium";
1602
+ high: "high";
1603
+ }>>;
1604
+ reasons: z.ZodDefault<z.ZodArray<z.ZodString>>;
1605
+ }, z.core.$strip>>;
1606
+ }, z.core.$strip>, z.ZodObject<{
1607
+ slug: z.ZodString;
1608
+ description: z.ZodDefault<z.ZodString>;
1609
+ category: z.ZodDefault<z.ZodString>;
1610
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1611
+ links: z.ZodDefault<z.ZodObject<{
1612
+ github: z.ZodOptional<z.ZodString>;
1613
+ website: z.ZodOptional<z.ZodString>;
1614
+ docs: z.ZodOptional<z.ZodString>;
1615
+ source: z.ZodOptional<z.ZodString>;
1616
+ }, z.core.$catchall<z.ZodString>>>;
1617
+ content: z.ZodOptional<z.ZodString>;
1618
+ source: z.ZodDefault<z.ZodObject<{
1619
+ type: z.ZodDefault<z.ZodEnum<{
1620
+ manual: "manual";
1621
+ "github-topic": "github-topic";
1622
+ "awesome-list": "awesome-list";
1623
+ submit: "submit";
1624
+ import: "import";
1625
+ }>>;
1626
+ file: z.ZodOptional<z.ZodString>;
1627
+ url: z.ZodOptional<z.ZodString>;
1628
+ provider: z.ZodOptional<z.ZodString>;
1629
+ owner: z.ZodOptional<z.ZodString>;
1630
+ repo: z.ZodOptional<z.ZodString>;
1631
+ }, z.core.$strip>>;
1632
+ curation: z.ZodDefault<z.ZodObject<{
1633
+ reviewed: z.ZodDefault<z.ZodBoolean>;
1634
+ reviewedBy: z.ZodOptional<z.ZodString>;
1635
+ reviewedAt: z.ZodOptional<z.ZodString>;
1636
+ notes: z.ZodOptional<z.ZodString>;
1637
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1638
+ mature: "mature";
1639
+ new: "new";
1640
+ hot: "hot";
1641
+ featured: "featured";
1642
+ }>>>;
1643
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
1644
+ }, z.core.$strip>>;
1645
+ scores: z.ZodDefault<z.ZodObject<{
1646
+ activity: z.ZodOptional<z.ZodNumber>;
1647
+ maturity: z.ZodOptional<z.ZodNumber>;
1648
+ learning: z.ZodOptional<z.ZodNumber>;
1649
+ contribution: z.ZodOptional<z.ZodNumber>;
1650
+ docs: z.ZodOptional<z.ZodNumber>;
1651
+ overall: z.ZodOptional<z.ZodNumber>;
1652
+ }, z.core.$strip>>;
1653
+ kind: z.ZodLiteral<"resource">;
1654
+ title: z.ZodString;
1655
+ type: z.ZodEnum<{
1656
+ tool: "tool";
1657
+ guide: "guide";
1658
+ comparison: "comparison";
1659
+ link: "link";
1660
+ explainer: "explainer";
1661
+ video: "video";
1662
+ article: "article";
1663
+ course: "course";
1664
+ book: "book";
1665
+ podcast: "podcast";
1666
+ other: "other";
1667
+ }>;
1668
+ topic: z.ZodString;
1669
+ related: z.ZodDefault<z.ZodArray<z.ZodString>>;
1670
+ publishedAt: z.ZodOptional<z.ZodString>;
1671
+ author: z.ZodOptional<z.ZodString>;
1672
+ }, z.core.$strip>, z.ZodObject<{
1673
+ slug: z.ZodString;
1674
+ description: z.ZodDefault<z.ZodString>;
1675
+ category: z.ZodDefault<z.ZodString>;
1676
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1677
+ links: z.ZodDefault<z.ZodObject<{
1678
+ github: z.ZodOptional<z.ZodString>;
1679
+ website: z.ZodOptional<z.ZodString>;
1680
+ docs: z.ZodOptional<z.ZodString>;
1681
+ source: z.ZodOptional<z.ZodString>;
1682
+ }, z.core.$catchall<z.ZodString>>>;
1683
+ content: z.ZodOptional<z.ZodString>;
1684
+ source: z.ZodDefault<z.ZodObject<{
1685
+ type: z.ZodDefault<z.ZodEnum<{
1686
+ manual: "manual";
1687
+ "github-topic": "github-topic";
1688
+ "awesome-list": "awesome-list";
1689
+ submit: "submit";
1690
+ import: "import";
1691
+ }>>;
1692
+ file: z.ZodOptional<z.ZodString>;
1693
+ url: z.ZodOptional<z.ZodString>;
1694
+ provider: z.ZodOptional<z.ZodString>;
1695
+ owner: z.ZodOptional<z.ZodString>;
1696
+ repo: z.ZodOptional<z.ZodString>;
1697
+ }, z.core.$strip>>;
1698
+ curation: z.ZodDefault<z.ZodObject<{
1699
+ reviewed: z.ZodDefault<z.ZodBoolean>;
1700
+ reviewedBy: z.ZodOptional<z.ZodString>;
1701
+ reviewedAt: z.ZodOptional<z.ZodString>;
1702
+ notes: z.ZodOptional<z.ZodString>;
1703
+ labels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1704
+ mature: "mature";
1705
+ new: "new";
1706
+ hot: "hot";
1707
+ featured: "featured";
1708
+ }>>>;
1709
+ lenses: z.ZodDefault<z.ZodArray<z.ZodString>>;
1710
+ }, z.core.$strip>>;
1711
+ scores: z.ZodDefault<z.ZodObject<{
1712
+ activity: z.ZodOptional<z.ZodNumber>;
1713
+ maturity: z.ZodOptional<z.ZodNumber>;
1714
+ learning: z.ZodOptional<z.ZodNumber>;
1715
+ contribution: z.ZodOptional<z.ZodNumber>;
1716
+ docs: z.ZodOptional<z.ZodNumber>;
1717
+ overall: z.ZodOptional<z.ZodNumber>;
1718
+ }, z.core.$strip>>;
1719
+ kind: z.ZodLiteral<"entity">;
1720
+ name: z.ZodString;
1721
+ type: z.ZodEnum<{
1722
+ other: "other";
1723
+ company: "company";
1724
+ organization: "organization";
1725
+ community: "community";
1726
+ school: "school";
1727
+ university: "university";
1728
+ "research-lab": "research-lab";
1729
+ agency: "agency";
1730
+ service: "service";
1731
+ product: "product";
1732
+ person: "person";
1733
+ }>;
1734
+ founded: z.ZodOptional<z.ZodString>;
1735
+ location: z.ZodOptional<z.ZodString>;
1736
+ members: z.ZodOptional<z.ZodNumber>;
1737
+ parent: z.ZodOptional<z.ZodString>;
1738
+ }, z.core.$strip>], "kind">>;
1739
+ }, z.core.$strip>]>;
1740
+ export type RecordsFile = z.infer<typeof recordsFileSchema>;
1741
+ export declare const navItemSchema: z.ZodObject<{
1742
+ label: z.ZodString;
1743
+ href: z.ZodString;
1744
+ }, z.core.$strip>;
1745
+ export declare const githubIntegrationSchema: z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1746
+ metadata: z.ZodDefault<z.ZodBoolean>;
1747
+ contributors: z.ZodDefault<z.ZodBoolean>;
1748
+ health: z.ZodDefault<z.ZodBoolean>;
1749
+ }, z.core.$strip>]>;
1750
+ export declare const themeSchema: z.ZodObject<{
1751
+ primaryColor: z.ZodDefault<z.ZodString>;
1752
+ radius: z.ZodDefault<z.ZodEnum<{
1753
+ none: "none";
1754
+ soft: "soft";
1755
+ round: "round";
1756
+ }>>;
1757
+ density: z.ZodDefault<z.ZodEnum<{
1758
+ compact: "compact";
1759
+ comfortable: "comfortable";
1760
+ spacious: "spacious";
1761
+ }>>;
1762
+ containerWidth: z.ZodDefault<z.ZodString>;
1763
+ }, z.core.$strip>;
1764
+ export declare const componentOverrideSchema: z.ZodObject<{
1765
+ Header: z.ZodOptional<z.ZodString>;
1766
+ Footer: z.ZodOptional<z.ZodString>;
1767
+ Hero: z.ZodOptional<z.ZodString>;
1768
+ ItemCard: z.ZodOptional<z.ZodString>;
1769
+ DetailHeader: z.ZodOptional<z.ZodString>;
1770
+ }, z.core.$strip>;
1771
+ export declare const groveConfigSchema: z.ZodObject<{
1772
+ blueprint: z.ZodDefault<z.ZodEnum<{
1773
+ "project-directory": "project-directory";
1774
+ "resource-hub": "resource-hub";
1775
+ "ecosystem-map": "ecosystem-map";
1776
+ }>>;
1777
+ site: z.ZodObject<{
1778
+ name: z.ZodString;
1779
+ tagline: z.ZodDefault<z.ZodString>;
1780
+ description: z.ZodOptional<z.ZodString>;
1781
+ url: z.ZodOptional<z.ZodString>;
1782
+ repoUrl: z.ZodOptional<z.ZodString>;
1783
+ }, z.core.$strip>;
1784
+ nav: z.ZodDefault<z.ZodArray<z.ZodObject<{
1785
+ label: z.ZodString;
1786
+ href: z.ZodString;
1787
+ }, z.core.$strip>>>;
1788
+ facets: z.ZodDefault<z.ZodArray<z.ZodString>>;
1789
+ integrations: z.ZodDefault<z.ZodObject<{
1790
+ github: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
1791
+ metadata: z.ZodDefault<z.ZodBoolean>;
1792
+ contributors: z.ZodDefault<z.ZodBoolean>;
1793
+ health: z.ZodDefault<z.ZodBoolean>;
1794
+ }, z.core.$strip>]>>;
1795
+ }, z.core.$strip>>;
1796
+ theme: z.ZodDefault<z.ZodObject<{
1797
+ primaryColor: z.ZodDefault<z.ZodString>;
1798
+ radius: z.ZodDefault<z.ZodEnum<{
1799
+ none: "none";
1800
+ soft: "soft";
1801
+ round: "round";
1802
+ }>>;
1803
+ density: z.ZodDefault<z.ZodEnum<{
1804
+ compact: "compact";
1805
+ comfortable: "comfortable";
1806
+ spacious: "spacious";
1807
+ }>>;
1808
+ containerWidth: z.ZodDefault<z.ZodString>;
1809
+ }, z.core.$strip>>;
1810
+ components: z.ZodDefault<z.ZodObject<{
1811
+ Header: z.ZodOptional<z.ZodString>;
1812
+ Footer: z.ZodOptional<z.ZodString>;
1813
+ Hero: z.ZodOptional<z.ZodString>;
1814
+ ItemCard: z.ZodOptional<z.ZodString>;
1815
+ DetailHeader: z.ZodOptional<z.ZodString>;
1816
+ }, z.core.$strip>>;
858
1817
  paths: z.ZodDefault<z.ZodObject<{
859
- sourcesDir: z.ZodDefault<z.ZodString>;
860
1818
  dataDir: z.ZodDefault<z.ZodString>;
861
1819
  contentDir: z.ZodDefault<z.ZodString>;
862
- appsDir: z.ZodDefault<z.ZodString>;
1820
+ recordsDir: z.ZodDefault<z.ZodString>;
1821
+ pagesDir: z.ZodDefault<z.ZodString>;
1822
+ bodiesDir: z.ZodDefault<z.ZodString>;
1823
+ publicDir: z.ZodDefault<z.ZodString>;
863
1824
  taxonomyDir: z.ZodDefault<z.ZodString>;
864
1825
  generatedDir: z.ZodDefault<z.ZodString>;
865
- items: z.ZodDefault<z.ZodString>;
866
1826
  health: z.ZodDefault<z.ZodString>;
867
1827
  decisions: z.ZodDefault<z.ZodString>;
868
1828
  overrides: z.ZodDefault<z.ZodString>;
869
1829
  }, z.core.$strip>>;
870
1830
  }, z.core.$strip>;
1831
+ export type GroveConfig = z.infer<typeof groveConfigSchema>;
1832
+ export type NavItem = z.infer<typeof navItemSchema>;
1833
+ export type GithubIntegration = z.infer<typeof githubIntegrationSchema>;
1834
+ export type Theme = z.infer<typeof themeSchema>;
1835
+ export type ComponentOverride = z.infer<typeof componentOverrideSchema>;
1836
+ export type GithubMetadata = z.infer<typeof githubMetadataSchema>;
1837
+ export type GithubRepository = z.infer<typeof githubRepositorySchema>;
871
1838
  export type HealthStatus = z.infer<typeof healthStatusSchema>;
872
- export type DecisionVisibility = z.infer<typeof decisionVisibilitySchema>;
873
1839
  export type HealthTier = z.infer<typeof healthTierSchema>;
874
- export type ProjectType = z.infer<typeof projectTypeSchema>;
875
- export type Difficulty = z.infer<typeof difficultySchema>;
876
- export type CodebaseSize = z.infer<typeof codebaseSizeSchema>;
877
- export type AppLabel = z.infer<typeof appLabelSchema>;
878
- export type Score = z.infer<typeof scoreSchema>;
879
- export type DistributionChannelType = z.infer<typeof distributionChannelTypeSchema>;
880
- export type DistributionChannel = z.infer<typeof distributionChannelSchema>;
881
- export type GithubMetadata = z.infer<typeof githubMetadataSchema>;
882
- export type HealthEntry = z.infer<typeof healthEntrySchema>;
883
- export type Decision = z.infer<typeof decisionSchema>;
884
- export type Override = z.infer<typeof overrideSchema>;
885
- export type CuratedItem = z.infer<typeof itemSchema>;
886
- export type ItemsFile = z.infer<typeof itemsFileSchema>;
887
1840
  export type HealthFile = z.infer<typeof healthFileSchema>;
1841
+ export type HealthEntry = z.infer<typeof healthEntrySchema>;
888
1842
  export type DecisionsFile = z.infer<typeof decisionsFileSchema>;
1843
+ export type Decision = z.infer<typeof decisionSchema>;
889
1844
  export type OverridesFile = z.infer<typeof overridesFileSchema>;
890
- export type CuratedConfig = z.infer<typeof curatedConfigSchema>;
891
- export type StackRef = z.infer<typeof stackRefSchema>;
892
- export type PlatformRef = z.infer<typeof platformRefSchema>;
893
- export type CategoryRef = z.infer<typeof categoryRefSchema>;
894
- export type DistributionChannelRef = z.infer<typeof distributionChannelRefSchema>;
895
- export declare function unwrapItems(value: ItemsFile): CuratedItem[];
1845
+ export type Override = z.infer<typeof overrideSchema>;
1846
+ export type ProjectType = z.infer<typeof projectTypeSchema>;
1847
+ export type ResourceType = z.infer<typeof resourceTypeSchema>;
1848
+ export type EntityType = z.infer<typeof entityTypeSchema>;
1849
+ export type AppLabel = z.infer<typeof appLabelSchema>;
1850
+ export type Score = z.infer<typeof scoreSchema>;
1851
+ export type Links = z.infer<typeof linksSchema>;
1852
+ export declare function unwrapRecords(value: RecordsFile): Resource[];
896
1853
  export declare function unwrapHealth(value: HealthFile): HealthEntry[];
897
1854
  export declare function unwrapDecisions(value: DecisionsFile): Decision[];
898
1855
  export declare function unwrapOverrides(value: OverridesFile): Override[];
899
- export interface AppRecord {
900
- slug: string;
901
- schemaVersion: number;
902
- name: string;
903
- description: string;
904
- repoUrl: string;
905
- homepageUrl?: string;
906
- stack: string;
907
- stacks: string[];
908
- platforms: string[];
909
- category: string;
910
- tags: string[];
911
- distribution: {
912
- channels: DistributionChannel[];
913
- };
914
- license?: string;
915
- status: HealthStatus;
916
- tier: HealthTier;
917
- visibility: DecisionVisibility;
918
- cleanupCandidate: boolean;
919
- staleReason: string | null;
920
- stars?: number;
921
- forks?: number;
922
- openIssues?: number;
923
- lastCommitAt?: string | null;
924
- addedAt?: string;
925
- labels: AppLabel[];
926
- lenses: string[];
927
- projectType?: ProjectType;
928
- difficulty?: Difficulty;
929
- codebaseSize?: CodebaseSize;
930
- bestFor: string[];
931
- whyListed: string[];
932
- caveats: string[];
933
- scores: Score;
934
- curation: {
935
- reviewed: boolean;
936
- reviewedBy?: string;
937
- reviewedAt?: string;
938
- notes?: string;
939
- };
940
- github?: {
941
- repository?: z.infer<typeof githubRepositorySchema>;
942
- languages?: Record<string, number>;
943
- latestRelease?: Record<string, unknown> | null;
944
- activity?: {
945
- monthlyCommits?: Array<number | {
946
- month: string;
947
- commits: number;
948
- }>;
949
- totalCommitsKnown?: number;
950
- contributorsKnown?: number;
951
- openPullRequests?: number;
952
- };
953
- files?: Record<string, boolean>;
954
- labels?: Array<Record<string, unknown>>;
955
- sync?: Record<string, unknown>;
956
- };
957
- health: {
958
- status: HealthStatus;
959
- tier: HealthTier;
960
- visibility: DecisionVisibility;
961
- cleanupCandidate: boolean;
962
- staleReason: string | null;
963
- };
964
- }
1856
+ /**
1857
+ * Parse a single record YAML mapping into a typed Resource. The
1858
+ * `kind` field on the YAML selects which blueprint schema to apply.
1859
+ */
1860
+ export declare function parseRecordYaml(text: string, fileSlug: string): Record<string, unknown>;
1861
+ export declare function stringifyRecordYaml(record: Record<string, unknown>): string;
1862
+ export declare function getOwnerRepoFromUrl(repoUrl: string | undefined | null): {
1863
+ owner: string;
1864
+ repo: string;
1865
+ } | null;
1866
+ /**
1867
+ * Normalize a raw record mapping into a typed Resource. The `kind`
1868
+ * field must match the blueprint of the site that owns the record;
1869
+ * mismatch produces a clear ZodError.
1870
+ */
1871
+ export declare function normalizeRecord(raw: Record<string, unknown>, fileSlug: string, blueprint?: Blueprint): Resource;
1872
+ export declare function validateRecord(raw: Record<string, unknown>, fileSlug: string, blueprint?: Blueprint): string[];
1873
+ /**
1874
+ * Project a Resource to a stable, search-index-friendly summary
1875
+ * object. Strips out blueprint-specific heavy fields and leaves
1876
+ * only what the public list/detail UIs need.
1877
+ */
1878
+ export declare function toIndexRecord(record: Resource): Record<string, unknown>;
965
1879
  export declare function healthFromSignals(params: {
966
1880
  repo?: z.infer<typeof githubRepositorySchema>;
967
1881
  monthlyCommits?: Array<number | {
968
1882
  month: string;
969
1883
  commits: number;
970
1884
  }>;
971
- legacyStatus?: HealthStatus;
972
1885
  }): {
973
- status: HealthStatus;
974
- tier: HealthTier;
975
- visibility: DecisionVisibility;
1886
+ status: z.infer<typeof healthStatusSchema>;
1887
+ tier: z.infer<typeof healthTierSchema>;
1888
+ visibility: z.infer<typeof decisionVisibilitySchema>;
976
1889
  cleanupCandidate: boolean;
977
1890
  staleReason: string | null;
978
1891
  };
979
- export declare function parseAppYaml(text: string, fileSlug: string): Record<string, unknown>;
980
- export declare function stringifyAppYaml(app: Record<string, unknown>): string;
981
- export declare function getOwnerRepoFromUrl(repoUrl: string | undefined | null): {
982
- owner: string;
983
- repo: string;
984
- } | null;
985
- export declare function normalizeAppRecord(raw: Record<string, unknown>, fileSlug: string): AppRecord;
986
- export declare function validateAppRecord(raw: Record<string, unknown>, fileSlug: string): string[];
987
- export declare function toIndexApp(app: AppRecord): Record<string, unknown>;
988
1892
  //# sourceMappingURL=schema.d.ts.map