@extrovert.dev/sdk 0.1.0-pre.10 → 0.1.0-pre.12

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.
package/dist/index.d.cts CHANGED
@@ -1,3 +1,2920 @@
1
+ interface AdministrativeDownload {
2
+ content_type: string;
3
+ content_base64: string;
4
+ filename?: string;
5
+ }
6
+ interface AdministrativeOperations {
7
+ "getConnectionAuthorization": {
8
+ input: {
9
+ "path": {
10
+ "authorization_id": string;
11
+ };
12
+ };
13
+ output: Record<string, unknown>;
14
+ };
15
+ "approveConnectionAuthorization": {
16
+ input: {
17
+ "body": AdministrativeSchemas["ConnectionConsent"];
18
+ "path": {
19
+ "authorization_id": string;
20
+ };
21
+ };
22
+ output: AdministrativeSchemas["ConnectionConsentResult"];
23
+ };
24
+ "denyConnectionAuthorization": {
25
+ input: {
26
+ "path": {
27
+ "authorization_id": string;
28
+ };
29
+ };
30
+ output: Record<string, unknown>;
31
+ };
32
+ "listConnections": {
33
+ input: {
34
+ "query"?: {
35
+ "created_by_connection_id"?: string;
36
+ "cursor"?: string;
37
+ "limit"?: number;
38
+ };
39
+ };
40
+ output: AdministrativeSchemas["ConnectionGrantList"];
41
+ };
42
+ "listConnectionCreatedCredentials": {
43
+ input: {
44
+ "path": {
45
+ "connection_id": string;
46
+ };
47
+ "query"?: {
48
+ "cursor"?: string;
49
+ "limit"?: number;
50
+ };
51
+ };
52
+ output: AdministrativeSchemas["ConnectionCreatedCredentialList"];
53
+ };
54
+ "revokeConnectionCreatedCredential": {
55
+ input: {
56
+ "path": {
57
+ "connection_id": string;
58
+ "credential_id": string;
59
+ };
60
+ };
61
+ output: void;
62
+ };
63
+ "createConnectionCredential": {
64
+ input: {
65
+ "body": AdministrativeSchemas["ConnectionConsent"];
66
+ "path": {
67
+ "connection_id": string;
68
+ };
69
+ };
70
+ output: {
71
+ "connection": AdministrativeSchemas["ConnectionGrant"];
72
+ "credential": string;
73
+ "resource": string;
74
+ [key: string]: unknown;
75
+ };
76
+ };
77
+ "listConnectionEvents": {
78
+ input: {
79
+ "path": {
80
+ "connection_id": string;
81
+ };
82
+ "query"?: {
83
+ "cursor"?: string;
84
+ "limit"?: number;
85
+ };
86
+ };
87
+ output: AdministrativeSchemas["ConnectionEventList"];
88
+ };
89
+ "revokeConnection": {
90
+ input: {
91
+ "path": {
92
+ "connection_id": string;
93
+ };
94
+ };
95
+ output: void;
96
+ };
97
+ "acceptInvitation": {
98
+ input: {
99
+ "body": AdministrativeSchemas["AcceptInvitationRequest"];
100
+ };
101
+ output: AdministrativeSchemas["OrgInvitation"];
102
+ };
103
+ "adminMe": {
104
+ input: Record<string, unknown>;
105
+ output: AdministrativeSchemas["AdminMe"];
106
+ };
107
+ "personalNotificationSettings": {
108
+ input: Record<string, unknown>;
109
+ output: AdministrativeSchemas["PersonalNotificationSettings"];
110
+ };
111
+ "patchPersonalNotificationPreferences": {
112
+ input: {
113
+ "body": AdministrativeSchemas["PersonalPreferencePatch"];
114
+ };
115
+ output: AdministrativeSchemas["PersonalPreferences"];
116
+ };
117
+ "personalNotificationHistory": {
118
+ input: {
119
+ "query"?: {
120
+ "cursor"?: string;
121
+ "limit"?: number;
122
+ };
123
+ };
124
+ output: AdministrativeSchemas["PersonalNotificationHistory"];
125
+ };
126
+ "personalNotificationBatch": {
127
+ input: {
128
+ "path": {
129
+ "batch_id": string;
130
+ };
131
+ };
132
+ output: AdministrativeSchemas["PersonalNotificationBatch"];
133
+ };
134
+ "personalPushDevices": {
135
+ input: Record<string, unknown>;
136
+ output: {
137
+ "items": Array<AdministrativeSchemas["PersonalPushDevice"]>;
138
+ [key: string]: unknown;
139
+ };
140
+ };
141
+ "enrollPersonalPushDevice": {
142
+ input: {
143
+ "body": AdministrativeSchemas["PersonalPushEnrollment"];
144
+ };
145
+ output: AdministrativeSchemas["PersonalPushDevice"];
146
+ };
147
+ "personalPushPublicKey": {
148
+ input: Record<string, unknown>;
149
+ output: {
150
+ "account_id"?: string;
151
+ "available": boolean;
152
+ "public_key": string;
153
+ [key: string]: unknown;
154
+ };
155
+ };
156
+ "testPersonalPushDevices": {
157
+ input: {
158
+ "body": {
159
+ "device_ids": Array<string>;
160
+ };
161
+ };
162
+ output: {
163
+ "items": Array<{
164
+ "id": string;
165
+ "label": string;
166
+ "message": string;
167
+ "status": ("accepted" | "failed");
168
+ [key: string]: unknown;
169
+ }>;
170
+ [key: string]: unknown;
171
+ };
172
+ };
173
+ "patchPersonalPushDevice": {
174
+ input: {
175
+ "body": AdministrativeSchemas["PersonalPushDevicePatch"];
176
+ "path": {
177
+ "device_id": string;
178
+ };
179
+ };
180
+ output: AdministrativeSchemas["PersonalPushDevice"];
181
+ };
182
+ "removePersonalPushDevice": {
183
+ input: {
184
+ "path": {
185
+ "device_id": string;
186
+ };
187
+ };
188
+ output: void;
189
+ };
190
+ "listOrgs": {
191
+ input: Record<string, unknown>;
192
+ output: AdministrativeSchemas["OrgList"];
193
+ };
194
+ "createOrg": {
195
+ input: {
196
+ "body": AdministrativeSchemas["CreateOrgRequest"];
197
+ };
198
+ output: AdministrativeSchemas["Org"];
199
+ };
200
+ "patchOrg": {
201
+ input: {
202
+ "body": AdministrativeSchemas["PatchOrgRequest"];
203
+ "path": {
204
+ "org_id": string;
205
+ };
206
+ };
207
+ output: AdministrativeSchemas["Org"];
208
+ };
209
+ "archiveOrg": {
210
+ input: {
211
+ "path": {
212
+ "org_id": string;
213
+ };
214
+ };
215
+ output: AdministrativeSchemas["Org"];
216
+ };
217
+ "adminGetBilling": {
218
+ input: {
219
+ "path": {
220
+ "org_id": string;
221
+ };
222
+ "query"?: {
223
+ "month"?: string;
224
+ };
225
+ };
226
+ output: AdministrativeSchemas["AdminBilling"];
227
+ };
228
+ "adminCreateBillingCheckout": {
229
+ input: {
230
+ "body": AdministrativeSchemas["CreateBillingCheckoutRequest"];
231
+ "path": {
232
+ "org_id": string;
233
+ };
234
+ };
235
+ output: AdministrativeSchemas["CreateBillingCheckoutResponse"];
236
+ };
237
+ "adminCreateDomainBillingCheckout": {
238
+ input: {
239
+ "body": AdministrativeSchemas["CreateDomainBillingCheckoutRequest"];
240
+ "path": {
241
+ "org_id": string;
242
+ };
243
+ };
244
+ output: AdministrativeSchemas["CreateDomainBillingCheckoutResponse"];
245
+ };
246
+ "adminCreateBillingPortal": {
247
+ input: {
248
+ "body": AdministrativeSchemas["CreateBillingPortalRequest"];
249
+ "path": {
250
+ "org_id": string;
251
+ };
252
+ };
253
+ output: AdministrativeSchemas["CreateBillingPortalResponse"];
254
+ };
255
+ "adminListCommerceRequests": {
256
+ input: {
257
+ "path": {
258
+ "org_id": string;
259
+ };
260
+ "query"?: {
261
+ "kind"?: string;
262
+ "limit"?: number;
263
+ "page"?: string;
264
+ "state"?: string;
265
+ };
266
+ };
267
+ output: AdministrativeSchemas["CommerceRequestPage"];
268
+ };
269
+ "adminCreateDomainPurchaseRequest": {
270
+ input: {
271
+ "body": AdministrativeSchemas["CreateDomainPurchaseRequest"];
272
+ "path": {
273
+ "org_id": string;
274
+ };
275
+ };
276
+ output: AdministrativeSchemas["CommerceRequest"];
277
+ };
278
+ "adminCreatePlanChangeRequest": {
279
+ input: {
280
+ "body": AdministrativeSchemas["CreatePlanChangeRequest"];
281
+ "path": {
282
+ "org_id": string;
283
+ };
284
+ };
285
+ output: AdministrativeSchemas["CommerceRequest"];
286
+ };
287
+ "adminGetCommerceRequest": {
288
+ input: {
289
+ "path": {
290
+ "org_id": string;
291
+ "request_id": string;
292
+ };
293
+ };
294
+ output: AdministrativeSchemas["CommerceRequest"];
295
+ };
296
+ "adminApproveCommerceRequest": {
297
+ input: {
298
+ "body": AdministrativeSchemas["DecideCommerceRequest"];
299
+ "path": {
300
+ "org_id": string;
301
+ "request_id": string;
302
+ };
303
+ };
304
+ output: AdministrativeSchemas["CommerceRequest"];
305
+ };
306
+ "adminCancelCommerceRequest": {
307
+ input: {
308
+ "path": {
309
+ "org_id": string;
310
+ "request_id": string;
311
+ };
312
+ };
313
+ output: AdministrativeSchemas["CommerceRequest"];
314
+ };
315
+ "adminDenyCommerceRequest": {
316
+ input: {
317
+ "body": AdministrativeSchemas["DecideCommerceRequest"];
318
+ "path": {
319
+ "org_id": string;
320
+ "request_id": string;
321
+ };
322
+ };
323
+ output: AdministrativeSchemas["CommerceRequest"];
324
+ };
325
+ "adminGetCommercePaymentLink": {
326
+ input: {
327
+ "path": {
328
+ "org_id": string;
329
+ "request_id": string;
330
+ };
331
+ };
332
+ output: {
333
+ "expires_at"?: string;
334
+ "url"?: string;
335
+ [key: string]: unknown;
336
+ };
337
+ };
338
+ "adminRetryCommerceRequest": {
339
+ input: {
340
+ "path": {
341
+ "org_id": string;
342
+ "request_id": string;
343
+ };
344
+ };
345
+ output: AdministrativeSchemas["CommerceRequest"];
346
+ };
347
+ "adminListCommerceSpendLimits": {
348
+ input: {
349
+ "path": {
350
+ "org_id": string;
351
+ };
352
+ };
353
+ output: {
354
+ "items"?: Array<AdministrativeSchemas["CommerceSpendLimit"]>;
355
+ "total"?: number;
356
+ [key: string]: unknown;
357
+ };
358
+ };
359
+ "adminCreateCommerceSpendLimit": {
360
+ input: {
361
+ "body": AdministrativeSchemas["CommerceSpendLimitInput"];
362
+ "path": {
363
+ "org_id": string;
364
+ };
365
+ };
366
+ output: AdministrativeSchemas["CommerceSpendLimit"];
367
+ };
368
+ "adminUpdateCommerceSpendLimit": {
369
+ input: {
370
+ "body": AdministrativeSchemas["CommerceSpendLimitInput"];
371
+ "path": {
372
+ "limit_id": string;
373
+ "org_id": string;
374
+ };
375
+ };
376
+ output: AdministrativeSchemas["CommerceSpendLimit"];
377
+ };
378
+ "adminDeleteCommerceSpendLimit": {
379
+ input: {
380
+ "path": {
381
+ "limit_id": string;
382
+ "org_id": string;
383
+ };
384
+ };
385
+ output: void;
386
+ };
387
+ "adminListDomains": {
388
+ input: {
389
+ "path": {
390
+ "org_id": string;
391
+ };
392
+ "query"?: {
393
+ "limit"?: number;
394
+ "page"?: string;
395
+ };
396
+ };
397
+ output: AdministrativeSchemas["DomainList"];
398
+ };
399
+ "adminOnboardDomain": {
400
+ input: {
401
+ "body": AdministrativeSchemas["OnboardDomainRequest"];
402
+ "path": {
403
+ "org_id": string;
404
+ };
405
+ };
406
+ output: AdministrativeSchemas["OnboardDomainResult"];
407
+ };
408
+ "adminGetDomain": {
409
+ input: {
410
+ "path": {
411
+ "domain": string;
412
+ "org_id": string;
413
+ };
414
+ };
415
+ output: AdministrativeSchemas["OnboardDomainResult"];
416
+ };
417
+ "adminVerifyDomain": {
418
+ input: {
419
+ "path": {
420
+ "domain": string;
421
+ "org_id": string;
422
+ };
423
+ };
424
+ output: AdministrativeSchemas["OnboardDomainResult"];
425
+ };
426
+ "createInvitation": {
427
+ input: {
428
+ "body": AdministrativeSchemas["CreateInvitationRequest"];
429
+ "path": {
430
+ "org_id": string;
431
+ };
432
+ };
433
+ output: AdministrativeSchemas["OrgInvitation"];
434
+ };
435
+ "revokeInvitation": {
436
+ input: {
437
+ "path": {
438
+ "invitation_id": string;
439
+ "org_id": string;
440
+ };
441
+ };
442
+ output: AdministrativeSchemas["OrgInvitation"];
443
+ };
444
+ "listMembers": {
445
+ input: {
446
+ "path": {
447
+ "org_id": string;
448
+ };
449
+ };
450
+ output: AdministrativeSchemas["OrgMemberList"];
451
+ };
452
+ "updateMemberRole": {
453
+ input: {
454
+ "body": AdministrativeSchemas["UpdateMemberRoleRequest"];
455
+ "path": {
456
+ "org_id": string;
457
+ "user_id": string;
458
+ };
459
+ };
460
+ output: AdministrativeSchemas["OrgMember"];
461
+ };
462
+ "removeMember": {
463
+ input: {
464
+ "path": {
465
+ "org_id": string;
466
+ "user_id": string;
467
+ };
468
+ };
469
+ output: void;
470
+ };
471
+ "listProjects": {
472
+ input: {
473
+ "path": {
474
+ "org_id": string;
475
+ };
476
+ "query"?: {
477
+ "include_archived"?: boolean;
478
+ };
479
+ };
480
+ output: AdministrativeSchemas["ProjectList"];
481
+ };
482
+ "createProject": {
483
+ input: {
484
+ "body": AdministrativeSchemas["CreateProjectRequest"];
485
+ "path": {
486
+ "org_id": string;
487
+ };
488
+ };
489
+ output: AdministrativeSchemas["Project"];
490
+ };
491
+ "patchProject": {
492
+ input: {
493
+ "body": AdministrativeSchemas["PatchProjectRequest"];
494
+ "path": {
495
+ "org_id": string;
496
+ "project_id": string;
497
+ };
498
+ };
499
+ output: AdministrativeSchemas["Project"];
500
+ };
501
+ "archiveProject": {
502
+ input: {
503
+ "path": {
504
+ "org_id": string;
505
+ "project_id": string;
506
+ };
507
+ };
508
+ output: AdministrativeSchemas["Project"];
509
+ };
510
+ "listAgentKeys": {
511
+ input: {
512
+ "path": {
513
+ "org_id": string;
514
+ "project_id": string;
515
+ };
516
+ "query"?: {
517
+ "agent_id"?: string;
518
+ "limit"?: number;
519
+ "page"?: string;
520
+ };
521
+ };
522
+ output: AdministrativeSchemas["AgentKeyList"];
523
+ };
524
+ "issueAgentKey": {
525
+ input: {
526
+ "body"?: AdministrativeSchemas["IssueAgentKeyRequest"];
527
+ "path": {
528
+ "org_id": string;
529
+ "project_id": string;
530
+ };
531
+ };
532
+ output: AdministrativeSchemas["IssueAgentKeyResult"];
533
+ };
534
+ "revokeAgentKey": {
535
+ input: {
536
+ "path": {
537
+ "id": string;
538
+ "org_id": string;
539
+ "project_id": string;
540
+ };
541
+ };
542
+ output: void;
543
+ };
544
+ "listAgents": {
545
+ input: {
546
+ "path": {
547
+ "org_id": string;
548
+ "project_id": string;
549
+ };
550
+ "query"?: {
551
+ "limit"?: number;
552
+ "page"?: string;
553
+ };
554
+ };
555
+ output: AdministrativeSchemas["AgentList"];
556
+ };
557
+ "createAgent": {
558
+ input: {
559
+ "body": AdministrativeSchemas["CreateAgentRequest"];
560
+ "path": {
561
+ "org_id": string;
562
+ "project_id": string;
563
+ };
564
+ };
565
+ output: AdministrativeSchemas["AgentSummary"];
566
+ };
567
+ "disableAgent": {
568
+ input: {
569
+ "path": {
570
+ "id": string;
571
+ "org_id": string;
572
+ "project_id": string;
573
+ };
574
+ };
575
+ output: AdministrativeSchemas["AgentStatusResult"];
576
+ };
577
+ "enableAgent": {
578
+ input: {
579
+ "path": {
580
+ "id": string;
581
+ "org_id": string;
582
+ "project_id": string;
583
+ };
584
+ };
585
+ output: AdministrativeSchemas["AgentStatusResult"];
586
+ };
587
+ "listAuditEvents": {
588
+ input: {
589
+ "path": {
590
+ "org_id": string;
591
+ "project_id": string;
592
+ };
593
+ "query"?: {
594
+ "limit"?: number;
595
+ "page"?: string;
596
+ };
597
+ };
598
+ output: AdministrativeSchemas["AuditList"];
599
+ };
600
+ "adminListCategories": {
601
+ input: {
602
+ "path": {
603
+ "org_id": string;
604
+ "project_id": string;
605
+ };
606
+ "query"?: {
607
+ "limit"?: number;
608
+ "match"?: string;
609
+ "page"?: string;
610
+ "sort"?: ("popular" | "messages_7d" | "messages_90d" | "last_used" | "pending_reviews" | "name");
611
+ };
612
+ };
613
+ output: AdministrativeSchemas["CategoryPage"];
614
+ };
615
+ "adminCreateCategory": {
616
+ input: {
617
+ "body": AdministrativeSchemas["AdminCreateCategoryRequest"];
618
+ "path": {
619
+ "org_id": string;
620
+ "project_id": string;
621
+ };
622
+ };
623
+ output: AdministrativeSchemas["Category"];
624
+ };
625
+ "adminGetCategory": {
626
+ input: {
627
+ "path": {
628
+ "id": string;
629
+ "org_id": string;
630
+ "project_id": string;
631
+ };
632
+ };
633
+ output: AdministrativeSchemas["Category"];
634
+ };
635
+ "adminUpdateCategory": {
636
+ input: {
637
+ "body": AdministrativeSchemas["UpdateCategoryRequest"];
638
+ "path": {
639
+ "id": string;
640
+ "org_id": string;
641
+ "project_id": string;
642
+ };
643
+ };
644
+ output: AdministrativeSchemas["Category"];
645
+ };
646
+ "adminDeleteCategory": {
647
+ input: {
648
+ "path": {
649
+ "id": string;
650
+ "org_id": string;
651
+ "project_id": string;
652
+ };
653
+ };
654
+ output: AdministrativeSchemas["DeleteCategoryResult"];
655
+ };
656
+ "adminGetBacklogStatus": {
657
+ input: {
658
+ "path": {
659
+ "id": string;
660
+ "org_id": string;
661
+ "project_id": string;
662
+ };
663
+ };
664
+ output: AdministrativeSchemas["ScanBacklogStatus"];
665
+ };
666
+ "adminDemoteCategory": {
667
+ input: {
668
+ "path": {
669
+ "id": string;
670
+ "org_id": string;
671
+ "project_id": string;
672
+ };
673
+ };
674
+ output: AdministrativeSchemas["Category"];
675
+ };
676
+ "adminGraduateCategory": {
677
+ input: {
678
+ "body": AdministrativeSchemas["GraduateCategoryRequest"];
679
+ "path": {
680
+ "id": string;
681
+ "org_id": string;
682
+ "project_id": string;
683
+ };
684
+ };
685
+ output: AdministrativeSchemas["Category"];
686
+ };
687
+ "adminGetGraduationStatus": {
688
+ input: {
689
+ "path": {
690
+ "id": string;
691
+ "org_id": string;
692
+ "project_id": string;
693
+ };
694
+ };
695
+ output: AdministrativeSchemas["GraduationStatus"];
696
+ };
697
+ "adminMergeCategory": {
698
+ input: {
699
+ "body": AdministrativeSchemas["MergeCategoryRequest"];
700
+ "path": {
701
+ "id": string;
702
+ "org_id": string;
703
+ "project_id": string;
704
+ };
705
+ };
706
+ output: AdministrativeSchemas["MergeCategoryResult"];
707
+ };
708
+ "adminSetNeverGraduate": {
709
+ input: {
710
+ "body": AdministrativeSchemas["NeverGraduateRequest"];
711
+ "path": {
712
+ "id": string;
713
+ "org_id": string;
714
+ "project_id": string;
715
+ };
716
+ };
717
+ output: AdministrativeSchemas["Category"];
718
+ };
719
+ "adminGetPacingState": {
720
+ input: {
721
+ "path": {
722
+ "id": string;
723
+ "org_id": string;
724
+ "project_id": string;
725
+ };
726
+ };
727
+ output: AdministrativeSchemas["CategoryPacingState"];
728
+ };
729
+ "adminUpdateCategoryRiskDial": {
730
+ input: {
731
+ "body": AdministrativeSchemas["CategoryRiskDialRequest"];
732
+ "path": {
733
+ "id": string;
734
+ "org_id": string;
735
+ "project_id": string;
736
+ };
737
+ };
738
+ output: AdministrativeSchemas["CategoryRiskDial"];
739
+ };
740
+ "adminScanBacklog": {
741
+ input: {
742
+ "body"?: AdministrativeSchemas["ScanBacklogRequest"];
743
+ "path": {
744
+ "id": string;
745
+ "org_id": string;
746
+ "project_id": string;
747
+ };
748
+ };
749
+ output: AdministrativeSchemas["ReconcileResult"];
750
+ };
751
+ "listEnrollmentTokens": {
752
+ input: {
753
+ "path": {
754
+ "org_id": string;
755
+ "project_id": string;
756
+ };
757
+ "query"?: {
758
+ "include_revoked"?: boolean;
759
+ "limit"?: number;
760
+ "page"?: string;
761
+ };
762
+ };
763
+ output: AdministrativeSchemas["EnrollmentTokenList"];
764
+ };
765
+ "issueEnrollmentToken": {
766
+ input: {
767
+ "body"?: AdministrativeSchemas["IssueEnrollmentTokenRequest"];
768
+ "path": {
769
+ "org_id": string;
770
+ "project_id": string;
771
+ };
772
+ };
773
+ output: AdministrativeSchemas["IssueEnrollmentTokenResult"];
774
+ };
775
+ "revokeEnrollmentToken": {
776
+ input: {
777
+ "path": {
778
+ "id": string;
779
+ "org_id": string;
780
+ "project_id": string;
781
+ };
782
+ };
783
+ output: void;
784
+ };
785
+ "adminListInboxes": {
786
+ input: {
787
+ "path": {
788
+ "org_id": string;
789
+ "project_id": string;
790
+ };
791
+ "query"?: {
792
+ "limit"?: number;
793
+ "page"?: string;
794
+ };
795
+ };
796
+ output: AdministrativeSchemas["AdminInboxList"];
797
+ };
798
+ "adminCreateInbox": {
799
+ input: {
800
+ "body": AdministrativeSchemas["AdminCreateInboxRequest"];
801
+ "path": {
802
+ "org_id": string;
803
+ "project_id": string;
804
+ };
805
+ };
806
+ output: AdministrativeSchemas["AdminInbox"];
807
+ };
808
+ "adminUpdateInbox": {
809
+ input: {
810
+ "body": AdministrativeSchemas["AdminUpdateInboxRequest"];
811
+ "path": {
812
+ "addr": string;
813
+ "org_id": string;
814
+ "project_id": string;
815
+ };
816
+ };
817
+ output: AdministrativeSchemas["AdminInbox"];
818
+ };
819
+ "adminDeleteInbox": {
820
+ input: {
821
+ "path": {
822
+ "addr": string;
823
+ "org_id": string;
824
+ "project_id": string;
825
+ };
826
+ };
827
+ output: void;
828
+ };
829
+ "adminListMessages": {
830
+ input: {
831
+ "path": {
832
+ "addr": string;
833
+ "org_id": string;
834
+ "project_id": string;
835
+ };
836
+ "query"?: {
837
+ "folder"?: string;
838
+ "limit"?: number;
839
+ };
840
+ };
841
+ output: AdministrativeSchemas["AdminMessageList"];
842
+ };
843
+ "adminGetMessage": {
844
+ input: {
845
+ "path": {
846
+ "addr": string;
847
+ "id": string;
848
+ "org_id": string;
849
+ "project_id": string;
850
+ };
851
+ };
852
+ output: AdministrativeSchemas["AdminMessageDetail"];
853
+ };
854
+ "adminListAttachments": {
855
+ input: {
856
+ "path": {
857
+ "addr": string;
858
+ "id": string;
859
+ "org_id": string;
860
+ "project_id": string;
861
+ };
862
+ };
863
+ output: AdministrativeSchemas["AttachmentPage"];
864
+ };
865
+ "adminGetAttachment": {
866
+ input: {
867
+ "path": {
868
+ "addr": string;
869
+ "attId": string;
870
+ "id": string;
871
+ "org_id": string;
872
+ "project_id": string;
873
+ };
874
+ };
875
+ output: AdministrativeDownload;
876
+ };
877
+ "adminReplyMessage": {
878
+ input: {
879
+ "body": AdministrativeSchemas["ReplyRequest"];
880
+ "path": {
881
+ "addr": string;
882
+ "org_id": string;
883
+ "project_id": string;
884
+ };
885
+ };
886
+ output: AdministrativeSchemas["SendResult"];
887
+ };
888
+ "adminUpdateInboxReviewPolicy": {
889
+ input: {
890
+ "body": AdministrativeSchemas["InboxReviewPolicyRequest"];
891
+ "path": {
892
+ "addr": string;
893
+ "org_id": string;
894
+ "project_id": string;
895
+ };
896
+ };
897
+ output: AdministrativeSchemas["InboxReviewPolicy"];
898
+ };
899
+ "adminSendMessage": {
900
+ input: {
901
+ "body": AdministrativeSchemas["SendRequest"];
902
+ "path": {
903
+ "addr": string;
904
+ "org_id": string;
905
+ "project_id": string;
906
+ };
907
+ };
908
+ output: AdministrativeSchemas["StatusResult"];
909
+ };
910
+ "adminGetSubmission": {
911
+ input: {
912
+ "path": {
913
+ "addr": string;
914
+ "org_id": string;
915
+ "project_id": string;
916
+ "submission_id": string;
917
+ };
918
+ };
919
+ output: AdministrativeSchemas["Submission"];
920
+ };
921
+ "adminListInboxThreads": {
922
+ input: {
923
+ "path": {
924
+ "addr": string;
925
+ "org_id": string;
926
+ "project_id": string;
927
+ };
928
+ "query"?: {
929
+ "cursor"?: string;
930
+ "limit"?: number;
931
+ };
932
+ };
933
+ output: AdministrativeSchemas["AdminThreadList"];
934
+ };
935
+ "adminGetInboxThread": {
936
+ input: {
937
+ "path": {
938
+ "addr": string;
939
+ "org_id": string;
940
+ "project_id": string;
941
+ "thread_id": string;
942
+ };
943
+ };
944
+ output: AdministrativeSchemas["AdminThreadDetail"];
945
+ };
946
+ "adminMintRealtimeTicket": {
947
+ input: {
948
+ "path": {
949
+ "org_id": string;
950
+ "project_id": string;
951
+ };
952
+ };
953
+ output: AdministrativeSchemas["RealtimeTicket"];
954
+ };
955
+ "adminListReviewLinks": {
956
+ input: {
957
+ "path": {
958
+ "org_id": string;
959
+ "project_id": string;
960
+ };
961
+ };
962
+ output: AdministrativeSchemas["ReviewLinkList"];
963
+ };
964
+ "adminCreateReviewLink": {
965
+ input: {
966
+ "body": AdministrativeSchemas["CreateReviewLinkRequest"];
967
+ "path": {
968
+ "org_id": string;
969
+ "project_id": string;
970
+ };
971
+ };
972
+ output: AdministrativeSchemas["ReviewLink"];
973
+ };
974
+ "adminDeleteReviewLink": {
975
+ input: {
976
+ "path": {
977
+ "org_id": string;
978
+ "project_id": string;
979
+ "rvl_id": string;
980
+ };
981
+ };
982
+ output: AdministrativeSchemas["DeleteReviewLinkResult"];
983
+ };
984
+ "adminGetReviewPolicy": {
985
+ input: {
986
+ "path": {
987
+ "org_id": string;
988
+ "project_id": string;
989
+ };
990
+ };
991
+ output: AdministrativeSchemas["ReviewPolicy"];
992
+ };
993
+ "adminUpdateReviewPolicy": {
994
+ input: {
995
+ "body": AdministrativeSchemas["ReviewPolicyRequest"];
996
+ "path": {
997
+ "org_id": string;
998
+ "project_id": string;
999
+ };
1000
+ };
1001
+ output: AdministrativeSchemas["ReviewPolicy"];
1002
+ };
1003
+ "adminListReviews": {
1004
+ input: {
1005
+ "path": {
1006
+ "org_id": string;
1007
+ "project_id": string;
1008
+ };
1009
+ "query"?: {
1010
+ "category_id"?: string;
1011
+ "inbox"?: string;
1012
+ "limit"?: number;
1013
+ "page"?: string;
1014
+ "state"?: string;
1015
+ };
1016
+ };
1017
+ output: AdministrativeSchemas["AdminReviewPage"];
1018
+ };
1019
+ "adminGetReview": {
1020
+ input: {
1021
+ "path": {
1022
+ "id": string;
1023
+ "org_id": string;
1024
+ "project_id": string;
1025
+ };
1026
+ };
1027
+ output: AdministrativeSchemas["AdminReviewDetail"];
1028
+ };
1029
+ "adminApproveReview": {
1030
+ input: {
1031
+ "body": AdministrativeSchemas["AdminReviewAction"];
1032
+ "path": {
1033
+ "id": string;
1034
+ "org_id": string;
1035
+ "project_id": string;
1036
+ };
1037
+ };
1038
+ output: AdministrativeSchemas["AdminReviewSendResult"];
1039
+ };
1040
+ "adminReviewChat": {
1041
+ input: {
1042
+ "body": AdministrativeSchemas["AdminReviewChatRequest"];
1043
+ "path": {
1044
+ "id": string;
1045
+ "org_id": string;
1046
+ "project_id": string;
1047
+ };
1048
+ };
1049
+ output: {
1050
+ "review_id"?: string;
1051
+ "state"?: string;
1052
+ "status"?: string;
1053
+ [key: string]: unknown;
1054
+ };
1055
+ };
1056
+ "adminEditSendReview": {
1057
+ input: {
1058
+ "body": AdministrativeSchemas["AdminReviewAction"];
1059
+ "path": {
1060
+ "id": string;
1061
+ "org_id": string;
1062
+ "project_id": string;
1063
+ };
1064
+ };
1065
+ output: AdministrativeSchemas["AdminReviewSendResult"];
1066
+ };
1067
+ "undoLearnedReviewRule": {
1068
+ input: {
1069
+ "path": {
1070
+ "id": string;
1071
+ "org_id": string;
1072
+ "project_id": string;
1073
+ "udo_id": string;
1074
+ };
1075
+ };
1076
+ output: AdministrativeSchemas["Rule"];
1077
+ };
1078
+ "adminRejectReview": {
1079
+ input: {
1080
+ "body": AdministrativeSchemas["AdminReviewAction"];
1081
+ "path": {
1082
+ "id": string;
1083
+ "org_id": string;
1084
+ "project_id": string;
1085
+ };
1086
+ };
1087
+ output: AdministrativeSchemas["AdminReviewRejectResult"];
1088
+ };
1089
+ "adminGetRiskDial": {
1090
+ input: {
1091
+ "path": {
1092
+ "org_id": string;
1093
+ "project_id": string;
1094
+ };
1095
+ };
1096
+ output: AdministrativeSchemas["RiskDial"];
1097
+ };
1098
+ "adminUpdateRiskDial": {
1099
+ input: {
1100
+ "body": AdministrativeSchemas["RiskDialRequest"];
1101
+ "path": {
1102
+ "org_id": string;
1103
+ "project_id": string;
1104
+ };
1105
+ };
1106
+ output: AdministrativeSchemas["AccountRiskDial"];
1107
+ };
1108
+ "adminGetRules": {
1109
+ input: {
1110
+ "path": {
1111
+ "org_id": string;
1112
+ "project_id": string;
1113
+ };
1114
+ "query"?: {
1115
+ "category_id"?: string;
1116
+ "scope"?: ("general" | "category");
1117
+ };
1118
+ };
1119
+ output: AdministrativeSchemas["RulePage"];
1120
+ };
1121
+ "adminSaveProjectRule": {
1122
+ input: {
1123
+ "body": AdministrativeSchemas["AdminSaveProjectRuleRequest"];
1124
+ "path": {
1125
+ "org_id": string;
1126
+ "project_id": string;
1127
+ };
1128
+ };
1129
+ output: AdministrativeSchemas["Rule"];
1130
+ };
1131
+ "adminGetRuleAudit": {
1132
+ input: {
1133
+ "path": {
1134
+ "org_id": string;
1135
+ "project_id": string;
1136
+ };
1137
+ "query"?: {
1138
+ "entity_id"?: string;
1139
+ "entity_kind"?: ("rule" | "category");
1140
+ };
1141
+ };
1142
+ output: AdministrativeSchemas["RuleAuditPage"];
1143
+ };
1144
+ "adminUndoRuleChange": {
1145
+ input: {
1146
+ "path": {
1147
+ "org_id": string;
1148
+ "project_id": string;
1149
+ "udo_id": string;
1150
+ };
1151
+ };
1152
+ output: AdministrativeSchemas["Rule"];
1153
+ };
1154
+ "adminPromoteProjectRule": {
1155
+ input: {
1156
+ "body": AdministrativeSchemas["PromoteRuleRequest"];
1157
+ "path": {
1158
+ "id": string;
1159
+ "org_id": string;
1160
+ "project_id": string;
1161
+ };
1162
+ };
1163
+ output: AdministrativeSchemas["Rule"];
1164
+ };
1165
+ "adminRetireProjectRule": {
1166
+ input: {
1167
+ "path": {
1168
+ "id": string;
1169
+ "org_id": string;
1170
+ "project_id": string;
1171
+ };
1172
+ };
1173
+ output: AdministrativeSchemas["Rule"];
1174
+ };
1175
+ "listSharedInboxThreads": {
1176
+ input: {
1177
+ "path": {
1178
+ "org_id": string;
1179
+ "project_id": string;
1180
+ };
1181
+ "query"?: {
1182
+ "cursor"?: string;
1183
+ "limit"?: number;
1184
+ };
1185
+ };
1186
+ output: AdministrativeSchemas["AdminUnifiedThreadFeed"];
1187
+ };
1188
+ "adminListWebhooks": {
1189
+ input: {
1190
+ "path": {
1191
+ "org_id": string;
1192
+ "project_id": string;
1193
+ };
1194
+ };
1195
+ output: AdministrativeSchemas["WebhookPage"];
1196
+ };
1197
+ "adminRegisterWebhook": {
1198
+ input: {
1199
+ "body": AdministrativeSchemas["AdminRegisterWebhookRequest"];
1200
+ "path": {
1201
+ "org_id": string;
1202
+ "project_id": string;
1203
+ };
1204
+ };
1205
+ output: AdministrativeSchemas["Webhook"];
1206
+ };
1207
+ "adminGetWebhook": {
1208
+ input: {
1209
+ "path": {
1210
+ "id": string;
1211
+ "org_id": string;
1212
+ "project_id": string;
1213
+ };
1214
+ };
1215
+ output: AdministrativeSchemas["Webhook"];
1216
+ };
1217
+ "adminUpdateWebhook": {
1218
+ input: {
1219
+ "body": AdministrativeSchemas["UpdateWebhookRequest"];
1220
+ "path": {
1221
+ "id": string;
1222
+ "org_id": string;
1223
+ "project_id": string;
1224
+ };
1225
+ };
1226
+ output: AdministrativeSchemas["Webhook"];
1227
+ };
1228
+ "adminDeleteWebhook": {
1229
+ input: {
1230
+ "path": {
1231
+ "id": string;
1232
+ "org_id": string;
1233
+ "project_id": string;
1234
+ };
1235
+ };
1236
+ output: void;
1237
+ };
1238
+ "adminGetReputation": {
1239
+ input: {
1240
+ "path": {
1241
+ "org_id": string;
1242
+ };
1243
+ };
1244
+ output: AdministrativeSchemas["ReputationRollup"];
1245
+ };
1246
+ "adminListReputationFindings": {
1247
+ input: {
1248
+ "path": {
1249
+ "org_id": string;
1250
+ };
1251
+ "query"?: {
1252
+ "cursor"?: string;
1253
+ "domain"?: string;
1254
+ "limit"?: number;
1255
+ "sender"?: string;
1256
+ "severity"?: ("low" | "high" | "unknown");
1257
+ "status"?: ("open" | "resolved");
1258
+ };
1259
+ };
1260
+ output: AdministrativeSchemas["ReputationFindingsPage"];
1261
+ };
1262
+ "getOrgSettings": {
1263
+ input: {
1264
+ "path": {
1265
+ "org_id": string;
1266
+ };
1267
+ };
1268
+ output: AdministrativeSchemas["OrgSettings"];
1269
+ };
1270
+ "updateOrgSettings": {
1271
+ input: {
1272
+ "body": AdministrativeSchemas["PatchOrgSettingsRequest"];
1273
+ "path": {
1274
+ "org_id": string;
1275
+ };
1276
+ };
1277
+ output: AdministrativeSchemas["OrgSettings"];
1278
+ };
1279
+ "adminListSuppressions": {
1280
+ input: {
1281
+ "path": {
1282
+ "org_id": string;
1283
+ };
1284
+ "query"?: {
1285
+ "cursor"?: string;
1286
+ "include_revoked"?: boolean;
1287
+ "limit"?: number;
1288
+ "recipient"?: string;
1289
+ "scope"?: ("org");
1290
+ };
1291
+ };
1292
+ output: AdministrativeSchemas["SuppressionPage"];
1293
+ };
1294
+ "adminExportSuppressions": {
1295
+ input: {
1296
+ "path": {
1297
+ "org_id": string;
1298
+ };
1299
+ "query"?: {
1300
+ "include_revoked"?: boolean;
1301
+ "recipient"?: string;
1302
+ "scope"?: ("org");
1303
+ };
1304
+ };
1305
+ output: AdministrativeDownload;
1306
+ };
1307
+ "adminRevokeSuppression": {
1308
+ input: {
1309
+ "body": AdministrativeSchemas["RevokeSuppressionRequest"];
1310
+ "path": {
1311
+ "id": string;
1312
+ "org_id": string;
1313
+ };
1314
+ };
1315
+ output: AdministrativeSchemas["Suppression"];
1316
+ };
1317
+ "acceptSignupClaim": {
1318
+ input: {
1319
+ "path": {
1320
+ "claim_id": string;
1321
+ };
1322
+ };
1323
+ output: AdministrativeSchemas["OrgInvitation"];
1324
+ };
1325
+ }
1326
+ interface AdministrativeSchemas {
1327
+ "AcceptInvitationRequest": {
1328
+ "token": string;
1329
+ [key: string]: unknown;
1330
+ };
1331
+ "AccountRiskDial": {
1332
+ "auto_send_cap_per_day": number;
1333
+ "canary_rate": number;
1334
+ "drift_demote_after": number;
1335
+ "first_contact_gate": boolean;
1336
+ "graduate_min_age_hours": number;
1337
+ "graduate_min_approvals": number;
1338
+ "min_confidence": number;
1339
+ [key: string]: unknown;
1340
+ };
1341
+ "AdminBilling": {
1342
+ "billing_owner_id": string;
1343
+ "customer_id": string;
1344
+ "entitlements": AdministrativeSchemas["AdminBillingPlan"];
1345
+ "org_id": string;
1346
+ "plan_tier": ("free" | "developer" | "startup" | "enterprise");
1347
+ "plans": Array<AdministrativeSchemas["AdminBillingPlan"]>;
1348
+ "stripe_configured": boolean;
1349
+ "stripe_mode": ("test" | "live");
1350
+ "subscription"?: AdministrativeSchemas["AdminBillingSubscription"];
1351
+ "usage": AdministrativeSchemas["AdminBillingUsage"];
1352
+ [key: string]: unknown;
1353
+ };
1354
+ "AdminBillingPlan": {
1355
+ "checkout_available"?: boolean;
1356
+ "custom"?: boolean;
1357
+ "custom_domain_limit": number;
1358
+ "daily_message_cap"?: number;
1359
+ "domain_annual_com_reference_cents": number;
1360
+ "inbox_limit": number;
1361
+ "included_messages_monthly": number;
1362
+ "member_limit": number;
1363
+ "monthly_price_cents": number;
1364
+ "name": string;
1365
+ "pod_limit": number;
1366
+ "storage_bytes": number;
1367
+ "tier": ("free" | "developer" | "startup" | "enterprise");
1368
+ "webhook_limit": number;
1369
+ [key: string]: unknown;
1370
+ };
1371
+ "AdminBillingSubscription": {
1372
+ "cancel_at_period_end": boolean;
1373
+ "current_period_end"?: string;
1374
+ "current_period_start"?: string;
1375
+ "customer_id": string;
1376
+ "org_id": string;
1377
+ "plan_tier": ("free" | "developer" | "startup" | "enterprise");
1378
+ "status": string;
1379
+ "stripe_customer_id"?: string;
1380
+ "stripe_price_id"?: string;
1381
+ "stripe_subscription_id"?: string;
1382
+ "stripe_subscription_item_id"?: string;
1383
+ [key: string]: unknown;
1384
+ };
1385
+ "AdminBillingUsage": {
1386
+ "billing_owner_id": string;
1387
+ "customer_id": string;
1388
+ "message_quota_exceeded": boolean;
1389
+ "message_quota_limit": number;
1390
+ "message_quota_remaining": number;
1391
+ "month": string;
1392
+ "received_messages": number;
1393
+ "received_recipients": number;
1394
+ "sent_messages": number;
1395
+ "sent_recipients": number;
1396
+ "storage_bytes": number;
1397
+ "storage_captured_at"?: string;
1398
+ "storage_included_bytes": number;
1399
+ "storage_mailbox_count": number;
1400
+ "storage_over_limit_bytes": number;
1401
+ "storage_peak_over_limit_bytes": number;
1402
+ "storage_peak_used_bytes": number;
1403
+ "storage_quota_exceeded": boolean;
1404
+ "storage_used_bytes": number;
1405
+ "total_messages": number;
1406
+ [key: string]: unknown;
1407
+ };
1408
+ "AdminCreateCategoryRequest": {
1409
+ "description"?: string;
1410
+ "name": string;
1411
+ "scope"?: ("org_shared" | "agent_private");
1412
+ [key: string]: unknown;
1413
+ };
1414
+ "AdminCreateInboxRequest": {
1415
+ "agent_id": string;
1416
+ "display_name"?: string;
1417
+ "domain"?: string;
1418
+ "domain_id"?: string;
1419
+ "username"?: string;
1420
+ "webhook_url"?: string;
1421
+ [key: string]: unknown;
1422
+ };
1423
+ "AdminIdentity": {
1424
+ "clerk_user_id"?: string;
1425
+ "email"?: string;
1426
+ [key: string]: unknown;
1427
+ };
1428
+ "AdminInbox": {
1429
+ "address"?: string;
1430
+ "agent_id"?: string;
1431
+ "created_at"?: string;
1432
+ "daily_send_cap"?: number;
1433
+ "daily_send_used"?: number;
1434
+ "direct_smtp_enabled"?: boolean;
1435
+ "domain"?: string;
1436
+ "id"?: string;
1437
+ "webhook_url"?: string;
1438
+ [key: string]: unknown;
1439
+ };
1440
+ "AdminInboxList": {
1441
+ "inboxes"?: Array<AdministrativeSchemas["AdminInbox"]>;
1442
+ "next_page"?: string;
1443
+ [key: string]: unknown;
1444
+ };
1445
+ "AdminMe": {
1446
+ "active_org_hint"?: string;
1447
+ "active_project_hint"?: string;
1448
+ "identity": AdministrativeSchemas["AdminIdentity"];
1449
+ "last_project_by_org": Record<string, unknown>;
1450
+ "pending_signup_claims": Array<AdministrativeSchemas["PendingSignupClaim"]>;
1451
+ "projects_by_org": Record<string, unknown>;
1452
+ "reachable_orgs": Array<AdministrativeSchemas["AdminReachableOrg"]>;
1453
+ [key: string]: unknown;
1454
+ };
1455
+ "AdminMessage": {
1456
+ "body"?: string;
1457
+ "cc"?: string;
1458
+ "date"?: string;
1459
+ "direction"?: ("inbound" | "outbound");
1460
+ "extracted_html"?: string;
1461
+ "extracted_text"?: string;
1462
+ "from"?: string;
1463
+ "has_attachments"?: boolean;
1464
+ "html"?: string;
1465
+ "id"?: string;
1466
+ "in_reply_to"?: string;
1467
+ "message_id"?: string;
1468
+ "references"?: string;
1469
+ "reply_to"?: string;
1470
+ "seen"?: boolean;
1471
+ "sent_copy_status"?: AdministrativeSchemas["SentCopyStatus"];
1472
+ "sent_message_id"?: string | null;
1473
+ "seq"?: string;
1474
+ "subject"?: string;
1475
+ "submission_id"?: string;
1476
+ "text"?: string;
1477
+ "thread_id"?: string;
1478
+ "to"?: string;
1479
+ "transport"?: AdministrativeSchemas["TransportCounts"];
1480
+ [key: string]: unknown;
1481
+ };
1482
+ "AdminMessageDetail": (AdministrativeSchemas["Message"] & {
1483
+ "attachments"?: Array<AdministrativeSchemas["Attachment"]>;
1484
+ [key: string]: unknown;
1485
+ });
1486
+ "AdminMessageList": {
1487
+ "messages"?: Array<AdministrativeSchemas["AdminMessage"]>;
1488
+ [key: string]: unknown;
1489
+ };
1490
+ "AdminOrgLimits": {
1491
+ "max_child_orgs"?: number;
1492
+ "max_projects"?: number;
1493
+ [key: string]: unknown;
1494
+ };
1495
+ "AdminReachableOrg": {
1496
+ "breadcrumb": Array<string>;
1497
+ "customer_id": string;
1498
+ "depth": number;
1499
+ "display_name": string;
1500
+ "id": string;
1501
+ "limits": AdministrativeSchemas["AdminOrgLimits"];
1502
+ "parent_org_id"?: string | null;
1503
+ "plan_tier": string;
1504
+ "role": ("owner" | "admin" | "member" | "viewer" | "billing");
1505
+ "root_org_id": string;
1506
+ "source": ("direct" | "inherited" | "msp_grant");
1507
+ [key: string]: unknown;
1508
+ };
1509
+ "AdminRegisterWebhookRequest": (AdministrativeSchemas["RegisterWebhookRequest"] & {
1510
+ "agent_id": string;
1511
+ [key: string]: unknown;
1512
+ });
1513
+ "AdminReviewAction": {
1514
+ "body"?: string;
1515
+ "feedback"?: string;
1516
+ "revision": number;
1517
+ "subject"?: string;
1518
+ "version": number;
1519
+ [key: string]: unknown;
1520
+ };
1521
+ "AdminReviewChatRequest": {
1522
+ "text": string;
1523
+ [key: string]: unknown;
1524
+ };
1525
+ "AdminReviewDetail": {
1526
+ "review": AdministrativeSchemas["Review"];
1527
+ "turns": Array<AdministrativeSchemas["ReviewTurn"]>;
1528
+ [key: string]: unknown;
1529
+ };
1530
+ "AdminReviewListItem": {
1531
+ "agent_id"?: string;
1532
+ "category_id"?: string;
1533
+ "created_at"?: string;
1534
+ "effective_mode": ("review" | "direct");
1535
+ "escalation_reason"?: string;
1536
+ "from_address"?: string;
1537
+ "gate_outcome"?: string;
1538
+ "hop_count"?: number;
1539
+ "id": string;
1540
+ "intent_summary"?: string;
1541
+ "kind": ("send" | "reply" | "forward");
1542
+ "mode": ("review" | "direct");
1543
+ "revision": number;
1544
+ "snippet"?: string;
1545
+ "stale_reason"?: string;
1546
+ "state": ("needs_review" | "in_review" | "chatting" | "stale" | "approved" | "sent" | "auto_sent" | "rejected" | "stalled" | "cancelled" | "failed");
1547
+ "subject"?: string;
1548
+ "updated_at"?: string;
1549
+ "version": number;
1550
+ [key: string]: unknown;
1551
+ };
1552
+ "AdminReviewPage": {
1553
+ "items": Array<AdministrativeSchemas["AdminReviewListItem"]>;
1554
+ "next_cursor"?: string;
1555
+ "total": number;
1556
+ [key: string]: unknown;
1557
+ };
1558
+ "AdminReviewRejectResult": {
1559
+ "review_id": string;
1560
+ "state": string;
1561
+ "status": string;
1562
+ [key: string]: unknown;
1563
+ };
1564
+ "AdminReviewSendResult": {
1565
+ "message_id": string;
1566
+ "review_id": string;
1567
+ "sent_copy_status"?: AdministrativeSchemas["SentCopyStatus"];
1568
+ "sent_message_id"?: string | null;
1569
+ "state": string;
1570
+ "status": string;
1571
+ "submission_id"?: string;
1572
+ "thread_id"?: string;
1573
+ "transport"?: AdministrativeSchemas["TransportCounts"];
1574
+ [key: string]: unknown;
1575
+ };
1576
+ "AdminSaveProjectRuleRequest": {
1577
+ "category_id"?: string;
1578
+ "kind"?: ("soft" | "hard");
1579
+ "priority"?: number;
1580
+ "propagate_to_pending"?: boolean;
1581
+ "rule_text": string;
1582
+ "scope"?: ("general" | "category");
1583
+ "suggested_batch"?: number;
1584
+ "supersedes_id"?: string;
1585
+ [key: string]: unknown;
1586
+ };
1587
+ "AdminThreadDetail": {
1588
+ "last_message_at"?: string;
1589
+ "last_message_id"?: string;
1590
+ "message_count"?: number;
1591
+ "messages"?: Array<AdministrativeSchemas["AdminMessage"]>;
1592
+ "participants"?: Array<string>;
1593
+ "snippet"?: string;
1594
+ "subject"?: string;
1595
+ "thread_id"?: string;
1596
+ "unread"?: boolean;
1597
+ [key: string]: unknown;
1598
+ };
1599
+ "AdminThreadList": {
1600
+ "next_cursor"?: string;
1601
+ "threads"?: Array<AdministrativeSchemas["AdminUnifiedThread"]>;
1602
+ "total"?: number;
1603
+ [key: string]: unknown;
1604
+ };
1605
+ "AdminUnifiedThread": {
1606
+ "id"?: string;
1607
+ "inbox"?: string;
1608
+ "last_message_at"?: string;
1609
+ "last_message_has_attachments"?: boolean;
1610
+ "last_message_id"?: string;
1611
+ "message_count"?: number;
1612
+ "participants"?: Array<string>;
1613
+ "snippet"?: string;
1614
+ "subject"?: string;
1615
+ "unread"?: boolean;
1616
+ [key: string]: unknown;
1617
+ };
1618
+ "AdminUnifiedThreadFeed": {
1619
+ "failed_inboxes"?: Array<string>;
1620
+ "inbox_count"?: number;
1621
+ "next_cursor"?: string;
1622
+ "partial_failure"?: boolean;
1623
+ "threads"?: Array<AdministrativeSchemas["AdminUnifiedThread"]>;
1624
+ "total"?: number;
1625
+ [key: string]: unknown;
1626
+ };
1627
+ "AdminUpdateInboxRequest": {
1628
+ "daily_send_limit"?: number;
1629
+ "direct_smtp_enabled"?: boolean;
1630
+ };
1631
+ "AgentKeyList": {
1632
+ "keys"?: Array<AdministrativeSchemas["AgentKeySummary"]>;
1633
+ "next_page"?: string;
1634
+ [key: string]: unknown;
1635
+ };
1636
+ "AgentKeySummary": {
1637
+ "agent_handle"?: string;
1638
+ "agent_id"?: string;
1639
+ "agent_name"?: string;
1640
+ "ceiling_inbox_id"?: string;
1641
+ "created_at"?: string;
1642
+ "enrollment_token_id"?: string;
1643
+ "expires_at"?: string;
1644
+ "id"?: string;
1645
+ "key_tier"?: ("org" | "project" | "inbox");
1646
+ "last_used_at"?: string;
1647
+ "prefix"?: string;
1648
+ "revoked"?: boolean;
1649
+ "scopes"?: Array<string>;
1650
+ [key: string]: unknown;
1651
+ };
1652
+ "AgentList": {
1653
+ "agents"?: Array<AdministrativeSchemas["AgentSummary"]>;
1654
+ "next_page"?: string;
1655
+ [key: string]: unknown;
1656
+ };
1657
+ "AgentStatusResult": {
1658
+ "agent_id"?: string;
1659
+ "status"?: ("active" | "disabled");
1660
+ [key: string]: unknown;
1661
+ };
1662
+ "AgentSummary": {
1663
+ "created_at"?: string;
1664
+ "handle"?: string;
1665
+ "id"?: string;
1666
+ "last_seen_at"?: string | null;
1667
+ "mailbox_count"?: number;
1668
+ "name"?: string;
1669
+ "status"?: ("active" | "disabled");
1670
+ [key: string]: unknown;
1671
+ };
1672
+ "Attachment": {
1673
+ "content_type"?: string;
1674
+ "filename"?: string;
1675
+ "id"?: string;
1676
+ "size"?: number;
1677
+ [key: string]: unknown;
1678
+ };
1679
+ "AttachmentInput": {
1680
+ "content_base64": string;
1681
+ "content_type"?: string;
1682
+ "filename"?: string;
1683
+ [key: string]: unknown;
1684
+ };
1685
+ "AttachmentPage": {
1686
+ "items"?: Array<AdministrativeSchemas["Attachment"]>;
1687
+ "total"?: number;
1688
+ [key: string]: unknown;
1689
+ };
1690
+ "AuditEvent": {
1691
+ "action"?: string;
1692
+ "actor"?: string;
1693
+ "created_at"?: string;
1694
+ "id"?: string;
1695
+ "metadata"?: Record<string, unknown>;
1696
+ "severity"?: ("info" | "warn" | "error");
1697
+ "target"?: string;
1698
+ [key: string]: unknown;
1699
+ };
1700
+ "AuditList": {
1701
+ "events"?: Array<AdministrativeSchemas["AuditEvent"]>;
1702
+ "next_page"?: string;
1703
+ [key: string]: unknown;
1704
+ };
1705
+ "Category": {
1706
+ "author_kind": ("agent" | "human" | "connection");
1707
+ "clean_approval_count"?: number;
1708
+ "created_at"?: string;
1709
+ "created_by_agent_id"?: string;
1710
+ "description": string;
1711
+ "drift_count"?: number;
1712
+ "graduated_at"?: string;
1713
+ "graduated_by"?: string;
1714
+ "id": string;
1715
+ "last_used_at"?: string;
1716
+ "merged_into"?: string;
1717
+ "message_count_30d"?: number;
1718
+ "message_count_7d"?: number;
1719
+ "message_count_90d"?: number;
1720
+ "name": string;
1721
+ "never_graduate"?: boolean;
1722
+ "pending_review_count"?: number;
1723
+ "rule_high_water": number;
1724
+ "rules_version": number;
1725
+ "scope": ("org_shared" | "agent_private");
1726
+ "state": ("supervised" | "auto_notify" | "auto_silent");
1727
+ "updated_at"?: string;
1728
+ [key: string]: unknown;
1729
+ };
1730
+ "CategoryPacingState": {
1731
+ "category_id": string;
1732
+ "cursor_advanced_count": number;
1733
+ "cursor_review_id"?: string;
1734
+ "in_window": number;
1735
+ "items": Array<AdministrativeSchemas["PacingItem"]>;
1736
+ "lookahead_window": number;
1737
+ "nudge_min_interval_ms": number;
1738
+ "queued": number;
1739
+ "redrafting": number;
1740
+ "rework_batch_max": number;
1741
+ [key: string]: unknown;
1742
+ };
1743
+ "CategoryPage": {
1744
+ "items": Array<AdministrativeSchemas["Category"]>;
1745
+ "next_cursor"?: string;
1746
+ "total": number;
1747
+ [key: string]: unknown;
1748
+ };
1749
+ "CategoryRiskDial": {
1750
+ "canary_rate"?: number | null;
1751
+ "category_id": string;
1752
+ "drift_demote_after"?: number | null;
1753
+ "effective": AdministrativeSchemas["EffectiveRiskDial"];
1754
+ "first_contact_gate"?: boolean | null;
1755
+ "graduate_min_age_hours"?: number | null;
1756
+ "graduate_min_approvals"?: number | null;
1757
+ "min_confidence"?: number | null;
1758
+ [key: string]: unknown;
1759
+ };
1760
+ "CategoryRiskDialRequest": {
1761
+ "canary_rate"?: number | null;
1762
+ "drift_demote_after"?: number | null;
1763
+ "first_contact_gate"?: boolean | null;
1764
+ "graduate_min_age_hours"?: number | null;
1765
+ "graduate_min_approvals"?: number | null;
1766
+ "min_confidence"?: number | null;
1767
+ [key: string]: unknown;
1768
+ };
1769
+ "CommerceBlocker": {
1770
+ "code": string;
1771
+ "limit_cents"?: number;
1772
+ "limit_count"?: number;
1773
+ "limit_id"?: string;
1774
+ "manage_url"?: string;
1775
+ "message": string;
1776
+ "requested_cents"?: number;
1777
+ "reserved_cents"?: number;
1778
+ "reserved_count"?: number;
1779
+ "reset_at"?: string;
1780
+ "scope"?: string;
1781
+ "used_cents"?: number;
1782
+ "used_count"?: number;
1783
+ [key: string]: unknown;
1784
+ };
1785
+ "CommerceRequest": {
1786
+ "agent_id"?: string;
1787
+ "agent_next_action": string;
1788
+ "approval_url"?: string;
1789
+ "approved_max_cents"?: number;
1790
+ "auto_renew": boolean;
1791
+ "blocker_code"?: string;
1792
+ "blockers": Array<AdministrativeSchemas["CommerceBlocker"]>;
1793
+ "created_at": string;
1794
+ "currency": string;
1795
+ "current_plan"?: string;
1796
+ "domain"?: string;
1797
+ "domain_scope"?: ("org" | "project");
1798
+ "effective_at"?: string;
1799
+ "external_job_id"?: string;
1800
+ "id": string;
1801
+ "kind": ("domain_purchase" | "plan_change");
1802
+ "notification_last_error"?: string;
1803
+ "notification_state"?: string;
1804
+ "object": ("commerce_request");
1805
+ "payment_action_url"?: string;
1806
+ "poll_after_seconds": number;
1807
+ "project_id"?: string;
1808
+ "quote_cents": number;
1809
+ "quote_expires_at"?: string;
1810
+ "rationale"?: string;
1811
+ "renewal_cents": number;
1812
+ "required_plan"?: string;
1813
+ "required_plan_price_cents"?: number;
1814
+ "retry_safe": boolean;
1815
+ "state": string;
1816
+ "target_plan"?: string;
1817
+ "updated_at": string;
1818
+ "version": number;
1819
+ [key: string]: unknown;
1820
+ };
1821
+ "CommerceRequestPage": {
1822
+ "items": Array<AdministrativeSchemas["CommerceRequest"]>;
1823
+ "next_cursor"?: string;
1824
+ "total": number;
1825
+ [key: string]: unknown;
1826
+ };
1827
+ "CommerceSpendLimit": (AdministrativeSchemas["CommerceSpendLimitInput"] & {
1828
+ "created_at": string;
1829
+ "id": string;
1830
+ "org_id": string;
1831
+ "period_end"?: string;
1832
+ "period_start": string;
1833
+ "purchased_count": number;
1834
+ "reserved_cents": number;
1835
+ "reserved_count": number;
1836
+ "spent_cents": number;
1837
+ "updated_at": string;
1838
+ "version": number;
1839
+ [key: string]: unknown;
1840
+ });
1841
+ "CommerceSpendLimitInput": {
1842
+ "active"?: boolean;
1843
+ "agent_id"?: string;
1844
+ "allow_premium": boolean;
1845
+ "allowed_tlds"?: Array<string>;
1846
+ "budget_cents": number;
1847
+ "budget_enabled": boolean;
1848
+ "cadence": ("does_not_repeat" | "weekly" | "monthly" | "quarterly" | "annually");
1849
+ "currency"?: string;
1850
+ "domain_count_enabled": boolean;
1851
+ "domain_count_limit": number;
1852
+ "expected_version"?: number;
1853
+ "expires_at"?: string;
1854
+ "name": string;
1855
+ "per_purchase_enabled": boolean;
1856
+ "per_purchase_max_cents": number;
1857
+ "project_id"?: string;
1858
+ "scope": ("org" | "project" | "agent");
1859
+ [key: string]: unknown;
1860
+ };
1861
+ "ConnectionConsent": {
1862
+ "agent_id"?: string;
1863
+ "agent_org_id"?: string;
1864
+ "duration"?: ("24h" | "until_revoked");
1865
+ "full_control_confirmed"?: boolean;
1866
+ "identity": ("personal_assistant" | "dedicated_agent");
1867
+ "inbox_ids"?: Array<string>;
1868
+ "name": string;
1869
+ "org_id"?: string;
1870
+ "project_id"?: string;
1871
+ "reach": ("inboxes" | "project" | "organization" | "full_account");
1872
+ "scopes": Array<string>;
1873
+ [key: string]: unknown;
1874
+ };
1875
+ "ConnectionConsentResult": {
1876
+ "connection"?: AdministrativeSchemas["ConnectionGrant"];
1877
+ "redirect_url"?: string;
1878
+ [key: string]: unknown;
1879
+ };
1880
+ "ConnectionCreatedCredential": {
1881
+ "agent_id"?: string;
1882
+ "authorizer_id": string;
1883
+ "consumed": boolean;
1884
+ "created_at_ms": number;
1885
+ "created_by_connection_id": string;
1886
+ "created_via_enrollment_id"?: string;
1887
+ "expires_at_ms": number;
1888
+ "id": string;
1889
+ "kind": ("agent_key" | "enrollment_token");
1890
+ "name": string;
1891
+ "org_id": string;
1892
+ "project_id": string;
1893
+ "revoked": boolean;
1894
+ "scopes": Array<string>;
1895
+ [key: string]: unknown;
1896
+ };
1897
+ "ConnectionCreatedCredentialList": {
1898
+ "data": Array<AdministrativeSchemas["ConnectionCreatedCredential"]>;
1899
+ "has_more": boolean;
1900
+ "next_cursor": string | null;
1901
+ "object": ("list");
1902
+ [key: string]: unknown;
1903
+ };
1904
+ "ConnectionEvent": {
1905
+ "action"?: string;
1906
+ "actor"?: string;
1907
+ "authorizer_id"?: string;
1908
+ "connection_id"?: string;
1909
+ "created_at_ms"?: number;
1910
+ "id"?: string;
1911
+ "outcome"?: string;
1912
+ "target"?: string;
1913
+ [key: string]: unknown;
1914
+ };
1915
+ "ConnectionEventList": {
1916
+ "data": Array<AdministrativeSchemas["ConnectionEvent"]>;
1917
+ "has_more": boolean;
1918
+ "next_cursor"?: string | null;
1919
+ "object": ("list");
1920
+ [key: string]: unknown;
1921
+ };
1922
+ "ConnectionGrant": {
1923
+ "agent_id"?: string;
1924
+ "agent_org_id"?: string;
1925
+ "authorizer_id": string;
1926
+ "client_id": string;
1927
+ "consent_version"?: string;
1928
+ "created_at_ms": number;
1929
+ "created_by_connection_id"?: string;
1930
+ "expires_at_ms": number;
1931
+ "id": string;
1932
+ "identity": ("personal_assistant" | "dedicated_agent");
1933
+ "inbox_ids"?: Array<string>;
1934
+ "last_used_at_ms"?: number;
1935
+ "name": string;
1936
+ "org_id"?: string;
1937
+ "project_id"?: string;
1938
+ "reach": ("inboxes" | "project" | "organization" | "full_account");
1939
+ "revoked_at_ms": number;
1940
+ "scopes": Array<string>;
1941
+ [key: string]: unknown;
1942
+ };
1943
+ "ConnectionGrantList": {
1944
+ "data": Array<AdministrativeSchemas["ConnectionGrant"]>;
1945
+ "has_more": boolean;
1946
+ "next_cursor"?: string | null;
1947
+ "object": ("list");
1948
+ [key: string]: unknown;
1949
+ };
1950
+ "CreateAgentRequest": {
1951
+ "name": string;
1952
+ };
1953
+ "CreateBillingCheckoutRequest": {
1954
+ "cancel_url": string;
1955
+ "plan_tier": ("developer" | "startup");
1956
+ "success_url": string;
1957
+ [key: string]: unknown;
1958
+ };
1959
+ "CreateBillingCheckoutResponse": {
1960
+ "id": string;
1961
+ "mode": ("test" | "live");
1962
+ "plan_tier": ("developer" | "startup");
1963
+ "status": string;
1964
+ "subscription": AdministrativeSchemas["AdminBillingSubscription"];
1965
+ "url": string;
1966
+ [key: string]: unknown;
1967
+ };
1968
+ "CreateBillingPortalRequest": {
1969
+ "return_url": string;
1970
+ [key: string]: unknown;
1971
+ };
1972
+ "CreateBillingPortalResponse": {
1973
+ "id": string;
1974
+ "mode": ("test" | "live");
1975
+ "url": string;
1976
+ [key: string]: unknown;
1977
+ };
1978
+ "CreateDomainBillingCheckoutRequest": {
1979
+ "cancel_url": string;
1980
+ "domain": string;
1981
+ "success_url": string;
1982
+ [key: string]: unknown;
1983
+ };
1984
+ "CreateDomainBillingCheckoutResponse": {
1985
+ "baseline_com_cost_cents": number;
1986
+ "currency": string;
1987
+ "domain": string;
1988
+ "domain_annual_price_cents": number;
1989
+ "id": string;
1990
+ "mode": ("test" | "live");
1991
+ "plan_tier": ("developer" | "startup");
1992
+ "registrar_cost_cents": number;
1993
+ "status": string;
1994
+ "stripe_price_id": string;
1995
+ "url": string;
1996
+ [key: string]: unknown;
1997
+ };
1998
+ "CreateDomainPurchaseRequest": {
1999
+ "auto_renew"?: boolean;
2000
+ "domain": string;
2001
+ "project_id"?: string;
2002
+ "rationale"?: string;
2003
+ "scope"?: ("org" | "project");
2004
+ [key: string]: unknown;
2005
+ };
2006
+ "CreateInvitationRequest": {
2007
+ "email": string;
2008
+ "expires_in_days"?: number;
2009
+ "role": ("owner" | "admin" | "member" | "viewer" | "billing");
2010
+ [key: string]: unknown;
2011
+ };
2012
+ "CreateOrgRequest": {
2013
+ "display_name"?: string;
2014
+ "parent_org_id": string;
2015
+ "slug"?: string;
2016
+ [key: string]: unknown;
2017
+ };
2018
+ "CreatePlanChangeRequest": {
2019
+ "project_id"?: string;
2020
+ "rationale"?: string;
2021
+ "target_plan": ("free" | "developer" | "startup");
2022
+ [key: string]: unknown;
2023
+ };
2024
+ "CreateProjectRequest": {
2025
+ "description"?: string;
2026
+ "name": string;
2027
+ "slug"?: string;
2028
+ [key: string]: unknown;
2029
+ };
2030
+ "CreateReviewLinkRequest": {
2031
+ "escalate_after_s"?: number;
2032
+ "hmac_secret"?: string;
2033
+ "inbox_address"?: string;
2034
+ "max_hops"?: number;
2035
+ "review_deadline_s"?: number;
2036
+ "reviewer_agent_id": string;
2037
+ "transport"?: ("webhook" | "sse" | "websocket");
2038
+ "webhook_url"?: string;
2039
+ [key: string]: unknown;
2040
+ };
2041
+ "DecideCommerceRequest": {
2042
+ "approved_max_cents"?: number;
2043
+ "auto_renew"?: boolean;
2044
+ "expected_version": number;
2045
+ "future_authority"?: AdministrativeSchemas["CommerceSpendLimitInput"];
2046
+ "reason"?: string;
2047
+ [key: string]: unknown;
2048
+ };
2049
+ "DelegationHealth": {
2050
+ "checked_at"?: string;
2051
+ "confirmed_at"?: string;
2052
+ "status"?: ("pending" | "confirmed" | "rechecking" | "check_delayed" | "action_required");
2053
+ [key: string]: unknown;
2054
+ };
2055
+ "DeleteCategoryResult": {
2056
+ "category_id": string;
2057
+ "merged_into"?: string;
2058
+ "status": string;
2059
+ [key: string]: unknown;
2060
+ };
2061
+ "DeleteReviewLinkResult": {
2062
+ "deleted": boolean;
2063
+ "swept": number;
2064
+ [key: string]: unknown;
2065
+ };
2066
+ "DomainList": {
2067
+ "domains"?: Array<AdministrativeSchemas["DomainSummary"]>;
2068
+ "next_page"?: string;
2069
+ [key: string]: unknown;
2070
+ };
2071
+ "DomainReadiness": {
2072
+ "action_required_by": ("customer" | "extrovert" | "none");
2073
+ "checked_at"?: string;
2074
+ "inboxes"?: {
2075
+ "needs_attention": number;
2076
+ "ready": number;
2077
+ "scope": ("agent" | "inbox" | "selected_inboxes" | "project" | "organization");
2078
+ "setting_up": number;
2079
+ "total": number;
2080
+ [key: string]: unknown;
2081
+ };
2082
+ "label": string;
2083
+ "next_action": ("check_dns_entries" | "restore_dns" | "wait" | "create_inbox" | "use_inbox" | "ask_owner_to_create_inbox");
2084
+ "next_check_at"?: string;
2085
+ "poll_after_seconds": number;
2086
+ "ready_for_inboxes": boolean;
2087
+ "reason": string;
2088
+ "status": ("waiting_for_dns" | "checking" | "setting_up" | "ready" | "action_required" | "needs_attention");
2089
+ "summary": string;
2090
+ [key: string]: unknown;
2091
+ };
2092
+ "DomainSummary": {
2093
+ "delegation"?: AdministrativeSchemas["DelegationHealth"];
2094
+ "dkim_status"?: string;
2095
+ "domain"?: string;
2096
+ "id"?: string;
2097
+ "mode"?: string;
2098
+ "provisioning_error"?: string;
2099
+ "provisioning_phase"?: string;
2100
+ "readiness"?: AdministrativeSchemas["DomainReadiness"];
2101
+ "shared"?: boolean;
2102
+ "verification_status"?: string;
2103
+ [key: string]: unknown;
2104
+ };
2105
+ "EffectiveRiskDial": {
2106
+ "auto_send_cap_per_day": number;
2107
+ "canary_rate": number;
2108
+ "drift_demote_after": number;
2109
+ "first_contact_gate": boolean;
2110
+ "graduate_min_age_hours": number;
2111
+ "graduate_min_approvals": number;
2112
+ "min_confidence": number;
2113
+ [key: string]: unknown;
2114
+ };
2115
+ "EmailAddress": {
2116
+ "email": string;
2117
+ "name"?: string;
2118
+ [key: string]: unknown;
2119
+ };
2120
+ "EnrollmentTokenList": {
2121
+ "next_page"?: string;
2122
+ "tokens"?: Array<AdministrativeSchemas["EnrollmentTokenSummary"]>;
2123
+ [key: string]: unknown;
2124
+ };
2125
+ "EnrollmentTokenSummary": {
2126
+ "created_at"?: string;
2127
+ "daily_send_limit"?: number;
2128
+ "id"?: string;
2129
+ "label"?: string;
2130
+ "max_mailboxes"?: number;
2131
+ "prefix"?: string;
2132
+ "reusable"?: boolean;
2133
+ "revoked"?: boolean;
2134
+ "scopes"?: Array<string>;
2135
+ "used_count"?: number;
2136
+ [key: string]: unknown;
2137
+ };
2138
+ "GraduateCategoryRequest": {
2139
+ "to_state": ("auto_notify" | "auto_silent");
2140
+ [key: string]: unknown;
2141
+ };
2142
+ "GraduationStatus": {
2143
+ "age_hours": number;
2144
+ "age_met": boolean;
2145
+ "approvals_met": boolean;
2146
+ "can_graduate": boolean;
2147
+ "category_id": string;
2148
+ "clean_approval_count": number;
2149
+ "drift_count": number;
2150
+ "drift_demote_after": number;
2151
+ "graduate_min_age_hours": number;
2152
+ "graduate_min_approvals": number;
2153
+ "maturity_gate_met": boolean;
2154
+ "never_graduate": boolean;
2155
+ "next_state": string;
2156
+ "state": ("supervised" | "auto_notify" | "auto_silent");
2157
+ [key: string]: unknown;
2158
+ };
2159
+ "InboxReviewPolicy": {
2160
+ "account": ("require_review" | "allow_direct" | "auto_send_graduated");
2161
+ "address": string;
2162
+ "effective": ("require_review" | "allow_direct" | "auto_send_graduated");
2163
+ "override": string;
2164
+ [key: string]: unknown;
2165
+ };
2166
+ "InboxReviewPolicyRequest": {
2167
+ "policy"?: ("require_review" | "allow_direct" | "auto_send_graduated");
2168
+ [key: string]: unknown;
2169
+ };
2170
+ "IssueAgentKeyRequest": {
2171
+ "agent_id": string;
2172
+ "expires_in_hours"?: number;
2173
+ "scopes": Array<string>;
2174
+ [key: string]: unknown;
2175
+ };
2176
+ "IssueAgentKeyResult": {
2177
+ "agent_handle"?: string;
2178
+ "agent_id"?: string;
2179
+ "agent_name"?: string;
2180
+ "ceiling_inbox_id"?: string;
2181
+ "created_at"?: string;
2182
+ "enrollment_token_id"?: string;
2183
+ "expires_at"?: string;
2184
+ "id"?: string;
2185
+ "key"?: string;
2186
+ "key_tier"?: ("org" | "project" | "inbox");
2187
+ "prefix"?: string;
2188
+ "scopes"?: Array<string>;
2189
+ [key: string]: unknown;
2190
+ };
2191
+ "IssueEnrollmentTokenRequest": {
2192
+ "allowed_domains"?: Array<string>;
2193
+ "daily_send_limit"?: number;
2194
+ "expires_in_hours"?: number;
2195
+ "label"?: string;
2196
+ "max_mailboxes"?: number;
2197
+ "reusable"?: boolean;
2198
+ "scopes"?: Array<string>;
2199
+ [key: string]: unknown;
2200
+ };
2201
+ "IssueEnrollmentTokenResult": {
2202
+ "daily_send_limit"?: number;
2203
+ "id"?: string;
2204
+ "max_mailboxes"?: number;
2205
+ "prefix"?: string;
2206
+ "scopes"?: Array<string>;
2207
+ "token"?: string;
2208
+ [key: string]: unknown;
2209
+ };
2210
+ "MergeCategoryRequest": {
2211
+ "into_category_id": string;
2212
+ [key: string]: unknown;
2213
+ };
2214
+ "MergeCategoryResult": {
2215
+ "category": AdministrativeSchemas["Category"];
2216
+ "review_requests_repointed": number;
2217
+ "writing_rules_repointed": number;
2218
+ [key: string]: unknown;
2219
+ };
2220
+ "Message": {
2221
+ "cc"?: Array<AdministrativeSchemas["EmailAddress"]>;
2222
+ "date"?: string;
2223
+ "direction"?: ("inbound" | "outbound");
2224
+ "extracted_html"?: string | null;
2225
+ "extracted_text"?: string | null;
2226
+ "folder"?: string;
2227
+ "from"?: AdministrativeSchemas["EmailAddress"];
2228
+ "html"?: string | null;
2229
+ "id"?: string;
2230
+ "in_reply_to"?: string;
2231
+ "inbox"?: string;
2232
+ "message_id"?: string;
2233
+ "references"?: string;
2234
+ "reply_to"?: Array<AdministrativeSchemas["EmailAddress"]>;
2235
+ "seen"?: boolean;
2236
+ "sent_copy_status"?: AdministrativeSchemas["SentCopyStatus"];
2237
+ "sent_message_id"?: string | null;
2238
+ "subject"?: string;
2239
+ "submission_id"?: string;
2240
+ "text"?: string | null;
2241
+ "thread_id"?: string;
2242
+ "to"?: Array<AdministrativeSchemas["EmailAddress"]>;
2243
+ "transport"?: AdministrativeSchemas["TransportCounts"];
2244
+ [key: string]: unknown;
2245
+ };
2246
+ "NeverGraduateRequest": {
2247
+ "locked": boolean;
2248
+ [key: string]: unknown;
2249
+ };
2250
+ "OnboardDomainRequest": {
2251
+ "domain": string;
2252
+ "mode": ("ns_delegated" | "purchased");
2253
+ [key: string]: unknown;
2254
+ };
2255
+ "OnboardDomainResult": {
2256
+ "delegation"?: AdministrativeSchemas["DelegationHealth"];
2257
+ "delegation_ns"?: Array<AdministrativeSchemas["RecordInstruction"]>;
2258
+ "domain"?: string;
2259
+ "instruction"?: string;
2260
+ "mode"?: ("shared" | "ns_delegated" | "manual" | "purchased");
2261
+ "provisioning_error"?: string;
2262
+ "provisioning_phase"?: string;
2263
+ "readiness"?: AdministrativeSchemas["DomainReadiness"];
2264
+ "records"?: Array<AdministrativeSchemas["RecordInstruction"]>;
2265
+ "verification_status"?: string;
2266
+ "zone_id"?: string;
2267
+ [key: string]: unknown;
2268
+ };
2269
+ "Org": {
2270
+ "created_at": string;
2271
+ "customer_id": string;
2272
+ "display_name": string;
2273
+ "id": string;
2274
+ "lifecycle_status": ("active" | "archived" | "deleted");
2275
+ "max_child_orgs": number;
2276
+ "max_projects": number;
2277
+ "parent_org_id"?: string | null;
2278
+ "plan_tier": string;
2279
+ "root_org_id": string;
2280
+ "slug": string;
2281
+ "updated_at": string;
2282
+ "version": number;
2283
+ [key: string]: unknown;
2284
+ };
2285
+ "OrgInvitation": {
2286
+ "created_at": string;
2287
+ "email": string;
2288
+ "expires_at": string;
2289
+ "id": string;
2290
+ "org_id": string;
2291
+ "role": ("owner" | "admin" | "member" | "viewer" | "billing");
2292
+ "status": ("pending" | "accepted" | "revoked" | "expired");
2293
+ "token"?: string;
2294
+ "token_prefix": string;
2295
+ [key: string]: unknown;
2296
+ };
2297
+ "OrgList": {
2298
+ "orgs"?: Array<AdministrativeSchemas["Org"]>;
2299
+ [key: string]: unknown;
2300
+ };
2301
+ "OrgMember": {
2302
+ "clerk_user_id": string;
2303
+ "created_at": string;
2304
+ "email": string;
2305
+ "role": ("owner" | "admin" | "member" | "viewer" | "billing");
2306
+ "updated_at": string;
2307
+ [key: string]: unknown;
2308
+ };
2309
+ "OrgMemberList": {
2310
+ "members"?: Array<AdministrativeSchemas["OrgMember"]>;
2311
+ [key: string]: unknown;
2312
+ };
2313
+ "OrgSettings": {
2314
+ "default_domain"?: string;
2315
+ "default_mailbox_cap"?: number;
2316
+ "default_onboarding_mode"?: string;
2317
+ "early_access"?: boolean;
2318
+ "org_name"?: string;
2319
+ "webhook_signing_prefix"?: string;
2320
+ "x402_mode"?: string;
2321
+ [key: string]: unknown;
2322
+ };
2323
+ "PacingItem": {
2324
+ "review_id": string;
2325
+ "state": ("behind_cursor" | "in_window_fresh" | "in_window_redrafting" | "ahead");
2326
+ [key: string]: unknown;
2327
+ };
2328
+ "PatchOrgRequest": {
2329
+ "display_name"?: string;
2330
+ "expected_version"?: number;
2331
+ "slug"?: string;
2332
+ [key: string]: unknown;
2333
+ };
2334
+ "PatchOrgSettingsRequest": {
2335
+ "default_domain"?: string;
2336
+ "default_mailbox_cap"?: number;
2337
+ "default_onboarding_mode"?: string;
2338
+ "early_access"?: boolean;
2339
+ "org_name"?: string;
2340
+ "webhook_signing_prefix"?: string;
2341
+ "x402_mode"?: string;
2342
+ [key: string]: unknown;
2343
+ };
2344
+ "PatchProjectRequest": {
2345
+ "description"?: string;
2346
+ "expected_version"?: number;
2347
+ "name"?: string;
2348
+ "slug"?: string;
2349
+ [key: string]: unknown;
2350
+ };
2351
+ "PendingSignupClaim": {
2352
+ "created_at": string;
2353
+ "expires_at": string;
2354
+ "id": string;
2355
+ "org_id": string;
2356
+ "role": ("owner");
2357
+ [key: string]: unknown;
2358
+ };
2359
+ "PersonalCategory": {
2360
+ "description": string;
2361
+ "email": boolean;
2362
+ "id": ("review" | "purchase_approval" | "purchase_completed" | "purchase_problem" | "domain_progress" | "domain_action" | "domain_ready" | "domain_problem" | "sending_problem");
2363
+ "label": string;
2364
+ "push": boolean;
2365
+ [key: string]: unknown;
2366
+ };
2367
+ "PersonalNotice": {
2368
+ "action_path": string;
2369
+ "actionable": boolean;
2370
+ "body": string;
2371
+ "category": string;
2372
+ "created_ms": number;
2373
+ "email_status": ("off" | "pending" | "sent" | "failed" | "suppressed");
2374
+ "id": string;
2375
+ "kind": string;
2376
+ "notice_id": string;
2377
+ "org_id": string;
2378
+ "project_id": string;
2379
+ "push_status": ("off" | "pending" | "sent" | "failed" | "suppressed");
2380
+ "source_id": string;
2381
+ "source_version": number;
2382
+ "title": string;
2383
+ [key: string]: unknown;
2384
+ };
2385
+ "PersonalNotificationBatch": {
2386
+ "attempt"?: number;
2387
+ "channel": ("push" | "email");
2388
+ "created_ms"?: number;
2389
+ "device_id"?: string;
2390
+ "id": string;
2391
+ "items": Array<AdministrativeSchemas["PersonalNotice"]>;
2392
+ "status": string;
2393
+ [key: string]: unknown;
2394
+ };
2395
+ "PersonalNotificationHistory": {
2396
+ "items": Array<AdministrativeSchemas["PersonalNotice"]>;
2397
+ "next_cursor"?: string;
2398
+ [key: string]: unknown;
2399
+ };
2400
+ "PersonalNotificationSettings": {
2401
+ "email": string;
2402
+ "email_status": ("verified" | "unavailable");
2403
+ "preferences": AdministrativeSchemas["PersonalPreferences"];
2404
+ "push_available": boolean;
2405
+ [key: string]: unknown;
2406
+ };
2407
+ "PersonalPreferencePatch": {
2408
+ "category"?: string;
2409
+ "email"?: boolean;
2410
+ "expected_version": number;
2411
+ "grouping_minutes"?: (1 | 5 | 15);
2412
+ "push"?: boolean;
2413
+ };
2414
+ "PersonalPreferences": {
2415
+ "categories": Array<AdministrativeSchemas["PersonalCategory"]>;
2416
+ "grouping_minutes": (1 | 5 | 15);
2417
+ "version": number;
2418
+ [key: string]: unknown;
2419
+ };
2420
+ "PersonalPushDevice": {
2421
+ "created_ms": number;
2422
+ "enabled": boolean;
2423
+ "endpoint": string;
2424
+ "id": string;
2425
+ "label": string;
2426
+ "last_accepted_ms": number;
2427
+ "status": ("active" | "expired");
2428
+ "updated_ms": number;
2429
+ "version": number;
2430
+ [key: string]: unknown;
2431
+ };
2432
+ "PersonalPushDevicePatch": {
2433
+ "enabled"?: boolean;
2434
+ "expected_version": number;
2435
+ "label"?: string;
2436
+ };
2437
+ "PersonalPushEnrollment": {
2438
+ "auth": string;
2439
+ "endpoint": string;
2440
+ "label": string;
2441
+ "p256dh": string;
2442
+ };
2443
+ "Project": {
2444
+ "created_at": string;
2445
+ "customer_id": string;
2446
+ "description": string;
2447
+ "id": string;
2448
+ "is_default": boolean;
2449
+ "lifecycle_status": ("active" | "archived" | "deleted");
2450
+ "name": string;
2451
+ "org_id": string;
2452
+ "slug": string;
2453
+ "updated_at": string;
2454
+ "version": number;
2455
+ [key: string]: unknown;
2456
+ };
2457
+ "ProjectList": {
2458
+ "projects"?: Array<AdministrativeSchemas["Project"]>;
2459
+ [key: string]: unknown;
2460
+ };
2461
+ "PromoteRuleRequest": {
2462
+ "to_scope": ("general" | "category");
2463
+ [key: string]: unknown;
2464
+ };
2465
+ "RealtimeTicket": {
2466
+ "expires_at": string;
2467
+ "ticket": string;
2468
+ [key: string]: unknown;
2469
+ };
2470
+ "ReconcileMessageOutcome": {
2471
+ "composed_category_rules_version": number;
2472
+ "composed_house_style_version": number;
2473
+ "current_category_rules_version": number;
2474
+ "current_house_style_version": number;
2475
+ "gate_outcome"?: string;
2476
+ "held_reason"?: string;
2477
+ "nudged": boolean;
2478
+ "released": boolean;
2479
+ "review_id": string;
2480
+ "verdict": ("current_enough" | "stale");
2481
+ [key: string]: unknown;
2482
+ };
2483
+ "ReconcileResult": {
2484
+ "category_id": string;
2485
+ "current_category_rules_version": number;
2486
+ "current_house_style_version": number;
2487
+ "held_by_gate": number;
2488
+ "outcomes": Array<AdministrativeSchemas["ReconcileMessageOutcome"]>;
2489
+ "released": number;
2490
+ "scanned": number;
2491
+ "stale": number;
2492
+ "staleness_tolerance": number;
2493
+ "trigger": ("graduate" | "rule_change" | "scan_backlog");
2494
+ [key: string]: unknown;
2495
+ };
2496
+ "RecordInstruction": {
2497
+ "name"?: string;
2498
+ "priority"?: number | null;
2499
+ "ttl"?: number;
2500
+ "type"?: string;
2501
+ "value"?: string;
2502
+ [key: string]: unknown;
2503
+ };
2504
+ "RegisterWebhookRequest": {
2505
+ "address"?: string;
2506
+ "client_id"?: string;
2507
+ "event_types"?: Array<("message.received")>;
2508
+ "events"?: Array<("message.received")>;
2509
+ "inbox"?: string;
2510
+ "url": string;
2511
+ [key: string]: unknown;
2512
+ };
2513
+ "ReplyRequest": (unknown | unknown);
2514
+ "ReputationFinding": {
2515
+ "detail": string;
2516
+ "domain"?: string;
2517
+ "first_seen_at": string;
2518
+ "id": string;
2519
+ "last_seen_at": string;
2520
+ "resolved_at"?: string;
2521
+ "sender"?: string;
2522
+ "severity": ("low" | "high" | "unknown");
2523
+ "status": ("open" | "resolved");
2524
+ "title": string;
2525
+ "type": string;
2526
+ [key: string]: unknown;
2527
+ };
2528
+ "ReputationFindingsPage": {
2529
+ "items": Array<AdministrativeSchemas["ReputationFinding"]>;
2530
+ "next_cursor"?: string;
2531
+ "total": number;
2532
+ [key: string]: unknown;
2533
+ };
2534
+ "ReputationMetrics": {
2535
+ "bounce_rate": number;
2536
+ "bounces": number;
2537
+ "complaint_rate": number;
2538
+ "complaints": number;
2539
+ "sends": number;
2540
+ "window_end"?: string;
2541
+ "window_start"?: string;
2542
+ [key: string]: unknown;
2543
+ };
2544
+ "ReputationRollup": {
2545
+ "configured": boolean;
2546
+ "last_checked_at"?: string;
2547
+ "metrics": AdministrativeSchemas["ReputationMetrics"];
2548
+ "object": ("reputation");
2549
+ "open_findings": number;
2550
+ "org_id": string;
2551
+ "sending_status": string;
2552
+ "status": string;
2553
+ [key: string]: unknown;
2554
+ };
2555
+ "Review": {
2556
+ "agent_id"?: string;
2557
+ "category_id"?: string;
2558
+ "closed"?: boolean;
2559
+ "created_at"?: string;
2560
+ "decided_at"?: string;
2561
+ "decision_feedback"?: string;
2562
+ "diff_unified"?: string;
2563
+ "effective_mode": ("review" | "direct");
2564
+ "from_address"?: string;
2565
+ "gate_outcome"?: string;
2566
+ "id": string;
2567
+ "intent_meta"?: Record<string, unknown>;
2568
+ "intent_summary"?: string;
2569
+ "kind": ("send" | "reply" | "forward");
2570
+ "mode": ("review" | "direct");
2571
+ "proposed_bcc"?: Array<string>;
2572
+ "proposed_body_html"?: string;
2573
+ "proposed_body_text"?: string;
2574
+ "proposed_cc"?: Array<string>;
2575
+ "proposed_subject"?: string;
2576
+ "proposed_to"?: Array<string>;
2577
+ "revision": number;
2578
+ "send_error"?: string;
2579
+ "send_path"?: ("human_reviewed" | "delegated_reviewed" | "reviewer_approved" | "graduated_auto" | "agent_direct");
2580
+ "sent_at"?: string;
2581
+ "sent_body_text"?: string;
2582
+ "sent_message_id"?: string;
2583
+ "sent_subject"?: string;
2584
+ "stale_reason"?: string;
2585
+ "state": ("needs_review" | "in_review" | "chatting" | "stale" | "approved" | "sent" | "auto_sent" | "rejected" | "stalled" | "cancelled" | "failed");
2586
+ "updated_at"?: string;
2587
+ "version": number;
2588
+ [key: string]: unknown;
2589
+ };
2590
+ "ReviewIntent": {
2591
+ "meta"?: {
2592
+ "goal"?: string;
2593
+ "prior_touches"?: number;
2594
+ "recipient"?: string;
2595
+ "urgency"?: string;
2596
+ [key: string]: unknown;
2597
+ };
2598
+ "summary"?: string;
2599
+ [key: string]: unknown;
2600
+ };
2601
+ "ReviewLink": {
2602
+ "active": boolean;
2603
+ "consec_failures": number;
2604
+ "created_at": string;
2605
+ "escalate_after_s": number;
2606
+ "has_secret": boolean;
2607
+ "id": string;
2608
+ "inbox_address"?: string;
2609
+ "max_hops": number;
2610
+ "review_deadline_s": number;
2611
+ "reviewer_agent_id": string;
2612
+ "transport": ("webhook" | "sse" | "websocket");
2613
+ "updated_at": string;
2614
+ "webhook_url"?: string;
2615
+ [key: string]: unknown;
2616
+ };
2617
+ "ReviewLinkList": {
2618
+ "review_links": Array<AdministrativeSchemas["ReviewLink"]>;
2619
+ [key: string]: unknown;
2620
+ };
2621
+ "ReviewPolicy": {
2622
+ "effective": ("require_review" | "allow_direct" | "auto_send_graduated");
2623
+ "policy": ("require_review" | "allow_direct" | "auto_send_graduated");
2624
+ [key: string]: unknown;
2625
+ };
2626
+ "ReviewPolicyRequest": {
2627
+ "policy": ("require_review" | "allow_direct" | "auto_send_graduated");
2628
+ [key: string]: unknown;
2629
+ };
2630
+ "ReviewTurn": {
2631
+ "actor_id"?: string;
2632
+ "actor_kind": ("agent" | "human" | "review_agent" | "system" | "connection");
2633
+ "body"?: string;
2634
+ "created_at": string;
2635
+ "diff_json"?: Record<string, unknown>;
2636
+ "id": string;
2637
+ "metadata"?: Record<string, unknown>;
2638
+ "revision"?: number;
2639
+ "seq": number;
2640
+ "turn_type": ("agent_draft" | "agent_question" | "agent_note" | "human_comment" | "human_question" | "human_edit" | "human_approve" | "human_reject" | "human_reconfirm" | "system_diff" | "state_change" | "nudge");
2641
+ [key: string]: unknown;
2642
+ };
2643
+ "RevokeSuppressionRequest": {
2644
+ "reason": string;
2645
+ [key: string]: unknown;
2646
+ };
2647
+ "RiskDial": {
2648
+ "account": AdministrativeSchemas["AccountRiskDial"];
2649
+ "categories": Array<AdministrativeSchemas["CategoryRiskDial"]>;
2650
+ [key: string]: unknown;
2651
+ };
2652
+ "RiskDialRequest": {
2653
+ "auto_send_cap_per_day"?: number;
2654
+ "canary_rate"?: number;
2655
+ "drift_demote_after"?: number;
2656
+ "first_contact_gate"?: boolean;
2657
+ "graduate_min_age_hours"?: number;
2658
+ "graduate_min_approvals"?: number;
2659
+ "min_confidence"?: number;
2660
+ [key: string]: unknown;
2661
+ };
2662
+ "Rule": {
2663
+ "author_kind": ("agent" | "human" | "connection");
2664
+ "category_id"?: string;
2665
+ "created_at": string;
2666
+ "id": string;
2667
+ "kind": ("soft" | "hard");
2668
+ "lineage_id": string;
2669
+ "org_id"?: string;
2670
+ "priority": number;
2671
+ "project_id"?: string;
2672
+ "rev": number;
2673
+ "rule_layer"?: ("org" | "project");
2674
+ "rule_text": string;
2675
+ "scope": ("general" | "category");
2676
+ "scope_agent_id"?: string;
2677
+ "source_review_id"?: string;
2678
+ "source_turn_id"?: string;
2679
+ "status": ("proposed" | "active" | "superseded" | "retired");
2680
+ "supersedes_id"?: string;
2681
+ "updated_at": string;
2682
+ [key: string]: unknown;
2683
+ };
2684
+ "RuleAuditEntry": {
2685
+ "action": ("create" | "supersede" | "retire" | "rename" | "redescribe" | "merge" | "restore");
2686
+ "actor_id"?: string;
2687
+ "actor_kind": ("agent" | "human" | "system" | "connection");
2688
+ "after_json"?: string;
2689
+ "before_json"?: string;
2690
+ "created_at": string;
2691
+ "entity_id": string;
2692
+ "entity_kind": ("rule" | "category");
2693
+ "id": string;
2694
+ "undone": boolean;
2695
+ [key: string]: unknown;
2696
+ };
2697
+ "RuleAuditPage": {
2698
+ "items": Array<AdministrativeSchemas["RuleAuditEntry"]>;
2699
+ "next_cursor"?: string;
2700
+ "total": number;
2701
+ [key: string]: unknown;
2702
+ };
2703
+ "RulePage": {
2704
+ "category_rules_version"?: number;
2705
+ "composition_token"?: string;
2706
+ "composition_token_expires_at"?: string;
2707
+ "house_style_version"?: number;
2708
+ "items": Array<AdministrativeSchemas["Rule"]>;
2709
+ "rule_high_water"?: number;
2710
+ "total": number;
2711
+ [key: string]: unknown;
2712
+ };
2713
+ "ScanBacklogRequest": {
2714
+ "staleness_tolerance"?: number;
2715
+ [key: string]: unknown;
2716
+ };
2717
+ "ScanBacklogStatus": {
2718
+ "category_id": string;
2719
+ "current_category_rules_version": number;
2720
+ "current_enough": number;
2721
+ "current_house_style_version": number;
2722
+ "queued": number;
2723
+ "stale": number;
2724
+ "staleness_tolerance": number;
2725
+ "state": ("supervised" | "auto_notify" | "auto_silent" | "probation");
2726
+ [key: string]: unknown;
2727
+ };
2728
+ "SendRequest": {
2729
+ "attachments"?: Array<AdministrativeSchemas["AttachmentInput"]>;
2730
+ "bcc"?: Array<string>;
2731
+ "body"?: string;
2732
+ "category_confidence"?: number;
2733
+ "category_id"?: string;
2734
+ "cc"?: Array<string>;
2735
+ "composition_token"?: string;
2736
+ "headers"?: Record<string, unknown>;
2737
+ "html"?: string;
2738
+ "idempotency_key"?: string;
2739
+ "in_reply_to"?: string;
2740
+ "intent"?: AdministrativeSchemas["ReviewIntent"];
2741
+ "mode"?: ("review" | "direct");
2742
+ "reply_to"?: string;
2743
+ "subject"?: string;
2744
+ "text"?: string;
2745
+ "to": Array<string>;
2746
+ [key: string]: unknown;
2747
+ };
2748
+ "SendResult": {
2749
+ "message_id"?: string;
2750
+ "review_id"?: string;
2751
+ "sent_copy_status"?: AdministrativeSchemas["SentCopyStatus"];
2752
+ "sent_message_id"?: string | null;
2753
+ "submission_id"?: string;
2754
+ "thread_id"?: string;
2755
+ "transport"?: AdministrativeSchemas["TransportCounts"];
2756
+ [key: string]: unknown;
2757
+ };
2758
+ "SentCopyStatus": ("pending" | "stored" | "unavailable");
2759
+ "StatusResult": {
2760
+ "message_id"?: string;
2761
+ "review_id"?: string;
2762
+ "sent_copy_status"?: AdministrativeSchemas["SentCopyStatus"];
2763
+ "sent_message_id"?: string | null;
2764
+ "status"?: string;
2765
+ "submission_id"?: string;
2766
+ "transport"?: AdministrativeSchemas["TransportCounts"];
2767
+ [key: string]: unknown;
2768
+ };
2769
+ "Submission": {
2770
+ "created_at": string;
2771
+ "inbox": string;
2772
+ "recipients": Array<AdministrativeSchemas["SubmissionRecipient"]>;
2773
+ "sent_copy_status": AdministrativeSchemas["SentCopyStatus"];
2774
+ "sent_message_id": string | null;
2775
+ "submission_id": string;
2776
+ "transport": AdministrativeSchemas["TransportCounts"];
2777
+ "updated_at": string;
2778
+ [key: string]: unknown;
2779
+ };
2780
+ "SubmissionRecipient": {
2781
+ "recipient": string;
2782
+ "state": AdministrativeSchemas["SubmissionRecipientState"];
2783
+ [key: string]: unknown;
2784
+ };
2785
+ "SubmissionRecipientState": ("queued" | "waiting_for_parent" | "transmitting" | "accepted" | "failed" | "dependency_failed" | "unknown");
2786
+ "Suppression": {
2787
+ "created_at": string;
2788
+ "id": string;
2789
+ "narrow_agent_id"?: string;
2790
+ "narrow_mailbox"?: string;
2791
+ "origin_agent_id"?: string;
2792
+ "origin_mailbox"?: string;
2793
+ "origin_message_id"?: string;
2794
+ "reactivation_count": number;
2795
+ "recipient": string;
2796
+ "recipient_raw"?: string;
2797
+ "revoke_reason"?: string;
2798
+ "revoked": boolean;
2799
+ "revoked_at"?: string;
2800
+ "revoked_by"?: string;
2801
+ "scope": ("org");
2802
+ "source": ("one_click" | "page" | "mailto" | "reply_stop" | "manual" | "complaint" | "escalation");
2803
+ [key: string]: unknown;
2804
+ };
2805
+ "SuppressionPage": {
2806
+ "items": Array<AdministrativeSchemas["Suppression"]>;
2807
+ "next_cursor"?: string;
2808
+ "total": number;
2809
+ [key: string]: unknown;
2810
+ };
2811
+ "TransportCounts": {
2812
+ "accepted"?: number;
2813
+ "dependency_failed"?: number;
2814
+ "failed"?: number;
2815
+ "queued"?: number;
2816
+ "transmitting"?: number;
2817
+ "unknown"?: number;
2818
+ "waiting_for_parent"?: number;
2819
+ [key: string]: unknown;
2820
+ };
2821
+ "UpdateCategoryRequest": {
2822
+ "description"?: string;
2823
+ "name"?: string;
2824
+ [key: string]: unknown;
2825
+ };
2826
+ "UpdateMemberRoleRequest": {
2827
+ "role": ("owner" | "admin" | "member" | "viewer" | "billing");
2828
+ [key: string]: unknown;
2829
+ };
2830
+ "UpdateWebhookRequest": {
2831
+ "active"?: boolean;
2832
+ "address"?: string;
2833
+ "event_types"?: Array<("message.received")>;
2834
+ "events"?: Array<("message.received")>;
2835
+ "inbox"?: string;
2836
+ "url"?: string;
2837
+ [key: string]: unknown;
2838
+ };
2839
+ "Webhook": {
2840
+ "active"?: boolean;
2841
+ "agent_id"?: string;
2842
+ "created_at"?: string;
2843
+ "created_by_connection_id"?: string;
2844
+ "events"?: Array<("message.received")>;
2845
+ "id"?: string;
2846
+ "inbox"?: string | null;
2847
+ "inbox_ids"?: Array<string>;
2848
+ "resource_scope"?: ("agent" | "inboxes" | "project" | "organization");
2849
+ "secret"?: string;
2850
+ "secret_prefix"?: string;
2851
+ "url"?: string;
2852
+ [key: string]: unknown;
2853
+ };
2854
+ "WebhookPage": {
2855
+ "items"?: Array<AdministrativeSchemas["Webhook"]>;
2856
+ "total"?: number;
2857
+ [key: string]: unknown;
2858
+ };
2859
+ }
2860
+
2861
+ type AdministrativeActionID = keyof AdministrativeOperations;
2862
+ type AdministrativeMode = "read" | "change";
2863
+ type Schema = Record<string, unknown>;
2864
+ interface AdministrativeInput {
2865
+ path?: Record<string, string>;
2866
+ query?: Record<string, string | number | boolean>;
2867
+ body?: unknown;
2868
+ }
2869
+ interface AdministrativeRequest {
2870
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
2871
+ path: string;
2872
+ query?: Record<string, string | number | boolean>;
2873
+ body?: unknown;
2874
+ responseFormat: "json" | "binary";
2875
+ signal?: AbortSignal;
2876
+ }
2877
+ interface AdministrativeActionSummary {
2878
+ id: AdministrativeActionID;
2879
+ summary: string;
2880
+ method: AdministrativeRequest["method"];
2881
+ mode: AdministrativeMode;
2882
+ }
2883
+ /** Local discovery never grants authority. Every execution is authorized and
2884
+ * attributed by the API, using the current connection and current human roles. */
2885
+ declare class Administration {
2886
+ private readonly execute;
2887
+ constructor(execute: (request: AdministrativeRequest) => Promise<unknown>);
2888
+ list(options?: {
2889
+ search?: string;
2890
+ mode?: AdministrativeMode;
2891
+ limit?: number;
2892
+ cursor?: string;
2893
+ }): {
2894
+ object: "list";
2895
+ data: AdministrativeActionSummary[];
2896
+ has_more: boolean;
2897
+ next_cursor: string | null;
2898
+ };
2899
+ describe(id: string): {
2900
+ description: string;
2901
+ input_schema: {
2902
+ $defs: Record<string, Schema>;
2903
+ };
2904
+ required_authority: string;
2905
+ result_format: string;
2906
+ credential_lifetime: string;
2907
+ id: AdministrativeActionID;
2908
+ summary: string;
2909
+ method: AdministrativeRequest["method"];
2910
+ mode: AdministrativeMode;
2911
+ };
2912
+ /** Typed SDK execution. MCP/CLI use run with an explicit read/change mode. */
2913
+ call<K extends AdministrativeActionID>(id: K, input: AdministrativeOperations[K]["input"], signal?: AbortSignal): Promise<AdministrativeOperations[K]["output"]>;
2914
+ run(id: string, input?: AdministrativeInput, mode?: AdministrativeMode, signal?: AbortSignal): Promise<unknown>;
2915
+ private action;
2916
+ }
2917
+
1
2918
  /**
2
2919
  * fetch-based transport for the Extrovert API.
3
2920
  *
@@ -6,7 +2923,7 @@
6
2923
  * on 429/5xx, honors `Retry-After`, and surfaces every failure as a typed {@link ApiError}.
7
2924
  */
