@syncmatters/connector-sdk 1.0.26 → 1.0.28

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.
@@ -83,7 +83,7 @@ await this.#core.init(args);
83
83
  | Field | Meaning |
84
84
  | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
85
85
  | `categories` | discovery taxonomy, e.g. `["sales"]`, `["file"]`, `["marketing","sales"]` |
86
- | `agent_mode` | `"never"` = runs in cloud · `"always"` = runs on the customer's on-premise agent · `"optional"` = per-connection (agent used when the connection selects one) |
86
+ | `agent_mode` | `"never"` = runs in cloud · `"always"` = runs on the customer's on-premise agent. Nothing else is accepted; for both editions publish two derived connectors |
87
87
  | `oauth2_mode` | `"connector"` = one shared OAuth app for every account · `"connection"` = each connection supplies its own client id/secret. Omit for non-OAuth connectors. |
88
88
  | `oauth2_provider` | the OAuth provider definition (below) |
89
89
  | `webhooks_provider` | `{"mode": "custom.perconnection"}` (each connection registers its own webhook) or `{"mode": "custom.perconnector", "url": ..., "webhook_uid": ...}` (one shared endpoint) |
@@ -116,7 +116,8 @@ Per-setting fields: `order` (two-digit string, display order), `name`, `type` (`
116
116
  `boolean`), `control` (`singlelinetext` | `textarea` | `select` | `timezone`), `secret: true` (masked + encrypted),
117
117
  `advanced: true` (collapsed by default), `hidden: true`, `readonly: true`, `placeholder`,
118
118
  `options` (for `select` only — not used for `timezone`), `default: { "type": "string", "expression": "<value>" }`, and
119
- `defines_version: true` on the setting whose value picks a version core.
119
+ `defines_version: true` on the setting whose value picks a version core. For a `secret` setting
120
+ the server never returns the default; pushing a sidecar without it keeps the stored value.
120
121
 
121
122
  A connection setting accepts the same descriptive fields an object setting does — they were
122
123
  always stored, they were simply never written down here:
@@ -129,6 +130,7 @@ always stored, they were simply never written down here:
129
130
  | `display_if` / `display_if_setting` / `display_if_values` | conditional rendering (`displayIfHasValue` is the deprecated spelling, still accepted) |
130
131
  | `prerequisite: true` | two-phase connectors only — see below |
131
132
  | `affects_meta: true` | `meta()` reads this setting (a scope, a checkpoint column, an API version), so changing its value marks the connection's cached metadata stale until the next full refresh. Independent of `discovery`; implied by `prerequisite`; no effect on a `metaRefreshDisabled` connector |
133
+ | `connector_managed: true` | the value belongs to the connector, not the connection: the setting's `default` is evaluated on every read and never stored on a connection, and it wins over a value a connection stored before the flag was set (a hidden setting with a `default` is per-connection instead: snapshotted once at creation). Implies `readonly` (the server sets it on save); `hidden` is independent; `mandatory` means a default must exist to publish. Cannot be combined with `defines_version`, `prerequisite` or `staticonly` |
132
134
 
133
135
  Use `control: "timezone"` for IANA time zone pickers (e.g. fleet `time_zone` setting). The stored
134
136
  value is a plain string (`"America/New_York"`, `"UTC"`, …); the UI renders a searchable list of
@@ -221,8 +223,11 @@ sees the resulting token via `args.oauth2Provider` — see
221
223
  `redirect_uri` (the platform's OAuth callback), `authorize_uri`, `authorize_params`,
222
224
  `token_uri`, `refresh_uri`, `introspect_uri`, `authorized_domains`. URIs may template settings,
223
225
  e.g. `https://{acme_domain}/oauth2/authorize`. An optional `scope_groups` array drives the
224
- consent UI: items carry `label` plus `read`/`write`/`full` scope strings and optional
225
- `read_mandatory: true`.
226
+ consent UI: items carry `label` plus `read`/`write`/`delete`/`full` cells (the Read, Write,
227
+ Delete and Full columns) and optional `read_mandatory`/`write_mandatory`/`delete_mandatory`/
228
+ `full_mandatory: true` flags. A cell may list several scopes separated by spaces
229
+ (`"write": "acme:create acme:update"`), never commas. The Delete column only shows when some item
230
+ sets `delete`.
226
231
 
227
232
  ## Do not edit
228
233
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncmatters/connector-sdk",
3
- "version": "1.0.26",
3
+ "version": "1.0.28",
4
4
  "description": "TypeScript type definitions for the SyncMatters connector SDK (types only - connectors execute on the SyncMatters platform)",
5
5
  "types": "./index.d.ts",
6
6
  "exports": {
@@ -12,9 +12,9 @@
12
12
  "license": "MIT",
13
13
  "author": "SyncMatters",
14
14
  "homepage": "https://syncmatters.com",
15
- "typesContentHash": "e20816ee453b2cd48e2062d64ef24508956ccd57faa1b3256c2078f8ebe1ff78",
15
+ "typesContentHash": "0fcef74fc319cb892463985053922aeaf0ebaafe6cb9da71a36c0046e6f7191d",
16
16
  "dependencies": {
17
17
  "@types/node": "*",
18
- "@syncmatters/script-api": "^1.0.29"
18
+ "@syncmatters/script-api": "^1.0.32"
19
19
  }
20
20
  }