@zackbart/connecta 0.28.1 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/CHANGELOG.md +855 -5
  2. package/README.md +125 -116
  3. package/bin/connecta.mjs +121 -139
  4. package/bin/meta-tool-names.d.mts +2 -0
  5. package/bin/meta-tool-names.mjs +9 -0
  6. package/bin/version.mjs +3 -0
  7. package/dist/access-tokens.js +53 -63
  8. package/dist/activity-request.js +8 -0
  9. package/dist/activity.d.ts +76 -42
  10. package/dist/activity.js +110 -42
  11. package/dist/argument-redaction.js +230 -0
  12. package/dist/auth/clerk-sdk/client.d.ts +65 -0
  13. package/dist/auth/clerk-sdk/client.js +5 -0
  14. package/dist/auth/clerk-sdk/generated.js +1845 -0
  15. package/dist/auth/clerk-transport.js +19 -0
  16. package/dist/auth/clerk.d.ts +17 -7
  17. package/dist/auth/clerk.js +189 -107
  18. package/dist/auth/cloudflare-access.js +25 -26
  19. package/dist/auth/downstream-client-metadata.d.ts +29 -0
  20. package/dist/auth/downstream-client-metadata.js +133 -0
  21. package/dist/auth/downstream-oauth.js +1584 -1580
  22. package/dist/auth/downstream-revocation.js +106 -0
  23. package/dist/auth/oauth-token-response.js +231 -0
  24. package/dist/auth/oauth-v2-migration.js +116 -0
  25. package/dist/auth/static-oauth.js +93 -71
  26. package/dist/auth-elicitation.js +288 -0
  27. package/dist/authorization-handoff.js +111 -0
  28. package/dist/branding.d.ts +8 -16
  29. package/dist/branding.js +26 -59
  30. package/dist/byte-read-response.js +39 -0
  31. package/dist/call-admission.js +12 -16
  32. package/dist/catalog-cache.js +739 -0
  33. package/dist/catalog-drift.d.ts +50 -15
  34. package/dist/catalog-drift.js +365 -128
  35. package/dist/catalog-fingerprint.js +2 -4
  36. package/dist/catalog-freshness.js +13 -0
  37. package/dist/catalog-limits.js +2 -2
  38. package/dist/catalog-service.js +409 -225
  39. package/dist/catalog.js +43 -84
  40. package/dist/concurrency.js +3 -4
  41. package/dist/config-defaults.d.ts +39 -0
  42. package/dist/config-defaults.js +46 -0
  43. package/dist/config-schema.d.ts +181 -0
  44. package/dist/config-schema.js +435 -0
  45. package/dist/config-value-sources.js +102 -0
  46. package/dist/config.d.ts +633 -0
  47. package/dist/config.js +508 -0
  48. package/dist/connector-access.d.ts +1 -0
  49. package/dist/connector-access.js +13 -15
  50. package/dist/connector-caller.d.ts +8 -0
  51. package/dist/connector-caller.js +15 -6
  52. package/dist/connector-scope.js +1 -1
  53. package/dist/connectors/api-connector.d.ts +59 -7
  54. package/dist/connectors/api-connector.js +106 -19
  55. package/dist/connectors/api.js +4 -1
  56. package/dist/connectors/guarded-fetch.d.ts +144 -0
  57. package/dist/connectors/guarded-fetch.js +87 -38
  58. package/dist/connectors/negotiation-cache.js +46 -0
  59. package/dist/connectors/option-shapes.js +27 -0
  60. package/dist/connectors/remote-mcp.d.ts +30 -4
  61. package/dist/connectors/remote-mcp.js +1774 -320
  62. package/dist/connectors/resource-uri.js +335 -0
  63. package/dist/credential-contract.d.ts +10 -0
  64. package/dist/credential-rules.js +1 -3
  65. package/dist/credential-url.js +108 -0
  66. package/dist/credentials.d.ts +6 -1
  67. package/dist/credentials.js +27 -18
  68. package/dist/d1.d.ts +130 -0
  69. package/dist/d1.js +290 -0
  70. package/dist/describe-config.d.ts +165 -0
  71. package/dist/describe-config.js +315 -0
  72. package/dist/described.js +106 -0
  73. package/dist/downstream-input-context.js +128 -0
  74. package/dist/downstream-input.js +325 -0
  75. package/dist/errors.d.ts +132 -31
  76. package/dist/errors.js +175 -87
  77. package/dist/execute.js +798 -318
  78. package/dist/executor-admission.d.ts +1 -0
  79. package/dist/executor-admission.js +11 -15
  80. package/dist/executor-contract.d.ts +20 -0
  81. package/dist/executor-contract.js +48 -0
  82. package/dist/executor-result.js +30 -13
  83. package/dist/executors/quickjs-child.js +15 -9
  84. package/dist/executors/quickjs-protocol.js +5 -6
  85. package/dist/executors/quickjs-runtime.js +152 -59
  86. package/dist/executors/quickjs.js +49 -39
  87. package/dist/favicon.js +1 -2
  88. package/dist/fix-prompt.js +1 -3
  89. package/dist/guest-runtime.js +238 -0
  90. package/dist/guest-types.d.ts +218 -0
  91. package/dist/guest-types.js +1 -0
  92. package/dist/html-security.js +24 -0
  93. package/dist/identity.js +1 -3
  94. package/dist/inbound-credential.js +52 -0
  95. package/dist/index.d.ts +24 -256
  96. package/dist/index.js +65 -478
  97. package/dist/invocation-auth.js +69 -0
  98. package/dist/invocation.js +262 -79
  99. package/dist/json-schema.d.ts +1 -1
  100. package/dist/mcp-client-context.js +35 -0
  101. package/dist/mcp-result.js +11 -7
  102. package/dist/meta-output.js +61 -0
  103. package/dist/meta-tool-names.d.ts +2 -0
  104. package/dist/meta-tool-names.js +3 -0
  105. package/dist/meta-tools.js +419 -272
  106. package/dist/module-contracts.d.ts +8 -23
  107. package/dist/node.d.ts +0 -2
  108. package/dist/node.js +2 -2
  109. package/dist/oauth-callback-outcome.js +1 -3
  110. package/dist/oauth-handoff.js +194 -0
  111. package/dist/oauth-sealing.js +20 -0
  112. package/dist/operator-record.d.ts +137 -0
  113. package/dist/operator-record.js +420 -0
  114. package/dist/operator-ui/assets.js +31 -0
  115. package/dist/operator-ui/contract.d.ts +72 -0
  116. package/dist/operator-ui/contract.js +1 -0
  117. package/dist/operator-ui/fix-prompts.d.ts +18 -0
  118. package/dist/operator-ui/generated.js +5 -4
  119. package/dist/operator-ui/model.d.ts +12 -87
  120. package/dist/operator-ui/model.js +2 -9
  121. package/dist/operator-ui/setup-commands.js +1 -3
  122. package/dist/operator-ui/view.d.ts +323 -0
  123. package/dist/operator-ui/view.js +62 -189
  124. package/dist/page-styles.js +2 -3
  125. package/dist/program-result.js +5 -0
  126. package/dist/program-source.js +14 -2
  127. package/dist/{exempt-writes.js → program-writes.js} +60 -19
  128. package/dist/provider.d.ts +142 -0
  129. package/dist/provider.js +187 -0
  130. package/dist/providers/_shared/google/result-size.js +57 -0
  131. package/dist/providers/_shared/google/service-account.d.ts +58 -0
  132. package/dist/providers/_shared/google/service-account.js +500 -0
  133. package/dist/providers/_shared/google/workspace.d.ts +276 -0
  134. package/dist/providers/_shared/google/workspace.js +518 -0
  135. package/dist/providers/_shared/request-token.js +83 -0
  136. package/dist/providers/{basecamp.d.ts → basecamp/index.d.ts} +6 -28
  137. package/dist/providers/basecamp/index.js +997 -0
  138. package/dist/providers/basecamp/skill.generated.js +9 -0
  139. package/dist/providers/{breeze.d.ts → breeze/index.d.ts} +2 -2
  140. package/dist/providers/{breeze.js → breeze/index.js} +184 -140
  141. package/dist/providers/breeze/skill.generated.js +9 -0
  142. package/dist/providers/{ccb.d.ts → ccb/index.d.ts} +2 -2
  143. package/dist/providers/{ccb.js → ccb/index.js} +271 -116
  144. package/dist/providers/ccb/skill.generated.js +9 -0
  145. package/dist/providers/{cloudflare.d.ts → cloudflare/index.d.ts} +8 -7
  146. package/dist/providers/{cloudflare.js → cloudflare/index.js} +171 -738
  147. package/dist/providers/cloudflare/skill.generated.js +10 -0
  148. package/dist/providers/docs/index.d.ts +54 -0
  149. package/dist/providers/docs/index.js +1237 -0
  150. package/dist/providers/docs/skill.generated.js +9 -0
  151. package/dist/providers/drive/index.d.ts +53 -0
  152. package/dist/providers/drive/index.js +1523 -0
  153. package/dist/providers/drive/skill.generated.js +9 -0
  154. package/dist/providers/forms/index.d.ts +54 -0
  155. package/dist/providers/forms/index.js +1217 -0
  156. package/dist/providers/forms/skill.generated.js +11 -0
  157. package/dist/providers/github/auth.d.ts +32 -0
  158. package/dist/providers/github/auth.js +361 -0
  159. package/dist/providers/github/hosted.js +218 -0
  160. package/dist/providers/github/index.d.ts +13 -0
  161. package/dist/providers/github/index.js +140 -0
  162. package/dist/providers/github/key.js +100 -0
  163. package/dist/providers/github/rest.js +321 -0
  164. package/dist/providers/github/scope.d.ts +29 -0
  165. package/dist/providers/github/scope.js +124 -0
  166. package/dist/providers/github/skill.generated.js +8 -0
  167. package/dist/providers/gmail/index.d.ts +51 -0
  168. package/dist/providers/gmail/index.js +1436 -0
  169. package/dist/providers/gmail/skill.generated.js +9 -0
  170. package/dist/providers/infisical/index.d.ts +7 -0
  171. package/dist/providers/infisical/index.js +713 -0
  172. package/dist/providers/infisical/skill.generated.js +8 -0
  173. package/dist/providers/{linear.d.ts → linear/index.d.ts} +11 -14
  174. package/dist/providers/linear/index.js +352 -0
  175. package/dist/providers/linear/skill.generated.js +8 -0
  176. package/dist/providers/{mixpanel.d.ts → mixpanel/index.d.ts} +5 -10
  177. package/dist/providers/mixpanel/index.js +416 -0
  178. package/dist/providers/mixpanel/skill.generated.js +9 -0
  179. package/dist/providers/{notion.d.ts → notion/index.d.ts} +8 -8
  180. package/dist/providers/{notion.js → notion/index.js} +226 -239
  181. package/dist/providers/notion/skill.generated.js +10 -0
  182. package/dist/providers/{overflow.d.ts → overflow/index.d.ts} +2 -2
  183. package/dist/providers/{overflow.js → overflow/index.js} +74 -111
  184. package/dist/providers/overflow/skill.generated.js +8 -0
  185. package/dist/providers/{planning-center.d.ts → planning-center/index.d.ts} +2 -2
  186. package/dist/providers/{planning-center.js → planning-center/index.js} +264 -104
  187. package/dist/providers/planning-center/skill.generated.js +10 -0
  188. package/dist/providers/{revenuecat.d.ts → revenuecat/index.d.ts} +5 -10
  189. package/dist/providers/revenuecat/index.js +557 -0
  190. package/dist/providers/revenuecat/skill.generated.js +11 -0
  191. package/dist/providers/sheets/index.d.ts +54 -0
  192. package/dist/providers/sheets/index.js +1237 -0
  193. package/dist/providers/sheets/skill.generated.js +10 -0
  194. package/dist/providers/slides/index.d.ts +53 -0
  195. package/dist/providers/slides/index.js +2645 -0
  196. package/dist/providers/slides/skill.generated.js +9 -0
  197. package/dist/providers/{stripe.d.ts → stripe/index.d.ts} +5 -12
  198. package/dist/providers/stripe/index.js +266 -0
  199. package/dist/providers/stripe/skill.generated.js +11 -0
  200. package/dist/providers/{tithely.d.ts → tithely/index.d.ts} +2 -2
  201. package/dist/providers/{tithely.js → tithely/index.js} +60 -91
  202. package/dist/providers/tithely/skill.generated.js +8 -0
  203. package/dist/providers/{vercel.d.ts → vercel/index.d.ts} +8 -8
  204. package/dist/providers/vercel/index.js +1038 -0
  205. package/dist/providers/vercel/mcp-ownership.js +212 -0
  206. package/dist/providers/vercel/skill.generated.js +11 -0
  207. package/dist/registry.d.ts +110 -171
  208. package/dist/registry.js +588 -927
  209. package/dist/request-state.js +21 -0
  210. package/dist/resource-read.js +103 -0
  211. package/dist/result-shapes.js +17 -49
  212. package/dist/retired-toolkits.js +1 -1
  213. package/dist/routes/access-tokens.js +3 -6
  214. package/dist/routes/activity-context.js +21 -0
  215. package/dist/routes/activity-disclosure.js +40 -0
  216. package/dist/routes/activity.js +59 -21
  217. package/dist/routes/actor-labels.js +3 -50
  218. package/dist/routes/connect.js +221 -0
  219. package/dist/routes/credentials.js +15 -27
  220. package/dist/routes/mcp.js +365 -130
  221. package/dist/routes/oauth-client-metadata.js +15 -0
  222. package/dist/routes/oauth-management.js +45 -107
  223. package/dist/routes/oauth.js +110 -57
  224. package/dist/routes/operator.js +3 -3
  225. package/dist/routes/shared.d.ts +25 -64
  226. package/dist/routes/shared.js +160 -80
  227. package/dist/routes/skills.js +30 -0
  228. package/dist/routes/ui-config.js +225 -0
  229. package/dist/routes/ui-data.js +40 -35
  230. package/dist/routes/ui.js +66 -56
  231. package/dist/runtime/admission.js +4 -2
  232. package/dist/runtime/call-admission.js +3 -1
  233. package/dist/runtime/connector-scope.js +1 -4
  234. package/dist/runtime/run.js +10 -39
  235. package/dist/runtime/services.js +12 -117
  236. package/dist/runtime/shared-read.js +1 -3
  237. package/dist/runtime/storage.js +8 -1
  238. package/dist/sent-secrets.d.ts +93 -0
  239. package/dist/sent-secrets.js +1013 -0
  240. package/dist/server.js +28 -71
  241. package/dist/skills.js +416 -174
  242. package/dist/sqlite.d.ts +48 -0
  243. package/dist/sqlite.js +181 -0
  244. package/dist/storage/keys.js +443 -0
  245. package/dist/storage/memory.js +16 -4
  246. package/dist/storage/sql.d.ts +66 -0
  247. package/dist/storage/sql.js +543 -0
  248. package/dist/timeout.js +4 -2
  249. package/dist/tool-name.js +17 -0
  250. package/dist/tool-safety.d.ts +9 -35
  251. package/dist/tool-safety.js +20 -40
  252. package/dist/types.d.ts +336 -56
  253. package/dist/types.js +0 -1
  254. package/dist/ui.d.ts +7 -19
  255. package/dist/ui.js +76 -90
  256. package/dist/url-safety.js +3 -6
  257. package/dist/usage-guide.js +146 -0
  258. package/dist/validate.d.ts +7 -0
  259. package/dist/validate.js +309 -47
  260. package/dist/version.d.ts +1 -7
  261. package/dist/version.js +3 -7
  262. package/dist/worker.d.ts +11 -0
  263. package/dist/worker.js +435 -0
  264. package/documentation/README.md +63 -0
  265. package/documentation/architecture.md +696 -231
  266. package/documentation/auth.md +1069 -546
  267. package/documentation/code-mode.md +662 -356
  268. package/documentation/deploying.md +146 -0
  269. package/documentation/integrating.md +159 -0
  270. package/documentation/meta-tools.md +570 -216
  271. package/documentation/operating.md +135 -0
  272. package/documentation/operator-tests.md +97 -0
  273. package/documentation/operator-ui.md +132 -0
  274. package/documentation/provider-migration-0.29.md +65 -0
  275. package/examples/worker/AGENTS.md +34 -12
  276. package/examples/worker/README.md +293 -255
  277. package/examples/worker/kv-to-d1.wrangler.jsonc +26 -0
  278. package/examples/worker/scripts/copy-kv-to-d1.mjs +162 -0
  279. package/examples/worker/src/connecta.config.ts +151 -0
  280. package/examples/worker/src/index.ts +14 -197
  281. package/examples/worker/wrangler.jsonc +15 -35
  282. package/package.json +126 -54
  283. package/templates/node/.dockerignore +1 -2
  284. package/templates/node/.env.example +20 -21
  285. package/templates/node/AGENTS.md +21 -17
  286. package/templates/node/Dockerfile +3 -5
  287. package/templates/node/README.md +140 -58
  288. package/templates/node/docker-compose.yml +11 -12
  289. package/templates/node/package.json +4 -2
  290. package/templates/node/src/connecta.config.ts +119 -0
  291. package/templates/node/src/index.ts +9 -154
  292. package/templates/node/src/provision-token.ts +17 -0
  293. package/AGENTS.md +0 -170
  294. package/dist/artifacts/connector.d.ts +0 -58
  295. package/dist/artifacts/connector.js +0 -730
  296. package/dist/artifacts/document.js +0 -86
  297. package/dist/artifacts/guide.js +0 -140
  298. package/dist/artifacts/html-scan.js +0 -329
  299. package/dist/artifacts/json.js +0 -78
  300. package/dist/artifacts/kv-store.d.ts +0 -20
  301. package/dist/artifacts/kv-store.js +0 -140
  302. package/dist/artifacts/markdown.js +0 -478
  303. package/dist/artifacts/module.d.ts +0 -37
  304. package/dist/artifacts/module.js +0 -66
  305. package/dist/artifacts/operations.d.ts +0 -197
  306. package/dist/artifacts/operations.js +0 -1002
  307. package/dist/artifacts/refresh.d.ts +0 -55
  308. package/dist/artifacts/refresh.js +0 -236
  309. package/dist/artifacts/routes.js +0 -206
  310. package/dist/artifacts/types.d.ts +0 -214
  311. package/dist/artifacts/types.js +0 -22
  312. package/dist/artifacts/validate.d.ts +0 -62
  313. package/dist/artifacts/validate.js +0 -651
  314. package/dist/artifacts.d.ts +0 -6
  315. package/dist/artifacts.js +0 -9
  316. package/dist/auth/bearer.d.ts +0 -11
  317. package/dist/auth/bearer.js +0 -50
  318. package/dist/providers/basecamp.js +0 -445
  319. package/dist/providers/linear.js +0 -217
  320. package/dist/providers/mixpanel.js +0 -247
  321. package/dist/providers/revenuecat.js +0 -317
  322. package/dist/providers/stripe.js +0 -253
  323. package/dist/providers/vercel.js +0 -1253
  324. package/dist/storage/file.d.ts +0 -15
  325. package/dist/storage/file.js +0 -455
  326. package/ethos.md +0 -93
  327. package/examples/worker/src/cloudflare-kv.ts +0 -43
  328. package/examples/worker/src/d1-activity-row.ts +0 -155
  329. package/examples/worker/src/d1-activity.ts +0 -147
  330. package/examples/worker/src/d1-storage.ts +0 -138
  331. package/examples/worker/src/r2-artifact-blobs.ts +0 -29
  332. package/templates/node/src/file-activity.ts +0 -182
