@arbium/enterprise-agent-connect-client 0.1.1 → 0.1.2-dev.75145ef

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/lib/steps.d.ts CHANGED
@@ -17,8 +17,10 @@ export declare function choiceValues(connector: {
17
17
  export declare const isChosen: (option: ChosenOption | undefined, chosen: Record<string, string>) => boolean;
18
18
  /** The choice fields shown: one that `requires` an earlier choice only while it is made. */
19
19
  export declare const askedFields: (fields: Field[], values: Record<string, string>) => Field[];
20
- /** The steps that apply under the chosen options (a step with `option` only while chosen). */
21
- export declare function chosenSteps(connector: Connector, steps: Step[], values: Record<string, string>): Step[];
20
+ /** The steps that apply under the chosen options (a step with `option` only while chosen)
21
+ * and, given `ticked`, the ticked capabilities (a step with `capabilities` only while one of
22
+ * them is). */
23
+ export declare function chosenSteps(connector: Connector, steps: Step[], values: Record<string, string>, ticked?: readonly string[]): Step[];
22
24
  /** Choices that change the permissions the setup steps ask for: made in step 1, with what
23
25
  * agents may do, so the steps after it already show those permissions. */
24
26
  export declare function permissionChoices(connector: Connector): Field[];
@@ -39,6 +41,12 @@ export declare function keyApps(agent: Agent, connectors: Connector[]): Connecto
39
41
  export declare function keysUsing(agents: Agent[], connectorId: string): number;
40
42
  /** The values a connected app reported for its discover probe, e.g. Jira project keys. */
41
43
  export declare function discovered(connector: Connector, checks: Check[] | null): string[];
44
+ /** The same, each with the label to show for it (the value itself when the app gave none),
45
+ * e.g. a NetSuite subsidiary's name for its id. */
46
+ export declare function discoveredChoices(connector: Connector, checks: Check[] | null): {
47
+ value: string;
48
+ label: string;
49
+ }[];
42
50
  /** Parses free-typed list input ("KAN, SAM1") into values. */
43
51
  export declare function splitList(raw: string): string[];
44
52
  /** Shown under Click through for a step the vendor offers only as commands. */
@@ -211,6 +219,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
211
219
  field: string;
212
220
  value: string;
213
221
  };
222
+ capabilities?: string[];
214
223
  }[];
215
224
  afterConnect: {
216
225
  title: string;
@@ -240,6 +249,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
240
249
  field: string;
241
250
  value: string;
242
251
  };
252
+ capabilities?: string[];
243
253
  }[];
244
254
  fields: {
245
255
  id: string;
@@ -257,6 +267,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
257
267
  field: string;
258
268
  value: string;
259
269
  };
270
+ optional: boolean;
260
271
  }[];
261
272
  capabilities: {
262
273
  id: string;
@@ -340,13 +351,18 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
340
351
  path: string;
341
352
  label: string;
342
353
  show: string;
354
+ name?: string;
343
355
  match?: {
344
356
  [key: string]: string | number | boolean;
345
357
  };
346
358
  body?: {
347
359
  [key: string]: unknown;
348
360
  };
349
- ifEmpty?: string;
361
+ ifEmpty
362
+ /** A step whose text fills in a value saved at another step waits until it is saved: its
363
+ * words would show the raw {name} and its commands would not run. */
364
+ ? /** A step whose text fills in a value saved at another step waits until it is saved: its
365
+ * words would show the raw {name} and its commands would not run. */: string;
350
366
  } | {
351
367
  label: string;
352
368
  check: string;
@@ -357,6 +373,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
357
373
  path: string;
358
374
  label: string;
359
375
  show: string;
376
+ name?: string;
360
377
  match?: {
361
378
  [key: string]: string | number | boolean;
362
379
  };
@@ -376,6 +393,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
376
393
  type: "header";
377
394
  header: string;
378
395
  value: string;
396
+ prefix?: string;
379
397
  } | {
380
398
  type: "bearer";
381
399
  token: string;
@@ -388,6 +406,14 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
388
406
  tokenUrl: string;
389
407
  clientId: string;
390
408
  clientSecret: string;
409
+ scope?: string;
410
+ } | {
411
+ type: "query";
412
+ param: string;
413
+ value: string;
414
+ };
415
+ headers: {
416
+ [key: string]: string;
391
417
  };
