hackshop-mcp 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +88 -34
  2. package/catalog.json +1584 -25
  3. package/dist/build-plan/index.d.ts +10 -0
  4. package/dist/build-plan/index.js +550 -0
  5. package/dist/build-plan/index.js.map +1 -0
  6. package/dist/build-plan/types.d.ts +153 -0
  7. package/dist/build-plan/types.js +2 -0
  8. package/dist/build-plan/types.js.map +1 -0
  9. package/dist/catalog/schema.d.ts +523 -7
  10. package/dist/catalog/schema.js +49 -0
  11. package/dist/catalog/schema.js.map +1 -1
  12. package/dist/core/assess.d.ts +36 -0
  13. package/dist/core/assess.js +100 -0
  14. package/dist/core/assess.js.map +1 -0
  15. package/dist/core/errors.d.ts +2 -0
  16. package/dist/core/errors.js +70 -0
  17. package/dist/core/errors.js.map +1 -0
  18. package/dist/core/links.d.ts +3 -0
  19. package/dist/core/links.js +19 -0
  20. package/dist/core/links.js.map +1 -0
  21. package/dist/core/plan-gadget.d.ts +85 -0
  22. package/dist/core/plan-gadget.js +619 -0
  23. package/dist/core/plan-gadget.js.map +1 -0
  24. package/dist/core/resources.d.ts +37 -0
  25. package/dist/core/resources.js +143 -0
  26. package/dist/core/resources.js.map +1 -0
  27. package/dist/core/safety.d.ts +7 -0
  28. package/dist/core/safety.js +28 -0
  29. package/dist/core/safety.js.map +1 -0
  30. package/dist/core/tools.d.ts +247 -0
  31. package/dist/core/tools.js +164 -0
  32. package/dist/core/tools.js.map +1 -0
  33. package/dist/core/types.d.ts +163 -0
  34. package/dist/core/types.js +17 -0
  35. package/dist/core/types.js.map +1 -0
  36. package/dist/platforms/index.d.ts +26 -0
  37. package/dist/platforms/index.js +52 -0
  38. package/dist/platforms/index.js.map +1 -0
  39. package/dist/platforms/load.d.ts +4 -0
  40. package/dist/platforms/load.js +78 -0
  41. package/dist/platforms/load.js.map +1 -0
  42. package/dist/platforms/schema.d.ts +587 -0
  43. package/dist/platforms/schema.js +64 -0
  44. package/dist/platforms/schema.js.map +1 -0
  45. package/dist/sampling.d.ts +5 -0
  46. package/dist/sampling.js +44 -21
  47. package/dist/sampling.js.map +1 -1
  48. package/dist/server.d.ts +14 -1
  49. package/dist/server.js +164 -40
  50. package/dist/server.js.map +1 -1
  51. package/dist/site-url.d.ts +1 -0
  52. package/dist/site-url.js +4 -0
  53. package/dist/site-url.js.map +1 -0
  54. package/dist/telemetry.d.ts +29 -0
  55. package/dist/telemetry.js +100 -0
  56. package/dist/telemetry.js.map +1 -0
  57. package/dist/tools/assess_hackability.d.ts +2 -29
  58. package/dist/tools/assess_hackability.js +11 -43
  59. package/dist/tools/assess_hackability.js.map +1 -1
  60. package/dist/tools/get_build_plan.d.ts +6 -0
  61. package/dist/tools/get_build_plan.js +16 -0
  62. package/dist/tools/get_build_plan.js.map +1 -0
  63. package/dist/tools/plan_gadget.d.ts +4 -0
  64. package/dist/tools/plan_gadget.js +14 -0
  65. package/dist/tools/plan_gadget.js.map +1 -0
  66. package/dist/tools/propose_hardware.d.ts +5 -0
  67. package/dist/tools/propose_hardware.js +57 -8
  68. package/dist/tools/propose_hardware.js.map +1 -1
  69. package/dist/tools/simulate_assembly.d.ts +315 -0
  70. package/dist/tools/simulate_assembly.js +145 -0
  71. package/dist/tools/simulate_assembly.js.map +1 -0
  72. package/package.json +4 -1
  73. package/platforms.json +779 -0
  74. package/tags.md +1 -0
