@wix/auto_sdk_connectors_connectors 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,981 @@
1
+ import * as _wix_sdk_types from '@wix/sdk-types';
2
+ import { QuerySpec, Query, NonNullablePaths } from '@wix/sdk-types';
3
+
4
+ /**
5
+ * Not a taggable product resource: it carries no OAuth credential of its own (that lives on the
6
+ * shared wix.connectors_access_keys.v1.ConnectorAccessKey), only binding data.
7
+ */
8
+ interface Connector extends ConnectorRegistrationOneOf {
9
+ /** Curated owner: the connector app + CONNECTOR_CONFIG component this connection was created against. */
10
+ predefinedRegistration?: PredefinedRegistration;
11
+ /** Dynamic owner: the provider registration this connection was created against. */
12
+ dynamicRegistration?: DynamicRegistration;
13
+ /**
14
+ * SDL derives this entity's owner from identity.targetAccountId; do not add account_id.
15
+ * @format GUID
16
+ * @readonly
17
+ */
18
+ _id?: string | null;
19
+ /**
20
+ * Optimistic-lock revision assigned by SDL.
21
+ * @readonly
22
+ */
23
+ revision?: string | null;
24
+ /**
25
+ * Time at which SDL created the Connector.
26
+ * @readonly
27
+ */
28
+ _createdDate?: Date | null;
29
+ /**
30
+ * Time at which SDL last updated the Connector.
31
+ * @readonly
32
+ */
33
+ _updatedDate?: Date | null;
34
+ /**
35
+ * Stable identifier of the connector implementation, for example "github".
36
+ * @maxLength 80
37
+ * @immutable
38
+ */
39
+ connectorSlug?: string;
40
+ /**
41
+ * The provider-side subject this connection is about, and the value inbound webhook deliveries are
42
+ * attributed by: it must be byte-identical to what a delivery carries at the pointer the connector's
43
+ * WebhookConfig.provider_tenant_id_json_pointer names. Which value that is follows from where
44
+ * OAuthConfig.identity_operation.response_id_json_pointer points, so aim that pointer at whatever the
45
+ * provider's webhooks are about -- usually a workspace, team or installation rather than the individual
46
+ * user who consented. This PII also participates in the account-local uniqueness constraint.
47
+ *
48
+ * For a connector whose WebhookConfig declares verification_source = CONNECTOR_WIDE, a non-empty
49
+ * provider_tenant_id_json_pointer, and unique_callback_path = false, that byte-identity is a hard
50
+ * contract, not advice: connectors-webhooks uses this value as the provider tenant identity when it
51
+ * builds the shared-delivery fan-out route for this connector, so a mismatch means the account's
52
+ * deliveries verify but resolve no route and are refused. Config validation enforces the
53
+ * precondition of that contract: such a connector is rejected unless it also names
54
+ * OAuthConfig.identity_operation.response_id_json_pointer, because a connector that names no
55
+ * identity pointer produces no external id for a delivery to be matched against. The equivalence
56
+ * itself stays unvalidated and remains the responsibility of whoever configures the two pointers:
57
+ * they address different documents -- the provider's identity response and an inbound delivery
58
+ * body -- so only a live delivery can show that they select the same value.
59
+ * @internal
60
+ * @maxLength 200
61
+ */
62
+ connectorExternalId?: string;
63
+ /**
64
+ * Wix user who consented to this private Connector. Required when exposure is USER.
65
+ * @internal
66
+ * @format GUID
67
+ * @immutable
68
+ */
69
+ consentingUserId?: string;
70
+ /** Whether the Connector is account-owned or restricted to the consenting user. */
71
+ exposure?: ExposureWithLiterals;
72
+ /**
73
+ * Best-effort projection of the shared access key's granted scopes, maintained by consuming
74
+ * AccessKeyBindingPushed -- see credential_state's comment for the full advisory rule, which applies
75
+ * identically here. Carried as the GrantedScopes message rather than a bare repeated string so a
76
+ * provider that never reports scopes (reporting_state NOT_REPORTED) stays distinguishable from one
77
+ * that explicitly reported an empty set (REPORTED with no scopes); flattening the two would turn an
78
+ * unknown into a false negative for anyone reading this field. Server-owned: no create or update path
79
+ * accepts a caller-supplied value for it. The producer only emits AccessKeyBindingPushed on a
80
+ * credential_state transition, so a scopes-only change at the shared access key (no state transition)
81
+ * does not reach this field -- it reflects scopes as of the last state transition, not necessarily the
82
+ * shared key's current scopes.
83
+ * @internal
84
+ * @readonly
85
+ */
86
+ grantedScopes?: GrantedScopes;
87
+ /**
88
+ * Best-effort snapshot of the shared access key's credential_state, maintained by consuming
89
+ * AccessKeyBindingPushed off connectors-access-keys-store's own state-change events. NEVER a source
90
+ * of truth and NEVER an authorization input -- under event lag this can read ACTIVE while the key is
91
+ * REVOKED. It exists only to answer "what should be shown to the user"; every credential-usability
92
+ * decision (dispatch, revocation, anything that gates behavior) must keep reading
93
+ * connectors-access-keys-store synchronously. The same rule covers filtering by this field: a query
94
+ * for credential_state == ACTIVE returns what the platform last believed, never a permission to use
95
+ * those bindings. UNKNOWN_CREDENTIAL_STATE means no push has ever arrived for the bound access key --
96
+ * including every row that predates this projection -- and is never a signal of a healthy connection.
97
+ * Server-owned: no create or update path accepts a caller-supplied value for it. When a push carries
98
+ * the source event's own timestamp, that timestamp is tracked on the domain row (not exposed on this
99
+ * contract) and a later push older than the stored value is dropped; a push with no timestamp only
100
+ * ever initializes a row that has never recorded one, never overwrites an already-timestamped
101
+ * snapshot.
102
+ * @readonly
103
+ */
104
+ credentialState?: CredentialStateWithLiterals;
105
+ /**
106
+ * Deprecated: use registration.predefined_registration.app_id. Retained for callers still on the
107
+ * flat field. Empty for a dynamic (registration-owned) connector.
108
+ * @format GUID
109
+ * @immutable
110
+ * @deprecated
111
+ * @replacedBy predefined_registration.app_id
112
+ * @targetRemovalDate 2027-06-30
113
+ */
114
+ appId?: string;
115
+ /**
116
+ * Deprecated: use registration.predefined_registration.component_id.
117
+ * @format GUID
118
+ * @immutable
119
+ * @deprecated
120
+ * @replacedBy predefined_registration.component_id
121
+ * @targetRemovalDate 2027-06-30
122
+ */
123
+ componentId?: string;
124
+ /** Non-secret discriminant of the owner kind, aligned with the oneof above. */
125
+ registrationType?: RegistrationTypeWithLiterals;
126
+ /**
127
+ * Shared access-key binding identity: the access key this connection is bound to. Within an
128
+ * account, one binding per scope is allowed, where an ACCOUNT connector uses the empty scope and a
129
+ * USER connector uses its consenting user -- so a key admits one account-wide binding alongside one
130
+ * binding per user in that account, and a second binding of the same key in the same scope within
131
+ * the same account is rejected; the same key may be bound again in a different account, since the
132
+ * index is scoped by tenant. Required on every connector: it backs the table's sole unique index,
133
+ * so a connector cannot be stored without one.
134
+ * @internal
135
+ * @format GUID
136
+ * @immutable
137
+ */
138
+ accessKeyId?: string | null;
139
+ }
140
+ /** @oneof */
141
+ interface ConnectorRegistrationOneOf {
142
+ /** Curated owner: the connector app + CONNECTOR_CONFIG component this connection was created against. */
143
+ predefinedRegistration?: PredefinedRegistration;
144
+ /** Dynamic owner: the provider registration this connection was created against. */
145
+ dynamicRegistration?: DynamicRegistration;
146
+ }
147
+ declare enum Exposure {
148
+ /** The Connector is owned and usable by its account. */
149
+ ACCOUNT = "ACCOUNT",
150
+ /** The Connector is restricted to its consenting user. */
151
+ USER = "USER"
152
+ }
153
+ /** @enumType */
154
+ type ExposureWithLiterals = Exposure | 'ACCOUNT' | 'USER';
155
+ /**
156
+ * Provider-reported granted scopes, preserving the distinction between a provider that never reports
157
+ * scopes and one that explicitly reports an empty set.
158
+ */
159
+ interface GrantedScopes {
160
+ /** Whether the provider has reported a granted-scopes set for this credential. */
161
+ reportingState?: ScopeReportingStateWithLiterals;
162
+ /**
163
+ * The scopes the provider reported. Meaningful only when reporting_state is REPORTED: an empty list
164
+ * there means the provider explicitly reported no granted scopes (known-empty), not that reporting is
165
+ * unknown.
166
+ * @maxSize 40
167
+ * @maxLength 70
168
+ */
169
+ scopes?: string[];
170
+ }
171
+ declare enum ScopeReportingState {
172
+ /** The provider has not reported a granted-scopes set for this credential. */
173
+ NOT_REPORTED = "NOT_REPORTED",
174
+ /** The provider reported a granted-scopes set, which may itself be empty. */
175
+ REPORTED = "REPORTED"
176
+ }
177
+ /** @enumType */
178
+ type ScopeReportingStateWithLiterals = ScopeReportingState | 'NOT_REPORTED' | 'REPORTED';
179
+ /** Reused verbatim from wix.connectors.v1. */
180
+ declare enum CredentialState {
181
+ ACTIVE = "ACTIVE",
182
+ REVOKED = "REVOKED"
183
+ }
184
+ /** @enumType */
185
+ type CredentialStateWithLiterals = CredentialState | 'ACTIVE' | 'REVOKED';
186
+ /** Curated owner: the connector app plus CONNECTOR_CONFIG component a connection was created against. */
187
+ interface PredefinedRegistration {
188
+ /**
189
+ * The connector app that declares the CONNECTOR_CONFIG component.
190
+ * @format GUID
191
+ * @immutable
192
+ */
193
+ appId?: string;
194
+ /**
195
+ * The CONNECTOR_CONFIG component within that app — the stable address for the connector's config.
196
+ * @format GUID
197
+ * @immutable
198
+ */
199
+ componentId?: string;
200
+ }
201
+ /**
202
+ * Dynamic owner: the wix.connectors.registry.v1.mcp_server_registration a connection was created
203
+ * against, for a DCR connector reached by URL. Shared per provider rather than per app/component.
204
+ */
205
+ interface DynamicRegistration {
206
+ /**
207
+ * The provider-registry McpServerRegistration this connection was created against.
208
+ * @format GUID
209
+ * @immutable
210
+ */
211
+ registrationId?: string;
212
+ }
213
+ /** Which kind of owner this connection belongs to. */
214
+ declare enum RegistrationType {
215
+ /** Owned by a connector app/component (curated). */
216
+ PREDEFINED = "PREDEFINED",
217
+ /** Owned by a provider registration (DCR). */
218
+ DYNAMIC = "DYNAMIC"
219
+ }
220
+ /** @enumType */
221
+ type RegistrationTypeWithLiterals = RegistrationType | 'PREDEFINED' | 'DYNAMIC';
222
+ interface CreateConnectorRequest {
223
+ /** Durable OAuth Connector to persist in the target account tenant. */
224
+ connector?: Connector;
225
+ }
226
+ interface CreateConnectorResponse {
227
+ /** The persisted Connector. */
228
+ connector?: Connector;
229
+ }
230
+ interface GetConnectorRequest {
231
+ /**
232
+ * ID of the Connector to retrieve.
233
+ * @format GUID
234
+ */
235
+ connectorId: string;
236
+ }
237
+ interface GetConnectorResponse {
238
+ /** The requested Connector. */
239
+ connector?: Connector;
240
+ }
241
+ interface DeleteConnectorRequest {
242
+ /**
243
+ * ID of the Connector to move to the trash bin.
244
+ * @format GUID
245
+ */
246
+ connectorId: string;
247
+ }
248
+ interface DeleteConnectorResponse {
249
+ }
250
+ interface QueryConnectorsRequest {
251
+ /** Filter, sort, and cursor paging arguments for Connectors in the target account tenant. */
252
+ query?: CursorQuery;
253
+ }
254
+ interface CursorQuery extends CursorQueryPagingMethodOneOf {
255
+ /**
256
+ * Cursor paging options.
257
+ *
258
+ * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).
259
+ */
260
+ cursorPaging?: CursorPaging;
261
+ /**
262
+ * Filter object.
263
+ *
264
+ * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).
265
+ */
266
+ filter?: Record<string, any> | null;
267
+ /**
268
+ * Sort object.
269
+ *
270
+ * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).
271
+ * @maxSize 5
272
+ */
273
+ sort?: Sorting[];
274
+ }
275
+ /** @oneof */
276
+ interface CursorQueryPagingMethodOneOf {
277
+ /**
278
+ * Cursor paging options.
279
+ *
280
+ * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).
281
+ */
282
+ cursorPaging?: CursorPaging;
283
+ }
284
+ interface Sorting {
285
+ /**
286
+ * Name of the field to sort by.
287
+ * @maxLength 512
288
+ */
289
+ fieldName?: string;
290
+ /** Sort order. */
291
+ order?: SortOrderWithLiterals;
292
+ }
293
+ declare enum SortOrder {
294
+ ASC = "ASC",
295
+ DESC = "DESC"
296
+ }
297
+ /** @enumType */
298
+ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
299
+ interface CursorPaging {
300
+ /**
301
+ * Maximum number of items to return in the results.
302
+ * @max 100
303
+ */
304
+ limit?: number | null;
305
+ /**
306
+ * Pointer to the next or previous page in the list of results.
307
+ *
308
+ * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
309
+ * Not relevant for the first request.
310
+ * @maxLength 16000
311
+ */
312
+ cursor?: string | null;
313
+ }
314
+ interface QueryConnectorsResponse {
315
+ /** Connectors from the target account tenant. Protected fields require their own permissions. */
316
+ connectors?: Connector[];
317
+ /** Cursor information for the next or previous page. */
318
+ pagingMetadata?: CursorPagingMetadata;
319
+ }
320
+ interface CursorPagingMetadata {
321
+ /** Number of items returned in current page. */
322
+ count?: number | null;
323
+ /** Cursor strings that point to the next page, previous page, or both. */
324
+ cursors?: Cursors;
325
+ /**
326
+ * Whether there are more pages to retrieve following the current page.
327
+ *
328
+ * + `true`: Another page of results can be retrieved.
329
+ * + `false`: This is the last page.
330
+ */
331
+ hasNext?: boolean | null;
332
+ }
333
+ interface Cursors {
334
+ /**
335
+ * Cursor string pointing to the next page in the list of results.
336
+ * @maxLength 16000
337
+ */
338
+ next?: string | null;
339
+ /**
340
+ * Cursor pointing to the previous page in the list of results.
341
+ * @maxLength 16000
342
+ */
343
+ prev?: string | null;
344
+ }
345
+ interface StartConnectRequest extends StartConnectRequestOwnerOneOf {
346
+ /** Curated connect: the connector app + CONNECTOR_CONFIG component. */
347
+ predefinedRegistration?: PredefinedRegistration;
348
+ /**
349
+ * Dynamic (DCR) connect: the provider-registry McpServerRegistration reached by URL; the OAuth
350
+ * config comes from the registration rather than a CONNECTOR_CONFIG component.
351
+ */
352
+ dynamicRegistration?: DynamicRegistration;
353
+ /** Non-secret discriminant of the owner kind, aligned with the oneof above. */
354
+ registrationType?: StartConnectRequestRegistrationTypeWithLiterals;
355
+ /**
356
+ * Deprecated: use owner.predefined_registration.app_id. Retained for callers still on the flat
357
+ * field until they migrate to the owner oneof. Not GUID-typed: that format rejects the empty
358
+ * default a oneof-owner request carries, so this optional field only caps length.
359
+ * @maxLength 80
360
+ * @deprecated
361
+ * @replacedBy predefined_registration.app_id
362
+ * @targetRemovalDate 2027-06-30
363
+ */
364
+ appId?: string;
365
+ /**
366
+ * Deprecated: use owner.predefined_registration.component_id.
367
+ * @maxLength 80
368
+ * @deprecated
369
+ * @replacedBy predefined_registration.component_id
370
+ * @targetRemovalDate 2027-06-30
371
+ */
372
+ componentId?: string;
373
+ /**
374
+ * Requested exposure of the Connector this connect will produce. UNKNOWN_EXPOSURE is treated as
375
+ * ACCOUNT. USER requires an initiating Wix user identity on the call — its id is recorded as the
376
+ * Connector's consenting_user_id and the connection is then visible only to that user.
377
+ */
378
+ exposure?: ExposureWithLiterals;
379
+ /**
380
+ * Optional Wix URL to return the browser to after connect completes. Must pass the Wix-domain
381
+ * allowlist (validated server-side at GenerateAuthorizationUrl). When omitted, the fixed landing
382
+ * page is used. Carried through the handshake; the same URL is used for both success and error
383
+ * landings (with ?error= on failure). Not WEB_URL-typed: that format rejects the empty default, so
384
+ * this optional field only caps length here — the server-side allowlist is the real URL gate.
385
+ * @maxLength 2048
386
+ */
387
+ returnUrl?: string;
388
+ }
389
+ /** @oneof */
390
+ interface StartConnectRequestOwnerOneOf {
391
+ /** Curated connect: the connector app + CONNECTOR_CONFIG component. */
392
+ predefinedRegistration?: PredefinedRegistration;
393
+ /**
394
+ * Dynamic (DCR) connect: the provider-registry McpServerRegistration reached by URL; the OAuth
395
+ * config comes from the registration rather than a CONNECTOR_CONFIG component.
396
+ */
397
+ dynamicRegistration?: DynamicRegistration;
398
+ }
399
+ /** Which kind of owner this connect targets. */
400
+ declare enum StartConnectRequestRegistrationType {
401
+ /** Curated owner (app_id + component_id). */
402
+ PREDEFINED = "PREDEFINED",
403
+ /** Dynamic (DCR) owner (registration_id). */
404
+ DYNAMIC = "DYNAMIC"
405
+ }
406
+ /** @enumType */
407
+ type StartConnectRequestRegistrationTypeWithLiterals = StartConnectRequestRegistrationType | 'PREDEFINED' | 'DYNAMIC';
408
+ interface StartConnectResponse extends StartConnectResponseNextActionOneOf {
409
+ /** Redirect the caller's browser to complete the connect. */
410
+ redirect?: Redirect;
411
+ /** Nothing left to do — the connect is already finished. */
412
+ completed?: Completed;
413
+ /**
414
+ * Deprecated: read `next_action.redirect.url` instead. Still populated whenever the next action IS
415
+ * a redirect, so callers that have not migrated keep working; it is simply unable to express any
416
+ * other outcome, which is why it is being replaced rather than extended.
417
+ * @format WEB_URL
418
+ * @deprecated
419
+ * @replacedBy next_action.redirect.url
420
+ * @targetRemovalDate 2027-06-30
421
+ */
422
+ authorizationUrl?: string;
423
+ }
424
+ /** @oneof */
425
+ interface StartConnectResponseNextActionOneOf {
426
+ /** Redirect the caller's browser to complete the connect. */
427
+ redirect?: Redirect;
428
+ /** Nothing left to do — the connect is already finished. */
429
+ completed?: Completed;
430
+ }
431
+ /** Redirects the caller's browser to a provider authorization URL. */
432
+ interface Redirect {
433
+ /**
434
+ * Provider authorization URL to redirect the user's browser to.
435
+ * @format WEB_URL
436
+ */
437
+ url?: string;
438
+ }
439
+ /**
440
+ * The connect is already finished and the Connector exists; no user interaction happened or is needed.
441
+ * Returned for a provider that requires no authorization at all, where there is no authorization URL
442
+ * to visit and so no callback to return through.
443
+ */
444
+ interface Completed {
445
+ /**
446
+ * Id of the access key the resulting Connector is bound to.
447
+ * @format GUID
448
+ */
449
+ accessKeyId?: string;
450
+ }
451
+ interface DomainEvent extends DomainEventBodyOneOf {
452
+ createdEvent?: EntityCreatedEvent;
453
+ updatedEvent?: EntityUpdatedEvent;
454
+ deletedEvent?: EntityDeletedEvent;
455
+ actionEvent?: ActionEvent;
456
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
457
+ _id?: string;
458
+ /**
459
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
460
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
461
+ */
462
+ entityFqdn?: string;
463
+ /**
464
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
465
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
466
+ */
467
+ slug?: string;
468
+ /** ID of the entity associated with the event. */
469
+ entityId?: string;
470
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
471
+ eventTime?: Date | null;
472
+ /**
473
+ * Whether the event was triggered as a result of a privacy regulation application
474
+ * (for example, GDPR).
475
+ */
476
+ triggeredByAnonymizeRequest?: boolean | null;
477
+ /** If present, indicates the action that triggered the event. */
478
+ originatedFrom?: string | null;
479
+ /**
480
+ * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.
481
+ * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.
482
+ */
483
+ entityEventSequence?: string | null;
484
+ }
485
+ /** @oneof */
486
+ interface DomainEventBodyOneOf {
487
+ createdEvent?: EntityCreatedEvent;
488
+ updatedEvent?: EntityUpdatedEvent;
489
+ deletedEvent?: EntityDeletedEvent;
490
+ actionEvent?: ActionEvent;
491
+ }
492
+ interface EntityCreatedEvent {
493
+ entity?: string;
494
+ }
495
+ interface RestoreInfo {
496
+ deletedDate?: Date | null;
497
+ }
498
+ interface EntityUpdatedEvent {
499
+ /**
500
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
501
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
502
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
503
+ */
504
+ currentEntity?: string;
505
+ }
506
+ interface EntityDeletedEvent {
507
+ /** Entity that was deleted. */
508
+ deletedEntity?: string | null;
509
+ }
510
+ interface ActionEvent {
511
+ body?: string;
512
+ }
513
+ interface Empty {
514
+ }
515
+ interface MessageEnvelope {
516
+ /**
517
+ * App instance ID.
518
+ * @format GUID
519
+ */
520
+ instanceId?: string | null;
521
+ /**
522
+ * Event type.
523
+ * @maxLength 150
524
+ */
525
+ eventType?: string;
526
+ /** The identification type and identity data. */
527
+ identity?: IdentificationData;
528
+ /** Stringify payload. */
529
+ data?: string;
530
+ /** Details related to the account */
531
+ accountInfo?: AccountInfo;
532
+ }
533
+ interface IdentificationData extends IdentificationDataIdOneOf {
534
+ /**
535
+ * ID of a site visitor that has not logged in to the site.
536
+ * @format GUID
537
+ */
538
+ anonymousVisitorId?: string;
539
+ /**
540
+ * ID of a site visitor that has logged in to the site.
541
+ * @format GUID
542
+ */
543
+ memberId?: string;
544
+ /**
545
+ * ID of a Wix user (site owner, contributor, etc.).
546
+ * @format GUID
547
+ */
548
+ wixUserId?: string;
549
+ /**
550
+ * ID of an app.
551
+ * @format GUID
552
+ */
553
+ appId?: string;
554
+ /** @readonly */
555
+ identityType?: WebhookIdentityTypeWithLiterals;
556
+ }
557
+ /** @oneof */
558
+ interface IdentificationDataIdOneOf {
559
+ /**
560
+ * ID of a site visitor that has not logged in to the site.
561
+ * @format GUID
562
+ */
563
+ anonymousVisitorId?: string;
564
+ /**
565
+ * ID of a site visitor that has logged in to the site.
566
+ * @format GUID
567
+ */
568
+ memberId?: string;
569
+ /**
570
+ * ID of a Wix user (site owner, contributor, etc.).
571
+ * @format GUID
572
+ */
573
+ wixUserId?: string;
574
+ /**
575
+ * ID of an app.
576
+ * @format GUID
577
+ */
578
+ appId?: string;
579
+ }
580
+ declare enum WebhookIdentityType {
581
+ UNKNOWN = "UNKNOWN",
582
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
583
+ MEMBER = "MEMBER",
584
+ WIX_USER = "WIX_USER",
585
+ APP = "APP"
586
+ }
587
+ /** @enumType */
588
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
589
+ interface AccountInfo {
590
+ /**
591
+ * ID of the Wix account associated with the event.
592
+ * @format GUID
593
+ */
594
+ accountId?: string | null;
595
+ /**
596
+ * ID of the parent Wix account. Only included when accountId belongs to a child account.
597
+ * @format GUID
598
+ */
599
+ parentAccountId?: string | null;
600
+ /**
601
+ * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
602
+ * @format GUID
603
+ */
604
+ siteId?: string | null;
605
+ }
606
+ interface DispatchRequest {
607
+ /**
608
+ * ID of the Connector to authorize in the caller's target account.
609
+ * @format GUID
610
+ */
611
+ connectorId: string;
612
+ /** Raw provider request. Callers must not include credentials; Wix injects them at dispatch. */
613
+ providerRequest: RawHttpRequest;
614
+ /**
615
+ * Optional caller-supplied key making a retry of this dispatch safe: the same key on the same
616
+ * connector will not produce a second provider attempt through Wix. Scoped to the connector, so
617
+ * callers need only make it unique per connector. Guarantees at-most-once ATTEMPT by Wix — it
618
+ * cannot guarantee the provider applied the effect at most once when an attempt's outcome is
619
+ * unknown (timeout, connection reset). For that, include the provider's own idempotency header in
620
+ * provider_request. A repeated key fails with a duplicate-dispatch error rather than replaying the
621
+ * original response, which Wix does not retain; callers needing it must store it themselves.
622
+ * @maxLength 128
623
+ */
624
+ idempotencyKey?: string;
625
+ }
626
+ interface RawHttpRequest {
627
+ body?: Uint8Array;
628
+ pathParams?: PathParametersEntry[];
629
+ queryParams?: QueryParametersEntry[];
630
+ headers?: HeadersEntry[];
631
+ method?: string;
632
+ rawPath?: string;
633
+ rawQuery?: string;
634
+ }
635
+ interface PathParametersEntry {
636
+ key?: string;
637
+ value?: string;
638
+ }
639
+ interface QueryParametersEntry {
640
+ key?: string;
641
+ value?: string;
642
+ }
643
+ interface HeadersEntry {
644
+ key?: string;
645
+ value?: string;
646
+ }
647
+ interface RawHttpResponse {
648
+ body?: Uint8Array;
649
+ statusCode?: number | null;
650
+ headers?: HeadersEntry[];
651
+ }
652
+ interface ListMcpToolsRequest {
653
+ /**
654
+ * ID of the Connector whose callable MCP tools are requested.
655
+ * @format GUID
656
+ */
657
+ connectorId: string;
658
+ }
659
+ interface ListMcpToolsResponse {
660
+ /**
661
+ * The server's advertised tools filtered by the connector's allowlist. Capped to match mcp_config.allowed_tools' own maximum; the runtime
662
+ * rejects a provider advertisement it cannot fit rather than returning an unbounded payload.
663
+ * @maxSize 200
664
+ */
665
+ tools?: McpTool[];
666
+ }
667
+ /** One MCP tool as advertised by the connector's MCP server. */
668
+ interface McpTool {
669
+ /**
670
+ * Tool name, exactly as the server advertises it.
671
+ * @maxLength 128
672
+ */
673
+ name?: string;
674
+ /**
675
+ * Human- and model-readable description of what the tool does, as provided by the server.
676
+ * @maxLength 10000
677
+ */
678
+ description?: string;
679
+ /** JSON Schema of the tool's arguments, as provided by the server. */
680
+ inputSchema?: Record<string, any> | null;
681
+ }
682
+ /**
683
+ * Retrieves one Connector in the caller's target account tenant. USER Connectors are visible
684
+ * to their consenting user or to a server-signed app authorized by get_connector; ACCOUNT
685
+ * Connectors are visible to authorized account callers.
686
+ * @param connectorId - ID of the Connector to retrieve.
687
+ * @internal
688
+ * @documentationMaturity preview
689
+ * @requiredField connectorId
690
+ * @permissionId connectors:v1:connector:get_connector
691
+ * @returns The requested Connector.
692
+ * @fqn wix.connectors.v1.ConnectorsService.GetConnector
693
+ */
694
+ declare function getConnector(connectorId: string): Promise<NonNullablePaths<Connector, `predefinedRegistration.appId` | `predefinedRegistration.componentId` | `dynamicRegistration.registrationId` | `connectorSlug` | `exposure` | `credentialState` | `appId` | `componentId` | `registrationType`, 3>>;
695
+ /**
696
+ * Moves a Connector to the trash bin, disconnecting it from future use.
697
+ *
698
+ * Removing the binding does not revoke the provider authorization: the access key is shared, and other
699
+ * account or site bindings may still depend on it. Reclaiming an unreferenced access key is the
700
+ * access key owner's job, not this method's.
701
+ * @param connectorId - ID of the Connector to move to the trash bin.
702
+ * @internal
703
+ * @documentationMaturity preview
704
+ * @requiredField connectorId
705
+ * @permissionId connectors:v1:connector:delete_connector
706
+ * @fqn wix.connectors.v1.ConnectorsService.DeleteConnector
707
+ */
708
+ declare function deleteConnector(connectorId: string): Promise<void>;
709
+ /**
710
+ * Lists Connectors only in the caller's target account tenant. USER Connectors are included
711
+ * only for their consenting user; ACCOUNT Connectors are included for authorized account callers.
712
+ * @public
713
+ * @documentationMaturity preview
714
+ * @permissionId connectors:v1:connector:query_connectors
715
+ * @fqn wix.connectors.v1.ConnectorsService.QueryConnectors
716
+ */
717
+ declare function queryConnectors(): ConnectorsQueryBuilder;
718
+ interface QueryCursorResult {
719
+ cursors: Cursors;
720
+ hasNext: () => boolean;
721
+ hasPrev: () => boolean;
722
+ length: number;
723
+ pageSize: number;
724
+ }
725
+ interface ConnectorsQueryResult extends QueryCursorResult {
726
+ items: Connector[];
727
+ query: ConnectorsQueryBuilder;
728
+ next: () => Promise<ConnectorsQueryResult>;
729
+ prev: () => Promise<ConnectorsQueryResult>;
730
+ }
731
+ interface ConnectorsQueryBuilder {
732
+ /** @param propertyName - Property whose value is compared with `value`.
733
+ * @param value - Value to compare against.
734
+ * @documentationMaturity preview
735
+ */
736
+ eq: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'exposure' | 'credentialState' | 'appId' | 'componentId' | 'registrationType', value: any) => ConnectorsQueryBuilder;
737
+ /** @param propertyName - Property whose value is compared with `value`.
738
+ * @param value - Value to compare against.
739
+ * @documentationMaturity preview
740
+ */
741
+ ne: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'exposure' | 'credentialState' | 'appId' | 'componentId' | 'registrationType', value: any) => ConnectorsQueryBuilder;
742
+ /** @param propertyName - Property whose value is compared with `value`.
743
+ * @param value - Value to compare against.
744
+ * @documentationMaturity preview
745
+ */
746
+ ge: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'appId' | 'componentId', value: any) => ConnectorsQueryBuilder;
747
+ /** @param propertyName - Property whose value is compared with `value`.
748
+ * @param value - Value to compare against.
749
+ * @documentationMaturity preview
750
+ */
751
+ gt: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'appId' | 'componentId', value: any) => ConnectorsQueryBuilder;
752
+ /** @param propertyName - Property whose value is compared with `value`.
753
+ * @param value - Value to compare against.
754
+ * @documentationMaturity preview
755
+ */
756
+ le: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'appId' | 'componentId', value: any) => ConnectorsQueryBuilder;
757
+ /** @param propertyName - Property whose value is compared with `value`.
758
+ * @param value - Value to compare against.
759
+ * @documentationMaturity preview
760
+ */
761
+ lt: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'appId' | 'componentId', value: any) => ConnectorsQueryBuilder;
762
+ /** @param propertyName - Property whose value is compared with `string`.
763
+ * @param string - String to compare against. Case-insensitive.
764
+ * @documentationMaturity preview
765
+ */
766
+ startsWith: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'appId' | 'componentId', value: string) => ConnectorsQueryBuilder;
767
+ /** @documentationMaturity preview */
768
+ in: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'exposure' | 'credentialState' | 'appId' | 'componentId' | 'registrationType', value: any) => ConnectorsQueryBuilder;
769
+ /** @documentationMaturity preview */
770
+ exists: (propertyName: 'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'exposure' | 'credentialState' | 'appId' | 'componentId' | 'registrationType', value: boolean) => ConnectorsQueryBuilder;
771
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
772
+ * @documentationMaturity preview
773
+ */
774
+ ascending: (...propertyNames: Array<'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'exposure' | 'credentialState' | 'appId' | 'componentId' | 'registrationType'>) => ConnectorsQueryBuilder;
775
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
776
+ * @documentationMaturity preview
777
+ */
778
+ descending: (...propertyNames: Array<'predefinedRegistration.appId' | 'predefinedRegistration.componentId' | 'dynamicRegistration.registrationId' | '_id' | 'connectorSlug' | 'exposure' | 'credentialState' | 'appId' | 'componentId' | 'registrationType'>) => ConnectorsQueryBuilder;
779
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object.
780
+ * @documentationMaturity preview
781
+ */
782
+ limit: (limit: number) => ConnectorsQueryBuilder;
783
+ /** @param cursor - A pointer to specific record
784
+ * @documentationMaturity preview
785
+ */
786
+ skipTo: (cursor: string) => ConnectorsQueryBuilder;
787
+ /** @documentationMaturity preview */
788
+ find: () => Promise<ConnectorsQueryResult>;
789
+ }
790
+ /**
791
+ * @hidden
792
+ * @fqn wix.connectors.v1.ConnectorsService.QueryConnectors
793
+ * @requiredField query
794
+ */
795
+ declare function typedQueryConnectors(query: ConnectorQuery): Promise<NonNullablePaths<QueryConnectorsResponse, `connectors` | `connectors.${number}.predefinedRegistration.appId` | `connectors.${number}.predefinedRegistration.componentId` | `connectors.${number}.dynamicRegistration.registrationId` | `connectors.${number}.connectorSlug` | `connectors.${number}.exposure` | `connectors.${number}.credentialState` | `connectors.${number}.appId` | `connectors.${number}.componentId` | `connectors.${number}.registrationType`, 5>>;
796
+ interface ConnectorQuerySpec extends QuerySpec {
797
+ paging: 'cursor';
798
+ wql: [
799
+ {
800
+ fields: [
801
+ '_id',
802
+ 'appId',
803
+ 'componentId',
804
+ 'connectorSlug',
805
+ 'credentialState',
806
+ 'dynamicRegistration.registrationId',
807
+ 'exposure',
808
+ 'predefinedRegistration.appId',
809
+ 'predefinedRegistration.componentId',
810
+ 'registrationType'
811
+ ];
812
+ operators: '*';
813
+ sort: 'BOTH';
814
+ }
815
+ ];
816
+ }
817
+ type CommonQueryWithEntityContext = Query<Connector, ConnectorQuerySpec>;
818
+ type ConnectorQuery = {
819
+ /**
820
+ Cursor paging options.
821
+
822
+ Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).
823
+ */
824
+ cursorPaging?: {
825
+ /**
826
+ Maximum number of items to return in the results.
827
+ @max: 100
828
+ */
829
+ limit?: NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit'] | null;
830
+ /**
831
+ Pointer to the next or previous page in the list of results.
832
+
833
+ Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
834
+ Not relevant for the first request.
835
+ @maxLength: 16000
836
+ */
837
+ cursor?: NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor'] | null;
838
+ };
839
+ /**
840
+ Filter object.
841
+
842
+ Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).
843
+ */
844
+ filter?: CommonQueryWithEntityContext['filter'] | null;
845
+ /**
846
+ Sort object.
847
+
848
+ Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).
849
+ @maxSize: 5
850
+ */
851
+ sort?: {
852
+ /**
853
+ Name of the field to sort by.
854
+ @maxLength: 512
855
+ */
856
+ fieldName?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['fieldName'];
857
+ /**
858
+ Sort order.
859
+ */
860
+ order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];
861
+ }[];
862
+ };
863
+ declare const utils: {
864
+ query: _wix_sdk_types.QueryHelpers<Connector, ConnectorQuerySpec, ConnectorQuery>;
865
+ };
866
+ /**
867
+ * Starts an OAuth connect for a connector component, under the caller's identity.targetAccountId.
868
+ * Asks oauth-handler to generate the provider authorization URL: it mints an unguessable, one-time
869
+ * state, caches the trusted completion context (PKCE verifier when configured) in WixCache with a
870
+ * short TTL, and returns the URL to redirect the user's browser to. Does not create a Connector —
871
+ * a Connector exists only after the OAuth callback completes. Does not install an app or call
872
+ * any app-installation API.
873
+ * @public
874
+ * @documentationMaturity preview
875
+ * @permissionId connectors:v1:connector:start_connect
876
+ * @fqn wix.connectors.v1.ConnectorsService.StartConnect
877
+ */
878
+ declare function startConnect(options?: StartConnectOptions): Promise<NonNullablePaths<StartConnectResponse, `redirect.url` | `completed.accessKeyId` | `authorizationUrl`, 3>>;
879
+ interface StartConnectOptions extends StartConnectOptionsOwnerOneOf {
880
+ /** Curated connect: the connector app + CONNECTOR_CONFIG component. */
881
+ predefinedRegistration?: PredefinedRegistration;
882
+ /**
883
+ * Dynamic (DCR) connect: the provider-registry McpServerRegistration reached by URL; the OAuth
884
+ * config comes from the registration rather than a CONNECTOR_CONFIG component.
885
+ */
886
+ dynamicRegistration?: DynamicRegistration;
887
+ /** Non-secret discriminant of the owner kind, aligned with the oneof above. */
888
+ registrationType?: StartConnectRequestRegistrationTypeWithLiterals;
889
+ /**
890
+ * Deprecated: use owner.predefined_registration.app_id. Retained for callers still on the flat
891
+ * field until they migrate to the owner oneof. Not GUID-typed: that format rejects the empty
892
+ * default a oneof-owner request carries, so this optional field only caps length.
893
+ * @maxLength 80
894
+ * @deprecated
895
+ * @replacedBy predefined_registration.app_id
896
+ * @targetRemovalDate 2027-06-30
897
+ */
898
+ appId?: string;
899
+ /**
900
+ * Deprecated: use owner.predefined_registration.component_id.
901
+ * @maxLength 80
902
+ * @deprecated
903
+ * @replacedBy predefined_registration.component_id
904
+ * @targetRemovalDate 2027-06-30
905
+ */
906
+ componentId?: string;
907
+ /**
908
+ * Requested exposure of the Connector this connect will produce. UNKNOWN_EXPOSURE is treated as
909
+ * ACCOUNT. USER requires an initiating Wix user identity on the call — its id is recorded as the
910
+ * Connector's consenting_user_id and the connection is then visible only to that user.
911
+ */
912
+ exposure?: ExposureWithLiterals;
913
+ /**
914
+ * Optional Wix URL to return the browser to after connect completes. Must pass the Wix-domain
915
+ * allowlist (validated server-side at GenerateAuthorizationUrl). When omitted, the fixed landing
916
+ * page is used. Carried through the handshake; the same URL is used for both success and error
917
+ * landings (with ?error= on failure). Not WEB_URL-typed: that format rejects the empty default, so
918
+ * this optional field only caps length here — the server-side allowlist is the real URL gate.
919
+ * @maxLength 2048
920
+ */
921
+ returnUrl?: string;
922
+ }
923
+ /** @oneof */
924
+ interface StartConnectOptionsOwnerOneOf {
925
+ /** Curated connect: the connector app + CONNECTOR_CONFIG component. */
926
+ predefinedRegistration?: PredefinedRegistration;
927
+ /**
928
+ * Dynamic (DCR) connect: the provider-registry McpServerRegistration reached by URL; the OAuth
929
+ * config comes from the registration rather than a CONNECTOR_CONFIG component.
930
+ */
931
+ dynamicRegistration?: DynamicRegistration;
932
+ }
933
+ /**
934
+ * Dispatches one provider request using credentials owned and injected by Wix.
935
+ *
936
+ * The provider's answer is returned as-is, including a rejection. A rejection carrying
937
+ * `WWW-Authenticate: Bearer error="insufficient_scope"` (RFC 6750 §3) means the credential is
938
+ * valid but the granted permissions do not cover the request: Wix reports it as a dispatch
939
+ * rejection with reason `insufficient_scope`, so a permission gap affecting a whole connector
940
+ * fleet is visible rather than showing up as an unexplained 403. Wix does not retry or re-mint
941
+ * the credential in that case, because the same grant would be issued again. The remedy is a
942
+ * full reconnect of the affected connector — see ConnectorConfig.OAuthConfig.default_scopes.
943
+ * @param connectorId - ID of the Connector to authorize in the caller's target account.
944
+ * @param providerRequest - Raw provider request. Callers must not include credentials; Wix injects them at dispatch.
945
+ * @internal
946
+ * @documentationMaturity preview
947
+ * @requiredField connectorId
948
+ * @requiredField providerRequest
949
+ * @permissionId connectors:v1:connector:dispatcher:dispatch
950
+ * @fqn wix.connectors.v1.ConnectorsDispatcherService.Dispatch
951
+ */
952
+ declare function dispatcherDispatch(connectorId: string, providerRequest: RawHttpRequest, options?: DispatcherDispatchOptions): Promise<NonNullablePaths<RawHttpResponse, `body` | `headers` | `headers.${number}.key` | `headers.${number}.value`, 4>>;
953
+ interface DispatcherDispatchOptions {
954
+ /**
955
+ * Optional caller-supplied key making a retry of this dispatch safe: the same key on the same
956
+ * connector will not produce a second provider attempt through Wix. Scoped to the connector, so
957
+ * callers need only make it unique per connector. Guarantees at-most-once ATTEMPT by Wix — it
958
+ * cannot guarantee the provider applied the effect at most once when an attempt's outcome is
959
+ * unknown (timeout, connection reset). For that, include the provider's own idempotency header in
960
+ * provider_request. A repeated key fails with a duplicate-dispatch error rather than replaying the
961
+ * original response, which Wix does not retain; callers needing it must store it themselves.
962
+ * @maxLength 128
963
+ */
964
+ idempotencyKey?: string;
965
+ }
966
+ /**
967
+ * Deprecated: the MCP surface moved to connectors-mcp-proxy — speak MCP to it directly
968
+ * (its tools/list answer is filtered by the connector's allowlist the same way). This RPC
969
+ * keeps working for existing callers: the server's advertised tools/list filtered by
970
+ * ConnectorConfig.mcp_config.allowed_tools.
971
+ * @param connectorId - ID of the Connector whose callable MCP tools are requested.
972
+ * @internal
973
+ * @documentationMaturity preview
974
+ * @requiredField connectorId
975
+ * @permissionId connectors:v1:connector:dispatcher:list_mcp_tools
976
+ * @fqn wix.connectors.v1.ConnectorsDispatcherService.ListMcpTools
977
+ * @deprecated
978
+ */
979
+ declare function listMcpTools(connectorId: string): Promise<NonNullablePaths<ListMcpToolsResponse, `tools` | `tools.${number}.name` | `tools.${number}.description`, 4>>;
980
+
981
+ export { type AccountInfo, type ActionEvent, type CommonQueryWithEntityContext, type Completed, type Connector, type ConnectorQuery, type ConnectorQuerySpec, type ConnectorRegistrationOneOf, type ConnectorsQueryBuilder, type ConnectorsQueryResult, type CreateConnectorRequest, type CreateConnectorResponse, CredentialState, type CredentialStateWithLiterals, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type DeleteConnectorRequest, type DeleteConnectorResponse, type DispatchRequest, type DispatcherDispatchOptions, type DomainEvent, type DomainEventBodyOneOf, type DynamicRegistration, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, Exposure, type ExposureWithLiterals, type GetConnectorRequest, type GetConnectorResponse, type GrantedScopes, type HeadersEntry, type IdentificationData, type IdentificationDataIdOneOf, type ListMcpToolsRequest, type ListMcpToolsResponse, type McpTool, type MessageEnvelope, type PathParametersEntry, type PredefinedRegistration, type QueryConnectorsRequest, type QueryConnectorsResponse, type QueryParametersEntry, type RawHttpRequest, type RawHttpResponse, type Redirect, RegistrationType, type RegistrationTypeWithLiterals, type RestoreInfo, ScopeReportingState, type ScopeReportingStateWithLiterals, SortOrder, type SortOrderWithLiterals, type Sorting, type StartConnectOptions, type StartConnectOptionsOwnerOneOf, type StartConnectRequest, type StartConnectRequestOwnerOneOf, StartConnectRequestRegistrationType, type StartConnectRequestRegistrationTypeWithLiterals, type StartConnectResponse, type StartConnectResponseNextActionOneOf, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, deleteConnector, dispatcherDispatch, getConnector, listMcpTools, queryConnectors, startConnect, typedQueryConnectors, utils };