392
418
  tools: {
393
419
  name: string;
@@ -396,13 +422,173 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
396
422
  path: string;
397
423
  params: {
398
424
  [key: string]: {
399
- type: "string" | "number" | "integer" | "boolean";
425
+ type: "string" | "number" | "integer" | "boolean" | "array";
400
426
  description: string;
401
427
  in: "path" | "query" | "body";
428
+ name?: string;
402
429
  required: boolean;
430
+ default?: (string | number | boolean) | (string | number | boolean)[];
431
+ enum?: (string | number | boolean)[];
432
+ items?: "string" | "number" | "integer" | "boolean";
433
+ join?: string;
434
+ limit?: string;
435
+ };
436
+ };
437
+ destructive: boolean;
438
+ answerLimits: {
439
+ field: string;
440
+ limit: string;
441
+ }[];
442
+ result?: {
443
+ items?: string;
444
+ fields?: string[];
445
+ };
446
+ paging?: {
447
+ param: string;
448
+ body: string;
449
+ } | {
450
+ param: string;
451
+ header: string;
452
+ } | {
453
+ param: string;
454
+ link: true;
455
+ };
456
+ }[];
457
+ allowInsecureHttp: boolean;
458
+ };
459
+ soap?: {
460
+ endpoint: string;
461
+ version: "1.1" | "1.2";
462
+ namespaces: {
463
+ [key: string]: string;
464
+ };
465
+ auth?: {
466
+ type: "header";
467
+ header: string;
468
+ value: string;
469
+ prefix?: string;
470
+ } | {
471
+ type: "bearer";
472
+ token: string;
473
+ } | {
474
+ type: "basic";
475
+ username: string;
476
+ password: string;
477
+ };
478
+ wsSecurity?: {
479
+ username: string;
480
+ password: string;
481
+ digest: boolean;
482
+ };
483
+ verify?: {
484
+ tool: string;
485
+ args: {
486
+ [key: string]: string | number | boolean;
487
+ };
488
+ show: string;
489
+ };
490
+ tools: {
491
+ name: string;
492
+ description: string;
493
+ operation: string;
494
+ soapAction?: string;
495
+ body: string;
496
+ params: {
497
+ [key: string]: {
498
+ type: "string" | "number" | "integer" | "boolean";
499
+ description: string;
500
+ required: boolean;
501
+ limit?: string;
502
+ };
503
+ };
504
+ result?: string;
505
+ fields?: string[];
506
+ readOnly: boolean;
507
+ destructive: boolean;
508
+ answerLimits: {
509
+ field: string;
510
+ limit: string;
511
+ }[];
512
+ }[];
513
+ allowInsecureHttp: boolean;
514
+ };
515
+ odata?: {
516
+ serviceRoot: string;
517
+ version: "2" | "4";
518
+ auth: {
519
+ type: "header";
520
+ header: string;
521
+ value: string;
522
+ prefix?: string;
523
+ } | {
524
+ type: "bearer";
525
+ token: string;
526
+ } | {
527
+ type: "basic";
528
+ username: string;
529
+ password: string;
530
+ } | {
531
+ type: "oauth2";
532
+ tokenUrl: string;
533
+ clientId: string;
534
+ clientSecret: string;
535
+ scope?: string;
536
+ } | {
537
+ type: "query";
538
+ param: string;
539
+ value: string;
540
+ };
541
+ headers: {
542
+ [key: string]: string;
543
+ };
544
+ csrf: boolean;
545
+ paging: "skip" | "server";
546
+ tools: {
547
+ name: string;
548
+ description: string;
549
+ kind: "list" | "get" | "create" | "update" | "function" | "action";
550
+ entitySet?: string;
551
+ function?: string;
552
+ key: {
553
+ [key: string]: {
554
+ type: "string" | "integer" | "number" | "decimal" | "boolean" | "guid" | "datetime" | "datetimeoffset";
555
+ description: string;
556
+ property?: string;
557
+ required?: boolean;
558
+ limit?: string;
559
+ };
560
+ };
561
+ filters: {
562
+ [key: string]: {
563
+ type: "string" | "integer" | "number" | "decimal" | "boolean" | "guid" | "datetime" | "datetimeoffset";
564
+ description: string;
565
+ property?: string;
566
+ required?: boolean;
567
+ limit?: string;
568
+ op: "eq" | "ne" | "gt" | "ge" | "lt" | "le" | "contains" | "startswith";
569
+ };
570
+ };
571
+ fields: {
572
+ [key: string]: {
573
+ type: "string" | "integer" | "number" | "decimal" | "boolean" | "guid" | "datetime" | "datetimeoffset";
574
+ description: string;
575
+ property?: string;
576
+ required?: boolean;
577
+ limit?: string;
578
+ };
579
+ };
580
+ params: {
581
+ [key: string]: {
582
+ type: "string" | "integer" | "number" | "decimal" | "boolean" | "guid" | "datetime" | "datetimeoffset";
583
+ description: string;
584
+ property?: string;
585
+ required?: boolean;
403
586
  limit?: string;
404
587
  };
405
588
  };
589
+ select: string[];
590
+ orderBy?: string;
591
+ top: number;
406
592
  destructive: boolean;
407
593
  answerLimits: {
408
594
  field: string;
@@ -411,6 +597,142 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
411
597
  }[];
412
598
  allowInsecureHttp: boolean;
413
599
  };
600
+ sql?: {
601
+ engine: "postgres" | "sqlserver" | "mysql" | "oracle";
602
+ host: string;
603
+ port?: number;
604
+ database: string;
605
+ auth: {
606
+ user: string;
607
+ password: string;
608
+ };
609
+ tls: "verify" | "insecure" | "off";
610
+ timeoutSeconds: number;
611
+ maxRows: number;
612
+ tools: {
613
+ name: string;
614
+ description: string;
615
+ sql: string;
616
+ params: {
617
+ [key: string]: {
618
+ type: "string" | "number" | "integer" | "boolean";
619
+ description: string;
620
+ required: boolean;
621
+ limit?: string;
622
+ };
623
+ };
624
+ write: boolean;
625
+ destructive: boolean;
626
+ answerLimits: {
627
+ column: string;
628
+ limit: string;
629
+ }[];
630
+ }[];
631
+ };
632
+ events?: {
633
+ types: {
634
+ id: string;
635
+ label: string;
636
+ }[];
637
+ fields: {
638
+ [key: string]: string;
639
+ };
640
+ limits: {
641
+ [key: string]: string;
642
+ };
643
+ webhook?: {
644
+ verify: {
645
+ type: "hmac-sha256";
646
+ header: string;
647
+ prefix: string;
648
+ } | {
649
+ type: "token";
650
+ header: string;
651
+ } | {
652
+ type: "none";
653
+ };
654
+ allowInsecure: boolean;
655
+ type: {
656
+ field: string;
657
+ } | {
658
+ header: string;
659
+ };
660
+ deliveryId?: {
661
+ field: string;
662
+ } | {
663
+ header: string;
664
+ };
665
+ timestamp?: {
666
+ at: {
667
+ field: string;
668
+ } | {
669
+ header: string;
670
+ };
671
+ unit: "s" | "ms" | "iso";
672
+ toleranceSeconds: number;
673
+ };
674
+ setup: {
675
+ title: string;
676
+ body: string;
677
+ link?: {
678
+ label: string;
679
+ href: string;
680
+ };
681
+ copy?: string[];
682
+ shell?: "bash" | "powershell";
683
+ permissions?: boolean;
684
+ certificate?: boolean;
685
+ click?: string[];
686
+ clickUnavailable?: true;
687
+ siteRole?: "read" | "write";
688
+ agentCheck?: boolean;
689
+ confirm?: string;
690
+ live?: string;
691
+ settings?: {
692
+ id: string;
693
+ label: string;
694
+ help?: string;
695
+ placeholder?: string;
696
+ pattern: string;
697
+ }[];
698
+ option?: {
699
+ field: string;
700
+ value: string;
701
+ };
702
+ }[];
703
+ register?: {
704
+ method: "GET" | "POST" | "PUT";
705
+ path: string;
706
+ body?: unknown;
707
+ location: string;
708
+ };
709
+ };
710
+ self?: {
711
+ request: {
712
+ method: "GET" | "POST" | "PUT";
713
+ path: string;
714
+ body?: unknown;
715
+ };
716
+ id: string;
717
+ fields: string[];
718
+ };
719
+ poll?: {
720
+ request: {
721
+ method: "GET" | "POST" | "PUT";
722
+ path: string;
723
+ body?: unknown;
724
+ };
725
+ filter?: string;
726
+ items: string;
727
+ wrap?: string;
728
+ cursor: string;
729
+ deliveryId: string[];
730
+ types: {
731
+ type: string;
732
+ since?: string;
733
+ }[];
734
+ };
735
+ };
414
736
  }[];
