@permute/sdk 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,76 @@ export type paths = Record<string, never>;
2
2
  export type webhooks = Record<string, never>;
3
3
  export interface components {
4
4
  schemas: {
5
+ AccessRequest: {
6
+ applicationId?: string;
7
+ /** Format: date-time */
8
+ createdAt: string;
9
+ /** Format: date-time */
10
+ expiresAt: string;
11
+ id: string;
12
+ /** @enum {string} */
13
+ level?: 'read' | 'write' | 'admin';
14
+ operations?: ('application.read_metadata' | 'application.update_metadata' | 'application.read_implementation' | 'application.update_draft' | 'application.publish' | 'application.manage_access' | 'application.manage_hosting' | 'application.delete' | 'business_action.read_metadata' | 'business_action.invoke' | 'business_action.read_implementation' | 'business_action.update_draft' | 'business_action.publish' | 'business_action.manage_access' | 'business_action.delegate_access' | 'business_action.delete')[];
15
+ principalId: string;
16
+ /** @enum {string} */
17
+ principalType: 'user' | 'apiKey';
18
+ reason: string;
19
+ resourceId: string;
20
+ resourceType: string;
21
+ /** @enum {string} */
22
+ status: 'pending' | 'approved' | 'resolved' | 'rejected' | 'cancelled' | 'expired';
23
+ };
24
+ AccessRequestDecision: {
25
+ /** @enum {string} */
26
+ decision: 'approved' | 'resolved' | 'rejected' | 'cancelled';
27
+ };
28
+ AccessRequestInput: {
29
+ /** @enum {string} */
30
+ level: 'read' | 'write' | 'admin';
31
+ reason: string;
32
+ resourceId: string;
33
+ } | {
34
+ operations: ('application.read_metadata' | 'application.update_metadata' | 'application.read_implementation' | 'application.update_draft' | 'application.publish' | 'application.manage_access' | 'application.manage_hosting' | 'application.delete' | 'business_action.read_metadata' | 'business_action.invoke' | 'business_action.read_implementation' | 'business_action.update_draft' | 'business_action.publish' | 'business_action.manage_access' | 'business_action.delegate_access' | 'business_action.delete')[];
35
+ reason: string;
36
+ resourceId: string;
37
+ };
38
+ AccessRequestList: {
39
+ items: {
40
+ applicationId?: string;
41
+ /** Format: date-time */
42
+ createdAt: string;
43
+ /** Format: date-time */
44
+ expiresAt: string;
45
+ id: string;
46
+ /** @enum {string} */
47
+ level?: 'read' | 'write' | 'admin';
48
+ operations?: ('application.read_metadata' | 'application.update_metadata' | 'application.read_implementation' | 'application.update_draft' | 'application.publish' | 'application.manage_access' | 'application.manage_hosting' | 'application.delete' | 'business_action.read_metadata' | 'business_action.invoke' | 'business_action.read_implementation' | 'business_action.update_draft' | 'business_action.publish' | 'business_action.manage_access' | 'business_action.delegate_access' | 'business_action.delete')[];
49
+ principalId: string;
50
+ /** @enum {string} */
51
+ principalType: 'user' | 'apiKey';
52
+ reason: string;
53
+ resourceId: string;
54
+ resourceType: string;
55
+ /** @enum {string} */
56
+ status: 'pending' | 'approved' | 'resolved' | 'rejected' | 'cancelled' | 'expired';
57
+ }[];
58
+ nextCursor: string | null;
59
+ total: number;
60
+ };
61
+ AccessRequestParams: {
62
+ requestId: string;
63
+ };
64
+ AccessRequestQuery: {
65
+ cursor?: string;
66
+ resourceId?: string;
67
+ /** @enum {string} */
68
+ state?: 'pending' | 'closed';
69
+ /**
70
+ * @default mine
71
+ * @enum {string}
72
+ */
73
+ view: 'mine' | 'review' | 'history';
74
+ };
5
75
  ActionCreateRequest: {
6
76
  name: string;
7
77
  };
@@ -14,18 +84,32 @@ export interface components {
14
84
  inputSchema: {
15
85
  [key: string]: unknown;
16
86
  };
17
- /** @enum {string} */
87
+ /**
88
+ * @description Minimum level for existing level-based grants, checked against current and selected published revisions. Explicit business_action.invoke grants authorize Run independently of this legacy threshold.
89
+ * @enum {string}
90
+ */
18
91
  invokePermission: 'read' | 'write' | 'admin';
19
92
  outputSchema: {
20
93
  [key: string]: unknown;
21
94
  };
95
+ platform?: {
96
+ methods: string[];
97
+ permissions: {
98
+ /** @enum {string} */
99
+ level: 'read' | 'write' | 'admin';
100
+ resourceId: string;
101
+ resourceType: string;
102
+ }[];
103
+ };
22
104
  source: string;
23
- sources: {
105
+ sources: ({
24
106
  readTables: string[];
25
107
  revisionId: string;
26
108
  sourceId: string;
27
109
  writeTables: string[];
28
- }[];
110
+ } | {
111
+ sourceId: string;
112
+ })[];
29
113
  };
30
114
  revisionId: string;
31
115
  sequence: number;
@@ -38,22 +122,37 @@ export interface components {
38
122
  inputSchema: {
39
123
  [key: string]: unknown;
40
124
  };
41
- /** @enum {string} */
125
+ /**
126
+ * @description Minimum level for existing level-based grants, checked against current and selected published revisions. Explicit business_action.invoke grants authorize Run independently of this legacy threshold.
127
+ * @enum {string}
128
+ */
42
129
  invokePermission: 'read' | 'write' | 'admin';
43
130
  outputSchema: {
44
131
  [key: string]: unknown;
45
132
  };
133
+ platform?: {
134
+ methods: string[];
135
+ permissions: {
136
+ /** @enum {string} */
137
+ level: 'read' | 'write' | 'admin';
138
+ resourceId: string;
139
+ resourceType: string;
140
+ }[];
141
+ };
46
142
  source: string;
47
- sources: {
143
+ sources: ({
48
144
  readTables: string[];
49
145
  revisionId: string;
50
146
  sourceId: string;
51
147
  writeTables: string[];
52
- }[];
148
+ } | {
149
+ sourceId: string;
150
+ })[];
53
151
  };
54
152
  revisionId: string;
55
153
  sequence: number;
56
154
  } | null;
155
+ version: string;
57
156
  };
