@zackbart/connecta 0.28.1 → 0.29.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 (319) hide show
  1. package/CHANGELOG.md +788 -5
  2. package/README.md +62 -42
  3. package/bin/connecta.mjs +110 -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/auth/clerk-sdk/client.d.ts +65 -0
  12. package/dist/auth/clerk-sdk/client.js +5 -0
  13. package/dist/auth/clerk-sdk/generated.js +1845 -0
  14. package/dist/auth/clerk-transport.js +19 -0
  15. package/dist/auth/clerk.d.ts +17 -7
  16. package/dist/auth/clerk.js +189 -107
  17. package/dist/auth/cloudflare-access.js +25 -26
  18. package/dist/auth/downstream-client-metadata.d.ts +29 -0
  19. package/dist/auth/downstream-client-metadata.js +133 -0
  20. package/dist/auth/downstream-oauth.js +1584 -1580
  21. package/dist/auth/downstream-revocation.js +106 -0
  22. package/dist/auth/oauth-token-response.js +231 -0
  23. package/dist/auth/oauth-v2-migration.js +116 -0
  24. package/dist/auth/static-oauth.js +93 -71
  25. package/dist/auth-elicitation.js +283 -0
  26. package/dist/branding.d.ts +8 -16
  27. package/dist/branding.js +26 -59
  28. package/dist/byte-read-response.js +39 -0
  29. package/dist/call-admission.js +12 -16
  30. package/dist/catalog-cache.js +739 -0
  31. package/dist/catalog-drift.d.ts +50 -15
  32. package/dist/catalog-drift.js +365 -128
  33. package/dist/catalog-fingerprint.js +2 -4
  34. package/dist/catalog-freshness.js +13 -0
  35. package/dist/catalog-limits.js +2 -2
  36. package/dist/catalog-service.js +368 -224
  37. package/dist/catalog.js +43 -84
  38. package/dist/concurrency.js +3 -4
  39. package/dist/config-defaults.d.ts +39 -0
  40. package/dist/config-defaults.js +46 -0
  41. package/dist/config-schema.d.ts +181 -0
  42. package/dist/config-schema.js +435 -0
  43. package/dist/config-value-sources.js +102 -0
  44. package/dist/config.d.ts +631 -0
  45. package/dist/config.js +503 -0
  46. package/dist/connector-access.d.ts +1 -0
  47. package/dist/connector-access.js +13 -15
  48. package/dist/connector-caller.d.ts +8 -0
  49. package/dist/connector-caller.js +15 -6
  50. package/dist/connector-scope.js +1 -1
  51. package/dist/connectors/api-connector.d.ts +59 -7
  52. package/dist/connectors/api-connector.js +106 -19
  53. package/dist/connectors/api.js +4 -1
  54. package/dist/connectors/guarded-fetch.d.ts +144 -0
  55. package/dist/connectors/guarded-fetch.js +84 -35
  56. package/dist/connectors/negotiation-cache.js +46 -0
  57. package/dist/connectors/option-shapes.js +27 -0
  58. package/dist/connectors/remote-mcp.d.ts +30 -4
  59. package/dist/connectors/remote-mcp.js +1774 -320
  60. package/dist/connectors/resource-uri.js +335 -0
  61. package/dist/credential-contract.d.ts +10 -0
  62. package/dist/credential-rules.js +1 -3
  63. package/dist/credential-url.js +108 -0
  64. package/dist/credentials.d.ts +6 -1
  65. package/dist/credentials.js +27 -18
  66. package/dist/d1.d.ts +130 -0
  67. package/dist/d1.js +290 -0
  68. package/dist/describe-config.d.ts +165 -0
  69. package/dist/describe-config.js +315 -0
  70. package/dist/described.js +106 -0
  71. package/dist/downstream-input-context.js +119 -0
  72. package/dist/downstream-input.js +323 -0
  73. package/dist/errors.d.ts +97 -20
  74. package/dist/errors.js +158 -80
  75. package/dist/execute.js +453 -305
  76. package/dist/executor-admission.d.ts +1 -0
  77. package/dist/executor-admission.js +11 -15
  78. package/dist/executor-contract.d.ts +20 -0
  79. package/dist/executor-contract.js +48 -0
  80. package/dist/executor-result.js +24 -9
  81. package/dist/executors/quickjs-child.js +3 -4
  82. package/dist/executors/quickjs-runtime.js +147 -59
  83. package/dist/executors/quickjs.js +29 -35
  84. package/dist/favicon.js +1 -2
  85. package/dist/fix-prompt.js +1 -3
  86. package/dist/guest-runtime.js +188 -0
  87. package/dist/guest-types.d.ts +176 -0
  88. package/dist/guest-types.js +1 -0
  89. package/dist/html-security.js +24 -0
  90. package/dist/identity.js +1 -3
  91. package/dist/inbound-credential.js +52 -0
  92. package/dist/index.d.ts +24 -256
  93. package/dist/index.js +65 -478
  94. package/dist/invocation-auth.js +69 -0
  95. package/dist/invocation.js +230 -73
  96. package/dist/json-schema.d.ts +1 -1
  97. package/dist/mcp-client-context.js +35 -0
  98. package/dist/mcp-result.js +11 -7
  99. package/dist/meta-output.js +76 -0
  100. package/dist/meta-tool-names.d.ts +2 -0
  101. package/dist/meta-tool-names.js +3 -0
  102. package/dist/meta-tools.js +285 -209
  103. package/dist/module-contracts.d.ts +8 -23
  104. package/dist/node.d.ts +0 -2
  105. package/dist/node.js +2 -2
  106. package/dist/oauth-callback-outcome.js +1 -3
  107. package/dist/oauth-handoff.js +117 -0
  108. package/dist/oauth-sealing.js +20 -0
  109. package/dist/operator-record.d.ts +137 -0
  110. package/dist/operator-record.js +420 -0
  111. package/dist/operator-ui/assets.js +31 -0
  112. package/dist/operator-ui/contract.d.ts +72 -0
  113. package/dist/operator-ui/contract.js +1 -0
  114. package/dist/operator-ui/fix-prompts.d.ts +18 -0
  115. package/dist/operator-ui/generated.js +5 -4
  116. package/dist/operator-ui/model.d.ts +12 -87
  117. package/dist/operator-ui/model.js +2 -9
  118. package/dist/operator-ui/setup-commands.js +1 -3
  119. package/dist/operator-ui/view.d.ts +323 -0
  120. package/dist/operator-ui/view.js +62 -189
  121. package/dist/page-styles.js +2 -3
  122. package/dist/program-source.js +14 -2
  123. package/dist/{exempt-writes.js → program-writes.js} +55 -18
  124. package/dist/provider.d.ts +142 -0
  125. package/dist/provider.js +187 -0
  126. package/dist/providers/_shared/google/result-size.js +57 -0
  127. package/dist/providers/_shared/google/service-account.d.ts +58 -0
  128. package/dist/providers/_shared/google/service-account.js +500 -0
  129. package/dist/providers/_shared/google/workspace.d.ts +276 -0
  130. package/dist/providers/_shared/google/workspace.js +518 -0
  131. package/dist/providers/{basecamp.d.ts → basecamp/index.d.ts} +6 -28
  132. package/dist/providers/basecamp/index.js +997 -0
  133. package/dist/providers/basecamp/skill.generated.js +9 -0
  134. package/dist/providers/{breeze.d.ts → breeze/index.d.ts} +2 -2
  135. package/dist/providers/{breeze.js → breeze/index.js} +184 -140
  136. package/dist/providers/breeze/skill.generated.js +9 -0
  137. package/dist/providers/{ccb.d.ts → ccb/index.d.ts} +2 -2
  138. package/dist/providers/{ccb.js → ccb/index.js} +271 -116
  139. package/dist/providers/ccb/skill.generated.js +9 -0
  140. package/dist/providers/{cloudflare.d.ts → cloudflare/index.d.ts} +8 -7
  141. package/dist/providers/{cloudflare.js → cloudflare/index.js} +171 -738
  142. package/dist/providers/cloudflare/skill.generated.js +10 -0
  143. package/dist/providers/docs/index.d.ts +54 -0
  144. package/dist/providers/docs/index.js +1237 -0
  145. package/dist/providers/docs/skill.generated.js +9 -0
  146. package/dist/providers/drive/index.d.ts +53 -0
  147. package/dist/providers/drive/index.js +1523 -0
  148. package/dist/providers/drive/skill.generated.js +9 -0
  149. package/dist/providers/forms/index.d.ts +54 -0
  150. package/dist/providers/forms/index.js +1217 -0
  151. package/dist/providers/forms/skill.generated.js +11 -0
  152. package/dist/providers/github/auth.d.ts +32 -0
  153. package/dist/providers/github/auth.js +361 -0
  154. package/dist/providers/github/hosted.js +218 -0
  155. package/dist/providers/github/index.d.ts +13 -0
  156. package/dist/providers/github/index.js +140 -0
  157. package/dist/providers/github/key.js +100 -0
  158. package/dist/providers/github/rest.js +321 -0
  159. package/dist/providers/github/scope.d.ts +29 -0
  160. package/dist/providers/github/scope.js +124 -0
  161. package/dist/providers/github/skill.generated.js +8 -0
  162. package/dist/providers/gmail/index.d.ts +51 -0
  163. package/dist/providers/gmail/index.js +1436 -0
  164. package/dist/providers/gmail/skill.generated.js +9 -0
  165. package/dist/providers/{linear.d.ts → linear/index.d.ts} +11 -14
  166. package/dist/providers/linear/index.js +352 -0
  167. package/dist/providers/linear/skill.generated.js +8 -0
  168. package/dist/providers/{mixpanel.d.ts → mixpanel/index.d.ts} +5 -10
  169. package/dist/providers/mixpanel/index.js +416 -0
  170. package/dist/providers/mixpanel/skill.generated.js +9 -0
  171. package/dist/providers/{notion.d.ts → notion/index.d.ts} +8 -8
  172. package/dist/providers/{notion.js → notion/index.js} +226 -239
  173. package/dist/providers/notion/skill.generated.js +10 -0
  174. package/dist/providers/{overflow.d.ts → overflow/index.d.ts} +2 -2
  175. package/dist/providers/{overflow.js → overflow/index.js} +74 -111
  176. package/dist/providers/overflow/skill.generated.js +8 -0
  177. package/dist/providers/{planning-center.d.ts → planning-center/index.d.ts} +2 -2
  178. package/dist/providers/{planning-center.js → planning-center/index.js} +264 -104
  179. package/dist/providers/planning-center/skill.generated.js +10 -0
  180. package/dist/providers/{revenuecat.d.ts → revenuecat/index.d.ts} +5 -10
  181. package/dist/providers/revenuecat/index.js +557 -0
  182. package/dist/providers/revenuecat/skill.generated.js +11 -0
  183. package/dist/providers/sheets/index.d.ts +54 -0
  184. package/dist/providers/sheets/index.js +1237 -0
  185. package/dist/providers/sheets/skill.generated.js +10 -0
  186. package/dist/providers/slides/index.d.ts +53 -0
  187. package/dist/providers/slides/index.js +2645 -0
  188. package/dist/providers/slides/skill.generated.js +9 -0
  189. package/dist/providers/{stripe.d.ts → stripe/index.d.ts} +5 -12
  190. package/dist/providers/stripe/index.js +266 -0
  191. package/dist/providers/stripe/skill.generated.js +11 -0
  192. package/dist/providers/{tithely.d.ts → tithely/index.d.ts} +2 -2
  193. package/dist/providers/{tithely.js → tithely/index.js} +60 -91
  194. package/dist/providers/tithely/skill.generated.js +8 -0
  195. package/dist/providers/{vercel.d.ts → vercel/index.d.ts} +8 -8
  196. package/dist/providers/vercel/index.js +1038 -0
  197. package/dist/providers/vercel/mcp-ownership.js +212 -0
  198. package/dist/providers/vercel/skill.generated.js +11 -0
  199. package/dist/registry.d.ts +108 -171
  200. package/dist/registry.js +513 -925
  201. package/dist/request-state.js +21 -0
  202. package/dist/resource-read.js +100 -0
  203. package/dist/result-shapes.js +17 -49
  204. package/dist/retired-toolkits.js +1 -1
  205. package/dist/routes/access-tokens.js +3 -6
  206. package/dist/routes/activity-context.js +21 -0
  207. package/dist/routes/activity-disclosure.js +40 -0
  208. package/dist/routes/activity.js +59 -21
  209. package/dist/routes/actor-labels.js +3 -50
  210. package/dist/routes/connect.js +221 -0
  211. package/dist/routes/credentials.js +15 -27
  212. package/dist/routes/mcp.js +356 -130
  213. package/dist/routes/oauth-client-metadata.js +15 -0
  214. package/dist/routes/oauth-management.js +45 -107
  215. package/dist/routes/oauth.js +110 -57
  216. package/dist/routes/operator.js +3 -3
  217. package/dist/routes/shared.d.ts +25 -64
  218. package/dist/routes/shared.js +160 -80
  219. package/dist/routes/skills.js +30 -0
  220. package/dist/routes/ui-config.js +225 -0
  221. package/dist/routes/ui-data.js +40 -35
  222. package/dist/routes/ui.js +66 -56
  223. package/dist/runtime/admission.js +4 -2
  224. package/dist/runtime/call-admission.js +3 -1
  225. package/dist/runtime/connector-scope.js +1 -4
  226. package/dist/runtime/run.js +10 -39
  227. package/dist/runtime/services.js +12 -117
  228. package/dist/runtime/shared-read.js +1 -3
  229. package/dist/runtime/storage.js +8 -1
  230. package/dist/sent-secrets.d.ts +52 -0
  231. package/dist/sent-secrets.js +474 -0
  232. package/dist/server.js +28 -71
  233. package/dist/skills.js +406 -174
  234. package/dist/sqlite.d.ts +48 -0
  235. package/dist/sqlite.js +166 -0
  236. package/dist/storage/keys.js +428 -0
  237. package/dist/storage/memory.js +7 -0
  238. package/dist/storage/sql.d.ts +66 -0
  239. package/dist/storage/sql.js +534 -0
  240. package/dist/timeout.js +4 -2
  241. package/dist/tool-name.js +17 -0
  242. package/dist/tool-safety.d.ts +9 -35
  243. package/dist/tool-safety.js +20 -40
  244. package/dist/types.d.ts +320 -54
  245. package/dist/types.js +0 -1
  246. package/dist/ui.d.ts +7 -19
  247. package/dist/ui.js +76 -90
  248. package/dist/url-safety.js +3 -6
  249. package/dist/usage-guide.js +137 -0
  250. package/dist/validate.d.ts +7 -0
  251. package/dist/validate.js +309 -47
  252. package/dist/version.d.ts +1 -7
  253. package/dist/version.js +3 -7
  254. package/dist/worker.d.ts +11 -0
  255. package/dist/worker.js +434 -0
  256. package/documentation/architecture.md +664 -231
  257. package/documentation/auth.md +936 -546
  258. package/documentation/code-mode.md +501 -312
  259. package/documentation/meta-tools.md +449 -200
  260. package/documentation/operator-tests.md +93 -0
  261. package/documentation/provider-migration-0.29.md +60 -0
  262. package/examples/worker/AGENTS.md +34 -12
  263. package/examples/worker/README.md +286 -255
  264. package/examples/worker/kv-to-d1.wrangler.jsonc +26 -0
  265. package/examples/worker/scripts/copy-kv-to-d1.mjs +162 -0
  266. package/examples/worker/src/connecta.config.ts +151 -0
  267. package/examples/worker/src/index.ts +14 -197
  268. package/examples/worker/wrangler.jsonc +15 -35
  269. package/package.json +120 -54
  270. package/templates/node/.dockerignore +1 -2
  271. package/templates/node/.env.example +20 -21
  272. package/templates/node/AGENTS.md +21 -17
  273. package/templates/node/Dockerfile +3 -5
  274. package/templates/node/README.md +133 -58
  275. package/templates/node/docker-compose.yml +11 -12
  276. package/templates/node/package.json +4 -2
  277. package/templates/node/src/connecta.config.ts +119 -0
  278. package/templates/node/src/index.ts +9 -154
  279. package/templates/node/src/provision-token.ts +17 -0
  280. package/AGENTS.md +0 -170
  281. package/dist/artifacts/connector.d.ts +0 -58
  282. package/dist/artifacts/connector.js +0 -730
  283. package/dist/artifacts/document.js +0 -86
  284. package/dist/artifacts/guide.js +0 -140
  285. package/dist/artifacts/html-scan.js +0 -329
  286. package/dist/artifacts/json.js +0 -78
  287. package/dist/artifacts/kv-store.d.ts +0 -20
  288. package/dist/artifacts/kv-store.js +0 -140
  289. package/dist/artifacts/markdown.js +0 -478
  290. package/dist/artifacts/module.d.ts +0 -37
  291. package/dist/artifacts/module.js +0 -66
  292. package/dist/artifacts/operations.d.ts +0 -197
  293. package/dist/artifacts/operations.js +0 -1002
  294. package/dist/artifacts/refresh.d.ts +0 -55
  295. package/dist/artifacts/refresh.js +0 -236
  296. package/dist/artifacts/routes.js +0 -206
  297. package/dist/artifacts/types.d.ts +0 -214
  298. package/dist/artifacts/types.js +0 -22
  299. package/dist/artifacts/validate.d.ts +0 -62
  300. package/dist/artifacts/validate.js +0 -651
  301. package/dist/artifacts.d.ts +0 -6
  302. package/dist/artifacts.js +0 -9
  303. package/dist/auth/bearer.d.ts +0 -11
  304. package/dist/auth/bearer.js +0 -50
  305. package/dist/providers/basecamp.js +0 -445
  306. package/dist/providers/linear.js +0 -217
  307. package/dist/providers/mixpanel.js +0 -247
  308. package/dist/providers/revenuecat.js +0 -317
  309. package/dist/providers/stripe.js +0 -253
  310. package/dist/providers/vercel.js +0 -1253
  311. package/dist/storage/file.d.ts +0 -15
  312. package/dist/storage/file.js +0 -455
  313. package/ethos.md +0 -93
  314. package/examples/worker/src/cloudflare-kv.ts +0 -43
  315. package/examples/worker/src/d1-activity-row.ts +0 -155
  316. package/examples/worker/src/d1-activity.ts +0 -147
  317. package/examples/worker/src/d1-storage.ts +0 -138
  318. package/examples/worker/src/r2-artifact-blobs.ts +0 -29
  319. 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
+ };