@@ -0,0 +1,212 @@
1
+ // Reviewed 2026-10-08 against the 28 published MCP categories (213 names)
2
+ // linked from https://vercel.com/docs/agent-resources/vercel-mcp/tools and
3
+ // https://openapi.vercel.sh/ (SHA-256: 2d5dd6a91e9df8280bb1c4ef2b1ec045498e28667b7e9a164bedd01a92093028).
4
+ // These are routing ownership facts, not schemas or annotation baselines.
5
+ // Exact operationId matches plus reviewed list/get aliases establish the
6
+ // published hosted counterpart. The four value-unsafe project-env MCP tools
7
+ // are excluded: the authored API owns those operations. Tools outside the
8
+ // reviewed classifier still receive the registry's fail-closed classification.
9
+ export const HOSTED_REST_OPERATIONS = [
10
+ ["GET", "/v1/query/web-analytics/events/aggregate", "aggregate_events"],
11
+ ["GET", "/v1/query/web-analytics/visits/aggregate", "aggregate_pageviews"],
12
+ ["POST", "/v1/edge-cache/invalidate-by-src-images", "invalidate_by_src_images"],
13
+ ["GET", "/v1/query/web-analytics/events/count", "count_events"],
14
+ ["GET", "/v1/query/web-analytics/visits/count", "count_pageviews"],
15
+ ["GET", "/v1/security/firewall/attack-status", "get_active_attack_status"],
16
+ ["POST", "/v1/registrar/domains/availability", "get_bulk_availability"],
17
+ ["GET", "/ai-gateway/virtual-model-configs", "get_ai_gateway_virtual_model_config"],
18
+ ["POST", "/v1/edge-cache/invalidate-by-tags", "invalidate_by_tags"],
19
+ ["GET", "/v1/billing/contract-commitments", "list_contract_commitments"],
20
+ ["GET", "/v1/integrations/configurations", "list_integration_configurations"],
21
+ ["GET", "/v1/integrations/search-repo", "search_repo"],
22
+ ["GET", "/v1/registrar/tlds/supported", "list_supported_tlds"],
23
+ ["GET", "/v1/security/firewall/bypass", "get_bypass_ip"],
24
+ ["PATCH", "/v1/security/firewall/config", "update_firewall_config"],
25
+ ["PUT", "/v1/security/firewall/config", "put_firewall_config"],
26
+ ["GET", "/v1/bulk-redirects/versions", "list_bulk_redirect_versions"],
27
+ ["POST", "/v1/bulk-redirects/versions", "update_version"],
28
+ ["POST", "/v1/integrations/sso/token", "exchange_sso_token"],
29
+ ["POST", "/v1/registrar/domains/buy", "buy_domains"],
30
+ ["GET", "/v2/observability/schema", "get_observability_schema"],
31
+ ["POST", "/v1/security/attack-mode", "update_attack_challenge_mode"],
32
+ ["GET", "/v2/sandboxes/snapshots", "list_session_snapshots"],
33
+ ["POST", "/v2/observability/query", "create_observability_query"],
34
+ ["GET", "/v2/sandboxes/sessions", "list_sessions"],
35
+ ["POST", "/v1/connect/connectors", "create_connector"],
36
+ ["GET", "/v8/artifacts/status", "status"],
37
+ ["POST", "/storage/stores/blob", "create_storage_stores_blob"],
38
+ ["POST", "/v8/artifacts/events", "record_events"],
39
+ ["GET", "/v1/billing/charges", "list_billing_charges"],
40
+ ["GET", "/v1/projects/traces", "get_project_trace"],
41
+ ["GET", "/v1/bulk-redirects", "list_bulk_redirects"],
42
+ ["PUT", "/v1/bulk-redirects", "stage_redirects"],
43
+ ["GET", "/v1/events/types", "list_event_types"],
44
+ ["POST", "/v13/deployments", "create_deployment"],
45
+ ["GET", "/v7/deployments", "list_deployments"],
46
+ ["POST", "/v1/billing/buy", "buy_credits"],
47
+ ["POST", "/v1/drains/test", "test_drain"],
48
+ ["GET", "/v10/projects", "list_projects"],
49
+ ["GET", "/v2/sandboxes", "list_sandboxes"],
50
+ ["POST", "/v11/projects", "create_project"],
51
+ ["POST", "/v2/sandboxes", "create_sandboxes_v2"],
52
+ ["POST", "/v3/sandboxes", "create_sandboxes_v3"],
53
+ ["POST", "/v4/sandboxes", "create_sandboxes_v4"],
54
+ ["POST", "/v8/artifacts", "artifact_query"],
55
+ ["GET", "/v4/aliases", "list_aliases"],
56
+ ["GET", "/v5/domains", "list_domains"],
57
+ ["POST", "/v7/domains", "create_or_transfer_domain"],
58
+ ["GET", "/v1/drains", "list_drains"],
59
+ ["GET", "/v3/events", "list_user_events"],
60
+ ["POST", "/v1/drains", "create_drain"],
61
+ ["GET", "/v2/teams", "list_teams"],
62
+ ["GET", "/v8/certs", "list_certs"],
63
+ ["POST", "/api-keys", "create_api_keys"],
64
+ ["POST", "/v2/files", "upload_file"],
65
+ ["POST", "/v8/certs", "issue_cert"],
66
+ ["PUT", "/v8/certs", "upload_cert"],
67
+ ["GET", "/v2/user", "get_auth_user"],
68
+ ["PATCH", "/v1/env", "update_shared_env_variable"],
69
+ [
70
+ "GET",
71
+ "/v1/microfrontends/projects/{projectIdOrName}/production-mfe-config",
72
+ "get_microfrontends_config_for_project",
73
+ ],
74
+ ["GET", "/v1/projects/{projectIdOrName}/feature-flags/sdk-keys", "list_feature_flag_sdk_keys"],
75
+ ["GET", "/v1/projects/{projectIdOrName}/feature-flags/settings", "get_flag_settings"],
76
+ ["PATCH", "/v1/projects/{projectIdOrName}/feature-flags/settings", "update_flag_settings"],
77
+ ["POST", "/v1/projects/{idOrName}/rolling-release/approve-stage", "approve_rolling_release_stage"],
78
+ ["PUT", "/v1/projects/{projectIdOrName}/feature-flags/sdk-keys", "create_sdk_key"],
79
+ ["GET", "/v1/registrar/domains/{domain}/contact-verification", "get_domain_contact_verification"],
80
+ ["GET", "/v1/projects/{projectIdOrName}/feature-flags/flags", "list_flags"],
81
+ ["GET", "/v1/registrar/domains/{domain}/contact-info/schema", "get_contact_info_schema"],
82
+ ["GET", "/v2/projects/{projectIdOrName}/feature-flags/flags", "list_flags_v2"],
83
+ ["PUT", "/v1/projects/{projectIdOrName}/feature-flags/flags", "create_flag"],
84
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/extend-timeout", "extend_session_timeout"],
85
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/network-policy", "update_session_network_policy"],
86
+ ["POST", "/v1/projects/{idOrName}/rolling-release/complete", "complete_rolling_release"],
87
+ ["GET", "/v1/projects/{idOrName}/rolling-release/billing", "get_rolling_release_billing_status"],
88
+ ["GET", "/v1/projects/{idOrName}/rolling-release/config", "get_rolling_release_config"],
89
+ ["PATCH", "/v1/projects/{idOrName}/rolling-release/config", "update_rolling_release_config"],
90
+ ["POST", "/v1/projects/{idOrName}/rolling-release/start", "start_rolling_release"],
91
+ ["GET", "/v1/integrations/configuration/{id}/products", "list_integration_configuration_products"],
92
+ ["GET", "/v1/microfrontends/groups/{groupId}/projects", "list_microfrontends_group_projects"],
93
+ ["GET", "/v1/security/firewall/config/{configVersion}", "get_firewall_config"],
94
+ ["GET", "/v1/registrar/domains/{domain}/availability", "get_domain_availability"],
95
+ ["GET", "/v9/projects/{idOrName}/custom-environments", "list_project_custom_environments"],
96
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/fs/mkdir", "create_session_directory"],
97
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/fs/write", "write_session_files"],
98
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/snapshot", "create_sandboxes_sessions_by_session_id_snapshot_v2"],
99
+ ["POST", "/v3/sandboxes/sessions/{sessionId}/snapshot", "create_sandboxes_sessions_by_session_id_snapshot_v3"],
100
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/fs/read", "read_session_file"],
101
+ ["PATCH", "/v1/projects/{idOrName}/protection-bypass", "update_project_protection_bypass"],
102
+ ["POST", "/v2/deployments/{deploymentId}/check-runs", "create_deployment_check_run"],
103
+ ["GET", "/v1/microfrontends/{deploymentId}/config", "get_microfrontends_config"],
104
+ ["GET", "/v1/projects/{projectId}/promote/aliases", "list_promote_aliases"],
105
+ ["GET", "/v1/projects/{projectId}/routes/versions", "list_project_route_versions"],
106
+ ["POST", "/v1/projects/{projectId}/routes/generate", "generate_route"],
107
+ ["POST", "/v1/projects/{projectId}/routes/versions", "update_route_versions"],
108
+ ["GET", "/v1/projects/{idOrName}/rolling-release", "get_rolling_release"],
109
+ ["POST", "/v1/global-config/{edgeConfigId}/schema", "patch_edge_config_schema"],
110
+ ["POST", "/v1/kms/issuers/{issuerId}/sign/message", "sign_kms_message"],
111
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/stop", "stop_session"],
112
+ ["GET", "/v2/sandboxes/sessions/{sessionId}/cmd", "list_session_commands"],
113
+ ["PATCH", "/v1/global-config/{edgeConfigId}/items", "patch_edge_config_items"],
114
+ ["POST", "/v1/global-config/{edgeConfigId}/token", "create_edge_config_token"],
115
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/cmd", "run_session_command"],
116
+ ["GET", "/v1/access-groups/{idOrName}/projects", "list_access_group_projects"],
117
+ ["POST", "/v1/deployments/{deploymentId}/checks", "create_check"],
118
+ ["POST", "/v1/kms/issuers/{issuerId}/sign/token", "sign_kms_token"],
119
+ ["POST", "/v1/teams/{teamId}/members/teams/join", "join_team"],
120
+ ["GET", "/v1/access-groups/{idOrName}/members", "list_access_group_members"],
121
+ ["GET", "/v1/registrar/domains/{domain}/price", "get_domain_price"],
122
+ ["GET", "/v2/sandboxes/snapshots/{snapshotId}", "get_session_snapshot"],
123
+ ["GET", "/v1/integrations/configuration/{id}", "get_configuration"],
124
+ ["POST", "/v1/kms/issuers/{issuerId}/policies", "create_kms_issuer_policy"],
125
+ ["GET", "/v2/sandboxes/sessions/{sessionId}", "get_session"],
126
+ ["POST", "/v1/registrar/domains/{domain}/buy", "buy_single_domain"],
127
+ ["PUT", "/projects/transfer-request/{code}", "accept_project_transfer_request"],
128
+ ["GET", "/v1/connect/networks/{networkId}", "read_network"],
129
+ ["GET", "/v3/deployments/{idOrUrl}/events", "list_deployment_events"],
130
+ ["PATCH", "/v1/connect/networks/{networkId}", "update_network"],
131
+ ["POST", "/v1/projects/{projectId}/unpause", "unpause_project"],
132
+ ["POST", "/v10/projects/{idOrName}/domains", "add_project_domain"],
133
+ ["PUT", "/v1/global-config/{edgeConfigId}", "update_edge_config"],
134
+ ["GET", "/v1/projects/{projectId}/routes", "list_project_routes"],
135
+ ["GET", "/v9/projects/{idOrName}/domains", "list_project_domains"],
136
+ ["PATCH", "/aliases/{id}/protection-bypass", "patch_url_protection_bypass"],
137
+ ["POST", "/v1/kms/issuers/{issuerId}/keys", "create_kms_signing_key"],
138
+ ["POST", "/v1/projects/{projectId}/routes", "add_route"],
139
+ ["PUT", "/v1/projects/{projectId}/routes", "stage_routes"],
140
+ ["GET", "/v1/registrar/orders/{orderId}", "get_order"],
141
+ ["GET", "/v1/registrar/tlds/{tld}/price", "get_tld_price"],
142
+ ["PATCH", "/v1/domains/records/{recordId}", "update_record"],
143
+ ["POST", "/v1/projects/{projectId}/pause", "pause_project"],
144
+ ["POST", "/v1/projects/{idOrName}/token", "get_project_token"],
145
+ ["GET", "/v1/access-groups/{idOrName}", "read_access_group"],
146
+ ["GET", "/v2/deployments/{id}/aliases", "list_deployment_aliases"],
147
+ ["PATCH", "/v12/deployments/{id}/cancel", "cancel_deployment"],
148
+ ["POST", "/v2/deployments/{id}/aliases", "assign_alias"],
149
+ ["GET", "/domains/records/{recordId}", "get_domains_records_by_record_id"],
150
+ ["GET", "/v1/kms/issuers/{issuerId}", "get_kms_issuer"],
151
+ ["GET", "/v13/deployments/{idOrUrl}", "get_deployment"],
152
+ ["GET", "/v3/teams/{teamId}/members", "list_team_members"],
153
+ ["GET", "/v6/deployments/{id}/files", "list_deployment_files"],
154
+ ["PATCH", "/v1/kms/issuers/{issuerId}", "update_kms_issuer"],
155
+ ["GET", "/v5/user/tokens/{tokenId}", "get_auth_token"],
156
+ ["PUT", "/domains/{domain}/records", "replace_domains_by_domain_records"],
157
+ ["GET", "/v1/registrar/tlds/{tld}", "get_tld"],
158
+ ["GET", "/v9/projects/{idOrName}", "get_project"],
159
+ ["PATCH", "/v9/projects/{idOrName}", "update_project"],
160
+ ["GET", "/storage/stores/{id}", "get_storage_stores_by_id"],
161
+ ["GET", "/v2/sandboxes/{name}", "get_named_sandbox"],
162
+ ["PATCH", "/v2/sandboxes/{name}", "update_sandbox"],
163
+ ["PUT", "/v8/artifacts/{hash}", "upload_artifact"],
164
+ ["GET", "/v2/teams/{teamId}", "get_team"],
165
+ ["GET", "/v1/webhooks/{id}", "get_webhook"],
166
+ ["GET", "/v1/drains/{id}", "get_drain"],
167
+ ["PATCH", "/v1/drains/{id}", "update_drain"],
168
+ ["GET", "/v1/env/{id}", "get_shared_env_var"],
169
+ [
170
+ "GET",
171
+ "/v1/integrations/integration/{integrationIdOrSlug}/products/{productIdOrSlug}/plans",
172
+ "list_integration_billing_plans",
173
+ ],
174
+ [
175
+ "POST",
176
+ "/v1/global-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}/restore",
177
+ "restore_edge_config_backup",
178
+ ],
179
+ ["GET", "/v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug}", "get_flag_segment"],
180
+ ["PATCH", "/v1/projects/{projectIdOrName}/feature-flags/segments/{segmentIdOrSlug}", "update_flag_segment"],
181
+ ["GET", "/v1/global-config/{edgeConfigId}/backups/{edgeConfigBackupVersionId}", "get_edge_config_backup"],
182
+ ["GET", "/v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}", "get_flag"],
183
+ ["GET", "/v9/projects/{idOrName}/custom-environments/{environmentSlugOrId}", "get_custom_environment"],
184
+ ["PATCH", "/v1/projects/{projectIdOrName}/feature-flags/flags/{flagIdOrSlug}", "update_flag"],
185
+ ["GET", "/v1/projects/{projectId}/deployments/{deploymentId}/runtime-logs", "get_runtime_logs"],
186
+ ["GET", "/v1/access-groups/{accessGroupIdOrName}/projects/{projectId}", "read_access_group_project"],
187
+ ["POST", "/v1/deployments/{deploymentId}/checks/{checkId}/rerequest", "rerequest_check"],
188
+ ["GET", "/v2/deployments/{deploymentId}/check-runs/{checkRunId}", "get_deployment_check_run"],
189
+ ["PATCH", "/v2/deployments/{deploymentId}/check-runs/{checkRunId}", "update_deployment_check_run"],
190
+ ["GET", "/v2/projects/{projectIdOrName}/checks/{checkId}/runs", "list_check_runs"],
191
+ ["GET", "/v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}/logs", "get_session_command_logs"],
192
+ ["POST", "/v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}/kill", "kill_session_command"],
193
+ ["POST", "/v1/kms/issuers/{issuerId}/keys/{keyId}/activate", "activate_kms_signing_key"],
194
+ ["POST", "/v1/projects/{projectId}/rollback/{deploymentId}", "request_rollback"],
195
+ ["POST", "/v10/projects/{projectId}/promote/{deploymentId}", "request_promote"],
196
+ ["GET", "/v1/deployments/{deploymentId}/checks/{checkId}", "get_check"],
197
+ ["GET", "/v2/projects/{projectIdOrName}/checks/{checkId}", "get_project_check"],
198
+ ["PATCH", "/v1/deployments/{deploymentId}/checks/{checkId}", "update_check"],
199
+ ["PATCH", "/v2/projects/{projectIdOrName}/checks/{checkId}", "update_project_check"],
200
+ ["GET", "/v1/global-config/{edgeConfigId}/token/{token}", "get_edge_config_token"],
201
+ ["GET", "/v2/sandboxes/sessions/{sessionId}/cmd/{cmdId}", "get_session_command"],
202
+ ["POST", "/v1/kms/issuers/{issuerId}/keys/{keyId}/revoke", "revoke_kms_signing_key"],
203
+ ["PATCH", "/v1/projects/{projectId}/routes/{routeId}", "edit_route"],
204
+ ["GET", "/v1/teams/{teamId}/request/{userId}", "get_team_access_request"],
205
+ ["GET", "/v8/deployments/{id}/files/{fileId}", "get_deployment_file_contents"],
206
+ ["PATCH", "/v1/kms/issuers/{issuerId}/policies/{kind}/{policyKey}", "update_kms_issuer_policy"],
207
+ ];
208
+ // OpenAPI listDrives is not in the published MCP categories. This concrete
209
+ // route must resolve before get_named_sandbox's wildcard name parameter.
210
+ export const UNCOVERED_REST_OPERATIONS = [
211
+ ["GET", "/v2/sandboxes/drives"],
212
+ ];
@@ -0,0 +1,11 @@
1
+ // Generated by scripts/generate-providers.mjs; do not edit.
2
+ export const skill = {
3
+ "content": "`. Every named account-scoped tool accepts a `teamId` override; pass `null` to target the token owner's personal account.\n## REST complement routing\n\nHosted MCP is the default. Configure this complement with `surface: \"api\"`\nand a separate connector id and access-token credential. OAuth and API-token\nstores are independent; failures never switch identity or replay a write.\nTeam defaults route calls and do not constrain the token's permissions.\n\nUse hosted `list_teams`, `list_projects`, `get_project`, `list_deployments`,\n`get_deployment`, `get_deployment_build_logs` or `list_deployment_events`,\n`get_runtime_logs`, `list_project_domains`, `add_project_domain`, and\n`cancel_deployment` for the corresponding operations. Follow their live schemas,\nnot the removed REST argument shapes. Read deployment status before logs and\nnarrow log windows.\n\nThis complement retains `verify_project_domain`, `remove_project_domain`,\nand `delete_deployment` because the reviewed category\npages do not publish equivalent tools. Hosted `request_promote` moves an existing\nbuild to production and does not rebuild it (the rolling-releases category\nprovides the equivalent that the deployments category does not list). New deployments use hosted\n`create_deployment` or `deploy_to_vercel`.\n\n## Environment values\n\n`list_project_env_vars` never decrypts or returns values. Set `upsert: false` on\n`upsert_project_env_var` for create-only writes that refuse to overwrite. `upsert_project_env_var`,\n`update_project_env_var`, and `delete_project_env_var` return metadata without\nvalues. Create/update values are write input only. The hosted connector excludes\n`filter_project_envs`, `get_project_env`, `create_project_env`, and\n`edit_project_env`, whose published contracts lack these response protections.\nEnvironment changes apply to future deployments.\n\n## REST gaps and uploads\n\n`vercel_api_get` and `vercel_api_mutate` reach uncovered endpoints. They refuse\npaths owned by the canonical hosted or value-safe named tools, including\nproject creation/update, pause/unpause and protection bypass. Ownership covers\nthe published tool categories, not just the old reviewed classifier names;\nunreviewed live tools remain fail-closed writes. Do not use a\nraw hatch to restore a removed duplicate. `upload_file` on MCP owns deployment\nfile uploads; `vercel_api_upload` retains other raw-body endpoints and explicit\nheaders. It never reads a local file. Paths include the API version and cannot\nbe absolute URLs. Query parameters are name/value pairs; `personalAccount: true`\nomits this connection's default team. Rate-limit failures carry vendor retry timing.\n# Vercel MCP usage\n\nOfficial MCP surface: tool names, descriptions, argument schemas, and result\nschemas come from Vercel's live server. Connecta preserves retained vendor contracts and\napplies release-reviewed classification. Reviewed writes stay writes even when Vercel claims they only read.\n\nAccount purpose: \n\n- Hosted MCP owns discovery, deployments, logs, project-domain listing/adding,\n cancellation and file uploads. Use the separately configured REST complement\n for value-safe project environment variables, uncovered lifecycle/domain\n operations and REST gaps. It has its own connector id and credential.\n- Discover the live catalog before assuming a tool exists. Vercel can change\n the surface independently of a Connecta release, and account features may\n affect what the authorization can reach.\n- Complete authorization and grant access to the owning team before acting. Listing this server does not prove team access. A configured API `teamId` is a routing default, not an authorization boundary.\n- MCP pagination and arguments follow the live MCP schemas; do not apply API pagination or argument shapes to them.\n- Resolve team, project, deployment, run, thread, and order ids with the list\n and get tools. Do not guess opaque ids.\n- Diagnose deployments with `get_deployment`, then build logs, runtime error\n clusters, and runtime logs. Narrow time windows before raising result limits.\n- Purchase tools change billing. Read a quote first and carry its price,\n idempotency key, and requested term into the confirmed purchase unchanged.\n- `get_access_to_vercel_url` creates a temporary access grant. Treat the URL\n it returns as a credential and do not expose it outside the requested task.\n- `deploy_to_vercel` and `import-claude-design-from-url` can create or update\n live projects. Read the target and deployment mode before invoking them.\n- An `auth_required` failure means this connector's OAuth grant is missing or\n expired. Run `authorize_connector` for this connector id, then retry.\n",
4
+ "instructionsHeading": "Account instructions",
5
+ "fragments": {
6
+ "guide_0": "`. Every named account-scoped tool accepts a `teamId` override; pass `null` to target the token owner's personal account.",
7
+ "guide_1": "\n## REST complement routing\n\nHosted MCP is the default. Configure this complement with `surface: \"api\"`\nand a separate connector id and access-token credential. OAuth and API-token\nstores are independent; failures never switch identity or replay a write.\nTeam defaults route calls and do not constrain the token's permissions.\n\nUse hosted `list_teams`, `list_projects`, `get_project`, `list_deployments`,\n`get_deployment`, `get_deployment_build_logs` or `list_deployment_events`,\n`get_runtime_logs`, `list_project_domains`, `add_project_domain`, and\n`cancel_deployment` for the corresponding operations. Follow their live schemas,\nnot the removed REST argument shapes. Read deployment status before logs and\nnarrow log windows.\n\nThis complement retains `verify_project_domain`, `remove_project_domain`,\nand `delete_deployment` because the reviewed category\npages do not publish equivalent tools. Hosted `request_promote` moves an existing\nbuild to production and does not rebuild it (the rolling-releases category\nprovides the equivalent that the deployments category does not list). New deployments use hosted\n`create_deployment` or `deploy_to_vercel`.\n\n## Environment values\n\n`list_project_env_vars` never decrypts or returns values. Set `upsert: false` on\n`upsert_project_env_var` for create-only writes that refuse to overwrite. `upsert_project_env_var`,\n`update_project_env_var`, and `delete_project_env_var` return metadata without\nvalues. Create/update values are write input only. The hosted connector excludes\n`filter_project_envs`, `get_project_env`, `create_project_env`, and\n`edit_project_env`, whose published contracts lack these response protections.\nEnvironment changes apply to future deployments.\n\n## REST gaps and uploads\n\n`vercel_api_get` and `vercel_api_mutate` reach uncovered endpoints. They refuse\npaths owned by the canonical hosted or value-safe named tools, including\nproject creation/update, pause/unpause and protection bypass. Ownership covers\nthe published tool categories, not just the old reviewed classifier names;\nunreviewed live tools remain fail-closed writes. Do not use a\nraw hatch to restore a removed duplicate. `upload_file` on MCP owns deployment\nfile uploads; `vercel_api_upload` retains other raw-body endpoints and explicit\nheaders. It never reads a local file. Paths include the API version and cannot\nbe absolute URLs. Query parameters are name/value pairs; `personalAccount: true`\nomits this connection's default team. Rate-limit failures carry vendor retry timing.\n",
8
+ "guide_2": "# Vercel MCP usage\n\nOfficial MCP surface: tool names, descriptions, argument schemas, and result\nschemas come from Vercel's live server. Connecta preserves retained vendor contracts and\napplies release-reviewed classification. Reviewed writes stay writes even when Vercel claims they only read.\n\nAccount purpose: ",
9
+ "guide_3": "\n\n- Hosted MCP owns discovery, deployments, logs, project-domain listing/adding,\n cancellation and file uploads. Use the separately configured REST complement\n for value-safe project environment variables, uncovered lifecycle/domain\n operations and REST gaps. It has its own connector id and credential.\n- Discover the live catalog before assuming a tool exists. Vercel can change\n the surface independently of a Connecta release, and account features may\n affect what the authorization can reach.\n- Complete authorization and grant access to the owning team before acting. Listing this server does not prove team access. A configured API `teamId` is a routing default, not an authorization boundary.\n- MCP pagination and arguments follow the live MCP schemas; do not apply API pagination or argument shapes to them.\n- Resolve team, project, deployment, run, thread, and order ids with the list\n and get tools. Do not guess opaque ids.\n- Diagnose deployments with `get_deployment`, then build logs, runtime error\n clusters, and runtime logs. Narrow time windows before raising result limits.\n- Purchase tools change billing. Read a quote first and carry its price,\n idempotency key, and requested term into the confirmed purchase unchanged.\n- `get_access_to_vercel_url` creates a temporary access grant. Treat the URL\n it returns as a credential and do not expose it outside the requested task.\n- `deploy_to_vercel` and `import-claude-design-from-url` can create or update\n live projects. Read the target and deployment mode before invoking them.\n- An `auth_required` failure means this connector's OAuth grant is missing or\n expired. Run `authorize_connector` for this connector id, then retry.\n"
10
+ }
11
+ };