@clone-ai/prompt-prediction 0.7.0-bootstrap.0 → 0.7.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/CONTRIBUTING.md +52 -0
  3. package/LICENSE +21 -0
  4. package/README.md +119 -1
  5. package/SECURITY.md +9 -0
  6. package/dist/assistant-ui.d.ts +5 -0
  7. package/dist/assistant-ui.js +26 -0
  8. package/dist/clone-mode.d.ts +64 -0
  9. package/dist/clone-mode.js +156 -0
  10. package/dist/controller.d.ts +61 -0
  11. package/dist/controller.js +155 -0
  12. package/dist/deadline.d.ts +2 -0
  13. package/dist/deadline.js +25 -0
  14. package/dist/feedback.d.ts +50 -0
  15. package/dist/feedback.js +118 -0
  16. package/dist/generated/api-types.d.ts +1663 -0
  17. package/dist/generated/api-types.js +5 -0
  18. package/dist/http.d.ts +8 -0
  19. package/dist/http.js +35 -0
  20. package/dist/index.d.ts +9 -0
  21. package/dist/index.js +4 -0
  22. package/dist/react.d.ts +50 -0
  23. package/dist/react.js +147 -0
  24. package/dist/server.d.ts +33 -0
  25. package/dist/server.js +93 -0
  26. package/dist/transport.d.ts +15 -0
  27. package/dist/transport.js +42 -0
  28. package/dist/types.d.ts +8 -0
  29. package/dist/types.js +1 -0
  30. package/docs/agent-integration.md +122 -0
  31. package/docs/api.md +69 -0
  32. package/docs/billing.md +53 -0
  33. package/docs/browser-onboarding.md +69 -0
  34. package/docs/clone-mode.md +40 -0
  35. package/docs/context-mapping.md +28 -0
  36. package/docs/data-and-service.md +25 -0
  37. package/docs/developer-apps.md +87 -0
  38. package/docs/feedback.md +70 -0
  39. package/docs/pilot-validation.md +35 -0
  40. package/docs/releases.md +88 -0
  41. package/docs/reliability.md +33 -0
  42. package/docs/start.md +91 -0
  43. package/examples/react/composer-events.ts +3 -0
  44. package/examples/react/demo.tsx +195 -0
  45. package/examples/react/index.html +12 -0
  46. package/examples/react/mode-demo.tsx +95 -0
  47. package/examples/react/pilot-observations.ts +57 -0
  48. package/examples/react/vite.config.ts +123 -0
  49. package/openapi.json +2268 -0
  50. package/package.json +99 -4
  51. package/playwright.config.ts +13 -0
  52. package/release-manifest.json +63 -0
  53. package/scripts/create-example.mjs +31 -0
  54. package/scripts/pilot-metrics.mjs +91 -0
  55. package/tests/browser/clone-mode-options.tsx +38 -0
  56. package/tests/browser/clone-mode.spec.ts +68 -0
  57. package/tests/browser/composer.spec.ts +238 -0
