@mirrowel/opencode-souk 0.1.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,1093 @@
1
+ import { z } from "zod";
2
+ export declare const ITEM_KINDS: readonly ["plugin", "mcp", "agent", "command", "theme", "skill", "tool", "app", "project", "resource", "unknown"];
3
+ export declare const CONFIDENCE: readonly ["verified", "partial", "unmapped", "unvetted", "blocked"];
4
+ export declare const SOURCES: readonly ["opencode-cafe", "awesome-opencode", "opencode-docs", "installed"];
5
+ export declare const PERSONALITY_PRESETS: readonly ["curio-shelf", "expedition-cataloguer", "the-fence", "wayfinder", "quartermaster", "appraiser", "the-souk", "wary-antiquarian", "friendly-stallkeeper", "contract-scribe", "pragmatic-artisan", "sober-host"];
6
+ export type ItemKind = (typeof ITEM_KINDS)[number];
7
+ export type Confidence = (typeof CONFIDENCE)[number];
8
+ export type SourceID = (typeof SOURCES)[number];
9
+ export type PersonalityPreset = (typeof PERSONALITY_PRESETS)[number];
10
+ export declare const InstallHint: z.ZodObject<{
11
+ type: z.ZodOptional<z.ZodEnum<{
12
+ plugin: "plugin";
13
+ mcp: "mcp";
14
+ agent: "agent";
15
+ command: "command";
16
+ theme: "theme";
17
+ skill: "skill";
18
+ }>>;
19
+ spec: z.ZodOptional<z.ZodString>;
20
+ specs: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
+ name: z.ZodOptional<z.ZodString>;
22
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
23
+ reason: z.ZodOptional<z.ZodString>;
24
+ verified: z.ZodOptional<z.ZodBoolean>;
25
+ }, z.core.$strip>;
26
+ export declare const SourceRef: z.ZodObject<{
27
+ source: z.ZodEnum<{
28
+ "opencode-cafe": "opencode-cafe";
29
+ "awesome-opencode": "awesome-opencode";
30
+ "opencode-docs": "opencode-docs";
31
+ installed: "installed";
32
+ }>;
33
+ id: z.ZodOptional<z.ZodString>;
34
+ sourceType: z.ZodOptional<z.ZodString>;
35
+ name: z.ZodOptional<z.ZodString>;
36
+ description: z.ZodOptional<z.ZodString>;
37
+ repoUrl: z.ZodOptional<z.ZodString>;
38
+ homepageUrl: z.ZodOptional<z.ZodString>;
39
+ kind: z.ZodOptional<z.ZodEnum<{
40
+ plugin: "plugin";
41
+ mcp: "mcp";
42
+ agent: "agent";
43
+ command: "command";
44
+ theme: "theme";
45
+ skill: "skill";
46
+ tool: "tool";
47
+ app: "app";
48
+ project: "project";
49
+ resource: "resource";
50
+ unknown: "unknown";
51
+ }>>;
52
+ confidence: z.ZodOptional<z.ZodEnum<{
53
+ verified: "verified";
54
+ partial: "partial";
55
+ unmapped: "unmapped";
56
+ unvetted: "unvetted";
57
+ blocked: "blocked";
58
+ }>>;
59
+ install: z.ZodOptional<z.ZodObject<{
60
+ type: z.ZodOptional<z.ZodEnum<{
61
+ plugin: "plugin";
62
+ mcp: "mcp";
63
+ agent: "agent";
64
+ command: "command";
65
+ theme: "theme";
66
+ skill: "skill";
67
+ }>>;
68
+ spec: z.ZodOptional<z.ZodString>;
69
+ specs: z.ZodOptional<z.ZodArray<z.ZodString>>;
70
+ name: z.ZodOptional<z.ZodString>;
71
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
72
+ reason: z.ZodOptional<z.ZodString>;
73
+ verified: z.ZodOptional<z.ZodBoolean>;
74
+ }, z.core.$strip>>;
75
+ installationMarkdown: z.ZodOptional<z.ZodString>;
76
+ updatedAt: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strip>;
78
+ export declare const RegistryItem: z.ZodObject<{
79
+ id: z.ZodString;
80
+ source: z.ZodEnum<{
81
+ "opencode-cafe": "opencode-cafe";
82
+ "awesome-opencode": "awesome-opencode";
83
+ "opencode-docs": "opencode-docs";
84
+ installed: "installed";
85
+ }>;
86
+ sourceType: z.ZodOptional<z.ZodString>;
87
+ kind: z.ZodEnum<{
88
+ plugin: "plugin";
89
+ mcp: "mcp";
90
+ agent: "agent";
91
+ command: "command";
92
+ theme: "theme";
93
+ skill: "skill";
94
+ tool: "tool";
95
+ app: "app";
96
+ project: "project";
97
+ resource: "resource";
98
+ unknown: "unknown";
99
+ }>;
100
+ confidence: z.ZodEnum<{
101
+ verified: "verified";
102
+ partial: "partial";
103
+ unmapped: "unmapped";
104
+ unvetted: "unvetted";
105
+ blocked: "blocked";
106
+ }>;
107
+ name: z.ZodString;
108
+ description: z.ZodDefault<z.ZodString>;
109
+ repoUrl: z.ZodOptional<z.ZodString>;
110
+ homepageUrl: z.ZodOptional<z.ZodString>;
111
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
112
+ aliases: z.ZodDefault<z.ZodArray<z.ZodString>>;
113
+ alternateKinds: z.ZodDefault<z.ZodArray<z.ZodEnum<{
114
+ plugin: "plugin";
115
+ mcp: "mcp";
116
+ agent: "agent";
117
+ command: "command";
118
+ theme: "theme";
119
+ skill: "skill";
120
+ tool: "tool";
121
+ app: "app";
122
+ project: "project";
123
+ resource: "resource";
124
+ unknown: "unknown";
125
+ }>>>;
126
+ sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
127
+ source: z.ZodEnum<{
128
+ "opencode-cafe": "opencode-cafe";
129
+ "awesome-opencode": "awesome-opencode";
130
+ "opencode-docs": "opencode-docs";
131
+ installed: "installed";
132
+ }>;
133
+ id: z.ZodOptional<z.ZodString>;
134
+ sourceType: z.ZodOptional<z.ZodString>;
135
+ name: z.ZodOptional<z.ZodString>;
136
+ description: z.ZodOptional<z.ZodString>;
137
+ repoUrl: z.ZodOptional<z.ZodString>;
138
+ homepageUrl: z.ZodOptional<z.ZodString>;
139
+ kind: z.ZodOptional<z.ZodEnum<{
140
+ plugin: "plugin";
141
+ mcp: "mcp";
142
+ agent: "agent";
143
+ command: "command";
144
+ theme: "theme";
145
+ skill: "skill";
146
+ tool: "tool";
147
+ app: "app";
148
+ project: "project";
149
+ resource: "resource";
150
+ unknown: "unknown";
151
+ }>>;
152
+ confidence: z.ZodOptional<z.ZodEnum<{
153
+ verified: "verified";
154
+ partial: "partial";
155
+ unmapped: "unmapped";
156
+ unvetted: "unvetted";
157
+ blocked: "blocked";
158
+ }>>;
159
+ install: z.ZodOptional<z.ZodObject<{
160
+ type: z.ZodOptional<z.ZodEnum<{
161
+ plugin: "plugin";
162
+ mcp: "mcp";
163
+ agent: "agent";
164
+ command: "command";
165
+ theme: "theme";
166
+ skill: "skill";
167
+ }>>;
168
+ spec: z.ZodOptional<z.ZodString>;
169
+ specs: z.ZodOptional<z.ZodArray<z.ZodString>>;
170
+ name: z.ZodOptional<z.ZodString>;
171
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
172
+ reason: z.ZodOptional<z.ZodString>;
173
+ verified: z.ZodOptional<z.ZodBoolean>;
174
+ }, z.core.$strip>>;
175
+ installationMarkdown: z.ZodOptional<z.ZodString>;
176
+ updatedAt: z.ZodOptional<z.ZodString>;
177
+ }, z.core.$strip>>>;
178
+ primarySource: z.ZodOptional<z.ZodEnum<{
179
+ "opencode-cafe": "opencode-cafe";
180
+ "awesome-opencode": "awesome-opencode";
181
+ "opencode-docs": "opencode-docs";
182
+ installed: "installed";
183
+ }>>;
184
+ installationMarkdown: z.ZodOptional<z.ZodString>;
185
+ install: z.ZodOptional<z.ZodObject<{
186
+ type: z.ZodOptional<z.ZodEnum<{
187
+ plugin: "plugin";
188
+ mcp: "mcp";
189
+ agent: "agent";
190
+ command: "command";
191
+ theme: "theme";
192
+ skill: "skill";
193
+ }>>;
194
+ spec: z.ZodOptional<z.ZodString>;
195
+ specs: z.ZodOptional<z.ZodArray<z.ZodString>>;
196
+ name: z.ZodOptional<z.ZodString>;
197
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
198
+ reason: z.ZodOptional<z.ZodString>;
199
+ verified: z.ZodOptional<z.ZodBoolean>;
200
+ }, z.core.$strip>>;
201
+ warnings: z.ZodDefault<z.ZodArray<z.ZodString>>;
202
+ updatedAt: z.ZodOptional<z.ZodString>;
203
+ }, z.core.$strip>;
204
+ export declare const SidecarConfig: z.ZodObject<{
205
+ debug: z.ZodDefault<z.ZodBoolean>;
206
+ ui: z.ZodDefault<z.ZodObject<{
207
+ width: z.ZodDefault<z.ZodEnum<{
208
+ medium: "medium";
209
+ large: "large";
210
+ xlarge: "xlarge";
211
+ }>>;
212
+ height: z.ZodDefault<z.ZodEnum<{
213
+ compact: "compact";
214
+ normal: "normal";
215
+ tall: "tall";
216
+ max: "max";
217
+ }>>;
218
+ height_percent: z.ZodDefault<z.ZodNumber>;
219
+ browser: z.ZodDefault<z.ZodObject<{
220
+ width: z.ZodDefault<z.ZodEnum<{
221
+ medium: "medium";
222
+ large: "large";
223
+ xlarge: "xlarge";
224
+ }>>;
225
+ }, z.core.$strip>>;
226
+ }, z.core.$strip>>;
227
+ cache: z.ZodDefault<z.ZodObject<{
228
+ fetch_on_empty: z.ZodDefault<z.ZodBoolean>;
229
+ refresh_manually: z.ZodDefault<z.ZodBoolean>;
230
+ stale_after_hours: z.ZodDefault<z.ZodNumber>;
231
+ }, z.core.$strip>>;
232
+ install: z.ZodDefault<z.ZodObject<{
233
+ default_scope: z.ZodDefault<z.ZodEnum<{
234
+ project: "project";
235
+ ask: "ask";
236
+ global: "global";
237
+ }>>;
238
+ conflict_policy: z.ZodDefault<z.ZodEnum<{
239
+ refuse: "refuse";
240
+ }>>;
241
+ allow_claude_mcp_conversion: z.ZodDefault<z.ZodEnum<{
242
+ never: "never";
243
+ ask: "ask";
244
+ }>>;
245
+ runtime_mcp_connect: z.ZodDefault<z.ZodBoolean>;
246
+ }, z.core.$strip>>;
247
+ forge: z.ZodDefault<z.ZodObject<{
248
+ enabled: z.ZodDefault<z.ZodBoolean>;
249
+ bulk: z.ZodDefault<z.ZodBoolean>;
250
+ require_typed_high_risk: z.ZodDefault<z.ZodBoolean>;
251
+ agent: z.ZodDefault<z.ZodObject<{
252
+ model: z.ZodDefault<z.ZodString>;
253
+ variant: z.ZodOptional<z.ZodString>;
254
+ temperature: z.ZodOptional<z.ZodNumber>;
255
+ top_p: z.ZodOptional<z.ZodNumber>;
256
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
257
+ personality: z.ZodDefault<z.ZodEnum<{
258
+ "curio-shelf": "curio-shelf";
259
+ "expedition-cataloguer": "expedition-cataloguer";
260
+ "the-fence": "the-fence";
261
+ wayfinder: "wayfinder";
262
+ quartermaster: "quartermaster";
263
+ appraiser: "appraiser";
264
+ "the-souk": "the-souk";
265
+ "wary-antiquarian": "wary-antiquarian";
266
+ "friendly-stallkeeper": "friendly-stallkeeper";
267
+ "contract-scribe": "contract-scribe";
268
+ "pragmatic-artisan": "pragmatic-artisan";
269
+ "sober-host": "sober-host";
270
+ }>>;
271
+ }, z.core.$strip>>;
272
+ }, z.core.$strip>>;
273
+ sources: z.ZodDefault<z.ZodObject<{
274
+ opencode_cafe: z.ZodDefault<z.ZodObject<{
275
+ enabled: z.ZodDefault<z.ZodBoolean>;
276
+ url: z.ZodOptional<z.ZodString>;
277
+ }, z.core.$strip>>;
278
+ awesome_opencode: z.ZodDefault<z.ZodObject<{
279
+ enabled: z.ZodDefault<z.ZodBoolean>;
280
+ url: z.ZodOptional<z.ZodString>;
281
+ }, z.core.$strip>>;
282
+ opencode_docs: z.ZodDefault<z.ZodObject<{
283
+ enabled: z.ZodDefault<z.ZodBoolean>;
284
+ url: z.ZodOptional<z.ZodString>;
285
+ }, z.core.$strip>>;
286
+ }, z.core.$strip>>;
287
+ hidden: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
288
+ }, z.core.$strip>;
289
+ declare const BackupOperation: z.ZodObject<{
290
+ op: z.ZodEnum<{
291
+ add: "add";
292
+ remove: "remove";
293
+ replace: "replace";
294
+ }>;
295
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
296
+ value: z.ZodOptional<z.ZodUnknown>;
297
+ }, z.core.$strip>;
298
+ declare const PatchBackupEntry: z.ZodObject<{
299
+ type: z.ZodLiteral<"patch">;
300
+ id: z.ZodString;
301
+ timestamp: z.ZodString;
302
+ before_hash: z.ZodString;
303
+ after_hash: z.ZodString;
304
+ changed_paths: z.ZodArray<z.ZodString>;
305
+ reverse_patch: z.ZodArray<z.ZodObject<{
306
+ op: z.ZodEnum<{
307
+ add: "add";
308
+ remove: "remove";
309
+ replace: "replace";
310
+ }>;
311
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
312
+ value: z.ZodOptional<z.ZodUnknown>;
313
+ }, z.core.$strip>>;
314
+ }, z.core.$strip>;
315
+ declare const FullBackupEntry: z.ZodObject<{
316
+ type: z.ZodLiteral<"full">;
317
+ id: z.ZodString;
318
+ timestamp: z.ZodString;
319
+ hash: z.ZodString;
320
+ label: z.ZodOptional<z.ZodString>;
321
+ config: z.ZodObject<{
322
+ debug: z.ZodDefault<z.ZodBoolean>;
323
+ ui: z.ZodDefault<z.ZodObject<{
324
+ width: z.ZodDefault<z.ZodEnum<{
325
+ medium: "medium";
326
+ large: "large";
327
+ xlarge: "xlarge";
328
+ }>>;
329
+ height: z.ZodDefault<z.ZodEnum<{
330
+ compact: "compact";
331
+ normal: "normal";
332
+ tall: "tall";
333
+ max: "max";
334
+ }>>;
335
+ height_percent: z.ZodDefault<z.ZodNumber>;
336
+ browser: z.ZodDefault<z.ZodObject<{
337
+ width: z.ZodDefault<z.ZodEnum<{
338
+ medium: "medium";
339
+ large: "large";
340
+ xlarge: "xlarge";
341
+ }>>;
342
+ }, z.core.$strip>>;
343
+ }, z.core.$strip>>;
344
+ cache: z.ZodDefault<z.ZodObject<{
345
+ fetch_on_empty: z.ZodDefault<z.ZodBoolean>;
346
+ refresh_manually: z.ZodDefault<z.ZodBoolean>;
347
+ stale_after_hours: z.ZodDefault<z.ZodNumber>;
348
+ }, z.core.$strip>>;
349
+ install: z.ZodDefault<z.ZodObject<{
350
+ default_scope: z.ZodDefault<z.ZodEnum<{
351
+ project: "project";
352
+ ask: "ask";
353
+ global: "global";
354
+ }>>;
355
+ conflict_policy: z.ZodDefault<z.ZodEnum<{
356
+ refuse: "refuse";
357
+ }>>;
358
+ allow_claude_mcp_conversion: z.ZodDefault<z.ZodEnum<{
359
+ never: "never";
360
+ ask: "ask";
361
+ }>>;
362
+ runtime_mcp_connect: z.ZodDefault<z.ZodBoolean>;
363
+ }, z.core.$strip>>;
364
+ forge: z.ZodDefault<z.ZodObject<{
365
+ enabled: z.ZodDefault<z.ZodBoolean>;
366
+ bulk: z.ZodDefault<z.ZodBoolean>;
367
+ require_typed_high_risk: z.ZodDefault<z.ZodBoolean>;
368
+ agent: z.ZodDefault<z.ZodObject<{
369
+ model: z.ZodDefault<z.ZodString>;
370
+ variant: z.ZodOptional<z.ZodString>;
371
+ temperature: z.ZodOptional<z.ZodNumber>;
372
+ top_p: z.ZodOptional<z.ZodNumber>;
373
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
374
+ personality: z.ZodDefault<z.ZodEnum<{
375
+ "curio-shelf": "curio-shelf";
376
+ "expedition-cataloguer": "expedition-cataloguer";
377
+ "the-fence": "the-fence";
378
+ wayfinder: "wayfinder";
379
+ quartermaster: "quartermaster";
380
+ appraiser: "appraiser";
381
+ "the-souk": "the-souk";
382
+ "wary-antiquarian": "wary-antiquarian";
383
+ "friendly-stallkeeper": "friendly-stallkeeper";
384
+ "contract-scribe": "contract-scribe";
385
+ "pragmatic-artisan": "pragmatic-artisan";
386
+ "sober-host": "sober-host";
387
+ }>>;
388
+ }, z.core.$strip>>;
389
+ }, z.core.$strip>>;
390
+ sources: z.ZodDefault<z.ZodObject<{
391
+ opencode_cafe: z.ZodDefault<z.ZodObject<{
392
+ enabled: z.ZodDefault<z.ZodBoolean>;
393
+ url: z.ZodOptional<z.ZodString>;
394
+ }, z.core.$strip>>;
395
+ awesome_opencode: z.ZodDefault<z.ZodObject<{
396
+ enabled: z.ZodDefault<z.ZodBoolean>;
397
+ url: z.ZodOptional<z.ZodString>;
398
+ }, z.core.$strip>>;
399
+ opencode_docs: z.ZodDefault<z.ZodObject<{
400
+ enabled: z.ZodDefault<z.ZodBoolean>;
401
+ url: z.ZodOptional<z.ZodString>;
402
+ }, z.core.$strip>>;
403
+ }, z.core.$strip>>;
404
+ hidden: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
405
+ }, z.core.$strip>;
406
+ }, z.core.$strip>;
407
+ export declare const BackupJournal: z.ZodObject<{
408
+ version: z.ZodDefault<z.ZodLiteral<1>>;
409
+ patch_limit: z.ZodDefault<z.ZodNumber>;
410
+ patches: z.ZodDefault<z.ZodArray<z.ZodObject<{
411
+ type: z.ZodLiteral<"patch">;
412
+ id: z.ZodString;
413
+ timestamp: z.ZodString;
414
+ before_hash: z.ZodString;
415
+ after_hash: z.ZodString;
416
+ changed_paths: z.ZodArray<z.ZodString>;
417
+ reverse_patch: z.ZodArray<z.ZodObject<{
418
+ op: z.ZodEnum<{
419
+ add: "add";
420
+ remove: "remove";
421
+ replace: "replace";
422
+ }>;
423
+ path: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
424
+ value: z.ZodOptional<z.ZodUnknown>;
425
+ }, z.core.$strip>>;
426
+ }, z.core.$strip>>>;
427
+ full: z.ZodDefault<z.ZodArray<z.ZodObject<{
428
+ type: z.ZodLiteral<"full">;
429
+ id: z.ZodString;
430
+ timestamp: z.ZodString;
431
+ hash: z.ZodString;
432
+ label: z.ZodOptional<z.ZodString>;
433
+ config: z.ZodObject<{
434
+ debug: z.ZodDefault<z.ZodBoolean>;
435
+ ui: z.ZodDefault<z.ZodObject<{
436
+ width: z.ZodDefault<z.ZodEnum<{
437
+ medium: "medium";
438
+ large: "large";
439
+ xlarge: "xlarge";
440
+ }>>;
441
+ height: z.ZodDefault<z.ZodEnum<{
442
+ compact: "compact";
443
+ normal: "normal";
444
+ tall: "tall";
445
+ max: "max";
446
+ }>>;
447
+ height_percent: z.ZodDefault<z.ZodNumber>;
448
+ browser: z.ZodDefault<z.ZodObject<{
449
+ width: z.ZodDefault<z.ZodEnum<{
450
+ medium: "medium";
451
+ large: "large";
452
+ xlarge: "xlarge";
453
+ }>>;
454
+ }, z.core.$strip>>;
455
+ }, z.core.$strip>>;
456
+ cache: z.ZodDefault<z.ZodObject<{
457
+ fetch_on_empty: z.ZodDefault<z.ZodBoolean>;
458
+ refresh_manually: z.ZodDefault<z.ZodBoolean>;
459
+ stale_after_hours: z.ZodDefault<z.ZodNumber>;
460
+ }, z.core.$strip>>;
461
+ install: z.ZodDefault<z.ZodObject<{
462
+ default_scope: z.ZodDefault<z.ZodEnum<{
463
+ project: "project";
464
+ ask: "ask";
465
+ global: "global";
466
+ }>>;
467
+ conflict_policy: z.ZodDefault<z.ZodEnum<{
468
+ refuse: "refuse";
469
+ }>>;
470
+ allow_claude_mcp_conversion: z.ZodDefault<z.ZodEnum<{
471
+ never: "never";
472
+ ask: "ask";
473
+ }>>;
474
+ runtime_mcp_connect: z.ZodDefault<z.ZodBoolean>;
475
+ }, z.core.$strip>>;
476
+ forge: z.ZodDefault<z.ZodObject<{
477
+ enabled: z.ZodDefault<z.ZodBoolean>;
478
+ bulk: z.ZodDefault<z.ZodBoolean>;
479
+ require_typed_high_risk: z.ZodDefault<z.ZodBoolean>;
480
+ agent: z.ZodDefault<z.ZodObject<{
481
+ model: z.ZodDefault<z.ZodString>;
482
+ variant: z.ZodOptional<z.ZodString>;
483
+ temperature: z.ZodOptional<z.ZodNumber>;
484
+ top_p: z.ZodOptional<z.ZodNumber>;
485
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
486
+ personality: z.ZodDefault<z.ZodEnum<{
487
+ "curio-shelf": "curio-shelf";
488
+ "expedition-cataloguer": "expedition-cataloguer";
489
+ "the-fence": "the-fence";
490
+ wayfinder: "wayfinder";
491
+ quartermaster: "quartermaster";
492
+ appraiser: "appraiser";
493
+ "the-souk": "the-souk";
494
+ "wary-antiquarian": "wary-antiquarian";
495
+ "friendly-stallkeeper": "friendly-stallkeeper";
496
+ "contract-scribe": "contract-scribe";
497
+ "pragmatic-artisan": "pragmatic-artisan";
498
+ "sober-host": "sober-host";
499
+ }>>;
500
+ }, z.core.$strip>>;
501
+ }, z.core.$strip>>;
502
+ sources: z.ZodDefault<z.ZodObject<{
503
+ opencode_cafe: z.ZodDefault<z.ZodObject<{
504
+ enabled: z.ZodDefault<z.ZodBoolean>;
505
+ url: z.ZodOptional<z.ZodString>;
506
+ }, z.core.$strip>>;
507
+ awesome_opencode: z.ZodDefault<z.ZodObject<{
508
+ enabled: z.ZodDefault<z.ZodBoolean>;
509
+ url: z.ZodOptional<z.ZodString>;
510
+ }, z.core.$strip>>;
511
+ opencode_docs: z.ZodDefault<z.ZodObject<{
512
+ enabled: z.ZodDefault<z.ZodBoolean>;
513
+ url: z.ZodOptional<z.ZodString>;
514
+ }, z.core.$strip>>;
515
+ }, z.core.$strip>>;
516
+ hidden: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
517
+ }, z.core.$strip>;
518
+ }, z.core.$strip>>>;
519
+ }, z.core.$strip>;
520
+ export declare const CacheFile: z.ZodObject<{
521
+ version: z.ZodDefault<z.ZodLiteral<1>>;
522
+ fetchedAt: z.ZodOptional<z.ZodString>;
523
+ items: z.ZodDefault<z.ZodArray<z.ZodObject<{
524
+ id: z.ZodString;
525
+ source: z.ZodEnum<{
526
+ "opencode-cafe": "opencode-cafe";
527
+ "awesome-opencode": "awesome-opencode";
528
+ "opencode-docs": "opencode-docs";
529
+ installed: "installed";
530
+ }>;
531
+ sourceType: z.ZodOptional<z.ZodString>;
532
+ kind: z.ZodEnum<{
533
+ plugin: "plugin";
534
+ mcp: "mcp";
535
+ agent: "agent";
536
+ command: "command";
537
+ theme: "theme";
538
+ skill: "skill";
539
+ tool: "tool";
540
+ app: "app";
541
+ project: "project";
542
+ resource: "resource";
543
+ unknown: "unknown";
544
+ }>;
545
+ confidence: z.ZodEnum<{
546
+ verified: "verified";
547
+ partial: "partial";
548
+ unmapped: "unmapped";
549
+ unvetted: "unvetted";
550
+ blocked: "blocked";
551
+ }>;
552
+ name: z.ZodString;
553
+ description: z.ZodDefault<z.ZodString>;
554
+ repoUrl: z.ZodOptional<z.ZodString>;
555
+ homepageUrl: z.ZodOptional<z.ZodString>;
556
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
557
+ aliases: z.ZodDefault<z.ZodArray<z.ZodString>>;
558
+ alternateKinds: z.ZodDefault<z.ZodArray<z.ZodEnum<{
559
+ plugin: "plugin";
560
+ mcp: "mcp";
561
+ agent: "agent";
562
+ command: "command";
563
+ theme: "theme";
564
+ skill: "skill";
565
+ tool: "tool";
566
+ app: "app";
567
+ project: "project";
568
+ resource: "resource";
569
+ unknown: "unknown";
570
+ }>>>;
571
+ sources: z.ZodDefault<z.ZodArray<z.ZodObject<{
572
+ source: z.ZodEnum<{
573
+ "opencode-cafe": "opencode-cafe";
574
+ "awesome-opencode": "awesome-opencode";
575
+ "opencode-docs": "opencode-docs";
576
+ installed: "installed";
577
+ }>;
578
+ id: z.ZodOptional<z.ZodString>;
579
+ sourceType: z.ZodOptional<z.ZodString>;
580
+ name: z.ZodOptional<z.ZodString>;
581
+ description: z.ZodOptional<z.ZodString>;
582
+ repoUrl: z.ZodOptional<z.ZodString>;
583
+ homepageUrl: z.ZodOptional<z.ZodString>;
584
+ kind: z.ZodOptional<z.ZodEnum<{
585
+ plugin: "plugin";
586
+ mcp: "mcp";
587
+ agent: "agent";
588
+ command: "command";
589
+ theme: "theme";
590
+ skill: "skill";
591
+ tool: "tool";
592
+ app: "app";
593
+ project: "project";
594
+ resource: "resource";
595
+ unknown: "unknown";
596
+ }>>;
597
+ confidence: z.ZodOptional<z.ZodEnum<{
598
+ verified: "verified";
599
+ partial: "partial";
600
+ unmapped: "unmapped";
601
+ unvetted: "unvetted";
602
+ blocked: "blocked";
603
+ }>>;
604
+ install: z.ZodOptional<z.ZodObject<{
605
+ type: z.ZodOptional<z.ZodEnum<{
606
+ plugin: "plugin";
607
+ mcp: "mcp";
608
+ agent: "agent";
609
+ command: "command";
610
+ theme: "theme";
611
+ skill: "skill";
612
+ }>>;
613
+ spec: z.ZodOptional<z.ZodString>;
614
+ specs: z.ZodOptional<z.ZodArray<z.ZodString>>;
615
+ name: z.ZodOptional<z.ZodString>;
616
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
617
+ reason: z.ZodOptional<z.ZodString>;
618
+ verified: z.ZodOptional<z.ZodBoolean>;
619
+ }, z.core.$strip>>;
620
+ installationMarkdown: z.ZodOptional<z.ZodString>;
621
+ updatedAt: z.ZodOptional<z.ZodString>;
622
+ }, z.core.$strip>>>;
623
+ primarySource: z.ZodOptional<z.ZodEnum<{
624
+ "opencode-cafe": "opencode-cafe";
625
+ "awesome-opencode": "awesome-opencode";
626
+ "opencode-docs": "opencode-docs";
627
+ installed: "installed";
628
+ }>>;
629
+ installationMarkdown: z.ZodOptional<z.ZodString>;
630
+ install: z.ZodOptional<z.ZodObject<{
631
+ type: z.ZodOptional<z.ZodEnum<{
632
+ plugin: "plugin";
633
+ mcp: "mcp";
634
+ agent: "agent";
635
+ command: "command";
636
+ theme: "theme";
637
+ skill: "skill";
638
+ }>>;
639
+ spec: z.ZodOptional<z.ZodString>;
640
+ specs: z.ZodOptional<z.ZodArray<z.ZodString>>;
641
+ name: z.ZodOptional<z.ZodString>;
642
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
643
+ reason: z.ZodOptional<z.ZodString>;
644
+ verified: z.ZodOptional<z.ZodBoolean>;
645
+ }, z.core.$strip>>;
646
+ warnings: z.ZodDefault<z.ZodArray<z.ZodString>>;
647
+ updatedAt: z.ZodOptional<z.ZodString>;
648
+ }, z.core.$strip>>>;
649
+ errors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
650
+ sourceStatus: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
651
+ enabled: z.ZodDefault<z.ZodBoolean>;
652
+ status: z.ZodDefault<z.ZodEnum<{
653
+ fetched: "fetched";
654
+ skipped: "skipped";
655
+ failed: "failed";
656
+ }>>;
657
+ rawCount: z.ZodDefault<z.ZodNumber>;
658
+ normalizedCount: z.ZodDefault<z.ZodNumber>;
659
+ warnings: z.ZodDefault<z.ZodArray<z.ZodString>>;
660
+ error: z.ZodOptional<z.ZodString>;
661
+ }, z.core.$strip>>>;
662
+ }, z.core.$strip>;
663
+ export type RegistryItem = z.infer<typeof RegistryItem>;
664
+ export type InstallHint = z.infer<typeof InstallHint>;
665
+ export type SourceRef = z.infer<typeof SourceRef>;
666
+ export type SidecarConfig = z.infer<typeof SidecarConfig>;
667
+ export type CacheFile = z.infer<typeof CacheFile>;
668
+ export type BackupOperation = z.infer<typeof BackupOperation>;
669
+ export type PatchBackupEntry = z.infer<typeof PatchBackupEntry>;
670
+ export type FullBackupEntry = z.infer<typeof FullBackupEntry>;
671
+ export type BackupJournal = z.infer<typeof BackupJournal>;
672
+ export type Diagnostic = {
673
+ level: "error" | "warning" | "info";
674
+ message: string;
675
+ };
676
+ export type ModelCatalog = {
677
+ providers: Set<string>;
678
+ providersWithModelList: Set<string>;
679
+ refs: Set<string>;
680
+ variants: Map<string, Set<string>>;
681
+ };
682
+ export type ScopeChoice = {
683
+ kind: "global";
684
+ } | {
685
+ kind: "project";
686
+ path: string;
687
+ };
688
+ export declare function defaultConfigDir(): string;
689
+ export declare function defaultSidecarPath(): string;
690
+ export declare function defaultCachePath(): string;
691
+ export declare function heightPresetPercent(height: SidecarConfig["ui"]["height"]): 100 | 68 | 50 | 32;
692
+ export declare function effectiveUiHeightPercent(ui: {
693
+ height: SidecarConfig["ui"]["height"];
694
+ height_percent?: number;
695
+ }): number;
696
+ export declare function debugLogPath(configDir?: string): string;
697
+ export declare function backupJournalPath(configDir?: string): string;
698
+ export declare function emptyConfig(): SidecarConfig;
699
+ export declare function emptyCache(): CacheFile;
700
+ export declare function emptyBackupJournal(): BackupJournal;
701
+ export declare function loadSidecar(file?: string): SidecarConfig;
702
+ export declare function loadSidecarSafe(file?: string): {
703
+ config: SidecarConfig;
704
+ error?: string;
705
+ };
706
+ export declare function saveSidecar(config: SidecarConfig, file?: string, options?: {
707
+ backup?: boolean;
708
+ allowInvalidPrevious?: boolean;
709
+ }): {
710
+ changed: boolean;
711
+ };
712
+ export declare function loadBackupJournal(file?: string): BackupJournal;
713
+ export declare function saveBackupJournal(journal: BackupJournal, file?: string): void;
714
+ export declare function hashConfig(config: SidecarConfig): string;
715
+ export declare function createFullBackup(config: SidecarConfig, input?: {
716
+ label?: string;
717
+ file?: string;
718
+ }): {
719
+ version: 1;
720
+ patch_limit: number;
721
+ patches: {
722
+ type: "patch";
723
+ id: string;
724
+ timestamp: string;
725
+ before_hash: string;
726
+ after_hash: string;
727
+ changed_paths: string[];
728
+ reverse_patch: {
729
+ op: "add" | "remove" | "replace";
730
+ path: (string | number)[];
731
+ value?: unknown;
732
+ }[];
733
+ }[];
734
+ full: {
735
+ type: "full";
736
+ id: string;
737
+ timestamp: string;
738
+ hash: string;
739
+ config: {
740
+ debug: boolean;
741
+ ui: {
742
+ width: "medium" | "large" | "xlarge";
743
+ height: "compact" | "normal" | "tall" | "max";
744
+ height_percent: number;
745
+ browser: {
746
+ width: "medium" | "large" | "xlarge";
747
+ };
748
+ };
749
+ cache: {
750
+ fetch_on_empty: boolean;
751
+ refresh_manually: boolean;
752
+ stale_after_hours: number;
753
+ };
754
+ install: {
755
+ default_scope: "project" | "ask" | "global";
756
+ conflict_policy: "refuse";
757
+ allow_claude_mcp_conversion: "never" | "ask";
758
+ runtime_mcp_connect: boolean;
759
+ };
760
+ forge: {
761
+ enabled: boolean;
762
+ bulk: boolean;
763
+ require_typed_high_risk: boolean;
764
+ agent: {
765
+ model: string;
766
+ personality: "curio-shelf" | "expedition-cataloguer" | "the-fence" | "wayfinder" | "quartermaster" | "appraiser" | "the-souk" | "wary-antiquarian" | "friendly-stallkeeper" | "contract-scribe" | "pragmatic-artisan" | "sober-host";
767
+ variant?: string | undefined;
768
+ temperature?: number | undefined;
769
+ top_p?: number | undefined;
770
+ options?: Record<string, unknown> | undefined;
771
+ };
772
+ };
773
+ sources: {
774
+ opencode_cafe: {
775
+ enabled: boolean;
776
+ url?: string | undefined;
777
+ };
778
+ awesome_opencode: {
779
+ enabled: boolean;
780
+ url?: string | undefined;
781
+ };
782
+ opencode_docs: {
783
+ enabled: boolean;
784
+ url?: string | undefined;
785
+ };
786
+ };
787
+ hidden: Record<string, boolean>;
788
+ };
789
+ label?: string | undefined;
790
+ }[];
791
+ };
792
+ export declare function deleteFullBackup(id: string, file?: string): {
793
+ version: 1;
794
+ patch_limit: number;
795
+ patches: {
796
+ type: "patch";
797
+ id: string;
798
+ timestamp: string;
799
+ before_hash: string;
800
+ after_hash: string;
801
+ changed_paths: string[];
802
+ reverse_patch: {
803
+ op: "add" | "remove" | "replace";
804
+ path: (string | number)[];
805
+ value?: unknown;
806
+ }[];
807
+ }[];
808
+ full: {
809
+ type: "full";
810
+ id: string;
811
+ timestamp: string;
812
+ hash: string;
813
+ config: {
814
+ debug: boolean;
815
+ ui: {
816
+ width: "medium" | "large" | "xlarge";
817
+ height: "compact" | "normal" | "tall" | "max";
818
+ height_percent: number;
819
+ browser: {
820
+ width: "medium" | "large" | "xlarge";
821
+ };
822
+ };
823
+ cache: {
824
+ fetch_on_empty: boolean;
825
+ refresh_manually: boolean;
826
+ stale_after_hours: number;
827
+ };
828
+ install: {
829
+ default_scope: "project" | "ask" | "global";
830
+ conflict_policy: "refuse";
831
+ allow_claude_mcp_conversion: "never" | "ask";
832
+ runtime_mcp_connect: boolean;
833
+ };
834
+ forge: {
835
+ enabled: boolean;
836
+ bulk: boolean;
837
+ require_typed_high_risk: boolean;
838
+ agent: {
839
+ model: string;
840
+ personality: "curio-shelf" | "expedition-cataloguer" | "the-fence" | "wayfinder" | "quartermaster" | "appraiser" | "the-souk" | "wary-antiquarian" | "friendly-stallkeeper" | "contract-scribe" | "pragmatic-artisan" | "sober-host";
841
+ variant?: string | undefined;
842
+ temperature?: number | undefined;
843
+ top_p?: number | undefined;
844
+ options?: Record<string, unknown> | undefined;
845
+ };
846
+ };
847
+ sources: {
848
+ opencode_cafe: {
849
+ enabled: boolean;
850
+ url?: string | undefined;
851
+ };
852
+ awesome_opencode: {
853
+ enabled: boolean;
854
+ url?: string | undefined;
855
+ };
856
+ opencode_docs: {
857
+ enabled: boolean;
858
+ url?: string | undefined;
859
+ };
860
+ };
861
+ hidden: Record<string, boolean>;
862
+ };
863
+ label?: string | undefined;
864
+ }[];
865
+ };
866
+ export declare function deleteAllFullBackups(file?: string): {
867
+ version: 1;
868
+ patch_limit: number;
869
+ patches: {
870
+ type: "patch";
871
+ id: string;
872
+ timestamp: string;
873
+ before_hash: string;
874
+ after_hash: string;
875
+ changed_paths: string[];
876
+ reverse_patch: {
877
+ op: "add" | "remove" | "replace";
878
+ path: (string | number)[];
879
+ value?: unknown;
880
+ }[];
881
+ }[];
882
+ full: {
883
+ type: "full";
884
+ id: string;
885
+ timestamp: string;
886
+ hash: string;
887
+ config: {
888
+ debug: boolean;
889
+ ui: {
890
+ width: "medium" | "large" | "xlarge";
891
+ height: "compact" | "normal" | "tall" | "max";
892
+ height_percent: number;
893
+ browser: {
894
+ width: "medium" | "large" | "xlarge";
895
+ };
896
+ };
897
+ cache: {
898
+ fetch_on_empty: boolean;
899
+ refresh_manually: boolean;
900
+ stale_after_hours: number;
901
+ };
902
+ install: {
903
+ default_scope: "project" | "ask" | "global";
904
+ conflict_policy: "refuse";
905
+ allow_claude_mcp_conversion: "never" | "ask";
906
+ runtime_mcp_connect: boolean;
907
+ };
908
+ forge: {
909
+ enabled: boolean;
910
+ bulk: boolean;
911
+ require_typed_high_risk: boolean;
912
+ agent: {
913
+ model: string;
914
+ personality: "curio-shelf" | "expedition-cataloguer" | "the-fence" | "wayfinder" | "quartermaster" | "appraiser" | "the-souk" | "wary-antiquarian" | "friendly-stallkeeper" | "contract-scribe" | "pragmatic-artisan" | "sober-host";
915
+ variant?: string | undefined;
916
+ temperature?: number | undefined;
917
+ top_p?: number | undefined;
918
+ options?: Record<string, unknown> | undefined;
919
+ };
920
+ };
921
+ sources: {
922
+ opencode_cafe: {
923
+ enabled: boolean;
924
+ url?: string | undefined;
925
+ };
926
+ awesome_opencode: {
927
+ enabled: boolean;
928
+ url?: string | undefined;
929
+ };
930
+ opencode_docs: {
931
+ enabled: boolean;
932
+ url?: string | undefined;
933
+ };
934
+ };
935
+ hidden: Record<string, boolean>;
936
+ };
937
+ label?: string | undefined;
938
+ }[];
939
+ };
940
+ export declare function reconstructPatchBackup(index: number, current: SidecarConfig, journal?: {
941
+ version: 1;
942
+ patch_limit: number;
943
+ patches: {
944
+ type: "patch";
945
+ id: string;
946
+ timestamp: string;
947
+ before_hash: string;
948
+ after_hash: string;
949
+ changed_paths: string[];
950
+ reverse_patch: {
951
+ op: "add" | "remove" | "replace";
952
+ path: (string | number)[];
953
+ value?: unknown;
954
+ }[];
955
+ }[];
956
+ full: {
957
+ type: "full";
958
+ id: string;
959
+ timestamp: string;
960
+ hash: string;
961
+ config: {
962
+ debug: boolean;
963
+ ui: {
964
+ width: "medium" | "large" | "xlarge";
965
+ height: "compact" | "normal" | "tall" | "max";
966
+ height_percent: number;
967
+ browser: {
968
+ width: "medium" | "large" | "xlarge";
969
+ };
970
+ };
971
+ cache: {
972
+ fetch_on_empty: boolean;
973
+ refresh_manually: boolean;
974
+ stale_after_hours: number;
975
+ };
976
+ install: {
977
+ default_scope: "project" | "ask" | "global";
978
+ conflict_policy: "refuse";
979
+ allow_claude_mcp_conversion: "never" | "ask";
980
+ runtime_mcp_connect: boolean;
981
+ };
982
+ forge: {
983
+ enabled: boolean;
984
+ bulk: boolean;
985
+ require_typed_high_risk: boolean;
986
+ agent: {
987
+ model: string;
988
+ personality: "curio-shelf" | "expedition-cataloguer" | "the-fence" | "wayfinder" | "quartermaster" | "appraiser" | "the-souk" | "wary-antiquarian" | "friendly-stallkeeper" | "contract-scribe" | "pragmatic-artisan" | "sober-host";
989
+ variant?: string | undefined;
990
+ temperature?: number | undefined;
991
+ top_p?: number | undefined;
992
+ options?: Record<string, unknown> | undefined;
993
+ };
994
+ };
995
+ sources: {
996
+ opencode_cafe: {
997
+ enabled: boolean;
998
+ url?: string | undefined;
999
+ };
1000
+ awesome_opencode: {
1001
+ enabled: boolean;
1002
+ url?: string | undefined;
1003
+ };
1004
+ opencode_docs: {
1005
+ enabled: boolean;
1006
+ url?: string | undefined;
1007
+ };
1008
+ };
1009
+ hidden: Record<string, boolean>;
1010
+ };
1011
+ label?: string | undefined;
1012
+ }[];
1013
+ }): {
1014
+ ok: false;
1015
+ message: string;
1016
+ config?: undefined;
1017
+ consumed?: undefined;
1018
+ } | {
1019
+ ok: true;
1020
+ config: {
1021
+ debug: boolean;
1022
+ ui: {
1023
+ width: "medium" | "large" | "xlarge";
1024
+ height: "compact" | "normal" | "tall" | "max";
1025
+ height_percent: number;
1026
+ browser: {
1027
+ width: "medium" | "large" | "xlarge";
1028
+ };
1029
+ };
1030
+ cache: {
1031
+ fetch_on_empty: boolean;
1032
+ refresh_manually: boolean;
1033
+ stale_after_hours: number;
1034
+ };
1035
+ install: {
1036
+ default_scope: "project" | "ask" | "global";
1037
+ conflict_policy: "refuse";
1038
+ allow_claude_mcp_conversion: "never" | "ask";
1039
+ runtime_mcp_connect: boolean;
1040
+ };
1041
+ forge: {
1042
+ enabled: boolean;
1043
+ bulk: boolean;
1044
+ require_typed_high_risk: boolean;
1045
+ agent: {
1046
+ model: string;
1047
+ personality: "curio-shelf" | "expedition-cataloguer" | "the-fence" | "wayfinder" | "quartermaster" | "appraiser" | "the-souk" | "wary-antiquarian" | "friendly-stallkeeper" | "contract-scribe" | "pragmatic-artisan" | "sober-host";
1048
+ variant?: string | undefined;
1049
+ temperature?: number | undefined;
1050
+ top_p?: number | undefined;
1051
+ options?: Record<string, unknown> | undefined;
1052
+ };
1053
+ };
1054
+ sources: {
1055
+ opencode_cafe: {
1056
+ enabled: boolean;
1057
+ url?: string | undefined;
1058
+ };
1059
+ awesome_opencode: {
1060
+ enabled: boolean;
1061
+ url?: string | undefined;
1062
+ };
1063
+ opencode_docs: {
1064
+ enabled: boolean;
1065
+ url?: string | undefined;
1066
+ };
1067
+ };
1068
+ hidden: Record<string, boolean>;
1069
+ };
1070
+ consumed: number;
1071
+ message?: undefined;
1072
+ };
1073
+ export declare function stableStringify(value: unknown): string;
1074
+ export declare function debugEnabled(): boolean;
1075
+ export declare function debugLog(title: string, message: string, enabled?: boolean): void;
1076
+ export declare function loadCache(file?: string): CacheFile;
1077
+ export declare function saveCache(cache: CacheFile, file?: string): void;
1078
+ export declare function modelCatalogFromProviders(providers: unknown): ModelCatalog;
1079
+ export declare function validateModel(model: string | undefined, catalog: ModelCatalog): string | undefined;
1080
+ export declare function validateModelVariant(model: string | undefined, variant: string | undefined, catalog: ModelCatalog): string | undefined;
1081
+ export declare function diagnoseConfig(config: SidecarConfig, input?: {
1082
+ providers?: unknown;
1083
+ cache?: CacheFile;
1084
+ configParseError?: string;
1085
+ pluginIDs?: string[];
1086
+ }): Diagnostic[];
1087
+ export declare function splitModelRef(ref: string): {
1088
+ providerID: string;
1089
+ modelID: string;
1090
+ } | undefined;
1091
+ export declare function confidenceRank(confidence: Confidence): number;
1092
+ export declare function personalityDescription(preset: PersonalityPreset): string;
1093
+ export {};