@@ -0,0 +1,587 @@
1
+ import { z } from "zod";
2
+ export declare const PlatformBoardPart: z.ZodObject<{
3
+ name: z.ZodString;
4
+ qty: z.ZodNumber;
5
+ required: z.ZodBoolean;
6
+ note: z.ZodString;
7
+ buy_url: z.ZodOptional<z.ZodString>;
8
+ search: z.ZodOptional<z.ZodString>;
9
+ est_price_usd: z.ZodOptional<z.ZodNumber>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ note: string;
12
+ name: string;
13
+ required: boolean;
14
+ qty: number;
15
+ buy_url?: string | undefined;
16
+ search?: string | undefined;
17
+ est_price_usd?: number | undefined;
18
+ }, {
19
+ note: string;
20
+ name: string;
21
+ required: boolean;
22
+ qty: number;
23
+ buy_url?: string | undefined;
24
+ search?: string | undefined;
25
+ est_price_usd?: number | undefined;
26
+ }>;
27
+ export declare const PlatformBoard: z.ZodObject<{
28
+ device_id: z.ZodString;
29
+ support: z.ZodEnum<["official", "possible"]>;
30
+ tier: z.ZodString;
31
+ kind: z.ZodString;
32
+ build: z.ZodString;
33
+ eol: z.ZodOptional<z.ZodBoolean>;
34
+ note: z.ZodString;
35
+ features: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodNull]>>;
36
+ parts: z.ZodDefault<z.ZodArray<z.ZodObject<{
37
+ name: z.ZodString;
38
+ qty: z.ZodNumber;
39
+ required: z.ZodBoolean;
40
+ note: z.ZodString;
41
+ buy_url: z.ZodOptional<z.ZodString>;
42
+ search: z.ZodOptional<z.ZodString>;
43
+ est_price_usd: z.ZodOptional<z.ZodNumber>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ note: string;
46
+ name: string;
47
+ required: boolean;
48
+ qty: number;
49
+ buy_url?: string | undefined;
50
+ search?: string | undefined;
51
+ est_price_usd?: number | undefined;
52
+ }, {
53
+ note: string;
54
+ name: string;
55
+ required: boolean;
56
+ qty: number;
57
+ buy_url?: string | undefined;
58
+ search?: string | undefined;
59
+ est_price_usd?: number | undefined;
60
+ }>, "many">>;
61
+ try_saying: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ note: string;
64
+ device_id: string;
65
+ support: "official" | "possible";
66
+ tier: string;
67
+ kind: string;
68
+ build: string;
69
+ features: Record<string, string | number | boolean | null>;
70
+ parts: {
71
+ note: string;
72
+ name: string;
73
+ required: boolean;
74
+ qty: number;
75
+ buy_url?: string | undefined;
76
+ search?: string | undefined;
77
+ est_price_usd?: number | undefined;
78
+ }[];
79
+ try_saying: string[];
80
+ eol?: boolean | undefined;
81
+ }, {
82
+ note: string;
83
+ device_id: string;
84
+ support: "official" | "possible";
85
+ tier: string;
86
+ kind: string;
87
+ build: string;
88
+ features: Record<string, string | number | boolean | null>;
89
+ eol?: boolean | undefined;
90
+ parts?: {
91
+ note: string;
92
+ name: string;
93
+ required: boolean;
94
+ qty: number;
95
+ buy_url?: string | undefined;
96
+ search?: string | undefined;
97
+ est_price_usd?: number | undefined;
98
+ }[] | undefined;
99
+ try_saying?: string[] | undefined;
100
+ }>;
101
+ export declare const Platform: z.ZodObject<{
102
+ id: z.ZodString;
103
+ name: z.ZodString;
104
+ vendor: z.ZodString;
105
+ kind: z.ZodLiteral<"agent-gadget">;
106
+ launched: z.ZodString;
107
+ homepage: z.ZodString;
108
+ sdk_repo: z.ZodString;
109
+ sdk_path: z.ZodString;
110
+ docs_url: z.ZodString;
111
+ license: z.ZodString;
112
+ summary: z.ZodString;
113
+ toolchain: z.ZodString;
114
+ requires: z.ZodArray<z.ZodString, "many">;
115
+ setup_steps: z.ZodArray<z.ZodString, "many">;
116
+ agent_quickstart: z.ZodString;
117
+ commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
118
+ extending: z.ZodOptional<z.ZodString>;
119
+ tiers: z.ZodArray<z.ZodObject<{
120
+ id: z.ZodString;
121
+ label: z.ZodString;
122
+ description: z.ZodString;
123
+ }, "strip", z.ZodTypeAny, {
124
+ id: string;
125
+ description: string;
126
+ label: string;
127
+ }, {
128
+ id: string;
129
+ description: string;
130
+ label: string;
131
+ }>, "many">;
132
+ caveats: z.ZodArray<z.ZodString, "many">;
133
+ terms: z.ZodObject<{
134
+ url: z.ZodString;
135
+ summary: z.ZodString;
136
+ personal_noncommercial_only: z.ZodBoolean;
137
+ max_devices_per_token: z.ZodNumber;
138
+ selling_allowed: z.ZodBoolean;
139
+ revocable: z.ZodBoolean;
140
+ }, "strip", z.ZodTypeAny, {
141
+ summary: string;
142
+ url: string;
143
+ personal_noncommercial_only: boolean;
144
+ max_devices_per_token: number;
145
+ selling_allowed: boolean;
146
+ revocable: boolean;
147
+ }, {
148
+ summary: string;
149
+ url: string;
150
+ personal_noncommercial_only: boolean;
151
+ max_devices_per_token: number;
152
+ selling_allowed: boolean;
153
+ revocable: boolean;
154
+ }>;
155
+ community_url: z.ZodString;
156
+ boards: z.ZodArray<z.ZodObject<{
157
+ device_id: z.ZodString;
158
+ support: z.ZodEnum<["official", "possible"]>;
159
+ tier: z.ZodString;
160
+ kind: z.ZodString;
161
+ build: z.ZodString;
162
+ eol: z.ZodOptional<z.ZodBoolean>;
163
+ note: z.ZodString;
164
+ features: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodNull]>>;
165
+ parts: z.ZodDefault<z.ZodArray<z.ZodObject<{
166
+ name: z.ZodString;
167
+ qty: z.ZodNumber;
168
+ required: z.ZodBoolean;
169
+ note: z.ZodString;
170
+ buy_url: z.ZodOptional<z.ZodString>;
171
+ search: z.ZodOptional<z.ZodString>;
172
+ est_price_usd: z.ZodOptional<z.ZodNumber>;
173
+ }, "strip", z.ZodTypeAny, {
174
+ note: string;
175
+ name: string;
176
+ required: boolean;
177
+ qty: number;
178
+ buy_url?: string | undefined;
179
+ search?: string | undefined;
180
+ est_price_usd?: number | undefined;
181
+ }, {
182
+ note: string;
183
+ name: string;
184
+ required: boolean;
185
+ qty: number;
186
+ buy_url?: string | undefined;
187
+ search?: string | undefined;
188
+ est_price_usd?: number | undefined;
189
+ }>, "many">>;
190
+ try_saying: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
191
+ }, "strip", z.ZodTypeAny, {
192
+ note: string;
193
+ device_id: string;
194
+ support: "official" | "possible";
195
+ tier: string;
196
+ kind: string;
197
+ build: string;
198
+ features: Record<string, string | number | boolean | null>;
199
+ parts: {
200
+ note: string;
201
+ name: string;
202
+ required: boolean;
203
+ qty: number;
204
+ buy_url?: string | undefined;
205
+ search?: string | undefined;
206
+ est_price_usd?: number | undefined;
207
+ }[];
208
+ try_saying: string[];
209
+ eol?: boolean | undefined;
210
+ }, {
211
+ note: string;
212
+ device_id: string;
213
+ support: "official" | "possible";
214
+ tier: string;
215
+ kind: string;
216
+ build: string;
217
+ features: Record<string, string | number | boolean | null>;
218
+ eol?: boolean | undefined;
219
+ parts?: {
220
+ note: string;
221
+ name: string;
222
+ required: boolean;
223
+ qty: number;
224
+ buy_url?: string | undefined;
225
+ search?: string | undefined;
226
+ est_price_usd?: number | undefined;
227
+ }[] | undefined;
228
+ try_saying?: string[] | undefined;
229
+ }>, "many">;
230
+ sources: z.ZodArray<z.ZodString, "many">;
231
+ last_verified: z.ZodString;
232
+ }, "strip", z.ZodTypeAny, {
233
+ id: string;
234
+ name: string;
235
+ last_verified: string;
236
+ kind: "agent-gadget";
237
+ vendor: string;
238
+ launched: string;
239
+ homepage: string;
240
+ sdk_repo: string;
241
+ sdk_path: string;
242
+ docs_url: string;
243
+ license: string;
244
+ summary: string;
245
+ toolchain: string;
246
+ requires: string[];
247
+ setup_steps: string[];
248
+ agent_quickstart: string;
249
+ tiers: {
250
+ id: string;
251
+ description: string;
252
+ label: string;
253
+ }[];
254
+ caveats: string[];
255
+ terms: {
256
+ summary: string;
257
+ url: string;
258
+ personal_noncommercial_only: boolean;
259
+ max_devices_per_token: number;
260
+ selling_allowed: boolean;
261
+ revocable: boolean;
262
+ };
263
+ community_url: string;
264
+ boards: {
265
+ note: string;
266
+ device_id: string;
267
+ support: "official" | "possible";
268
+ tier: string;
269
+ kind: string;
270
+ build: string;
271
+ features: Record<string, string | number | boolean | null>;
272
+ parts: {
273
+ note: string;
274
+ name: string;
275
+ required: boolean;
276
+ qty: number;
277
+ buy_url?: string | undefined;
278
+ search?: string | undefined;
279
+ est_price_usd?: number | undefined;
280
+ }[];
281
+ try_saying: string[];
282
+ eol?: boolean | undefined;
283
+ }[];
284
+ sources: string[];
285
+ commands?: string[] | undefined;
286
+ extending?: string | undefined;
287
+ }, {
288
+ id: string;
289
+ name: string;
290
+ last_verified: string;
291
+ kind: "agent-gadget";
292
+ vendor: string;
293
+ launched: string;
294
+ homepage: string;
295
+ sdk_repo: string;
296
+ sdk_path: string;
297
+ docs_url: string;
298
+ license: string;
299
+ summary: string;
300
+ toolchain: string;
301
+ requires: string[];
302
+ setup_steps: string[];
303
+ agent_quickstart: string;
304
+ tiers: {
305
+ id: string;
306
+ description: string;
307
+ label: string;
308
+ }[];
309
+ caveats: string[];
310
+ terms: {
311
+ summary: string;
312
+ url: string;
313
+ personal_noncommercial_only: boolean;
314
+ max_devices_per_token: number;
315
+ selling_allowed: boolean;
316
+ revocable: boolean;
317
+ };
318
+ community_url: string;
319
+ boards: {
320
+ note: string;
321
+ device_id: string;
322
+ support: "official" | "possible";
323
+ tier: string;
324
+ kind: string;
325
+ build: string;
326
+ features: Record<string, string | number | boolean | null>;
327
+ eol?: boolean | undefined;
328
+ parts?: {
329
+ note: string;
330
+ name: string;
331
+ required: boolean;
332
+ qty: number;
333
+ buy_url?: string | undefined;
334
+ search?: string | undefined;
335
+ est_price_usd?: number | undefined;
336
+ }[] | undefined;
337
+ try_saying?: string[] | undefined;
338
+ }[];
339
+ sources: string[];
340
+ commands?: string[] | undefined;
341
+ extending?: string | undefined;
342
+ }>;
343
+ export declare const Platforms: z.ZodArray<z.ZodObject<{
344
+ id: z.ZodString;
345
+ name: z.ZodString;
346
+ vendor: z.ZodString;
347
+ kind: z.ZodLiteral<"agent-gadget">;
348
+ launched: z.ZodString;
349
+ homepage: z.ZodString;
350
+ sdk_repo: z.ZodString;
351
+ sdk_path: z.ZodString;
352
+ docs_url: z.ZodString;
353
+ license: z.ZodString;
354
+ summary: z.ZodString;
355
+ toolchain: z.ZodString;
356
+ requires: z.ZodArray<z.ZodString, "many">;
357
+ setup_steps: z.ZodArray<z.ZodString, "many">;
358
+ agent_quickstart: z.ZodString;
359
+ commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
360
+ extending: z.ZodOptional<z.ZodString>;
361
+ tiers: z.ZodArray<z.ZodObject<{
362
+ id: z.ZodString;
363
+ label: z.ZodString;
364
+ description: z.ZodString;
365
+ }, "strip", z.ZodTypeAny, {
366
+ id: string;
367
+ description: string;
368
+ label: string;
369
+ }, {
370
+ id: string;
371
+ description: string;
372
+ label: string;
373
+ }>, "many">;
374
+ caveats: z.ZodArray<z.ZodString, "many">;
375
+ terms: z.ZodObject<{
376
+ url: z.ZodString;
377
+ summary: z.ZodString;
378
+ personal_noncommercial_only: z.ZodBoolean;
379
+ max_devices_per_token: z.ZodNumber;
380
+ selling_allowed: z.ZodBoolean;
381
+ revocable: z.ZodBoolean;
382
+ }, "strip", z.ZodTypeAny, {
383
+ summary: string;
384
+ url: string;
385
+ personal_noncommercial_only: boolean;
386
+ max_devices_per_token: number;
387
+ selling_allowed: boolean;
388
+ revocable: boolean;
389
+ }, {
390
+ summary: string;
391
+ url: string;
392
+ personal_noncommercial_only: boolean;
393
+ max_devices_per_token: number;
394
+ selling_allowed: boolean;
395
+ revocable: boolean;
396
+ }>;
397
+ community_url: z.ZodString;
398
+ boards: z.ZodArray<z.ZodObject<{
399
+ device_id: z.ZodString;
400
+ support: z.ZodEnum<["official", "possible"]>;
401
+ tier: z.ZodString;
402
+ kind: z.ZodString;
403
+ build: z.ZodString;
404
+ eol: z.ZodOptional<z.ZodBoolean>;
405
+ note: z.ZodString;
406
+ features: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodNull]>>;
407
+ parts: z.ZodDefault<z.ZodArray<z.ZodObject<{
408
+ name: z.ZodString;
409
+ qty: z.ZodNumber;
410
+ required: z.ZodBoolean;
411
+ note: z.ZodString;
412
+ buy_url: z.ZodOptional<z.ZodString>;
413
+ search: z.ZodOptional<z.ZodString>;
414
+ est_price_usd: z.ZodOptional<z.ZodNumber>;
415
+ }, "strip", z.ZodTypeAny, {
416
+ note: string;
417
+ name: string;
418
+ required: boolean;
419
+ qty: number;
420
+ buy_url?: string | undefined;
421
+ search?: string | undefined;
422
+ est_price_usd?: number | undefined;
423
+ }, {
424
+ note: string;
425
+ name: string;
426
+ required: boolean;
427
+ qty: number;
428
+ buy_url?: string | undefined;
429
+ search?: string | undefined;
430
+ est_price_usd?: number | undefined;
431
+ }>, "many">>;
432
+ try_saying: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
433
+ }, "strip", z.ZodTypeAny, {
434
+ note: string;
435
+ device_id: string;
436
+ support: "official" | "possible";
437
+ tier: string;
438
+ kind: string;
439
+ build: string;
440
+ features: Record<string, string | number | boolean | null>;
441
+ parts: {
442
+ note: string;
443
+ name: string;
444
+ required: boolean;
445
+ qty: number;
446
+ buy_url?: string | undefined;
447
+ search?: string | undefined;
448
+ est_price_usd?: number | undefined;
449
+ }[];
450
+ try_saying: string[];
451
+ eol?: boolean | undefined;
452
+ }, {
453
+ note: string;
454
+ device_id: string;
455
+ support: "official" | "possible";
456
+ tier: string;
457
+ kind: string;
458
+ build: string;
459
+ features: Record<string, string | number | boolean | null>;
460
+ eol?: boolean | undefined;
461
+ parts?: {
462
+ note: string;
463
+ name: string;
464
+ required: boolean;
465
+ qty: number;
466
+ buy_url?: string | undefined;
467
+ search?: string | undefined;
468
+ est_price_usd?: number | undefined;
469
+ }[] | undefined;
470
+ try_saying?: string[] | undefined;
471
+ }>, "many">;
472
+ sources: z.ZodArray<z.ZodString, "many">;
473
+ last_verified: z.ZodString;
474
+ }, "strip", z.ZodTypeAny, {
475
+ id: string;
476
+ name: string;
477
+ last_verified: string;
478
+ kind: "agent-gadget";
479
+ vendor: string;
480
+ launched: string;
481
+ homepage: string;
482
+ sdk_repo: string;
483
+ sdk_path: string;
484
+ docs_url: string;
485
+ license: string;
486
+ summary: string;
487
+ toolchain: string;
488
+ requires: string[];
489
+ setup_steps: string[];
490
+ agent_quickstart: string;
491
+ tiers: {
492
+ id: string;
493
+ description: string;
494
+ label: string;
495
+ }[];
496
+ caveats: string[];
497
+ terms: {
498
+ summary: string;
499
+ url: string;
500
+ personal_noncommercial_only: boolean;
501
+ max_devices_per_token: number;
502
+ selling_allowed: boolean;
503
+ revocable: boolean;
504
+ };
505
+ community_url: string;
506
+ boards: {
507
+ note: string;
508
+ device_id: string;
509
+ support: "official" | "possible";
510
+ tier: string;
511
+ kind: string;
512
+ build: string;
513
+ features: Record<string, string | number | boolean | null>;
514
+ parts: {
515
+ note: string;
516
+ name: string;
517
+ required: boolean;
518
+ qty: number;
519
+ buy_url?: string | undefined;
520
+ search?: string | undefined;
521
+ est_price_usd?: number | undefined;
522
+ }[];
523
+ try_saying: string[];
524
+ eol?: boolean | undefined;
525
+ }[];
526
+ sources: string[];
527
+ commands?: string[] | undefined;
528
+ extending?: string | undefined;
529
+ }, {
530
+ id: string;
531
+ name: string;
532
+ last_verified: string;
533
+ kind: "agent-gadget";
534
+ vendor: string;
535
+ launched: string;
536
+ homepage: string;
537
+ sdk_repo: string;
538
+ sdk_path: string;
539
+ docs_url: string;
540
+ license: string;
541
+ summary: string;
542
+ toolchain: string;
543
+ requires: string[];
544
+ setup_steps: string[];
545
+ agent_quickstart: string;
546
+ tiers: {
547
+ id: string;
548
+ description: string;
549
+ label: string;
550
+ }[];
551
+ caveats: string[];
552
+ terms: {
553
+ summary: string;
554
+ url: string;
555
+ personal_noncommercial_only: boolean;
556
+ max_devices_per_token: number;
557
+ selling_allowed: boolean;
558
+ revocable: boolean;
559
+ };
560
+ community_url: string;
561
+ boards: {
562
+ note: string;
563
+ device_id: string;
564
+ support: "official" | "possible";
565
+ tier: string;
566
+ kind: string;
567
+ build: string;
568
+ features: Record<string, string | number | boolean | null>;
569
+ eol?: boolean | undefined;
570
+ parts?: {
571
+ note: string;
572
+ name: string;
573
+ required: boolean;
574
+ qty: number;
575
+ buy_url?: string | undefined;
576
+ search?: string | undefined;
577
+ est_price_usd?: number | undefined;
578
+ }[] | undefined;
579
+ try_saying?: string[] | undefined;
580
+ }[];
581
+ sources: string[];
582
+ commands?: string[] | undefined;
583
+ extending?: string | undefined;
584
+ }>, "many">;
585
+ export type Platform = z.infer<typeof Platform>;
586
+ export type PlatformBoard = z.infer<typeof PlatformBoard>;
587
+ export type PlatformBoardPart = z.infer<typeof PlatformBoardPart>;
@@ -0,0 +1,64 @@
1
+ import { z } from "zod";
2
+ const KebabId = z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "id must be kebab-case");
3
+ const IsoDate = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "date must be YYYY-MM-DD");
4
+ const FeatureValue = z.union([z.boolean(), z.string(), z.number(), z.null()]);
5
+ export const PlatformBoardPart = z.object({
6
+ name: z.string().min(1),
7
+ qty: z.number().int().min(0),
8
+ required: z.boolean(),
9
+ note: z.string().min(1),
10
+ buy_url: z.string().url().optional(),
11
+ search: z.string().min(1).optional(),
12
+ est_price_usd: z.number().nonnegative().optional(),
13
+ });
14
+ export const PlatformBoard = z.object({
15
+ device_id: z.string().min(1),
16
+ support: z.enum(["official", "possible"]),
17
+ tier: z.string().min(1),
18
+ kind: z.string().min(1),
19
+ build: z.string().min(1),
20
+ eol: z.boolean().optional(),
21
+ note: z.string().min(1),
22
+ features: z.record(FeatureValue),
23
+ parts: z.array(PlatformBoardPart).default([]),
24
+ try_saying: z.array(z.string().min(1)).default([]),
25
+ });
26
+ export const Platform = z.object({
27
+ id: KebabId,
28
+ name: z.string().min(1),
29
+ vendor: z.string().min(1),
30
+ kind: z.literal("agent-gadget"),
31
+ launched: IsoDate,
32
+ homepage: z.string().url(),
33
+ sdk_repo: z.string().url(),
34
+ sdk_path: z.string().min(1),
35
+ docs_url: z.string().url(),
36
+ license: z.string().min(1),
37
+ summary: z.string().min(1),
38
+ toolchain: z.string().min(1),
39
+ requires: z.array(z.string().min(1)),
40
+ setup_steps: z.array(z.string().min(1)),
41
+ agent_quickstart: z.string().min(1),
42
+ commands: z.array(z.string().min(1)).optional(),
43
+ extending: z.string().optional(),
44
+ tiers: z.array(z.object({
45
+ id: z.string().min(1),
46
+ label: z.string().min(1),
47
+ description: z.string().min(1),
48
+ })).min(1),
49
+ caveats: z.array(z.string().min(1)),
50
+ terms: z.object({
51
+ url: z.string().url(),
52
+ summary: z.string().min(1),
53
+ personal_noncommercial_only: z.boolean(),
54
+ max_devices_per_token: z.number().int().positive(),
55
+ selling_allowed: z.boolean(),
56
+ revocable: z.boolean(),
57
+ }),
58
+ community_url: z.string().url(),
59
+ boards: z.array(PlatformBoard).min(1),
60
+ sources: z.array(z.string().url()),
61
+ last_verified: IsoDate,
62
+ });
63
+ export const Platforms = z.array(Platform).min(1);
64
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/platforms/schema.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
+ export interface SamplingDiagnostics {
3
+ apiFallbackError?: string;
4
+ }
2
5
  export declare function sampleJson<T>(opts: {
3
6
  server: Server;
4
7
  systemPrompt: string;
5
8
  userPrompt: string;
6
9
  maxTokens?: number;
10
+ diagnostics?: SamplingDiagnostics;
11
+ hostSamplingTimeoutMs?: number;
7
12
  }): Promise<T | null>;
8
13
  export declare function probeSamplingSupport(server: Server): Promise<boolean>;