@tangle-network/agent-integrations 0.53.50 → 0.53.51

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.
Files changed (50) hide show
  1. package/dist/catalog.d.ts +2 -2
  2. package/dist/catalog.js +8 -8
  3. package/dist/{chunk-2JRYKWYX.js → chunk-BYTP5QJQ.js} +278 -548
  4. package/dist/{chunk-2JRYKWYX.js.map → chunk-BYTP5QJQ.js.map} +1 -1
  5. package/dist/{chunk-EP6EDAPV.js → chunk-CJ6SZNMU.js} +18 -6
  6. package/dist/chunk-CJ6SZNMU.js.map +1 -0
  7. package/dist/{chunk-ZZA4HOBE.js → chunk-LIY4A33C.js} +2 -2
  8. package/dist/{chunk-W72KPXXX.js → chunk-P4YUWB77.js} +30 -1
  9. package/dist/chunk-P4YUWB77.js.map +1 -0
  10. package/dist/{chunk-T3WH6MMA.js → chunk-R4KVF4KT.js} +82 -7
  11. package/dist/chunk-R4KVF4KT.js.map +1 -0
  12. package/dist/{chunk-UI3U62H6.js → chunk-RBCF44OD.js} +2 -2
  13. package/dist/{chunk-QE4WFYSK.js → chunk-VV73V64K.js} +10 -6
  14. package/dist/chunk-VV73V64K.js.map +1 -0
  15. package/dist/{chunk-KBYYTHXQ.js → chunk-W2FFWDJ7.js} +2 -2
  16. package/dist/connect/index.d.ts +2 -2
  17. package/dist/connect/index.js +2 -2
  18. package/dist/connectors/adapters/index.d.ts +8 -11
  19. package/dist/connectors/adapters/index.js +2 -2
  20. package/dist/connectors/index.d.ts +21 -12
  21. package/dist/connectors/index.js +5 -3
  22. package/dist/{consumer-DrLnbqYt.d.ts → consumer-48BUPeUQ.d.ts} +1 -1
  23. package/dist/consumer.d.ts +3 -3
  24. package/dist/consumer.js +2 -2
  25. package/dist/{core-types-D26cY5tD.d.ts → core-types-BR9Gv6hE.d.ts} +1 -1
  26. package/dist/coverage-catalog.d.ts +2 -2
  27. package/dist/{importers-CQKts3pm.d.ts → importers-0vMRe5jJ.d.ts} +1 -1
  28. package/dist/index.d.ts +9 -9
  29. package/dist/index.js +10 -8
  30. package/dist/mcp.d.ts +3 -3
  31. package/dist/mcp.js +8 -8
  32. package/dist/middleware/index.d.ts +2 -2
  33. package/dist/middleware/index.js +2 -2
  34. package/dist/registry.d.ts +2 -2
  35. package/dist/registry.js +8 -8
  36. package/dist/runtime.d.ts +2 -2
  37. package/dist/runtime.js +8 -8
  38. package/dist/specs.d.ts +9 -2
  39. package/dist/specs.js +4 -4
  40. package/dist/{tangle-id-BCOVbWrP.d.ts → tangle-id-BRtXszIF.d.ts} +1 -1
  41. package/dist/{types-DpKn0frG.d.ts → types-Hy58Fb8T.d.ts} +17 -1
  42. package/docs/integration-execution-matrix.json +36 -91
  43. package/package.json +1 -1
  44. package/dist/chunk-EP6EDAPV.js.map +0 -1
  45. package/dist/chunk-QE4WFYSK.js.map +0 -1
  46. package/dist/chunk-T3WH6MMA.js.map +0 -1
  47. package/dist/chunk-W72KPXXX.js.map +0 -1
  48. /package/dist/{chunk-ZZA4HOBE.js.map → chunk-LIY4A33C.js.map} +0 -0
  49. /package/dist/{chunk-UI3U62H6.js.map → chunk-RBCF44OD.js.map} +0 -0
  50. /package/dist/{chunk-KBYYTHXQ.js.map → chunk-W2FFWDJ7.js.map} +0 -0
@@ -14,7 +14,7 @@ import {
14
14
  TangleIdentityUnreachableError,
15
15
  createTangleIdentityClient,
16
16
  tangleIdentity
17
- } from "./chunk-W72KPXXX.js";
17
+ } from "./chunk-P4YUWB77.js";
18
18
  import {
19
19
  __export
20
20
  } from "./chunk-PZ5AY32C.js";