415
737
  steps: {
416
738
  provider: string;
@@ -485,6 +807,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
485
807
  field: string;
486
808
  value: string;
487
809
  };
810
+ capabilities?: string[];
488
811
  }[];
489
812
  afterConnect: {
490
813
  title: string;
@@ -514,6 +837,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
514
837
  field: string;
515
838
  value: string;
516
839
  };
840
+ capabilities?: string[];
517
841
  }[];
518
842
  fields: {
519
843
  id: string;
@@ -531,6 +855,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
531
855
  field: string;
532
856
  value: string;
533
857
  };
858
+ optional: boolean;
534
859
  }[];
535
860
  capabilities: {
536
861
  id: string;
@@ -614,13 +939,18 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
614
939
  path: string;
615
940
  label: string;
616
941
  show: string;
942
+ name?: string;
617
943
  match?: {
618
944
  [key: string]: string | number | boolean;
619
945
  };
620
946
  body?: {
621
947
  [key: string]: unknown;
622
948
  };
623
- ifEmpty?: string;
949
+ ifEmpty
950
+ /** A step whose text fills in a value saved at another step waits until it is saved: its
951
+ * words would show the raw {name} and its commands would not run. */
952
+ ? /** A step whose text fills in a value saved at another step waits until it is saved: its
953
+ * words would show the raw {name} and its commands would not run. */: string;
624
954
  } | {
625
955
  label: string;
626
956
  check: string;
@@ -631,6 +961,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
631
961
  path: string;
632
962
  label: string;
633
963
  show: string;
964
+ name?: string;
634
965
  match?: {
635
966
  [key: string]: string | number | boolean;
636
967
  };
@@ -650,6 +981,7 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
650
981
  type: "header";
651
982
  header: string;
652
983
  value: string;
984
+ prefix?: string;
653
985
  } | {
654
986
  type: "bearer";
655
987
  token: string;
@@ -662,6 +994,14 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
662
994
  tokenUrl: string;
663
995
  clientId: string;
664
996
  clientSecret: string;
997
+ scope?: string;
998
+ } | {
999
+ type: "query";
1000
+ param: string;
1001
+ value: string;
1002
+ };
1003
+ headers: {
1004
+ [key: string]: string;
665
1005
  };
