@zackbart/connecta 0.34.0 → 0.35.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 (428) hide show
  1. package/CHANGELOG.md +393 -0
  2. package/README.md +62 -105
  3. package/SECURITY.md +3 -2
  4. package/bin/connecta.mjs +41 -16
  5. package/bin/version.mjs +1 -1
  6. package/dist/access-tokens.d.ts +2 -1
  7. package/dist/access-tokens.js +66 -30
  8. package/dist/activity.d.ts +1 -1
  9. package/dist/activity.js +2 -0
  10. package/dist/agent-config.d.ts +23 -0
  11. package/dist/agent-config.js +59 -0
  12. package/dist/agent-description.js +16 -0
  13. package/dist/agent-identity.js +4 -4
  14. package/dist/agent-observation.js +39 -0
  15. package/dist/auth/clerk-sdk/client.d.ts +2 -0
  16. package/dist/auth/clerk-sdk/generated.js +554 -563
  17. package/dist/auth/clerk-transport.js +70 -3
  18. package/dist/auth/clerk.d.ts +13 -0
  19. package/dist/auth/clerk.js +653 -246
  20. package/dist/auth/cloudflare-access.js +46 -42
  21. package/dist/auth/downstream-client-metadata.js +2 -2
  22. package/dist/auth/downstream-oauth.js +2051 -1160
  23. package/dist/auth/downstream-revocation.js +88 -88
  24. package/dist/auth/native-call.js +20 -0
  25. package/dist/auth/native.js +184 -0
  26. package/dist/auth/oauth-start-reset.js +11 -5
  27. package/dist/auth/oauth-token-response.js +121 -102
  28. package/dist/auth/oauth-v2-migration.js +97 -78
  29. package/dist/auth/renewable-grant.js +10 -0
  30. package/dist/auth/static-oauth.js +663 -271
  31. package/dist/auth/vercel-agent.js +266 -0
  32. package/dist/auth-admission.js +204 -0
  33. package/dist/auth-elicitation.js +350 -241
  34. package/dist/authorization-handoff.js +164 -90
  35. package/dist/call-admission-context.js +3 -10
  36. package/dist/call-admission.js +2 -0
  37. package/dist/call-classification.js +9 -0
  38. package/dist/call-recovery.js +32 -13
  39. package/dist/canonical-json.js +8 -0
  40. package/dist/catalog-cache.js +369 -213
  41. package/dist/catalog-service.js +659 -530
  42. package/dist/catalog.js +5 -1
  43. package/dist/concurrency.js +0 -25
  44. package/dist/config-defaults.d.ts +1 -0
  45. package/dist/config-defaults.js +1 -0
  46. package/dist/config-schema.d.ts +3 -1
  47. package/dist/config-schema.js +13 -3
  48. package/dist/config.d.ts +40 -6
  49. package/dist/config.js +40 -26
  50. package/dist/connector-caller.d.ts +4 -0
  51. package/dist/connector-caller.js +17 -4
  52. package/dist/connectors/api-connector.d.ts +15 -7
  53. package/dist/connectors/api-connector.js +147 -57
  54. package/dist/connectors/guarded-fetch.d.ts +51 -17
  55. package/dist/connectors/guarded-fetch.js +215 -121
  56. package/dist/connectors/negotiation-cache.js +20 -10
  57. package/dist/connectors/option-shapes.js +1 -1
  58. package/dist/connectors/remote-mcp.d.ts +12 -30
  59. package/dist/connectors/remote-mcp.js +960 -564
  60. package/dist/d1.js +10 -243
  61. package/dist/derived-context.js +5 -0
  62. package/dist/describe-config.d.ts +5 -1
  63. package/dist/describe-config.js +3 -0
  64. package/dist/downstream-input.js +347 -260
  65. package/dist/errors.d.ts +87 -6
  66. package/dist/errors.js +114 -4
  67. package/dist/execute.js +87 -50
  68. package/dist/executor-admission.js +3 -0
  69. package/dist/executors/quickjs.js +163 -112
  70. package/dist/guarded-transport.js +50 -0
  71. package/dist/guest-runtime.js +1 -1
  72. package/dist/http/client.js +439 -0
  73. package/dist/http/errors.js +558 -0
  74. package/dist/http/fields.js +49 -0
  75. package/dist/http/hatch-paging.js +318 -0
  76. package/dist/http/hatch.js +1279 -0
  77. package/dist/http/json-schema.js +267 -0
  78. package/dist/http/node-transport.js +241 -0
  79. package/dist/http/oauth.js +162 -0
  80. package/dist/http/paging.js +228 -0
  81. package/dist/http/provider.js +221 -0
  82. package/dist/http/safety.js +82 -0
  83. package/dist/http/services.js +79 -0
  84. package/dist/http/tools.js +383 -0
  85. package/dist/http/vendor-index.js +138 -0
  86. package/dist/http/vendor.js +448 -0
  87. package/dist/http/write-request.js +66 -0
  88. package/dist/http-policy.d.ts +11 -0
  89. package/dist/http-policy.js +45 -0
  90. package/dist/inbound-credential.js +1 -1
  91. package/dist/index.d.ts +2 -2
  92. package/dist/index.js +4 -0
  93. package/dist/invocation-auth.js +30 -19
  94. package/dist/invocation.js +221 -87
  95. package/dist/mcp-result.js +0 -4
  96. package/dist/membership.d.ts +4 -0
  97. package/dist/meta-output.js +1 -1
  98. package/dist/meta-tools.js +534 -408
  99. package/dist/native-recovery.js +52 -0
  100. package/dist/native-tools.js +382 -0
  101. package/dist/node.d.ts +4 -3
  102. package/dist/node.js +45 -8
  103. package/dist/oauth-handoff.js +177 -104
  104. package/dist/oauth-partition.js +6 -20
  105. package/dist/oauth-sealing.js +6 -7
  106. package/dist/operation-vocabulary.js +101 -0
  107. package/dist/operator-record.d.ts +2 -2
  108. package/dist/operator-record.js +17 -4
  109. package/dist/operator-ui/agents.d.ts +5 -4
  110. package/dist/operator-ui/agents.js +17 -7
  111. package/dist/operator-ui/config-summary.js +8 -4
  112. package/dist/operator-ui/connection-map.js +9 -6
  113. package/dist/operator-ui/contract.d.ts +7 -3
  114. package/dist/operator-ui/endpoints.js +5 -14
  115. package/dist/operator-ui/fix-prompts.d.ts +1 -1
  116. package/dist/operator-ui/fix-prompts.js +0 -8
  117. package/dist/operator-ui/generated.js +3 -3
  118. package/dist/operator-ui/health.js +52 -0
  119. package/dist/operator-ui/model.d.ts +2 -3
  120. package/dist/operator-ui/overview.js +11 -19
  121. package/dist/operator-ui/setup-commands.js +0 -4
  122. package/dist/operator-ui/view.d.ts +5 -29
  123. package/dist/operator-ui/view.js +3 -59
  124. package/dist/program-writes.js +47 -26
  125. package/dist/provider-call-facts.d.ts +115 -0
  126. package/dist/provider-call-facts.js +182 -0
  127. package/dist/provider-call.d.ts +112 -0
  128. package/dist/provider-call.js +271 -0
  129. package/dist/provider.d.ts +71 -32
  130. package/dist/provider.js +134 -40
  131. package/dist/providers/_shared/google/hatch.js +91 -0
  132. package/dist/providers/_shared/google/kit.js +537 -0
  133. package/dist/providers/_shared/google/result-size.js +15 -2
  134. package/dist/providers/_shared/google/service-account.d.ts +2 -1
  135. package/dist/providers/_shared/google/service-account.js +8 -4
  136. package/dist/providers/_shared/google/workspace.d.ts +8 -209
  137. package/dist/providers/_shared/google/workspace.js +7 -426
  138. package/dist/providers/_shared/rest/compact-index.js +86 -0
  139. package/dist/providers/_shared/rest/dispatch.js +3 -23
  140. package/dist/providers/_shared/rest/kit.js +546 -0
  141. package/dist/providers/_shared/rest/operation-index.js +230 -14
  142. package/dist/providers/_shared/rest/response-media.js +11 -0
  143. package/dist/providers/_shared/rest/tools.js +101 -78
  144. package/dist/providers/_shared/rest/value-safety.js +353 -195
  145. package/dist/providers/_shared/sensitive-fields.js +27 -0
  146. package/dist/providers/breeze/api.js +584 -0
  147. package/dist/providers/breeze/index.d.ts +3 -3
  148. package/dist/providers/breeze/index.js +67 -1420
  149. package/dist/providers/breeze/openapi.generated.js +60 -0
  150. package/dist/providers/breeze/skill.generated.js +2 -6
  151. package/dist/providers/breeze/tools.js +696 -0
  152. package/dist/providers/ccb/api.js +496 -0
  153. package/dist/providers/ccb/index.d.ts +17 -37
  154. package/dist/providers/ccb/index.js +77 -1702
  155. package/dist/providers/ccb/lib/constants.d.ts +34 -0
  156. package/dist/providers/ccb/lib/constants.js +74 -0
  157. package/dist/providers/ccb/lib/guide.js +9 -0
  158. package/dist/providers/ccb/lib/verdicts.js +387 -0
  159. package/dist/providers/ccb/openapi.generated.js +397 -0
  160. package/dist/providers/ccb/safety.js +295 -0
  161. package/dist/providers/ccb/skill.generated.js +2 -6
  162. package/dist/providers/ccb/tools.js +853 -0
  163. package/dist/providers/cloudflare/api.js +1066 -0
  164. package/dist/providers/cloudflare/index.d.ts +7 -22
  165. package/dist/providers/cloudflare/index.js +80 -194
  166. package/dist/providers/cloudflare/lib/config.d.ts +16 -0
  167. package/dist/providers/cloudflare/lib/config.js +2 -0
  168. package/dist/providers/cloudflare/lib/discovery.js +29 -0
  169. package/dist/providers/cloudflare/{graphql.js → lib/graphql.js} +1 -1
  170. package/dist/providers/cloudflare/lib/hatch.js +103 -0
  171. package/dist/providers/cloudflare/lib/path-bounds.js +28 -0
  172. package/dist/providers/cloudflare/lib/response-media.js +75 -0
  173. package/dist/providers/cloudflare/openapi.generated.js +3299 -3208
  174. package/dist/providers/cloudflare/{value-safety.js → safety.js} +538 -18
  175. package/dist/providers/cloudflare/skill.generated.js +2 -10
  176. package/dist/providers/cloudflare/tools.js +360 -0
  177. package/dist/providers/docs/api.js +51 -0
  178. package/dist/providers/docs/index.d.ts +1 -12
  179. package/dist/providers/docs/index.js +53 -1165
  180. package/dist/providers/docs/lib/constants.d.ts +18 -0
  181. package/dist/providers/docs/lib/constants.js +18 -0
  182. package/dist/providers/docs/lib/discovery.js +26 -0
  183. package/dist/providers/docs/lib/requests.js +48 -0
  184. package/dist/providers/docs/lib/schemas.js +168 -0
  185. package/dist/providers/docs/openapi.generated.js +16 -0
  186. package/dist/providers/docs/safety.js +54 -0
  187. package/dist/providers/docs/skill.generated.js +2 -6
  188. package/dist/providers/docs/tools.js +802 -0
  189. package/dist/providers/drive/api.js +177 -0
  190. package/dist/providers/drive/index.d.ts +1 -12
  191. package/dist/providers/drive/index.js +38 -1448
  192. package/dist/providers/drive/lib/constants.d.ts +6 -0
  193. package/dist/providers/drive/lib/constants.js +6 -0
  194. package/dist/providers/drive/lib/contracts.js +532 -0
  195. package/dist/providers/drive/lib/hatch.js +197 -0
  196. package/dist/providers/drive/openapi.generated.js +77 -0
  197. package/dist/providers/drive/safety.js +90 -0
  198. package/dist/providers/drive/skill.generated.js +2 -6
  199. package/dist/providers/drive/tools.js +1290 -0
  200. package/dist/providers/forms/api.js +71 -0
  201. package/dist/providers/forms/index.d.ts +1 -12
  202. package/dist/providers/forms/index.js +49 -1145
  203. package/dist/providers/forms/lib/constants.d.ts +14 -0
  204. package/dist/providers/forms/lib/constants.js +19 -0
  205. package/dist/providers/forms/lib/hatch.js +72 -0
  206. package/dist/providers/forms/openapi.generated.js +23 -0
  207. package/dist/providers/forms/safety.js +34 -0
  208. package/dist/providers/forms/skill.generated.js +2 -8
  209. package/dist/providers/forms/tools.js +1024 -0
  210. package/dist/providers/github/api.js +150 -0
  211. package/dist/providers/github/index.d.ts +4 -5
  212. package/dist/providers/github/index.js +30 -87
  213. package/dist/providers/github/{auth.d.ts → lib/auth.d.ts} +5 -3
  214. package/dist/providers/github/{auth.js → lib/auth.js} +40 -43
  215. package/dist/providers/github/lib/discovery.js +132 -0
  216. package/dist/providers/github/lib/operations.js +58 -0
  217. package/dist/providers/github/{scope.d.ts → lib/scope.d.ts} +2 -0
  218. package/dist/providers/github/{scope.js → lib/scope.js} +25 -1
  219. package/dist/providers/github/openapi.generated.js +1216 -0
  220. package/dist/providers/github/safety.js +216 -0
  221. package/dist/providers/github/skill.generated.js +2 -5
  222. package/dist/providers/github/tools.js +506 -0
  223. package/dist/providers/gmail/api.js +114 -0
  224. package/dist/providers/gmail/index.d.ts +1 -12
  225. package/dist/providers/gmail/index.js +73 -1621
  226. package/dist/providers/gmail/lib/constants.d.ts +13 -0
  227. package/dist/providers/gmail/lib/constants.js +16 -0
  228. package/dist/providers/gmail/lib/index.js +173 -0
  229. package/dist/providers/gmail/lib/schemas.js +176 -0
  230. package/dist/providers/gmail/lib/threading.js +120 -0
  231. package/dist/providers/gmail/openapi.generated.js +92 -0
  232. package/dist/providers/gmail/safety.js +21 -0
  233. package/dist/providers/gmail/skill.generated.js +2 -6
  234. package/dist/providers/gmail/tools.js +1435 -0
  235. package/dist/providers/overflow/api.js +1008 -0
  236. package/dist/providers/overflow/index.d.ts +3 -17
  237. package/dist/providers/overflow/index.js +60 -1488
  238. package/dist/providers/overflow/skill.generated.js +2 -5
  239. package/dist/providers/overflow/tools.js +873 -0
  240. package/dist/providers/planning-center/api.js +467 -0
  241. package/dist/providers/planning-center/index.d.ts +6 -35
  242. package/dist/providers/planning-center/index.js +69 -2445
  243. package/dist/providers/planning-center/lib/constants.d.ts +58 -0
  244. package/dist/providers/planning-center/lib/constants.js +83 -0
  245. package/dist/providers/planning-center/lib/discovery.js +40 -0
  246. package/dist/providers/planning-center/lib/guide.js +39 -0
  247. package/dist/providers/planning-center/lib/json-api.js +83 -0
  248. package/dist/providers/planning-center/lib/verdicts.js +1758 -0
  249. package/dist/providers/planning-center/openapi.generated.js +1764 -0
  250. package/dist/providers/planning-center/safety.js +188 -0
  251. package/dist/providers/planning-center/skill.generated.js +2 -27
  252. package/dist/providers/planning-center/tools.js +1010 -0
  253. package/dist/providers/sheets/api.js +133 -0
  254. package/dist/providers/sheets/index.d.ts +4 -16
  255. package/dist/providers/sheets/index.js +61 -1172
  256. package/dist/providers/sheets/lib/constants.d.ts +14 -0
  257. package/dist/providers/sheets/lib/constants.js +14 -0
  258. package/dist/providers/sheets/lib/hatch.js +163 -0
  259. package/dist/providers/sheets/lib/requests.js +105 -0
  260. package/dist/providers/sheets/lib/schemas.js +138 -0
  261. package/dist/providers/sheets/openapi.generated.js +30 -0
  262. package/dist/providers/sheets/safety.js +27 -0
  263. package/dist/providers/sheets/skill.generated.js +2 -7
  264. package/dist/providers/sheets/tools.js +734 -0
  265. package/dist/providers/slides/api.js +147 -0
  266. package/dist/providers/slides/index.d.ts +2 -10
  267. package/dist/providers/slides/index.js +48 -2555
  268. package/dist/providers/slides/lib/constants.d.ts +11 -0
  269. package/dist/providers/slides/lib/constants.js +11 -0
  270. package/dist/providers/slides/lib/requests.js +60 -0
  271. package/dist/providers/slides/lib/schemas.js +565 -0
  272. package/dist/providers/slides/openapi.generated.js +18 -0
  273. package/dist/providers/slides/skill.generated.js +2 -6
  274. package/dist/providers/slides/tools.js +1968 -0
  275. package/dist/providers/stripe/api.js +401 -0
  276. package/dist/providers/stripe/index.d.ts +7 -27
  277. package/dist/providers/stripe/index.js +75 -191
  278. package/dist/providers/stripe/lib/config.d.ts +4 -0
  279. package/dist/providers/stripe/lib/config.js +2 -0
  280. package/dist/providers/stripe/openapi.generated.js +4 -3
  281. package/dist/providers/stripe/{value-safety.js → safety.js} +5 -5
  282. package/dist/providers/stripe/skill.generated.js +2 -10
  283. package/dist/providers/stripe/tools.js +77 -0
  284. package/dist/providers/tithely/api.js +531 -0
  285. package/dist/providers/tithely/index.d.ts +19 -0
  286. package/dist/providers/tithely/index.js +86 -965
  287. package/dist/providers/tithely/skill.generated.js +2 -5
  288. package/dist/providers/tithely/tools.js +426 -0
  289. package/dist/providers/vercel/api.js +551 -0
  290. package/dist/providers/vercel/index.d.ts +11 -25
  291. package/dist/providers/vercel/index.js +67 -261
  292. package/dist/providers/vercel/lib/config.d.ts +2 -0
  293. package/dist/providers/vercel/lib/config.js +2 -0
  294. package/dist/providers/vercel/lib/index.js +117 -0
  295. package/dist/providers/vercel/lib/logs.js +100 -0
  296. package/dist/providers/vercel/lib/pin.js +270 -0
  297. package/dist/providers/vercel/openapi.generated.js +398 -376
  298. package/dist/providers/vercel/{value-safety.js → safety.js} +261 -42
  299. package/dist/providers/vercel/skill.generated.js +2 -7
  300. package/dist/providers/vercel/tools.js +642 -0
  301. package/dist/redaction-identity.js +47 -0
  302. package/dist/redaction-marker.js +125 -0
  303. package/dist/registry.d.ts +30 -28
  304. package/dist/registry.js +446 -413
  305. package/dist/routes/access-tokens.js +1 -1
  306. package/dist/routes/actor-labels.js +1 -1
  307. package/dist/routes/connect.js +1 -1
  308. package/dist/routes/dispatch.js +103 -0
  309. package/dist/routes/mcp.js +170 -79
  310. package/dist/routes/oauth.js +3 -1
  311. package/dist/routes/operator.js +2 -2
  312. package/dist/routes/shared.d.ts +5 -4
  313. package/dist/routes/shared.js +244 -177
  314. package/dist/routes/skills.js +10 -8
  315. package/dist/routes/ui-config.js +27 -3
  316. package/dist/routes/ui-data.js +29 -22
  317. package/dist/routes/ui.js +1 -1
  318. package/dist/runtime/call-admission.js +0 -26
  319. package/dist/runtime/call-entry.js +30 -0
  320. package/dist/runtime/call.js +556 -0
  321. package/dist/runtime/connector-scope.js +7 -0
  322. package/dist/runtime/credential-probe.js +34 -0
  323. package/dist/runtime/executor.js +40 -0
  324. package/dist/runtime/native-storage.js +63 -0
  325. package/dist/runtime/registry.js +27 -0
  326. package/dist/runtime/request-scope.js +72 -0
  327. package/dist/runtime/run.js +15 -7
  328. package/dist/runtime/shared-read.js +34 -5
  329. package/dist/runtime/storage.js +34 -21
  330. package/dist/sent-secrets.d.ts +194 -37
  331. package/dist/sent-secrets.js +1743 -340
  332. package/dist/server.js +5 -56
  333. package/dist/skills.js +330 -224
  334. package/dist/sqlite.js +15 -14
  335. package/dist/storage/d1-copy.js +255 -0
  336. package/dist/storage/d1-driver.js +15 -0
  337. package/dist/storage/keys.js +28 -0
  338. package/dist/storage/sql-driver.js +88 -0
  339. package/dist/storage/sql-native.js +544 -0
  340. package/dist/storage/sql-schema.d.ts +6 -0
  341. package/dist/storage/sql-schema.js +15 -0
  342. package/dist/storage/sql.d.ts +14 -20
  343. package/dist/storage/sql.js +29 -535
  344. package/dist/timeout.js +0 -26
  345. package/dist/tool-safety.js +20 -10
  346. package/dist/types.d.ts +11 -99
  347. package/dist/upward.js +3 -0
  348. package/dist/usage-guide.js +3 -1
  349. package/dist/validate.d.ts +4 -2
  350. package/dist/validate.js +86 -9
  351. package/dist/version.d.ts +1 -1
  352. package/dist/version.js +1 -1
  353. package/dist/worker.js +312 -292
  354. package/dist/workspace-subject.js +5 -1
  355. package/dist/write-outcome.js +454 -34
  356. package/documentation/README.md +27 -7
  357. package/documentation/architecture.md +2550 -186
  358. package/documentation/auth.md +821 -98
  359. package/documentation/code-mode.md +56 -21
  360. package/documentation/deploying.md +164 -20
  361. package/documentation/hosted-mcp-migration.md +460 -0
  362. package/documentation/integrating.md +144 -105
  363. package/documentation/meta-tools.md +411 -34
  364. package/documentation/operating.md +28 -4
  365. package/documentation/operator-tests.md +11 -2
  366. package/documentation/operator-ui.md +103 -33
  367. package/documentation/provider-auth-migration.md +38 -63
  368. package/documentation/provider-migration-0.29.md +10 -5
  369. package/documentation/provider-migration-0.35.md +975 -0
  370. package/documentation/providers.md +965 -0
  371. package/examples/worker/AGENTS.md +23 -9
  372. package/examples/worker/README.md +254 -135
  373. package/examples/worker/alchemy.run.ts +116 -0
  374. package/examples/worker/gitignore +10 -0
  375. package/examples/worker/src/connecta.config.ts +23 -21
  376. package/examples/worker/wrangler.jsonc +14 -5
  377. package/guides/connecting-agents.md +157 -0
  378. package/guides/how-it-works.md +156 -0
  379. package/guides/safety-and-trust.md +153 -0
  380. package/package.json +27 -42
  381. package/templates/node/.env.example +3 -0
  382. package/templates/node/README.md +22 -2
  383. package/templates/node/docker-compose.yml +1 -0
  384. package/templates/node/package.json +3 -2
  385. package/templates/node/src/connecta.config.ts +8 -0
  386. package/dist/catalog-drift.d.ts +0 -134
  387. package/dist/catalog-drift.js +0 -493
  388. package/dist/providers/_shared/request-token.js +0 -83
  389. package/dist/providers/_shared/rest/operation-index.d.ts +0 -133
  390. package/dist/providers/_shared/rest/tools.d.ts +0 -141
  391. package/dist/providers/_shared/rest/value-safety.d.ts +0 -201
  392. package/dist/providers/basecamp/index.d.ts +0 -43
  393. package/dist/providers/basecamp/index.js +0 -997
  394. package/dist/providers/basecamp/skill.generated.js +0 -9
  395. package/dist/providers/cloudflare/rest.d.ts +0 -37
  396. package/dist/providers/cloudflare/rest.js +0 -1078
  397. package/dist/providers/github/hosted.js +0 -218
  398. package/dist/providers/github/rest.js +0 -321
  399. package/dist/providers/infisical/index.d.ts +0 -7
  400. package/dist/providers/infisical/index.js +0 -713
  401. package/dist/providers/infisical/skill.generated.js +0 -8
  402. package/dist/providers/linear/index.d.ts +0 -55
  403. package/dist/providers/linear/index.js +0 -352
  404. package/dist/providers/linear/skill.generated.js +0 -8
  405. package/dist/providers/mixpanel/index.d.ts +0 -57
  406. package/dist/providers/mixpanel/index.js +0 -468
  407. package/dist/providers/mixpanel/operations.js +0 -20
  408. package/dist/providers/mixpanel/rest.js +0 -603
  409. package/dist/providers/mixpanel/skill.generated.js +0 -10
  410. package/dist/providers/mixpanel/value-safety.js +0 -16
  411. package/dist/providers/notion/index.d.ts +0 -65
  412. package/dist/providers/notion/index.js +0 -368
  413. package/dist/providers/notion/openapi.generated.js +0 -75
  414. package/dist/providers/notion/rest.d.ts +0 -24
  415. package/dist/providers/notion/rest.js +0 -1226
  416. package/dist/providers/notion/skill.generated.js +0 -11
  417. package/dist/providers/notion/value-safety.js +0 -56
  418. package/dist/providers/revenuecat/index.d.ts +0 -49
  419. package/dist/providers/revenuecat/index.js +0 -557
  420. package/dist/providers/revenuecat/skill.generated.js +0 -11
  421. package/dist/providers/stripe/rest.d.ts +0 -14
  422. package/dist/providers/stripe/rest.js +0 -402
  423. package/dist/providers/vercel/rest.d.ts +0 -20
  424. package/dist/providers/vercel/rest.js +0 -1020
  425. package/dist/providers/wispr-flow/index.d.ts +0 -14
  426. package/dist/providers/wispr-flow/index.js +0 -117
  427. package/dist/providers/wispr-flow/skill.generated.js +0 -8
  428. /package/dist/providers/github/{key.js → lib/key.js} +0 -0