58
157
  ActionDefinitionSaved: {
59
158
  revisionId: string;
@@ -66,18 +165,32 @@ export interface components {
66
165
  inputSchema: {
67
166
  [key: string]: unknown;
68
167
  };
69
- /** @enum {string} */
168
+ /**
169
+ * @description Minimum level for existing level-based grants, checked against current and selected published revisions. Explicit business_action.invoke grants authorize Run independently of this legacy threshold.
170
+ * @enum {string}
171
+ */
70
172
  invokePermission: 'read' | 'write' | 'admin';
71
173
  outputSchema: {
72
174
  [key: string]: unknown;
73
175
  };
176
+ platform?: {
177
+ methods: string[];
178
+ permissions: {
179
+ /** @enum {string} */
180
+ level: 'read' | 'write' | 'admin';
181
+ resourceId: string;
182
+ resourceType: string;
183
+ }[];
184
+ };
74
185
  source: string;
75
- sources: {
186
+ sources: ({
76
187
  readTables: string[];
77
188
  revisionId: string;
78
189
  sourceId: string;
79
190
  writeTables: string[];
80
- }[];
191
+ } | {
192
+ sourceId: string;
193
+ })[];
81
194
  };
82
195
  expectedDraft: {
83
196
  revisionId: string;
@@ -87,6 +200,57 @@ export interface components {
87
200
  ActionIdParams: {
88
201
  actionId: string;
89
202
  };
203
+ ActionPublicationDecision: {
204
+ /** @enum {string} */
205
+ decision: 'approved' | 'rejected' | 'cancelled';
206
+ };
207
+ ActionPublicationRequest: {
208
+ actionId: string;
209
+ canCancel: boolean;
210
+ canPublish: boolean;
211
+ /** Format: date-time */
212
+ createdAt: string;
213
+ expectedVersion: string;
214
+ /** Format: date-time */
215
+ expiresAt: string;
216
+ id: string;
217
+ principalId: string;
218
+ /** @enum {string} */
219
+ principalType: 'user' | 'apiKey';
220
+ reason: string;
221
+ revisionId: string;
222
+ /** @enum {string} */
223
+ status: 'pending' | 'published' | 'rejected' | 'cancelled' | 'expired' | 'stale';
224
+ };
225
+ ActionPublicationRequestInput: {
226
+ expectedVersion: string;
227
+ reason?: string;
228
+ revisionId: string;
229
+ };
230
+ ActionPublicationRequestList: {
231
+ items: {
232
+ actionId: string;
233
+ canCancel: boolean;
234
+ canPublish: boolean;
235
+ /** Format: date-time */
236
+ createdAt: string;
237
+ expectedVersion: string;
238
+ /** Format: date-time */
239
+ expiresAt: string;
240
+ id: string;
241
+ principalId: string;
242
+ /** @enum {string} */
243
+ principalType: 'user' | 'apiKey';
244
+ reason: string;
245
+ revisionId: string;
246
+ /** @enum {string} */
247
+ status: 'pending' | 'published' | 'rejected' | 'cancelled' | 'expired' | 'stale';
248
+ }[];
249
+ };
250
+ ActionPublicationRequestParams: {
251
+ actionId: string;
252
+ requestId: string;
253
+ };
90
254
  ActionReceipt: {
91
255
  actionId: string;
92
256
  output?: unknown;
@@ -201,6 +365,45 @@ export interface components {
201
365
  message: string;
202
366
  requestId?: string;
203
367
  };
368
+ AppAccess: {
369
+ canManage: boolean;
370
+ /** @enum {string} */
371
+ mode: 'permute' | 'password';
372
+ version: number;
373
+ };
374
+ AppAccessSetRequest: {
375
+ expectedVersion: number;
376
+ /** @enum {string} */
377
+ mode: 'permute';
378
+ } | {
379
+ expectedVersion: number;
380
+ /** @enum {string} */
381
+ mode: 'password';
382
+ password: string;
383
+ };
384
+ AppAddressSetRequest: {
385
+ address: {
386
+ label: string;
387
+ namespaceId: string;
388
+ } | null;
389
+ /** Format: uri */
390
+ expectedUrl: string | null;
391
+ };
392
+ AppAddressSettings: {
393
+ address: {
394
+ label: string;
395
+ namespaceId: string;
396
+ /** Format: uri */
397
+ url: string;
398
+ } | null;
399
+ canManage: boolean;
400
+ namespaces: {
401
+ hostname: string;
402
+ id: string;
403
+ /** @enum {string} */
404
+ status: 'pending' | 'live' | 'failed' | 'deleting' | 'deleted';
405
+ }[];
406
+ };
204
407
  AppCreateRequest: {
205
408
  /** @default */
206
409
  description: string;
@@ -212,6 +415,9 @@ export interface components {
212
415
  id: string;
213
416
  };
214
417
  AppDraft: {
418
+ chat?: {
419
+ enabled: boolean;
420
+ };
215
421
  createdAt: string;
216
422
  deployment: {
217
423
  error: string | null;
@@ -226,13 +432,34 @@ export interface components {
226
432
  revisionId: string;
227
433
  sequence: number;
228
434
  };
435
+ favicon?: {
436
+ path: string;
437
+ sha256: string;
438
+ size: number;
439
+ } | null;
229
440
  id: string;
441
+ login?: {
442
+ header?: string;
443
+ primaryColor?: string;
444
+ secondaryColor?: string;
445
+ sidePanelImage?: {
446
+ path: string;
447
+ sha256: string;
448
+ size: number;
449
+ };
450
+ subheader?: string;
451
+ subtitle?: string;
452
+ title?: string;
453
+ } | null;
230
454
  name: string;
231
455
  updatedAt: string;
232
456
  workspaceId: string;
233
457
  };
234
458
  AppDraftList: {
235
459
  items: {
460
+ chat?: {
461
+ enabled: boolean;
462
+ };
236
463
  createdAt: string;
237
464
  deployment: {
238
465
  error: string | null;
@@ -247,7 +474,25 @@ export interface components {
247
474
  revisionId: string;
248
475
  sequence: number;
249
476
  };
477
+ favicon?: {
478
+ path: string;
479
+ sha256: string;
480
+ size: number;
481
+ } | null;
250
482
  id: string;
483
+ login?: {
484
+ header?: string;
485
+ primaryColor?: string;
486
+ secondaryColor?: string;
487
+ sidePanelImage?: {
488
+ path: string;
489
+ sha256: string;
490
+ size: number;
491
+ };
492
+ subheader?: string;
493
+ subtitle?: string;
494
+ title?: string;
495
+ } | null;
251
496
  name: string;
252
497
  updatedAt: string;
253
498
  workspaceId: string;
@@ -266,6 +511,7 @@ export interface components {
266
511
  level: 'read' | 'write' | 'admin';
267
512
  resourceId: string;
268
513
  resourceType?: string;
514
+ /** @description New grants support whole resources and resource-type wildcards, with optional expiry. Table, row, and column scopes within a shared source are not supported by current source query APIs, including databases, datasets, connectors, and operation outputs. For narrower reads, share separately filtered Data Table or Data Flow outputs while keeping broader sources restricted, or use an approved caller-filtered Business Action. Existing scoped app grants can be revoked with level: null and their original subResourceId; other scoped grants use the permission deletion API. */
269
515
  subResourceId?: string;
270
516
  }[];
271
517
  };
@@ -275,11 +521,63 @@ export interface components {
275
521
  /** @enum {string|null} */
276
522
  level: 'read' | 'write' | 'admin' | null;
277
523
  resourceType?: string;
524
+ /** @description New grants support whole resources and resource-type wildcards, with optional expiry. Table, row, and column scopes within a shared source are not supported by current source query APIs, including databases, datasets, connectors, and operation outputs. For narrower reads, share separately filtered Data Table or Data Flow outputs while keeping broader sources restricted, or use an approved caller-filtered Business Action. Existing scoped app grants can be revoked with level: null and their original subResourceId; other scoped grants use the permission deletion API. */
278
525
  subResourceId?: string;
279
526
  };
280
527
  AppIdParams: {
281
528
  applicationId: string;
282
529
  };
530
+ AppPublicationDecision: {
531
+ /** @enum {string} */
532
+ decision: 'approved' | 'rejected' | 'cancelled';
533
+ };
534
+ AppPublicationRequest: {
535
+ applicationId: string;
536
+ canCancel: boolean;
537
+ canPublish: boolean;
538
+ /** Format: date-time */
539
+ createdAt: string;
540
+ expectedVersion: string;
541
+ /** Format: date-time */
542
+ expiresAt: string;
543
+ id: string;
544
+ principalId: string;
545
+ /** @enum {string} */
546
+ principalType: 'user' | 'apiKey';
547
+ reason: string;
548
+ revisionId: string;
549
+ /** @enum {string} */
550
+ status: 'pending' | 'published' | 'rejected' | 'cancelled' | 'expired' | 'stale';
551
+ };
552
+ AppPublicationRequestInput: {
553
+ expectedVersion: string;
554
+ reason?: string;
555
+ revisionId: string;
556
+ };
557
+ AppPublicationRequestList: {
558
+ items: {
559
+ applicationId: string;
560
+ canCancel: boolean;
561
+ canPublish: boolean;
562
+ /** Format: date-time */
563
+ createdAt: string;
564
+ expectedVersion: string;
565
+ /** Format: date-time */
566
+ expiresAt: string;
567
+ id: string;
568
+ principalId: string;
569
+ /** @enum {string} */
570
+ principalType: 'user' | 'apiKey';
571
+ reason: string;
572
+ revisionId: string;
573
+ /** @enum {string} */
574
+ status: 'pending' | 'published' | 'rejected' | 'cancelled' | 'expired' | 'stale';
575
+ }[];
576
+ };
577
+ AppPublicationRequestParams: {
578
+ applicationId: string;
579
+ requestId: string;
580
+ };
283
581
  AppSiteSaveRequest: {
284
582
  actions?: {
285
583
  actionId: string;
@@ -289,7 +587,7 @@ export interface components {
289
587
  revisionId: string;
290
588
  sequence: number;
291
589
  };
292
- site: {
590
+ site?: {
293
591
  files: {
294
592
  path: string;
295
593
  sha256: string;
@@ -297,14 +595,55 @@ export interface components {
297
595
  }[];
298
596
  spa: boolean;
299
597
  };
598
+ source: {
599
+ build: {
600
+ command: string;
601
+ outputDirectory: string;
602
+ runtime: string;
603
+ };
604
+ files: {
605
+ executable?: boolean;
606
+ path: string;
607
+ sha256: string;
608
+ size: number;
609
+ }[];
610
+ };
611
+ };
612
+ AppSourceFileContent: {
613
+ data: string;
614
+ };
615
+ AppSourceFileQuery: {
616
+ path: string;
617
+ revisionId: string;
300
618
  };
301
619
  AppUpdateRequest: {
302
- description: string;
620
+ chat?: {
621
+ enabled: boolean;
622
+ };
623
+ description?: string;
303
624
  expectedDraft: {
304
625
  revisionId: string;
305
626
  sequence: number;
306
627
  };
307
- name: string;
628
+ favicon?: {
629
+ path: string;
630
+ sha256: string;
631
+ size: number;
632
+ } | null;
633
+ login?: {
634
+ header?: string;
635
+ primaryColor?: string;
636
+ secondaryColor?: string;
637
+ sidePanelImage?: {
638
+ path: string;
639
+ sha256: string;
640
+ size: number;
641
+ };
642
+ subheader?: string;
643
+ subtitle?: string;
644
+ title?: string;
645
+ } | null;
646
+ name?: string;
308
647
  };
309
648
  AppUploads: {
310
649
  uploads: {
@@ -323,6 +662,11 @@ export interface components {
323
662
  size: number;
324
663
  }[];
325
664
  };
665
+ AppUser: {
666
+ email: string;
667
+ id: string;
668
+ name: string;
669
+ };
326
670
  BusinessAction: {
327
671
  createdAt: string;
328
672
  id: string;
@@ -330,13 +674,51 @@ export interface components {
330
674
  updatedAt: string;
331
675
  workspaceId: string;
332
676
  };
677
+ BusinessActionDetail: {
678
+ canEditDraft?: boolean;
679
+ canPublish?: boolean;
680
+ contract: {
681
+ effects: {
682
+ connectorCalls: boolean;
683
+ managedDataWrites: boolean;
684
+ platformMethods: string[];
685
+ };
686
+ inputSchema: {
687
+ [key: string]: unknown;
688
+ };
689
+ /**
690
+ * @description Minimum level for existing level-based grants, checked against current and selected published revisions. Explicit business_action.invoke grants authorize Run independently of this legacy threshold.
691
+ * @enum {string}
692
+ */
693
+ invokePermission: 'read' | 'write' | 'admin';
694
+ outputSchema: {
695
+ [key: string]: unknown;
696
+ };
697
+ } | null;
698
+ createdAt: string;
699
+ id: string;
700
+ name: string;
701
+ revisionId: string | null;
702
+ updatedAt: string;
703
+ workspaceId: string;
704
+ };
333
705
  BusinessActionList: {
334
706
  items: {
707
+ canEditDraft?: boolean;
708
+ canPublish?: boolean;
335
709
  contract: {
710
+ effects: {
711
+ connectorCalls: boolean;
712
+ managedDataWrites: boolean;
713
+ platformMethods: string[];
714
+ };
336
715
  inputSchema: {
337
716
  [key: string]: unknown;
338
717
  };
339
- /** @enum {string} */
718
+ /**
719
+ * @description Minimum level for existing level-based grants, checked against current and selected published revisions. Explicit business_action.invoke grants authorize Run independently of this legacy threshold.
720
+ * @enum {string}
721
+ */
340
722
  invokePermission: 'read' | 'write' | 'admin';
341
723
  outputSchema: {
342
724
  [key: string]: unknown;
@@ -371,8 +753,164 @@ export interface components {
371
753
  name: string;
372
754
  provider?: string;
373
755
  };
756
+ ChatDecisionRequest: {
757
+ approve: boolean;
758
+ /** Format: uuid */
759
+ requestId: string;
760
+ };
761
+ ChatIdParams: {
762
+ chatId: string;
763
+ };
764
+ ChatResponse: {
765
+ conversation: ({
766
+ citations?: {
767
+ datasetId: string;
768
+ page: number;
769
+ quote?: string;
770
+ reason?: string;
771
+ }[];
772
+ content: string;
773
+ meta?: {
774
+ appAction?: {
775
+ actionId: string;
776
+ input: {
777
+ [key: string]: unknown;
778
+ };
779
+ name: string;
780
+ /** Format: uuid */
781
+ requestId: string;
782
+ /** @enum {string} */
783
+ status: 'pending' | 'dismissed' | 'completed';
784
+ };
785
+ } & {
786
+ [key: string]: unknown;
787
+ };
788
+ /** @enum {string} */
789
+ role: 'user' | 'assistant';
790
+ tableCitations?: {
791
+ datasetId: string;
792
+ id: number;
793
+ page: string;
794
+ queryDetails?: {
795
+ connectorId: string;
796
+ detailSql?: string;
797
+ provider: string;
798
+ retrievedAt?: string;
799
+ rowCount?: number;
800
+ sources?: {
801
+ id: string;
802
+ name: string;
803
+ provider?: string;
804
+ }[];
805
+ sourceTables?: string[];
806
+ sql: string;
807
+ };
808
+ sampleData?: {
809
+ columns: string[];
810
+ rows: unknown[][];
811
+ };
812
+ tableDescription: string;
813
+ }[];
814
+ timestamp?: string;
815
+ } & {
816
+ [key: string]: unknown;
817
+ })[];
818
+ error: string | null;
819
+ id: string;
820
+ pendingTask?: {
821
+ actionOutputId?: string | null;
822
+ actionType: string;
823
+ description?: string;
824
+ draft: {
825
+ chatHistory?: {
826
+ content: string;
827
+ /** @enum {string} */
828
+ role: 'user' | 'assistant';
829
+ }[];
830
+ /** @default [] */
831
+ dataSourceIds: string[];
832
+ instructions: string;
833
+ isDraft?: boolean;
834
+ metadata?: {
835
+ /** @enum {string} */
836
+ subtype?: 'report' | 'dashboard' | 'dataFlow' | 'dataTable';
837
+ wizardState?: {
838
+ [key: string]: unknown;
839
+ };
840
+ } & {
841
+ [key: string]: unknown;
842
+ };
843
+ name?: string;
844
+ outputSchema?: {
845
+ columns: {
846
+ name: string;
847
+ type: string;
848
+ }[];
849
+ name: string;
850
+ }[];
851
+ schedule?: {
852
+ /** @enum {string} */
853
+ type: 'manual';
854
+ } | {
855
+ minute: number;
856
+ /** @enum {string} */
857
+ type: 'hourly';
858
+ } | {
859
+ hour: number;
860
+ minute: number;
861
+ /** @enum {string} */
862
+ type: 'daily';
863
+ } | {
864
+ dayOfWeek: number;
865
+ hour: number;
866
+ minute: number;
867
+ /** @enum {string} */
868
+ type: 'weekly';
869
+ } | {
870
+ dayOfMonth: number;
871
+ hour: number;
872
+ minute: number;
873
+ /** @enum {string} */
874
+ type: 'monthly';
875
+ };
876
+ };
877
+ id: string;
878
+ /** @enum {string} */
879
+ kind: 'report' | 'dashboard' | 'dataFlow' | 'dataTable';
880
+ /** @enum {string} */
881
+ status: 'pending' | 'open' | 'in_progress' | 'done' | 'cancelled';
882
+ title: string;
883
+ };
884
+ startedAt?: string;
885
+ /** @enum {string} */
886
+ status: 'running' | 'waiting' | 'completed' | 'failed' | 'cancelled';
887
+ traceSteps?: {
888
+ details?: string;
889
+ id: string;
890
+ /** @enum {string} */
891
+ kind: 'trace_step';
892
+ /** @enum {string} */
893
+ status: 'in_progress' | 'completed' | 'failed';
894
+ step: string;
895
+ }[];
896
+ };
897
+ ChatSendRequest: {
898
+ /** @enum {string} */
899
+ action: 'send_message';
900
+ attachments?: {
901
+ fileName: string;
902
+ id: string;
903
+ /** @enum {string} */
904
+ mimeType: 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp';
905
+ s3Key: string;
906
+ }[];
907
+ clientRequestId: string;
908
+ contexts?: string[];
909
+ message: string;
910
+ timeZone?: string;
911
+ };
374
912
  /** @enum {string} */
375
- ConnectorProviderId: 'acumatica' | 'attio' | 'autodesk' | 'bigquery' | 'billcom' | 'brex' | 'double' | 'fireflies' | 'googleads' | 'granola' | 'hubspot' | 'klaviyo' | 'mercury' | 'meta_ads' | 'microsoft_advertising' | 'monday' | 'procore' | 'quickbooks' | 'quo' | 's3' | 'salesforce' | 'shopify' | 'stripe' | 'supabase' | 'tiktok_ads' | 'xero';
913
+ ConnectorProviderId: 'acumatica' | 'amazon_ads' | 'amazon_seller_central' | 'attio' | 'autodesk' | 'bigquery' | 'billcom' | 'brex' | 'double' | 'fireflies' | 'gmail' | 'googleads' | 'granola' | 'hubspot' | 'instantly' | 'klaviyo' | 'mercury' | 'meta_ads' | 'microsoft_advertising' | 'monday' | 'procore' | 'pylon' | 'quickbooks' | 'quo' | 's3' | 'salesforce' | 'shopify' | 'stripe' | 'supabase' | 'tiktok_ads' | 'tiktok_shop' | 'xero' | 'yardi';
376
914
  ConnectorSession: {
377
915
  connectorId: string;
378
916
  connectorStatus: string;
@@ -402,7 +940,7 @@ export interface components {
402
940
  connectorId?: string;
403
941
  name?: string;
404
942
  /** @enum {string} */
405
- provider: 'acumatica' | 'attio' | 'autodesk' | 'bigquery' | 'billcom' | 'brex' | 'double' | 'fireflies' | 'googleads' | 'granola' | 'hubspot' | 'klaviyo' | 'mercury' | 'meta_ads' | 'microsoft_advertising' | 'monday' | 'procore' | 'quickbooks' | 'quo' | 's3' | 'salesforce' | 'shopify' | 'stripe' | 'supabase' | 'tiktok_ads' | 'xero';
943
+ provider: 'acumatica' | 'amazon_ads' | 'amazon_seller_central' | 'attio' | 'autodesk' | 'bigquery' | 'billcom' | 'brex' | 'double' | 'fireflies' | 'gmail' | 'googleads' | 'granola' | 'hubspot' | 'instantly' | 'klaviyo' | 'mercury' | 'meta_ads' | 'microsoft_advertising' | 'monday' | 'procore' | 'pylon' | 'quickbooks' | 'quo' | 's3' | 'salesforce' | 'shopify' | 'stripe' | 'supabase' | 'tiktok_ads' | 'tiktok_shop' | 'xero' | 'yardi';
406
944
  /** Format: uri */
407
945
  returnUrl?: string;
408
946
  } | {
@@ -412,7 +950,7 @@ export interface components {
412
950
  connectorId: string;
413
951
  name?: string;
414
952
  /** @enum {string} */
415
- provider?: 'acumatica' | 'attio' | 'autodesk' | 'bigquery' | 'billcom' | 'brex' | 'double' | 'fireflies' | 'googleads' | 'granola' | 'hubspot' | 'klaviyo' | 'mercury' | 'meta_ads' | 'microsoft_advertising' | 'monday' | 'procore' | 'quickbooks' | 'quo' | 's3' | 'salesforce' | 'shopify' | 'stripe' | 'supabase' | 'tiktok_ads' | 'xero';
953
+ provider?: 'acumatica' | 'amazon_ads' | 'amazon_seller_central' | 'attio' | 'autodesk' | 'bigquery' | 'billcom' | 'brex' | 'double' | 'fireflies' | 'gmail' | 'googleads' | 'granola' | 'hubspot' | 'instantly' | 'klaviyo' | 'mercury' | 'meta_ads' | 'microsoft_advertising' | 'monday' | 'procore' | 'pylon' | 'quickbooks' | 'quo' | 's3' | 'salesforce' | 'shopify' | 'stripe' | 'supabase' | 'tiktok_ads' | 'tiktok_shop' | 'xero' | 'yardi';
416
954
  /** Format: uri */
417
955
  returnUrl?: string;
418
956
  };
@@ -937,6 +1475,24 @@ export interface components {
937
1475
  status: 'pending' | 'processing' | 'completed' | 'failed';
938
1476
  };
939
1477
  };
1478
+ EmailReceipt: {
1479
+ id: string;
1480
+ /** @enum {string} */
1481
+ status: 'accepted';
1482
+ };
1483
+ EmailSender: {
1484
+ address: string & string;
1485
+ error: string | null;
1486
+ id: string;
1487
+ /** @enum {string} */
1488
+ status: 'provisioning' | 'ready' | 'failed';
1489
+ };
1490
+ EmailSendRequest: {
1491
+ html?: string;
1492
+ subject: string;
1493
+ text: string;
1494
+ to: (string & string)[];
1495
+ };
940
1496
  EmptyObject: Record<string, never>;
941
1497
  Fact: {
942
1498
  aliases?: string | null;
@@ -1275,6 +1831,160 @@ export interface components {
1275
1831
  type: 'monthly';
1276
1832
  }) | (never | null);
1277
1833
  };
1834
+ PermissionGrant: {
1835
+ /** Format: date-time */
1836
+ createdAt: string;
1837
+ /** Format: date-time */
1838
+ expiresAt: string | null;
1839
+ grantedBy: string;
1840
+ id: string;
1841
+ /** @enum {string} */
1842
+ level: 'read' | 'write' | 'admin';
1843
+ operations: string[] | null;
1844
+ organizationId: string;
1845
+ principalId: string;
1846
+ principalType: string;
1847
+ resourceId: string;
1848
+ resourceType: string;
1849
+ subResourceId: string | null;
1850
+ /** Format: date-time */
1851
+ updatedAt: string;
1852
+ workspaceId: string | null;
1853
+ };
1854
+ PermissionGrantInput: {
1855
+ /** Format: date-time */
1856
+ expiresAt?: string | null;
1857
+ /** @enum {string} */
1858
+ level: 'read' | 'write' | 'admin';
1859
+ operations?: ('application.read_metadata' | 'application.update_metadata' | 'application.read_implementation' | 'application.update_draft' | 'application.publish' | 'application.manage_access' | 'application.manage_hosting' | 'application.delete' | 'business_action.read_metadata' | 'business_action.invoke' | 'business_action.read_implementation' | 'business_action.update_draft' | 'business_action.publish' | 'business_action.manage_access' | 'business_action.delegate_access' | 'business_action.delete')[];
1860
+ principalId: string;
1861
+ /** @enum {string} */
1862
+ principalType: 'user' | 'workspace' | 'organization' | 'apiKey' | 'application';
1863
+ resourceId: string;
1864
+ resourceType: string;
1865
+ /** @description New grants support whole resources and resource-type wildcards, with optional expiry. Table, row, and column scopes within a shared source are not supported by current source query APIs, including databases, datasets, connectors, and operation outputs. For narrower reads, share separately filtered Data Table or Data Flow outputs while keeping broader sources restricted, or use an approved caller-filtered Business Action. Existing scoped app grants can be revoked with level: null and their original subResourceId; other scoped grants use the permission deletion API. */
1866
+ subResourceId?: string;
1867
+ };
1868
+ PermissionGrantList: {
1869
+ items: {
1870
+ /** Format: date-time */
1871
+ createdAt: string;
1872
+ /** Format: date-time */
1873
+ expiresAt: string | null;
1874
+ grantedBy: string;
1875
+ id: string;
1876
+ /** @enum {string} */
1877
+ level: 'read' | 'write' | 'admin';
1878
+ operations: string[] | null;
1879
+ organizationId: string;
1880
+ principalId: string;
1881
+ principalType: string;
1882
+ resourceId: string;
1883
+ resourceType: string;
1884
+ subResourceId: string | null;
1885
+ /** Format: date-time */
1886
+ updatedAt: string;
1887
+ workspaceId: string | null;
1888
+ }[];
1889
+ };
1890
+ PermissionGrantParams: {
1891
+ permissionId: string;
1892
+ };
1893
+ PermissionGrantQuery: {
1894
+ resourceId?: string;
1895
+ resourceType?: string;
1896
+ workspaceId?: string;
1897
+ };
1898
+ PermissionGrantRevoked: {
1899
+ message: string;
1900
+ success: boolean;
1901
+ };
1902
+ PermissionGrantUpdate: {
1903
+ /** Format: date-time */
1904
+ expectedUpdatedAt: string;
1905
+ /** Format: date-time */
1906
+ expiresAt?: string | null;
1907
+ /** @enum {string} */
1908
+ level?: 'read' | 'write' | 'admin';
1909
+ operations?: ('application.read_metadata' | 'application.update_metadata' | 'application.read_implementation' | 'application.update_draft' | 'application.publish' | 'application.manage_access' | 'application.manage_hosting' | 'application.delete' | 'business_action.read_metadata' | 'business_action.invoke' | 'business_action.read_implementation' | 'business_action.update_draft' | 'business_action.publish' | 'business_action.manage_access' | 'business_action.delegate_access' | 'business_action.delete')[];
1910
+ };
1911
+ PermissionGrantUpdateParams: {
1912
+ permissionId: string;
1913
+ };
1914
+ PermissionInspection: {
1915
+ application: {
1916
+ access: {
1917
+ /** @enum {string|null} */
1918
+ level: 'read' | 'write' | 'admin' | null;
1919
+ /** @enum {string|null} */
1920
+ restriction: 'identity_policy' | 'resource_scope' | 'no_grant' | null;
1921
+ sources: {
1922
+ grant?: {
1923
+ /** Format: date-time */
1924
+ expiresAt: string | null;
1925
+ id: string;
1926
+ operations?: ('application.read_metadata' | 'application.update_metadata' | 'application.read_implementation' | 'application.update_draft' | 'application.publish' | 'application.manage_access' | 'application.manage_hosting' | 'application.delete' | 'business_action.read_metadata' | 'business_action.invoke' | 'business_action.read_implementation' | 'business_action.update_draft' | 'business_action.publish' | 'business_action.manage_access' | 'business_action.delegate_access' | 'business_action.delete')[];
1927
+ principalId: string;
1928
+ principalType: string;
1929
+ resourceId: string;
1930
+ resourceType: string;
1931
+ workspaceId: string | null;
1932
+ };
1933
+ /** @enum {string} */
1934
+ kind: 'owner' | 'creator' | 'organization_member' | 'grant' | 'service';
1935
+ /** @enum {string} */
1936
+ level: 'read' | 'write' | 'admin';
1937
+ }[];
1938
+ };
1939
+ id: string;
1940
+ } | null;
1941
+ /** @enum {string|null} */
1942
+ effectiveLevel: 'read' | 'write' | 'admin' | null;
1943
+ effectiveOperations?: ('application.read_metadata' | 'application.update_metadata' | 'application.read_implementation' | 'application.update_draft' | 'application.publish' | 'application.manage_access' | 'application.manage_hosting' | 'application.delete' | 'business_action.read_metadata' | 'business_action.invoke' | 'business_action.read_implementation' | 'business_action.update_draft' | 'business_action.publish' | 'business_action.manage_access' | 'business_action.delegate_access' | 'business_action.delete')[];
1944
+ /** Format: date-time */
1945
+ evaluatedAt: string;
1946
+ principal: {
1947
+ id: string;
1948
+ /** @enum {string} */
1949
+ type: 'user' | 'apiKey' | 'application';
1950
+ };
1951
+ principalAccess: {
1952
+ /** @enum {string|null} */
1953
+ level: 'read' | 'write' | 'admin' | null;
1954
+ /** @enum {string|null} */
1955
+ restriction: 'identity_policy' | 'resource_scope' | 'no_grant' | null;
1956
+ sources: {
1957
+ grant?: {
1958
+ /** Format: date-time */
1959
+ expiresAt: string | null;
1960
+ id: string;
1961
+ operations?: ('application.read_metadata' | 'application.update_metadata' | 'application.read_implementation' | 'application.update_draft' | 'application.publish' | 'application.manage_access' | 'application.manage_hosting' | 'application.delete' | 'business_action.read_metadata' | 'business_action.invoke' | 'business_action.read_implementation' | 'business_action.update_draft' | 'business_action.publish' | 'business_action.manage_access' | 'business_action.delegate_access' | 'business_action.delete')[];
1962
+ principalId: string;
1963
+ principalType: string;
1964
+ resourceId: string;
1965
+ resourceType: string;
1966
+ workspaceId: string | null;
1967
+ };
1968
+ /** @enum {string} */
1969
+ kind: 'owner' | 'creator' | 'organization_member' | 'grant' | 'service';
1970
+ /** @enum {string} */
1971
+ level: 'read' | 'write' | 'admin';
1972
+ }[];
1973
+ };
1974
+ resourceId: string;
1975
+ resourceType: string;
1976
+ restrictions: ('workspace_access_required' | 'key_inactive' | 'key_expired' | 'key_scope')[];
1977
+ workspaceId: string | null;
1978
+ };
1979
+ PermissionInspectionInput: {
1980
+ applicationId?: string;
1981
+ principal: {
1982
+ id: string;
1983
+ /** @enum {string} */
1984
+ type: 'user' | 'apiKey' | 'application';
1985
+ };
1986
+ resourceId: string;
1987
+ };
1278
1988
  QueryRequest: {
1279
1989
  limit?: number;
1280
1990
  sourceIds: string[];