@jskit-ai/connectors-catalog 0.1.64 → 0.1.65
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/README.md +12 -17
- package/docs/ai.md +5 -17
- package/docs/amazon-redshift.md +6 -8
- package/docs/apollo-io.md +0 -8
- package/docs/ashby.md +0 -8
- package/docs/attention.md +0 -8
- package/docs/aws-athena.md +2 -2
- package/docs/aws-credentials.md +1 -1
- package/docs/aws-s3.md +1 -1
- package/docs/bigquery.md +2 -4
- package/docs/calendly.md +4 -14
- package/docs/chargebee.md +0 -9
- package/docs/clickhouse.md +1 -1
- package/docs/confidence-oauth.md +3 -9
- package/docs/contentful.md +4 -13
- package/docs/databricks.md +35 -3
- package/docs/dbt-semantic-layer.md +2 -8
- package/docs/figma.md +5 -5
- package/docs/firebase-cloud-messaging.md +3 -3
- package/docs/firecrawl.md +1 -1
- package/docs/fireflies.md +7 -10
- package/docs/gemini-enterprise.md +33 -3
- package/docs/gong.md +0 -9
- package/docs/google-ads.md +53 -11
- package/docs/google-analytics.md +2 -2
- package/docs/google-maps-platform.md +3 -9
- package/docs/granola.md +1 -1
- package/docs/hubspot.md +25 -0
- package/docs/klipy.md +0 -13
- package/docs/lexware.md +0 -8
- package/docs/lightspeed.md +32 -3
- package/docs/linear.md +24 -7
- package/docs/linkedin.md +16 -16
- package/docs/logo-dev.md +7 -25
- package/docs/mailgun.md +1 -14
- package/docs/mapbox.md +0 -8
- package/docs/microsoft-fabric.md +50 -13
- package/docs/microsoft-oauth.md +33 -0
- package/docs/microsoft-powerpoint.md +2 -13
- package/docs/microsoft-word.md +2 -13
- package/docs/miro.md +2 -2
- package/docs/oura.md +4 -3
- package/docs/polar.md +3 -5
- package/docs/posthog.md +2 -17
- package/docs/prestashop.md +5 -9
- package/docs/salesforce.md +41 -12
- package/docs/sentry.md +1 -12
- package/docs/sevdesk.md +2 -13
- package/docs/shopify.md +35 -2
- package/docs/slack.md +39 -14
- package/docs/snowflake.md +27 -2
- package/docs/telegram.md +0 -10
- package/docs/tiktok.md +19 -1
- package/docs/twilio.md +1 -1
- package/docs/twitch.md +34 -4
- package/docs/wave.md +36 -15
- package/docs/wix.md +4 -17
- package/docs/wiz.md +4 -4
- package/docs/wordpress-com.md +4 -13
- package/docs/workday.md +28 -9
- package/docs/x-twitter.md +0 -9
- package/docs/xero.md +39 -11
- package/docs/zoho-books.md +41 -10
- package/docs/zoho-crm.md +36 -12
- package/package.json +3 -3
- package/patterns/oauth-connection/PATTERN.md +27 -610
- package/patterns/paddle-catalogue/example/create-products.js +2 -1
- package/patterns/redshift-queries/PATTERN.md +1 -1
- package/src/server/attention.js +8 -11
- package/src/server/bigquery.js +7 -11
- package/src/server/brevo.js +7 -10
- package/src/server/calendly.js +7 -9
- package/src/server/chargebee.js +3 -6
- package/src/server/firecrawl.js +3 -3
- package/src/server/gatewayapi.js +4 -4
- package/src/server/github-api.js +1 -1
- package/src/server/gitlab-api.js +1 -1
- package/src/server/gmail.js +6 -11
- package/src/server/gong.js +4 -4
- package/src/server/google-ads-search.js +4 -5
- package/src/server/google-docs.js +10 -22
- package/src/server/google-drive.js +6 -6
- package/src/server/google-maps-platform.js +4 -8
- package/src/server/google-search-console.js +2 -2
- package/src/server/google-sheets.js +12 -18
- package/src/server/google-slides.js +10 -16
- package/src/server/google.js +17 -9
- package/src/server/jsonOperation.js +17 -18
- package/src/server/lexware.js +4 -9
- package/src/server/resend.js +8 -14
- package/src/server/semrush.js +70 -89
- package/src/server/wix.js +152 -222
- package/src/server/x-twitter.js +21 -18
- package/src/shared/ai.js +3 -1
- package/src/shared/definitions.js +2 -34
- package/src/shared/firecrawl.js +17 -0
- package/src/shared/gemini-enterprise.js +1 -1
- package/src/shared/google-ads.js +1 -1
- package/src/shared/google.js +2 -2
- package/src/shared/logo-dev.js +1 -1
- package/src/shared/mapbox.js +2 -2
- package/src/shared/mcp.js +2 -5
- package/src/shared/microsoft-fabric.js +1 -1
- package/src/shared/microsoft.js +12 -24
- package/src/shared/resend.js +20 -0
- package/src/shared/siteUrl.js +1 -1
- package/src/shared/tokens.js +4 -6
- package/src/shared/workday.js +1 -1
- package/test/firecrawl.test.js +1 -1
- package/test/github-api.test.js +2 -1
- package/test/gitlab-api.test.js +2 -1
- package/test/gong.test.js +2 -2
- package/test/google.test.js +20 -10
- package/test/setupGuides.test.js +18 -0
- package/test/tokens.test.js +1 -1
- package/test/wix.test.js +13 -0
package/docs/wordpress-com.md
CHANGED
|
@@ -112,9 +112,10 @@ supported public API for provisioning OAuth clients. Initial registration and
|
|
|
112
112
|
provider consent remain owner steps; do not invent a client-creation endpoint.
|
|
113
113
|
|
|
114
114
|
The application owner creates the provider registration and stores its secret
|
|
115
|
-
in the application's private Env.
|
|
116
|
-
|
|
117
|
-
references; the editor does not own the
|
|
115
|
+
in the application's private Env. Every editor and CLI uses this same
|
|
116
|
+
[ownership model](../../connectors-core/docs/online-setup.md): the configuration
|
|
117
|
+
file holds the client ID and Env references; the editor does not own the
|
|
118
|
+
application's grants.
|
|
118
119
|
|
|
119
120
|
Register the exact callback implemented by the application. For a hosted project,
|
|
120
121
|
start with its assigned application URL and append the implemented callback path.
|
|
@@ -131,16 +132,6 @@ or infrastructure boundaries. Automattic's guidelines prohibit excessive API
|
|
|
131
132
|
traffic and allow access limits.
|
|
132
133
|
[API usage guidance](https://developer.wordpress.com/docs/api/guidelines-for-responsible-use-of-automattics-apis/).
|
|
133
134
|
|
|
134
|
-
## Focused evidence
|
|
135
|
-
|
|
136
|
-
Six provider tests use simulated HTTP and real encrypted JSON files. They cover
|
|
137
|
-
client verification, reduced scopes, cancellation, replay, persistence, owner
|
|
138
|
-
isolation, post paging, malformed replies and reconnect/error behavior. The
|
|
139
|
-
shared OAuth test additionally proves that refresh cannot restore permissions
|
|
140
|
-
removed during verification. Editor proof covers registration references,
|
|
141
|
-
permission selections and reload. No live signup, consent, provider calls or
|
|
142
|
-
sample-app generation are included. Login is not supplied. Publishing, media, comments, statistics, taxonomy and bounded batches have additional controlled fixtures; final package/UI acceptance is recorded separately.
|
|
143
|
-
|
|
144
135
|
## Post and page publishing
|
|
145
136
|
|
|
146
137
|
`posts.get` retrieves one numeric `siteId`/`postId`, defaulting to `context: edit`.
|
package/docs/workday.md
CHANGED
|
@@ -137,9 +137,10 @@ updates, employment changes, bulk sync or automatic pagination.
|
|
|
137
137
|
## Application ownership, callbacks and capacity
|
|
138
138
|
|
|
139
139
|
The application owner creates the provider registration and stores its secret
|
|
140
|
-
in the application's private Env.
|
|
141
|
-
|
|
142
|
-
references; the editor does not own the
|
|
140
|
+
in the application's private Env. Every editor and CLI uses this same
|
|
141
|
+
[ownership model](../../connectors-core/docs/online-setup.md): the configuration
|
|
142
|
+
file holds the client ID and Env references; the editor does not own the
|
|
143
|
+
application's grants.
|
|
143
144
|
|
|
144
145
|
Register the exact callback implemented by the application. For a hosted project,
|
|
145
146
|
start with its assigned application URL and append the implemented callback path.
|
|
@@ -166,18 +167,15 @@ for creating these tenant OAuth clients has not been established by this packet;
|
|
|
166
167
|
do not promise autonomous registration, licensing or security-policy activation.
|
|
167
168
|
An authorized administrator owns tenant access, consent and policy decisions.
|
|
168
169
|
|
|
169
|
-
##
|
|
170
|
+
## Sources
|
|
170
171
|
|
|
171
172
|
- [Workday REST API fundamentals](https://developer.workday.com/documentation/GUID-85810465-bcfb-4fdf-a26d-55eaff3968a8-enHYPHENus/) documents tenant base paths, paging and worker identifiers.
|
|
172
173
|
- [Workday REST API security](https://developer.workday.com/documentation/dan1370797986071/) distinguishes REST Report/Task policies from SOAP permissions.
|
|
173
174
|
- [Official Staffing v7 specification](https://community.workday.com/sites/default/files/file-hosting/restapi/staffing_v7_20260905_oas2.json) defines the implemented worker endpoints and functional areas.
|
|
174
175
|
- [Workday's tenant token exchange example](https://doc.workday.com/admin-guide/en-us/workday-ai/agents/external-agents/register-and-define-your-agent-through-an-api.html) documents the `/ccx/oauth2/{tenant}/token` client-secret exchange; its ASOR operations are not implemented here.
|
|
175
|
-
- [Workday OAuth client setup example](https://doc.workday.com/peakon/en-us/workday-peakon-employee-voice/integrations/workday-integration/nfa1667304944189.html) describes tenant OAuth enablement and
|
|
176
|
-
- [Lovable's Workday setup](https://docs.lovable.dev/integrations/workday) documents the captured per-user fields and non-PKCE confidential registration.
|
|
176
|
+
- [Workday OAuth client setup example](https://doc.workday.com/peakon/en-us/workday-peakon-employee-voice/integrations/workday-integration/nfa1667304944189.html) describes tenant OAuth enablement and the Register API Client task with Authorization Code Grant; the editor links it as the provider setup guide.
|
|
177
177
|
|
|
178
|
-
|
|
179
|
-
No live Workday account, administrator task, provider consent or generated app is
|
|
180
|
-
part of this proof. The host application must still compose its authentication,
|
|
178
|
+
The host application must compose its authentication,
|
|
181
179
|
callback and connection screens using its framework; saving the editor form does
|
|
182
180
|
not generate or run those screens.
|
|
183
181
|
|
|
@@ -290,3 +288,24 @@ The [OpenAI Workday integration example](https://github.com/openai/openai-cookbo
|
|
|
290
288
|
documents these OAuth functional-area settings and a RaaS report evaluated as
|
|
291
289
|
the authenticated user. It supports the registration guidance; the operation
|
|
292
290
|
schemas here follow the Workday contracts above, not its illustrative schema.
|
|
291
|
+
|
|
292
|
+
## OAuth pattern composition: Workday
|
|
293
|
+
|
|
294
|
+
Import `workdayProvider` from `@jskit-ai/connectors-catalog/server/workday` and
|
|
295
|
+
use the portable file and administrator steps in this guide. This is a
|
|
296
|
+
per-user tenant connection with three endpoint fields, Client ID and secret and
|
|
297
|
+
callback references. Its confidential flow omits PKCE and URL scope strings;
|
|
298
|
+
Staffing functional areas and user domain permissions are configured in Workday.
|
|
299
|
+
Keep that provider exception inside the library. Other providers retain S256.
|
|
300
|
+
|
|
301
|
+
Use `workers.me` for the connected worker and `workers.list` for explicit pages
|
|
302
|
+
with limit, offset, optional name/worker-ID search and visibility flags. The
|
|
303
|
+
library selects Staffing v7 on the configured API host, path prefix and tenant;
|
|
304
|
+
never substitute another user's token or derive ownership from request input.
|
|
305
|
+
An account without a visible worker record cannot pass the initial check.
|
|
306
|
+
|
|
307
|
+
Every customer tenant needs its own registration and the application's actual
|
|
308
|
+
callback URL. Distinct client IDs do not imply separate tenant quotas.
|
|
309
|
+
The CLI composes the same server APIs and encrypted file store. App login,
|
|
310
|
+
Workday Extend, ISU, SOAP, writes and bulk sync are outside
|
|
311
|
+
this initial fragment. Consent and live tenant testing require separate access.
|
package/docs/x-twitter.md
CHANGED
|
@@ -146,15 +146,6 @@ Token issuance is documented in [application-only authentication](https://docs.x
|
|
|
146
146
|
Do not infer unattended account creation or provider approval from an available
|
|
147
147
|
token endpoint.
|
|
148
148
|
|
|
149
|
-
## Verification boundary
|
|
150
|
-
|
|
151
|
-
Focused fixtures cover file persistence, ownership, rotation, strict inputs and
|
|
152
|
-
responses, paging, errors, cancellation and the guide's actual JSON. Editor
|
|
153
|
-
checks cover token references, ownership, setup guidance and reload persistence.
|
|
154
|
-
These checks use controlled responses; no live X token, registration, generated
|
|
155
|
-
application has been exercised.
|
|
156
|
-
|
|
157
|
-
|
|
158
149
|
## Recent-search display recipe
|
|
159
150
|
|
|
160
151
|
```js
|
package/docs/xero.md
CHANGED
|
@@ -385,12 +385,10 @@ or automatic public invoice attachment sharing. CLI consumers use the same
|
|
|
385
385
|
base64 input/output contract; other frameworks can use their native byte streams
|
|
386
386
|
against these provider endpoints with the same project-owned credentials.
|
|
387
387
|
|
|
388
|
-
##
|
|
388
|
+
## Not implemented
|
|
389
389
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
index above is the supported runtime surface. The following work remains outside
|
|
393
|
-
that surface:
|
|
390
|
+
The operation index above is the supported runtime surface. The following work
|
|
391
|
+
remains outside that surface:
|
|
394
392
|
|
|
395
393
|
- Authentication: no secret-free native registration, Custom Connections,
|
|
396
394
|
client-credentials accounting access, or application sign-in. Each project
|
|
@@ -420,10 +418,40 @@ that surface:
|
|
|
420
418
|
business validations and operation calls. Installing the provider or saving the
|
|
421
419
|
editor form does not generate an accounting application. Assistant tool
|
|
422
420
|
attachment requires explicit host integration.
|
|
423
|
-
- Verification: controlled fixtures establish request/response and local lifecycle
|
|
424
|
-
behavior. Live OAuth, actual Xero organisations, provider tiers, production
|
|
425
|
-
permissions, accounting outcomes and generated-app execution are unverified.
|
|
426
421
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
422
|
+
Do not present an unsupported operation as available merely because its OAuth
|
|
423
|
+
scope can be selected.
|
|
424
|
+
|
|
425
|
+
## OAuth pattern composition: Xero
|
|
426
|
+
|
|
427
|
+
Import `xeroProvider` from `@jskit-ai/connectors-catalog/server/xero` and use
|
|
428
|
+
the exact portable configuration in this guide. Its registration requires
|
|
429
|
+
`tokenEndpointAuthMethod: "client_secret_basic"`; code exchange and refresh
|
|
430
|
+
stay in JSKIT. Use an HTTPS callback or Xero's permitted `http://localhost`
|
|
431
|
+
callback for local CLI work; `127.0.0.1` is not accepted by this provider.
|
|
432
|
+
|
|
433
|
+
```js
|
|
434
|
+
const tenants = await connections.invoke({
|
|
435
|
+
context, integrationId: "xero", operation: "connections.list"
|
|
436
|
+
});
|
|
437
|
+
// The app displays permitted ORGANISATION entries, takes an explicit choice,
|
|
438
|
+
// and authorises that choice against its own workspace/account policy.
|
|
439
|
+
const tenantId = await choosePermittedOrganisation(tenants, context);
|
|
440
|
+
const contacts = await connections.invoke({
|
|
441
|
+
context, integrationId: "xero", operation: "contacts.list",
|
|
442
|
+
input: { tenantId, page: 1, pageSize: 50 }
|
|
443
|
+
});
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
`choosePermittedOrganisation` is application-owned selection and policy, not a
|
|
447
|
+
JSKIT export. Never select the first tenant automatically or trust a submitted
|
|
448
|
+
ID merely because it has UUID syntax. Runtime reads additionally check that the
|
|
449
|
+
current token still has an ORGANISATION connection before sending a tenant
|
|
450
|
+
header. This does not replace the application's own authorisation boundary.
|
|
451
|
+
The same pattern applies to `organisation.read` and `invoices.list` with their
|
|
452
|
+
required read scopes. Follow page numbers explicitly; the library performs no
|
|
453
|
+
automatic crawl, calculations, writes or login. Present private data only to
|
|
454
|
+
the authorised caller. Refresh and encrypted file state remain library code.
|
|
455
|
+
|
|
456
|
+
The guide covers the manual developer-app setup, connection tiers and
|
|
457
|
+
application callback requirements. The application supplies its own registration.
|
package/docs/zoho-books.md
CHANGED
|
@@ -155,9 +155,10 @@ refresh tokens. [Token lifecycle and revocation](https://www.zoho.com/books/api/
|
|
|
155
155
|
## Application ownership, callbacks and capacity
|
|
156
156
|
|
|
157
157
|
The application owner creates the provider registration and stores its secret
|
|
158
|
-
in the application's private Env.
|
|
159
|
-
|
|
160
|
-
references; the editor does not own the
|
|
158
|
+
in the application's private Env. Every editor and CLI uses this same
|
|
159
|
+
[ownership model](../../connectors-core/docs/online-setup.md): the configuration
|
|
160
|
+
file holds the client ID and Env references; the editor does not own the
|
|
161
|
+
application's grants.
|
|
161
162
|
|
|
162
163
|
Register the exact callback implemented by the application. For a hosted project,
|
|
163
164
|
start with its assigned application URL and append the implemented callback path.
|
|
@@ -191,15 +192,13 @@ provider revocation, writes and the remaining Books APIs are separate unfinished
|
|
|
191
192
|
work. The initial adapter and its broader scope configuration do not imply full
|
|
192
193
|
API coverage.
|
|
193
194
|
|
|
194
|
-
|
|
195
|
-
## Existing-scope closeout — 13 September 2026
|
|
195
|
+
## Scope and limitations
|
|
196
196
|
|
|
197
197
|
Supported: regional server OAuth, organisation discovery, configured or explicit
|
|
198
198
|
organisation selection, contact and invoice page reads, encrypted file grants
|
|
199
|
-
and refresh.
|
|
200
|
-
editor form evidence is retained; no fresh browser run or runtime/form change.
|
|
199
|
+
and refresh.
|
|
201
200
|
|
|
202
|
-
|
|
201
|
+
Not implemented: contact/invoice writes, customer payments,
|
|
203
202
|
credit notes, estimates, sales/purchase orders, bills, expenses, projects or
|
|
204
203
|
other Books resource operations. No record detail/search, attachments, webhooks,
|
|
205
204
|
automatic pagination, accounting calculations or processing of payments. Broader
|
|
@@ -209,5 +208,37 @@ Organisation discovery does not prove contact/invoice permissions; an unconfigur
|
|
|
209
208
|
integration requires an explicit organisation per operation. The host must enforce
|
|
210
209
|
its own organisation/user policy in addition to provider permissions. Callback
|
|
211
210
|
routes, business/end-user connection UI and native framework wiring belong to the
|
|
212
|
-
application. Disconnect is local. Assistant tool attachment requires explicit host integration.
|
|
213
|
-
|
|
211
|
+
application. Disconnect is local. Assistant tool attachment requires explicit host integration.
|
|
212
|
+
|
|
213
|
+
## OAuth pattern composition: Zoho Books
|
|
214
|
+
|
|
215
|
+
Import `zohoBooksProvider` from `@jskit-ai/connectors-catalog/server/zoho-books`
|
|
216
|
+
and use the same connection service, file store and owner policy of the [OAuth pattern](../patterns/oauth-connection/PATTERN.md). See
|
|
217
|
+
this guide for the JSON and regional client setup. Match the selected
|
|
218
|
+
region to the account. Keep `ZohoBooks.settings.READ` for verification.
|
|
219
|
+
|
|
220
|
+
```js
|
|
221
|
+
const result = await connections.invoke({
|
|
222
|
+
context: authenticatedOwner, integrationId: "books", operation: "organizations.list"
|
|
223
|
+
});
|
|
224
|
+
// Present active organisations from result.organizations. The application
|
|
225
|
+
// validates the user's choice and any narrower organisation access policy.
|
|
226
|
+
const invoices = await connections.invoke({
|
|
227
|
+
context: authenticatedOwner, integrationId: "books", operation: "invoices.list",
|
|
228
|
+
input: { organization_id: selectedOrganizationId, page: 1, per_page: 50 }
|
|
229
|
+
});
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Never pick the first or default organisation automatically. A configured
|
|
233
|
+
`settings.organizationId` fixes the organisation and can supply the operation's
|
|
234
|
+
ID; an input attempting to override it fails. With no configured ID the caller
|
|
235
|
+
must supply one. Zoho enforces resource access; the host must enforce any
|
|
236
|
+
narrower per-user policy, especially when deliberately sharing one connection.
|
|
237
|
+
`organizations.list` verifies access to a configured active organisation but
|
|
238
|
+
returns the account's organisation list for discovery. It does not select one.
|
|
239
|
+
|
|
240
|
+
The library owns regional OAuth, PKCE, refresh, API-domain validation and token
|
|
241
|
+
headers. Lists make one request and preserve `page_context`; use its
|
|
242
|
+
`has_more_page` value for explicit continued paging. IDs stay strings. The host
|
|
243
|
+
owns callbacks, presentation and selection. Configuration save does not grant
|
|
244
|
+
provider access or implement app login. Registrations remain application-owned.
|
package/docs/zoho-crm.md
CHANGED
|
@@ -133,9 +133,10 @@ Revocation is separate from deleting this integration's configuration.
|
|
|
133
133
|
## Application ownership, callbacks and capacity
|
|
134
134
|
|
|
135
135
|
The application owner creates the provider registration and stores its secret
|
|
136
|
-
in the application's private Env.
|
|
137
|
-
|
|
138
|
-
references; the editor does not own the
|
|
136
|
+
in the application's private Env. Every editor and CLI uses this same
|
|
137
|
+
[ownership model](../../connectors-core/docs/online-setup.md): the configuration
|
|
138
|
+
file holds the client ID and Env references; the editor does not own the
|
|
139
|
+
application's grants.
|
|
139
140
|
|
|
140
141
|
Register the exact callback implemented by the application. For a hosted project,
|
|
141
142
|
start with its assigned application URL and append the implemented callback path.
|
|
@@ -168,17 +169,13 @@ applications are outside this test pass. Complete connection UI, native/self
|
|
|
168
169
|
client grants, additional regions, arbitrary CRM modules, mutations and provider-side
|
|
169
170
|
revocation remain unfinished; the initial read adapter does not imply full API coverage.
|
|
170
171
|
|
|
171
|
-
|
|
172
|
-
## Existing-scope closeout — 13 September 2026
|
|
172
|
+
## Scope and limitations
|
|
173
173
|
|
|
174
174
|
Supported: current user and paged leads, contacts, accounts and deals through
|
|
175
175
|
project-owned server OAuth, seven configured data centres and three environments,
|
|
176
|
-
explicit fields/page tokens, encrypted local grants and refresh.
|
|
177
|
-
offline installed-package tests each pass 11/11. Historical editor form evidence
|
|
178
|
-
is retained; the added inline sentence clarifying read-only operation scope was
|
|
179
|
-
source-reviewed, not freshly browser-tested.
|
|
176
|
+
explicit fields/page tokens, encrypted local grants and refresh.
|
|
180
177
|
|
|
181
|
-
|
|
178
|
+
Not implemented: create/update/delete, relationships mutations,
|
|
182
179
|
arbitrary modules, required-field/module metadata discovery, search/query APIs,
|
|
183
180
|
bulk jobs, attachments, webhooks or automatic pagination. Full-access scopes do
|
|
184
181
|
not add these operations. Named record lists have the documented field/page
|
|
@@ -188,5 +185,32 @@ seven, region auto-discovery or provider-side revocation. Current-user verificat
|
|
|
188
185
|
does not prove module/field permissions. The application supplies callbacks,
|
|
189
186
|
organisation/user policy, end-user connection screens and native framework wiring;
|
|
190
187
|
connecting CRM is not app sign-in. Disconnect is local. Assistant tool attachment
|
|
191
|
-
requires explicit host integration.
|
|
192
|
-
|
|
188
|
+
requires explicit host integration.
|
|
189
|
+
|
|
190
|
+
## OAuth pattern composition: Zoho CRM
|
|
191
|
+
|
|
192
|
+
Import `zohoCrmProvider` from `@jskit-ai/connectors-catalog/server/zoho-crm` and
|
|
193
|
+
pass it to the existing connection service. Follow this guide for registration, references and portable configuration.
|
|
194
|
+
Choose the account's data center and CRM environment explicitly. Do not follow
|
|
195
|
+
callback-supplied hosts or choose another organisation on the user's behalf.
|
|
196
|
+
|
|
197
|
+
```js
|
|
198
|
+
const page = await connections.invoke({
|
|
199
|
+
context: authenticatedOwner,
|
|
200
|
+
integrationId: "crm",
|
|
201
|
+
operation: "leads.list",
|
|
202
|
+
input: { fields: "Last_Name,Email", per_page: 50, page: 1 }
|
|
203
|
+
});
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
The library owns comma-separated scopes, PKCE, token exchange/refresh, API-domain
|
|
207
|
+
validation and `Zoho-oauthtoken` headers. `users.current` verifies the connection;
|
|
208
|
+
`contacts.list`, `accounts.list` and `deals.list` are also available. Keep page
|
|
209
|
+
tokens associated with the same authenticated owner and query, and request later
|
|
210
|
+
pages explicitly. HTTP204 becomes an empty page. The host owns data presentation,
|
|
211
|
+
record access policy and the OAuth callback. Reference secrets instead of putting
|
|
212
|
+
them in JSON; use the same file and connection service for a trusted CLI.
|
|
213
|
+
|
|
214
|
+
A shared connection shares one organisation's CRM access. Personal connections
|
|
215
|
+
require the host's per-user policy. The application owns its registration and callback. These data scopes do not
|
|
216
|
+
implement app sign-in or promise independent provider quotas.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jskit-ai/connectors-catalog",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.65",
|
|
4
4
|
"description": "Provider definitions and focused API operations for JSKIT connectors.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -123,14 +123,14 @@
|
|
|
123
123
|
"@aws-sdk/client-redshift-data": "3.1128.0",
|
|
124
124
|
"@aws-sdk/client-s3": "3.1128.0",
|
|
125
125
|
"@aws-sdk/s3-request-presigner": "3.1128.0",
|
|
126
|
-
"@jskit-ai/connectors-core": "0.1.
|
|
126
|
+
"@jskit-ai/connectors-core": "0.1.63",
|
|
127
127
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
128
128
|
"@smithy/fetch-http-handler": "5.8.0",
|
|
129
129
|
"jose": "^6.1.3",
|
|
130
130
|
"json-rest-schema": "^1.0.17"
|
|
131
131
|
},
|
|
132
132
|
"peerDependencies": {
|
|
133
|
-
"@jskit-ai/kernel": "0.1.
|
|
133
|
+
"@jskit-ai/kernel": "0.1.246"
|
|
134
134
|
},
|
|
135
135
|
"jskit": {
|
|
136
136
|
"kind": "runtime",
|