@@ -1,8 +0,0 @@
1
- // Generated by scripts/generate-providers.mjs; do not edit.
2
- export const skill = {
3
- "content": "Start with `list_projects` for project IDs and environment slugs, then `list_folders` for absolute paths.\n\nKeep value reads narrow. `list_secrets` returns identifiers only by default, even if the server sends values or comments; use `get_secret` or opt into `includeValues` only when needed. These explicit reads return secrets, including values and comments. Comments are available only from these value-read tools. Do not echo values unless the user asks. Imports follow the same value policy.\n\nValues can reference secrets as `${env.KEY}`. Value reads expand references by default. Use `expandReferences: false` to read the literal reference before editing; updating a value changes only that secret, not the secrets it references. Updates send only named changes. Writes omit values and report `pendingApproval` when an environment's change policy requires approval.\n\nEvery value-free result returns only checked identifiers: UUID or legacy 24-hex IDs, secret keys, positive integer versions, known type/approval enums, environment and tag slugs, absolute paths, and ISO timestamps. Projects expose IDs and environment identifiers; folders expose IDs and paths. Project slugs are withheld because Infisical can derive them from free-text project names. Comments, descriptions, free-form names, reminder notes, and arbitrary nested objects are withheld. `metadataOmitted: true` reports dropped or unavailable metadata; success or pending-approval context remains available. Identifier fields outside the conservative grammar are dropped.\n\nKnown, accepted residual risk: environment slugs are returned as required routing identifiers. Infisical's UI derives them from environment names by default, so secrets entered in those names can appear in returned slugs. Operators must not put secrets in environment names or slugs. Secrets placed in identifiers or key names are out of scope.\n\nThe provider assumes an honest Infisical server and protects against careless human entry of secrets in free text. It does not match submitted values or defend against a malicious server encoding values into valid identifiers. Submitted secret data never joins credential redaction, so later calls in the same program keep their authorized arguments. Client credentials and tokens retain request-scoped credential protection.\n\nThis finite surface has no guarded raw-REST tool. These endpoints return complete collections without a page cursor; narrow the path and avoid recursive/value listings to stay below Connecta's 8 MiB response ceiling. Temporary result paging does not reduce the upstream response size.\n\nUniversal Auth tokens remain in memory only and refresh before expiry. Reads may retry once after a rejected token. Writes refresh a rejected token for a later explicit call and return the auth failure without resending; reconcile the target before another call. Recovery echoes marked `argsRedacted` omit secret values, secret comments, and folder descriptions, so any new call requires the original arguments. The operator's machine identity must belong to each project with the right role; a 403 needs an operator to fix membership or role. US cloud is the default; set `baseUrl: \"https://eu.infisical.com/api\"` for EU cloud or your self-hosted HTTPS API base including `/api`. Preserve the connector id and the `clientId`/`clientSecret` fields when migrating existing credentials.\n\nNo default call budget is assumed. Operators can supply `callAdmission` for their instance's limits. The credential test performs a Universal Auth login only, without reading projects or secrets.\n",
4
- "instructionsHeading": "Organization instructions",
5
- "fragments": {
6
- "guide": "Start with `list_projects` for project IDs and environment slugs, then `list_folders` for absolute paths.\n\nKeep value reads narrow. `list_secrets` returns identifiers only by default, even if the server sends values or comments; use `get_secret` or opt into `includeValues` only when needed. These explicit reads return secrets, including values and comments. Comments are available only from these value-read tools. Do not echo values unless the user asks. Imports follow the same value policy.\n\nValues can reference secrets as `${env.KEY}`. Value reads expand references by default. Use `expandReferences: false` to read the literal reference before editing; updating a value changes only that secret, not the secrets it references. Updates send only named changes. Writes omit values and report `pendingApproval` when an environment's change policy requires approval.\n\nEvery value-free result returns only checked identifiers: UUID or legacy 24-hex IDs, secret keys, positive integer versions, known type/approval enums, environment and tag slugs, absolute paths, and ISO timestamps. Projects expose IDs and environment identifiers; folders expose IDs and paths. Project slugs are withheld because Infisical can derive them from free-text project names. Comments, descriptions, free-form names, reminder notes, and arbitrary nested objects are withheld. `metadataOmitted: true` reports dropped or unavailable metadata; success or pending-approval context remains available. Identifier fields outside the conservative grammar are dropped.\n\nKnown, accepted residual risk: environment slugs are returned as required routing identifiers. Infisical's UI derives them from environment names by default, so secrets entered in those names can appear in returned slugs. Operators must not put secrets in environment names or slugs. Secrets placed in identifiers or key names are out of scope.\n\nThe provider assumes an honest Infisical server and protects against careless human entry of secrets in free text. It does not match submitted values or defend against a malicious server encoding values into valid identifiers. Submitted secret data never joins credential redaction, so later calls in the same program keep their authorized arguments. Client credentials and tokens retain request-scoped credential protection.\n\nThis finite surface has no guarded raw-REST tool. These endpoints return complete collections without a page cursor; narrow the path and avoid recursive/value listings to stay below Connecta's 8 MiB response ceiling. Temporary result paging does not reduce the upstream response size.\n\nUniversal Auth tokens remain in memory only and refresh before expiry. Reads may retry once after a rejected token. Writes refresh a rejected token for a later explicit call and return the auth failure without resending; reconcile the target before another call. Recovery echoes marked `argsRedacted` omit secret values, secret comments, and folder descriptions, so any new call requires the original arguments. The operator's machine identity must belong to each project with the right role; a 403 needs an operator to fix membership or role. US cloud is the default; set `baseUrl: \"https://eu.infisical.com/api\"` for EU cloud or your self-hosted HTTPS API base including `/api`. Preserve the connector id and the `clientId`/`clientSecret` fields when migrating existing credentials.\n\nNo default call budget is assumed. Operators can supply `callAdmission` for their instance's limits. The credential test performs a Universal Auth login only, without reading projects or secrets.\n"
7
- }
8
- };
@@ -1,55 +0,0 @@
1
- import { type RemoteMcpAuth } from "../../connectors/remote-mcp.js";
2
- import { type ProviderOptions } from "../../provider.js";
3
- import type { ConnectorCallAdmissionPolicy } from "../../types.js";
4
- /** Which of Linear's two hosted MCP endpoints this connection is bound to. */
5
- export type LinearAccess = "read-write" | "read-only";
6
- /**
7
- * Linear publishes two hosted endpoints. `read-only` is not a client-side
8
- * filter: it advertises the `read` scope alone, so the token minted for it
9
- * cannot reach Linear's write APIs at all. The deprecated `/sse` transport is
10
- * deliberately absent — it now answers 404.
11
- */
12
- export declare const LINEAR_MCP_ENDPOINTS: Readonly<Record<LinearAccess, string>>;
13
- export interface LinearOptions extends ProviderOptions {
14
- /**
15
- * Human-readable display name; defaults to "Linear", or
16
- * "Linear (read-only)" when `access` is `"read-only"`.
17
- */
18
- title?: string;
19
- /** Which workspace this is and what decisions it answers. */
20
- purpose: string;
21
- /**
22
- * Endpoint selection, required with no default. Linear's read-only endpoint
23
- * advertises the `read` scope alone, so its token cannot reach the write APIs
24
- * — a stronger guarantee than any annotation. Neither default is safe:
25
- * read-write hands out access nobody asked for, and read-only breaks a
26
- * writing deployment at runtime, where no agent can repair it.
27
- */
28
- access: LinearAccess;
29
- /**
30
- * OAuth 2.1 with dynamic client registration by default. Linear's MCP server
31
- * also accepts a personal API key in `Authorization: Bearer` — note this is
32
- * the MCP endpoint's own documented contract, not the GraphQL API convention.
33
- * A personal key carries the acting user's full permissions, so pair it with
34
- * `access: "read-only"` unless the deployment genuinely writes.
35
- */
36
- auth?: RemoteMcpAuth;
37
- /** Workspace-specific conventions appended to the maintained provider guide. */
38
- instructions?: string;
39
- /**
40
- * Optional per-runtime policy. There is no default: Linear documents no
41
- * MCP-specific limit, the GraphQL limits it rides are metered per user per
42
- * hour (and its own page disagrees with itself on the API-key figure), and
43
- * Connecta's counter is per runtime. Only the operator knows the workspace.
44
- */
45
- callAdmission?: ConnectorCallAdmissionPolicy;
46
- }
47
- /** A maintained Linear hosted-MCP connection. */
48
- export declare const linear: import("../../provider.js").ProviderFactory<LinearOptions>;
49
- /**
50
- * The reviewed classification in the legacy manifest form.
51
- *
52
- * @deprecated Read `linear.definition.classify` instead. This alias is derived
53
- * from it and retained for existing public imports.
54
- */
55
- export declare const LINEAR_VETTED_CATALOG: import("../../catalog-drift.js").VettedCatalog;
@@ -1,352 +0,0 @@
1
- import { skill } from "./skill.generated.js";
2
- import { remoteMcp, withCredentialDefaults } from "../../connectors/remote-mcp.js";
3
- import { keys, optionsOf } from "../../config-schema.js";
4
- import { REMOTE_MCP_AUTH } from "../../connectors/option-shapes.js";
5
- import { reviewedCatalog } from "../../catalog-drift.js";
6
- import { defineProvider, PROVIDER_COMMON } from "../../provider.js";
7
- /**
8
- * Linear publishes two hosted endpoints. `read-only` is not a client-side
9
- * filter: it advertises the `read` scope alone, so the token minted for it
10
- * cannot reach Linear's write APIs at all. The deprecated `/sse` transport is
11
- * deliberately absent — it now answers 404.
12
- */
13
- export const LINEAR_MCP_ENDPOINTS = {
14
- "read-write": "https://mcp.linear.app/mcp",
15
- "read-only": "https://mcp.linear.app/mcp/readonly",
16
- };
17
- /**
18
- * Every `save_*` is destructive because Linear's `save_*` tools are upserts:
19
- * omitting a record id creates, supplying one overwrites in place, and the
20
- * schema cannot tell them apart.
21
- */
22
- const UPSERT = "An upsert: supplying a record id overwrites that record in place, and the schema cannot tell a create from an update.";
23
- /**
24
- * The release-reviewed classification (P5), used both to classify a live tool
25
- * and as the record the drift check compares against, so the annotation a
26
- * caller gets and the verdict a check reads can never disagree. It is a
27
- * superset: Linear's hosted `tools/list` varies by plan and enabled features,
28
- * so a name this workspace never returns costs nothing, while an unlisted new
29
- * one fails closed. The genuine creates — the `create_*_label` and attachment
30
- * tools — are plain writes rather than destructive.
31
- */
32
- const LINEAR_CLASSIFICATION = {
33
- tools: {
34
- // Issues
35
- list_issues: {
36
- "verdict": "read",
37
- "reason": "Reads existing Linear list issues data without changing workspace state.",
38
- },
39
- get_issue: {
40
- "verdict": "read",
41
- "reason": "Reads existing Linear get issue data without changing workspace state.",
42
- },
43
- list_issue_statuses: {
44
- "verdict": "read",
45
- "reason": "Reads existing Linear list issue statuses data without changing workspace state.",
46
- },
47
- get_issue_status: {
48
- "verdict": "read",
49
- "reason": "Reads existing Linear get issue status data without changing workspace state.",
50
- },
51
- list_issue_labels: {
52
- "verdict": "read",
53
- "reason": "Reads existing Linear list issue labels data without changing workspace state.",
54
- },
55
- save_issue: { verdict: "destructive", reason: UPSERT },
56
- create_issue_label: {
57
- "verdict": "write",
58
- "reason": "Creates Linear state through create_issue_label; the reviewed operation only appends.",
59
- },
60
- // Projects
61
- list_projects: {
62
- "verdict": "read",
63
- "reason": "Reads existing Linear list projects data without changing workspace state.",
64
- },
65
- get_project: {
66
- "verdict": "read",
67
- "reason": "Reads existing Linear get project data without changing workspace state.",
68
- },
69
- list_project_labels: {
70
- "verdict": "read",
71
- "reason": "Reads existing Linear list project labels data without changing workspace state.",
72
- },
73
- save_project: { verdict: "destructive", reason: UPSERT },
74
- // Milestones
75
- list_milestones: {
76
- "verdict": "read",
77
- "reason": "Reads existing Linear list milestones data without changing workspace state.",
78
- },
79
- get_milestone: {
80
- "verdict": "read",
81
- "reason": "Reads existing Linear get milestone data without changing workspace state.",
82
- },
83
- save_milestone: { verdict: "destructive", reason: UPSERT },
84
- // Initiatives
85
- list_initiatives: {
86
- "verdict": "read",
87
- "reason": "Reads existing Linear list initiatives data without changing workspace state.",
88
- },
89
- get_initiative: {
90
- "verdict": "read",
91
- "reason": "Reads existing Linear get initiative data without changing workspace state.",
92
- },
93
- list_initiative_labels: {
94
- "verdict": "read",
95
- "reason": "Reads existing Linear list initiative labels data without changing workspace state.",
96
- },
97
- save_initiative: { verdict: "destructive", reason: UPSERT },
98
- create_initiative_label: {
99
- "verdict": "write",
100
- "reason": "Creates Linear state through create_initiative_label; the reviewed operation only appends.",
101
- },
102
- // Cycles
103
- list_cycles: {
104
- "verdict": "read",
105
- "reason": "Reads existing Linear list cycles data without changing workspace state.",
106
- },
107
- // Comments
108
- list_comments: {
109
- "verdict": "read",
110
- "reason": "Reads existing Linear list comments data without changing workspace state.",
111
- },
112
- save_comment: { verdict: "destructive", reason: UPSERT },
113
- delete_comment: {
114
- "verdict": "destructive",
115
- "reason": "Changes or removes existing Linear state through delete_comment.",
116
- },
117
- // Documents
118
- list_documents: {
119
- "verdict": "read",
120
- "reason": "Reads existing Linear list documents data without changing workspace state.",
121
- },
122
- get_document: {
123
- "verdict": "read",
124
- "reason": "Reads existing Linear get document data without changing workspace state.",
125
- },
126
- save_document: { verdict: "destructive", reason: UPSERT },
127
- // Teams and users
128
- list_teams: {
129
- "verdict": "read",
130
- "reason": "Reads existing Linear list teams data without changing workspace state.",
131
- },
132
- get_team: { "verdict": "read", "reason": "Reads existing Linear get team data without changing workspace state." },
133
- list_users: {
134
- "verdict": "read",
135
- "reason": "Reads existing Linear list users data without changing workspace state.",
136
- },
137
- get_user: { "verdict": "read", "reason": "Reads existing Linear get user data without changing workspace state." },
138
- get_workspace: {
139
- "verdict": "read",
140
- "reason": "Reads existing Linear get workspace data without changing workspace state.",
141
- },
142
- // Templates
143
- list_templates: {
144
- "verdict": "read",
145
- "reason": "Reads existing Linear list templates data without changing workspace state.",
146
- },
147
- get_template: {
148
- "verdict": "read",
149
- "reason": "Reads existing Linear get template data without changing workspace state.",
150
- },
151
- // Status updates
152
- get_status_updates: {
153
- "verdict": "read",
154
- "reason": "Reads existing Linear get status updates data without changing workspace state.",
155
- },
156
- save_status_update: { verdict: "destructive", reason: UPSERT },
157
- delete_status_update: {
158
- "verdict": "destructive",
159
- "reason": "Changes or removes existing Linear state through delete_status_update.",
160
- },
161
- // Releases
162
- list_release_pipelines: {
163
- "verdict": "read",
164
- "reason": "Reads existing Linear list release pipelines data without changing workspace state.",
165
- },
166
- list_releases: {
167
- "verdict": "read",
168
- "reason": "Reads existing Linear list releases data without changing workspace state.",
169
- },
170
- get_release: {
171
- "verdict": "read",
172
- "reason": "Reads existing Linear get release data without changing workspace state.",
173
- },
174
- list_release_notes: {
175
- "verdict": "read",
176
- "reason": "Reads existing Linear list release notes data without changing workspace state.",
177
- },
178
- get_release_note: {
179
- "verdict": "read",
180
- "reason": "Reads existing Linear get release note data without changing workspace state.",
181
- },
182
- save_release: { verdict: "destructive", reason: UPSERT },
183
- save_release_note: { verdict: "destructive", reason: UPSERT },
184
- // Code review
185
- list_diffs: {
186
- "verdict": "read",
187
- "reason": "Reads existing Linear list diffs data without changing workspace state.",
188
- },
189
- get_diff: { "verdict": "read", "reason": "Reads existing Linear get diff data without changing workspace state." },
190
- get_diff_threads: {
191
- "verdict": "read",
192
- "reason": "Reads existing Linear get diff threads data without changing workspace state.",
193
- },
194
- save_diff_comment: { verdict: "destructive", reason: UPSERT },
195
- resolve_diff_thread: {
196
- "verdict": "destructive",
197
- "reason": "Changes or removes existing Linear state through resolve_diff_thread.",
198
- },
199
- delete_diff_comment: {
200
- "verdict": "destructive",
201
- "reason": "Changes or removes existing Linear state through delete_diff_comment.",
202
- },
203
- submit_diff_review: {
204
- "verdict": "destructive",
205
- "reason": "Changes or removes existing Linear state through submit_diff_review.",
206
- },
207
- merge_diff: { "verdict": "destructive", "reason": "Changes or removes existing Linear state through merge_diff." },
208
- // Attachments
209
- get_attachment: {
210
- "verdict": "read",
211
- "reason": "Reads existing Linear get attachment data without changing workspace state.",
212
- },
213
- prepare_attachment_upload: {
214
- verdict: "write",
215
- reason: "Mints an upload URL: a side effect, but it changes no existing record.",
216
- },
217
- create_attachment_from_upload: {
218
- "verdict": "write",
219
- "reason": "Creates Linear state through create_attachment_from_upload; the reviewed operation only appends.",
220
- },
221
- create_attachment: {
222
- "verdict": "write",
223
- "reason": "Creates Linear state through create_attachment; the reviewed operation only appends.",
224
- },
225
- delete_attachment: {
226
- "verdict": "destructive",
227
- "reason": "Changes or removes existing Linear state through delete_attachment.",
228
- },
229
- // Explicit issue access.
230
- share_issue: {
231
- verdict: "destructive",
232
- reason: "Changes who can see an existing issue.",
233
- },
234
- unshare_issue: {
235
- verdict: "destructive",
236
- reason: "Changes who can see an existing issue.",
237
- },
238
- // Agent skills
239
- list_agent_skills: {
240
- "verdict": "read",
241
- "reason": "Reads existing Linear list agent skills data without changing workspace state.",
242
- },
243
- get_agent_skill: {
244
- "verdict": "read",
245
- "reason": "Reads existing Linear get agent skill data without changing workspace state.",
246
- },
247
- // Documentation search
248
- search_documentation: {
249
- "verdict": "read",
250
- "reason": "Reads existing Linear search documentation data without changing workspace state.",
251
- },
252
- // Customer requests (plan-gated)
253
- list_customers: {
254
- "verdict": "read",
255
- "reason": "Reads existing Linear list customers data without changing workspace state.",
256
- },
257
- save_customer: { verdict: "destructive", reason: UPSERT },
258
- delete_customer: {
259
- "verdict": "destructive",
260
- "reason": "Changes or removes existing Linear state through delete_customer.",
261
- },
262
- save_customer_need: { verdict: "destructive", reason: UPSERT },
263
- delete_customer_need: {
264
- "verdict": "destructive",
265
- "reason": "Changes or removes existing Linear state through delete_customer_need.",
266
- },
267
- // Markdown helper.
268
- extract_images: {
269
- verdict: "read",
270
- reason: "Reads images out of content it is handed and touches no workspace state; the hosted server ships it annotated readOnlyHint: true and idempotentHint: true.",
271
- },
272
- },
273
- };
274
- /**
275
- * Connection-independent conventions. The access note and purpose lead the
276
- * rendered guide; deployment instructions follow it.
277
- */
278
- /** The closed options linear() accepts, checked against LinearOptions. */
279
- const LINEAR_OPTIONS = optionsOf()({
280
- ...PROVIDER_COMMON,
281
- ...keys("access"),
282
- auth: REMOTE_MCP_AUTH,
283
- });
284
- /** A maintained Linear hosted-MCP connection. */
285
- export const linear = defineProvider({
286
- name: "linear",
287
- title: "Linear",
288
- kind: "mcp",
289
- readme: "Linear",
290
- bundle: { "baselineGzip": 127244, "maxGzip": 187244 },
291
- skill,
292
- options: LINEAR_OPTIONS,
293
- classify: LINEAR_CLASSIFICATION,
294
- create(id, options, provider) {
295
- const access = options.access;
296
- if (access !== "read-write" && access !== "read-only") {
297
- throw new Error(`linear("${id}") requires access "read-write" or "read-only".`);
298
- }
299
- // Leads the guide because discovery summarizes a connector by its first
300
- // content line: whether this connection can write at all is the one thing
301
- // an agent must know before it opens the guide, and `search_tools` shows
302
- // the summary without the description.
303
- const accessNote = access === "read-only"
304
- ? "Read-only connection: bound to Linear's read-only endpoint, whose token is scope-limited downstream, so every write fails at Linear regardless of arguments. Route writes to a connector configured for read-write access."
305
- : "Read-write connection: treat every `save_`, `create_`, `delete_`, `resolve_`, `submit_`, and `merge_` operation as a write. Connecta classifies the maintained writes explicitly, and a read-only endpoint refuses them. Unknown tools without an explicit, uncontradicted read annotation fail closed.";
306
- return remoteMcp(id, {
307
- url: LINEAR_MCP_ENDPOINTS[access],
308
- ...provider.connectorOptions,
309
- // The title is what browse-time discovery renders; a read-only
310
- // connection says so there rather than only in a description the caller
311
- // may not see.
312
- title: options.title ?? (access === "read-only" ? "Linear (read-only)" : "Linear"),
313
- description: access === "read-only"
314
- ? `Linear issue tracking and project planning (read-only) — ${options.purpose}`
315
- : `Linear issue tracking and project planning — ${options.purpose}`,
316
- // Linear's MCP endpoint takes an API key the same way it takes an OAuth
317
- // token — `Authorization: Bearer <yourtoken>` — so only the slot copy is
318
- // provider-specific and the bearer framing default stands. The
319
- // bare-header convention belongs to Linear's GraphQL API, not to this
320
- // endpoint.
321
- auth: withCredentialDefaults(options.auth ?? { type: "oauth" }, {
322
- credential: {
323
- label: "Personal API key",
324
- description: "A Linear personal API key. It carries the issuing user's full workspace access and is stored encrypted; the read-only endpoint still limits what it can reach.",
325
- placeholder: "lin_api_…",
326
- },
327
- }),
328
- requireHttps: true,
329
- classify: provider.classify,
330
- usageGuide: provider.usageGuide({
331
- context: [accessNote, `Workspace purpose: ${options.purpose}`],
332
- // Explicit rather than derived. The derived summary would truncate the
333
- // access note mid-sentence at 120 characters, and the one thing a
334
- // browsing agent must not get wrong is whether this connection can
335
- // write at all ([#342](https://github.com/zackbart/connecta/issues/342)).
336
- // Not `required`: Linear's own schemas describe each call correctly;
337
- // the guide adds cross-tool sequence advice worth reading before a
338
- // write, not before every read.
339
- summary: access === "read-only"
340
- ? "Read-only: every write fails at Linear. Id resolution, upsert semantics, and cursor paging."
341
- : "Read-write. Id resolution, `save_*` upsert semantics, plan-gated areas, and cursor paging.",
342
- }),
343
- });
344
- },
345
- });
346
- /**
347
- * The reviewed classification in the legacy manifest form.
348
- *
349
- * @deprecated Read `linear.definition.classify` instead. This alias is derived
350
- * from it and retained for existing public imports.
351
- */
352
- export const LINEAR_VETTED_CATALOG = reviewedCatalog(linear.definition.classify, 'defineProvider("linear")');
@@ -1,8 +0,0 @@
1
- // Generated by scripts/generate-providers.mjs; do not edit.
2
- export const skill = {
3
- "content": "- Issue arguments use `state`, not `status`. Resolve team-specific states through `list_issue_statuses` and use the value format required by the live input schema.\n- Resolve identity before acting. `list_teams`, `list_users`, `list_projects`, `list_issue_statuses`, and `list_issue_labels` return the ids that create and update arguments expect; do not guess a team, status, label, or assignee id.\n- Issues carry a human identifier like `ENG-123` — team key, dash, number — alongside a UUID. Use the identifier the request gave you and resolve it with `get_issue` or `list_issues` when a tool wants an id; never fabricate an identifier or renumber one.\n- `save_*` tools are upserts: omit the record id to create, supply it to update in place. Read the record first when you mean to update, and send only the fields you intend to change — an upsert overwrites what you restate.\n- Labels are the exception to that naming: `create_issue_label` and `create_initiative_label` only ever create.\n- Projects, milestones, and initiatives nest: initiatives contain projects, projects contain milestones and issues, and cycles are per-team time boxes. Scope a search by team or project rather than listing the workspace and filtering afterwards.\n- List tools paginate with a cursor. Thread the returned cursor for the next page instead of raising the page size, and reduce pages inside `execute_code` before returning them.\n- This workspace's catalog is not the whole product. Customer requests, releases, and code review are plan- and feature-gated, so search the catalog for what this connector actually exposes rather than assuming a tool exists.\n- Linear meters the underlying API per user per hour, shared with everything else that credential does. Reuse discovery results within a run and avoid speculative fan-out.\n- An `auth_required` failure means this connector's Linear authorization is missing or expired: run `authorize_connector` for this connector id, then retry the same call unchanged.",
4
- "instructionsHeading": "Workspace instructions",
5
- "fragments": {
6
- "content": "- Issue arguments use `state`, not `status`. Resolve team-specific states through `list_issue_statuses` and use the value format required by the live input schema.\n- Resolve identity before acting. `list_teams`, `list_users`, `list_projects`, `list_issue_statuses`, and `list_issue_labels` return the ids that create and update arguments expect; do not guess a team, status, label, or assignee id.\n- Issues carry a human identifier like `ENG-123` — team key, dash, number — alongside a UUID. Use the identifier the request gave you and resolve it with `get_issue` or `list_issues` when a tool wants an id; never fabricate an identifier or renumber one.\n- `save_*` tools are upserts: omit the record id to create, supply it to update in place. Read the record first when you mean to update, and send only the fields you intend to change — an upsert overwrites what you restate.\n- Labels are the exception to that naming: `create_issue_label` and `create_initiative_label` only ever create.\n- Projects, milestones, and initiatives nest: initiatives contain projects, projects contain milestones and issues, and cycles are per-team time boxes. Scope a search by team or project rather than listing the workspace and filtering afterwards.\n- List tools paginate with a cursor. Thread the returned cursor for the next page instead of raising the page size, and reduce pages inside `execute_code` before returning them.\n- This workspace's catalog is not the whole product. Customer requests, releases, and code review are plan- and feature-gated, so search the catalog for what this connector actually exposes rather than assuming a tool exists.\n- Linear meters the underlying API per user per hour, shared with everything else that credential does. Reuse discovery results within a run and avoid speculative fan-out.\n- An `auth_required` failure means this connector's Linear authorization is missing or expired: run `authorize_connector` for this connector id, then retry the same call unchanged."
7
- }
8
- };
@@ -1,57 +0,0 @@
1
- import { type RemoteMcpAuth } from "../../connectors/remote-mcp.js";
2
- import type { ConnectorCallAdmissionPolicy } from "../../types.js";
3
- export type MixpanelRegion = "us" | "eu" | "in";
4
- export declare const MIXPANEL_MCP_ENDPOINTS: Readonly<Record<MixpanelRegion, string>>;
5
- interface MixpanelCommonOptions {
6
- /**
7
- * Human-readable display name; defaults to "Mixpanel (<region>)". The region
8
- * rides the title because a project lives in exactly one residency and
9
- * discovery shows the title before anything else.
10
- */
11
- title?: string;
12
- /** Downstream auth ownership. Defaults to one shared deployment grant. */
13
- authScope?: "shared" | "personal";
14
- /** Who should use this account and for what decisions. */
15
- purpose: string;
16
- /**
17
- * Data residency region, selecting the matching official endpoint. A wrong
18
- * region answers empty rather than wrong, which reads as an empty project.
19
- */
20
- region?: MixpanelRegion;
21
- /** Account-specific conventions appended to the maintained provider guide. */
22
- instructions?: string;
23
- /** Connector-specific inline result limit; omit to inherit the deployment. */
24
- maxResultBytes?: number;
25
- /**
26
- * Optional per-runtime policy. API mode defaults to 60 calls/hour and five
27
- * concurrent calls across all tools and projects. MCP mode has no default:
28
- * its per-user hourly quota cannot be modeled by one per-runtime counter.
29
- */
30
- callAdmission?: ConnectorCallAdmissionPolicy;
31
- }
32
- /** The default hosted MCP connection. Existing auth configurations still work. */
33
- export interface MixpanelMcpOptions extends MixpanelCommonOptions {
34
- via?: "mcp";
35
- /**
36
- * OAuth by default; static headers support Mixpanel service accounts, and
37
- * `{ type: "credential" }` takes the same service account as an
38
- * operator-managed `username:secret` that Connecta frames for the endpoint.
39
- */
40
- auth?: RemoteMcpAuth;
41
- defaultProjectId?: never;
42
- }
43
- /** REST APIs using an operator-managed username:secret service account. */
44
- export interface MixpanelApiOptions extends MixpanelCommonOptions {
45
- via: "api";
46
- auth: {
47
- type: "credential";
48
- };
49
- /** Fills an omitted project_id. Explicit ids still reach other granted projects. */
50
- defaultProjectId?: number;
51
- }
52
- export type MixpanelOptions = MixpanelMcpOptions | MixpanelApiOptions;
53
- /** Mixpanel hosted MCP by default, or service-account REST with via: "api". */
54
- export declare const mixpanel: import("../../provider.js").ProviderFactory<MixpanelOptions>;
55
- /** @deprecated Read `mixpanel.definition.classify` instead. Kept for existing imports. */
56
- export declare const MIXPANEL_VETTED_CATALOG: import("../../catalog-drift.js").VettedCatalog;
57
- export {};