@zackbart/connecta 0.34.1 → 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 (429) hide show
  1. package/CHANGELOG.md +363 -0
  2. package/README.md +62 -106
  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 +12 -7
  53. package/dist/connectors/api-connector.js +142 -56
  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/remote-mcp.d.ts +10 -30
  58. package/dist/connectors/remote-mcp.js +955 -563
  59. package/dist/d1.js +10 -243
  60. package/dist/derived-context.js +5 -0
  61. package/dist/describe-config.d.ts +3 -1
  62. package/dist/describe-config.js +2 -0
  63. package/dist/downstream-input.js +347 -260
  64. package/dist/errors.d.ts +87 -6
  65. package/dist/errors.js +114 -4
  66. package/dist/execute.js +87 -50
  67. package/dist/executor-admission.js +3 -0
  68. package/dist/executors/quickjs.js +163 -112
  69. package/dist/guarded-transport.js +50 -0
  70. package/dist/guest-runtime.js +1 -1
  71. package/dist/http/client.js +439 -0
  72. package/dist/http/errors.js +558 -0
  73. package/dist/http/fields.js +49 -0
  74. package/dist/http/hatch-paging.js +318 -0
  75. package/dist/http/hatch.js +1279 -0
  76. package/dist/http/json-schema.js +267 -0
  77. package/dist/http/node-transport.js +241 -0
  78. package/dist/http/oauth.js +162 -0
  79. package/dist/http/paging.js +228 -0
  80. package/dist/http/provider.js +221 -0
  81. package/dist/http/safety.js +82 -0
  82. package/dist/http/services.js +79 -0
  83. package/dist/http/tools.js +383 -0
  84. package/dist/http/vendor-index.js +138 -0
  85. package/dist/http/vendor.js +448 -0
  86. package/dist/http/write-request.js +66 -0
  87. package/dist/http-policy.d.ts +11 -0
  88. package/dist/http-policy.js +45 -0
  89. package/dist/inbound-credential.js +1 -1
  90. package/dist/index.d.ts +2 -2
  91. package/dist/index.js +4 -0
  92. package/dist/invocation-auth.js +30 -19
  93. package/dist/invocation.js +218 -85
  94. package/dist/mcp-result.js +0 -4
  95. package/dist/membership.d.ts +4 -0
  96. package/dist/meta-output.js +1 -1
  97. package/dist/meta-tools.js +531 -406
  98. package/dist/native-recovery.js +52 -0
  99. package/dist/native-tools.js +382 -0
  100. package/dist/node.d.ts +4 -3
  101. package/dist/node.js +45 -8
  102. package/dist/oauth-handoff.js +177 -104
  103. package/dist/oauth-partition.js +6 -20
  104. package/dist/oauth-sealing.js +6 -7
  105. package/dist/operation-vocabulary.js +101 -0
  106. package/dist/operator-record.d.ts +2 -2
  107. package/dist/operator-record.js +17 -4
  108. package/dist/operator-ui/agents.d.ts +5 -4
  109. package/dist/operator-ui/agents.js +17 -7
  110. package/dist/operator-ui/config-summary.js +5 -4
  111. package/dist/operator-ui/connection-map.js +7 -5
  112. package/dist/operator-ui/contract.d.ts +7 -3
  113. package/dist/operator-ui/endpoints.js +4 -13
  114. package/dist/operator-ui/fix-prompts.d.ts +1 -1
  115. package/dist/operator-ui/fix-prompts.js +0 -8
  116. package/dist/operator-ui/generated.js +3 -3
  117. package/dist/operator-ui/model.d.ts +2 -3
  118. package/dist/operator-ui/overview.js +5 -2
  119. package/dist/operator-ui/setup-commands.js +0 -4
  120. package/dist/operator-ui/view.d.ts +2 -25
  121. package/dist/operator-ui/view.js +2 -76
  122. package/dist/program-writes.js +47 -26
  123. package/dist/provider-call-facts.d.ts +115 -0
  124. package/dist/provider-call-facts.js +182 -0
  125. package/dist/provider-call.d.ts +112 -0
  126. package/dist/provider-call.js +271 -0
  127. package/dist/provider.d.ts +65 -31
  128. package/dist/provider.js +116 -39
  129. package/dist/providers/_shared/google/hatch.js +91 -0
  130. package/dist/providers/_shared/google/kit.js +537 -0
  131. package/dist/providers/_shared/google/result-size.js +15 -2
  132. package/dist/providers/_shared/google/service-account.d.ts +2 -1
  133. package/dist/providers/_shared/google/service-account.js +8 -4
  134. package/dist/providers/_shared/google/workspace.d.ts +6 -210
  135. package/dist/providers/_shared/google/workspace.js +6 -425
  136. package/dist/providers/_shared/rest/compact-index.js +86 -0
  137. package/dist/providers/_shared/rest/dispatch.js +3 -23
  138. package/dist/providers/_shared/rest/kit.js +546 -0
  139. package/dist/providers/_shared/rest/operation-index.js +230 -14
  140. package/dist/providers/_shared/rest/response-media.js +11 -0
  141. package/dist/providers/_shared/rest/tools.js +101 -78
  142. package/dist/providers/_shared/rest/value-safety.js +353 -195
  143. package/dist/providers/_shared/sensitive-fields.js +27 -0
  144. package/dist/providers/breeze/api.js +584 -0
  145. package/dist/providers/breeze/index.d.ts +1 -3
  146. package/dist/providers/breeze/index.js +67 -1420
  147. package/dist/providers/breeze/openapi.generated.js +60 -0
  148. package/dist/providers/breeze/skill.generated.js +2 -6
  149. package/dist/providers/breeze/tools.js +696 -0
  150. package/dist/providers/ccb/api.js +496 -0
  151. package/dist/providers/ccb/index.d.ts +15 -37
  152. package/dist/providers/ccb/index.js +77 -1702
  153. package/dist/providers/ccb/lib/constants.d.ts +34 -0
  154. package/dist/providers/ccb/lib/constants.js +74 -0
  155. package/dist/providers/ccb/lib/guide.js +9 -0
  156. package/dist/providers/ccb/lib/verdicts.js +387 -0
  157. package/dist/providers/ccb/openapi.generated.js +397 -0
  158. package/dist/providers/ccb/safety.js +295 -0
  159. package/dist/providers/ccb/skill.generated.js +2 -6
  160. package/dist/providers/ccb/tools.js +853 -0
  161. package/dist/providers/cloudflare/api.js +1066 -0
  162. package/dist/providers/cloudflare/index.d.ts +5 -22
  163. package/dist/providers/cloudflare/index.js +79 -197
  164. package/dist/providers/cloudflare/lib/config.d.ts +16 -0
  165. package/dist/providers/cloudflare/lib/config.js +2 -0
  166. package/dist/providers/cloudflare/lib/discovery.js +29 -0
  167. package/dist/providers/cloudflare/{graphql.js → lib/graphql.js} +1 -1
  168. package/dist/providers/cloudflare/lib/hatch.js +103 -0
  169. package/dist/providers/cloudflare/lib/path-bounds.js +28 -0
  170. package/dist/providers/cloudflare/lib/response-media.js +75 -0
  171. package/dist/providers/cloudflare/openapi.generated.js +4 -3
  172. package/dist/providers/cloudflare/{value-safety.js → safety.js} +487 -0
  173. package/dist/providers/cloudflare/skill.generated.js +2 -10
  174. package/dist/providers/cloudflare/tools.js +360 -0
  175. package/dist/providers/docs/api.js +51 -0
  176. package/dist/providers/docs/index.d.ts +1 -12
  177. package/dist/providers/docs/index.js +53 -1165
  178. package/dist/providers/docs/lib/constants.d.ts +18 -0
  179. package/dist/providers/docs/lib/constants.js +18 -0
  180. package/dist/providers/docs/lib/discovery.js +26 -0
  181. package/dist/providers/docs/lib/requests.js +48 -0
  182. package/dist/providers/docs/lib/schemas.js +168 -0
  183. package/dist/providers/docs/openapi.generated.js +16 -0
  184. package/dist/providers/docs/safety.js +54 -0
  185. package/dist/providers/docs/skill.generated.js +2 -6
  186. package/dist/providers/docs/tools.js +802 -0
  187. package/dist/providers/drive/api.js +177 -0
  188. package/dist/providers/drive/index.d.ts +1 -12
  189. package/dist/providers/drive/index.js +38 -1448
  190. package/dist/providers/drive/lib/constants.d.ts +6 -0
  191. package/dist/providers/drive/lib/constants.js +6 -0
  192. package/dist/providers/drive/lib/contracts.js +532 -0
  193. package/dist/providers/drive/lib/hatch.js +197 -0
  194. package/dist/providers/drive/openapi.generated.js +77 -0
  195. package/dist/providers/drive/safety.js +90 -0
  196. package/dist/providers/drive/skill.generated.js +2 -6
  197. package/dist/providers/drive/tools.js +1290 -0
  198. package/dist/providers/forms/api.js +71 -0
  199. package/dist/providers/forms/index.d.ts +1 -12
  200. package/dist/providers/forms/index.js +49 -1145
  201. package/dist/providers/forms/lib/constants.d.ts +14 -0
  202. package/dist/providers/forms/lib/constants.js +19 -0
  203. package/dist/providers/forms/lib/hatch.js +72 -0
  204. package/dist/providers/forms/openapi.generated.js +23 -0
  205. package/dist/providers/forms/safety.js +34 -0
  206. package/dist/providers/forms/skill.generated.js +2 -8
  207. package/dist/providers/forms/tools.js +1024 -0
  208. package/dist/providers/github/api.js +150 -0
  209. package/dist/providers/github/index.d.ts +4 -5
  210. package/dist/providers/github/index.js +30 -87
  211. package/dist/providers/github/{auth.d.ts → lib/auth.d.ts} +5 -3
  212. package/dist/providers/github/{auth.js → lib/auth.js} +40 -43
  213. package/dist/providers/github/lib/discovery.js +132 -0
  214. package/dist/providers/github/lib/operations.js +58 -0
  215. package/dist/providers/github/{scope.d.ts → lib/scope.d.ts} +2 -0
  216. package/dist/providers/github/{scope.js → lib/scope.js} +25 -1
  217. package/dist/providers/github/openapi.generated.js +1216 -0
  218. package/dist/providers/github/safety.js +216 -0
  219. package/dist/providers/github/skill.generated.js +2 -5
  220. package/dist/providers/github/tools.js +506 -0
  221. package/dist/providers/gmail/api.js +114 -0
  222. package/dist/providers/gmail/index.d.ts +1 -12
  223. package/dist/providers/gmail/index.js +73 -1621
  224. package/dist/providers/gmail/lib/constants.d.ts +13 -0
  225. package/dist/providers/gmail/lib/constants.js +16 -0
  226. package/dist/providers/gmail/lib/index.js +173 -0
  227. package/dist/providers/gmail/lib/schemas.js +176 -0
  228. package/dist/providers/gmail/lib/threading.js +120 -0
  229. package/dist/providers/gmail/openapi.generated.js +92 -0
  230. package/dist/providers/gmail/safety.js +21 -0
  231. package/dist/providers/gmail/skill.generated.js +2 -6
  232. package/dist/providers/gmail/tools.js +1435 -0
  233. package/dist/providers/overflow/api.js +1008 -0
  234. package/dist/providers/overflow/index.d.ts +1 -17
  235. package/dist/providers/overflow/index.js +60 -1488
  236. package/dist/providers/overflow/skill.generated.js +2 -5
  237. package/dist/providers/overflow/tools.js +873 -0
  238. package/dist/providers/planning-center/api.js +467 -0
  239. package/dist/providers/planning-center/index.d.ts +4 -35
  240. package/dist/providers/planning-center/index.js +69 -2445
  241. package/dist/providers/planning-center/lib/constants.d.ts +58 -0
  242. package/dist/providers/planning-center/lib/constants.js +83 -0
  243. package/dist/providers/planning-center/lib/discovery.js +40 -0
  244. package/dist/providers/planning-center/lib/guide.js +39 -0
  245. package/dist/providers/planning-center/lib/json-api.js +83 -0
  246. package/dist/providers/planning-center/lib/verdicts.js +1758 -0
  247. package/dist/providers/planning-center/openapi.generated.js +1764 -0
  248. package/dist/providers/planning-center/safety.js +188 -0
  249. package/dist/providers/planning-center/skill.generated.js +2 -27
  250. package/dist/providers/planning-center/tools.js +1010 -0
  251. package/dist/providers/sheets/api.js +133 -0
  252. package/dist/providers/sheets/index.d.ts +4 -16
  253. package/dist/providers/sheets/index.js +61 -1172
  254. package/dist/providers/sheets/lib/constants.d.ts +14 -0
  255. package/dist/providers/sheets/lib/constants.js +14 -0
  256. package/dist/providers/sheets/lib/hatch.js +163 -0
  257. package/dist/providers/sheets/lib/requests.js +105 -0
  258. package/dist/providers/sheets/lib/schemas.js +138 -0
  259. package/dist/providers/sheets/openapi.generated.js +30 -0
  260. package/dist/providers/sheets/safety.js +27 -0
  261. package/dist/providers/sheets/skill.generated.js +2 -7
  262. package/dist/providers/sheets/tools.js +734 -0
  263. package/dist/providers/slides/api.js +147 -0
  264. package/dist/providers/slides/index.d.ts +2 -10
  265. package/dist/providers/slides/index.js +48 -2555
  266. package/dist/providers/slides/lib/constants.d.ts +11 -0
  267. package/dist/providers/slides/lib/constants.js +11 -0
  268. package/dist/providers/slides/lib/requests.js +60 -0
  269. package/dist/providers/slides/lib/schemas.js +565 -0
  270. package/dist/providers/slides/openapi.generated.js +18 -0
  271. package/dist/providers/slides/skill.generated.js +2 -6
  272. package/dist/providers/slides/tools.js +1968 -0
  273. package/dist/providers/stripe/api.js +401 -0
  274. package/dist/providers/stripe/index.d.ts +5 -27
  275. package/dist/providers/stripe/index.js +74 -210
  276. package/dist/providers/stripe/lib/config.d.ts +4 -0
  277. package/dist/providers/stripe/lib/config.js +2 -0
  278. package/dist/providers/stripe/openapi.generated.js +4 -3
  279. package/dist/providers/stripe/{value-safety.js → safety.js} +5 -5
  280. package/dist/providers/stripe/skill.generated.js +2 -11
  281. package/dist/providers/stripe/tools.js +77 -0
  282. package/dist/providers/tithely/api.js +531 -0
  283. package/dist/providers/tithely/index.d.ts +17 -0
  284. package/dist/providers/tithely/index.js +86 -965
  285. package/dist/providers/tithely/skill.generated.js +2 -5
  286. package/dist/providers/tithely/tools.js +426 -0
  287. package/dist/providers/vercel/api.js +551 -0
  288. package/dist/providers/vercel/index.d.ts +9 -25
  289. package/dist/providers/vercel/index.js +66 -260
  290. package/dist/providers/vercel/lib/config.d.ts +2 -0
  291. package/dist/providers/vercel/lib/config.js +2 -0
  292. package/dist/providers/vercel/lib/index.js +117 -0
  293. package/dist/providers/vercel/lib/logs.js +100 -0
  294. package/dist/providers/vercel/lib/pin.js +270 -0
  295. package/dist/providers/vercel/openapi.generated.js +10 -5
  296. package/dist/providers/vercel/{value-safety.js → safety.js} +247 -38
  297. package/dist/providers/vercel/skill.generated.js +2 -7
  298. package/dist/providers/vercel/tools.js +642 -0
  299. package/dist/redaction-identity.js +47 -0
  300. package/dist/redaction-marker.js +125 -0
  301. package/dist/registry.d.ts +21 -15
  302. package/dist/registry.js +409 -376
  303. package/dist/routes/access-tokens.js +1 -1
  304. package/dist/routes/actor-labels.js +1 -1
  305. package/dist/routes/connect.js +1 -1
  306. package/dist/routes/dispatch.js +103 -0
  307. package/dist/routes/mcp.js +170 -79
  308. package/dist/routes/oauth.js +3 -1
  309. package/dist/routes/operator.js +2 -2
  310. package/dist/routes/shared.d.ts +5 -4
  311. package/dist/routes/shared.js +244 -177
  312. package/dist/routes/skills.js +10 -8
  313. package/dist/routes/ui-config.js +27 -3
  314. package/dist/routes/ui-data.js +21 -20
  315. package/dist/routes/ui.js +1 -1
  316. package/dist/runtime/call-admission.js +0 -26
  317. package/dist/runtime/call-entry.js +30 -0
  318. package/dist/runtime/call.js +556 -0
  319. package/dist/runtime/connector-scope.js +7 -0
  320. package/dist/runtime/credential-probe.js +34 -0
  321. package/dist/runtime/executor.js +40 -0
  322. package/dist/runtime/native-storage.js +63 -0
  323. package/dist/runtime/registry.js +27 -0
  324. package/dist/runtime/request-scope.js +72 -0
  325. package/dist/runtime/run.js +15 -7
  326. package/dist/runtime/shared-read.js +34 -5
  327. package/dist/runtime/storage.js +34 -21
  328. package/dist/sent-secrets.d.ts +194 -37
  329. package/dist/sent-secrets.js +1743 -340
  330. package/dist/server.js +5 -56
  331. package/dist/skills.js +322 -222
  332. package/dist/sqlite.js +15 -14
  333. package/dist/storage/d1-copy.js +255 -0
  334. package/dist/storage/d1-driver.js +15 -0
  335. package/dist/storage/keys.js +28 -0
  336. package/dist/storage/sql-driver.js +88 -0
  337. package/dist/storage/sql-native.js +544 -0
  338. package/dist/storage/sql-schema.d.ts +6 -0
  339. package/dist/storage/sql-schema.js +15 -0
  340. package/dist/storage/sql.d.ts +14 -20
  341. package/dist/storage/sql.js +29 -535
  342. package/dist/timeout.js +0 -26
  343. package/dist/tool-safety.js +20 -10
  344. package/dist/types.d.ts +7 -109
  345. package/dist/upward.js +3 -0
  346. package/dist/usage-guide.js +3 -1
  347. package/dist/validate.d.ts +4 -2
  348. package/dist/validate.js +86 -9
  349. package/dist/version.d.ts +1 -1
  350. package/dist/version.js +1 -1
  351. package/dist/worker.js +312 -292
  352. package/dist/workspace-subject.js +5 -1
  353. package/dist/write-outcome.js +454 -34
  354. package/documentation/README.md +27 -7
  355. package/documentation/architecture.md +2547 -226
  356. package/documentation/auth.md +821 -98
  357. package/documentation/code-mode.md +49 -16
  358. package/documentation/deploying.md +164 -20
  359. package/documentation/hosted-mcp-migration.md +460 -0
  360. package/documentation/integrating.md +129 -144
  361. package/documentation/meta-tools.md +409 -32
  362. package/documentation/operating.md +27 -3
  363. package/documentation/operator-tests.md +3 -0
  364. package/documentation/operator-ui.md +68 -45
  365. package/documentation/provider-auth-migration.md +16 -63
  366. package/documentation/provider-migration-0.29.md +10 -5
  367. package/documentation/provider-migration-0.35.md +975 -0
  368. package/documentation/providers.md +965 -0
  369. package/examples/worker/AGENTS.md +23 -9
  370. package/examples/worker/README.md +254 -135
  371. package/examples/worker/alchemy.run.ts +116 -0
  372. package/examples/worker/gitignore +10 -0
  373. package/examples/worker/src/connecta.config.ts +23 -21
  374. package/examples/worker/wrangler.jsonc +14 -5
  375. package/guides/connecting-agents.md +157 -0
  376. package/guides/how-it-works.md +156 -0
  377. package/guides/safety-and-trust.md +153 -0
  378. package/package.json +27 -46
  379. package/templates/node/.env.example +3 -0
  380. package/templates/node/README.md +22 -2
  381. package/templates/node/docker-compose.yml +1 -0
  382. package/templates/node/package.json +3 -2
  383. package/templates/node/src/connecta.config.ts +8 -0
  384. package/dist/catalog-drift.d.ts +0 -138
  385. package/dist/catalog-drift.js +0 -578
  386. package/dist/providers/_shared/request-token.js +0 -83
  387. package/dist/providers/_shared/rest/operation-index.d.ts +0 -133
  388. package/dist/providers/_shared/rest/tools.d.ts +0 -141
  389. package/dist/providers/_shared/rest/value-safety.d.ts +0 -201
  390. package/dist/providers/basecamp/index.d.ts +0 -45
  391. package/dist/providers/basecamp/index.js +0 -997
  392. package/dist/providers/basecamp/skill.generated.js +0 -9
  393. package/dist/providers/cloudflare/rest.d.ts +0 -37
  394. package/dist/providers/cloudflare/rest.js +0 -1097
  395. package/dist/providers/github/hosted.js +0 -218
  396. package/dist/providers/github/rest.js +0 -321
  397. package/dist/providers/infisical/index.d.ts +0 -7
  398. package/dist/providers/infisical/index.js +0 -713
  399. package/dist/providers/infisical/skill.generated.js +0 -8
  400. package/dist/providers/intercom/index.d.ts +0 -24
  401. package/dist/providers/intercom/index.js +0 -121
  402. package/dist/providers/intercom/skill.generated.js +0 -8
  403. package/dist/providers/linear/index.d.ts +0 -55
  404. package/dist/providers/linear/index.js +0 -537
  405. package/dist/providers/linear/skill.generated.js +0 -8
  406. package/dist/providers/mixpanel/index.d.ts +0 -59
  407. package/dist/providers/mixpanel/index.js +0 -472
  408. package/dist/providers/mixpanel/operations.js +0 -20
  409. package/dist/providers/mixpanel/rest.js +0 -603
  410. package/dist/providers/mixpanel/skill.generated.js +0 -10
  411. package/dist/providers/mixpanel/value-safety.js +0 -16
  412. package/dist/providers/notion/index.d.ts +0 -67
  413. package/dist/providers/notion/index.js +0 -368
  414. package/dist/providers/notion/openapi.generated.js +0 -75
  415. package/dist/providers/notion/rest.d.ts +0 -24
  416. package/dist/providers/notion/rest.js +0 -1226
  417. package/dist/providers/notion/skill.generated.js +0 -11
  418. package/dist/providers/notion/value-safety.js +0 -56
  419. package/dist/providers/revenuecat/index.d.ts +0 -51
  420. package/dist/providers/revenuecat/index.js +0 -697
  421. package/dist/providers/revenuecat/skill.generated.js +0 -11
  422. package/dist/providers/stripe/rest.d.ts +0 -14
  423. package/dist/providers/stripe/rest.js +0 -402
  424. package/dist/providers/vercel/rest.d.ts +0 -20
  425. package/dist/providers/vercel/rest.js +0 -1020
  426. package/dist/providers/wispr-flow/index.d.ts +0 -14
  427. package/dist/providers/wispr-flow/index.js +0 -117
  428. package/dist/providers/wispr-flow/skill.generated.js +0 -8
  429. /package/dist/providers/github/{key.js → lib/key.js} +0 -0