package/openapi.json ADDED
@@ -0,0 +1,2268 @@
1
+ {
2
+ "components": {
3
+ "schemas": {
4
+ "ArtifactContext": {
5
+ "additionalProperties": false,
6
+ "properties": {
7
+ "id": {
8
+ "maxLength": 200,
9
+ "minLength": 1,
10
+ "title": "Id",
11
+ "type": "string"
12
+ },
13
+ "kind": {
14
+ "enum": [
15
+ "video",
16
+ "slides",
17
+ "other"
18
+ ],
19
+ "title": "Kind",
20
+ "type": "string"
21
+ },
22
+ "revision": {
23
+ "maxLength": 200,
24
+ "minLength": 1,
25
+ "title": "Revision",
26
+ "type": "string"
27
+ },
28
+ "selection": {
29
+ "default": "",
30
+ "maxLength": 1000,
31
+ "title": "Selection",
32
+ "type": "string"
33
+ },
34
+ "summary": {
35
+ "default": "",
36
+ "maxLength": 8000,
37
+ "title": "Summary",
38
+ "type": "string"
39
+ }
40
+ },
41
+ "required": [
42
+ "kind",
43
+ "id",
44
+ "revision"
45
+ ],
46
+ "title": "ArtifactContext",
47
+ "type": "object"
48
+ },
49
+ "CancelOutput": {
50
+ "additionalProperties": false,
51
+ "properties": {
52
+ "prediction_units": {
53
+ "maximum": 1.0,
54
+ "minimum": 0.0,
55
+ "title": "Prediction Units",
56
+ "type": "integer"
57
+ },
58
+ "status": {
59
+ "enum": [
60
+ "cancelled",
61
+ "suggested",
62
+ "abstained",
63
+ "failed"
64
+ ],
65
+ "title": "Status",
66
+ "type": "string"
67
+ }
68
+ },
69
+ "required": [
70
+ "status",
71
+ "prediction_units"
72
+ ],
73
+ "title": "CancelOutput",
74
+ "type": "object"
75
+ },
76
+ "ConnectionExchange": {
77
+ "additionalProperties": false,
78
+ "properties": {
79
+ "code": {
80
+ "maxLength": 160,
81
+ "minLength": 32,
82
+ "title": "Code",
83
+ "type": "string"
84
+ },
85
+ "code_verifier": {
86
+ "maxLength": 128,
87
+ "minLength": 43,
88
+ "pattern": "^[A-Za-z0-9._~-]+$",
89
+ "title": "Code Verifier",
90
+ "type": "string"
91
+ },
92
+ "redirect_uri": {
93
+ "maxLength": 2048,
94
+ "minLength": 1,
95
+ "title": "Redirect Uri",
96
+ "type": "string"
97
+ },
98
+ "request_id": {
99
+ "maxLength": 80,
100
+ "minLength": 1,
101
+ "pattern": "^[A-Za-z0-9._:-]+$",
102
+ "title": "Request Id",
103
+ "type": "string"
104
+ },
105
+ "user_id": {
106
+ "maxLength": 200,
107
+ "minLength": 1,
108
+ "title": "User Id",
109
+ "type": "string"
110
+ }
111
+ },
112
+ "required": [
113
+ "request_id",
114
+ "user_id",
115
+ "code",
116
+ "code_verifier",
117
+ "redirect_uri"
118
+ ],
119
+ "title": "ConnectionExchange",
120
+ "type": "object"
121
+ },
122
+ "ConnectionExchangeOutput": {
123
+ "additionalProperties": false,
124
+ "properties": {
125
+ "connection_id": {
126
+ "title": "Connection Id",
127
+ "type": "string"
128
+ },
129
+ "grant_revision": {
130
+ "title": "Grant Revision",
131
+ "type": "integer"
132
+ },
133
+ "profile_revision": {
134
+ "title": "Profile Revision",
135
+ "type": "string"
136
+ },
137
+ "status": {
138
+ "const": "connected",
139
+ "title": "Status",
140
+ "type": "string"
141
+ }
142
+ },
143
+ "required": [
144
+ "connection_id",
145
+ "profile_revision",
146
+ "grant_revision",
147
+ "status"
148
+ ],
149
+ "title": "ConnectionExchangeOutput",
150
+ "type": "object"
151
+ },
152
+ "ConnectionStart": {
153
+ "additionalProperties": false,
154
+ "properties": {
155
+ "code_challenge": {
156
+ "pattern": "^[A-Za-z0-9_-]{43}$",
157
+ "title": "Code Challenge",
158
+ "type": "string"
159
+ },
160
+ "redirect_uri": {
161
+ "maxLength": 2048,
162
+ "minLength": 1,
163
+ "title": "Redirect Uri",
164
+ "type": "string"
165
+ },
166
+ "state": {
167
+ "maxLength": 160,
168
+ "minLength": 32,
169
+ "pattern": "^[A-Za-z0-9_-]+$",
170
+ "title": "State",
171
+ "type": "string"
172
+ },
173
+ "user_id": {
174
+ "maxLength": 200,
175
+ "minLength": 1,
176
+ "title": "User Id",
177
+ "type": "string"
178
+ }
179
+ },
180
+ "required": [
181
+ "user_id",
182
+ "redirect_uri",
183
+ "state",
184
+ "code_challenge"
185
+ ],
186
+ "title": "ConnectionStart",
187
+ "type": "object"
188
+ },
189
+ "ConnectionStartOutput": {
190
+ "additionalProperties": false,
191
+ "properties": {
192
+ "authorize_url": {
193
+ "title": "Authorize Url",
194
+ "type": "string"
195
+ },
196
+ "expires_at": {
197
+ "title": "Expires At",
198
+ "type": "integer"
199
+ },
200
+ "request_id": {
201
+ "title": "Request Id",
202
+ "type": "string"
203
+ }
204
+ },
205
+ "required": [
206
+ "request_id",
207
+ "expires_at",
208
+ "authorize_url"
209
+ ],
210
+ "title": "ConnectionStartOutput",
211
+ "type": "object"
212
+ },
213
+ "Draft": {
214
+ "additionalProperties": false,
215
+ "properties": {
216
+ "revision": {
217
+ "minimum": 0.0,
218
+ "title": "Revision",
219
+ "type": "integer"
220
+ },
221
+ "text": {
222
+ "maxLength": 8000,
223
+ "title": "Text",
224
+ "type": "string"
225
+ }
226
+ },
227
+ "required": [
228
+ "text",
229
+ "revision"
230
+ ],
231
+ "title": "Draft",
232
+ "type": "object"
233
+ },
234
+ "ErrorDetail": {
235
+ "additionalProperties": false,
236
+ "properties": {
237
+ "code": {
238
+ "title": "Code",
239
+ "type": "string"
240
+ }
241
+ },
242
+ "required": [
243
+ "code"
244
+ ],
245
+ "title": "ErrorDetail",
246
+ "type": "object"
247
+ },
248
+ "ErrorOutput": {
249
+ "additionalProperties": false,
250
+ "properties": {
251
+ "detail": {
252
+ "$ref": "#/components/schemas/ErrorDetail"
253
+ }
254
+ },
255
+ "required": [
256
+ "detail"
257
+ ],
258
+ "title": "ErrorOutput",
259
+ "type": "object"
260
+ },
261
+ "EventInput": {
262
+ "additionalProperties": false,
263
+ "properties": {
264
+ "content_opt_in": {
265
+ "default": false,
266
+ "title": "Content Opt In",
267
+ "type": "boolean"
268
+ },
269
+ "event_id": {
270
+ "maxLength": 80,
271
+ "minLength": 1,
272
+ "pattern": "^[A-Za-z0-9._:-]+$",
273
+ "title": "Event Id",
274
+ "type": "string"
275
+ },
276
+ "final_text": {
277
+ "default": "",
278
+ "maxLength": 4000,
279
+ "title": "Final Text",
280
+ "type": "string"
281
+ },
282
+ "guidance": {
283
+ "default": "",
284
+ "maxLength": 1000,
285
+ "title": "Guidance",
286
+ "type": "string"
287
+ },
288
+ "kind": {
289
+ "enum": [
290
+ "presented",
291
+ "accepted",
292
+ "edited",
293
+ "dismissed",
294
+ "submitted",
295
+ "rejected",
296
+ "feedback",
297
+ "outcome"
298
+ ],
299
+ "title": "Kind",
300
+ "type": "string"
301
+ },
302
+ "outcome": {
303
+ "anyOf": [
304
+ {
305
+ "enum": [
306
+ "succeeded",
307
+ "failed"
308
+ ],
309
+ "type": "string"
310
+ },
311
+ {
312
+ "type": "null"
313
+ }
314
+ ],
315
+ "title": "Outcome"
316
+ },
317
+ "rating": {
318
+ "anyOf": [
319
+ {
320
+ "enum": [
321
+ "positive",
322
+ "negative"
323
+ ],
324
+ "type": "string"
325
+ },
326
+ {
327
+ "type": "null"
328
+ }
329
+ ],
330
+ "title": "Rating"
331
+ },
332
+ "reason": {
333
+ "anyOf": [
334
+ {
335
+ "enum": [
336
+ "too_long",
337
+ "too_short",
338
+ "wrong_intent",
339
+ "wrong_language",
340
+ "incorrect",
341
+ "other"
342
+ ],
343
+ "type": "string"
344
+ },
345
+ {
346
+ "type": "null"
347
+ }
348
+ ],
349
+ "title": "Reason"
350
+ },
351
+ "request_id": {
352
+ "maxLength": 80,
353
+ "minLength": 1,
354
+ "pattern": "^[A-Za-z0-9._:-]+$",
355
+ "title": "Request Id",
356
+ "type": "string"
357
+ },
358
+ "submission_origin": {
359
+ "anyOf": [
360
+ {
361
+ "enum": [
362
+ "accepted_prediction",
363
+ "edited_prediction",
364
+ "agent"
365
+ ],
366
+ "type": "string"
367
+ },
368
+ {
369
+ "type": "null"
370
+ }
371
+ ],
372
+ "title": "Submission Origin"
373
+ },
374
+ "user_id": {
375
+ "maxLength": 200,
376
+ "minLength": 1,
377
+ "title": "User Id",
378
+ "type": "string"
379
+ }
380
+ },
381
+ "required": [
382
+ "event_id",
383
+ "request_id",
384
+ "user_id",
385
+ "kind"
386
+ ],
387
+ "title": "EventInput",
388
+ "type": "object"
389
+ },
390
+ "EventOutput": {
391
+ "additionalProperties": false,
392
+ "properties": {
393
+ "status": {
394
+ "const": "recorded",
395
+ "title": "Status",
396
+ "type": "string"
397
+ }
398
+ },
399
+ "required": [
400
+ "status"
401
+ ],
402
+ "title": "EventOutput",
403
+ "type": "object"
404
+ },
405
+ "FeedbackClearOutput": {
406
+ "additionalProperties": false,
407
+ "properties": {
408
+ "deleted": {
409
+ "minimum": 0.0,
410
+ "title": "Deleted",
411
+ "type": "integer"
412
+ },
413
+ "status": {
414
+ "const": "cleared",
415
+ "title": "Status",
416
+ "type": "string"
417
+ }
418
+ },
419
+ "required": [
420
+ "status",
421
+ "deleted"
422
+ ],
423
+ "title": "FeedbackClearOutput",
424
+ "type": "object"
425
+ },
426
+ "HTTPValidationError": {
427
+ "properties": {
428
+ "detail": {
429
+ "items": {
430
+ "$ref": "#/components/schemas/ValidationError"
431
+ },
432
+ "title": "Detail",
433
+ "type": "array"
434
+ }
435
+ },
436
+ "title": "HTTPValidationError",
437
+ "type": "object"
438
+ },
439
+ "Message": {
440
+ "additionalProperties": false,
441
+ "properties": {
442
+ "content": {
443
+ "maxLength": 8000,
444
+ "title": "Content",
445
+ "type": "string"
446
+ },
447
+ "origin": {
448
+ "default": "unknown",
449
+ "enum": [
450
+ "human",
451
+ "agent",
452
+ "accepted_prediction",
453
+ "edited_prediction",
454
+ "unknown"
455
+ ],
456
+ "title": "Origin",
457
+ "type": "string"
458
+ },
459
+ "role": {
460
+ "enum": [
461
+ "user",
462
+ "assistant",
463
+ "tool"
464
+ ],
465
+ "title": "Role",
466
+ "type": "string"
467
+ }
468
+ },
469
+ "required": [
470
+ "role",
471
+ "content"
472
+ ],
473
+ "title": "Message",
474
+ "type": "object"
475
+ },
476
+ "PredictionInput": {
477
+ "additionalProperties": false,
478
+ "properties": {
479
+ "artifact": {
480
+ "anyOf": [
481
+ {
482
+ "$ref": "#/components/schemas/ArtifactContext"
483
+ },
484
+ {
485
+ "type": "null"
486
+ }
487
+ ]
488
+ },
489
+ "connection_id": {
490
+ "anyOf": [
491
+ {
492
+ "maxLength": 80,
493
+ "minLength": 1,
494
+ "pattern": "^[A-Za-z0-9._:-]+$",
495
+ "type": "string"
496
+ },
497
+ {
498
+ "type": "null"
499
+ }
500
+ ],
501
+ "title": "Connection Id"
502
+ },
503
+ "context_revision": {
504
+ "maxLength": 200,
505
+ "minLength": 1,
506
+ "title": "Context Revision",
507
+ "type": "string"
508
+ },
509
+ "draft": {
510
+ "$ref": "#/components/schemas/Draft"
511
+ },
512
+ "feedback_enabled": {
513
+ "default": true,
514
+ "title": "Feedback Enabled",
515
+ "type": "boolean"
516
+ },
517
+ "language": {
518
+ "default": "auto",
519
+ "maxLength": 40,
520
+ "minLength": 2,
521
+ "title": "Language",
522
+ "type": "string"
523
+ },
524
+ "messages": {
525
+ "items": {
526
+ "$ref": "#/components/schemas/Message"
527
+ },
528
+ "maxItems": 30,
529
+ "title": "Messages",
530
+ "type": "array"
531
+ },
532
+ "mode": {
533
+ "enum": [
534
+ "complete_draft",
535
+ "next_prompt"
536
+ ],
537
+ "title": "Mode",
538
+ "type": "string"
539
+ },
540
+ "request_id": {
541
+ "maxLength": 80,
542
+ "minLength": 1,
543
+ "pattern": "^[A-Za-z0-9._:-]+$",
544
+ "title": "Request Id",
545
+ "type": "string"
546
+ },
547
+ "session_id": {
548
+ "maxLength": 80,
549
+ "minLength": 1,
550
+ "pattern": "^[A-Za-z0-9._:-]+$",
551
+ "title": "Session Id",
552
+ "type": "string"
553
+ },
554
+ "user_id": {
555
+ "maxLength": 200,
556
+ "minLength": 1,
557
+ "title": "User Id",
558
+ "type": "string"
559
+ },
560
+ "user_preferences": {
561
+ "default": "",
562
+ "maxLength": 4000,
563
+ "title": "User Preferences",
564
+ "type": "string"
565
+ }
566
+ },
567
+ "required": [
568
+ "request_id",
569
+ "user_id",
570
+ "session_id",
571
+ "mode",
572
+ "draft",
573
+ "context_revision"
574
+ ],
575
+ "title": "PredictionInput",
576
+ "type": "object"
577
+ },
578
+ "PredictionOutput": {
579
+ "additionalProperties": false,
580
+ "properties": {
581
+ "completion": {
582
+ "title": "Completion",
583
+ "type": "string"
584
+ },
585
+ "connection_id": {
586
+ "anyOf": [
587
+ {
588
+ "type": "string"
589
+ },
590
+ {
591
+ "type": "null"
592
+ }
593
+ ],
594
+ "title": "Connection Id"
595
+ },
596
+ "context_revision": {
597
+ "title": "Context Revision",
598
+ "type": "string"
599
+ },
600
+ "context_truncated": {
601
+ "title": "Context Truncated",
602
+ "type": "boolean"
603
+ },
604
+ "draft_revision": {
605
+ "title": "Draft Revision",
606
+ "type": "integer"
607
+ },
608
+ "expires_at": {
609
+ "title": "Expires At",
610
+ "type": "integer"
611
+ },
612
+ "feedback_revision": {
613
+ "default": "",
614
+ "title": "Feedback Revision",
615
+ "type": "string"
616
+ },
617
+ "grant_revision": {
618
+ "title": "Grant Revision",
619
+ "type": "integer"
620
+ },
621
+ "prediction_id": {
622
+ "title": "Prediction Id",
623
+ "type": "string"
624
+ },
625
+ "profile_revision": {
626
+ "title": "Profile Revision",
627
+ "type": "string"
628
+ },
629
+ "request_id": {
630
+ "title": "Request Id",
631
+ "type": "string"
632
+ },
633
+ "session_id": {
634
+ "title": "Session Id",
635
+ "type": "string"
636
+ },
637
+ "status": {
638
+ "enum": [
639
+ "suggested",
640
+ "abstained"
641
+ ],
642
+ "title": "Status",
643
+ "type": "string"
644
+ },
645
+ "usage": {
646
+ "$ref": "#/components/schemas/PredictionUsage"
647
+ }
648
+ },
649
+ "required": [
650
+ "request_id",
651
+ "prediction_id",
652
+ "session_id",
653
+ "connection_id",
654
+ "draft_revision",
655
+ "context_revision",
656
+ "profile_revision",
657
+ "grant_revision",
658
+ "status",
659
+ "completion",
660
+ "expires_at",
661
+ "context_truncated",
662
+ "usage"
663
+ ],
664
+ "title": "PredictionOutput",
665
+ "type": "object"
666
+ },
667
+ "PredictionUsage": {
668
+ "additionalProperties": false,
669
+ "properties": {
670
+ "prediction_units": {
671
+ "maximum": 1.0,
672
+ "minimum": 0.0,
673
+ "title": "Prediction Units",
674
+ "type": "integer"
675
+ }
676
+ },
677
+ "required": [
678
+ "prediction_units"
679
+ ],
680
+ "title": "PredictionUsage",
681
+ "type": "object"
682
+ },
683
+ "RevokeOutput": {
684
+ "additionalProperties": false,
685
+ "properties": {
686
+ "status": {
687
+ "const": "revoked",
688
+ "title": "Status",
689
+ "type": "string"
690
+ }
691
+ },
692
+ "required": [
693
+ "status"
694
+ ],
695
+ "title": "RevokeOutput",
696
+ "type": "object"
697
+ },
698
+ "SubjectRequest": {
699
+ "additionalProperties": false,
700
+ "properties": {
701
+ "user_id": {
702
+ "maxLength": 200,
703
+ "minLength": 1,
704
+ "title": "User Id",
705
+ "type": "string"
706
+ }
707
+ },
708
+ "required": [
709
+ "user_id"
710
+ ],
711
+ "title": "SubjectRequest",
712
+ "type": "object"
713
+ },
714
+ "UsageOutput": {
715
+ "additionalProperties": false,
716
+ "properties": {
717
+ "app_id": {
718
+ "title": "App Id",
719
+ "type": "string"
720
+ },
721
+ "billing_model": {
722
+ "default": "manual",
723
+ "title": "Billing Model",
724
+ "type": "string"
725
+ },
726
+ "cap_scope": {
727
+ "default": "app",
728
+ "title": "Cap Scope",
729
+ "type": "string"
730
+ },
731
+ "currency": {
732
+ "const": "USD",
733
+ "title": "Currency",
734
+ "type": "string"
735
+ },
736
+ "invoice_cents": {
737
+ "minimum": 0.0,
738
+ "title": "Invoice Cents",
739
+ "type": "integer"
740
+ },
741
+ "month": {
742
+ "title": "Month",
743
+ "type": "string"
744
+ },
745
+ "monthly_cap_cents": {
746
+ "anyOf": [
747
+ {
748
+ "minimum": 0.0,
749
+ "type": "integer"
750
+ },
751
+ {
752
+ "type": "null"
753
+ }
754
+ ],
755
+ "description": "Null means no spending hard limit.",
756
+ "title": "Monthly Cap Cents"
757
+ },
758
+ "paid_prediction_units": {
759
+ "minimum": 0.0,
760
+ "title": "Paid Prediction Units",
761
+ "type": "integer"
762
+ },
763
+ "plan": {
764
+ "enum": [
765
+ "sandbox",
766
+ "paid"
767
+ ],
768
+ "title": "Plan",
769
+ "type": "string"
770
+ },
771
+ "prediction_units": {
772
+ "minimum": 0.0,
773
+ "title": "Prediction Units",
774
+ "type": "integer"
775
+ },
776
+ "reserved_units": {
777
+ "minimum": 0.0,
778
+ "title": "Reserved Units",
779
+ "type": "integer"
780
+ },
781
+ "sandbox_remaining": {
782
+ "minimum": 0.0,
783
+ "title": "Sandbox Remaining",
784
+ "type": "integer"
785
+ }
786
+ },
787
+ "required": [
788
+ "app_id",
789
+ "month",
790
+ "plan",
791
+ "prediction_units",
792
+ "reserved_units",
793
+ "paid_prediction_units",
794
+ "invoice_cents",
795
+ "monthly_cap_cents",
796
+ "sandbox_remaining",
797
+ "currency"
798
+ ],
799
+ "title": "UsageOutput",
800
+ "type": "object"
801
+ },
802
+ "ValidationError": {
803
+ "properties": {
804
+ "ctx": {
805
+ "title": "Context",
806
+ "type": "object"
807
+ },
808
+ "input": {
809
+ "title": "Input"
810
+ },
811
+ "loc": {
812
+ "items": {
813
+ "anyOf": [
814
+ {
815
+ "type": "string"
816
+ },
817
+ {
818
+ "type": "integer"
819
+ }
820
+ ]
821
+ },
822
+ "title": "Location",
823
+ "type": "array"
824
+ },
825
+ "msg": {
826
+ "title": "Message",
827
+ "type": "string"
828
+ },
829
+ "type": {
830
+ "title": "Error Type",
831
+ "type": "string"
832
+ }
833
+ },
834
+ "required": [
835
+ "loc",
836
+ "msg",
837
+ "type"
838
+ ],
839
+ "title": "ValidationError",
840
+ "type": "object"
841
+ }
842
+ },
843
+ "securitySchemes": {
844
+ "CloneAppKey": {
845
+ "description": "Server-only app key issued by Clone (clnp_...). Never expose it in browser code.",
846
+ "scheme": "bearer",
847
+ "type": "http"
848
+ }
849
+ }
850
+ },
851
+ "info": {
852
+ "title": "Clone Tab Completion API",
853
+ "version": "0.1.0"
854
+ },
855
+ "openapi": "3.1.0",
856
+ "paths": {
857
+ "/v1/connections": {
858
+ "post": {
859
+ "operationId": "start_v1_connections_post",
860
+ "requestBody": {
861
+ "content": {
862
+ "application/json": {
863
+ "schema": {
864
+ "$ref": "#/components/schemas/ConnectionStart"
865
+ }
866
+ }
867
+ },
868
+ "required": true
869
+ },
870
+ "responses": {
871
+ "200": {
872
+ "content": {
873
+ "application/json": {
874
+ "schema": {
875
+ "$ref": "#/components/schemas/ConnectionStartOutput"
876
+ }
877
+ }
878
+ },
879
+ "description": "Successful Response"
880
+ },
881
+ "400": {
882
+ "content": {
883
+ "application/json": {
884
+ "schema": {
885
+ "$ref": "#/components/schemas/ErrorOutput"
886
+ }
887
+ }
888
+ },
889
+ "description": "Invalid connection or request"
890
+ },
891
+ "401": {
892
+ "content": {
893
+ "application/json": {
894
+ "schema": {
895
+ "$ref": "#/components/schemas/ErrorOutput"
896
+ }
897
+ }
898
+ },
899
+ "description": "Invalid, rotated, revoked or inactive app key"
900
+ },
901
+ "402": {
902
+ "content": {
903
+ "application/json": {
904
+ "schema": {
905
+ "$ref": "#/components/schemas/ErrorOutput"
906
+ }
907
+ }
908
+ },
909
+ "description": "Sandbox exhausted or monthly spending cap reached"
910
+ },
911
+ "403": {
912
+ "content": {
913
+ "application/json": {
914
+ "schema": {
915
+ "$ref": "#/components/schemas/ErrorOutput"
916
+ }
917
+ }
918
+ },
919
+ "description": "Connection revoked or access denied"
920
+ },
921
+ "404": {
922
+ "content": {
923
+ "application/json": {
924
+ "schema": {
925
+ "$ref": "#/components/schemas/ErrorOutput"
926
+ }
927
+ }
928
+ },
929
+ "description": "Resource unavailable or feature disabled"
930
+ },
931
+ "409": {
932
+ "content": {
933
+ "application/json": {
934
+ "schema": {
935
+ "$ref": "#/components/schemas/ErrorOutput"
936
+ }
937
+ }
938
+ },
939
+ "description": "Idempotency, in-flight request or context revision conflict"
940
+ },
941
+ "410": {
942
+ "content": {
943
+ "application/json": {
944
+ "schema": {
945
+ "$ref": "#/components/schemas/ErrorOutput"
946
+ }
947
+ }
948
+ },
949
+ "description": "Connection attempt or prediction recovery window expired"
950
+ },
951
+ "413": {
952
+ "content": {
953
+ "application/json": {
954
+ "schema": {
955
+ "$ref": "#/components/schemas/ErrorOutput"
956
+ }
957
+ }
958
+ },
959
+ "description": "Context exceeds the supported envelope"
960
+ },
961
+ "422": {
962
+ "content": {
963
+ "application/json": {
964
+ "schema": {
965
+ "$ref": "#/components/schemas/HTTPValidationError"
966
+ }
967
+ }
968
+ },
969
+ "description": "Validation Error"
970
+ },
971
+ "429": {
972
+ "content": {
973
+ "application/json": {
974
+ "schema": {
975
+ "$ref": "#/components/schemas/ErrorOutput"
976
+ }
977
+ }
978
+ },
979
+ "description": "Rate limit exceeded"
980
+ },
981
+ "499": {
982
+ "content": {
983
+ "application/json": {
984
+ "schema": {
985
+ "$ref": "#/components/schemas/ErrorOutput"
986
+ }
987
+ }
988
+ },
989
+ "description": "Prediction request cancelled"
990
+ },
991
+ "502": {
992
+ "content": {
993
+ "application/json": {
994
+ "schema": {
995
+ "$ref": "#/components/schemas/ErrorOutput"
996
+ }
997
+ }
998
+ },
999
+ "description": "Prediction provider failed"
1000
+ },
1001
+ "503": {
1002
+ "content": {
1003
+ "application/json": {
1004
+ "schema": {
1005
+ "$ref": "#/components/schemas/ErrorOutput"
1006
+ }
1007
+ }
1008
+ },
1009
+ "description": "Prediction service unavailable"
1010
+ },
1011
+ "504": {
1012
+ "content": {
1013
+ "application/json": {
1014
+ "schema": {
1015
+ "$ref": "#/components/schemas/ErrorOutput"
1016
+ }
1017
+ }
1018
+ },
1019
+ "description": "Prediction provider timed out"
1020
+ }
1021
+ },
1022
+ "security": [
1023
+ {
1024
+ "CloneAppKey": []
1025
+ }
1026
+ ],
1027
+ "summary": "Start",
1028
+ "tags": [
1029
+ "Connect Clone"
1030
+ ]
1031
+ }
1032
+ },
1033
+ "/v1/connections/exchange": {
1034
+ "post": {
1035
+ "operationId": "exchange_v1_connections_exchange_post",
1036
+ "requestBody": {
1037
+ "content": {
1038
+ "application/json": {
1039
+ "schema": {
1040
+ "$ref": "#/components/schemas/ConnectionExchange"
1041
+ }
1042
+ }
1043
+ },
1044
+ "required": true
1045
+ },
1046
+ "responses": {
1047
+ "200": {
1048
+ "content": {
1049
+ "application/json": {
1050
+ "schema": {
1051
+ "$ref": "#/components/schemas/ConnectionExchangeOutput"
1052
+ }
1053
+ }
1054
+ },
1055
+ "description": "Successful Response"
1056
+ },
1057
+ "400": {
1058
+ "content": {
1059
+ "application/json": {
1060
+ "schema": {
1061
+ "$ref": "#/components/schemas/ErrorOutput"
1062
+ }
1063
+ }
1064
+ },
1065
+ "description": "Invalid connection or request"
1066
+ },
1067
+ "401": {
1068
+ "content": {
1069
+ "application/json": {
1070
+ "schema": {
1071
+ "$ref": "#/components/schemas/ErrorOutput"
1072
+ }
1073
+ }
1074
+ },
1075
+ "description": "Invalid, rotated, revoked or inactive app key"
1076
+ },
1077
+ "402": {
1078
+ "content": {
1079
+ "application/json": {
1080
+ "schema": {
1081
+ "$ref": "#/components/schemas/ErrorOutput"
1082
+ }
1083
+ }
1084
+ },
1085
+ "description": "Sandbox exhausted or monthly spending cap reached"
1086
+ },
1087
+ "403": {
1088
+ "content": {
1089
+ "application/json": {
1090
+ "schema": {
1091
+ "$ref": "#/components/schemas/ErrorOutput"
1092
+ }
1093
+ }
1094
+ },
1095
+ "description": "Connection revoked or access denied"
1096
+ },
1097
+ "404": {
1098
+ "content": {
1099
+ "application/json": {
1100
+ "schema": {
1101
+ "$ref": "#/components/schemas/ErrorOutput"
1102
+ }
1103
+ }
1104
+ },
1105
+ "description": "Resource unavailable or feature disabled"
1106
+ },
1107
+ "409": {
1108
+ "content": {
1109
+ "application/json": {
1110
+ "schema": {
1111
+ "$ref": "#/components/schemas/ErrorOutput"
1112
+ }
1113
+ }
1114
+ },
1115
+ "description": "Idempotency, in-flight request or context revision conflict"
1116
+ },
1117
+ "410": {
1118
+ "content": {
1119
+ "application/json": {
1120
+ "schema": {
1121
+ "$ref": "#/components/schemas/ErrorOutput"
1122
+ }
1123
+ }
1124
+ },
1125
+ "description": "Connection attempt or prediction recovery window expired"
1126
+ },
1127
+ "413": {
1128
+ "content": {
1129
+ "application/json": {
1130
+ "schema": {
1131
+ "$ref": "#/components/schemas/ErrorOutput"
1132
+ }
1133
+ }
1134
+ },
1135
+ "description": "Context exceeds the supported envelope"
1136
+ },
1137
+ "422": {
1138
+ "content": {
1139
+ "application/json": {
1140
+ "schema": {
1141
+ "$ref": "#/components/schemas/HTTPValidationError"
1142
+ }
1143
+ }
1144
+ },
1145
+ "description": "Validation Error"
1146
+ },
1147
+ "429": {
1148
+ "content": {
1149
+ "application/json": {
1150
+ "schema": {
1151
+ "$ref": "#/components/schemas/ErrorOutput"
1152
+ }
1153
+ }
1154
+ },
1155
+ "description": "Rate limit exceeded"
1156
+ },
1157
+ "499": {
1158
+ "content": {
1159
+ "application/json": {
1160
+ "schema": {
1161
+ "$ref": "#/components/schemas/ErrorOutput"
1162
+ }
1163
+ }
1164
+ },
1165
+ "description": "Prediction request cancelled"
1166
+ },
1167
+ "502": {
1168
+ "content": {
1169
+ "application/json": {
1170
+ "schema": {
1171
+ "$ref": "#/components/schemas/ErrorOutput"
1172
+ }
1173
+ }
1174
+ },
1175
+ "description": "Prediction provider failed"
1176
+ },
1177
+ "503": {
1178
+ "content": {
1179
+ "application/json": {
1180
+ "schema": {
1181
+ "$ref": "#/components/schemas/ErrorOutput"
1182
+ }
1183
+ }
1184
+ },
1185
+ "description": "Prediction service unavailable"
1186
+ },
1187
+ "504": {
1188
+ "content": {
1189
+ "application/json": {
1190
+ "schema": {
1191
+ "$ref": "#/components/schemas/ErrorOutput"
1192
+ }
1193
+ }
1194
+ },
1195
+ "description": "Prediction provider timed out"
1196
+ }
1197
+ },
1198
+ "security": [
1199
+ {
1200
+ "CloneAppKey": []
1201
+ }
1202
+ ],
1203
+ "summary": "Exchange",
1204
+ "tags": [
1205
+ "Connect Clone"
1206
+ ]
1207
+ }
1208
+ },
1209
+ "/v1/connections/{connection_id}/revoke": {
1210
+ "post": {
1211
+ "operationId": "revoke_v1_connections__connection_id__revoke_post",
1212
+ "parameters": [
1213
+ {
1214
+ "in": "path",
1215
+ "name": "connection_id",
1216
+ "required": true,
1217
+ "schema": {
1218
+ "title": "Connection Id",
1219
+ "type": "string"
1220
+ }
1221
+ }
1222
+ ],
1223
+ "requestBody": {
1224
+ "content": {
1225
+ "application/json": {
1226
+ "schema": {
1227
+ "$ref": "#/components/schemas/SubjectRequest"
1228
+ }
1229
+ }
1230
+ },
1231
+ "required": true
1232
+ },
1233
+ "responses": {
1234
+ "200": {
1235
+ "content": {
1236
+ "application/json": {
1237
+ "schema": {
1238
+ "$ref": "#/components/schemas/RevokeOutput"
1239
+ }
1240
+ }
1241
+ },
1242
+ "description": "Successful Response"
1243
+ },
1244
+ "400": {
1245
+ "content": {
1246
+ "application/json": {
1247
+ "schema": {
1248
+ "$ref": "#/components/schemas/ErrorOutput"
1249
+ }
1250
+ }
1251
+ },
1252
+ "description": "Invalid connection or request"
1253
+ },
1254
+ "401": {
1255
+ "content": {
1256
+ "application/json": {
1257
+ "schema": {
1258
+ "$ref": "#/components/schemas/ErrorOutput"
1259
+ }
1260
+ }
1261
+ },
1262
+ "description": "Invalid, rotated, revoked or inactive app key"
1263
+ },
1264
+ "402": {
1265
+ "content": {
1266
+ "application/json": {
1267
+ "schema": {
1268
+ "$ref": "#/components/schemas/ErrorOutput"
1269
+ }
1270
+ }
1271
+ },
1272
+ "description": "Sandbox exhausted or monthly spending cap reached"
1273
+ },
1274
+ "403": {
1275
+ "content": {
1276
+ "application/json": {
1277
+ "schema": {
1278
+ "$ref": "#/components/schemas/ErrorOutput"
1279
+ }
1280
+ }
1281
+ },
1282
+ "description": "Connection revoked or access denied"
1283
+ },
1284
+ "404": {
1285
+ "content": {
1286
+ "application/json": {
1287
+ "schema": {
1288
+ "$ref": "#/components/schemas/ErrorOutput"
1289
+ }
1290
+ }
1291
+ },
1292
+ "description": "Resource unavailable or feature disabled"
1293
+ },
1294
+ "409": {
1295
+ "content": {
1296
+ "application/json": {
1297
+ "schema": {
1298
+ "$ref": "#/components/schemas/ErrorOutput"
1299
+ }
1300
+ }
1301
+ },
1302
+ "description": "Idempotency, in-flight request or context revision conflict"
1303
+ },
1304
+ "410": {
1305
+ "content": {
1306
+ "application/json": {
1307
+ "schema": {
1308
+ "$ref": "#/components/schemas/ErrorOutput"
1309
+ }
1310
+ }
1311
+ },
1312
+ "description": "Connection attempt or prediction recovery window expired"
1313
+ },
1314
+ "413": {
1315
+ "content": {
1316
+ "application/json": {
1317
+ "schema": {
1318
+ "$ref": "#/components/schemas/ErrorOutput"
1319
+ }
1320
+ }
1321
+ },
1322
+ "description": "Context exceeds the supported envelope"
1323
+ },
1324
+ "422": {
1325
+ "content": {
1326
+ "application/json": {
1327
+ "schema": {
1328
+ "$ref": "#/components/schemas/HTTPValidationError"
1329
+ }
1330
+ }
1331
+ },
1332
+ "description": "Validation Error"
1333
+ },
1334
+ "429": {
1335
+ "content": {
1336
+ "application/json": {
1337
+ "schema": {
1338
+ "$ref": "#/components/schemas/ErrorOutput"
1339
+ }
1340
+ }
1341
+ },
1342
+ "description": "Rate limit exceeded"
1343
+ },
1344
+ "499": {
1345
+ "content": {
1346
+ "application/json": {
1347
+ "schema": {
1348
+ "$ref": "#/components/schemas/ErrorOutput"
1349
+ }
1350
+ }
1351
+ },
1352
+ "description": "Prediction request cancelled"
1353
+ },
1354
+ "502": {
1355
+ "content": {
1356
+ "application/json": {
1357
+ "schema": {
1358
+ "$ref": "#/components/schemas/ErrorOutput"
1359
+ }
1360
+ }
1361
+ },
1362
+ "description": "Prediction provider failed"
1363
+ },
1364
+ "503": {
1365
+ "content": {
1366
+ "application/json": {
1367
+ "schema": {
1368
+ "$ref": "#/components/schemas/ErrorOutput"
1369
+ }
1370
+ }
1371
+ },
1372
+ "description": "Prediction service unavailable"
1373
+ },
1374
+ "504": {
1375
+ "content": {
1376
+ "application/json": {
1377
+ "schema": {
1378
+ "$ref": "#/components/schemas/ErrorOutput"
1379
+ }
1380
+ }
1381
+ },
1382
+ "description": "Prediction provider timed out"
1383
+ }
1384
+ },
1385
+ "security": [
1386
+ {
1387
+ "CloneAppKey": []
1388
+ }
1389
+ ],
1390
+ "summary": "Revoke",
1391
+ "tags": [
1392
+ "Connect Clone"
1393
+ ]
1394
+ }
1395
+ },
1396
+ "/v1/prediction-events": {
1397
+ "post": {
1398
+ "operationId": "event_v1_prediction_events_post",
1399
+ "requestBody": {
1400
+ "content": {
1401
+ "application/json": {
1402
+ "schema": {
1403
+ "$ref": "#/components/schemas/EventInput"
1404
+ }
1405
+ }
1406
+ },
1407
+ "required": true
1408
+ },
1409
+ "responses": {
1410
+ "200": {
1411
+ "content": {
1412
+ "application/json": {
1413
+ "schema": {
1414
+ "$ref": "#/components/schemas/EventOutput"
1415
+ }
1416
+ }
1417
+ },
1418
+ "description": "Successful Response"
1419
+ },
1420
+ "400": {
1421
+ "content": {
1422
+ "application/json": {
1423
+ "schema": {
1424
+ "$ref": "#/components/schemas/ErrorOutput"
1425
+ }
1426
+ }
1427
+ },
1428
+ "description": "Invalid connection or request"
1429
+ },
1430
+ "401": {
1431
+ "content": {
1432
+ "application/json": {
1433
+ "schema": {
1434
+ "$ref": "#/components/schemas/ErrorOutput"
1435
+ }
1436
+ }
1437
+ },
1438
+ "description": "Invalid, rotated, revoked or inactive app key"
1439
+ },
1440
+ "402": {
1441
+ "content": {
1442
+ "application/json": {
1443
+ "schema": {
1444
+ "$ref": "#/components/schemas/ErrorOutput"
1445
+ }
1446
+ }
1447
+ },
1448
+ "description": "Sandbox exhausted or monthly spending cap reached"
1449
+ },
1450
+ "403": {
1451
+ "content": {
1452
+ "application/json": {
1453
+ "schema": {
1454
+ "$ref": "#/components/schemas/ErrorOutput"
1455
+ }
1456
+ }
1457
+ },
1458
+ "description": "Connection revoked or access denied"
1459
+ },
1460
+ "404": {
1461
+ "content": {
1462
+ "application/json": {
1463
+ "schema": {
1464
+ "$ref": "#/components/schemas/ErrorOutput"
1465
+ }
1466
+ }
1467
+ },
1468
+ "description": "Resource unavailable or feature disabled"
1469
+ },
1470
+ "409": {
1471
+ "content": {
1472
+ "application/json": {
1473
+ "schema": {
1474
+ "$ref": "#/components/schemas/ErrorOutput"
1475
+ }
1476
+ }
1477
+ },
1478
+ "description": "Idempotency, in-flight request or context revision conflict"
1479
+ },
1480
+ "410": {
1481
+ "content": {
1482
+ "application/json": {
1483
+ "schema": {
1484
+ "$ref": "#/components/schemas/ErrorOutput"
1485
+ }
1486
+ }
1487
+ },
1488
+ "description": "Connection attempt or prediction recovery window expired"
1489
+ },
1490
+ "413": {
1491
+ "content": {
1492
+ "application/json": {
1493
+ "schema": {
1494
+ "$ref": "#/components/schemas/ErrorOutput"
1495
+ }
1496
+ }
1497
+ },
1498
+ "description": "Context exceeds the supported envelope"
1499
+ },
1500
+ "422": {
1501
+ "content": {
1502
+ "application/json": {
1503
+ "schema": {
1504
+ "$ref": "#/components/schemas/HTTPValidationError"
1505
+ }
1506
+ }
1507
+ },
1508
+ "description": "Validation Error"
1509
+ },
1510
+ "429": {
1511
+ "content": {
1512
+ "application/json": {
1513
+ "schema": {
1514
+ "$ref": "#/components/schemas/ErrorOutput"
1515
+ }
1516
+ }
1517
+ },
1518
+ "description": "Rate limit exceeded"
1519
+ },
1520
+ "499": {
1521
+ "content": {
1522
+ "application/json": {
1523
+ "schema": {
1524
+ "$ref": "#/components/schemas/ErrorOutput"
1525
+ }
1526
+ }
1527
+ },
1528
+ "description": "Prediction request cancelled"
1529
+ },
1530
+ "502": {
1531
+ "content": {
1532
+ "application/json": {
1533
+ "schema": {
1534
+ "$ref": "#/components/schemas/ErrorOutput"
1535
+ }
1536
+ }
1537
+ },
1538
+ "description": "Prediction provider failed"
1539
+ },
1540
+ "503": {
1541
+ "content": {
1542
+ "application/json": {
1543
+ "schema": {
1544
+ "$ref": "#/components/schemas/ErrorOutput"
1545
+ }
1546
+ }
1547
+ },
1548
+ "description": "Prediction service unavailable"
1549
+ },
1550
+ "504": {
1551
+ "content": {
1552
+ "application/json": {
1553
+ "schema": {
1554
+ "$ref": "#/components/schemas/ErrorOutput"
1555
+ }
1556
+ }
1557
+ },
1558
+ "description": "Prediction provider timed out"
1559
+ }
1560
+ },
1561
+ "security": [
1562
+ {
1563
+ "CloneAppKey": []
1564
+ }
1565
+ ],
1566
+ "summary": "Event",
1567
+ "tags": [
1568
+ "Tab Predictions"
1569
+ ]
1570
+ }
1571
+ },
1572
+ "/v1/prediction-feedback/clear": {
1573
+ "post": {
1574
+ "operationId": "clear_feedback_v1_prediction_feedback_clear_post",
1575
+ "requestBody": {
1576
+ "content": {
1577
+ "application/json": {
1578
+ "schema": {
1579
+ "$ref": "#/components/schemas/SubjectRequest"
1580
+ }
1581
+ }
1582
+ },
1583
+ "required": true
1584
+ },
1585
+ "responses": {
1586
+ "200": {
1587
+ "content": {
1588
+ "application/json": {
1589
+ "schema": {
1590
+ "$ref": "#/components/schemas/FeedbackClearOutput"
1591
+ }
1592
+ }
1593
+ },
1594
+ "description": "Successful Response"
1595
+ },
1596
+ "400": {
1597
+ "content": {
1598
+ "application/json": {
1599
+ "schema": {
1600
+ "$ref": "#/components/schemas/ErrorOutput"
1601
+ }
1602
+ }
1603
+ },
1604
+ "description": "Invalid connection or request"
1605
+ },
1606
+ "401": {
1607
+ "content": {
1608
+ "application/json": {
1609
+ "schema": {
1610
+ "$ref": "#/components/schemas/ErrorOutput"
1611
+ }
1612
+ }
1613
+ },
1614
+ "description": "Invalid, rotated, revoked or inactive app key"
1615
+ },
1616
+ "402": {
1617
+ "content": {
1618
+ "application/json": {
1619
+ "schema": {
1620
+ "$ref": "#/components/schemas/ErrorOutput"
1621
+ }
1622
+ }
1623
+ },
1624
+ "description": "Sandbox exhausted or monthly spending cap reached"
1625
+ },
1626
+ "403": {
1627
+ "content": {
1628
+ "application/json": {
1629
+ "schema": {
1630
+ "$ref": "#/components/schemas/ErrorOutput"
1631
+ }
1632
+ }
1633
+ },
1634
+ "description": "Connection revoked or access denied"
1635
+ },
1636
+ "404": {
1637
+ "content": {
1638
+ "application/json": {
1639
+ "schema": {
1640
+ "$ref": "#/components/schemas/ErrorOutput"
1641
+ }
1642
+ }
1643
+ },
1644
+ "description": "Resource unavailable or feature disabled"
1645
+ },
1646
+ "409": {
1647
+ "content": {
1648
+ "application/json": {
1649
+ "schema": {
1650
+ "$ref": "#/components/schemas/ErrorOutput"
1651
+ }
1652
+ }
1653
+ },
1654
+ "description": "Idempotency, in-flight request or context revision conflict"
1655
+ },
1656
+ "410": {
1657
+ "content": {
1658
+ "application/json": {
1659
+ "schema": {
1660
+ "$ref": "#/components/schemas/ErrorOutput"
1661
+ }
1662
+ }
1663
+ },
1664
+ "description": "Connection attempt or prediction recovery window expired"
1665
+ },
1666
+ "413": {
1667
+ "content": {
1668
+ "application/json": {
1669
+ "schema": {
1670
+ "$ref": "#/components/schemas/ErrorOutput"
1671
+ }
1672
+ }
1673
+ },
1674
+ "description": "Context exceeds the supported envelope"
1675
+ },
1676
+ "422": {
1677
+ "content": {
1678
+ "application/json": {
1679
+ "schema": {
1680
+ "$ref": "#/components/schemas/HTTPValidationError"
1681
+ }
1682
+ }
1683
+ },
1684
+ "description": "Validation Error"
1685
+ },
1686
+ "429": {
1687
+ "content": {
1688
+ "application/json": {
1689
+ "schema": {
1690
+ "$ref": "#/components/schemas/ErrorOutput"
1691
+ }
1692
+ }
1693
+ },
1694
+ "description": "Rate limit exceeded"
1695
+ },
1696
+ "499": {
1697
+ "content": {
1698
+ "application/json": {
1699
+ "schema": {
1700
+ "$ref": "#/components/schemas/ErrorOutput"
1701
+ }
1702
+ }
1703
+ },
1704
+ "description": "Prediction request cancelled"
1705
+ },
1706
+ "502": {
1707
+ "content": {
1708
+ "application/json": {
1709
+ "schema": {
1710
+ "$ref": "#/components/schemas/ErrorOutput"
1711
+ }
1712
+ }
1713
+ },
1714
+ "description": "Prediction provider failed"
1715
+ },
1716
+ "503": {
1717
+ "content": {
1718
+ "application/json": {
1719
+ "schema": {
1720
+ "$ref": "#/components/schemas/ErrorOutput"
1721
+ }
1722
+ }
1723
+ },
1724
+ "description": "Prediction service unavailable"
1725
+ },
1726
+ "504": {
1727
+ "content": {
1728
+ "application/json": {
1729
+ "schema": {
1730
+ "$ref": "#/components/schemas/ErrorOutput"
1731
+ }
1732
+ }
1733
+ },
1734
+ "description": "Prediction provider timed out"
1735
+ }
1736
+ },
1737
+ "security": [
1738
+ {
1739
+ "CloneAppKey": []
1740
+ }
1741
+ ],
1742
+ "summary": "Clear Feedback",
1743
+ "tags": [
1744
+ "Tab Predictions"
1745
+ ]
1746
+ }
1747
+ },
1748
+ "/v1/predictions": {
1749
+ "post": {
1750
+ "operationId": "predictions_v1_predictions_post",
1751
+ "requestBody": {
1752
+ "content": {
1753
+ "application/json": {
1754
+ "schema": {
1755
+ "$ref": "#/components/schemas/PredictionInput"
1756
+ }
1757
+ }
1758
+ },
1759
+ "required": true
1760
+ },
1761
+ "responses": {
1762
+ "200": {
1763
+ "content": {
1764
+ "application/json": {
1765
+ "schema": {
1766
+ "$ref": "#/components/schemas/PredictionOutput"
1767
+ }
1768
+ }
1769
+ },
1770
+ "description": "Successful Response"
1771
+ },
1772
+ "400": {
1773
+ "content": {
1774
+ "application/json": {
1775
+ "schema": {
1776
+ "$ref": "#/components/schemas/ErrorOutput"
1777
+ }
1778
+ }
1779
+ },
1780
+ "description": "Invalid connection or request"
1781
+ },
1782
+ "401": {
1783
+ "content": {
1784
+ "application/json": {
1785
+ "schema": {
1786
+ "$ref": "#/components/schemas/ErrorOutput"
1787
+ }
1788
+ }
1789
+ },
1790
+ "description": "Invalid, rotated, revoked or inactive app key"
1791
+ },
1792
+ "402": {
1793
+ "content": {
1794
+ "application/json": {
1795
+ "schema": {
1796
+ "$ref": "#/components/schemas/ErrorOutput"
1797
+ }
1798
+ }
1799
+ },
1800
+ "description": "Sandbox exhausted or monthly spending cap reached"
1801
+ },
1802
+ "403": {
1803
+ "content": {
1804
+ "application/json": {
1805
+ "schema": {
1806
+ "$ref": "#/components/schemas/ErrorOutput"
1807
+ }
1808
+ }
1809
+ },
1810
+ "description": "Connection revoked or access denied"
1811
+ },
1812
+ "404": {
1813
+ "content": {
1814
+ "application/json": {
1815
+ "schema": {
1816
+ "$ref": "#/components/schemas/ErrorOutput"
1817
+ }
1818
+ }
1819
+ },
1820
+ "description": "Resource unavailable or feature disabled"
1821
+ },
1822
+ "409": {
1823
+ "content": {
1824
+ "application/json": {
1825
+ "schema": {
1826
+ "$ref": "#/components/schemas/ErrorOutput"
1827
+ }
1828
+ }
1829
+ },
1830
+ "description": "Idempotency, in-flight request or context revision conflict"
1831
+ },
1832
+ "410": {
1833
+ "content": {
1834
+ "application/json": {
1835
+ "schema": {
1836
+ "$ref": "#/components/schemas/ErrorOutput"
1837
+ }
1838
+ }
1839
+ },
1840
+ "description": "Connection attempt or prediction recovery window expired"
1841
+ },
1842
+ "413": {
1843
+ "content": {
1844
+ "application/json": {
1845
+ "schema": {
1846
+ "$ref": "#/components/schemas/ErrorOutput"
1847
+ }
1848
+ }
1849
+ },
1850
+ "description": "Context exceeds the supported envelope"
1851
+ },
1852
+ "422": {
1853
+ "content": {
1854
+ "application/json": {
1855
+ "schema": {
1856
+ "$ref": "#/components/schemas/HTTPValidationError"
1857
+ }
1858
+ }
1859
+ },
1860
+ "description": "Validation Error"
1861
+ },
1862
+ "429": {
1863
+ "content": {
1864
+ "application/json": {
1865
+ "schema": {
1866
+ "$ref": "#/components/schemas/ErrorOutput"
1867
+ }
1868
+ }
1869
+ },
1870
+ "description": "Rate limit exceeded"
1871
+ },
1872
+ "499": {
1873
+ "content": {
1874
+ "application/json": {
1875
+ "schema": {
1876
+ "$ref": "#/components/schemas/ErrorOutput"
1877
+ }
1878
+ }
1879
+ },
1880
+ "description": "Prediction request cancelled"
1881
+ },
1882
+ "502": {
1883
+ "content": {
1884
+ "application/json": {
1885
+ "schema": {
1886
+ "$ref": "#/components/schemas/ErrorOutput"
1887
+ }
1888
+ }
1889
+ },
1890
+ "description": "Prediction provider failed"
1891
+ },
1892
+ "503": {
1893
+ "content": {
1894
+ "application/json": {
1895
+ "schema": {
1896
+ "$ref": "#/components/schemas/ErrorOutput"
1897
+ }
1898
+ }
1899
+ },
1900
+ "description": "Prediction service unavailable"
1901
+ },
1902
+ "504": {
1903
+ "content": {
1904
+ "application/json": {
1905
+ "schema": {
1906
+ "$ref": "#/components/schemas/ErrorOutput"
1907
+ }
1908
+ }
1909
+ },
1910
+ "description": "Prediction provider timed out"
1911
+ }
1912
+ },
1913
+ "security": [
1914
+ {
1915
+ "CloneAppKey": []
1916
+ }
1917
+ ],
1918
+ "summary": "Predictions",
1919
+ "tags": [
1920
+ "Tab Predictions"
1921
+ ]
1922
+ }
1923
+ },
1924
+ "/v1/predictions/{request_id}/cancel": {
1925
+ "post": {
1926
+ "operationId": "cancel_v1_predictions__request_id__cancel_post",
1927
+ "parameters": [
1928
+ {
1929
+ "in": "path",
1930
+ "name": "request_id",
1931
+ "required": true,
1932
+ "schema": {
1933
+ "title": "Request Id",
1934
+ "type": "string"
1935
+ }
1936
+ }
1937
+ ],
1938
+ "requestBody": {
1939
+ "content": {
1940
+ "application/json": {
1941
+ "schema": {
1942
+ "$ref": "#/components/schemas/SubjectRequest"
1943
+ }
1944
+ }
1945
+ },
1946
+ "required": true
1947
+ },
1948
+ "responses": {
1949
+ "200": {
1950
+ "content": {
1951
+ "application/json": {
1952
+ "schema": {
1953
+ "$ref": "#/components/schemas/CancelOutput"
1954
+ }
1955
+ }
1956
+ },
1957
+ "description": "Successful Response"
1958
+ },
1959
+ "400": {
1960
+ "content": {
1961
+ "application/json": {
1962
+ "schema": {
1963
+ "$ref": "#/components/schemas/ErrorOutput"
1964
+ }
1965
+ }
1966
+ },
1967
+ "description": "Invalid connection or request"
1968
+ },
1969
+ "401": {
1970
+ "content": {
1971
+ "application/json": {
1972
+ "schema": {
1973
+ "$ref": "#/components/schemas/ErrorOutput"
1974
+ }
1975
+ }
1976
+ },
1977
+ "description": "Invalid, rotated, revoked or inactive app key"
1978
+ },
1979
+ "402": {
1980
+ "content": {
1981
+ "application/json": {
1982
+ "schema": {
1983
+ "$ref": "#/components/schemas/ErrorOutput"
1984
+ }
1985
+ }
1986
+ },
1987
+ "description": "Sandbox exhausted or monthly spending cap reached"
1988
+ },
1989
+ "403": {
1990
+ "content": {
1991
+ "application/json": {
1992
+ "schema": {
1993
+ "$ref": "#/components/schemas/ErrorOutput"
1994
+ }
1995
+ }
1996
+ },
1997
+ "description": "Connection revoked or access denied"
1998
+ },
1999
+ "404": {
2000
+ "content": {
2001
+ "application/json": {
2002
+ "schema": {
2003
+ "$ref": "#/components/schemas/ErrorOutput"
2004
+ }
2005
+ }
2006
+ },
2007
+ "description": "Resource unavailable or feature disabled"
2008
+ },
2009
+ "409": {
2010
+ "content": {
2011
+ "application/json": {
2012
+ "schema": {
2013
+ "$ref": "#/components/schemas/ErrorOutput"
2014
+ }
2015
+ }
2016
+ },
2017
+ "description": "Idempotency, in-flight request or context revision conflict"
2018
+ },
2019
+ "410": {
2020
+ "content": {
2021
+ "application/json": {
2022
+ "schema": {
2023
+ "$ref": "#/components/schemas/ErrorOutput"
2024
+ }
2025
+ }
2026
+ },
2027
+ "description": "Connection attempt or prediction recovery window expired"
2028
+ },
2029
+ "413": {
2030
+ "content": {
2031
+ "application/json": {
2032
+ "schema": {
2033
+ "$ref": "#/components/schemas/ErrorOutput"
2034
+ }
2035
+ }
2036
+ },
2037
+ "description": "Context exceeds the supported envelope"
2038
+ },
2039
+ "422": {
2040
+ "content": {
2041
+ "application/json": {
2042
+ "schema": {
2043
+ "$ref": "#/components/schemas/HTTPValidationError"
2044
+ }
2045
+ }
2046
+ },
2047
+ "description": "Validation Error"
2048
+ },
2049
+ "429": {
2050
+ "content": {
2051
+ "application/json": {
2052
+ "schema": {
2053
+ "$ref": "#/components/schemas/ErrorOutput"
2054
+ }
2055
+ }
2056
+ },
2057
+ "description": "Rate limit exceeded"
2058
+ },
2059
+ "499": {
2060
+ "content": {
2061
+ "application/json": {
2062
+ "schema": {
2063
+ "$ref": "#/components/schemas/ErrorOutput"
2064
+ }
2065
+ }
2066
+ },
2067
+ "description": "Prediction request cancelled"
2068
+ },
2069
+ "502": {
2070
+ "content": {
2071
+ "application/json": {
2072
+ "schema": {
2073
+ "$ref": "#/components/schemas/ErrorOutput"
2074
+ }
2075
+ }
2076
+ },
2077
+ "description": "Prediction provider failed"
2078
+ },
2079
+ "503": {
2080
+ "content": {
2081
+ "application/json": {
2082
+ "schema": {
2083
+ "$ref": "#/components/schemas/ErrorOutput"
2084
+ }
2085
+ }
2086
+ },
2087
+ "description": "Prediction service unavailable"
2088
+ },
2089
+ "504": {
2090
+ "content": {
2091
+ "application/json": {
2092
+ "schema": {
2093
+ "$ref": "#/components/schemas/ErrorOutput"
2094
+ }
2095
+ }
2096
+ },
2097
+ "description": "Prediction provider timed out"
2098
+ }
2099
+ },
2100
+ "security": [
2101
+ {
2102
+ "CloneAppKey": []
2103
+ }
2104
+ ],
2105
+ "summary": "Cancel",
2106
+ "tags": [
2107
+ "Tab Predictions"
2108
+ ]
2109
+ }
2110
+ },
2111
+ "/v1/usage": {
2112
+ "get": {
2113
+ "operationId": "usage_v1_usage_get",
2114
+ "responses": {
2115
+ "200": {
2116
+ "content": {
2117
+ "application/json": {
2118
+ "schema": {
2119
+ "$ref": "#/components/schemas/UsageOutput"
2120
+ }
2121
+ }
2122
+ },
2123
+ "description": "Successful Response"
2124
+ },
2125
+ "400": {
2126
+ "content": {
2127
+ "application/json": {
2128
+ "schema": {
2129
+ "$ref": "#/components/schemas/ErrorOutput"
2130
+ }
2131
+ }
2132
+ },
2133
+ "description": "Invalid connection or request"
2134
+ },
2135
+ "401": {
2136
+ "content": {
2137
+ "application/json": {
2138
+ "schema": {
2139
+ "$ref": "#/components/schemas/ErrorOutput"
2140
+ }
2141
+ }
2142
+ },
2143
+ "description": "Invalid, rotated, revoked or inactive app key"
2144
+ },
2145
+ "402": {
2146
+ "content": {
2147
+ "application/json": {
2148
+ "schema": {
2149
+ "$ref": "#/components/schemas/ErrorOutput"
2150
+ }
2151
+ }
2152
+ },
2153
+ "description": "Sandbox exhausted or monthly spending cap reached"
2154
+ },
2155
+ "403": {
2156
+ "content": {
2157
+ "application/json": {
2158
+ "schema": {
2159
+ "$ref": "#/components/schemas/ErrorOutput"
2160
+ }
2161
+ }
2162
+ },
2163
+ "description": "Connection revoked or access denied"
2164
+ },
2165
+ "404": {
2166
+ "content": {
2167
+ "application/json": {
2168
+ "schema": {
2169
+ "$ref": "#/components/schemas/ErrorOutput"
2170
+ }
2171
+ }
2172
+ },
2173
+ "description": "Resource unavailable or feature disabled"
2174
+ },
2175
+ "409": {
2176
+ "content": {
2177
+ "application/json": {
2178
+ "schema": {
2179
+ "$ref": "#/components/schemas/ErrorOutput"
2180
+ }
2181
+ }
2182
+ },
2183
+ "description": "Idempotency, in-flight request or context revision conflict"
2184
+ },
2185
+ "410": {
2186
+ "content": {
2187
+ "application/json": {
2188
+ "schema": {
2189
+ "$ref": "#/components/schemas/ErrorOutput"
2190
+ }
2191
+ }
2192
+ },
2193
+ "description": "Connection attempt or prediction recovery window expired"
2194
+ },
2195
+ "413": {
2196
+ "content": {
2197
+ "application/json": {
2198
+ "schema": {
2199
+ "$ref": "#/components/schemas/ErrorOutput"
2200
+ }
2201
+ }
2202
+ },
2203
+ "description": "Context exceeds the supported envelope"
2204
+ },
2205
+ "429": {
2206
+ "content": {
2207
+ "application/json": {
2208
+ "schema": {
2209
+ "$ref": "#/components/schemas/ErrorOutput"
2210
+ }
2211
+ }
2212
+ },
2213
+ "description": "Rate limit exceeded"
2214
+ },
2215
+ "499": {
2216
+ "content": {
2217
+ "application/json": {
2218
+ "schema": {
2219
+ "$ref": "#/components/schemas/ErrorOutput"
2220
+ }
2221
+ }
2222
+ },
2223
+ "description": "Prediction request cancelled"
2224
+ },
2225
+ "502": {
2226
+ "content": {
2227
+ "application/json": {
2228
+ "schema": {
2229
+ "$ref": "#/components/schemas/ErrorOutput"
2230
+ }
2231
+ }
2232
+ },
2233
+ "description": "Prediction provider failed"
2234
+ },
2235
+ "503": {
2236
+ "content": {
2237
+ "application/json": {
2238
+ "schema": {
2239
+ "$ref": "#/components/schemas/ErrorOutput"
2240
+ }
2241
+ }
2242
+ },
2243
+ "description": "Prediction service unavailable"
2244
+ },
2245
+ "504": {
2246
+ "content": {
2247
+ "application/json": {
2248
+ "schema": {
2249
+ "$ref": "#/components/schemas/ErrorOutput"
2250
+ }
2251
+ }
2252
+ },
2253
+ "description": "Prediction provider timed out"
2254
+ }
2255
+ },
2256
+ "security": [
2257
+ {
2258
+ "CloneAppKey": []
2259
+ }
2260
+ ],
2261
+ "summary": "Usage",
2262
+ "tags": [
2263
+ "Tab Predictions"
2264
+ ]
2265
+ }
2266
+ }
2267
+ }
2268
+ }