666
1006
  tools: {
667
1007
  name: string;
@@ -670,10 +1010,15 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
670
1010
  path: string;
671
1011
  params: {
672
1012
  [key: string]: {
673
- type: "string" | "number" | "integer" | "boolean";
1013
+ type: "string" | "number" | "integer" | "boolean" | "array";
674
1014
  description: string;
675
1015
  in: "path" | "query" | "body";
1016
+ name?: string;
676
1017
  required: boolean;
1018
+ default?: (string | number | boolean) | (string | number | boolean)[];
1019
+ enum?: (string | number | boolean)[];
1020
+ items?: "string" | "number" | "integer" | "boolean";
1021
+ join?: string;
677
1022
  limit?: string;
678
1023
  };
679
1024
  };
@@ -682,9 +1027,300 @@ export declare function newKeySetup(ticked: Connector[], providers: Provider[]):
682
1027
  field: string;
683
1028
  limit: string;
684
1029
  }[];
1030
+ result?: {
1031
+ items?: string;
1032
+ fields?: string[];
1033
+ };
1034
+ paging?: {
1035
+ param: string;
1036
+ body: string;
1037
+ } | {
1038
+ param: string;
1039
+ header: string;
1040
+ } | {
1041
+ param: string;
1042
+ link: true;
1043
+ };
685
1044
  }[];
686
1045
  allowInsecureHttp: boolean;
687
1046
  };
