@goable-io/sdk 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,1051 @@
1
+ /**
2
+ * GENERATED FILE — do not edit by hand.
3
+ * Source: apps/api/src/openapi/spec.ts (buildOpenApiSpec).
4
+ * Regenerate: pnpm --filter @goable-io/sdk gen
5
+ */
6
+ export interface paths {
7
+ "/v1/health": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ /** Liveness probe */
15
+ get: {
16
+ parameters: {
17
+ query?: never;
18
+ header?: never;
19
+ path?: never;
20
+ cookie?: never;
21
+ };
22
+ requestBody?: never;
23
+ responses: {
24
+ /** @description Process is up */
25
+ 200: {
26
+ headers: {
27
+ [name: string]: unknown;
28
+ };
29
+ content: {
30
+ "application/json": {
31
+ [key: string]: unknown;
32
+ };
33
+ };
34
+ };
35
+ };
36
+ };
37
+ put?: never;
38
+ post?: never;
39
+ delete?: never;
40
+ options?: never;
41
+ head?: never;
42
+ patch?: never;
43
+ trace?: never;
44
+ };
45
+ "/v1/health/ready": {
46
+ parameters: {
47
+ query?: never;
48
+ header?: never;
49
+ path?: never;
50
+ cookie?: never;
51
+ };
52
+ /** Readiness probe (DB + skill lookup + LLM config) */
53
+ get: {
54
+ parameters: {
55
+ query?: never;
56
+ header?: never;
57
+ path?: never;
58
+ cookie?: never;
59
+ };
60
+ requestBody?: never;
61
+ responses: {
62
+ /** @description Ready or degraded */
63
+ 200: {
64
+ headers: {
65
+ [name: string]: unknown;
66
+ };
67
+ content: {
68
+ "application/json": {
69
+ [key: string]: unknown;
70
+ };
71
+ };
72
+ };
73
+ /** @description Unhealthy (critical check failed) */
74
+ 503: {
75
+ headers: {
76
+ [name: string]: unknown;
77
+ };
78
+ content: {
79
+ "application/json": {
80
+ [key: string]: unknown;
81
+ };
82
+ };
83
+ };
84
+ };
85
+ };
86
+ put?: never;
87
+ post?: never;
88
+ delete?: never;
89
+ options?: never;
90
+ head?: never;
91
+ patch?: never;
92
+ trace?: never;
93
+ };
94
+ "/v1/score": {
95
+ parameters: {
96
+ query?: never;
97
+ header?: never;
98
+ path?: never;
99
+ cookie?: never;
100
+ };
101
+ get?: never;
102
+ put?: never;
103
+ /** Score an activity at a location + time window */
104
+ post: {
105
+ parameters: {
106
+ query?: never;
107
+ header?: never;
108
+ path?: never;
109
+ cookie?: never;
110
+ };
111
+ requestBody: {
112
+ content: {
113
+ "application/json": {
114
+ /** @example kitesurfing */
115
+ activity: string;
116
+ location: components["schemas"]["GeoPoint"];
117
+ window?: components["schemas"]["TimeWindow"];
118
+ /** @description L2a probabilistic ensemble (Pro+) */
119
+ ensemble?: boolean;
120
+ members?: number;
121
+ };
122
+ };
123
+ };
124
+ responses: {
125
+ /** @description Score 0-100 + verdict + confidence + eco + calibration_provenance */
126
+ 200: {
127
+ headers: {
128
+ [name: string]: unknown;
129
+ };
130
+ content: {
131
+ "application/json": components["schemas"]["ScoreResponse"];
132
+ };
133
+ };
134
+ /** @description Plan upgrade required (ensemble on Free/Starter) */
135
+ 402: {
136
+ headers: {
137
+ [name: string]: unknown;
138
+ };
139
+ content: {
140
+ "application/json": components["schemas"]["Error"];
141
+ };
142
+ };
143
+ /** @description No profile for activity */
144
+ 404: {
145
+ headers: {
146
+ [name: string]: unknown;
147
+ };
148
+ content: {
149
+ "application/json": components["schemas"]["Error"];
150
+ };
151
+ };
152
+ /** @description Validation error */
153
+ 422: {
154
+ headers: {
155
+ [name: string]: unknown;
156
+ };
157
+ content: {
158
+ "application/json": components["schemas"]["Error"];
159
+ };
160
+ };
161
+ };
162
+ };
163
+ delete?: never;
164
+ options?: never;
165
+ head?: never;
166
+ patch?: never;
167
+ trace?: never;
168
+ };
169
+ "/v1/score/series": {
170
+ parameters: {
171
+ query?: never;
172
+ header?: never;
173
+ path?: never;
174
+ cookie?: never;
175
+ };
176
+ get?: never;
177
+ put?: never;
178
+ /** Time-series scoring across a window */
179
+ post: {
180
+ parameters: {
181
+ query?: never;
182
+ header?: never;
183
+ path?: never;
184
+ cookie?: never;
185
+ };
186
+ requestBody: {
187
+ content: {
188
+ "application/json": {
189
+ activity: string;
190
+ location: components["schemas"]["GeoPoint"];
191
+ window: components["schemas"]["TimeWindow"];
192
+ /** @enum {string} */
193
+ granularity?: "hourly" | "3-hourly" | "daily";
194
+ ensemble?: boolean;
195
+ members?: number;
196
+ };
197
+ };
198
+ };
199
+ responses: {
200
+ /** @description Per-step scores */
201
+ 200: {
202
+ headers: {
203
+ [name: string]: unknown;
204
+ };
205
+ content: {
206
+ "application/json": components["schemas"]["ScoreSeriesResponse"];
207
+ };
208
+ };
209
+ /** @description No profile for activity */
210
+ 404: {
211
+ headers: {
212
+ [name: string]: unknown;
213
+ };
214
+ content: {
215
+ "application/json": components["schemas"]["Error"];
216
+ };
217
+ };
218
+ /** @description Validation error / window too large */
219
+ 422: {
220
+ headers: {
221
+ [name: string]: unknown;
222
+ };
223
+ content: {
224
+ "application/json": components["schemas"]["Error"];
225
+ };
226
+ };
227
+ };
228
+ };
229
+ delete?: never;
230
+ options?: never;
231
+ head?: never;
232
+ patch?: never;
233
+ trace?: never;
234
+ };
235
+ "/v1/score/multi": {
236
+ parameters: {
237
+ query?: never;
238
+ header?: never;
239
+ path?: never;
240
+ cookie?: never;
241
+ };
242
+ get?: never;
243
+ put?: never;
244
+ /** Score multiple activities at one location */
245
+ post: {
246
+ parameters: {
247
+ query?: never;
248
+ header?: never;
249
+ path?: never;
250
+ cookie?: never;
251
+ };
252
+ requestBody: {
253
+ content: {
254
+ "application/json": {
255
+ activities: string[];
256
+ location: components["schemas"]["GeoPoint"];
257
+ window?: components["schemas"]["TimeWindow"];
258
+ ensemble?: boolean;
259
+ members?: number;
260
+ };
261
+ };
262
+ };
263
+ responses: {
264
+ /** @description Per-activity scores */
265
+ 200: {
266
+ headers: {
267
+ [name: string]: unknown;
268
+ };
269
+ content: {
270
+ "application/json": components["schemas"]["ScoreMultiResponse"];
271
+ };
272
+ };
273
+ /** @description Validation error / max activities exceeded */
274
+ 422: {
275
+ headers: {
276
+ [name: string]: unknown;
277
+ };
278
+ content: {
279
+ "application/json": components["schemas"]["Error"];
280
+ };
281
+ };
282
+ };
283
+ };
284
+ delete?: never;
285
+ options?: never;
286
+ head?: never;
287
+ patch?: never;
288
+ trace?: never;
289
+ };
290
+ "/v1/score/historical": {
291
+ parameters: {
292
+ query?: never;
293
+ header?: never;
294
+ path?: never;
295
+ cookie?: never;
296
+ };
297
+ get?: never;
298
+ put?: never;
299
+ /** Historical climatology scoring (Pro+) */
300
+ post: {
301
+ parameters: {
302
+ query?: never;
303
+ header?: never;
304
+ path?: never;
305
+ cookie?: never;
306
+ };
307
+ requestBody: {
308
+ content: {
309
+ "application/json": {
310
+ activity: string;
311
+ location: components["schemas"]["GeoPoint"];
312
+ yearsRange: {
313
+ from: number;
314
+ to: number;
315
+ };
316
+ /** @enum {string} */
317
+ granularity: "month" | "week" | "day-of-year" | "daypart";
318
+ selector: {
319
+ month?: number;
320
+ weekOfYear?: number;
321
+ dayOfYear?: number;
322
+ /** @enum {string} */
323
+ daypart?: "morning" | "midday" | "afternoon" | "evening";
324
+ };
325
+ failOnMarineGap?: boolean;
326
+ };
327
+ };
328
+ };
329
+ responses: {
330
+ /** @description Percentiles + exceedance + verdict frequency */
331
+ 200: {
332
+ headers: {
333
+ [name: string]: unknown;
334
+ };
335
+ content: {
336
+ "application/json": {
337
+ [key: string]: unknown;
338
+ };
339
+ };
340
+ };
341
+ /** @description Requires Pro+ plan */
342
+ 402: {
343
+ headers: {
344
+ [name: string]: unknown;
345
+ };
346
+ content: {
347
+ "application/json": components["schemas"]["Error"];
348
+ };
349
+ };
350
+ /** @description Validation error */
351
+ 422: {
352
+ headers: {
353
+ [name: string]: unknown;
354
+ };
355
+ content: {
356
+ "application/json": components["schemas"]["Error"];
357
+ };
358
+ };
359
+ };
360
+ };
361
+ delete?: never;
362
+ options?: never;
363
+ head?: never;
364
+ patch?: never;
365
+ trace?: never;
366
+ };
367
+ "/v1/score/portfolio": {
368
+ parameters: {
369
+ query?: never;
370
+ header?: never;
371
+ path?: never;
372
+ cookie?: never;
373
+ };
374
+ get?: never;
375
+ put?: never;
376
+ /** Multi-spot portfolio scoring with joint variance */
377
+ post: {
378
+ parameters: {
379
+ query?: never;
380
+ header?: never;
381
+ path?: never;
382
+ cookie?: never;
383
+ };
384
+ requestBody: {
385
+ content: {
386
+ "application/json": {
387
+ spots: {
388
+ location: components["schemas"]["GeoPoint"];
389
+ activity: string;
390
+ weight?: number;
391
+ spotId?: string;
392
+ }[];
393
+ yearsRange: {
394
+ from: number;
395
+ to: number;
396
+ };
397
+ /** @enum {string} */
398
+ granularity: "month" | "week" | "day-of-year" | "daypart";
399
+ selector: {
400
+ month?: number;
401
+ weekOfYear?: number;
402
+ dayOfYear?: number;
403
+ /** @enum {string} */
404
+ daypart?: "morning" | "midday" | "afternoon" | "evening";
405
+ };
406
+ correlation?: {
407
+ /** @enum {string} */
408
+ model?: "none" | "exponential";
409
+ lengthKm?: number;
410
+ };
411
+ cancellationThreshold?: number;
412
+ };
413
+ };
414
+ };
415
+ responses: {
416
+ /** @description Portfolio score + per-spot contributions */
417
+ 200: {
418
+ headers: {
419
+ [name: string]: unknown;
420
+ };
421
+ content: {
422
+ "application/json": {
423
+ [key: string]: unknown;
424
+ };
425
+ };
426
+ };
427
+ /** @description Requires Pro+ plan */
428
+ 402: {
429
+ headers: {
430
+ [name: string]: unknown;
431
+ };
432
+ content: {
433
+ "application/json": components["schemas"]["Error"];
434
+ };
435
+ };
436
+ /** @description Validation error */
437
+ 422: {
438
+ headers: {
439
+ [name: string]: unknown;
440
+ };
441
+ content: {
442
+ "application/json": components["schemas"]["Error"];
443
+ };
444
+ };
445
+ };
446
+ };
447
+ delete?: never;
448
+ options?: never;
449
+ head?: never;
450
+ patch?: never;
451
+ trace?: never;
452
+ };
453
+ "/v1/score/explain-counterfactual": {
454
+ parameters: {
455
+ query?: never;
456
+ header?: never;
457
+ path?: never;
458
+ cookie?: never;
459
+ };
460
+ get?: never;
461
+ put?: never;
462
+ /** Counterfactual analysis (L7): binding constraint + sensitivities + best window/spot */
463
+ post: {
464
+ parameters: {
465
+ query?: never;
466
+ header?: never;
467
+ path?: never;
468
+ cookie?: never;
469
+ };
470
+ requestBody: {
471
+ content: {
472
+ "application/json": {
473
+ activity: string;
474
+ spot: components["schemas"]["GeoPoint"];
475
+ window: components["schemas"]["TimeWindow"];
476
+ include?: {
477
+ marginal_sensitivities?: boolean;
478
+ binding_constraint?: boolean;
479
+ best_window_24h?: boolean;
480
+ best_nearby_spot_km?: number;
481
+ /** @description LLM explanation (Pro+) */
482
+ natural_language?: boolean;
483
+ };
484
+ };
485
+ };
486
+ };
487
+ responses: {
488
+ /** @description binding_constraint + marginal_sensitivities + best_window_24h + best_nearby_spots + optional natural_language */
489
+ 200: {
490
+ headers: {
491
+ [name: string]: unknown;
492
+ };
493
+ content: {
494
+ "application/json": {
495
+ [key: string]: unknown;
496
+ };
497
+ };
498
+ };
499
+ /** @description natural_language=true requires Pro+ */
500
+ 402: {
501
+ headers: {
502
+ [name: string]: unknown;
503
+ };
504
+ content: {
505
+ "application/json": components["schemas"]["Error"];
506
+ };
507
+ };
508
+ /** @description No profile for activity */
509
+ 404: {
510
+ headers: {
511
+ [name: string]: unknown;
512
+ };
513
+ content: {
514
+ "application/json": components["schemas"]["Error"];
515
+ };
516
+ };
517
+ /** @description Validation error */
518
+ 422: {
519
+ headers: {
520
+ [name: string]: unknown;
521
+ };
522
+ content: {
523
+ "application/json": components["schemas"]["Error"];
524
+ };
525
+ };
526
+ };
527
+ };
528
+ delete?: never;
529
+ options?: never;
530
+ head?: never;
531
+ patch?: never;
532
+ trace?: never;
533
+ };
534
+ "/v1/decision": {
535
+ parameters: {
536
+ query?: never;
537
+ header?: never;
538
+ path?: never;
539
+ cookie?: never;
540
+ };
541
+ get?: never;
542
+ put?: never;
543
+ /** Personalized go/no-go decision (L6, Pro+) */
544
+ post: {
545
+ parameters: {
546
+ query?: never;
547
+ header?: never;
548
+ path?: never;
549
+ cookie?: never;
550
+ };
551
+ requestBody: {
552
+ content: {
553
+ "application/json": {
554
+ /** @description SHA256(user_id + secret)[:32], hex ≥32 chars. NEVER PII. */
555
+ user_pseudonym: string;
556
+ activity: string;
557
+ spot: components["schemas"]["GeoPoint"];
558
+ window: components["schemas"]["TimeWindow"];
559
+ user_profile?: {
560
+ /** @enum {string} */
561
+ experience?: "beginner" | "intermediate" | "advanced" | "expert";
562
+ weight_kg?: number;
563
+ /** @enum {string} */
564
+ risk_tolerance?: "conservative" | "moderate" | "aggressive";
565
+ owned_gear?: string[];
566
+ };
567
+ /** @default false */
568
+ training_consent?: boolean;
569
+ };
570
+ };
571
+ };
572
+ responses: {
573
+ /** @description score + verdict + decision block + degraded_mode + advisory_notice */
574
+ 200: {
575
+ headers: {
576
+ [name: string]: unknown;
577
+ };
578
+ content: {
579
+ "application/json": {
580
+ [key: string]: unknown;
581
+ };
582
+ };
583
+ };
584
+ /** @description Requires Pro+ plan */
585
+ 402: {
586
+ headers: {
587
+ [name: string]: unknown;
588
+ };
589
+ content: {
590
+ "application/json": components["schemas"]["Error"];
591
+ };
592
+ };
593
+ /** @description No profile for activity */
594
+ 404: {
595
+ headers: {
596
+ [name: string]: unknown;
597
+ };
598
+ content: {
599
+ "application/json": components["schemas"]["Error"];
600
+ };
601
+ };
602
+ /** @description Validation error */
603
+ 422: {
604
+ headers: {
605
+ [name: string]: unknown;
606
+ };
607
+ content: {
608
+ "application/json": components["schemas"]["Error"];
609
+ };
610
+ };
611
+ };
612
+ };
613
+ delete?: never;
614
+ options?: never;
615
+ head?: never;
616
+ patch?: never;
617
+ trace?: never;
618
+ };
619
+ "/v1/decision/user-data/{pseudonym}": {
620
+ parameters: {
621
+ query?: never;
622
+ header?: never;
623
+ path?: never;
624
+ cookie?: never;
625
+ };
626
+ get?: never;
627
+ put?: never;
628
+ post?: never;
629
+ /** GDPR Art. 17 right-to-erasure for a pseudonym */
630
+ delete: {
631
+ parameters: {
632
+ query?: never;
633
+ header?: never;
634
+ path: {
635
+ pseudonym: string;
636
+ };
637
+ cookie?: never;
638
+ };
639
+ requestBody?: never;
640
+ responses: {
641
+ /** @description Deleted. Headers: X-Anonymized-Rows, X-Anonymized-Decision-Runs, X-Receipt */
642
+ 204: {
643
+ headers: {
644
+ [name: string]: unknown;
645
+ };
646
+ content?: never;
647
+ };
648
+ };
649
+ };
650
+ options?: never;
651
+ head?: never;
652
+ patch?: never;
653
+ trace?: never;
654
+ };
655
+ "/v1/intelligence/explain": {
656
+ parameters: {
657
+ query?: never;
658
+ header?: never;
659
+ path?: never;
660
+ cookie?: never;
661
+ };
662
+ get?: never;
663
+ put?: never;
664
+ /** LLM narrative explanation of a score (L2c, Pro+) */
665
+ post: {
666
+ parameters: {
667
+ query?: never;
668
+ header?: never;
669
+ path?: never;
670
+ cookie?: never;
671
+ };
672
+ requestBody: {
673
+ content: {
674
+ "application/json": {
675
+ location: components["schemas"]["GeoPoint"];
676
+ scoreResult?: components["schemas"]["ScoreResponse"];
677
+ /** Format: uuid */
678
+ session_id?: string;
679
+ /** @enum {string} */
680
+ locale?: "en" | "it";
681
+ /** @enum {string} */
682
+ model?: "claude-haiku-4-5-20251001" | "claude-sonnet-4-6";
683
+ };
684
+ };
685
+ };
686
+ responses: {
687
+ /** @description Natural-language explanation */
688
+ 200: {
689
+ headers: {
690
+ [name: string]: unknown;
691
+ };
692
+ content: {
693
+ "application/json": {
694
+ [key: string]: unknown;
695
+ };
696
+ };
697
+ };
698
+ /** @description Requires Pro+ plan */
699
+ 402: {
700
+ headers: {
701
+ [name: string]: unknown;
702
+ };
703
+ content: {
704
+ "application/json": components["schemas"]["Error"];
705
+ };
706
+ };
707
+ /** @description Validation error */
708
+ 422: {
709
+ headers: {
710
+ [name: string]: unknown;
711
+ };
712
+ content: {
713
+ "application/json": components["schemas"]["Error"];
714
+ };
715
+ };
716
+ };
717
+ };
718
+ delete?: never;
719
+ options?: never;
720
+ head?: never;
721
+ patch?: never;
722
+ trace?: never;
723
+ };
724
+ "/v1/intelligence/briefing": {
725
+ parameters: {
726
+ query?: never;
727
+ header?: never;
728
+ path?: never;
729
+ cookie?: never;
730
+ };
731
+ get?: never;
732
+ put?: never;
733
+ /** LLM multi-slot briefing (L2c, Pro+) */
734
+ post: {
735
+ parameters: {
736
+ query?: never;
737
+ header?: never;
738
+ path?: never;
739
+ cookie?: never;
740
+ };
741
+ requestBody: {
742
+ content: {
743
+ "application/json": {
744
+ activity: string;
745
+ slots: {
746
+ [key: string]: unknown;
747
+ }[];
748
+ /** @enum {string} */
749
+ locale?: "en" | "it";
750
+ /** @enum {string} */
751
+ model?: "claude-haiku-4-5-20251001" | "claude-sonnet-4-6";
752
+ };
753
+ };
754
+ };
755
+ responses: {
756
+ /** @description Briefing text */
757
+ 200: {
758
+ headers: {
759
+ [name: string]: unknown;
760
+ };
761
+ content: {
762
+ "application/json": {
763
+ [key: string]: unknown;
764
+ };
765
+ };
766
+ };
767
+ /** @description Requires Pro+ plan */
768
+ 402: {
769
+ headers: {
770
+ [name: string]: unknown;
771
+ };
772
+ content: {
773
+ "application/json": components["schemas"]["Error"];
774
+ };
775
+ };
776
+ /** @description Validation error */
777
+ 422: {
778
+ headers: {
779
+ [name: string]: unknown;
780
+ };
781
+ content: {
782
+ "application/json": components["schemas"]["Error"];
783
+ };
784
+ };
785
+ };
786
+ };
787
+ delete?: never;
788
+ options?: never;
789
+ head?: never;
790
+ patch?: never;
791
+ trace?: never;
792
+ };
793
+ "/v1/projections": {
794
+ parameters: {
795
+ query?: never;
796
+ header?: never;
797
+ path?: never;
798
+ cookie?: never;
799
+ };
800
+ get?: never;
801
+ put?: never;
802
+ /** Climate-decadal activity viability projection (Scale) */
803
+ post: {
804
+ parameters: {
805
+ query?: never;
806
+ header?: never;
807
+ path?: never;
808
+ cookie?: never;
809
+ };
810
+ requestBody: {
811
+ content: {
812
+ "application/json": {
813
+ spot: {
814
+ location: components["schemas"]["GeoPoint"];
815
+ activity: string;
816
+ spotId?: string;
817
+ };
818
+ scenarios: ("SSP1-2.6" | "SSP2-4.5" | "SSP3-7.0" | "SSP5-8.5")[];
819
+ horizonDecades?: string[];
820
+ /** @enum {string} */
821
+ baselineDecade?: "2020s" | "2030s";
822
+ };
823
+ };
824
+ };
825
+ responses: {
826
+ /** @description Per-decade projection distributions */
827
+ 200: {
828
+ headers: {
829
+ [name: string]: unknown;
830
+ };
831
+ content: {
832
+ "application/json": {
833
+ [key: string]: unknown;
834
+ };
835
+ };
836
+ };
837
+ /** @description Requires Scale plan */
838
+ 402: {
839
+ headers: {
840
+ [name: string]: unknown;
841
+ };
842
+ content: {
843
+ "application/json": components["schemas"]["Error"];
844
+ };
845
+ };
846
+ /** @description Validation error */
847
+ 422: {
848
+ headers: {
849
+ [name: string]: unknown;
850
+ };
851
+ content: {
852
+ "application/json": components["schemas"]["Error"];
853
+ };
854
+ };
855
+ };
856
+ };
857
+ delete?: never;
858
+ options?: never;
859
+ head?: never;
860
+ patch?: never;
861
+ trace?: never;
862
+ };
863
+ "/v1/underwriting/quote": {
864
+ parameters: {
865
+ query?: never;
866
+ header?: never;
867
+ path?: never;
868
+ cookie?: never;
869
+ };
870
+ get?: never;
871
+ put?: never;
872
+ /** Parametric underwriting quote (Scale) */
873
+ post: {
874
+ parameters: {
875
+ query?: never;
876
+ header?: never;
877
+ path?: never;
878
+ cookie?: never;
879
+ };
880
+ requestBody: {
881
+ content: {
882
+ "application/json": {
883
+ spot?: {
884
+ location: components["schemas"]["GeoPoint"];
885
+ activity: string;
886
+ spotId?: string;
887
+ };
888
+ portfolio?: {
889
+ location: components["schemas"]["GeoPoint"];
890
+ activity: string;
891
+ spotId?: string;
892
+ }[];
893
+ coverageWindow: {
894
+ monthFrom: number;
895
+ dayFrom: number;
896
+ monthTo: number;
897
+ dayTo: number;
898
+ } & {
899
+ [key: string]: unknown;
900
+ };
901
+ payout?: {
902
+ amount: number;
903
+ /** @enum {string} */
904
+ currency: "EUR" | "USD" | "GBP" | "CHF";
905
+ };
906
+ } & {
907
+ [key: string]: unknown;
908
+ };
909
+ };
910
+ };
911
+ responses: {
912
+ /** @description Premium + bindable policy terms */
913
+ 200: {
914
+ headers: {
915
+ [name: string]: unknown;
916
+ };
917
+ content: {
918
+ "application/json": {
919
+ [key: string]: unknown;
920
+ };
921
+ };
922
+ };
923
+ /** @description Requires Scale plan */
924
+ 402: {
925
+ headers: {
926
+ [name: string]: unknown;
927
+ };
928
+ content: {
929
+ "application/json": components["schemas"]["Error"];
930
+ };
931
+ };
932
+ /** @description Validation error */
933
+ 422: {
934
+ headers: {
935
+ [name: string]: unknown;
936
+ };
937
+ content: {
938
+ "application/json": components["schemas"]["Error"];
939
+ };
940
+ };
941
+ };
942
+ };
943
+ delete?: never;
944
+ options?: never;
945
+ head?: never;
946
+ patch?: never;
947
+ trace?: never;
948
+ };
949
+ }
950
+ export type webhooks = Record<string, never>;
951
+ export interface components {
952
+ schemas: {
953
+ GeoPoint: {
954
+ /** @example 36.0133 */
955
+ lat: number;
956
+ /** @example -5.6044 */
957
+ lng: number;
958
+ };
959
+ TimeWindow: {
960
+ /** Format: date-time */
961
+ from: string;
962
+ /** Format: date-time */
963
+ to: string;
964
+ };
965
+ Error: {
966
+ /** @description Machine-readable error code */
967
+ error: string;
968
+ message?: string;
969
+ issues?: {
970
+ [key: string]: unknown;
971
+ }[];
972
+ detail?: {
973
+ [key: string]: unknown;
974
+ };
975
+ };
976
+ /** @enum {string} */
977
+ Verdict: "unsafe" | "poor" | "marginal" | "fair" | "favorable" | "excellent";
978
+ ScoreResponse: {
979
+ score: number;
980
+ verdict: components["schemas"]["Verdict"];
981
+ confidence: number;
982
+ breakdown: ({
983
+ dimension?: string;
984
+ score?: number;
985
+ weight?: number;
986
+ contribution?: number;
987
+ } & {
988
+ [key: string]: unknown;
989
+ })[];
990
+ physics: {
991
+ [key: string]: unknown;
992
+ };
993
+ alerts: ({
994
+ code?: string;
995
+ severity?: string;
996
+ message?: string;
997
+ } & {
998
+ [key: string]: unknown;
999
+ })[];
1000
+ eco: {
1001
+ [key: string]: unknown;
1002
+ };
1003
+ /** @description Present on ensemble requests */
1004
+ distribution?: {
1005
+ [key: string]: unknown;
1006
+ };
1007
+ confidenceDetail?: {
1008
+ [key: string]: unknown;
1009
+ };
1010
+ calibration_provenance?: {
1011
+ [key: string]: unknown;
1012
+ };
1013
+ assimilation?: {
1014
+ [key: string]: unknown;
1015
+ };
1016
+ } & {
1017
+ [key: string]: unknown;
1018
+ };
1019
+ ScoreSeriesResponse: {
1020
+ series: ({
1021
+ /** Format: date-time */
1022
+ at?: string;
1023
+ score: number;
1024
+ verdict: components["schemas"]["Verdict"];
1025
+ } & {
1026
+ [key: string]: unknown;
1027
+ })[];
1028
+ } & {
1029
+ [key: string]: unknown;
1030
+ };
1031
+ ScoreMultiResponse: {
1032
+ results: ({
1033
+ activity: string;
1034
+ score: number;
1035
+ verdict: components["schemas"]["Verdict"];
1036
+ } & {
1037
+ [key: string]: unknown;
1038
+ })[];
1039
+ } & {
1040
+ [key: string]: unknown;
1041
+ };
1042
+ };
1043
+ responses: never;
1044
+ parameters: never;
1045
+ requestBodies: never;
1046
+ headers: never;
1047
+ pathItems: never;
1048
+ }
1049
+ export type $defs = Record<string, never>;
1050
+ export type operations = Record<string, never>;
1051
+ //# sourceMappingURL=api.d.ts.map