8
2925
  /** The library version, surfaced in the User-Agent. Kept in sync with package.json by build. */
9
- declare const SDK_VERSION = "0.1.0-pre.10";
2926
+ declare const SDK_VERSION = "0.1.0-pre.12";
10
2927
  interface RetryOptions {
11
2928
  /** Max retry attempts for idempotent requests on 429/5xx/network errors. Default 2. */
12
2929
  maxRetries: number;
@@ -64,7 +2981,7 @@ type OnboardingMode = "shared" | "purchased" | "ns_delegated" | "manual";
64
2981
  /** Lifecycle status of an agent principal. */
65
2982
  type AgentStatus = "active" | "disabled";
66
2983
  /** Lifecycle status of an inbox. */
67
- type InboxStatus = "provisioning" | "live" | "disabled" | "deleted";
2984
+ type InboxStatus = "provisioning" | "live" | "disabled" | "deleting" | "deleted" | "degraded" | "unknown";
68
2985
  /** Direction of a message relative to the inbox that owns it. */
69
2986
  type MessageDirection = "inbound" | "outbound";
70
2987
  /**
@@ -249,6 +3166,8 @@ interface InboxCredentials {
249
3166
  }
250
3167
  /** A provisioned inbox (read shape). */
251
3168
  interface Inbox {
3169
+ /** Omitted if sender registration status is unavailable. */
3170
+ sender_verified?: boolean;
252
3171
  /**
253
3172
  * Resource type discriminator. Always `"inbox"` on the redesigned surface (RFC D9:
254
3173
  * every resource carries `object` + `org_id` + `project_id` + timestamps). Optional
@@ -332,6 +3251,8 @@ interface ListInboxesParams {
332
3251
  * per-resource relation allowlist (`agent`, `domain`; depth ≤ 2).
333
3252
  */
334
3253
  interface ProjectInboxListParams {
3254
+ /** Filter to an exact domain name. */
3255
+ domain?: string;
335
3256
  /** Page size (server clamps to 1–100; default 50). */
336
3257
  limit?: number;
337
3258
  /** Opaque cursor from a prior page's `next_cursor`. */
@@ -352,7 +3273,9 @@ interface GetInboxParams {
352
3273
  interface Page<T> {
353
3274
  items: T[];
354
3275
  /** Total count when the server can compute it cheaply. */
355
- total: number;
3276
+ total?: number;
3277
+ /** Whether the response has another page, when supplied. */
3278
+ has_more?: boolean;
356
3279
  /** Cursor to pass as `cursor` to fetch the next page; absent when exhausted. */
357
3280
  next_cursor?: string;
358
3281
  }
@@ -781,7 +3704,7 @@ interface Review {
781
3704
  */
782
3705
  send_error?: string;
783
3706
  /**
784
- * How the message was released, once sent: `human_reviewed`,
3707
+ * How the message was released, once sent: `human_reviewed`, `delegated_reviewed`,
785
3708
  * `reviewer_approved`, `graduated_auto` or `agent_direct`: without a turns
786
3709
  * fetch.
787
3710
  */
@@ -796,7 +3719,7 @@ interface ReviewTurn {
796
3719
  id: string;
797
3720
  seq: number;
798
3721
  turn_type: string;
799
- actor_kind: "agent" | "human" | "review_agent" | "system";
3722
+ actor_kind: "agent" | "human" | "review_agent" | "system" | "connection";
800
3723
  actor_id?: string;
801
3724
  body?: string;
802
3725
  revision?: number;
@@ -816,7 +3739,7 @@ interface ListReviewsParams {
816
3739
  /** One human/agent comment in the assembled review feedback (spec §11). */
817
3740
  interface ReviewFeedbackComment {
818
3741
  turn_id: string;
819
- actor_kind: "agent" | "human" | "review_agent" | "system";
3742
+ actor_kind: "agent" | "human" | "review_agent" | "system" | "connection";
820
3743
  actor_id?: string;
821
3744
  body: string;
822
3745
  created_at: IsoTimestamp;
@@ -969,7 +3892,7 @@ interface Category {
969
3892
  /** Survivor id when this category was merged / soft-deleted (cat_…). */
970
3893
  merged_into?: string;
971
3894
  created_by_agent_id?: string;
972
- author_kind: "agent" | "human";
3895
+ author_kind: "agent" | "human" | "connection";
973
3896
  rule_high_water: number;
974
3897
  rules_version: number;
975
3898
  created_at: IsoTimestamp;
@@ -1240,7 +4163,7 @@ interface Rule {
1240
4163
  priority: number;
1241
4164
  status: "proposed" | "active" | "superseded" | "retired";
1242
4165
  supersedes_id?: string;
1243
- author_kind: "agent" | "human";
4166
+ author_kind: "agent" | "human" | "connection";
1244
4167
  created_at: IsoTimestamp;
1245
4168
  updated_at: IsoTimestamp;
1246
4169
  source_review_id?: string;
@@ -1304,7 +4227,7 @@ interface RuleAuditEntry {
1304
4227
  entity_kind: "rule" | "category";
1305
4228
  entity_id: string;
1306
4229
  action: "create" | "supersede" | "retire" | "rename" | "redescribe" | "merge" | "restore";
1307
- actor_kind: "agent" | "human" | "system";
4230
+ actor_kind: "agent" | "human" | "system" | "connection";
1308
4231
  actor_id?: string;
1309
4232
  before_json?: string;
1310
4233
  after_json?: string;
@@ -1431,7 +4354,7 @@ interface WaitForEmailResult {
1431
4354
  /** Webhook event types Extrovert emits. */
1432
4355
  type WebhookEvent = "message.received";
1433
4356
  /** Request body for `POST /v1/webhooks`. Registers an HMAC-signed, timestamped endpoint. */
1434
- interface RegisterWebhookRequest {
4357
+ interface RegisterWebhookRequest extends ConnectionResourceSelection {
1435
4358
  url: string;
1436
4359
  /** Events to subscribe to. Defaults to `["message.received"]`. */
1437
4360
  events?: WebhookEvent[];
@@ -1448,23 +4371,26 @@ interface RegisterWebhookRequest {
1448
4371
  * field leaves the stored value unchanged (PATCH semantics). The signing secret
1449
4372
  * and id are immutable.
1450
4373
  */
1451
- interface UpdateWebhookRequest {
4374
+ interface UpdateWebhookRequest extends ConnectionResourceSelection {
1452
4375
  /** Replace the HTTPS delivery endpoint. */
1453
4376
  url?: string;
1454
4377
  /** Replace the subscribed event set. */
1455
4378
  events?: WebhookEvent[];
1456
- /** Replace the inbox filter; an empty string clears it (covers all owned inboxes). */
4379
+ /** Replace the inbox filter; an empty string clears the address filter without widening the persisted resource scope. */
1457
4380
  inbox?: string;
1458
4381
  /** Enable or disable delivery without deleting the webhook. */
1459
4382
  active?: boolean;
1460
4383
  }
1461
4384
  /** A registered webhook (read shape). The `secret` is returned once at registration. */
1462
4385
  interface Webhook {
4386
+ resource_scope?: "agent" | "inboxes" | "project" | "organization";
4387
+ inbox_ids?: string[];
4388
+ created_by_connection_id?: string;
1463
4389
  id: string;
1464
4390
  url: string;
1465
4391
  events: WebhookEvent[];
1466
4392
  inbox: string | null;
1467
- /** Agent that owns this webhook. */
4393
+ /** Agent identity recorded when this webhook was created. */
1468
4394
  agent_id?: string;
1469
4395
  /**
1470
4396
  * HMAC signing secret, returned once at registration. Used to verify the `X-Extrovert-Signature`
@@ -1668,7 +4594,7 @@ interface DomainReadiness {
1668
4594
  poll_after_seconds: number;
1669
4595
  /** Omitted without inbox-read permission. Counts never imply organization-wide visibility for an agent. */
1670
4596
  inboxes?: {
1671
- scope: "agent" | "project" | "organization";
4597
+ scope: "agent" | "inbox" | "selected_inboxes" | "project" | "organization";
1672
4598
  total: number;
1673
4599
  ready: number;
1674
4600
  setting_up: number;
@@ -1899,7 +4825,34 @@ interface VerifyResponse {
1899
4825
  * scoped key: `whoami` is the canonical project-visibility surface; project
1900
4826
  * selection happens when the human/admin issues the enrollment token or agent key.
1901
4827
  */
4828
+ /** An immutable consent grant; token refresh never changes its expiry. */
4829
+ interface ConnectionGrant {
4830
+ id: string;
4831
+ authorizer_id: string;
4832
+ client_id: string;
4833
+ name: string;
4834
+ identity: "personal_assistant" | "dedicated_agent";
4835
+ agent_id?: string;
4836
+ agent_org_id?: string;
4837
+ reach: "inboxes" | "project" | "organization" | "full_account";
4838
+ org_id?: string;
4839
+ project_id?: string;
4840
+ inbox_ids: string[];
4841
+ scopes: string[];
4842
+ created_by_connection_id?: string;
4843
+ consent_version: string;
4844
+ created_at_ms: number;
4845
+ /** Zero explicitly means until revoked. */
4846
+ expires_at_ms: number;
4847
+ revoked_at_ms: number;
4848
+ last_used_at_ms: number;
4849
+ }
1902
4850
  interface WhoAmI {
4851
+ connection?: ConnectionGrant;
4852
+ auth_method?: "oauth" | "agent_key" | "connection";
4853
+ key_tier?: "org" | "project" | "inbox";
4854
+ inbox_scope?: "agent_owned" | "organization_subtree" | "single_inbox" | ConnectionGrant["reach"];
4855
+ inbox_id?: string;
1903
4856
  connection_status?: "connected";
1904
4857
  summary?: string;
1905
4858
  agent_name?: string;
@@ -1913,6 +4866,9 @@ interface WhoAmI {
1913
4866
  read_inboxes: boolean;
1914
4867
  submit_mail_for_review: boolean;
1915
4868
  request_purchases: boolean;
4869
+ administer_account?: boolean;
4870
+ approve_requests?: boolean;
4871
+ create_credentials?: boolean;
1916
4872
  };
1917
4873
  customer_id: string;
1918
4874
  /**
@@ -1927,7 +4883,7 @@ interface WhoAmI {
1927
4883
  project_id?: string;
1928
4884
  agent_id: string;
1929
4885
  key_id: string;
1930
- scopes: Scope[];
4886
+ scopes: Array<Scope | "account:admin">;
1931
4887
  }
1932
4888
  /** Learn writing guidance from an authenticated human turn on your review. */
1933
4889
  interface LearnReviewRuleRequest {
@@ -1947,6 +4903,15 @@ interface LearnedReviewRule {
1947
4903
  audit_id: string;
1948
4904
  propagation: "queued";
1949
4905
  }
4906
+ /** Explicitly narrow a broader connection; legacy keys retain their fixed ceiling. */
4907
+ interface ConnectionResourceSelection {
4908
+ org_id?: string;
4909
+ project_id?: string;
4910
+ }
4911
+ interface ListWebhooksParams extends ConnectionResourceSelection {
4912
+ limit?: number;
4913
+ cursor?: string;
4914
+ }
1950
4915
 
1951
4916
  /**
1952
4917
  * The ONE list envelope + opaque-cursor iteration (redesign §5.2 / §6.2).
@@ -1993,6 +4958,9 @@ type PageFetcher<T> = (cursor: Cursor | undefined, signal?: AbortSignal) => Prom
1993
4958
  */
1994
4959
  declare class ListPage<T> implements AsyncIterable<T> {
1995
4960
  private readonly fetcher;
4961
+ private readonly visited;
4962
+ /** Walkers fail visibly after 1,000 pages; they never return truncated success. */
4963
+ static readonly maxPages = 1000;
1996
4964
  /** The rows on THIS page. */
1997
4965
  readonly data: T[];
1998
4966
  /** True when another page exists. */
@@ -2001,7 +4969,7 @@ declare class ListPage<T> implements AsyncIterable<T> {
2001
4969
  readonly nextCursor: Cursor | null;
2002
4970
  /** Always `"list"`. */
2003
4971
  readonly object: "list";
2004
- constructor(raw: List<T>, fetcher: PageFetcher<T>);
4972
+ constructor(raw: List<T>, fetcher: PageFetcher<T>, visited?: ReadonlySet<Cursor>);
2005
4973
  /**
2006
4974
  * Fetch the next page. Throws if there is none - guard with {@link hasMore}.
2007
4975
  */
@@ -2017,16 +4985,6 @@ declare class ListPage<T> implements AsyncIterable<T> {
2017
4985
  /** Build a {@link ListPage} from the first raw {@link List} and a page fetcher. */
2018
4986
  declare function listPage<T>(raw: List<T>, fetcher: PageFetcher<T>): ListPage<T>;
2019
4987
 
2020
- /**
2021
- * Transport abstraction.
2022
- *
2023
- * The resource methods speak a small, typed RPC surface; a transport decides whether each call hits
2024
- * the live Extrovert API over HTTP or the offline {@link MockBackend}. This is the single mock seam:
2025
- * flip `transport: "mock"` (or `EXTROVERT_API_BASE_URL=mock`) and the whole SDK runs without a network.
2026
- *
2027
- * `HttpTransport` is used for the live API; the mock stays for examples, docs, and tests.
2028
- */
2029
-
2030
4988
  /** Raw bytes of one attachment plus the metadata needed to save/serve it. */
2031
4989
  interface AttachmentDownload {
2032
4990
  filename: string;
@@ -2036,6 +4994,7 @@ interface AttachmentDownload {
2036
4994
  }
2037
4995
  /** The RPC surface every transport implements. One method per spec §8 endpoint. */
2038
4996
  interface Transport {
4997
+ administrativeRequest(request: AdministrativeRequest): Promise<unknown>;
2039
4998
  enroll(req: EnrollRequest, signal?: AbortSignal): Promise<EnrollResponse>;
2040
4999
  signUp(req: SignUpRequest, signal?: AbortSignal): Promise<SignUpResponse>;
2041
5000
  verify(req: VerifyRequest, signal?: AbortSignal): Promise<VerifyResponse>;
@@ -2071,10 +5030,10 @@ interface Transport {
2071
5030
  deleteThread(address: string, threadId: string, expunge?: boolean, signal?: AbortSignal): Promise<DeleteResult>;
2072
5031
  waitForEmail(address: string, req: WaitForEmailRequest, timeoutMs: number, signal?: AbortSignal): Promise<WaitForEmailResult>;
2073
5032
  registerWebhook(req: RegisterWebhookRequest, signal?: AbortSignal): Promise<Webhook>;
2074
- listWebhooks(signal?: AbortSignal): Promise<Page<Webhook>>;
2075
- getWebhook(webhookId: string, signal?: AbortSignal): Promise<Webhook>;
5033
+ listWebhooks(signal?: AbortSignal, params?: ListWebhooksParams): Promise<Page<Webhook>>;
5034
+ getWebhook(webhookId: string, signal?: AbortSignal, selection?: ConnectionResourceSelection): Promise<Webhook>;
2076
5035
  updateWebhook(webhookId: string, req: UpdateWebhookRequest, signal?: AbortSignal): Promise<Webhook>;
2077
- deleteWebhook(webhookId: string, signal?: AbortSignal): Promise<void>;
5036
+ deleteWebhook(webhookId: string, signal?: AbortSignal, selection?: ConnectionResourceSelection): Promise<void>;
2078
5037
  addContactListEntry(address: string, req: AddContactListRequest, signal?: AbortSignal): Promise<ContactListEntry>;
2079
5038
  listContactLists(address: string, signal?: AbortSignal): Promise<Page<ContactListEntry>>;
2080
5039
  deleteContactListEntry(address: string, entryId: string, signal?: AbortSignal): Promise<void>;
@@ -2140,23 +5099,14 @@ interface Transport {
2140
5099
  stream(address: string | null, lastEventId?: number, signal?: AbortSignal): AsyncGenerator<StreamEvent, void, unknown>;
2141
5100
  }
2142
5101
 
2143
- /**
2144
- * Offline fixtures for the Extrovert SDK.
2145
- *
2146
- * The SDK can run against this in-memory, deterministic mock so examples, the MCP server, and the
2147
- * console are fully navigable offline without contacting the live `/v1` API. Construct a client with
2148
- * `transport: "mock"` (or set `EXTROVERT_API_BASE_URL=mock`) to route requests here instead of fetch.
2149
- *
2150
- * The mock honors the same request/response models as the real API and reproduces the few behaviors
2151
- * the SDK ergonomics depend on (enrollment cap, idempotency on `client_id`, wait_for_email returning
2152
- * an OTP). It is intentionally simple - not a full server - and never reaches the network.
2153
- */
2154
-
2155
5102
  /**
2156
5103
  * A self-contained, deterministic-enough in-memory backend implementing the subset of behavior the
2157
5104
  * SDK exposes. One instance per mock client so tests/examples don't bleed into each other.
2158
5105
  */
2159
5106
  declare class MockBackend {
5107
+ private administrativeFixtures;
5108
+ configureAdministrativeFixture(credential: string): void;
5109
+ administrativeRequest(request: AdministrativeRequest): Promise<unknown>;
2160
5110
  private state;
2161
5111
  reset(): void;
2162
5112
  enroll(req: EnrollRequest): EnrollResponse;
@@ -2485,7 +5435,7 @@ declare class MockBackend {
2485
5435
  streamEvents(address: string | null, lastEventId?: number): AsyncGenerator<StreamEvent, void, unknown>;
2486
5436
  registerWebhook(req: RegisterWebhookRequest): Webhook;
2487
5437
  /** List registered webhooks (secret redacted, mirroring the server). */
2488
- listWebhooks(): Page<Webhook>;
5438
+ listWebhooks(params?: ListWebhooksParams): Page<Webhook>;
2489
5439
  /** Get one webhook by id (secret redacted), or undefined when missing. */
2490
5440
  getWebhook(webhookId: string): Webhook | undefined;
2491
5441
  /**
@@ -2906,12 +5856,6 @@ declare class Projects {
2906
5856
  constructor(ctx: ProjectsContext);
2907
5857
  }
2908
5858
 
2909
- /**
2910
- * Resource namespaces: `extrovert.inboxes`, `extrovert.messages`, `extrovert.threads`,
2911
- * `extrovert.webhooks`, `extrovert.contactLists`, `extrovert.domains`. Each is a thin,
2912
- * typed facade over the {@link Transport}.
2913
- */
2914
-
2915
5859
  interface ResourceContext {
2916
5860
  transport: Transport;
2917
5861
  handleOptions: InboxHandleOptions;
@@ -3040,9 +5984,9 @@ declare class Webhooks {
3040
5984
  /** Register an HMAC-signed, timestamped webhook. The signing `secret` is returned once. */
3041
5985
  register(req: RegisterWebhookRequest, signal?: AbortSignal): Promise<Webhook>;
3042
5986
  /** List registered webhooks (the one-time signing `secret` is omitted). */
3043
- list(signal?: AbortSignal): Promise<Page<Webhook>>;
5987
+ list(paramsOrSignal?: ListWebhooksParams | AbortSignal, signal?: AbortSignal): Promise<Page<Webhook>>;
3044
5988
  /** Fetch one webhook by id (the signing `secret` is omitted). */
3045
- get(webhookId: string, signal?: AbortSignal): Promise<Webhook>;
5989
+ get(webhookId: string, selectionOrSignal?: ConnectionResourceSelection | AbortSignal, signal?: AbortSignal): Promise<Webhook>;
3046
5990
  /**
3047
5991
  * Update a webhook in place: change the delivery `url`, the subscribed
3048
5992
  * `events`, the `inbox` filter (empty string clears it), or `active` to
@@ -3051,7 +5995,7 @@ declare class Webhooks {
3051
5995
  */
3052
5996
  update(webhookId: string, req: UpdateWebhookRequest, signal?: AbortSignal): Promise<Webhook>;
3053
5997
  /** Delete a webhook by id. */
3054
- delete(webhookId: string, signal?: AbortSignal): Promise<void>;
5998
+ delete(webhookId: string, selectionOrSignal?: ConnectionResourceSelection | AbortSignal, signal?: AbortSignal): Promise<void>;
3055
5999
  }
3056
6000
  /**
3057
6001
  * `extrovert.contactLists`: per-inbox allow/block lists of addresses/domains.
@@ -3348,30 +6292,14 @@ declare class Rules {
3348
6292
  undo(udoId: string, signal?: AbortSignal): Promise<Rule>;
3349
6293
  }
3350
6294
 
3351
- /**
3352
- * ExtrovertClient - the entry point.
3353
- *
3354
- * ```ts
3355
- * import { Extrovert } from "@extrovert.dev/sdk";
3356
- * const extrovert = new Extrovert({ apiKey: process.env.EXTROVERT_API_KEY! });
3357
- * const inbox = await extrovert.inboxes.create(); // a real inbox, in one call
3358
- * const outcome = await inbox.send({
3359
- * to: "ops@acme.test",
3360
- * subject: "hi",
3361
- * text: "from an agent",
3362
- * intent: { summary: "send the requested status update" },
3363
- * });
3364
- * if (outcome.kind === "queued_for_review") console.log(outcome.review.id);
3365
- * ```
3366
- */
3367
-
3368
6295
  /** Default production API base URL. Overridable via `baseUrl` or `EXTROVERT_API_BASE_URL`. */
3369
6296
  declare const DEFAULT_BASE_URL = "https://api.extrovert.dev";
3370
6297
  /** The sentinel that routes the client to the offline mock instead of the network. */
3371
6298
  declare const MOCK_BASE_URL = "mock";
3372
6299
  interface ExtrovertClientOptions {
3373
6300
  /**
3374
- * Scoped agent key (`pk_agent_...`) or, for `enroll`, any bearer credential the server accepts.
6301
+ * Scoped agent key (`pk_agent_...`), API-audience connection token (`ev_access_...`),
6302
+ * or independently issued connection credential (`ev_credential_...`).
3375
6303
  * Falls back to `EXTROVERT_API_KEY` when omitted.
3376
6304
  */
3377
6305
  apiKey?: string;
@@ -3400,6 +6328,8 @@ interface ExtrovertClientOptions {
3400
6328
  mockBackend?: MockBackend;
3401
6329
  }
3402
6330
  declare class ExtrovertClient {
6331
+ /** Customer administration; requires explicit full account control. */
6332
+ readonly administration: Administration;
3403
6333
  /** `extrovert.inboxes` - create / list / get / update / delete inboxes. */
3404
6334
  readonly inboxes: Inboxes;
3405
6335
  /** `extrovert.messages` - read a message, reply to it (threaded). */
@@ -4039,7 +6969,7 @@ declare function signWebhook(secret: string, body: string, timestampSeconds: num
4039
6969
  *
4040
6970
  * ## Provisional, pre-1.0 (0.x)
4041
6971
  *
4042
- * {@link CONTRACT_VERSION} is **`0.1.0-pre.10`** - a deliberately **provisional**, pre-1.0
6972
+ * {@link CONTRACT_VERSION} is **`0.1.0-pre.12`** - a deliberately **provisional**, pre-1.0
4043
6973
  * contract. It is open and documented, but it MAY still evolve before 1.0: there
4044
6974
  * are no external users yet, and the **D20 shared-pool auto-send governor** is a
4045
6975
  * hard prerequisite before onboarding external users. Pin the version; expect
@@ -4096,12 +7026,12 @@ interface DiffJson {
4096
7026
  /**
4097
7027
  * The published version of the Extrovert Review-Loop open contract (D14).
4098
7028
  *
4099
- * **`0.1.0-pre.10` - PROVISIONAL, pre-1.0.** Versioned *with the SDK* (this package's
7029
+ * **`0.1.0-pre.12` - PROVISIONAL, pre-1.0.** Versioned *with the SDK* (this package's
4100
7030
  * `package.json` version) and aligned to the openapi `info.version`. Open and
4101
7031
  * documented, but MAY still evolve before 1.0 (no external users yet; the D20
4102
7032
  * shared-pool governor is required before external users). Pin it.
4103
7033
  */
4104
- declare const CONTRACT_VERSION: "0.1.0-pre.10";
7034
+ declare const CONTRACT_VERSION: "0.1.0-pre.12";
4105
7035
  /** The stability posture of a published contract version. */
4106
7036
  type ContractStability = "provisional" | "stable";
4107
7037
  /**
@@ -4144,4 +7074,7 @@ interface ContractManifest {
4144
7074
  */
4145
7075
  declare const CONTRACT_MANIFEST: ContractManifest;
4146
7076
 
4147
- export { API_VERSION_HEADER, type AccountRiskDial, type AckReviewEventEntry, type AckReviewEventRequest, type AckReviewEventResult, type AddContactListRequest, type Agent, type AgentStatus, ApiError, type ApiErrorBody, type Attachment, type AttachmentDownload, type AttachmentInput, AuthenticationError, type BatchUpdateMessagesRequest, type BatchUpdateResult, BornStaleError, BreadthRequiredError, CONTRACT_MANIFEST, CONTRACT_VERSION, CURRENT_API_VERSION, Categories, type Category, type CategoryPacingState, type CategoryRiskDial, Commerce, type CommerceBlocker, type CommerceRequest, type CommerceRequestKind, ConflictError, ConnectionError, type ContactListDirection, type ContactListEntry, type ContactListKind, ContactLists, type ContractManifest, type ContractStability, type CreateInboxRequest, type Cursor, DEFAULT_BASE_URL, type DeleteResult, type DiffHunk, type DiffJson, type Domain, type DomainOffboard, type DomainQuote, type DomainReadiness, type DomainRecord, type DomainScope, type DomainStatusEvent, type DomainStatusEventPage, type DomainWaitResult, Domains, type EffectiveRiskDial, type EmailAddress, type EnrollRequest, type EnrollResponse, type ExtractedCredentials, ExtrovertClient as Extrovert, ExtrovertClient, type ExtrovertClientOptions, ForbiddenScopeError, type ForwardRequest, type GetInboxParams, type GetRuleAuditParams, type GetRulesParams, type GraduationStatus, IdempotencyConflictError, type Inbox, type InboxCredentials, InboxHandle, type InboxInclude, type InboxMetadata, type InboxMetadataPatch, type InboxMetadataValue, type InboxStatus, Inboxes, IntentRequiredError, type IsoTimestamp, type Job, type KeyTier, type LearnReviewRuleRequest, type LearnedReviewRule, type List, type ListCategoriesParams, type ListCommerceRequestsParams, type ListInboxesParams, type ListMessagesParams, ListPage, type ListParams, type ListReviewEventsParams, type ListReviewsParams, type ListSuppressionsParams, type ListThreadsParams, MOCK_BASE_URL, type MailFolder, type MailboxQuickstart, type MailboxQuickstartCall, type MarkReadRequest, type Message, type MessageDirection, Messages, MockBackend, NotFoundError, type OnboardDomainRequest, type OnboardingMode, PROBLEM_CODES, type PacingItem, type Page, type PageFetcher, PaymentRequiredError, PermissionError, type PostReviewChatRequest, type Problem, type ProblemCode, type ProblemField, type ProjectInboxListParams, ProjectInboxes, Projects, type ProposeCategoryRequest, type ProposeGraduationRequest, type QueuedForReviewResult, type QuoteDomainRequest, REVIEW_PROBLEM_RETRYABLE, RateLimitError, RecipientSuppressedError, type RegisterWebhookRequest, type ReplyRequest, type RequestDomainPurchaseRequest, type RequestPlanChangeRequest, type RestampReviewRequest, type Review, ReviewConflictError, type ReviewDecisionContext, type ReviewEvent, type ReviewEventCursor, type ReviewEventReason, ReviewEvents, type ReviewEventsResult, type ReviewFeedback, type ReviewFeedbackComment, type ReviewInclude, type ReviewIntent, type ReviewMode, type ReviewPolicy, type ReviewState, type ReviewTurn, type ReviewerAction, type ReviewerDecisionRequest, type ReviewerDecisionResult, Reviews, type RiskDial, type Rule, type RuleAuditEntry, type RuleLayer, type RuleSnapshot, Rules, SDK_VERSION, type SaveRuleRequest, type ScanBacklogStatus, type Scope, type SearchMessagesParams, SendNeedsReconciliationError, type SendOutcome, type SendRequest, type SendResult, type SentCopyStatus, type SentResult, type SignUpRequest, type SignUpResponse, StaleError, type StreamEvent, type StreamOptions, type Submission, type SubmissionRecipientState, type SubmissionTracking, Submissions, type SubmitForReviewResult, type SubmitRevisionRequest, type SuppressionEntry, type SuppressionPrecheck, type SuppressionScope, type SuppressionSource, Suppressions, TerminalError, type Thread, type ThreadDetail, Threads, TimeoutError, type TransportCounts, UnavailableError, type UpdateCategoryRequest, type UpdateInboxRequest, type UpdateWebhookRequest, ValidationError, type VerifyRequest, type VerifyResponse, type VerifyWebhookOptions, type WaitForEmailRequest, type WaitForEmailResult, type WaitForReviewEventParams, type Webhook, type WebhookEvent, type WebhookPayload, Webhooks, type WhoAmI, WrongStateError, extractCredentials, extractLink, extractOtp, isProblemCode, isQueuedForReview, isSentImmediately, listPage, parseKeyTier, parseProblem, parseWebhook, reviewIdOf, sentMessageIdOf, serializeInclude, signWebhook, threadIdOf, tierAllowsOrgWildcard, tierNeedsExplicitBreadth, verifyWebhookSignature };
7077
+ /** Explicit offline full-control fixture; ordinary mock agent keys stay scoped. */
7078
+ declare const ADMINISTRATIVE_FIXTURE_KEY = "ev_credential_mock_full_account";
7079
+
7080
+ export { ADMINISTRATIVE_FIXTURE_KEY, API_VERSION_HEADER, type AccountRiskDial, type AckReviewEventEntry, type AckReviewEventRequest, type AckReviewEventResult, type AddContactListRequest, Administration, type AdministrativeActionID, type AdministrativeActionSummary, type AdministrativeDownload, type AdministrativeInput, type AdministrativeMode, type AdministrativeOperations, type Agent, type AgentStatus, ApiError, type ApiErrorBody, type Attachment, type AttachmentDownload, type AttachmentInput, AuthenticationError, type BatchUpdateMessagesRequest, type BatchUpdateResult, BornStaleError, BreadthRequiredError, CONTRACT_MANIFEST, CONTRACT_VERSION, CURRENT_API_VERSION, Categories, type Category, type CategoryPacingState, type CategoryRiskDial, Commerce, type CommerceBlocker, type CommerceRequest, type CommerceRequestKind, ConflictError, ConnectionError, type ConnectionResourceSelection, type ContactListDirection, type ContactListEntry, type ContactListKind, ContactLists, type ContractManifest, type ContractStability, type CreateInboxRequest, type Cursor, DEFAULT_BASE_URL, type DeleteResult, type DiffHunk, type DiffJson, type Domain, type DomainOffboard, type DomainQuote, type DomainReadiness, type DomainRecord, type DomainScope, type DomainStatusEvent, type DomainStatusEventPage, type DomainWaitResult, Domains, type EffectiveRiskDial, type EmailAddress, type EnrollRequest, type EnrollResponse, type ExtractedCredentials, ExtrovertClient as Extrovert, ExtrovertClient, type ExtrovertClientOptions, ForbiddenScopeError, type ForwardRequest, type GetInboxParams, type GetRuleAuditParams, type GetRulesParams, type GraduationStatus, IdempotencyConflictError, type Inbox, type InboxCredentials, InboxHandle, type InboxInclude, type InboxMetadata, type InboxMetadataPatch, type InboxMetadataValue, type InboxStatus, Inboxes, IntentRequiredError, type IsoTimestamp, type Job, type KeyTier, type LearnReviewRuleRequest, type LearnedReviewRule, type List, type ListCategoriesParams, type ListCommerceRequestsParams, type ListInboxesParams, type ListMessagesParams, ListPage, type ListParams, type ListReviewEventsParams, type ListReviewsParams, type ListSuppressionsParams, type ListThreadsParams, type ListWebhooksParams, MOCK_BASE_URL, type MailFolder, type MailboxQuickstart, type MailboxQuickstartCall, type MarkReadRequest, type Message, type MessageDirection, Messages, MockBackend, NotFoundError, type OnboardDomainRequest, type OnboardingMode, PROBLEM_CODES, type PacingItem, type Page, type PageFetcher, PaymentRequiredError, PermissionError, type PostReviewChatRequest, type Problem, type ProblemCode, type ProblemField, type ProjectInboxListParams, ProjectInboxes, Projects, type ProposeCategoryRequest, type ProposeGraduationRequest, type QueuedForReviewResult, type QuoteDomainRequest, REVIEW_PROBLEM_RETRYABLE, RateLimitError, RecipientSuppressedError, type RegisterWebhookRequest, type ReplyRequest, type RequestDomainPurchaseRequest, type RequestPlanChangeRequest, type RestampReviewRequest, type Review, ReviewConflictError, type ReviewDecisionContext, type ReviewEvent, type ReviewEventCursor, type ReviewEventReason, ReviewEvents, type ReviewEventsResult, type ReviewFeedback, type ReviewFeedbackComment, type ReviewInclude, type ReviewIntent, type ReviewMode, type ReviewPolicy, type ReviewState, type ReviewTurn, type ReviewerAction, type ReviewerDecisionRequest, type ReviewerDecisionResult, Reviews, type RiskDial, type Rule, type RuleAuditEntry, type RuleLayer, type RuleSnapshot, Rules, SDK_VERSION, type SaveRuleRequest, type ScanBacklogStatus, type Scope, type SearchMessagesParams, SendNeedsReconciliationError, type SendOutcome, type SendRequest, type SendResult, type SentCopyStatus, type SentResult, type SignUpRequest, type SignUpResponse, StaleError, type StreamEvent, type StreamOptions, type Submission, type SubmissionRecipientState, type SubmissionTracking, Submissions, type SubmitForReviewResult, type SubmitRevisionRequest, type SuppressionEntry, type SuppressionPrecheck, type SuppressionScope, type SuppressionSource, Suppressions, TerminalError, type Thread, type ThreadDetail, Threads, TimeoutError, type TransportCounts, UnavailableError, type UpdateCategoryRequest, type UpdateInboxRequest, type UpdateWebhookRequest, ValidationError, type VerifyRequest, type VerifyResponse, type VerifyWebhookOptions, type WaitForEmailRequest, type WaitForEmailResult, type WaitForReviewEventParams, type Webhook, type WebhookEvent, type WebhookPayload, Webhooks, type WhoAmI, WrongStateError, extractCredentials, extractLink, extractOtp, isProblemCode, isQueuedForReview, isSentImmediately, listPage, parseKeyTier, parseProblem, parseWebhook, reviewIdOf, sentMessageIdOf, serializeInclude, signWebhook, threadIdOf, tierAllowsOrgWildcard, tierNeedsExplicitBreadth, verifyWebhookSignature };