@jskit-ai/connectors-catalog 0.2.3 → 0.2.4
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 +4 -4
- package/docs/ai.md +3 -3
- package/docs/airtable.md +1 -1
- package/docs/algolia.md +2 -2
- package/docs/amazon-redshift.md +2 -2
- package/docs/apollo-io.md +2 -2
- package/docs/asana.md +2 -2
- package/docs/ashby.md +1 -1
- package/docs/attention.md +2 -2
- package/docs/aws-athena.md +1 -1
- package/docs/aws-credentials.md +3 -3
- package/docs/aws-s3.md +1 -1
- package/docs/bigquery.md +2 -2
- package/docs/brevo.md +2 -2
- package/docs/calendly.md +3 -3
- package/docs/canva.md +2 -2
- package/docs/chargebee.md +2 -2
- package/docs/clay.md +2 -2
- package/docs/clickhouse.md +1 -1
- package/docs/confidence-flags.md +1 -1
- package/docs/contentful.md +1 -1
- package/docs/dbt-semantic-layer.md +2 -2
- package/docs/elevenlabs.md +2 -2
- package/docs/firebase-cloud-messaging.md +3 -3
- package/docs/firecrawl.md +4 -4
- package/docs/fireflies.md +1 -1
- package/docs/gatewayapi.md +1 -1
- package/docs/gemini-enterprise.md +1 -1
- package/docs/github-api.md +1 -1
- package/docs/gitlab-api.md +1 -1
- package/docs/gmail.md +1 -1
- package/docs/gong.md +1 -1
- package/docs/google-ads.md +3 -3
- package/docs/google-analytics.md +2 -2
- package/docs/google-docs.md +1 -1
- package/docs/google-drive.md +1 -1
- package/docs/google-maps-platform.md +2 -2
- package/docs/google-search-console.md +1 -1
- package/docs/google-sheets.md +1 -1
- package/docs/google-slides.md +2 -2
- package/docs/granola.md +2 -2
- package/docs/hex.md +2 -2
- package/docs/heygen.md +2 -2
- package/docs/inngest.md +1 -1
- package/docs/klipy.md +1 -1
- package/docs/lightspeed.md +2 -2
- package/docs/linear.md +1 -1
- package/docs/linkedin.md +2 -2
- package/docs/mailgun.md +1 -1
- package/docs/microsoft-excel.md +2 -2
- package/docs/microsoft-fabric.md +1 -1
- package/docs/microsoft-outlook.md +1 -1
- package/docs/microsoft-powerpoint.md +1 -1
- package/docs/microsoft-teams.md +1 -1
- package/docs/microsoft-word.md +1 -1
- package/docs/notion.md +1 -1
- package/docs/oura.md +3 -3
- package/docs/paddle.md +3 -3
- package/docs/pipedrive.md +2 -2
- package/docs/prestashop.md +1 -1
- package/docs/replicate.md +1 -1
- package/docs/resend.md +1 -1
- package/docs/salesforce.md +1 -1
- package/docs/sanity.md +3 -3
- package/docs/semrush.md +2 -2
- package/docs/sentry.md +1 -1
- package/docs/slack.md +1 -1
- package/docs/snowflake.md +5 -5
- package/docs/storyblok.md +1 -1
- package/docs/stripe.md +2 -2
- package/docs/tally.md +1 -1
- package/docs/telegram.md +2 -2
- package/docs/tiktok.md +3 -3
- package/docs/twilio.md +3 -3
- package/docs/twitch.md +2 -2
- package/docs/wave.md +3 -3
- package/docs/wix.md +13 -13
- package/docs/wordpress-com.md +1 -1
- package/docs/wordpress-self-hosted.md +1 -1
- package/docs/workday.md +2 -2
- package/docs/x-twitter.md +3 -3
- package/docs/xero.md +3 -3
- package/docs/zoho-books.md +2 -2
- package/docs/zoho-crm.md +2 -2
- package/package.json +4 -3
- package/patterns/ai-connections/PATTERN.md +16 -1
- package/patterns/ai-connections/example/ai-model.js +12 -3
- package/patterns/ai-connections/example/perplexity-answer.js +15 -4
- package/patterns/api-key-connection/PATTERN.md +9 -1
- package/patterns/api-key-connection/example/connections.js +5 -2
- package/patterns/aws-storage-queries/PATTERN.md +13 -3
- package/patterns/aws-storage-queries/example/s3-transfer.js +14 -3
- package/patterns/event-delivery/PATTERN.md +1 -1
- package/patterns/firebase-messaging/PATTERN.md +10 -0
- package/patterns/firebase-messaging/example/server/notifications.js +8 -0
- package/patterns/google-ads-search/PATTERN.md +18 -7
- package/patterns/google-ads-search/example/ads-setup.js +13 -5
- package/patterns/oauth-connection/PATTERN.md +1 -1
- package/patterns/paddle-catalogue/PATTERN.md +11 -2
- package/patterns/paddle-catalogue/example/create-products.js +5 -2
- package/patterns/public-image/PATTERN.md +10 -1
- package/patterns/public-image/example/logo-url.js +4 -1
- package/patterns/redshift-queries/PATTERN.md +1 -1
- package/patterns/source-scanning/PATTERN.md +13 -2
- package/patterns/source-scanning/example/source-scanner.js +9 -0
- package/src/server/ai.js +19 -5
- package/src/server/apify.js +2 -2
- package/src/server/asana.js +6 -6
- package/src/server/ashby.js +2 -1
- package/src/server/attention.js +12 -11
- package/src/server/awsTransport.js +6 -0
- package/src/server/bigquery.js +5 -4
- package/src/server/brevo.js +2 -1
- package/src/server/clay.js +2 -1
- package/src/server/clickhouse.js +2 -1
- package/src/server/confidence.js +6 -1
- package/src/server/connectorValues.js +33 -0
- package/src/server/databricks.js +7 -7
- package/src/server/dbt-semantic-layer.js +5 -5
- package/src/server/elevenlabs.js +2 -2
- package/src/server/firebase-cloud-messaging.js +2 -2
- package/src/server/gemini-enterprise.js +5 -5
- package/src/server/google-ads-search.js +68 -48
- package/src/server/google-ads.js +15 -17
- package/src/server/google-drive.js +7 -7
- package/src/server/google-maps-platform.js +4 -2
- package/src/server/google-search-console.js +4 -3
- package/src/server/google.js +8 -4
- package/src/server/googleAdsApi.js +14 -0
- package/src/server/granola.js +2 -2
- package/src/server/hubspot.js +2 -1
- package/src/server/incident-io.js +3 -2
- package/src/server/lexware.js +5 -4
- package/src/server/lightspeed.js +7 -5
- package/src/server/linkedin.js +2 -2
- package/src/server/mcpTransport.js +8 -4
- package/src/server/microsoft-fabric.js +3 -3
- package/src/server/microsoft-onedrive.js +2 -2
- package/src/server/microsoft-onenote.js +4 -3
- package/src/server/microsoft-outlook.js +6 -6
- package/src/server/microsoft-sharepoint.js +4 -2
- package/src/server/microsoft-teams.js +2 -1
- package/src/server/microsoft.js +20 -13
- package/src/server/notion.js +2 -1
- package/src/server/pipedrive.js +2 -1
- package/src/server/salesforce.js +12 -12
- package/src/server/semrush.js +9 -8
- package/src/server/snowflake.js +20 -20
- package/src/server/storyblok.js +2 -1
- package/src/server/tally.js +2 -1
- package/src/server/telegram.js +2 -6
- package/src/server/tiktok.js +3 -3
- package/src/server/twilio.js +3 -2
- package/src/server/twitch.js +5 -3
- package/src/server/types.js +13 -0
- package/src/server/wix.js +20 -878
- package/src/server/wixBookings.js +449 -0
- package/src/server/wixCms.js +132 -0
- package/src/server/wixStores.js +296 -0
- package/src/server/wixValues.js +35 -0
- package/src/server/wiz.js +18 -4
- package/src/server/woocommerce.js +1 -1
- package/src/server/wordpress-com.js +2 -1
- package/src/server/workday.js +9 -9
- package/src/server/x-twitter.js +2 -1
- package/src/server/xero.js +40 -40
- package/src/server/zoho-books.js +6 -6
- package/src/server/zoho-crm.js +5 -5
- package/src/shared/confidence.js +6 -1
- package/src/shared/dbt-semantic-layer.js +1 -1
- package/src/shared/figma.js +1 -1
- package/src/shared/google.js +8 -4
- package/src/shared/googleScope.js +4 -0
- package/src/shared/microsoft-fabric.js +4 -5
- package/src/shared/microsoft.js +8 -3
- package/src/shared/salesforce.js +1 -1
- package/src/shared/tokens.js +7 -3
- package/src/shared/uuid.js +13 -0
- package/src/shared/wix.js +4 -3
- package/src/shared/zoho-books.js +3 -4
- package/src/shared/zoho-crm.js +1 -1
- package/src/shared/{zoho-regions.js → zoho.js} +4 -1
- package/test/ai.test.js +1 -1
- package/test/brevo.test.js +1 -1
- package/test/chargebee.test.js +1 -1
- package/test/google-ads.test.js +8 -4
- package/test/linkedin.test.js +1 -1
- package/test/resend.test.js +2 -2
- package/test/salesforce.test.js +1 -1
- package/test/snowflake.test.js +7 -7
- package/test/tiktok.test.js +1 -1
- package/test/wiz.test.js +1 -1
package/docs/google-sheets.md
CHANGED
|
@@ -74,7 +74,7 @@ No automatic retry follows a timeout/503: inspect the spreadsheet before repeati
|
|
|
74
74
|
an append/create, or duplicate rows/files may result.
|
|
75
75
|
|
|
76
76
|
Other frameworks use their native Google client or HTTP implementation with the
|
|
77
|
-
same project-owned JSON/Env configuration; JSKIT is optional and requires no
|
|
77
|
+
same project-owned JSON/Env configuration; JSKIT is optional and requires no hosted
|
|
78
78
|
runtime. No PHP code or editor-specific credential service is involved.
|
|
79
79
|
|
|
80
80
|
## Provisioning and limitations
|
package/docs/google-slides.md
CHANGED
|
@@ -20,7 +20,7 @@ file storage. No live Google presentation, consent or generated app was exercise
|
|
|
20
20
|
Testing refresh-token expiry and domain changes.
|
|
21
21
|
5. Enter the client ID and Env references, then Save configuration. **Set credential
|
|
22
22
|
in Env** stores the secret; **Set callback in Env** stores the exact registered
|
|
23
|
-
URL. CLI users set the same references/file
|
|
23
|
+
URL. CLI users set the same references/file by hand.
|
|
24
24
|
6. Leave **Presentation ID (optional)** blank to verify accessible Drive metadata.
|
|
25
25
|
Empty metadata is accepted without creating a deck; it does not verify that
|
|
26
26
|
Slides API is enabled. For an existing deck, copy the ID between `/presentation/d/`
|
|
@@ -82,7 +82,7 @@ sharing, export and trash belong to the separately authorized Drive API.
|
|
|
82
82
|
|
|
83
83
|
Authorized AI can enable APIs using gcloud/Service Usage and prepare configuration;
|
|
84
84
|
client creation, branding, audience, approval and consent follow the console steps.
|
|
85
|
-
No
|
|
85
|
+
No editor-owned Google registration or gateway is required.
|
|
86
86
|
|
|
87
87
|
**LIMITATIONS:** No visual slide designer, template library, embedded Picker,
|
|
88
88
|
whole-file sharing/export UI or editor-assistant attachment. For example an app can
|
package/docs/granola.md
CHANGED
|
@@ -153,7 +153,7 @@ For the MCP assistant connection:
|
|
|
153
153
|
[Granola MCP](https://docs.granola.ai/help-center/sharing/integrations/mcp) and
|
|
154
154
|
[live OAuth metadata](https://mcp-auth.granola.ai/.well-known/oauth-authorization-server)
|
|
155
155
|
were reviewed on 2026-09-12. Registration, callbacks, tokens and runtime belong
|
|
156
|
-
to the initiating application/assistant host. There is no
|
|
156
|
+
to the initiating application/assistant host. There is no hosted gateway.
|
|
157
157
|
Granola advertises DCR for compatible clients. The explicit Register client and
|
|
158
158
|
connect action uses its existing helper; plain Connect does not silently create
|
|
159
159
|
registrations. Enterprise-managed authorization is not implemented here.
|
|
@@ -162,7 +162,7 @@ AI can write and validate the file, compose the existing library, prepare host
|
|
|
162
162
|
routes and automate the documented read operations after authorised credential
|
|
163
163
|
setup. The reviewed API documentation does not establish an endpoint for creating
|
|
164
164
|
personal/workspace API keys. Key creation, permissions, account sign-in and required
|
|
165
|
-
provider subscription are operator/provider steps.
|
|
165
|
+
provider subscription are operator/provider steps. The editor need not gate its own
|
|
166
166
|
form, but cannot remove Granola's subscription or permission requirements.
|
|
167
167
|
|
|
168
168
|
Focused proof uses controlled HTTP responses and temporary encrypted files,
|
package/docs/hex.md
CHANGED
|
@@ -9,7 +9,7 @@ It reuses the OAuth state, refresh and encrypted file-store implementations.
|
|
|
9
9
|
|
|
10
10
|
1. Check the intended Hex workspace endpoint and account. Hex documents MCP on
|
|
11
11
|
Team and Enterprise plans with an Explorer or higher role.
|
|
12
|
-
2. Choose Standard, Europe or HIPAA in the
|
|
12
|
+
2. Choose Standard, Europe or HIPAA in the editor's **Hex workspace endpoint**
|
|
13
13
|
field. Single-tenant custom Hex domains are not supported by this fragment.
|
|
14
14
|
3. Confirm **Suggested callback URL** is the route your host will serve. Choose
|
|
15
15
|
**Register client and connect** to register at the selected fixed authority.
|
|
@@ -137,7 +137,7 @@ runtime records bound to that owner. Update registration and callback Env when
|
|
|
137
137
|
the actual callback changes. Separate clients do not establish separate Hex
|
|
138
138
|
workspace credits or capacity. Provider accounts, plans and workspace permissions
|
|
139
139
|
still apply. Selecting the HIPAA endpoint is a routing choice, not a compliance
|
|
140
|
-
certification for JSKIT,
|
|
140
|
+
certification for JSKIT, its editor or a generated application. The explicit registration and controlled connection UI have been reviewed.
|
|
141
141
|
The explicit Register client and connect action supports DCR; ordinary Connect
|
|
142
142
|
does not silently create another registration.
|
|
143
143
|
|
package/docs/heygen.md
CHANGED
|
@@ -88,7 +88,7 @@ To configure the OAuth assistant connection:
|
|
|
88
88
|
and does not promise provider-wide revocation.
|
|
89
89
|
|
|
90
90
|
The application/assistant host owns its registration, callback, Env and grants.
|
|
91
|
-
There is no
|
|
91
|
+
There is no hosted gateway. Ordinary Connect never silently registers a client;
|
|
92
92
|
the explicit Register client and connect action uses the existing helper. Metadata
|
|
93
93
|
advertises a revocation endpoint, but this adapter's Disconnect remains local;
|
|
94
94
|
no provider-wide revocation claim is made. Both credential instruction screens were rendered and reviewed with controlled
|
|
@@ -118,7 +118,7 @@ user consent, content rights and credit limits. Fixtures prove transport and
|
|
|
118
118
|
host policy, not actual media generation or current plan entitlement.
|
|
119
119
|
|
|
120
120
|
CLI Node applications use the same exported provider and registration helper,
|
|
121
|
-
JSON and Env
|
|
121
|
+
JSON and Env. Other frameworks use their native MCP/OAuth client
|
|
122
122
|
with those same project-owned configuration values; no JSKIT runtime or Node
|
|
123
123
|
sidecar is required. Select tools from discovery rather than hard-coding this
|
|
124
124
|
module's example catalogue as permanent provider API contracts.
|
package/docs/inngest.md
CHANGED
|
@@ -63,7 +63,7 @@ the file. Changing either reference or the branch requires verification again.
|
|
|
63
63
|
|
|
64
64
|
Compose the provider with the [API-key file-runtime pattern](../patterns/api-key-connection/PATTERN.md).
|
|
65
65
|
The existing connection owner handles authorization, environment resolution,
|
|
66
|
-
file persistence and disconnect. No database or
|
|
66
|
+
file persistence and disconnect. No database or hosted server is required by
|
|
67
67
|
the CLI. The [event-delivery pattern](../patterns/event-delivery/PATTERN.md)
|
|
68
68
|
adds application-owned event authorization and explains the workflow boundary.
|
|
69
69
|
|
package/docs/klipy.md
CHANGED
|
@@ -49,7 +49,7 @@ adapter makes no unlimited-capacity promise.
|
|
|
49
49
|
Compose the [API-key pattern](../patterns/api-key-connection/PATTERN.md) with
|
|
50
50
|
`providers: [klipyProvider]`, application authorization and private file storage.
|
|
51
51
|
The same configuration and runtime calls work from a manually wired CLI. The
|
|
52
|
-
provider module adds no database or
|
|
52
|
+
provider module adds no database or hosted service dependency.
|
|
53
53
|
|
|
54
54
|
```js
|
|
55
55
|
await connections.connectApiKey({ context, integrationId: "media" });
|
package/docs/lightspeed.md
CHANGED
|
@@ -119,7 +119,7 @@ do not repeatedly retry the spent refresh token.
|
|
|
119
119
|
|
|
120
120
|
The application owner creates the provider registration and stores its secret
|
|
121
121
|
in the application's private Env. Every editor and CLI uses this same
|
|
122
|
-
[ownership model](../../connectors-core/docs/
|
|
122
|
+
[ownership model](../../connectors-core/docs/application-setup.md): the configuration
|
|
123
123
|
file holds the client ID and Env references; the editor does not own the
|
|
124
124
|
application's grants.
|
|
125
125
|
|
|
@@ -185,7 +185,7 @@ reconciliation during concurrent stock changes.
|
|
|
185
185
|
|
|
186
186
|
A CLI app uses these same connection operations. Other frameworks implement
|
|
187
187
|
native HTTP calls with their own project-owned OAuth grant and the same JSON/Env
|
|
188
|
-
contract; no
|
|
188
|
+
contract; no hosted runtime or JSKIT sidecar is required.
|
|
189
189
|
|
|
190
190
|
**LIMITATIONS:** No POS/dashboard UI, customer/product/stock/payment/sale writes,
|
|
191
191
|
gift-card/store-credit workflows, webhook receiver or automatic editor tool
|
package/docs/linear.md
CHANGED
|
@@ -147,7 +147,7 @@ implement application login. This flow acts as the consenting Linear user.
|
|
|
147
147
|
|
|
148
148
|
The same grant supports `tools.list` and `tools.call` against Linear's fixed MCP
|
|
149
149
|
endpoint. Authorize each tool and its arguments before invocation; tools can
|
|
150
|
-
write if the provider permissions allow it. No second MCP registration or
|
|
150
|
+
write if the provider permissions allow it. No second MCP registration or hosted
|
|
151
151
|
gateway is needed. For personal keys use the [API-key pattern](../patterns/api-key-connection/PATTERN.md), keep the `read`
|
|
152
152
|
configuration scope and restrict the actual key in Linear. Disconnect deletes
|
|
153
153
|
the local grant; provider revocation remains a separate account action.
|
package/docs/linkedin.md
CHANGED
|
@@ -76,7 +76,7 @@ const protection = createCredentialProtection({
|
|
|
76
76
|
const connections = createConnectionService({
|
|
77
77
|
configuration, providers,
|
|
78
78
|
store: createFileConnectionStore({ directory: process.env.CONNECTOR_STATE_DIRECTORY, protection }),
|
|
79
|
-
resolveReference: createEnvironmentReferenceResolver(), authorize: applicationConnectionPolicy
|
|
79
|
+
resolveReference: createEnvironmentReferenceResolver(process.env), authorize: applicationConnectionPolicy
|
|
80
80
|
});
|
|
81
81
|
```
|
|
82
82
|
|
|
@@ -139,7 +139,7 @@ steps. Do not promise unattended provisioning from a client ID alone.
|
|
|
139
139
|
|
|
140
140
|
Each application owns its provider registration, callback route, credentials
|
|
141
141
|
and grants. Hosted and installed editors configure the same app-owned setup;
|
|
142
|
-
neither supplies a shared
|
|
142
|
+
neither supplies a shared registration or token gateway. Use the app's
|
|
143
143
|
assigned public URL as the initial callback origin, append the route the backend
|
|
144
144
|
actually implements, and register the exact URL with the provider. Keep the
|
|
145
145
|
client secret and callback binding in the application's Env.
|
package/docs/mailgun.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Import `mailgunProvider` from `@jskit-ai/connectors-catalog/server/mailgun`.
|
|
4
4
|
The adapter verifies an account API key, sends transactional messages, creates
|
|
5
5
|
and verifies sending domains, returns their DNS records, and queries delivery logs.
|
|
6
|
-
DNS records are installed at the domain owner’s DNS host, not
|
|
6
|
+
DNS records are installed at the domain owner’s DNS host, not in the editor.
|
|
7
7
|
|
|
8
8
|
## Configure access
|
|
9
9
|
|
package/docs/microsoft-excel.md
CHANGED
|
@@ -74,8 +74,8 @@ Use `ranges.update` with the same inputs plus exactly one of
|
|
|
74
74
|
Matrices must exactly match the address, with at most 10,000 cells. Null leaves
|
|
75
75
|
the corresponding cell unchanged. Files.ReadWrite is required even for reading.
|
|
76
76
|
The application owns workbook/worksheet selection, cell-edit authorization and
|
|
77
|
-
presentation;
|
|
78
|
-
connection service
|
|
77
|
+
presentation; the editor only configures credentials. CLI applications use the same
|
|
78
|
+
connection service; another framework calls Graph itself.
|
|
79
79
|
|
|
80
80
|
For a work/school account, call `sessions.create` with
|
|
81
81
|
`{ itemId, persistChanges: true }` and pass returned `id` as `sessionId` to range
|
package/docs/microsoft-fabric.md
CHANGED
|
@@ -200,7 +200,7 @@ the runtime does not perform them automatically or request admin rights.
|
|
|
200
200
|
|
|
201
201
|
The application owner creates the provider registration and stores its secret
|
|
202
202
|
in the application's private Env. Every editor and CLI uses this same
|
|
203
|
-
[ownership model](../../connectors-core/docs/
|
|
203
|
+
[ownership model](../../connectors-core/docs/application-setup.md): the configuration
|
|
204
204
|
file holds the client ID and Env references; the editor does not own the
|
|
205
205
|
application's grants.
|
|
206
206
|
|
|
@@ -75,7 +75,7 @@ content; no automatic send retry after uncertainty.
|
|
|
75
75
|
or Calendars.ReadWrite. `events.create({calendarId,subject,start,end})` requires
|
|
76
76
|
Calendars.ReadWrite; start/end are UTC ISO strings ending in Z, with end after start.
|
|
77
77
|
It creates an appointment with no attendees/invitations. The app owns time-zone
|
|
78
|
-
presentation and event selection, not
|
|
78
|
+
presentation and event selection, not the editor.
|
|
79
79
|
|
|
80
80
|
CLI uses the same connections.invoke operations; other frameworks call these
|
|
81
81
|
Graph endpoints with their own HTTP client and project-owned Env/grant store.
|
|
@@ -99,7 +99,7 @@ delegated permissions, secret Value and expiry steps. Save
|
|
|
99
99
|
`env:MICROSOFT_POWERPOINT_CALLBACK_URL`; use **Set credential in Env** and
|
|
100
100
|
**Open Env** to store the values. Shared/assistant **Connect account** invokes
|
|
101
101
|
the prepared application runtime. Per-user connections belong to individual
|
|
102
|
-
users inside that application. No
|
|
102
|
+
users inside that application. No hosted gateway or shared registration is used.
|
|
103
103
|
|
|
104
104
|
## Scope and limitations
|
|
105
105
|
|
package/docs/microsoft-teams.md
CHANGED
|
@@ -43,7 +43,7 @@ and rotation. Save `env:MICROSOFT_TEAMS_CLIENT_SECRET` and
|
|
|
43
43
|
`env:MICROSOFT_TEAMS_CALLBACK_URL`, then use **Set credential in Env** and
|
|
44
44
|
**Open Env** for their values. Shared/assistant **Connect account** uses the
|
|
45
45
|
prepared project runtime. Per-user connections belong to authenticated users
|
|
46
|
-
of that app. No
|
|
46
|
+
of that app. No hosted gateway or editor-owned provider registration is used.
|
|
47
47
|
Local disconnect does not revoke provider consent.
|
|
48
48
|
|
|
49
49
|
## Conversations in CLI and generated apps
|
package/docs/microsoft-word.md
CHANGED
|
@@ -99,7 +99,7 @@ delegated permissions, secret Value and expiry steps. Save
|
|
|
99
99
|
use **Set credential in Env** and **Open Env** to store the values.
|
|
100
100
|
Shared/assistant **Connect account** invokes the prepared application runtime.
|
|
101
101
|
Per-user connections belong to individual users inside that application.
|
|
102
|
-
No
|
|
102
|
+
No hosted gateway or shared registration is used.
|
|
103
103
|
|
|
104
104
|
## Scope and limitations
|
|
105
105
|
|
package/docs/notion.md
CHANGED
|
@@ -70,7 +70,7 @@ intended shared/per-user account mode. The app owns its callback route and uses
|
|
|
70
70
|
`beginAuthorization`, `completeAuthorization`, `invoke` and `disconnect` from
|
|
71
71
|
the common connection service with its authorized owner and configured storage.
|
|
72
72
|
Laravel implements the same provider protocol in its own framework; JSKIT
|
|
73
|
-
contains no PHP runtime.
|
|
73
|
+
contains no PHP runtime. The editor edits this configuration and the project's Env.
|
|
74
74
|
|
|
75
75
|
The adapter sends owner=user and the exact callback at authorization. It uses
|
|
76
76
|
confidential Basic authentication and JSON requests at the token endpoint, per
|
package/docs/oura.md
CHANGED
|
@@ -81,7 +81,7 @@ const protection = createCredentialProtection({
|
|
|
81
81
|
const connections = createConnectionService({
|
|
82
82
|
configuration, providers,
|
|
83
83
|
store: createFileConnectionStore({ directory: process.env.CONNECTOR_STATE_DIRECTORY, protection }),
|
|
84
|
-
resolveReference: createEnvironmentReferenceResolver(),
|
|
84
|
+
resolveReference: createEnvironmentReferenceResolver(process.env),
|
|
85
85
|
authorize: applicationConnectionPolicy
|
|
86
86
|
});
|
|
87
87
|
```
|
|
@@ -125,7 +125,7 @@ creates and authorizes the registration; approval remains a provider process.
|
|
|
125
125
|
|
|
126
126
|
The application owner creates the provider registration and stores its secret
|
|
127
127
|
in the application's private Env. Every editor and CLI uses this same
|
|
128
|
-
[ownership model](../../connectors-core/docs/
|
|
128
|
+
[ownership model](../../connectors-core/docs/application-setup.md): the configuration
|
|
129
129
|
file holds the client ID and Env references; the editor does not own the
|
|
130
130
|
application's grants.
|
|
131
131
|
|
|
@@ -153,7 +153,7 @@ A user may decline heart-rate permission without preventing daily sleep access.
|
|
|
153
153
|
|
|
154
154
|
The same service.invoke/configuration/Env/store contract works from a CLI app.
|
|
155
155
|
Other frameworks use their native OAuth client and these Oura V2 endpoints,
|
|
156
|
-
with per-user grants;
|
|
156
|
+
with per-user grants; no hosted health-data gateway is involved. The app owns charts,
|
|
157
157
|
refresh scheduling, user access policy and private storage.
|
|
158
158
|
|
|
159
159
|
**LIMITATIONS:** No continuous sync/webhooks, health dashboard, workouts, tags,
|
package/docs/paddle.md
CHANGED
|
@@ -152,7 +152,7 @@ approval can be read explicitly; full go-live readiness and arbitrary read/write
|
|
|
152
152
|
actions remain outstanding and must not be advertised as executable merely because
|
|
153
153
|
permission controls exist. No unrestricted API URL or write proxy is exposed.
|
|
154
154
|
JSKIT owns the JavaScript configuration/runtime contract; Laravel applications
|
|
155
|
-
use their own Paddle SDK and authorization implementation.
|
|
155
|
+
use their own Paddle SDK and authorization implementation. The editor edits the
|
|
156
156
|
project configuration and does not become the merchant account owner.
|
|
157
157
|
|
|
158
158
|
## Full application payments
|
|
@@ -161,8 +161,8 @@ This connector's operations are only part of a billing implementation. For
|
|
|
161
161
|
checkout, subscriptions, feature access, renewal credits and durable catalogue
|
|
162
162
|
mappings, read [payments-core](../../payments-core/README.md) and its
|
|
163
163
|
[standalone composition guide](../../payments-core/docs/standalone.md). These
|
|
164
|
-
JavaScript libraries work from ordinary app code or a CLI without
|
|
165
|
-
|
|
164
|
+
JavaScript libraries work from ordinary app code or a CLI without a hosted
|
|
165
|
+
editor. Other frameworks consume the [portable contract](../../payments-core/docs/contract.md)
|
|
166
166
|
and its static examples using their own runtime libraries. Keep provider setup
|
|
167
167
|
from this guide; do not substitute a successful connection check for working
|
|
168
168
|
checkout, verified webhooks or merchant approval.
|
package/docs/pipedrive.md
CHANGED
|
@@ -77,7 +77,7 @@ unattended app registration was established in this pass.
|
|
|
77
77
|
The application owner supplies its authorized user token through private Env.
|
|
78
78
|
Separate configuration names still reference the same user/company capacity.
|
|
79
79
|
The project owns its registration, callback handler, Env secrets and private
|
|
80
|
-
grants.
|
|
80
|
+
grants. The editor configures these values; it does not operate a central gateway.
|
|
81
81
|
JSKIT supplies the JavaScript runtime; Laravel implements the same provider
|
|
82
82
|
contract with its own framework. Disconnect deletes the local grant; revoke
|
|
83
83
|
provider access separately by uninstalling the app in Pipedrive.
|
|
@@ -111,7 +111,7 @@ never creates a CRM record; uncertain writes are not automatically replayed.
|
|
|
111
111
|
|
|
112
112
|
CLI uses service.invoke with the same JSON/Env and authorized local operator.
|
|
113
113
|
Other frameworks use these endpoints with their native client and company-bound
|
|
114
|
-
OAuth grant. No central
|
|
114
|
+
OAuth grant. No central credential gateway.
|
|
115
115
|
**LIMITATIONS:** No full CRM UI, pipeline administration, custom fields/bulk import,
|
|
116
116
|
attachments, webhooks or coding-chat attachment. Example: create a contact and
|
|
117
117
|
follow-up deal; build the sales dashboard in the application. No live/generated-app proof.
|
package/docs/prestashop.md
CHANGED
|
@@ -114,7 +114,7 @@ The editor VM and application custom domain need no provider redirect
|
|
|
114
114
|
registration. If the store itself changes address, update `siteUrl` and
|
|
115
115
|
re-verify it. The application retains its credential in private Env and enforces
|
|
116
116
|
access through its own authorization policy. See the
|
|
117
|
-
[application setup contract](../../connectors-core/docs/
|
|
117
|
+
[application setup contract](../../connectors-core/docs/application-setup.md).
|
|
118
118
|
|
|
119
119
|
## Focused proof and remaining work
|
|
120
120
|
|
package/docs/replicate.md
CHANGED
|
@@ -53,7 +53,7 @@ file-store restart, rotation, isolation and HTTP failures. No model was run.
|
|
|
53
53
|
3. Save the returned ID under the authorized app user. Poll `predictions.get({id})` on your application's schedule. Starting/processing are pending; succeeded exposes output; failed exposes error; canceled is terminal. `predictions.cancel({id})` explicitly requests cancellation. Do not resubmit a timed-out creation automatically: its outcome may be unknown.
|
|
54
54
|
4. Output is preserved, including strings, arrays, structured JSON and image/audio/video URLs. The app renders the result and, when needed, saves files before the provider's retention window expires (normally one hour for API predictions). The adapter never fetches arbitrary result URLs.
|
|
55
55
|
|
|
56
|
-
For CLI or another framework, use the same project slot and Env reference with these documented HTTP endpoints and ownership checks. JSKIT invokes them through the existing connection service; no
|
|
56
|
+
For CLI or another framework, use the same project slot and Env reference with these documented HTTP endpoints and ownership checks. JSKIT invokes them through the existing connection service; no hosted execution service is required.
|
|
57
57
|
|
|
58
58
|
**LIMITATIONS:** No media studio, background polling/history service, training, deployment administration, file uploader or editor-tool attachment. Example: an app can request a generated image and poll its ID, but must show progress and save/display the resulting image itself. Backend authorization must restrict prediction IDs to their initiating users; a shared provider token alone does not provide app-user isolation.
|
|
59
59
|
|
package/docs/resend.md
CHANGED
|
@@ -146,7 +146,7 @@ absence of automatic retries on uncertain delivery. No email is sent.
|
|
|
146
146
|
5. Call `broadcasts.create({segment_id,from,subject,html,name?,text?,preview_text?})`. It always saves `send:false`; it cannot silently send. Read back with `broadcasts.get({id})`, list with `broadcasts.list({limit,after})`, or replace the editable content with `broadcasts.update({id,segment_id,from,subject,html,...})`. Review sender, recipient segment and rendered content in the app or Resend dashboard. For preview, use your framework's renderer; use a separate segment containing only your test addresses for an explicit test send.
|
|
147
147
|
6. After the operator approves the selected recipients/content, invoke `broadcasts.send({id})`. This affects the whole selected segment. The application must authorize this operation separately from draft editing and restrict IDs to its tenant. API acceptance is not delivery proof. Creation/sending each make one request, with no automatic retries; inspect provider status after an uncertain outcome rather than creating duplicate campaigns.
|
|
148
148
|
|
|
149
|
-
JSKIT uses the same connection slot and backend Env for these operations through `connections.invoke`. CLI apps compose that service directly; other frameworks use their own Resend client/HTTP implementation with the same project-owned configuration.
|
|
149
|
+
JSKIT uses the same connection slot and backend Env for these operations through `connections.invoke`. CLI apps compose that service directly; other frameworks use their own Resend client/HTTP implementation with the same project-owned configuration. The editor edits setup; it does not run a shared sending service or own recipient lists.
|
|
150
150
|
|
|
151
151
|
**LIMITATIONS:** No visual campaign builder, hosted-template catalogue, topic/custom-property administration, automation engine, scheduling UI, inbound mail, attachments, delivery-webhook processor, analytics dashboard or automatic coding-assistant attachment. Example: the app can create a newsletter draft and explicitly send it to a reviewed segment, but its own UI or Resend dashboard supplies preview and reporting. Transactional `emails.send` remains plain text with the existing idempotency-key contract. The unsubscribe marker check cannot verify the quality/visibility of rendered HTML; review the actual content.
|
|
152
152
|
|
package/docs/salesforce.md
CHANGED
|
@@ -162,7 +162,7 @@ not exposed as user messages. Cancellation/deadlines do not replay a request.
|
|
|
162
162
|
|
|
163
163
|
The application owner creates the provider registration and stores its secret
|
|
164
164
|
in the application's private Env. Every editor and CLI uses this same
|
|
165
|
-
[ownership model](../../connectors-core/docs/
|
|
165
|
+
[ownership model](../../connectors-core/docs/application-setup.md): the configuration
|
|
166
166
|
file holds the client ID and Env references; the editor does not own the
|
|
167
167
|
application's grants.
|
|
168
168
|
|
package/docs/sanity.md
CHANGED
|
@@ -19,7 +19,7 @@ setting the suggested callback. The existing owner-authorized action saves the
|
|
|
19
19
|
client ID in configuration, saves secret/callback/recovery ID in Env and starts
|
|
20
20
|
the application's setup command. It refuses occupied Env keys and stale source.
|
|
21
21
|
An uncertain outcome requires inspection before retrying. This does not register
|
|
22
|
-
a central
|
|
22
|
+
a central hosted client.
|
|
23
23
|
|
|
24
24
|
For manual setup, use the OAuth client registration screen's JSON, or invoke
|
|
25
25
|
`registerSanityClient({ clientName, callbackUrl, scopes: ["global"] })` from
|
|
@@ -27,7 +27,7 @@ For manual setup, use the OAuth client registration screen's JSON, or invoke
|
|
|
27
27
|
then save the returned client ID and private client secret into your own
|
|
28
28
|
configuration/Env. Investigate an interrupted request before retrying, because
|
|
29
29
|
the provider may already have created the client. Use the exact backend callback
|
|
30
|
-
suggested by your project. No central
|
|
30
|
+
suggested by your project. No central hosted callback or managed registration.
|
|
31
31
|
|
|
32
32
|
Connect and consent only after the backend serves that callback. Sanity account
|
|
33
33
|
permissions govern the grant; the host must still authorize project/dataset
|
|
@@ -93,7 +93,7 @@ private token store with the same fixed endpoint and Env references. It does not
|
|
|
93
93
|
run JSKIT or call an editor server for content. The generated application can use
|
|
94
94
|
its own Sanity SDK for runtime content; this builder-context connection does not
|
|
95
95
|
automatically become a public site's credential. CLI composition uses the same
|
|
96
|
-
configuration and runtime API
|
|
96
|
+
configuration and runtime API. Neither path automatically attaches
|
|
97
97
|
these tools to an assistant.
|
|
98
98
|
|
|
99
99
|
## Automation and application ownership
|
package/docs/semrush.md
CHANGED
|
@@ -98,7 +98,7 @@ editor and hosted editor use the same configuration file and private Env
|
|
|
98
98
|
reference. The editor does not provide a provider account, retain the key in a
|
|
99
99
|
central connector service or assign capacity based on the editor subscription.
|
|
100
100
|
|
|
101
|
-
For this V4 key flow, a universal OAuth callback is **not applicable**.
|
|
101
|
+
For this V4 key flow, a universal OAuth callback is **not applicable**. Server
|
|
102
102
|
addresses and custom domains do not change provider key authentication. The
|
|
103
103
|
application owner supplies its authorized key through private Env and retains
|
|
104
104
|
that ownership when moving hosts.
|
|
@@ -269,7 +269,7 @@ The JSON response preserves keyword IDs, date-keyed rankings, visibility and
|
|
|
269
269
|
other provider fields. `data` may be an indexed object rather than a JS array;
|
|
270
270
|
use the framework's object-value iteration when rendering rows. The application
|
|
271
271
|
must authorize project/campaign access, review unit usage and decide whether to
|
|
272
|
-
request another page. Neither
|
|
272
|
+
request another page. Neither the editor nor this adapter automatically polls campaigns.
|
|
273
273
|
Connecting only checks V4 project access. Errors from tracking do not invalidate
|
|
274
274
|
that separate V4 connection. No live campaigns were queried during verification.
|
|
275
275
|
|
package/docs/sentry.md
CHANGED
|
@@ -74,7 +74,7 @@ MCP requests. The provider constrains that resource; the application still owns
|
|
|
74
74
|
caller authorization and review of any triage or write operation.
|
|
75
75
|
|
|
76
76
|
The application owns tokens, encrypted persistence, callback execution and
|
|
77
|
-
refresh. CLI applications use the ordinary connection service
|
|
77
|
+
refresh. CLI applications use the ordinary connection service.
|
|
78
78
|
Other frameworks consume the same configuration and Env names using their native
|
|
79
79
|
OAuth/MCP libraries, without importing JavaScript or running a Node sidecar.
|
|
80
80
|
The editor's subscription does not supply a Sentry account or quota.
|
package/docs/slack.md
CHANGED
|
@@ -137,7 +137,7 @@ installs, GovSlack and Sign in with Slack are outside this initial fragment.
|
|
|
137
137
|
|
|
138
138
|
Each application owns its provider registration, callback route, credentials
|
|
139
139
|
and grants. Hosted and installed editors configure the same app-owned setup;
|
|
140
|
-
neither supplies a shared
|
|
140
|
+
neither supplies a shared registration or token gateway. Use the app's
|
|
141
141
|
assigned public URL as the initial callback origin, append the route the backend
|
|
142
142
|
actually implements, and register the exact URL with the provider. Keep the
|
|
143
143
|
client secret and callback binding in the application's Env.
|
package/docs/snowflake.md
CHANGED
|
@@ -25,9 +25,9 @@ stores the same JSON a CLI user writes. Saving configuration contacts no provide
|
|
|
25
25
|
"accountMode": "per-user",
|
|
26
26
|
"settings": {
|
|
27
27
|
"accountUrl": "https://myorg-myaccount.snowflakecomputing.com",
|
|
28
|
-
"role": "
|
|
28
|
+
"role": "REPORTING_READER"
|
|
29
29
|
},
|
|
30
|
-
"scopes": ["refresh_token", "session:role:
|
|
30
|
+
"scopes": ["refresh_token", "session:role:REPORTING_READER"],
|
|
31
31
|
"authentication": { "method": "oauth2", "registrationRef": "snowflake" }
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -83,7 +83,7 @@ account or role invalidates saved access and pending consent.
|
|
|
83
83
|
production integration as a shortcut.
|
|
84
84
|
|
|
85
85
|
```sql
|
|
86
|
-
CREATE SECURITY INTEGRATION
|
|
86
|
+
CREATE SECURITY INTEGRATION APP_READER
|
|
87
87
|
TYPE = OAUTH
|
|
88
88
|
ENABLED = TRUE
|
|
89
89
|
OAUTH_CLIENT = CUSTOM
|
|
@@ -94,8 +94,8 @@ CREATE SECURITY INTEGRATION DOGANDGROOM_READER
|
|
|
94
94
|
OAUTH_REFRESH_TOKEN_VALIDITY = 86400
|
|
95
95
|
OAUTH_USE_SECONDARY_ROLES = NONE;
|
|
96
96
|
|
|
97
|
-
DESC SECURITY INTEGRATION
|
|
98
|
-
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('
|
|
97
|
+
DESC SECURITY INTEGRATION APP_READER;
|
|
98
|
+
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('APP_READER');
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
5. Copy `OAUTH_CLIENT_ID` into **Client ID**. Save one returned client secret in
|
package/docs/storyblok.md
CHANGED
|
@@ -119,7 +119,7 @@ The app owns its revalidation trigger and scheduler.
|
|
|
119
119
|
|
|
120
120
|
A CLI-only or non-JSKIT app uses the same token Env and region with its native
|
|
121
121
|
HTTP/Storyblok client. Keep the same published-default and preview authorization
|
|
122
|
-
rules; it does not need
|
|
122
|
+
rules; it does not need a hosted editor or a JSKIT server.
|
|
123
123
|
|
|
124
124
|
Current focused source proof: four Storyblok cases pass, covering all regions,
|
|
125
125
|
credential rotation/restart, page/list results, linked content and assets,
|
package/docs/stripe.md
CHANGED
|
@@ -70,8 +70,8 @@ This connector's operations are only part of a billing implementation. For
|
|
|
70
70
|
checkout, subscriptions, feature access, renewal credits and durable catalogue
|
|
71
71
|
mappings, read [payments-core](../../payments-core/README.md) and its
|
|
72
72
|
[standalone composition guide](../../payments-core/docs/standalone.md). These
|
|
73
|
-
JavaScript libraries work from ordinary app code or a CLI without
|
|
74
|
-
|
|
73
|
+
JavaScript libraries work from ordinary app code or a CLI without a hosted
|
|
74
|
+
editor. Other frameworks consume the [portable contract](../../payments-core/docs/contract.md)
|
|
75
75
|
and its static examples using their own runtime libraries. Keep provider setup
|
|
76
76
|
from this guide; do not substitute a successful connection check for working
|
|
77
77
|
checkout, verified webhooks or merchant approval.
|
package/docs/tally.md
CHANGED
|
@@ -57,7 +57,7 @@ The application owns who can read these responses and how they are retained.
|
|
|
57
57
|
A shared key does not grant every app user access to every form. Do not fetch
|
|
58
58
|
returned PDF/preview/file URLs automatically or render answers as trusted HTML.
|
|
59
59
|
Other frameworks can use their native server HTTP client with the same Env
|
|
60
|
-
Bearer token and version header; no JSKIT or
|
|
60
|
+
Bearer token and version header; no JSKIT or hosted process is required.
|
|
61
61
|
[Submission API](https://developers.tally.so/api-reference/endpoint/forms/submissions/list).
|
|
62
62
|
|
|
63
63
|
No live submission was read.
|
package/docs/telegram.md
CHANGED
|
@@ -150,6 +150,6 @@ to contact arbitrary people. No send is retried automatically after uncertainty.
|
|
|
150
150
|
[chat action](https://core.telegram.org/bots/api#sendchataction).
|
|
151
151
|
|
|
152
152
|
A non-JavaScript framework uses its own HTTP client and worker with the same Env
|
|
153
|
-
bot token, JSON payloads and offset contract. JSKIT is optional;
|
|
154
|
-
polling service. Local disconnect leaves the bot and queued updates intact.
|
|
153
|
+
bot token, JSON payloads and offset contract. JSKIT is optional; no hosted
|
|
154
|
+
polling service is involved. Local disconnect leaves the bot and queued updates intact.
|
|
155
155
|
Revoke/replace a compromised token with BotFather, change Env and verify again.
|
package/docs/tiktok.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Import `tiktokProvider` from `@jskit-ai/connectors-catalog/server/tiktok`.
|
|
4
4
|
The library reads the consenting creator's profile, statistics and public video
|
|
5
5
|
metadata. CLI and server consumers use the same configuration and connection
|
|
6
|
-
service;
|
|
6
|
+
service; a hosted editor edits that file through shared fields and validation.
|
|
7
7
|
|
|
8
8
|
## Provider setup
|
|
9
9
|
|
|
@@ -162,7 +162,7 @@ vanish between pages; do not assume the feed is an immutable snapshot.
|
|
|
162
162
|
[Public-video listing](https://developers.tiktok.com/docs/en/tiktok-api-v2-video-list).
|
|
163
163
|
|
|
164
164
|
A Node app or CLI consumes the same installed JSKIT exports and file without
|
|
165
|
-
|
|
165
|
+
a hosted editor. A different framework owns its OAuth/token storage and native HTTP calls:
|
|
166
166
|
read the same registration references and ownership/scopes, call GET
|
|
167
167
|
`/v2/user/info/` and JSON POST `/v2/video/list/`, then build the same gallery
|
|
168
168
|
response. It must retain the provider-specific `client_key`, comma scopes and
|
|
@@ -172,7 +172,7 @@ refresh-token rules described above. JSKIT supplies no PHP implementation.
|
|
|
172
172
|
|
|
173
173
|
Each application owns its provider registration, callback route, credentials
|
|
174
174
|
and grants. Hosted and installed editors configure the same app-owned setup;
|
|
175
|
-
neither supplies a shared
|
|
175
|
+
neither supplies a shared registration or token gateway. Use the app's
|
|
176
176
|
assigned public URL as the initial callback origin, append the route the backend
|
|
177
177
|
actually implements, and register the exact URL with the provider. Keep the
|
|
178
178
|
client secret and callback binding in the application's Env.
|
package/docs/twilio.md
CHANGED
|
@@ -93,8 +93,8 @@ region on failure, and not every Twilio product is available in every region.
|
|
|
93
93
|
Apply the [API-key source pattern](../patterns/api-key-connection/PATTERN.md)
|
|
94
94
|
with `providers: [twilioProvider]`, the encrypted file connection store, the
|
|
95
95
|
application's environment reference resolver and its authorization policy.
|
|
96
|
-
Configuration and runtime state are text files. The runtime needs neither
|
|
97
|
-
|
|
96
|
+
Configuration and runtime state are text files. The runtime needs neither a
|
|
97
|
+
hosted editor nor a database.
|
|
98
98
|
|
|
99
99
|
```js
|
|
100
100
|
await connections.connectApiKey({ context, integrationId: "voice" });
|
|
@@ -281,4 +281,4 @@ token references, all region choices, setup instructions, persistence and
|
|
|
281
281
|
connect/disconnect at compact, medium and expanded sizes.
|
|
282
282
|
Provider signup, real API use and generated applications are outside the test
|
|
283
283
|
scope. The same ten tests pass using normal exports from an installed package
|
|
284
|
-
in a disposable Node consumer, independently of
|
|
284
|
+
in a disposable Node consumer, independently of any editor.
|
package/docs/twitch.md
CHANGED
|
@@ -319,7 +319,7 @@ These navigation steps follow Twitch's
|
|
|
319
319
|
The confidential/public distinction is described in its
|
|
320
320
|
[refresh documentation](https://dev.twitch.tv/docs/authentication/refresh-tokens/).
|
|
321
321
|
A CLI uses these same packages and a callback served by its own backend/listener
|
|
322
|
-
at a provider-accepted, registered URL. No
|
|
322
|
+
at a provider-accepted, registered URL. No hosted-editor account is required. Do not
|
|
323
323
|
embed a confidential client secret into a distributed desktop binary.
|
|
324
324
|
|
|
325
325
|
## Portable configuration and library composition
|
|
@@ -410,7 +410,7 @@ Register the application's own callback route, using its assigned public origin
|
|
|
410
410
|
as the starting point, and keep that exact URL in application Env. When it
|
|
411
411
|
changes, update both the app binding and the provider registration. The
|
|
412
412
|
[callback contract](../../connectors-core/docs/oauth-callbacks.md) describes
|
|
413
|
-
identity, consent and grant handling during a move. No
|
|
413
|
+
identity, consent and grant handling during a move. No hosted callback gateway
|
|
414
414
|
participates in this flow.
|
|
415
415
|
|
|
416
416
|
The documented registration path is the console. No supported application
|
package/docs/wave.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
`waveProvider` from `@jskit-ai/connectors-catalog/server/wave` provides OAuth
|
|
4
4
|
consent, profile verification, business/accounting reads, customer/product and
|
|
5
5
|
account/tax maintenance, invoice/estimate workflows and money-transaction creation. An ordinary CLI or backend composes the shared connection service
|
|
6
|
-
with encrypted file storage.
|
|
6
|
+
with encrypted file storage. A hosted editor edits the same portable JSON; saving it
|
|
7
7
|
does not connect an account.
|
|
8
8
|
|
|
9
9
|
## Provider registration
|
|
@@ -234,7 +234,7 @@ including final setup/lifecycle and distribution evidence, is still open.
|
|
|
234
234
|
|
|
235
235
|
Each application owns its provider registration, callback route, credentials
|
|
236
236
|
and grants. Hosted and installed editors configure the same app-owned setup;
|
|
237
|
-
neither supplies a shared
|
|
237
|
+
neither supplies a shared registration or token gateway. Use the app's
|
|
238
238
|
assigned public URL as the initial callback origin, append the route the backend
|
|
239
239
|
actually implements, and register the exact URL with the provider. Keep the
|
|
240
240
|
client secret and callback binding in the application's Env.
|
|
@@ -278,7 +278,7 @@ The implemented mutations are described below.
|
|
|
278
278
|
Use `estimates.list` with `{ businessId, page, pageSize }` and `estimates.get`
|
|
279
279
|
with `{ businessId, estimateId }` to populate the app's estimate screens. List
|
|
280
280
|
ordering is newest-created first. The app owns those screens and the business
|
|
281
|
-
access policy;
|
|
281
|
+
access policy; the editor does not approve or send estimates.
|
|
282
282
|
|
|
283
283
|
```js
|
|
284
284
|
const draft = await connections.invoke({ context, integrationId: "wave",
|