1047
+ soap?: {
1048
+ endpoint: string;
1049
+ version: "1.1" | "1.2";
1050
+ namespaces: {
1051
+ [key: string]: string;
1052
+ };
1053
+ auth?: {
1054
+ type: "header";
1055
+ header: string;
1056
+ value: string;
1057
+ prefix?: string;
1058
+ } | {
1059
+ type: "bearer";
1060
+ token: string;
1061
+ } | {
1062
+ type: "basic";
1063
+ username: string;
1064
+ password: string;
1065
+ };
1066
+ wsSecurity?: {
1067
+ username: string;
1068
+ password: string;
1069
+ digest: boolean;
1070
+ };
1071
+ verify?: {
1072
+ tool: string;
1073
+ args: {
1074
+ [key: string]: string | number | boolean;
1075
+ };
1076
+ show: string;
1077
+ };
1078
+ tools: {
1079
+ name: string;
1080
+ description: string;
1081
+ operation: string;
1082
+ soapAction?: string;
1083
+ body: string;
1084
+ params: {
1085
+ [key: string]: {
1086
+ type: "string" | "number" | "integer" | "boolean";
1087
+ description: string;
1088
+ required: boolean;
1089
+ limit?: string;
1090
+ };
1091
+ };
1092
+ result?: string;
1093
+ fields?: string[];
1094
+ readOnly: boolean;
1095
+ destructive: boolean;
1096
+ answerLimits: {
1097
+ field: string;
1098
+ limit: string;
1099
+ }[];
1100
+ }[];
1101
+ allowInsecureHttp: boolean;
1102
+ };
1103
+ odata?: {
1104
+ serviceRoot: string;
1105
+ version: "2" | "4";
1106
+ auth: {
1107
+ type: "header";
1108
+ header: string;
1109
+ value: string;
1110
+ prefix?: string;
1111
+ } | {
1112
+ type: "bearer";
1113
+ token: string;
1114
+ } | {
1115
+ type: "basic";
1116
+ username: string;
1117
+ password: string;
1118
+ } | {
1119
+ type: "oauth2";
1120
+ tokenUrl: string;
1121
+ clientId: string;
1122
+ clientSecret: string;
1123
+ scope?: string;
1124
+ } | {
1125
+ type: "query";
1126
+ param: string;
1127
+ value: string;
1128
+ };
1129
+ headers: {
1130
+ [key: string]: string;
1131
+ };
1132
+ csrf: boolean;
1133
+ paging: "skip" | "server";
1134
+ tools: {
1135
+ name: string;
1136
+ description: string;
1137
+ kind: "list" | "get" | "create" | "update" | "function" | "action";
1138
+ entitySet?: string;
1139
+ function?: string;
1140
+ key: {
1141
+ [key: string]: {
1142
+ type: "string" | "integer" | "number" | "decimal" | "boolean" | "guid" | "datetime" | "datetimeoffset";
1143
+ description: string;
1144
+ property?: string;
1145
+ required?: boolean;
1146
+ limit?: string;
1147
+ };
1148
+ };
1149
+ filters: {
1150
+ [key: string]: {
1151
+ type: "string" | "integer" | "number" | "decimal" | "boolean" | "guid" | "datetime" | "datetimeoffset";
1152
+ description: string;
1153
+ property?: string;
1154
+ required?: boolean;
1155
+ limit?: string;
1156
+ op: "eq" | "ne" | "gt" | "ge" | "lt" | "le" | "contains" | "startswith";
1157
+ };
1158
+ };
1159
+ fields: {
1160
+ [key: string]: {
1161
+ type: "string" | "integer" | "number" | "decimal" | "boolean" | "guid" | "datetime" | "datetimeoffset";
1162
+ description: string;
1163
+ property?: string;
1164
+ required?: boolean;
1165
+ limit?: string;
1166
+ };
1167
+ };
1168
+ params: {
1169
+ [key: string]: {
1170
+ type: "string" | "integer" | "number" | "decimal" | "boolean" | "guid" | "datetime" | "datetimeoffset";
1171
+ description: string;
1172
+ property?: string;
1173
+ required?: boolean;
1174
+ limit?: string;
1175
+ };
1176
+ };
1177
+ select: string[];
1178
+ orderBy?: string;
1179
+ top: number;
1180
+ destructive: boolean;
1181
+ answerLimits: {
1182
+ field: string;
1183
+ limit: string;
1184
+ }[];
1185
+ }[];
1186
+ allowInsecureHttp: boolean;
1187
+ };
1188
+ sql?: {
1189
+ engine: "postgres" | "sqlserver" | "mysql" | "oracle";
1190
+ host: string;
1191
+ port?: number;
1192
+ database: string;
1193
+ auth: {
1194
+ user: string;
1195
+ password: string;
1196
+ };
1197
+ tls: "verify" | "insecure" | "off";
1198
+ timeoutSeconds: number;
1199
+ maxRows: number;
1200
+ tools: {
1201
+ name: string;
1202
+ description: string;
1203
+ sql: string;
1204
+ params: {
1205
+ [key: string]: {
1206
+ type: "string" | "number" | "integer" | "boolean";
1207
+ description: string;
1208
+ required: boolean;
1209
+ limit?: string;
1210
+ };
1211
+ };
1212
+ write: boolean;
1213
+ destructive: boolean;
1214
+ answerLimits: {
1215
+ column: string;
1216
+ limit: string;
1217
+ }[];
1218
+ }[];
1219
+ };
1220
+ events?: {
1221
+ types: {
1222
+ id: string;
1223
+ label: string;
1224
+ }[];
1225
+ fields: {
1226
+ [key: string]: string;
1227
+ };
1228
+ limits: {
1229
+ [key: string]: string;
1230
+ };
1231
+ webhook?: {
1232
+ verify: {
1233
+ type: "hmac-sha256";
1234
+ header: string;
1235
+ prefix: string;
1236
+ } | {
1237
+ type: "token";
1238
+ header: string;
1239
+ } | {
1240
+ type: "none";
1241
+ };
1242
+ allowInsecure: boolean;
1243
+ type: {
1244
+ field: string;
1245
+ } | {
1246
+ header: string;
1247
+ };
1248
+ deliveryId?: {
1249
+ field: string;
1250
+ } | {
1251
+ header: string;
1252
+ };
1253
+ timestamp?: {
1254
+ at: {
1255
+ field: string;
1256
+ } | {
1257
+ header: string;
1258
+ };
1259
+ unit: "s" | "ms" | "iso";
1260
+ toleranceSeconds: number;
1261
+ };
1262
+ setup: {
1263
+ title: string;
1264
+ body: string;
1265
+ link?: {
1266
+ label: string;
1267
+ href: string;
1268
+ };
1269
+ copy?: string[];
1270
+ shell?: "bash" | "powershell";
1271
+ permissions?: boolean;
1272
+ certificate?: boolean;
1273
+ click?: string[];
1274
+ clickUnavailable?: true;
1275
+ siteRole?: "read" | "write";
1276
+ agentCheck?: boolean;
1277
+ confirm?: string;
1278
+ live?: string;
1279
+ settings?: {
1280
+ id: string;
1281
+ label: string;
1282
+ help?: string;
1283
+ placeholder?: string;
1284
+ pattern: string;
1285
+ }[];
1286
+ option?: {
1287
+ field: string;
1288
+ value: string;
1289
+ };
1290
+ }[];
1291
+ register?: {
1292
+ method: "GET" | "POST" | "PUT";
1293
+ path: string;
1294
+ body?: unknown;
1295
+ location: string;
1296
+ };
1297
+ };
1298
+ self?: {
1299
+ request: {
1300
+ method: "GET" | "POST" | "PUT";
1301
+ path: string;
1302
+ body?: unknown;
1303
+ };
1304
+ id: string;
1305
+ fields: string[];
1306
+ };
1307
+ poll?: {
1308
+ request: {
1309
+ method: "GET" | "POST" | "PUT";
1310
+ path: string;
1311
+ body?: unknown;
1312
+ };
1313
+ filter?: string;
1314
+ items: string;
1315
+ wrap?: string;
1316
+ cursor: string;
1317
+ deliveryId: string[];
1318
+ types: {
1319
+ type: string;
1320
+ since?: string;
1321
+ }[];
1322
+ };
1323
+ };
688
1324
  }[];
689
1325
  };
690
1326
  /** The list limits a new key must be given for an app before it is made (e.g. SharePoint's