@@ -1146,7 +1146,7 @@ function hasHttpsHostnameSuffix(value, suffix) {
1146
1146
  try {
1147
1147
  const url = new URL(value);
1148
1148
  const normalized = suffix.toLowerCase();
1149
- return url.protocol === "https:" && normalized.startsWith(".") && url.hostname.toLowerCase().endsWith(normalized);
1149
+ return url.protocol === "https:" && !url.username && !url.password && !url.port && !url.search && !url.hash && normalized.startsWith(".") && url.hostname.toLowerCase().endsWith(normalized);
1150
1150
  } catch {
1151
1151
  return false;
1152
1152
  }
@@ -12987,16 +12987,31 @@ var giteaConnector = declarativeRestConnector({
12987
12987
  description: "Self-hosted Git service for creating and managing repositories, issues, and pull requests.",
12988
12988
  auth: {
12989
12989
  kind: "oauth2",
12990
- authorizationUrl: "https://api.gitea.io/login/oauth/authorize",
12991
- tokenUrl: "https://api.gitea.io/login/oauth/access_token",
12992
- scopes: ["repo", "admin"],
12990
+ authorizationUrl: "{instanceUrl}/login/oauth/authorize",
12991
+ tokenUrl: "{instanceUrl}/login/oauth/access_token",
12992
+ scopes: [
12993
+ "read:user",
12994
+ "write:user",
12995
+ "read:issue",
12996
+ "write:issue",
12997
+ "read:repository",
12998
+ "write:repository"
12999
+ ],
12993
13000
  clientIdEnv: "GITEA_OAUTH_CLIENT_ID",
12994
- clientSecretEnv: "GITEA_OAUTH_CLIENT_SECRET"
13001
+ clientSecretEnv: "GITEA_OAUTH_CLIENT_SECRET",
13002
+ pkce: "supported",
13003
+ urlTemplateMetadata: {
13004
+ instanceUrl: {
13005
+ kind: "base-url",
13006
+ requirePublicHttps: true
13007
+ }
13008
+ }
12995
13009
  },
12996
13010
  category: "other",
12997
13011
  defaultConsistencyModel: "authoritative",
12998
- baseUrl: "https://api.gitea.io/api/v1",
12999
- test: { method: "GET", path: "/user" },
13012
+ baseUrl: { metadataKey: "instanceUrl" },
13013
+ requirePublicHttpsBaseUrl: true,
13014
+ test: { method: "GET", path: "/api/v1/user" },
13000
13015
  capabilities: [
13001
13016
  {
13002
13017
  name: "repos.list",
@@ -13010,8 +13025,8 @@ var giteaConnector = declarativeRestConnector({
13010
13025
  },
13011
13026
  required: ["owner"]
13012
13027
  },
13013
- request: { method: "GET", path: "/users/{owner}/repos", query: { limit: "{limit}" } },
13014
- requiredScopes: ["repo"]
13028
+ request: { method: "GET", path: "/api/v1/users/{owner}/repos", query: { limit: "{limit}" } },
13029
+ requiredScopes: ["read:user"]
13015
13030
  },
13016
13031
  {
13017
13032
  name: "issues.create",
@@ -13031,7 +13046,7 @@ var giteaConnector = declarativeRestConnector({
13031
13046
  },
13032
13047
  request: {
13033
13048
  method: "POST",
13034
- path: "/repos/{owner}/{repo}/issues",
13049
+ path: "/api/v1/repos/{owner}/{repo}/issues",
13035
13050
  body: {
13036
13051
  title: "{title}",
13037
13052
  body: "{body}",
@@ -13040,7 +13055,7 @@ var giteaConnector = declarativeRestConnector({
13040
13055
  }
13041
13056
  },
13042
13057
  cas: "native-idempotency",
13043
- requiredScopes: ["repo"]
13058
+ requiredScopes: ["write:issue"]
13044
13059
  },
13045
13060
  {
13046
13061
  name: "issues.update",
@@ -13060,7 +13075,7 @@ var giteaConnector = declarativeRestConnector({
13060
13075
  },
13061
13076
  request: {
13062
13077
  method: "PATCH",
13063
- path: "/repos/{owner}/{repo}/issues/{index}",
13078
+ path: "/api/v1/repos/{owner}/{repo}/issues/{index}",
13064
13079
  body: {
13065
13080
  title: "{title}",
13066
13081
  body: "{body}",
@@ -13068,7 +13083,7 @@ var giteaConnector = declarativeRestConnector({
13068
13083
  }
13069
13084
  },
13070
13085
  cas: "etag-if-match",
13071
- requiredScopes: ["repo"]
13086
+ requiredScopes: ["write:issue"]
13072
13087
  },
13073
13088
  {
13074
13089
  name: "comments.create",
@@ -13086,11 +13101,11 @@ var giteaConnector = declarativeRestConnector({
13086
13101
  },
13087
13102
  request: {
13088
13103
  method: "POST",
13089
- path: "/repos/{owner}/{repo}/issues/{index}/comments",
13104
+ path: "/api/v1/repos/{owner}/{repo}/issues/{index}/comments",
13090
13105
  body: { body: "{body}" }
13091
13106
  },
13092
13107
  cas: "native-idempotency",
13093
- requiredScopes: ["repo"]
13108
+ requiredScopes: ["write:issue"]
13094
13109
  },
13095
13110
  {
13096
13111
  name: "pull-requests.list",
@@ -13108,10 +13123,10 @@ var giteaConnector = declarativeRestConnector({
13108
13123
  },
13109
13124
  request: {
13110
13125
  method: "GET",
13111
- path: "/repos/{owner}/{repo}/pulls",
13126
+ path: "/api/v1/repos/{owner}/{repo}/pulls",
13112
13127
  query: { state: "{state}", limit: "{limit}" }
13113
13128
  },
13114
- requiredScopes: ["repo"]
13129
+ requiredScopes: ["read:repository"]
13115
13130
  },
13116
13131
  {
13117
13132
  name: "pull-requests.create",
@@ -13131,7 +13146,7 @@ var giteaConnector = declarativeRestConnector({
13131
13146
  },
13132
13147
  request: {
13133
13148
  method: "POST",
13134
- path: "/repos/{owner}/{repo}/pulls",
13149
+ path: "/api/v1/repos/{owner}/{repo}/pulls",
13135
13150
  body: {
13136
13151
  title: "{title}",
13137
13152
  body: "{body}",
@@ -13140,7 +13155,7 @@ var giteaConnector = declarativeRestConnector({
13140
13155
  }
13141
13156
  },
13142
13157
  cas: "native-idempotency",
13143
- requiredScopes: ["repo"]
13158
+ requiredScopes: ["write:repository"]
13144
13159
  },
13145
13160
  {
13146
13161
  name: "branches.list",
@@ -13156,9 +13171,9 @@ var giteaConnector = declarativeRestConnector({
13156
13171
  },
13157
13172
  request: {
13158
13173
  method: "GET",
13159
- path: "/repos/{owner}/{repo}/branches"
13174
+ path: "/api/v1/repos/{owner}/{repo}/branches"
13160
13175
  },
13161
- requiredScopes: ["repo"]
13176
+ requiredScopes: ["read:repository"]
13162
13177
  },
13163
13178
  {
13164
13179
  name: "repos.create",
@@ -13177,12 +13192,12 @@ var giteaConnector = declarativeRestConnector({
13177
13192
  },
13178
13193
  request: {
13179
13194
  method: "POST",
13180
- path: "/user/repos",
13195
+ path: "/api/v1/user/repos",
13181
13196
  body: "args"
13182
13197
  },
13183
13198
  cas: "native-idempotency",
13184
13199
  externalEffect: true,
13185
- requiredScopes: ["repo"]
13200
+ requiredScopes: ["write:user"]
13186
13201
  },
13187
13202
  {
13188
13203
  name: "repos.delete",
@@ -13198,11 +13213,11 @@ var giteaConnector = declarativeRestConnector({
13198
13213
  },
13199
13214
  request: {
13200
13215
  method: "DELETE",
13201
- path: "/repos/{owner}/{repo}"
13216
+ path: "/api/v1/repos/{owner}/{repo}"
13202
13217
  },
13203
13218
  cas: "native-idempotency",
13204
13219
  externalEffect: true,
13205
- requiredScopes: ["repo", "admin"]
13220
+ requiredScopes: ["write:repository"]
13206
13221
  },
13207
13222
  {
13208
13223
  name: "pull-requests.merge",
@@ -13222,12 +13237,12 @@ var giteaConnector = declarativeRestConnector({
13222
13237
  },
13223
13238
  request: {
13224
13239
  method: "POST",
13225
- path: "/repos/{owner}/{repo}/pulls/{index}/merge",
13240
+ path: "/api/v1/repos/{owner}/{repo}/pulls/{index}/merge",
13226
13241
  body: "args"
13227
13242
  },
13228
13243
  cas: "native-idempotency",
13229
13244
  externalEffect: true,
13230
- requiredScopes: ["repo"]
13245
+ requiredScopes: ["write:repository"]
13231
13246
  }
13232
13247
  ]
13233
13248
  });
@@ -15066,32 +15081,25 @@ var niftyConnector = declarativeRestConnector({
15066
15081
  });
15067
15082
 
15068
15083
  // src/connectors/adapters/opsgenie.ts
15084
+ var OPSGENIE_API_BASE_URLS = [
15085
+ "https://api.opsgenie.com",
15086
+ "https://api.eu.opsgenie.com"
15087
+ ];
15069
15088
  var opsgenieConnector = declarativeRestConnector({
15070
15089
  kind: "opsgenie",
15071
15090
  displayName: "Opsgenie",
15072
- description: "Create, acknowledge, and close Opsgenie alerts and incidents, attach notes, and read schedules, on-call assignments, teams, and users against a connected Opsgenie account.",
15091
+ description: "Use an existing Opsgenie account to manage alerts and incidents, attach notes, and read schedules, on-call assignments, teams, and users.",
15073
15092
  auth: {
15074
- kind: "oauth2",
15075
- authorizationUrl: "https://app.opsgenie.com/oauth/authorize",
15076
- tokenUrl: "https://app.opsgenie.com/oauth/token",
15077
- scopes: [
15078
- "alert.read",
15079
- "alert.write",
15080
- "incident.read",
15081
- "incident.write",
15082
- "schedule.read",
15083
- "oncall.read",
15084
- "team.read",
15085
- "user.read"
15086
- ],
15087
- clientIdEnv: "OPSGENIE_OAUTH_CLIENT_ID",
15088
- clientSecretEnv: "OPSGENIE_OAUTH_CLIENT_SECRET"
15093
+ kind: "api-key",
15094
+ hint: "Opsgenie API key with access to the selected alert, incident, schedule, team, and user operations."
15089
15095
  },
15090
15096
  category: "other",
15091
15097
  defaultConsistencyModel: "authoritative",
15092
15098
  // Default to the US REST host; EU-rooted accounts override
15093
15099
  // metadata.apiBaseUrl to https://api.eu.opsgenie.com.
15094
15100
  baseUrl: { metadataKey: "apiBaseUrl", fallback: "https://api.opsgenie.com" },
15101
+ allowedBaseUrls: OPSGENIE_API_BASE_URLS,
15102
+ credentialPlacement: { kind: "header", header: "authorization", prefix: "GenieKey " },
15095
15103
  defaultHeaders: {
15096
15104
  accept: "application/json",
15097
15105
  "content-type": "application/json"
@@ -15142,8 +15150,7 @@ var opsgenieConnector = declarativeRestConnector({
15142
15150
  sort: "{sort}",
15143
15151
  order: "{order}"
15144
15152
  }
15145
- },
15146
- requiredScopes: ["alert.read"]
15153
+ }
15147
15154
  },
15148
15155
  {
15149
15156
  name: "alerts.get",
@@ -15161,8 +15168,7 @@ var opsgenieConnector = declarativeRestConnector({
15161
15168
  method: "GET",
15162
15169
  path: "/v2/alerts/{identifier}",
15163
15170
  query: { identifierType: "{identifierType}" }
15164
- },
15165
- requiredScopes: ["alert.read"]
15171
+ }
15166
15172
  },
15167
15173
  {
15168
15174
  name: "alerts.create",
@@ -15223,8 +15229,7 @@ var opsgenieConnector = declarativeRestConnector({
15223
15229
  note: "{note}"
15224
15230
  }
15225
15231
  },
15226
- cas: "native-idempotency",
15227
- requiredScopes: ["alert.write"]
15232
+ cas: "native-idempotency"
15228
15233
  },
15229
15234
  {
15230
15235
  name: "alerts.acknowledge",
@@ -15247,8 +15252,7 @@ var opsgenieConnector = declarativeRestConnector({
15247
15252
  query: { identifierType: "{identifierType}" },
15248
15253
  body: { user: "{user}", source: "{source}", note: "{note}" }
15249
15254
  },
15250
- cas: "native-idempotency",
15251
- requiredScopes: ["alert.write"]
15255
+ cas: "native-idempotency"
15252
15256
  },
15253
15257
  {
15254
15258
  name: "alerts.close",
@@ -15271,8 +15275,7 @@ var opsgenieConnector = declarativeRestConnector({
15271
15275
  query: { identifierType: "{identifierType}" },
15272
15276
  body: { user: "{user}", source: "{source}", note: "{note}" }
15273
15277
  },
15274
- cas: "native-idempotency",
15275
- requiredScopes: ["alert.write"]
15278
+ cas: "native-idempotency"
15276
15279
  },
15277
15280
  {
15278
15281
  name: "alerts.notes.list",
@@ -15300,8 +15303,7 @@ var opsgenieConnector = declarativeRestConnector({
15300
15303
  limit: "{limit}",
15301
15304
  order: "{order}"
15302
15305
  }
15303
- },
15304
- requiredScopes: ["alert.read"]
15306
+ }
15305
15307
  },
15306
15308
  {
15307
15309
  name: "alerts.notes.add",
@@ -15324,8 +15326,7 @@ var opsgenieConnector = declarativeRestConnector({
15324
15326
  query: { identifierType: "{identifierType}" },
15325
15327
  body: { note: "{note}", user: "{user}", source: "{source}" }
15326
15328
  },
15327
- cas: "native-idempotency",
15328
- requiredScopes: ["alert.write"]
15329
+ cas: "native-idempotency"
15329
15330
  },
15330
15331
  {
15331
15332
  name: "incidents.list",
@@ -15354,8 +15355,7 @@ var opsgenieConnector = declarativeRestConnector({
15354
15355
  sort: "{sort}",
15355
15356
  order: "{order}"
15356
15357
  }
15357
- },
15358
- requiredScopes: ["incident.read"]
15358
+ }
15359
15359
  },
15360
15360
  {
15361
15361
  name: "incidents.get",
@@ -15373,8 +15373,7 @@ var opsgenieConnector = declarativeRestConnector({
15373
15373
  method: "GET",
15374
15374
  path: "/v1/incidents/{identifier}",
15375
15375
  query: { identifierType: "{identifierType}" }
15376
- },
15377
- requiredScopes: ["incident.read"]
15376
+ }
15378
15377
  },
15379
15378
  {
15380
15379
  name: "incidents.create",
@@ -15420,8 +15419,7 @@ var opsgenieConnector = declarativeRestConnector({
15420
15419
  impactedServices: "{impactedServices}"
15421
15420
  }
15422
15421
  },
15423
- cas: "native-idempotency",
15424
- requiredScopes: ["incident.write"]
15422
+ cas: "native-idempotency"
15425
15423
  },
15426
15424
  {
15427
15425
  name: "incidents.close",
@@ -15442,8 +15440,7 @@ var opsgenieConnector = declarativeRestConnector({
15442
15440
  query: { identifierType: "{identifierType}" },
15443
15441
  body: { note: "{note}" }
15444
15442
  },
15445
- cas: "native-idempotency",
15446
- requiredScopes: ["incident.write"]
15443
+ cas: "native-idempotency"
15447
15444
  },
15448
15445
  {
15449
15446
  name: "incidents.notes.add",
@@ -15464,8 +15461,7 @@ var opsgenieConnector = declarativeRestConnector({
15464
15461
  query: { identifierType: "{identifierType}" },
15465
15462
  body: { note: "{note}" }
15466
15463
  },
15467
- cas: "native-idempotency",
15468
- requiredScopes: ["incident.write"]
15464
+ cas: "native-idempotency"
15469
15465
  },
15470
15466
  {
15471
15467
  name: "schedules.list",
@@ -15485,8 +15481,7 @@ var opsgenieConnector = declarativeRestConnector({
15485
15481
  method: "GET",
15486
15482
  path: "/v2/schedules",
15487
15483
  query: { expand: "{expand}" }
15488
- },
15489
- requiredScopes: ["schedule.read"]
15484
+ }
15490
15485
  },
15491
15486
  {
15492
15487
  name: "schedules.get",
@@ -15504,8 +15499,7 @@ var opsgenieConnector = declarativeRestConnector({
15504
15499
  method: "GET",
15505
15500
  path: "/v2/schedules/{identifier}",
15506
15501
  query: { identifierType: "{identifierType}" }
15507
- },
15508
- requiredScopes: ["schedule.read"]
15502
+ }
15509
15503
  },
15510
15504
  {
15511
15505
  name: "schedules.timeline",
@@ -15536,8 +15530,7 @@ var opsgenieConnector = declarativeRestConnector({
15536
15530
  date: "{date}",
15537
15531
  expand: "{expand}"
15538
15532
  }
15539
- },
15540
- requiredScopes: ["schedule.read"]
15533
+ }
15541
15534
  },
15542
15535
  {
15543
15536
  name: "oncalls.current",
@@ -15561,8 +15554,7 @@ var opsgenieConnector = declarativeRestConnector({
15561
15554
  flat: "{flat}",
15562
15555
  date: "{date}"
15563
15556
  }
15564
- },
15565
- requiredScopes: ["oncall.read"]
15557
+ }
15566
15558
  },
15567
15559
  {
15568
15560
  name: "oncalls.next",
@@ -15586,16 +15578,14 @@ var opsgenieConnector = declarativeRestConnector({
15586
15578
  flat: "{flat}",
15587
15579
  date: "{date}"
15588
15580
  }
15589
- },
15590
- requiredScopes: ["oncall.read"]
15581
+ }
15591
15582
  },
15592
15583
  {
15593
15584
  name: "teams.list",
15594
15585
  class: "read",
15595
15586
  description: "List all teams in the Opsgenie workspace.",
15596
15587
  parameters: { type: "object", properties: {} },
15597
- request: { method: "GET", path: "/v2/teams" },
15598
- requiredScopes: ["team.read"]
15588
+ request: { method: "GET", path: "/v2/teams" }
15599
15589
  },
15600
15590
  {
15601
15591
  name: "teams.get",
@@ -15613,8 +15603,7 @@ var opsgenieConnector = declarativeRestConnector({
15613
15603
  method: "GET",
15614
15604
  path: "/v2/teams/{identifier}",
15615
15605
  query: { identifierType: "{identifierType}" }
15616
- },
15617
- requiredScopes: ["team.read"]
15606
+ }
15618
15607
  },
15619
15608
  {
15620
15609
  name: "users.list",
@@ -15640,8 +15629,7 @@ var opsgenieConnector = declarativeRestConnector({
15640
15629
  sort: "{sort}",
15641
15630
  order: "{order}"
15642
15631
  }
15643
- },
15644
- requiredScopes: ["user.read"]
15632
+ }
15645
15633
  },
15646
15634
  {
15647
15635
  name: "users.get",
@@ -15659,8 +15647,7 @@ var opsgenieConnector = declarativeRestConnector({
15659
15647
  method: "GET",
15660
15648
  path: "/v2/users/{identifier}",
15661
15649
  query: { expand: "{expand}" }
15662
- },
15663
- requiredScopes: ["user.read"]
15650
+ }
15664
15651
  }
15665
15652
  ]
15666
15653
  });
@@ -17651,421 +17638,148 @@ var sendpulseConnector = declarativeRestConnector({
17651
17638
  var snowflakeConnector = declarativeRestConnector({
17652
17639
  kind: "snowflake",
17653
17640
  displayName: "Snowflake",
17654
- description: "Data warehouse built for the cloud. Query, insert, update, delete, and upsert rows.",
17641
+ description: "Execute and monitor SQL statements through a connected Snowflake account SQL API.",
17655
17642
  auth: {
17656
17643
  kind: "oauth2",
17657
- authorizationUrl: "https://app.snowflake.com/oauth/authorize",
17658
- tokenUrl: "https://app.snowflake.com/oauth/token",
17659
- scopes: ["session:role:manage"],
17644
+ authorizationUrl: "{accountUrl}/oauth/authorize",
17645
+ tokenUrl: "{accountUrl}/oauth/token-request",
17646
+ scopes: ["refresh_token"],
17660
17647
  clientIdEnv: "SNOWFLAKE_OAUTH_CLIENT_ID",
17661
- clientSecretEnv: "SNOWFLAKE_OAUTH_CLIENT_SECRET"
17648
+ clientSecretEnv: "SNOWFLAKE_OAUTH_CLIENT_SECRET",
17649
+ tokenClientAuthMethod: "client_secret_post",
17650
+ pkce: "supported",
17651
+ urlTemplateMetadata: {
17652
+ accountUrl: {
17653
+ kind: "base-url",
17654
+ allowedBaseUrlSuffixes: [".snowflakecomputing.com"]
17655
+ }
17656
+ }
17662
17657
  },
17663
17658
  category: "database",
17664
17659
  defaultConsistencyModel: "authoritative",
17665
- baseUrl: "https://api.snowflakecomputing.com/api/v2",
17666
- test: { method: "GET", path: "/accounts/whoami" },
17660
+ baseUrl: { metadataKey: "accountUrl" },
17661
+ allowedBaseUrlSuffixes: [".snowflakecomputing.com"],
17662
+ defaultHeaders: {
17663
+ "content-type": "application/json",
17664
+ "x-snowflake-authorization-token-type": "OAUTH"
17665
+ },
17666
+ test: {
17667
+ method: "POST",
17668
+ path: "/api/v2/statements",
17669
+ body: { statement: "SELECT CURRENT_ACCOUNT(), CURRENT_USER(), CURRENT_ROLE()" }
17670
+ },
17667
17671
  capabilities: [
17668
17672
  {
17669
17673
  name: "queries.run",
17670
- class: "read",
17671
- description: "Run a SQL query.",
17672
- parameters: {
17673
- type: "object",
17674
- properties: { statement: { type: "string" } },
17675
- required: ["statement"]
17676
- },
17677
- request: { method: "POST", path: "/statements", body: { statement: "{statement}" } },
17678
- requiredScopes: ["session:role:manage"]
17679
- },
17680
- {
17681
- name: "queries.runMultiple",
17682
- class: "read",
17683
- description: "Run multiple SQL queries.",
17684
- parameters: {
17685
- type: "object",
17686
- properties: { statements: { type: "array", items: { type: "string" } } },
17687
- required: ["statements"]
17688
- },
17689
- request: { method: "POST", path: "/statements", body: { statements: "{statements}" } },
17690
- requiredScopes: ["session:role:manage"]
17691
- },
17692
- {
17693
- name: "rows.insert",
17694
17674
  class: "mutation",
17695
- description: "Insert a row into a table.",
17675
+ description: "Execute one SQL statement. Every statement requires approval because Snowflake SQL can mutate account data and configuration.",
17696
17676
  parameters: {
17697
17677
  type: "object",
17698
17678
  properties: {
17679
+ statement: { type: "string", description: "One Snowflake SQL statement." },
17680
+ timeout: { type: "integer", minimum: 1, description: "Maximum execution time in seconds." },
17699
17681
  database: { type: "string" },
17700
17682
  schema: { type: "string" },
17701
- table: { type: "string" },
17702
- values: { type: "object" }
17683
+ warehouse: { type: "string" },
17684
+ role: { type: "string" },
17685
+ bindings: {
17686
+ type: "object",
17687
+ description: "Snowflake SQL API bind variables keyed by one-based position."
17688
+ },
17689
+ async: { type: "boolean", description: "Return a statement handle without waiting for completion." }
17703
17690
  },
17704
- required: ["database", "schema", "table", "values"]
17691
+ required: ["statement"]
17705
17692
  },
17706
17693
  request: {
17707
17694
  method: "POST",
17708
- path: "/databases/{database}/schemas/{schema}/tables/{table}/rows",
17709
- body: { values: "{values}" }
17695
+ path: "/api/v2/statements",
17696
+ query: { async: "{async}" },
17697
+ body: {
17698
+ statement: "{statement}",
17699
+ timeout: "{timeout}",
17700
+ database: "{database}",
17701
+ schema: "{schema}",
17702
+ warehouse: "{warehouse}",
17703
+ role: "{role}",
17704
+ bindings: "{bindings}"
17705
+ }
17710
17706
  },
17711
- cas: "native-idempotency",
17712
- requiredScopes: ["session:role:manage"]
17707
+ cas: "none",
17708
+ externalEffect: true
17713
17709
  },
17714
17710
  {
17715
- name: "rows.insertMultiple",
17711
+ name: "queries.runMultiple",
17716
17712
  class: "mutation",
17717
- description: "Insert multiple rows into a table.",
17713
+ description: "Execute a semicolon-delimited SQL string as multiple statements. Snowflake does not support bind variables for this operation.",
17718
17714
  parameters: {
17719
17715
  type: "object",
17720
17716
  properties: {
17717
+ statement: { type: "string", description: "Semicolon-delimited Snowflake SQL statements." },
17718
+ multiStatementCount: {
17719
+ type: "string",
17720
+ pattern: "^[1-9][0-9]*$",
17721
+ description: "Number of statements in the SQL string."
17722
+ },
17723
+ timeout: { type: "integer", minimum: 1 },
17721
17724
  database: { type: "string" },
17722
17725
  schema: { type: "string" },
17723
- table: { type: "string" },
17724
- rows: { type: "array", items: { type: "object" } }
17726
+ warehouse: { type: "string" },
17727
+ role: { type: "string" },
17728
+ async: { type: "boolean" }
17725
17729
  },
17726
- required: ["database", "schema", "table", "rows"]
17730
+ required: ["statement", "multiStatementCount"]
17727
17731
  },
17728
17732
  request: {
17729
17733
  method: "POST",
17730
- path: "/databases/{database}/schemas/{schema}/tables/{table}/rows/bulk",
17731
- body: { rows: "{rows}" }
17732
- },
17733
- cas: "native-idempotency",
17734
- requiredScopes: ["session:role:manage"]
17735
- },
17736
- {
17737
- name: "rows.update",
17738
- class: "mutation",
17739
- description: "Update a row in a table.",
17740
- parameters: {
17741
- type: "object",
17742
- properties: {
17743
- database: { type: "string" },
17744
- schema: { type: "string" },
17745
- table: { type: "string" },
17746
- rowId: { type: "string" },
17747
- values: { type: "object" }
17748
- },
17749
- required: ["database", "schema", "table", "rowId", "values"]
17750
- },
17751
- request: {
17752
- method: "PATCH",
17753
- path: "/databases/{database}/schemas/{schema}/tables/{table}/rows/{rowId}",
17754
- body: { values: "{values}" }
17755
- },
17756
- cas: "optimistic-read-verify",
17757
- requiredScopes: ["session:role:manage"]
17758
- },
17759
- {
17760
- name: "rows.upsert",
17761
- class: "mutation",
17762
- description: "Insert or update a row in a table.",
17763
- parameters: {
17764
- type: "object",
17765
- properties: {
17766
- database: { type: "string" },
17767
- schema: { type: "string" },
17768
- table: { type: "string" },
17769
- values: { type: "object" },
17770
- keyColumns: { type: "array", items: { type: "string" } }
17771
- },
17772
- required: ["database", "schema", "table", "values", "keyColumns"]
17773
- },
17774
- request: {
17775
- method: "PUT",
17776
- path: "/databases/{database}/schemas/{schema}/tables/{table}/rows/upsert",
17777
- body: { values: "{values}", keyColumns: "{keyColumns}" }
17778
- },
17779
- cas: "native-idempotency",
17780
- requiredScopes: ["session:role:manage"]
17781
- },
17782
- {
17783
- name: "rows.delete",
17784
- class: "mutation",
17785
- description: "Delete a row from a table.",
17786
- parameters: {
17787
- type: "object",
17788
- properties: {
17789
- database: { type: "string" },
17790
- schema: { type: "string" },
17791
- table: { type: "string" },
17792
- rowId: { type: "string" }
17793
- },
17794
- required: ["database", "schema", "table", "rowId"]
17795
- },
17796
- request: {
17797
- method: "DELETE",
17798
- path: "/databases/{database}/schemas/{schema}/tables/{table}/rows/{rowId}"
17799
- },
17800
- requiredScopes: ["session:role:manage"]
17801
- },
17802
- {
17803
- name: "rows.getById",
17804
- class: "read",
17805
- description: "Get a row by ID from a table.",
17806
- parameters: {
17807
- type: "object",
17808
- properties: {
17809
- database: { type: "string" },
17810
- schema: { type: "string" },
17811
- table: { type: "string" },
17812
- rowId: { type: "string" }
17813
- },
17814
- required: ["database", "schema", "table", "rowId"]
17815
- },
17816
- request: {
17817
- method: "GET",
17818
- path: "/databases/{database}/schemas/{schema}/tables/{table}/rows/{rowId}"
17819
- },
17820
- requiredScopes: ["session:role:manage"]
17821
- },
17822
- {
17823
- name: "rows.search",
17824
- class: "read",
17825
- description: "Search rows in a table.",
17826
- parameters: {
17827
- type: "object",
17828
- properties: {
17829
- database: { type: "string" },
17830
- schema: { type: "string" },
17831
- table: { type: "string" },
17832
- filter: { type: "object" },
17833
- limit: { type: "integer" }
17834
- },
17835
- required: ["database", "schema", "table"]
17836
- },
17837
- request: {
17838
- method: "GET",
17839
- path: "/databases/{database}/schemas/{schema}/tables/{table}/rows",
17840
- query: { filter: "{filter}", limit: "{limit}" }
17841
- },
17842
- requiredScopes: ["session:role:manage"]
17843
- },
17844
- {
17845
- name: "tables.list",
17846
- class: "read",
17847
- description: "List tables in a schema.",
17848
- parameters: {
17849
- type: "object",
17850
- properties: {
17851
- database: { type: "string" },
17852
- schema: { type: "string" }
17853
- },
17854
- required: ["database", "schema"]
17855
- },
17856
- request: {
17857
- method: "GET",
17858
- path: "/databases/{database}/schemas/{schema}/tables"
17734
+ path: "/api/v2/statements",
17735
+ query: { async: "{async}" },
17736
+ body: {
17737
+ statement: "{statement}",
17738
+ timeout: "{timeout}",
17739
+ database: "{database}",
17740
+ schema: "{schema}",
17741
+ warehouse: "{warehouse}",
17742
+ role: "{role}",
17743
+ parameters: { MULTI_STATEMENT_COUNT: "{multiStatementCount}" }
17744
+ }
17859
17745
  },
17860
- requiredScopes: ["session:role:manage"]
17746
+ cas: "none",
17747
+ externalEffect: true
17861
17748
  },
17862
17749
  {
17863
- name: "tables.getSchema",
17750
+ name: "statements.get",
17864
17751
  class: "read",
17865
- description: "Get the schema of a table.",
17752
+ description: "Check a statement and retrieve one result partition.",
17866
17753
  parameters: {
17867
17754
  type: "object",
17868
17755
  properties: {
17869
- database: { type: "string" },
17870
- schema: { type: "string" },
17871
- table: { type: "string" }
17756
+ statementHandle: { type: "string" },
17757
+ partition: { type: "integer", minimum: 0 }
17872
17758
  },
17873
- required: ["database", "schema", "table"]
17759
+ required: ["statementHandle"]
17874
17760
  },
17875
17761
  request: {
17876
17762
  method: "GET",
17877
- path: "/databases/{database}/schemas/{schema}/tables/{table}/schema"
17878
- },
17879
- requiredScopes: ["session:role:manage"]
17880
- },
17881
- {
17882
- name: "procedures.execute",
17883
- class: "mutation",
17884
- description: "Execute a stored procedure.",
17885
- parameters: {
17886
- type: "object",
17887
- properties: {
17888
- database: { type: "string" },
17889
- schema: { type: "string" },
17890
- procedureName: { type: "string" },
17891
- arguments: { type: "array", items: { type: "string" } }
17892
- },
17893
- required: ["database", "schema", "procedureName"]
17894
- },
17895
- request: {
17896
- method: "POST",
17897
- path: "/databases/{database}/schemas/{schema}/procedures/{procedureName}/execute",
17898
- body: { arguments: "{arguments}" }
17899
- },
17900
- requiredScopes: ["session:role:manage"]
17901
- },
17902
- {
17903
- name: "stages.loadData",
17904
- class: "mutation",
17905
- description: "Load data from a stage into a table.",
17906
- parameters: {
17907
- type: "object",
17908
- properties: {
17909
- database: { type: "string" },
17910
- schema: { type: "string" },
17911
- table: { type: "string" },
17912
- stage: { type: "string" },
17913
- files: { type: "array", items: { type: "string" } }
17914
- },
17915
- required: ["database", "schema", "table", "stage"]
17916
- },
17917
- request: {
17918
- method: "POST",
17919
- path: "/databases/{database}/schemas/{schema}/tables/{table}/load",
17920
- body: { stage: "{stage}", files: "{files}" }
17921
- },
17922
- cas: "native-idempotency",
17923
- requiredScopes: ["session:role:manage"]
17924
- },
17925
- {
17926
- name: "dynamicTables.create",
17927
- class: "mutation",
17928
- description: "Create a dynamic table.",
17929
- parameters: {
17930
- type: "object",
17931
- properties: {
17932
- database: { type: "string" },
17933
- schema: { type: "string" },
17934
- name: { type: "string" },
17935
- query: { type: "string" }
17936
- },
17937
- required: ["database", "schema", "name", "query"]
17938
- },
17939
- request: {
17940
- method: "POST",
17941
- path: "/databases/{database}/schemas/{schema}/dynamic-tables",
17942
- body: { name: "{name}", query: "{query}" }
17943
- },
17944
- cas: "native-idempotency",
17945
- requiredScopes: ["session:role:manage"]
17946
- },
17947
- {
17948
- name: "tables.create",
17949
- class: "mutation",
17950
- description: "Create a table in a schema.",
17951
- parameters: {
17952
- type: "object",
17953
- properties: {
17954
- database: { type: "string" },
17955
- schema: { type: "string" },
17956
- name: { type: "string" },
17957
- columns: {
17958
- type: "array",
17959
- description: 'Column definitions: name + Snowflake type, e.g. {name: "id", type: "NUMBER"}.',
17960
- items: {
17961
- type: "object",
17962
- properties: {
17963
- name: { type: "string" },
17964
- type: { type: "string" },
17965
- nullable: { type: "boolean" },
17966
- default: {}
17967
- },
17968
- required: ["name", "type"]
17969
- }
17970
- }
17971
- },
17972
- required: ["database", "schema", "name", "columns"]
17973
- },
17974
- request: {
17975
- method: "POST",
17976
- path: "/databases/{database}/schemas/{schema}/tables",
17977
- body: { name: "{name}", columns: "{columns}" }
17978
- },
17979
- cas: "native-idempotency",
17980
- externalEffect: true,
17981
- requiredScopes: ["session:role:manage"]
17982
- },
17983
- {
17984
- name: "tables.drop",
17985
- class: "mutation",
17986
- description: "Drop a table from a schema.",
17987
- parameters: {
17988
- type: "object",
17989
- properties: {
17990
- database: { type: "string" },
17991
- schema: { type: "string" },
17992
- table: { type: "string" }
17993
- },
17994
- required: ["database", "schema", "table"]
17995
- },
17996
- request: {
17997
- method: "DELETE",
17998
- path: "/databases/{database}/schemas/{schema}/tables/{table}"
17999
- },
18000
- cas: "native-idempotency",
18001
- externalEffect: true,
18002
- requiredScopes: ["session:role:manage"]
18003
- },
18004
- {
18005
- name: "stages.create",
18006
- class: "mutation",
18007
- description: "Create an internal stage for file loads.",
18008
- parameters: {
18009
- type: "object",
18010
- properties: {
18011
- database: { type: "string" },
18012
- schema: { type: "string" },
18013
- name: { type: "string" },
18014
- fileFormat: { type: "string", description: 'Optional named file format, e.g. "CSV".' },
18015
- comment: { type: "string" }
18016
- },
18017
- required: ["database", "schema", "name"]
18018
- },
18019
- request: {
18020
- method: "POST",
18021
- path: "/databases/{database}/schemas/{schema}/stages",
18022
- body: "args"
18023
- },
18024
- cas: "native-idempotency",
18025
- externalEffect: true,
18026
- requiredScopes: ["session:role:manage"]
17763
+ path: "/api/v2/statements/{statementHandle}",
17764
+ query: { partition: "{partition}" }
17765
+ }
18027
17766
  },
18028
17767
  {
18029
- name: "stages.unloadData",
17768
+ name: "statements.cancel",
18030
17769
  class: "mutation",
18031
- description: "Unload table data to a stage (COPY INTO @stage FROM table).",
17770
+ description: "Cancel a running SQL statement by its Snowflake handle.",
18032
17771
  parameters: {
18033
17772
  type: "object",
18034
- properties: {
18035
- database: { type: "string" },
18036
- schema: { type: "string" },
18037
- table: { type: "string" },
18038
- stage: { type: "string" },
18039
- fileFormat: { type: "string" },
18040
- overwrite: { type: "boolean" }
18041
- },
18042
- required: ["database", "schema", "table", "stage"]
17773
+ properties: { statementHandle: { type: "string" } },
17774
+ required: ["statementHandle"]
18043
17775
  },
18044
17776
  request: {
18045
17777
  method: "POST",
18046
- path: "/databases/{database}/schemas/{schema}/tables/{table}/unload",
18047
- body: "args"
18048
- },
18049
- cas: "native-idempotency",
18050
- externalEffect: true,
18051
- requiredScopes: ["session:role:manage"]
18052
- },
18053
- {
18054
- name: "warehouses.list",
18055
- class: "read",
18056
- description: "List warehouses available to the authenticated identity.",
18057
- parameters: {
18058
- type: "object",
18059
- properties: {
18060
- like: { type: "string", description: "Optional name pattern (SQL LIKE syntax)." }
18061
- }
18062
- },
18063
- request: {
18064
- method: "GET",
18065
- path: "/warehouses",
18066
- query: { like: "{like}" }
17778
+ path: "/api/v2/statements/{statementHandle}/cancel",
17779
+ body: {}
18067
17780
  },
18068
- requiredScopes: ["session:role:manage"]
17781
+ cas: "none",
17782
+ externalEffect: true
18069
17783
  }
18070
17784
  ]
18071
17785
  });
@@ -18074,19 +17788,29 @@ var snowflakeConnector = declarativeRestConnector({
18074
17788
  var teableConnector = declarativeRestConnector({
18075
17789
  kind: "teable",
18076
17790
  displayName: "Teable",
18077
- description: "Create, read, update, and delete records in Teable databases, plus upload attachments.",
17791
+ description: "Read and write records, tables, fields, and views in Teable databases.",
18078
17792
  auth: {
18079
17793
  kind: "oauth2",
18080
- authorizationUrl: "https://app.teable.io/oauth/authorize",
18081
- tokenUrl: "https://app.teable.io/oauth/token",
18082
- scopes: ["database:read", "database:write"],
17794
+ authorizationUrl: "https://app.teable.ai/api/oauth/authorize",
17795
+ tokenUrl: "https://app.teable.ai/api/oauth/access_token",
17796
+ scopes: [
17797
+ "base|read",
17798
+ "table|read",
17799
+ "table|create",
17800
+ "field|create",
17801
+ "view|create",
17802
+ "record|read",
17803
+ "record|create",
17804
+ "record|update"
17805
+ ],
18083
17806
  clientIdEnv: "TEABLE_OAUTH_CLIENT_ID",
18084
- clientSecretEnv: "TEABLE_OAUTH_CLIENT_SECRET"
17807
+ clientSecretEnv: "TEABLE_OAUTH_CLIENT_SECRET",
17808
+ pkce: "supported"
18085
17809
  },
18086
17810
  category: "doc",
18087
17811
  defaultConsistencyModel: "authoritative",
18088
- baseUrl: "https://app.teable.io/api/v1",
18089
- test: { method: "GET", path: "/bases" },
17812
+ baseUrl: "https://app.teable.ai/api",
17813
+ test: { method: "GET", path: "/auth/user/me" },
18090
17814
  capabilities: [
18091
17815
  {
18092
17816
  name: "records.create",
@@ -18096,16 +17820,23 @@ var teableConnector = declarativeRestConnector({
18096
17820
  type: "object",
18097
17821
  properties: {
18098
17822
  tableId: { type: "string" },
18099
- fields: { type: "object" }
17823
+ fields: { type: "object" },
17824
+ fieldKeyType: { type: "string", enum: ["name", "id", "dbFieldName"] },
17825
+ typecast: { type: "boolean" }
18100
17826
  },
18101
17827
  required: ["tableId", "fields"]
18102
17828
  },
18103
17829
  request: {
18104
17830
  method: "POST",
18105
- path: "/tables/{tableId}/records",
18106
- body: { fields: "{fields}" }
17831
+ path: "/table/{tableId}/record",
17832
+ body: {
17833
+ records: [{ fields: "{fields}" }],
17834
+ fieldKeyType: "{fieldKeyType}",
17835
+ typecast: "{typecast}"
17836
+ }
18107
17837
  },
18108
- cas: "native-idempotency"
17838
+ cas: "native-idempotency",
17839
+ requiredScopes: ["record|create"]
18109
17840
  },
18110
17841
  {
18111
17842
  name: "records.find",
@@ -18116,20 +17847,27 @@ var teableConnector = declarativeRestConnector({
18116
17847
  properties: {
18117
17848
  tableId: { type: "string" },
18118
17849
  filter: { type: "string" },
18119
- limit: { type: "integer" },
18120
- offset: { type: "integer" }
17850
+ take: { type: "integer", minimum: 1, maximum: 1e3 },
17851
+ skip: { type: "integer", minimum: 0 },
17852
+ viewId: { type: "string" },
17853
+ fieldKeyType: { type: "string", enum: ["name", "id", "dbFieldName"] },
17854
+ cellFormat: { type: "string", enum: ["json", "text"] }
18121
17855
  },
18122
17856
  required: ["tableId"]
18123
17857
  },
18124
17858
  request: {
18125
17859
  method: "GET",
18126
- path: "/tables/{tableId}/records",
17860
+ path: "/table/{tableId}/record",
18127
17861
  query: {
18128
17862
  filter: "{filter}",
18129
- limit: "{limit}",
18130
- offset: "{offset}"
17863
+ take: "{take}",
17864
+ skip: "{skip}",
17865
+ viewId: "{viewId}",
17866
+ fieldKeyType: "{fieldKeyType}",
17867
+ cellFormat: "{cellFormat}"
18131
17868
  }
18132
- }
17869
+ },
17870
+ requiredScopes: ["record|read"]
18133
17871
  },
18134
17872
  {
18135
17873
  name: "records.get",
@@ -18139,14 +17877,21 @@ var teableConnector = declarativeRestConnector({
18139
17877
  type: "object",
18140
17878
  properties: {
18141
17879
  tableId: { type: "string" },
18142
- recordId: { type: "string" }
17880
+ recordId: { type: "string" },
17881
+ fieldKeyType: { type: "string", enum: ["name", "id", "dbFieldName"] },
17882
+ cellFormat: { type: "string", enum: ["json", "text"] }
18143
17883
  },
18144
17884
  required: ["tableId", "recordId"]
18145
17885
  },
18146
17886
  request: {
18147
17887
  method: "GET",
18148
- path: "/tables/{tableId}/records/{recordId}"
18149
- }
17888
+ path: "/table/{tableId}/record/{recordId}",
17889
+ query: {
17890
+ fieldKeyType: "{fieldKeyType}",
17891
+ cellFormat: "{cellFormat}"
17892
+ }
17893
+ },
17894
+ requiredScopes: ["record|read"]
18150
17895
  },
18151
17896
  {
18152
17897
  name: "records.update",
@@ -18157,60 +17902,23 @@ var teableConnector = declarativeRestConnector({
18157
17902
  properties: {
18158
17903
  tableId: { type: "string" },
18159
17904
  recordId: { type: "string" },
18160
- fields: { type: "object" }
17905
+ fields: { type: "object" },
17906
+ fieldKeyType: { type: "string", enum: ["name", "id", "dbFieldName"] },
17907
+ typecast: { type: "boolean" }
18161
17908
  },
18162
17909
  required: ["tableId", "recordId", "fields"]
18163
17910
  },
18164
17911
  request: {
18165
17912
  method: "PATCH",
18166
- path: "/tables/{tableId}/records/{recordId}",
18167
- body: { fields: "{fields}" }
18168
- },
18169
- cas: "optimistic-read-verify"
18170
- },
18171
- {
18172
- name: "records.delete",
18173
- class: "mutation",
18174
- description: "Delete a record from a Teable table.",
18175
- parameters: {
18176
- type: "object",
18177
- properties: {
18178
- tableId: { type: "string" },
18179
- recordId: { type: "string" }
18180
- },
18181
- required: ["tableId", "recordId"]
18182
- },
18183
- request: {
18184
- method: "DELETE",
18185
- path: "/tables/{tableId}/records/{recordId}"
18186
- },
18187
- cas: "native-idempotency"
18188
- },
18189
- {
18190
- name: "attachments.upload",
18191
- class: "mutation",
18192
- description: "Upload an attachment to a Teable record field.",
18193
- parameters: {
18194
- type: "object",
18195
- properties: {
18196
- tableId: { type: "string" },
18197
- recordId: { type: "string" },
18198
- fieldId: { type: "string" },
18199
- fileUrl: { type: "string" },
18200
- fileName: { type: "string" }
18201
- },
18202
- required: ["tableId", "recordId", "fieldId", "fileUrl"]
18203
- },
18204
- request: {
18205
- method: "POST",
18206
- path: "/tables/{tableId}/records/{recordId}/attachments",
17913
+ path: "/table/{tableId}/record/{recordId}",
18207
17914
  body: {
18208
- fieldId: "{fieldId}",
18209
- fileUrl: "{fileUrl}",
18210
- fileName: "{fileName}"
17915
+ record: { fields: "{fields}" },
17916
+ fieldKeyType: "{fieldKeyType}",
17917
+ typecast: "{typecast}"
18211
17918
  }
18212
17919
  },
18213
- cas: "native-idempotency"
17920
+ cas: "optimistic-read-verify",
17921
+ requiredScopes: ["record|update"]
18214
17922
  },
18215
17923
  {
18216
17924
  name: "tables.list",
@@ -18226,7 +17934,8 @@ var teableConnector = declarativeRestConnector({
18226
17934
  request: {
18227
17935
  method: "GET",
18228
17936
  path: "/base/{baseId}/table"
18229
- }
17937
+ },
17938
+ requiredScopes: ["table|read"]
18230
17939
  },
18231
17940
  {
18232
17941
  name: "tables.create",
@@ -18248,7 +17957,8 @@ var teableConnector = declarativeRestConnector({
18248
17957
  }
18249
17958
  },
18250
17959
  cas: "native-idempotency",
18251
- externalEffect: true
17960
+ externalEffect: true,
17961
+ requiredScopes: ["table|create"]
18252
17962
  },
18253
17963
  {
18254
17964
  name: "fields.create",
@@ -18272,7 +17982,8 @@ var teableConnector = declarativeRestConnector({
18272
17982
  }
18273
17983
  },
18274
17984
  cas: "native-idempotency",
18275
- externalEffect: true
17985
+ externalEffect: true,
17986
+ requiredScopes: ["field|create"]
18276
17987
  },
18277
17988
  {
18278
17989
  name: "views.create",
@@ -18296,7 +18007,8 @@ var teableConnector = declarativeRestConnector({
18296
18007
  }
18297
18008
  },
18298
18009
  cas: "native-idempotency",
18299
- externalEffect: true
18010
+ externalEffect: true,
18011
+ requiredScopes: ["view|create"]
18300
18012
  }
18301
18013
  ]
18302
18014
  });
@@ -19631,21 +19343,42 @@ var zoominfoConnector = declarativeRestConnector({
19631
19343
  });
19632
19344
 
19633
19345
  // src/connectors/adapters/zuora.ts
19346
+ var ZUORA_API_BASE_URLS = [
19347
+ "https://rest.test.zuora.com",
19348
+ "https://rest.sandbox.na.zuora.com",
19349
+ "https://rest.apisandbox.zuora.com",
19350
+ "https://rest.na.zuora.com",
19351
+ "https://rest.zuora.com",
19352
+ "https://rest.test.eu.zuora.com",
19353
+ "https://rest.sandbox.eu.zuora.com",
19354
+ "https://rest.eu.zuora.com",
19355
+ "https://rest.test.ap.zuora.com",
19356
+ "https://rest.ap.zuora.com"
19357
+ ];
19634
19358
  var zuoraConnector = declarativeRestConnector({
19635
19359
  kind: "zuora",
19636
19360
  displayName: "Zuora",
19637
19361
  description: "Cloud-based subscription management platform. Query accounts, products, and rate plans; create invoices.",
19638
19362
  auth: {
19639
19363
  kind: "oauth2",
19640
- authorizationUrl: "https://www.zuora.com/apps/PersonalSettings.do?method=oauth",
19641
- tokenUrl: "https://rest.zuora.com/oauth/token",
19642
- scopes: ["api"],
19364
+ grantType: "client_credentials",
19365
+ tokenUrl: "{apiBaseUrl}/oauth/token",
19366
+ scopes: [],
19643
19367
  clientIdEnv: "ZUORA_OAUTH_CLIENT_ID",
19644
- clientSecretEnv: "ZUORA_OAUTH_CLIENT_SECRET"
19368
+ clientSecretEnv: "ZUORA_OAUTH_CLIENT_SECRET",
19369
+ tokenClientAuthMethod: "client_secret_post",
19370
+ pkce: "unsupported",
19371
+ urlTemplateMetadata: {
19372
+ apiBaseUrl: {
19373
+ kind: "base-url",
19374
+ allowedBaseUrls: ZUORA_API_BASE_URLS
19375
+ }
19376
+ }
19645
19377
  },
19646
19378
  category: "crm",
19647
19379
  defaultConsistencyModel: "authoritative",
19648
- baseUrl: "https://rest.zuora.com",
19380
+ baseUrl: { metadataKey: "apiBaseUrl" },
19381
+ allowedBaseUrls: ZUORA_API_BASE_URLS,
19649
19382
  test: { method: "GET", path: "/v1/accounts" },
19650
19383
  capabilities: [
19651
19384
  {
@@ -19659,8 +19392,7 @@ var zuoraConnector = declarativeRestConnector({
19659
19392
  },
19660
19393
  required: ["accountId"]
19661
19394
  },
19662
- request: { method: "GET", path: "/v1/accounts/{accountId}" },
19663
- requiredScopes: ["api"]
19395
+ request: { method: "GET", path: "/v1/accounts/{accountId}" }
19664
19396
  },
19665
19397
  {
19666
19398
  name: "products.find",
@@ -19673,8 +19405,7 @@ var zuoraConnector = declarativeRestConnector({
19673
19405
  },
19674
19406
  required: ["productId"]
19675
19407
  },
19676
- request: { method: "GET", path: "/v1/products/{productId}" },
19677
- requiredScopes: ["api"]
19408
+ request: { method: "GET", path: "/v1/products/{productId}" }
19678
19409
  },
19679
19410
  {
19680
19411
  name: "products.rate_plans.find",
@@ -19688,8 +19419,7 @@ var zuoraConnector = declarativeRestConnector({
19688
19419
  },
19689
19420
  required: ["productId", "ratePlanId"]
19690
19421
  },
19691
- request: { method: "GET", path: "/v1/products/{productId}/rate-plans/{ratePlanId}" },
19692
- requiredScopes: ["api"]
19422
+ request: { method: "GET", path: "/v1/products/{productId}/rate-plans/{ratePlanId}" }
19693
19423
  },
19694
19424
  {
19695
19425
  name: "invoices.create",
@@ -19713,8 +19443,7 @@ var zuoraConnector = declarativeRestConnector({
19713
19443
  path: "/v1/invoices",
19714
19444
  body: { accountId: "{accountId}", subscriptionId: "{subscriptionId}", items: "{invoiceItems}" }
19715
19445
  },
19716
- cas: "native-idempotency",
19717
- requiredScopes: ["api"]
19446
+ cas: "native-idempotency"
19718
19447
  },
19719
19448
  {
19720
19449
  name: "subscriptions.create",
@@ -19740,8 +19469,7 @@ var zuoraConnector = declarativeRestConnector({
19740
19469
  body: "args"
19741
19470
  },
19742
19471
  cas: "native-idempotency",
19743
- externalEffect: true,
19744
- requiredScopes: ["api"]
19472
+ externalEffect: true
19745
19473
  },
19746
19474
  {
19747
19475
  name: "subscriptions.cancel",
@@ -19769,8 +19497,7 @@ var zuoraConnector = declarativeRestConnector({
19769
19497
  body: "args"
19770
19498
  },
19771
19499
  cas: "native-idempotency",
19772
- externalEffect: true,
19773
- requiredScopes: ["api"]
19500
+ externalEffect: true
19774
19501
  },
19775
19502
  {
19776
19503
  name: "subscriptions.update",
@@ -19793,8 +19520,7 @@ var zuoraConnector = declarativeRestConnector({
19793
19520
  body: "args"
19794
19521
  },
19795
19522
  cas: "native-idempotency",
19796
- externalEffect: true,
19797
- requiredScopes: ["api"]
19523
+ externalEffect: true
19798
19524
  },
19799
19525
  {
19800
19526
  name: "payments.create",
@@ -19822,8 +19548,7 @@ var zuoraConnector = declarativeRestConnector({
19822
19548
  body: "args"
19823
19549
  },
19824
19550
  cas: "native-idempotency",
19825
- externalEffect: true,
19826
- requiredScopes: ["api"]
19551
+ externalEffect: true
19827
19552
  }
19828
19553
  ]
19829
19554
  });
@@ -77890,11 +77615,19 @@ var marketoConnector = declarativeRestConnector({
77890
77615
  description: "Manage Marketo leads, static lists, and smart campaigns through the REST API v1.",
77891
77616
  auth: {
77892
77617
  kind: "oauth2",
77893
- authorizationUrl: "https://app.marketo.com/identity/oauth/authorize",
77894
- tokenUrl: "https://app.marketo.com/identity/oauth/token",
77618
+ grantType: "client_credentials",
77619
+ tokenUrl: "{restEndpoint}/identity/oauth/token",
77895
77620
  scopes: [],
77896
77621
  clientIdEnv: "MARKETO_OAUTH_CLIENT_ID",
77897
- clientSecretEnv: "MARKETO_OAUTH_CLIENT_SECRET"
77622
+ clientSecretEnv: "MARKETO_OAUTH_CLIENT_SECRET",
77623
+ tokenClientAuthMethod: "client_secret_post",
77624
+ pkce: "unsupported",
77625
+ urlTemplateMetadata: {
77626
+ restEndpoint: {
77627
+ kind: "base-url",
77628
+ allowedBaseUrlSuffixes: [".mktorest.com"]
77629
+ }
77630
+ }
77898
77631
  },
77899
77632
  category: "crm",
77900
77633
  defaultConsistencyModel: "authoritative",
@@ -84246,10 +83979,7 @@ var CONNECTOR_ADAPTER_FACTORIES = [
84246
83979
  clientId: "NIFTY_OAUTH_CLIENT_ID",
84247
83980
  clientSecret: "NIFTY_OAUTH_CLIENT_SECRET"
84248
83981
  }),
84249
- defineFactoryAdapter(() => opsgenieConnector, {
84250
- clientId: "OPSGENIE_OAUTH_CLIENT_ID",
84251
- clientSecret: "OPSGENIE_OAUTH_CLIENT_SECRET"
84252
- }),
83982
+ defineFactoryAdapter(() => opsgenieConnector, {}),
84253
83983
  defineFactoryAdapter(() => pagerdutyConnector, {
84254
83984
  clientId: "PAGERDUTY_OAUTH_CLIENT_ID",
84255
83985
  clientSecret: "PAGERDUTY_OAUTH_CLIENT_SECRET"
@@ -149758,4 +149488,4 @@ export {
149758
149488
  getresponseConnector,
149759
149489
  adapters_exports
149760
149490
  };
149761
- //# sourceMappingURL=chunk-2JRYKWYX.js.map
149491
+ //# sourceMappingURL=chunk-BYTP5QJQ.js.map