@vibesdotdev/integrations-civitai 0.0.0-stage → 1.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,726 @@
1
+ import { BaseAPIClient, type BaseAPIConfig } from '@vibesdotdev/client/core';
2
+ import { BaseModelHubClient, type ModelDetails, type ModelHubConfig, type ModelSearchOptions, type ModelSearchResult } from '@vibesdotdev/ai/model-hubs';
3
+ import { type VibesRuntime } from '@vibesdotdev/kernel';
4
+ import { type CivitAIModelRow, type CivitAISearchOptions, type CivitAIImageParams } from '../schemas/model-hub.ts';
5
+ export type { CivitAIModelRow } from '../schemas/model-hub.ts';
6
+ export declare function mapRowToSearchResult(row: CivitAIModelRow): ModelSearchResult;
7
+ export declare function mapRowToModelDetails(row: CivitAIModelRow): ModelDetails;
8
+ /** Vendor HTTP entrypoint; all model entrypoints share the same validation and mapping. */
9
+ export declare class CivitAIClient extends BaseAPIClient {
10
+ static readonly API_BASE = "https://civitai.com/api/v1";
11
+ private readonly diagnostics;
12
+ constructor(runtime: VibesRuntime, config?: Partial<BaseAPIConfig> & {
13
+ apiKey?: string;
14
+ });
15
+ private read;
16
+ get models(): {
17
+ search: (options?: CivitAISearchOptions) => Promise<{
18
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
19
+ id: number;
20
+ name: string;
21
+ type: "Checkpoint" | "TextualInversion" | "Hypernetwork" | "AestheticGradient" | "LORA" | "Controlnet" | "Poses" | "Wildcards" | "Workflows" | "Other" | "LoCon" | "DoRA" | "Upscaler" | "MotionModule" | "VAE" | "Embedding";
22
+ nsfw: boolean;
23
+ tags: string[];
24
+ allowCommercialUse: "None" | "Image" | "Rent" | "Sell" | ("None" | "Image" | "Rent" | "Sell")[];
25
+ stats: {
26
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
27
+ downloadCount: number;
28
+ favoriteCount: number;
29
+ thumbsUpCount?: number | undefined;
30
+ thumbsDownCount?: number | undefined;
31
+ commentCount?: number | undefined;
32
+ ratingCount?: number | undefined;
33
+ rating?: number | undefined;
34
+ tippedAmountCount?: number | undefined;
35
+ };
36
+ creator: {
37
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
38
+ username: string;
39
+ image?: string | null | undefined;
40
+ };
41
+ modelVersions: {
42
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
43
+ id: number;
44
+ name: string;
45
+ files: {
46
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
47
+ sizeKB: number;
48
+ name: string;
49
+ downloadUrl: string;
50
+ id?: number | undefined;
51
+ type?: "Other" | "VAE" | "Model" | "Text Encoder" | "Pruned Model" | "Negative" | "Training Data" | "Config" | "Archive" | undefined;
52
+ pickleScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
53
+ pickleScanMessage?: string | null | undefined;
54
+ virusScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
55
+ virusScanMessage?: string | null | undefined;
56
+ scannedAt?: string | null | undefined;
57
+ metadata?: {
58
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
59
+ format?: "Other" | "SafeTensor" | "PickleTensor" | undefined;
60
+ size?: "full" | "pruned" | undefined;
61
+ fp?: "fp16" | "fp32" | undefined;
62
+ } | undefined;
63
+ hashes?: {
64
+ [x: string]: string;
65
+ AutoV1?: string | undefined;
66
+ AutoV2?: string | undefined;
67
+ SHA256?: string | undefined;
68
+ CRC32?: string | undefined;
69
+ BLAKE3?: string | undefined;
70
+ AutoV3?: string | undefined;
71
+ } | undefined;
72
+ primary?: boolean | undefined;
73
+ }[];
74
+ modelId?: number | undefined;
75
+ createdAt?: string | undefined;
76
+ updatedAt?: string | undefined;
77
+ status?: "Published" | "Scheduled" | "Draft" | undefined;
78
+ description?: string | null | undefined;
79
+ steps?: number | undefined;
80
+ epochs?: number | undefined;
81
+ cfgScale?: number | undefined;
82
+ clipSkip?: number | undefined;
83
+ baseModel?: string | undefined;
84
+ baseModelType?: string | undefined;
85
+ earlyAccessTimeFrame?: number | undefined;
86
+ trainedWords?: string[] | undefined;
87
+ trainingStatus?: "InReview" | "Approved" | "Denied" | undefined;
88
+ trainingDetails?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
89
+ stats?: {
90
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
91
+ downloadCount?: number | undefined;
92
+ thumbsUpCount?: number | undefined;
93
+ thumbsDownCount?: number | undefined;
94
+ ratingCount?: number | undefined;
95
+ rating?: number | undefined;
96
+ } | undefined;
97
+ images?: {
98
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
99
+ url: string;
100
+ id?: number | undefined;
101
+ nsfwLevel?: number | undefined;
102
+ width?: number | undefined;
103
+ height?: number | undefined;
104
+ hash?: string | null | undefined;
105
+ type?: "image" | "video" | undefined;
106
+ metadata?: {
107
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
108
+ hash?: string | undefined;
109
+ size?: number | undefined;
110
+ width?: number | undefined;
111
+ height?: number | undefined;
112
+ } | undefined;
113
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
114
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
115
+ createdAt?: string | undefined;
116
+ postId?: number | undefined;
117
+ stats?: {
118
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
119
+ cryCount?: number | undefined;
120
+ laughCount?: number | undefined;
121
+ likeCount?: number | undefined;
122
+ dislikeCount?: number | undefined;
123
+ heartCount?: number | undefined;
124
+ commentCount?: number | undefined;
125
+ } | undefined;
126
+ }[] | undefined;
127
+ downloadUrl?: string | undefined;
128
+ publishedAt?: string | null | undefined;
129
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
130
+ }[];
131
+ description?: string | null | undefined;
132
+ allowNoCredit?: boolean | undefined;
133
+ allowDerivatives?: boolean | undefined;
134
+ allowDifferentLicense?: boolean | undefined;
135
+ images?: {
136
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
137
+ url: string;
138
+ id?: number | undefined;
139
+ nsfwLevel?: number | undefined;
140
+ width?: number | undefined;
141
+ height?: number | undefined;
142
+ hash?: string | null | undefined;
143
+ type?: "image" | "video" | undefined;
144
+ metadata?: {
145
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
146
+ hash?: string | undefined;
147
+ size?: number | undefined;
148
+ width?: number | undefined;
149
+ height?: number | undefined;
150
+ } | undefined;
151
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
152
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
153
+ createdAt?: string | undefined;
154
+ postId?: number | undefined;
155
+ stats?: {
156
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
157
+ cryCount?: number | undefined;
158
+ laughCount?: number | undefined;
159
+ likeCount?: number | undefined;
160
+ dislikeCount?: number | undefined;
161
+ heartCount?: number | undefined;
162
+ commentCount?: number | undefined;
163
+ } | undefined;
164
+ }[] | undefined;
165
+ mode?: "Archived" | "TakenDown" | undefined;
166
+ }[]>;
167
+ get: (modelId: number) => Promise<{
168
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
169
+ id: number;
170
+ name: string;
171
+ type: "Checkpoint" | "TextualInversion" | "Hypernetwork" | "AestheticGradient" | "LORA" | "Controlnet" | "Poses" | "Wildcards" | "Workflows" | "Other" | "LoCon" | "DoRA" | "Upscaler" | "MotionModule" | "VAE" | "Embedding";
172
+ nsfw: boolean;
173
+ tags: string[];
174
+ allowCommercialUse: "None" | "Image" | "Rent" | "Sell" | ("None" | "Image" | "Rent" | "Sell")[];
175
+ stats: {
176
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
177
+ downloadCount: number;
178
+ favoriteCount: number;
179
+ thumbsUpCount?: number | undefined;
180
+ thumbsDownCount?: number | undefined;
181
+ commentCount?: number | undefined;
182
+ ratingCount?: number | undefined;
183
+ rating?: number | undefined;
184
+ tippedAmountCount?: number | undefined;
185
+ };
186
+ creator: {
187
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
188
+ username: string;
189
+ image?: string | null | undefined;
190
+ };
191
+ modelVersions: {
192
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
193
+ id: number;
194
+ name: string;
195
+ files: {
196
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
197
+ sizeKB: number;
198
+ name: string;
199
+ downloadUrl: string;
200
+ id?: number | undefined;
201
+ type?: "Other" | "VAE" | "Model" | "Text Encoder" | "Pruned Model" | "Negative" | "Training Data" | "Config" | "Archive" | undefined;
202
+ pickleScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
203
+ pickleScanMessage?: string | null | undefined;
204
+ virusScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
205
+ virusScanMessage?: string | null | undefined;
206
+ scannedAt?: string | null | undefined;
207
+ metadata?: {
208
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
209
+ format?: "Other" | "SafeTensor" | "PickleTensor" | undefined;
210
+ size?: "full" | "pruned" | undefined;
211
+ fp?: "fp16" | "fp32" | undefined;
212
+ } | undefined;
213
+ hashes?: {
214
+ [x: string]: string;
215
+ AutoV1?: string | undefined;
216
+ AutoV2?: string | undefined;
217
+ SHA256?: string | undefined;
218
+ CRC32?: string | undefined;
219
+ BLAKE3?: string | undefined;
220
+ AutoV3?: string | undefined;
221
+ } | undefined;
222
+ primary?: boolean | undefined;
223
+ }[];
224
+ modelId?: number | undefined;
225
+ createdAt?: string | undefined;
226
+ updatedAt?: string | undefined;
227
+ status?: "Published" | "Scheduled" | "Draft" | undefined;
228
+ description?: string | null | undefined;
229
+ steps?: number | undefined;
230
+ epochs?: number | undefined;
231
+ cfgScale?: number | undefined;
232
+ clipSkip?: number | undefined;
233
+ baseModel?: string | undefined;
234
+ baseModelType?: string | undefined;
235
+ earlyAccessTimeFrame?: number | undefined;
236
+ trainedWords?: string[] | undefined;
237
+ trainingStatus?: "InReview" | "Approved" | "Denied" | undefined;
238
+ trainingDetails?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
239
+ stats?: {
240
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
241
+ downloadCount?: number | undefined;
242
+ thumbsUpCount?: number | undefined;
243
+ thumbsDownCount?: number | undefined;
244
+ ratingCount?: number | undefined;
245
+ rating?: number | undefined;
246
+ } | undefined;
247
+ images?: {
248
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
249
+ url: string;
250
+ id?: number | undefined;
251
+ nsfwLevel?: number | undefined;
252
+ width?: number | undefined;
253
+ height?: number | undefined;
254
+ hash?: string | null | undefined;
255
+ type?: "image" | "video" | undefined;
256
+ metadata?: {
257
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
258
+ hash?: string | undefined;
259
+ size?: number | undefined;
260
+ width?: number | undefined;
261
+ height?: number | undefined;
262
+ } | undefined;
263
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
264
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
265
+ createdAt?: string | undefined;
266
+ postId?: number | undefined;
267
+ stats?: {
268
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
269
+ cryCount?: number | undefined;
270
+ laughCount?: number | undefined;
271
+ likeCount?: number | undefined;
272
+ dislikeCount?: number | undefined;
273
+ heartCount?: number | undefined;
274
+ commentCount?: number | undefined;
275
+ } | undefined;
276
+ }[] | undefined;
277
+ downloadUrl?: string | undefined;
278
+ publishedAt?: string | null | undefined;
279
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
280
+ }[];
281
+ description?: string | null | undefined;
282
+ allowNoCredit?: boolean | undefined;
283
+ allowDerivatives?: boolean | undefined;
284
+ allowDifferentLicense?: boolean | undefined;
285
+ images?: {
286
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
287
+ url: string;
288
+ id?: number | undefined;
289
+ nsfwLevel?: number | undefined;
290
+ width?: number | undefined;
291
+ height?: number | undefined;
292
+ hash?: string | null | undefined;
293
+ type?: "image" | "video" | undefined;
294
+ metadata?: {
295
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
296
+ hash?: string | undefined;
297
+ size?: number | undefined;
298
+ width?: number | undefined;
299
+ height?: number | undefined;
300
+ } | undefined;
301
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
302
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
303
+ createdAt?: string | undefined;
304
+ postId?: number | undefined;
305
+ stats?: {
306
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
307
+ cryCount?: number | undefined;
308
+ laughCount?: number | undefined;
309
+ likeCount?: number | undefined;
310
+ dislikeCount?: number | undefined;
311
+ heartCount?: number | undefined;
312
+ commentCount?: number | undefined;
313
+ } | undefined;
314
+ }[] | undefined;
315
+ mode?: "Archived" | "TakenDown" | undefined;
316
+ }>;
317
+ versions: (modelId: number) => Promise<{
318
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
319
+ id: number;
320
+ name: string;
321
+ files: {
322
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
323
+ sizeKB: number;
324
+ name: string;
325
+ downloadUrl: string;
326
+ id?: number | undefined;
327
+ type?: "Other" | "VAE" | "Model" | "Text Encoder" | "Pruned Model" | "Negative" | "Training Data" | "Config" | "Archive" | undefined;
328
+ pickleScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
329
+ pickleScanMessage?: string | null | undefined;
330
+ virusScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
331
+ virusScanMessage?: string | null | undefined;
332
+ scannedAt?: string | null | undefined;
333
+ metadata?: {
334
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
335
+ format?: "Other" | "SafeTensor" | "PickleTensor" | undefined;
336
+ size?: "full" | "pruned" | undefined;
337
+ fp?: "fp16" | "fp32" | undefined;
338
+ } | undefined;
339
+ hashes?: {
340
+ [x: string]: string;
341
+ AutoV1?: string | undefined;
342
+ AutoV2?: string | undefined;
343
+ SHA256?: string | undefined;
344
+ CRC32?: string | undefined;
345
+ BLAKE3?: string | undefined;
346
+ AutoV3?: string | undefined;
347
+ } | undefined;
348
+ primary?: boolean | undefined;
349
+ }[];
350
+ modelId?: number | undefined;
351
+ createdAt?: string | undefined;
352
+ updatedAt?: string | undefined;
353
+ status?: "Published" | "Scheduled" | "Draft" | undefined;
354
+ description?: string | null | undefined;
355
+ steps?: number | undefined;
356
+ epochs?: number | undefined;
357
+ cfgScale?: number | undefined;
358
+ clipSkip?: number | undefined;
359
+ baseModel?: string | undefined;
360
+ baseModelType?: string | undefined;
361
+ earlyAccessTimeFrame?: number | undefined;
362
+ trainedWords?: string[] | undefined;
363
+ trainingStatus?: "InReview" | "Approved" | "Denied" | undefined;
364
+ trainingDetails?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
365
+ stats?: {
366
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
367
+ downloadCount?: number | undefined;
368
+ thumbsUpCount?: number | undefined;
369
+ thumbsDownCount?: number | undefined;
370
+ ratingCount?: number | undefined;
371
+ rating?: number | undefined;
372
+ } | undefined;
373
+ images?: {
374
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
375
+ url: string;
376
+ id?: number | undefined;
377
+ nsfwLevel?: number | undefined;
378
+ width?: number | undefined;
379
+ height?: number | undefined;
380
+ hash?: string | null | undefined;
381
+ type?: "image" | "video" | undefined;
382
+ metadata?: {
383
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
384
+ hash?: string | undefined;
385
+ size?: number | undefined;
386
+ width?: number | undefined;
387
+ height?: number | undefined;
388
+ } | undefined;
389
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
390
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
391
+ createdAt?: string | undefined;
392
+ postId?: number | undefined;
393
+ stats?: {
394
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
395
+ cryCount?: number | undefined;
396
+ laughCount?: number | undefined;
397
+ likeCount?: number | undefined;
398
+ dislikeCount?: number | undefined;
399
+ heartCount?: number | undefined;
400
+ commentCount?: number | undefined;
401
+ } | undefined;
402
+ }[] | undefined;
403
+ downloadUrl?: string | undefined;
404
+ publishedAt?: string | null | undefined;
405
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
406
+ }[]>;
407
+ version: (modelId: number, versionId: number) => Promise<{
408
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
409
+ id: number;
410
+ name: string;
411
+ files: {
412
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
413
+ sizeKB: number;
414
+ name: string;
415
+ downloadUrl: string;
416
+ id?: number | undefined;
417
+ type?: "Other" | "VAE" | "Model" | "Text Encoder" | "Pruned Model" | "Negative" | "Training Data" | "Config" | "Archive" | undefined;
418
+ pickleScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
419
+ pickleScanMessage?: string | null | undefined;
420
+ virusScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
421
+ virusScanMessage?: string | null | undefined;
422
+ scannedAt?: string | null | undefined;
423
+ metadata?: {
424
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
425
+ format?: "Other" | "SafeTensor" | "PickleTensor" | undefined;
426
+ size?: "full" | "pruned" | undefined;
427
+ fp?: "fp16" | "fp32" | undefined;
428
+ } | undefined;
429
+ hashes?: {
430
+ [x: string]: string;
431
+ AutoV1?: string | undefined;
432
+ AutoV2?: string | undefined;
433
+ SHA256?: string | undefined;
434
+ CRC32?: string | undefined;
435
+ BLAKE3?: string | undefined;
436
+ AutoV3?: string | undefined;
437
+ } | undefined;
438
+ primary?: boolean | undefined;
439
+ }[];
440
+ modelId?: number | undefined;
441
+ createdAt?: string | undefined;
442
+ updatedAt?: string | undefined;
443
+ status?: "Published" | "Scheduled" | "Draft" | undefined;
444
+ description?: string | null | undefined;
445
+ steps?: number | undefined;
446
+ epochs?: number | undefined;
447
+ cfgScale?: number | undefined;
448
+ clipSkip?: number | undefined;
449
+ baseModel?: string | undefined;
450
+ baseModelType?: string | undefined;
451
+ earlyAccessTimeFrame?: number | undefined;
452
+ trainedWords?: string[] | undefined;
453
+ trainingStatus?: "InReview" | "Approved" | "Denied" | undefined;
454
+ trainingDetails?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
455
+ stats?: {
456
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
457
+ downloadCount?: number | undefined;
458
+ thumbsUpCount?: number | undefined;
459
+ thumbsDownCount?: number | undefined;
460
+ ratingCount?: number | undefined;
461
+ rating?: number | undefined;
462
+ } | undefined;
463
+ images?: {
464
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
465
+ url: string;
466
+ id?: number | undefined;
467
+ nsfwLevel?: number | undefined;
468
+ width?: number | undefined;
469
+ height?: number | undefined;
470
+ hash?: string | null | undefined;
471
+ type?: "image" | "video" | undefined;
472
+ metadata?: {
473
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
474
+ hash?: string | undefined;
475
+ size?: number | undefined;
476
+ width?: number | undefined;
477
+ height?: number | undefined;
478
+ } | undefined;
479
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
480
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
481
+ createdAt?: string | undefined;
482
+ postId?: number | undefined;
483
+ stats?: {
484
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
485
+ cryCount?: number | undefined;
486
+ laughCount?: number | undefined;
487
+ likeCount?: number | undefined;
488
+ dislikeCount?: number | undefined;
489
+ heartCount?: number | undefined;
490
+ commentCount?: number | undefined;
491
+ } | undefined;
492
+ }[] | undefined;
493
+ downloadUrl?: string | undefined;
494
+ publishedAt?: string | null | undefined;
495
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
496
+ }>;
497
+ getDownloadUrl: (modelId: number, filename?: string) => Promise<string>;
498
+ };
499
+ get creators(): {
500
+ get: (username: string) => Promise<{
501
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
502
+ id: number;
503
+ username: string;
504
+ createdAt: string;
505
+ stats: {
506
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
507
+ uploadCount: number;
508
+ downloadCount: number;
509
+ favoriteCount: number;
510
+ thumbsUpCount: number;
511
+ followingCount: number;
512
+ followerCount: number;
513
+ hiddenCount: number;
514
+ };
515
+ cosmetics: import("@vibesdotdev/kernel/bootstrap").JsonValue[];
516
+ displayName?: string | undefined;
517
+ image?: string | null | undefined;
518
+ }>;
519
+ models: (username: string, params?: {
520
+ limit?: number;
521
+ page?: number;
522
+ }) => Promise<{
523
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
524
+ id: number;
525
+ name: string;
526
+ type: "Checkpoint" | "TextualInversion" | "Hypernetwork" | "AestheticGradient" | "LORA" | "Controlnet" | "Poses" | "Wildcards" | "Workflows" | "Other" | "LoCon" | "DoRA" | "Upscaler" | "MotionModule" | "VAE" | "Embedding";
527
+ nsfw: boolean;
528
+ tags: string[];
529
+ allowCommercialUse: "None" | "Image" | "Rent" | "Sell" | ("None" | "Image" | "Rent" | "Sell")[];
530
+ stats: {
531
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
532
+ downloadCount: number;
533
+ favoriteCount: number;
534
+ thumbsUpCount?: number | undefined;
535
+ thumbsDownCount?: number | undefined;
536
+ commentCount?: number | undefined;
537
+ ratingCount?: number | undefined;
538
+ rating?: number | undefined;
539
+ tippedAmountCount?: number | undefined;
540
+ };
541
+ creator: {
542
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
543
+ username: string;
544
+ image?: string | null | undefined;
545
+ };
546
+ modelVersions: {
547
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
548
+ id: number;
549
+ name: string;
550
+ files: {
551
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
552
+ sizeKB: number;
553
+ name: string;
554
+ downloadUrl: string;
555
+ id?: number | undefined;
556
+ type?: "Other" | "VAE" | "Model" | "Text Encoder" | "Pruned Model" | "Negative" | "Training Data" | "Config" | "Archive" | undefined;
557
+ pickleScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
558
+ pickleScanMessage?: string | null | undefined;
559
+ virusScanResult?: "Pending" | "Success" | "Danger" | "Error" | undefined;
560
+ virusScanMessage?: string | null | undefined;
561
+ scannedAt?: string | null | undefined;
562
+ metadata?: {
563
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
564
+ format?: "Other" | "SafeTensor" | "PickleTensor" | undefined;
565
+ size?: "full" | "pruned" | undefined;
566
+ fp?: "fp16" | "fp32" | undefined;
567
+ } | undefined;
568
+ hashes?: {
569
+ [x: string]: string;
570
+ AutoV1?: string | undefined;
571
+ AutoV2?: string | undefined;
572
+ SHA256?: string | undefined;
573
+ CRC32?: string | undefined;
574
+ BLAKE3?: string | undefined;
575
+ AutoV3?: string | undefined;
576
+ } | undefined;
577
+ primary?: boolean | undefined;
578
+ }[];
579
+ modelId?: number | undefined;
580
+ createdAt?: string | undefined;
581
+ updatedAt?: string | undefined;
582
+ status?: "Published" | "Scheduled" | "Draft" | undefined;
583
+ description?: string | null | undefined;
584
+ steps?: number | undefined;
585
+ epochs?: number | undefined;
586
+ cfgScale?: number | undefined;
587
+ clipSkip?: number | undefined;
588
+ baseModel?: string | undefined;
589
+ baseModelType?: string | undefined;
590
+ earlyAccessTimeFrame?: number | undefined;
591
+ trainedWords?: string[] | undefined;
592
+ trainingStatus?: "InReview" | "Approved" | "Denied" | undefined;
593
+ trainingDetails?: import("@vibesdotdev/kernel/bootstrap").JsonValue | undefined;
594
+ stats?: {
595
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
596
+ downloadCount?: number | undefined;
597
+ thumbsUpCount?: number | undefined;
598
+ thumbsDownCount?: number | undefined;
599
+ ratingCount?: number | undefined;
600
+ rating?: number | undefined;
601
+ } | undefined;
602
+ images?: {
603
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
604
+ url: string;
605
+ id?: number | undefined;
606
+ nsfwLevel?: number | undefined;
607
+ width?: number | undefined;
608
+ height?: number | undefined;
609
+ hash?: string | null | undefined;
610
+ type?: "image" | "video" | undefined;
611
+ metadata?: {
612
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
613
+ hash?: string | undefined;
614
+ size?: number | undefined;
615
+ width?: number | undefined;
616
+ height?: number | undefined;
617
+ } | undefined;
618
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
619
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
620
+ createdAt?: string | undefined;
621
+ postId?: number | undefined;
622
+ stats?: {
623
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
624
+ cryCount?: number | undefined;
625
+ laughCount?: number | undefined;
626
+ likeCount?: number | undefined;
627
+ dislikeCount?: number | undefined;
628
+ heartCount?: number | undefined;
629
+ commentCount?: number | undefined;
630
+ } | undefined;
631
+ }[] | undefined;
632
+ downloadUrl?: string | undefined;
633
+ publishedAt?: string | null | undefined;
634
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
635
+ }[];
636
+ description?: string | null | undefined;
637
+ allowNoCredit?: boolean | undefined;
638
+ allowDerivatives?: boolean | undefined;
639
+ allowDifferentLicense?: boolean | undefined;
640
+ images?: {
641
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
642
+ url: string;
643
+ id?: number | undefined;
644
+ nsfwLevel?: number | undefined;
645
+ width?: number | undefined;
646
+ height?: number | undefined;
647
+ hash?: string | null | undefined;
648
+ type?: "image" | "video" | undefined;
649
+ metadata?: {
650
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
651
+ hash?: string | undefined;
652
+ size?: number | undefined;
653
+ width?: number | undefined;
654
+ height?: number | undefined;
655
+ } | undefined;
656
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
657
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
658
+ createdAt?: string | undefined;
659
+ postId?: number | undefined;
660
+ stats?: {
661
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
662
+ cryCount?: number | undefined;
663
+ laughCount?: number | undefined;
664
+ likeCount?: number | undefined;
665
+ dislikeCount?: number | undefined;
666
+ heartCount?: number | undefined;
667
+ commentCount?: number | undefined;
668
+ } | undefined;
669
+ }[] | undefined;
670
+ mode?: "Archived" | "TakenDown" | undefined;
671
+ }[]>;
672
+ };
673
+ get images(): {
674
+ list: (params?: CivitAIImageParams) => Promise<{
675
+ items: {
676
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
677
+ url: string;
678
+ id?: number | undefined;
679
+ nsfwLevel?: number | undefined;
680
+ width?: number | undefined;
681
+ height?: number | undefined;
682
+ hash?: string | null | undefined;
683
+ type?: "image" | "video" | undefined;
684
+ metadata?: {
685
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
686
+ hash?: string | undefined;
687
+ size?: number | undefined;
688
+ width?: number | undefined;
689
+ height?: number | undefined;
690
+ } | undefined;
691
+ availability?: "Public" | "EarlyAccess" | "Sponsor" | "Private" | undefined;
692
+ meta?: import("@vibesdotdev/kernel/schemas/json").JsonObject | null | undefined;
693
+ createdAt?: string | undefined;
694
+ postId?: number | undefined;
695
+ stats?: {
696
+ [x: string]: import("@vibesdotdev/kernel/bootstrap").JsonValue;
697
+ cryCount?: number | undefined;
698
+ laughCount?: number | undefined;
699
+ likeCount?: number | undefined;
700
+ dislikeCount?: number | undefined;
701
+ heartCount?: number | undefined;
702
+ commentCount?: number | undefined;
703
+ } | undefined;
704
+ }[];
705
+ metadata: import("@vibesdotdev/kernel/schemas/json").JsonObject;
706
+ }>;
707
+ };
708
+ search(options?: CivitAISearchOptions): Promise<CivitAIModelRow[]>;
709
+ getModelById(modelId: number): Promise<CivitAIModelRow>;
710
+ getModelDownloadUrl(modelId: number, filename?: string): Promise<string>;
711
+ getModel(modelId: string): Promise<ModelDetails>;
712
+ getDownloadUrl(modelId: string, filename?: string): Promise<string>;
713
+ validateCredentials(): Promise<boolean>;
714
+ healthCheck(): Promise<boolean>;
715
+ }
716
+ /** Created by the AI runtime owner; no integration-specific semantic client or cache. */
717
+ export declare class CivitAIHubClient extends BaseModelHubClient {
718
+ private readonly client;
719
+ constructor(runtime: VibesRuntime, config?: ModelHubConfig);
720
+ search(options?: ModelSearchOptions): Promise<ModelSearchResult[]>;
721
+ getModel(modelId: string): Promise<ModelDetails>;
722
+ getDownloadUrl(modelId: string, filename?: string): Promise<string>;
723
+ validateCredentials(): Promise<boolean>;
724
+ healthCheck(): Promise<boolean>;
725
+ }
726
+ //# sourceMappingURL=client.d.ts.map