@@ -7,7 +7,7 @@ export function slotActions(slot) {
7
7
  return slot.state === "issued" ? ["rotate", "revoke"] : ["issue"];
8
8
  }
9
9
  function contractSlot(agent) {
10
- return { name: agent.name, ...agent.token };
10
+ return agent.token ? { name: agent.name, ...agent.token } : null;
11
11
  }
12
12
  function maintainerAgents(contract) {
13
13
  return contract?.role === "maintainer" ? contract.agents : [];
@@ -22,7 +22,8 @@ export function resolveSlot(contract, slots, name) {
22
22
  if (listed)
23
23
  return { slot: listed, live: true };
24
24
  const agent = maintainerAgents(contract).find((candidate) => candidate.name === name);
25
- return agent ? { slot: contractSlot(agent), live: false } : null;
25
+ const slot = agent && contractSlot(agent);
26
+ return slot ? { slot, live: false } : null;
26
27
  }
27
28
  /**
28
29
  * One row per declared agent, in the slot list's order, then any agent only
@@ -33,20 +34,29 @@ export function agentRows(contract, slots, unresolved = []) {
33
34
  const declared = new Map(agents.map((agent) => [agent.name, agent]));
34
35
  const names = [...slots.map((slot) => slot.name), ...agents.map((agent) => agent.name)];
35
36
  return [...new Set(names)].map((name) => {
36
- const { slot, live } = resolveSlot(contract, slots, name);
37
+ const { slot, live } = resolveSlot(contract, slots, name) ?? { slot: null, live: false };
37
38
  const agent = declared.get(name);
38
39
  return {
39
40
  name,
40
41
  pools: agent?.pools ?? [],
42
+ credentialTypes: agent?.credentialTypes ?? [],
41
43
  slot,
42
44
  live,
43
- blocked: !live ? SLOT_UNAVAILABLE : unresolved.includes(name) || !slot.revision ? SLOT_UNRESOLVED : null,
45
+ blocked: !slot
46
+ ? "Agent tokens aren't configured."
47
+ : !live
48
+ ? SLOT_UNAVAILABLE
49
+ : unresolved.includes(name) || !slot.revision
50
+ ? SLOT_UNRESOLVED
51
+ : null,
44
52
  lastSeenAt: agent?.lastSeenAt ?? null,
45
- actions: slotActions(slot),
53
+ actions: slot ? slotActions(slot) : [],
46
54
  };
47
55
  });
48
56
  }
49
57
  export function slotBadge(slot) {
58
+ if (!slot)
59
+ return { label: "Not configured", tone: "neutral" };
50
60
  if (slot.state === "issued")
51
61
  return { label: "Issued", tone: "ok" };
52
62
  if (slot.state === "revoked")
@@ -55,9 +65,9 @@ export function slotBadge(slot) {
55
65
  }
56
66
  /** When the slot last changed, issued or revoked (its badge says which); a dash when it never has. */
57
67
  export function slotSince(slot, format) {
58
- if (slot.state === "issued")
68
+ if (slot?.state === "issued")
59
69
  return format(slot.issuedAt);
60
- if (slot.state === "revoked")
70
+ if (slot?.state === "revoked")
61
71
  return format(slot.revokedAt);
62
72
  return "—";
63
73
  }
@@ -17,7 +17,7 @@ function formatBytes(bytes) {
17
17
  return `${NUMBER.format(bytes)} B`;
18
18
  }
19
19
  /** The exact count behind a rounded size, for a tooltip. */
20
- export function exactBytes(bytes) {
20
+ function exactBytes(bytes) {
21
21
  return `${bytes.toLocaleString("en-US")} bytes`;
22
22
  }
23
23
  const DURATIONS = [
@@ -39,7 +39,7 @@ function formatMs(ms) {
39
39
  return `${NUMBER.format(ms)} ms`;
40
40
  }
41
41
  /** Format one value. Booleans read On or Off, never true or false; null reads None. */
42
- export function formatValue(value, format) {
42
+ function formatValue(value, format) {
43
43
  if (value === null || value === undefined)
44
44
  return "None";
45
45
  if (typeof value === "boolean")
@@ -67,7 +67,7 @@ export function formatValue(value, format) {
67
67
  }
68
68
  const UNIT_SUFFIX = /(Ms|Seconds|Bytes|Days)$/;
69
69
  /** The format a key's name implies: `probeTimeoutMs` is a duration, `maxStashBytes` a size. */
70
- export function inferFormat(key, value) {
70
+ function inferFormat(key, value) {
71
71
  if (typeof value === "boolean")
72
72
  return "toggle";
73
73
  if (typeof value !== "number")
@@ -84,7 +84,7 @@ export function inferFormat(key, value) {
84
84
  : "count";
85
85
  }
86
86
  /** `maxStashEntries` reads "Max stash entries"; a unit suffix drops because the value carries it. */
87
- export function humanizeKey(key) {
87
+ function humanizeKey(key) {
88
88
  // A word with two capitals is an acronym (OAuth, URL) and keeps its case.
89
89
  const words = key
90
90
  .replace(UNIT_SUFFIX, "")
@@ -158,6 +158,7 @@ const SIGN_IN = {
158
158
  clerk: { label: "Clerk", mark: "clerk" },
159
159
  "cloudflare-access": { label: "Cloudflare Access", mark: "access" },
160
160
  access_token: { label: "Agent tokens", mark: "tokens" },
161
+ vercel_oidc: { label: "Vercel workloads", mark: "tokens" },
161
162
  };
162
163
  const STORE = { memory: "Memory", d1: "D1", sqlite: "SQLite", custom: "Custom" };
163
164
  /** Known modules; any other `modules.<name>.enabled` becomes a tile named from its key. */
@@ -25,11 +25,11 @@ function plural(count, one, many = `${one}s`) {
25
25
  return `${count} ${count === 1 ? one : many}`;
26
26
  }
27
27
  /** Cut a name to `limit` characters, ending in an ellipsis when it was longer. */
28
- export function truncate(text, limit) {
28
+ function truncate(text, limit) {
29
29
  return text.length <= limit ? text : `${text.slice(0, limit - 1).trimEnd()}…`;
30
30
  }
31
31
  /** Where an endpoint's row opens on the Endpoints page. */
32
- export function endpointHref(path) {
32
+ function endpointHref(path) {
33
33
  return `/endpoints#${path.replace(/^\//, "")}`;
34
34
  }
35
35
  /** The endpoint path an Endpoints page hash names, or null. */
@@ -41,7 +41,7 @@ function connectorHref(id, healthy) {
41
41
  return `/connectors/${encodeURIComponent(id)}#${healthy ? "tools" : "connection"}`;
42
42
  }
43
43
  function tokenWorks(agent) {
44
- return agent?.token.state === "issued";
44
+ return agent?.credentialTypes.includes("vercel_oidc") === true || agent?.token?.state === "issued";
45
45
  }
46
46
  /**
47
47
  * People in the order the contract first lists them (plain /mcp's
@@ -118,13 +118,15 @@ function callerSummary(caller) {
118
118
  : `${name} uses ${through}, which serves no connectors.`;
119
119
  if (caller.kind !== "agent" || tokenWorks(caller.agent))
120
120
  return reach;
121
- const state = caller.agent?.token.state;
121
+ const state = caller.agent?.token?.state;
122
122
  return `${reach} ${state === "revoked" ? "Its token is revoked" : "It has no token"}, so it can't connect.`;
123
123
  }
124
124
  function callerDetail(caller, maintainers) {
125
125
  if (caller.kind === "person")
126
126
  return maintainers.has(caller.id) ? "maintainer" : "member";
127
- const state = caller.agent?.token.state;
127
+ if (caller.agent?.credentialTypes.includes("vercel_oidc"))
128
+ return "agent · Vercel OIDC";
129
+ const state = caller.agent?.token?.state;
128
130
  return state === "issued"
129
131
  ? "agent · token issued"
130
132
  : state === "revoked"
@@ -50,6 +50,8 @@ export interface OperatorPoolV2 {
50
50
  /** `/agent/<name>`. */
51
51
  agentPath: string;
52
52
  readOnly: boolean;
53
+ surface: "meta" | "native";
54
+ executeCode: boolean;
53
55
  /** Workspace address agents act as; null in the member view. */
54
56
  owner: string | null;
55
57
  /** The pool's declared tools, unfiltered. */
@@ -105,13 +107,15 @@ export type OperatorMemberManage = {
105
107
  export interface OperatorAgent {
106
108
  name: string;
107
109
  pools: string[];
110
+ /** Supported credential kinds from this agent's deployment declaration. */
111
+ credentialTypes: Array<"access_token" | "vercel_oidc">;
108
112
  /**
109
- * The agent's token slot. `revision` is the same opaque value GET
113
+ * The agent's token slot. Null when the managed token module is absent. `revision` is the same opaque value GET
110
114
  * /ui/access-tokens lists for the slot, on every state including "none":
111
115
  * it changes on every commit to the slot, and a token mutation sends it as
112
116
  * `expect`, so one decided from a stale view refuses with 409 `slot_changed`.
113
117
  */
114
- token: {
118
+ token: null | {
115
119
  state: "none";
116
120
  revision: string;
117
121
  } | {
@@ -123,7 +127,7 @@ export interface OperatorAgent {
123
127
  revokedAt: string;
124
128
  revision: string;
125
129
  };
126
- /** Latest activity row for this agent, null when activity is off or none is visible. */
130
+ /** Latest successful endpoint admission or visible historical activity; null when unknown or withheld. */
127
131
  lastSeenAt: string | null;
128
132
  }
129
133
  /**
@@ -98,6 +98,8 @@ export function endpointRows(contract) {
98
98
  path: contract.root.path,
99
99
  agentPath: null,
100
100
  readOnly: contract.root.readOnly,
101
+ surface: "meta",
102
+ executeCode: true,
101
103
  toolCount: toolCount(groups),
102
104
  groups,
103
105
  access: accessChips(contract.root.maintainers),
@@ -111,6 +113,8 @@ export function endpointRows(contract) {
111
113
  path: pool.humanPath,
112
114
  agentPath: pool.members.some((member) => member.kind === "agent") ? pool.agentPath : null,
113
115
  readOnly: pool.readOnly,
116
+ surface: pool.surface,
117
+ executeCode: pool.executeCode,
114
118
  toolCount: toolCount(groups),
115
119
  groups,
116
120
  access: accessChips(pool.members),
@@ -206,16 +210,3 @@ export function matrixCellLabel(connector, column, cell) {
206
210
  : `${cell.coverage.granted} of ${cell.coverage.total} live tools`;
207
211
  return `${where}: ${what}${column.readOnly ? ", read-only" : ""}`;
208
212
  }
209
- /** The connector's subject for the matrix's Runs as column: the /mcp cell, else its first pool's. */
210
- export function connectorRunsAs(contract, connectorId) {
211
- const cells = contract.matrix.filter((cell) => cell.connectorId === connectorId);
212
- const root = cells.find((cell) => cell.pool === null);
213
- if (root)
214
- return root.runsAs;
215
- for (const pool of contract.pools) {
216
- const cell = cells.find((c) => c.pool === pool.name);
217
- if (cell)
218
- return cell.runsAs;
219
- }
220
- return null;
221
- }
@@ -11,7 +11,7 @@ import type { UiCredentialProblem, UiProblem } from "./model.js";
11
11
  * `refusedNotice` in view.ts); what remains are the page's own sentences and a
12
12
  * credential form's field checks.
13
13
  */
14
- export type FixPromptKind = UiProblem | UiCredentialProblem | "credential_test_failed" | "oauth_action_failed" | "catalog_drift";
14
+ export type FixPromptKind = UiProblem | UiCredentialProblem | "credential_test_failed" | "oauth_action_failed";
15
15
  /** The clipboard text for one failure. Fixed by kind; see `CATALOGUE`. */
16
16
  export declare function fixPrompt(kind: FixPromptKind, connectorId?: string): string;
17
17
  /** Every kind, so a test can walk the whole catalogue. */
@@ -70,14 +70,6 @@ const CATALOGUE = {
70
70
  "Pin or upgrade the @zackbart/connecta version if a maintained provider's catalog changed shape underneath it.",
71
71
  ],
72
72
  },
73
- catalog_drift: {
74
- problem: "A hosted provider's live catalog differs from the reviewed manifest shipped with connecta: new unclassified tools, unserved tools, annotation conflicts, or schema changes.",
75
- steps: [
76
- "Unclassified tools are withheld until a release classifies them. Check whether a newer @zackbart/connecta release has, and upgrade if so.",
77
- "If a tool the deployment depends on is now unserved or changed shape, review callers of it before upgrading.",
78
- "Report drift the release does not cover as an issue on the connecta repository, naming the provider and the kinds of drift but no tool data.",
79
- ],
80
- },
81
73
  };
82
74
  /** The clipboard text for one failure. Fixed by kind; see `CATALOGUE`. */
83
75
  export function fixPrompt(kind, connectorId) {