@zackbart/connecta 0.34.1 → 0.36.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 (441) hide show
  1. package/CHANGELOG.md +418 -0
  2. package/README.md +65 -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 +2044 -1161
  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 +751 -281
  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 +29 -7
  53. package/dist/connectors/api-connector.js +145 -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/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 +227 -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 +379 -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/contract.d.ts +8 -3
  109. package/dist/operator-ui/generated.js +4 -4
  110. package/dist/operator-ui/model.d.ts +2 -3
  111. package/dist/program-writes.js +47 -26
  112. package/dist/provider-call-facts.d.ts +115 -0
  113. package/dist/provider-call-facts.js +182 -0
  114. package/dist/provider-call.d.ts +112 -0
  115. package/dist/provider-call.js +271 -0
  116. package/dist/provider.d.ts +65 -31
  117. package/dist/provider.js +116 -39
  118. package/dist/providers/_shared/google/hatch.js +91 -0
  119. package/dist/providers/_shared/google/kit.js +427 -0
  120. package/dist/providers/_shared/google/result-size.js +15 -2
  121. package/dist/providers/_shared/google/service-account.d.ts +2 -1
  122. package/dist/providers/_shared/google/service-account.js +8 -4
  123. package/dist/providers/_shared/google/workspace.d.ts +6 -210
  124. package/dist/providers/_shared/google/workspace.js +6 -425
  125. package/dist/providers/_shared/rest/compact-index.js +86 -0
  126. package/dist/providers/_shared/rest/kit.js +146 -0
  127. package/dist/providers/_shared/rest/operation-index.js +230 -14
  128. package/dist/providers/_shared/rest/response-media.js +11 -0
  129. package/dist/providers/_shared/rest/value-safety.js +353 -195
  130. package/dist/providers/_shared/sensitive-fields.js +27 -0
  131. package/dist/providers/breeze/api.js +584 -0
  132. package/dist/providers/breeze/index.d.ts +1 -3
  133. package/dist/providers/breeze/index.js +67 -1420
  134. package/dist/providers/breeze/openapi.generated.js +60 -0
  135. package/dist/providers/breeze/skill.generated.js +2 -6
  136. package/dist/providers/breeze/tools.js +696 -0
  137. package/dist/providers/ccb/api.js +496 -0
  138. package/dist/providers/ccb/index.d.ts +15 -37
  139. package/dist/providers/ccb/index.js +77 -1702
  140. package/dist/providers/ccb/lib/constants.d.ts +34 -0
  141. package/dist/providers/ccb/lib/constants.js +74 -0
  142. package/dist/providers/ccb/lib/guide.js +9 -0
  143. package/dist/providers/ccb/lib/verdicts.js +387 -0
  144. package/dist/providers/ccb/openapi.generated.js +397 -0
  145. package/dist/providers/ccb/safety.js +295 -0
  146. package/dist/providers/ccb/skill.generated.js +2 -6
  147. package/dist/providers/ccb/tools.js +853 -0
  148. package/dist/providers/cloudflare/api.js +1066 -0
  149. package/dist/providers/cloudflare/index.d.ts +5 -22
  150. package/dist/providers/cloudflare/index.js +79 -197
  151. package/dist/providers/cloudflare/lib/config.d.ts +16 -0
  152. package/dist/providers/cloudflare/lib/config.js +2 -0
  153. package/dist/providers/cloudflare/lib/discovery.js +29 -0
  154. package/dist/providers/cloudflare/{graphql.js → lib/graphql.js} +1 -1
  155. package/dist/providers/cloudflare/lib/hatch.js +103 -0
  156. package/dist/providers/cloudflare/lib/path-bounds.js +28 -0
  157. package/dist/providers/cloudflare/lib/response-media.js +75 -0
  158. package/dist/providers/cloudflare/openapi.generated.js +4 -3
  159. package/dist/providers/cloudflare/{value-safety.js → safety.js} +487 -0
  160. package/dist/providers/cloudflare/skill.generated.js +2 -10
  161. package/dist/providers/cloudflare/tools.js +360 -0
  162. package/dist/providers/docs/api.js +51 -0
  163. package/dist/providers/docs/index.d.ts +1 -12
  164. package/dist/providers/docs/index.js +53 -1165
  165. package/dist/providers/docs/lib/constants.d.ts +18 -0
  166. package/dist/providers/docs/lib/constants.js +18 -0
  167. package/dist/providers/docs/lib/discovery.js +26 -0
  168. package/dist/providers/docs/lib/requests.js +48 -0
  169. package/dist/providers/docs/lib/schemas.js +168 -0
  170. package/dist/providers/docs/openapi.generated.js +16 -0
  171. package/dist/providers/docs/safety.js +54 -0
  172. package/dist/providers/docs/skill.generated.js +2 -6
  173. package/dist/providers/docs/tools.js +801 -0
  174. package/dist/providers/drive/api.js +177 -0
  175. package/dist/providers/drive/index.d.ts +1 -12
  176. package/dist/providers/drive/index.js +38 -1448
  177. package/dist/providers/drive/lib/constants.d.ts +6 -0
  178. package/dist/providers/drive/lib/constants.js +6 -0
  179. package/dist/providers/drive/lib/contracts.js +532 -0
  180. package/dist/providers/drive/lib/hatch.js +197 -0
  181. package/dist/providers/drive/openapi.generated.js +77 -0
  182. package/dist/providers/drive/safety.js +90 -0
  183. package/dist/providers/drive/skill.generated.js +2 -6
  184. package/dist/providers/drive/tools.js +1290 -0
  185. package/dist/providers/forms/api.js +71 -0
  186. package/dist/providers/forms/index.d.ts +1 -12
  187. package/dist/providers/forms/index.js +49 -1145
  188. package/dist/providers/forms/lib/constants.d.ts +14 -0
  189. package/dist/providers/forms/lib/constants.js +19 -0
  190. package/dist/providers/forms/lib/hatch.js +72 -0
  191. package/dist/providers/forms/openapi.generated.js +23 -0
  192. package/dist/providers/forms/safety.js +34 -0
  193. package/dist/providers/forms/skill.generated.js +2 -8
  194. package/dist/providers/forms/tools.js +1023 -0
  195. package/dist/providers/github/api.js +150 -0
  196. package/dist/providers/github/index.d.ts +4 -5
  197. package/dist/providers/github/index.js +30 -87
  198. package/dist/providers/github/{auth.d.ts → lib/auth.d.ts} +5 -3
  199. package/dist/providers/github/{auth.js → lib/auth.js} +40 -43
  200. package/dist/providers/github/lib/discovery.js +132 -0
  201. package/dist/providers/github/lib/operations.js +58 -0
  202. package/dist/providers/github/{scope.d.ts → lib/scope.d.ts} +2 -0
  203. package/dist/providers/github/{scope.js → lib/scope.js} +25 -1
  204. package/dist/providers/github/openapi.generated.js +1216 -0
  205. package/dist/providers/github/safety.js +216 -0
  206. package/dist/providers/github/skill.generated.js +2 -5
  207. package/dist/providers/github/tools.js +506 -0
  208. package/dist/providers/gmail/api.js +114 -0
  209. package/dist/providers/gmail/index.d.ts +1 -12
  210. package/dist/providers/gmail/index.js +73 -1621
  211. package/dist/providers/gmail/lib/constants.d.ts +13 -0
  212. package/dist/providers/gmail/lib/constants.js +16 -0
  213. package/dist/providers/gmail/lib/index.js +173 -0
  214. package/dist/providers/gmail/lib/schemas.js +176 -0
  215. package/dist/providers/gmail/lib/threading.js +120 -0
  216. package/dist/providers/gmail/openapi.generated.js +92 -0
  217. package/dist/providers/gmail/safety.js +21 -0
  218. package/dist/providers/gmail/skill.generated.js +2 -6
  219. package/dist/providers/gmail/tools.js +1435 -0
  220. package/dist/providers/overflow/api.js +1008 -0
  221. package/dist/providers/overflow/index.d.ts +1 -17
  222. package/dist/providers/overflow/index.js +60 -1488
  223. package/dist/providers/overflow/skill.generated.js +2 -5
  224. package/dist/providers/overflow/tools.js +873 -0
  225. package/dist/providers/planning-center/api.js +467 -0
  226. package/dist/providers/planning-center/index.d.ts +4 -35
  227. package/dist/providers/planning-center/index.js +69 -2445
  228. package/dist/providers/planning-center/lib/constants.d.ts +58 -0
  229. package/dist/providers/planning-center/lib/constants.js +83 -0
  230. package/dist/providers/planning-center/lib/discovery.js +40 -0
  231. package/dist/providers/planning-center/lib/guide.js +39 -0
  232. package/dist/providers/planning-center/lib/json-api.js +83 -0
  233. package/dist/providers/planning-center/lib/verdicts.js +1758 -0
  234. package/dist/providers/planning-center/openapi.generated.js +1764 -0
  235. package/dist/providers/planning-center/safety.js +188 -0
  236. package/dist/providers/planning-center/skill.generated.js +2 -27
  237. package/dist/providers/planning-center/tools.js +1010 -0
  238. package/dist/providers/quickbooks/api.js +299 -0
  239. package/dist/providers/quickbooks/index.d.ts +13 -0
  240. package/dist/providers/quickbooks/index.js +93 -0
  241. package/dist/providers/quickbooks/lib/query.js +118 -0
  242. package/dist/providers/quickbooks/lib/writes.js +168 -0
  243. package/dist/providers/quickbooks/safety.js +222 -0
  244. package/dist/providers/quickbooks/skill.generated.js +5 -0
  245. package/dist/providers/quickbooks/tools.js +117 -0
  246. package/dist/providers/sheets/api.js +133 -0
  247. package/dist/providers/sheets/index.d.ts +4 -16
  248. package/dist/providers/sheets/index.js +61 -1172
  249. package/dist/providers/sheets/lib/constants.d.ts +14 -0
  250. package/dist/providers/sheets/lib/constants.js +14 -0
  251. package/dist/providers/sheets/lib/hatch.js +163 -0
  252. package/dist/providers/sheets/lib/requests.js +105 -0
  253. package/dist/providers/sheets/lib/schemas.js +138 -0
  254. package/dist/providers/sheets/openapi.generated.js +30 -0
  255. package/dist/providers/sheets/safety.js +27 -0
  256. package/dist/providers/sheets/skill.generated.js +2 -7
  257. package/dist/providers/sheets/tools.js +733 -0
  258. package/dist/providers/slides/api.js +147 -0
  259. package/dist/providers/slides/index.d.ts +2 -10
  260. package/dist/providers/slides/index.js +48 -2555
  261. package/dist/providers/slides/lib/constants.d.ts +11 -0
  262. package/dist/providers/slides/lib/constants.js +11 -0
  263. package/dist/providers/slides/lib/requests.js +60 -0
  264. package/dist/providers/slides/lib/schemas.js +565 -0
  265. package/dist/providers/slides/openapi.generated.js +18 -0
  266. package/dist/providers/slides/skill.generated.js +2 -6
  267. package/dist/providers/slides/tools.js +1968 -0
  268. package/dist/providers/stripe/api.js +401 -0
  269. package/dist/providers/stripe/index.d.ts +5 -27
  270. package/dist/providers/stripe/index.js +74 -210
  271. package/dist/providers/stripe/lib/config.d.ts +4 -0
  272. package/dist/providers/stripe/lib/config.js +2 -0
  273. package/dist/providers/stripe/openapi.generated.js +4 -3
  274. package/dist/providers/stripe/{value-safety.js → safety.js} +5 -5
  275. package/dist/providers/stripe/skill.generated.js +2 -11
  276. package/dist/providers/stripe/tools.js +77 -0
  277. package/dist/providers/tithely/api.js +531 -0
  278. package/dist/providers/tithely/index.d.ts +17 -0
  279. package/dist/providers/tithely/index.js +86 -965
  280. package/dist/providers/tithely/skill.generated.js +2 -5
  281. package/dist/providers/tithely/tools.js +426 -0
  282. package/dist/providers/vercel/api.js +551 -0
  283. package/dist/providers/vercel/index.d.ts +9 -25
  284. package/dist/providers/vercel/index.js +65 -260
  285. package/dist/providers/vercel/lib/config.d.ts +2 -0
  286. package/dist/providers/vercel/lib/config.js +2 -0
  287. package/dist/providers/vercel/lib/index.js +117 -0
  288. package/dist/providers/vercel/lib/logs.js +100 -0
  289. package/dist/providers/vercel/lib/pin.js +270 -0
  290. package/dist/providers/vercel/openapi.generated.js +10 -5
  291. package/dist/providers/vercel/{value-safety.js → safety.js} +247 -38
  292. package/dist/providers/vercel/skill.generated.js +2 -7
  293. package/dist/providers/vercel/tools.js +642 -0
  294. package/dist/redaction-identity.js +47 -0
  295. package/dist/redaction-marker.js +125 -0
  296. package/dist/registry.d.ts +21 -15
  297. package/dist/registry.js +409 -376
  298. package/dist/routes/access-tokens.js +1 -1
  299. package/dist/routes/actor-labels.js +1 -1
  300. package/dist/routes/connect.js +1 -1
  301. package/dist/routes/dispatch.js +103 -0
  302. package/dist/routes/mcp.js +170 -79
  303. package/dist/routes/oauth.js +6 -1
  304. package/dist/routes/operator.js +2 -2
  305. package/dist/routes/shared.d.ts +5 -4
  306. package/dist/routes/shared.js +244 -177
  307. package/dist/routes/skills.js +10 -8
  308. package/dist/routes/ui-config.js +27 -3
  309. package/dist/routes/ui-data.js +21 -20
  310. package/dist/routes/ui.js +1 -1
  311. package/dist/runtime/call-admission.js +0 -26
  312. package/dist/runtime/call-entry.js +30 -0
  313. package/dist/runtime/call.js +552 -0
  314. package/dist/runtime/connector-scope.js +7 -0
  315. package/dist/runtime/credential-probe.js +34 -0
  316. package/dist/runtime/executor.js +40 -0
  317. package/dist/runtime/native-storage.js +63 -0
  318. package/dist/runtime/registry.js +27 -0
  319. package/dist/runtime/request-scope.js +72 -0
  320. package/dist/runtime/run.js +15 -7
  321. package/dist/runtime/shared-read.js +34 -5
  322. package/dist/runtime/storage.js +34 -21
  323. package/dist/sent-secrets.d.ts +194 -37
  324. package/dist/sent-secrets.js +1743 -340
  325. package/dist/server.js +5 -56
  326. package/dist/skills.js +322 -223
  327. package/dist/sqlite.js +15 -14
  328. package/dist/storage/d1-copy.js +255 -0
  329. package/dist/storage/d1-driver.js +15 -0
  330. package/dist/storage/keys.js +28 -0
  331. package/dist/storage/sql-driver.js +88 -0
  332. package/dist/storage/sql-native.js +544 -0
  333. package/dist/storage/sql-schema.d.ts +6 -0
  334. package/dist/storage/sql-schema.js +15 -0
  335. package/dist/storage/sql.d.ts +14 -20
  336. package/dist/storage/sql.js +29 -535
  337. package/dist/timeout.js +0 -26
  338. package/dist/tool-safety.js +20 -10
  339. package/dist/types.d.ts +9 -109
  340. package/dist/ui.d.ts +1 -1
  341. package/dist/ui.js +0 -1
  342. package/dist/upward.js +3 -0
  343. package/dist/usage-guide.js +3 -1
  344. package/dist/validate.d.ts +4 -2
  345. package/dist/validate.js +86 -9
  346. package/dist/version.d.ts +1 -1
  347. package/dist/version.js +1 -1
  348. package/dist/worker.js +312 -292
  349. package/dist/workspace-subject.js +5 -1
  350. package/dist/write-outcome.js +454 -34
  351. package/documentation/README.md +28 -7
  352. package/documentation/architecture.md +2409 -255
  353. package/documentation/auth.md +867 -114
  354. package/documentation/code-mode.md +49 -16
  355. package/documentation/deploying.md +164 -20
  356. package/documentation/hosted-mcp-migration.md +460 -0
  357. package/documentation/integrating.md +129 -144
  358. package/documentation/meta-tools.md +409 -32
  359. package/documentation/operating.md +27 -3
  360. package/documentation/operator-tests.md +3 -0
  361. package/documentation/operator-ui.md +84 -48
  362. package/documentation/provider-auth-migration.md +16 -63
  363. package/documentation/provider-migration-0.29.md +10 -5
  364. package/documentation/provider-migration-0.35.md +975 -0
  365. package/documentation/providers.md +1347 -0
  366. package/examples/worker/AGENTS.md +23 -9
  367. package/examples/worker/README.md +254 -135
  368. package/examples/worker/alchemy.run.ts +116 -0
  369. package/examples/worker/gitignore +10 -0
  370. package/examples/worker/src/connecta.config.ts +23 -21
  371. package/examples/worker/wrangler.jsonc +14 -5
  372. package/guides/connecting-agents.md +157 -0
  373. package/guides/how-it-works.md +156 -0
  374. package/guides/safety-and-trust.md +153 -0
  375. package/package.json +30 -50
  376. package/templates/node/.env.example +3 -0
  377. package/templates/node/README.md +22 -2
  378. package/templates/node/docker-compose.yml +1 -0
  379. package/templates/node/package.json +3 -2
  380. package/templates/node/src/connecta.config.ts +8 -0
  381. package/dist/catalog-drift.d.ts +0 -138
  382. package/dist/catalog-drift.js +0 -578
  383. package/dist/operator-ui/agents.d.ts +0 -74
  384. package/dist/operator-ui/agents.js +0 -104
  385. package/dist/operator-ui/config-summary.js +0 -565
  386. package/dist/operator-ui/connection-map.js +0 -376
  387. package/dist/operator-ui/endpoints.js +0 -221
  388. package/dist/operator-ui/fix-prompts.d.ts +0 -18
  389. package/dist/operator-ui/fix-prompts.js +0 -87
  390. package/dist/operator-ui/health.js +0 -52
  391. package/dist/operator-ui/member-page.js +0 -97
  392. package/dist/operator-ui/overview.js +0 -123
  393. package/dist/operator-ui/setup-commands.js +0 -51
  394. package/dist/operator-ui/view.d.ts +0 -401
  395. package/dist/operator-ui/view.js +0 -705
  396. package/dist/providers/_shared/request-token.js +0 -83
  397. package/dist/providers/_shared/rest/dispatch.js +0 -41
  398. package/dist/providers/_shared/rest/operation-index.d.ts +0 -133
  399. package/dist/providers/_shared/rest/tools.d.ts +0 -141
  400. package/dist/providers/_shared/rest/tools.js +0 -569
  401. package/dist/providers/_shared/rest/value-safety.d.ts +0 -201
  402. package/dist/providers/basecamp/index.d.ts +0 -45
  403. package/dist/providers/basecamp/index.js +0 -997
  404. package/dist/providers/basecamp/skill.generated.js +0 -9
  405. package/dist/providers/cloudflare/rest.d.ts +0 -37
  406. package/dist/providers/cloudflare/rest.js +0 -1097
  407. package/dist/providers/github/hosted.js +0 -218
  408. package/dist/providers/github/rest.js +0 -321
  409. package/dist/providers/infisical/index.d.ts +0 -7
  410. package/dist/providers/infisical/index.js +0 -713
  411. package/dist/providers/infisical/skill.generated.js +0 -8
  412. package/dist/providers/intercom/index.d.ts +0 -24
  413. package/dist/providers/intercom/index.js +0 -121
  414. package/dist/providers/intercom/skill.generated.js +0 -8
  415. package/dist/providers/linear/index.d.ts +0 -55
  416. package/dist/providers/linear/index.js +0 -537
  417. package/dist/providers/linear/skill.generated.js +0 -8
  418. package/dist/providers/mixpanel/index.d.ts +0 -59
  419. package/dist/providers/mixpanel/index.js +0 -472
  420. package/dist/providers/mixpanel/operations.js +0 -20
  421. package/dist/providers/mixpanel/rest.js +0 -603
  422. package/dist/providers/mixpanel/skill.generated.js +0 -10
  423. package/dist/providers/mixpanel/value-safety.js +0 -16
  424. package/dist/providers/notion/index.d.ts +0 -67
  425. package/dist/providers/notion/index.js +0 -368
  426. package/dist/providers/notion/openapi.generated.js +0 -75
  427. package/dist/providers/notion/rest.d.ts +0 -24
  428. package/dist/providers/notion/rest.js +0 -1226
  429. package/dist/providers/notion/skill.generated.js +0 -11
  430. package/dist/providers/notion/value-safety.js +0 -56
  431. package/dist/providers/revenuecat/index.d.ts +0 -51
  432. package/dist/providers/revenuecat/index.js +0 -697
  433. package/dist/providers/revenuecat/skill.generated.js +0 -11
  434. package/dist/providers/stripe/rest.d.ts +0 -14
  435. package/dist/providers/stripe/rest.js +0 -402
  436. package/dist/providers/vercel/rest.d.ts +0 -20
  437. package/dist/providers/vercel/rest.js +0 -1020
  438. package/dist/providers/wispr-flow/index.d.ts +0 -14
  439. package/dist/providers/wispr-flow/index.js +0 -117
  440. package/dist/providers/wispr-flow/skill.generated.js +0 -8
  441. /package/dist/providers/github/{key.js → lib/key.js} +0 -0
@@ -1,401 +0,0 @@
1
- import type { OperatorRole, OperatorUiContractV2 } from "./contract.js";
2
- import type { CatalogDriftReport } from "../types.js";
3
- import type { CredentialManagementCapability, UiConnector, UiData, UiProblem } from "./model.js";
4
- import type { FixPromptKind } from "./fix-prompts.js";
5
- import type { AgentSlot } from "./agents.js";
6
- export declare function registrationPathLabel(path: NonNullable<UiConnector["registrationPath"]>): string;
7
- export type OperatorPage = "overview" | "endpoints" | "settings" | "connector" | "tokens" | "connections" | "activity";
8
- /** Pages the nav lists, in dashboard order. */
9
- export declare const OPERATOR_PAGES: readonly OperatorPage[];
10
- export declare const PAGE_META: Readonly<Record<OperatorPage, {
11
- path: string;
12
- label: string;
13
- }>>;
14
- /** Legacy links remain valid, with the browser replacing their URL. */
15
- export declare function canonicalOperatorPath(path: string): string;
16
- /**
17
- * What each page is for, in one line under its heading — on the gate as well
18
- * as once signed in, so the page an operator lands on reads the same before
19
- * and after the session is checked.
20
- */
21
- export declare function pageDescription(page: OperatorPage, productDescription: string): string;
22
- /**
23
- * Signed in, but neither a maintainer nor a member of any endpoint: who to
24
- * ask, and that this is not an error to retry.
25
- */
26
- export declare function noAccessCopy(kind: string, productName: string): string;
27
- /** What the gate says while the session is checked, page by page. */
28
- export declare function checkingCopy(): string;
29
- export declare function pageForPath(path: string): OperatorPage;
30
- export interface UiActivityActor {
31
- kind?: string;
32
- id?: string;
33
- namespace?: string;
34
- label?: string;
35
- }
36
- export interface UiActivityEvent {
37
- kind?: "catalog_drift";
38
- drift?: import("../activity.js").ActivityCatalogChange;
39
- id?: string;
40
- requestId?: string;
41
- classification?: "read" | "write";
42
- resultBytes?: number;
43
- occurredAt: string;
44
- actor?: UiActivityActor;
45
- connectorId: string;
46
- toolName: string;
47
- address: string;
48
- source: string;
49
- outcome: string;
50
- durationMs: number;
51
- attempts: number;
52
- errorCode?: string;
53
- friction?: string;
54
- approval?: string;
55
- packageVersion?: string;
56
- clientName?: string;
57
- clientVersion?: string;
58
- }
59
- /**
60
- * Which fix prompt a failure offers. A kind and a configured connector id —
61
- * the message beside it never travels with it.
62
- */
63
- export interface NoticeFix {
64
- kind: FixPromptKind;
65
- connectorId: string;
66
- }
67
- /** A message with the tone that decides its live region: status or alert. */
68
- export interface Notice {
69
- message: string;
70
- tone: "info" | "error";
71
- fix?: NoticeFix;
72
- }
73
- export declare function info(message: string): Notice;
74
- export declare function failure(message: string, fix?: NoticeFix): Notice;
75
- /**
76
- * Why a request the page made did not land, as the store classifies it. Only
77
- * this kind, a status code, and a closed `problem` enum ever reach a notice;
78
- * the route's `error` text never does.
79
- *
80
- * - `session` — no usable session, or the route answered 401.
81
- * - `forbidden` — the route answered 403: this identity may not do that. On a
82
- * mutation that is a permission, not an expired session, so it stays inline.
83
- * - `network` — the browser could not reach the deployment at all.
84
- * - `refused` — the route answered, and said no.
85
- * - `stale` — never sent: what the action was checked against changed before
86
- * dispatch (a refreshed slot list or member contract).
87
- */
88
- export type RequestFailureKind = "session" | "forbidden" | "network" | "refused" | "stale";
89
- export interface RequestFailureFacts {
90
- kind: RequestFailureKind;
91
- status?: number | undefined;
92
- problem?: unknown;
93
- /** A refusal's machine `code` from a closed set, such as `slot_changed`; checked, never shown. */
94
- code?: unknown;
95
- }
96
- /**
97
- * What the notices for an OAuth action and a credential Test say. Each of
98
- * those actions reaches a downstream, and a downstream's refusal can quote the
99
- * secret it was sent — so these notices are fixed sentences chosen by outcome,
100
- * and no text the server sent back is ever one of them. The route logs the
101
- * downstream's words on the host; the fix prompt beside a failure is keyed off
102
- * the same outcome.
103
- */
104
- export type DownstreamAction = "oauth_disconnect" | "oauth_reconnect" | "credential_test";
105
- /** Every action a connector row can start, downstream or not. */
106
- export type RowAction = DownstreamAction | "credential_save" | "credential_remove";
107
- /**
108
- * The route's answer to a finished OAuth action. Its state picks the sentence;
109
- * `opened` says whether the authorization page is already in a new tab.
110
- */
111
- export declare function oauthDoneNotice(action: "oauth_disconnect" | "oauth_reconnect", answer: {
112
- state?: unknown;
113
- code?: unknown;
114
- } | null, opened?: boolean): Notice;
115
- /** A credential Test's result. `ok` is the only part of the answer it reads. */
116
- export declare function credentialTestNotice(connectorId: string, answer: {
117
- ok?: unknown;
118
- } | null): Notice;
119
- /**
120
- * A route that refused one of these actions. A credential Test that found
121
- * nothing usable to test names the problem, which picks the same copy and fix
122
- * prompt the Connections page uses for it; every other refusal gets the
123
- * action's one sentence. `problem` is whatever the response carried, so it is
124
- * checked, not trusted.
125
- */
126
- export declare function refusedNotice(action: DownstreamAction, connectorId: string, problem?: unknown): Notice;
127
- /** An action whose permission or target changed before it was sent. */
128
- export declare const STALE_COPY = "This changed before sending, so nothing was sent. Try again.";
129
- /**
130
- * Every row action's failure, in one voice. The page's own failures — a
131
- * lapsed session, a denied identity, a dropped connection — read the same for
132
- * every action; a route's refusal picks the action's fixed sentence.
133
- */
134
- export declare function actionFailedNotice(action: RowAction, connectorId: string, facts: RequestFailureFacts, productName: string): Notice;
135
- /**
136
- * Why one connector's details did not load, when the reason is on this side
137
- * of the deployment rather than the downstream's. A downstream failure is the
138
- * server's `connector_unavailable` and keeps its own copy and fix prompt;
139
- * these two have nothing for a coding agent to fix.
140
- */
141
- export type ConnectorLoadFailure = "session" | "network" | "unavailable";
142
- export declare function connectorLoadFailureCopy(failure: ConnectorLoadFailure, productName: string): string;
143
- /** The signed-in page's answer when `/ui/data` could not be read. */
144
- export declare function loadFailureCopy(failure: "server" | "network", productName: string): {
145
- title: string;
146
- body: string;
147
- };
148
- /** A collection page's load failure: fixed words, whatever the route said. */
149
- export declare function collectionFailureCopy(_collection: "activity", facts: RequestFailureFacts, productName: string): string;
150
- /** A destructive or disruptive row action waiting for a second, in-page click. */
151
- export interface PendingConfirm {
152
- connectorId: string;
153
- action: "oauth_disconnect" | "oauth_restart" | "credential_remove";
154
- }
155
- /** The confirm's question, naming the connector by its title. */
156
- export declare function confirmCopy(action: PendingConfirm["action"], name: string): {
157
- question: string;
158
- confirm: string;
159
- };
160
- /**
161
- * A remote collection's four states, named once so every page spells them the
162
- * same way. `idle` is "nobody has asked yet" and is what makes a re-entered
163
- * page fetch again after an identity change.
164
- */
165
- type LoadPhase = "idle" | "loading" | "ready" | "error";
166
- export declare function accessTokenUnavailableCopy(capability?: string): string;
167
- export interface OperatorState {
168
- tokenPhase: LoadPhase;
169
- tokenNotice: Notice | null;
170
- /** One slot per declared agent, from `/ui/access-tokens`. */
171
- tokens: AgentSlot[];
172
- /** A just-issued secret, shown once in its dialog and dropped when that closes. */
173
- createdToken: string | null;
174
- /** The agent `createdToken` belongs to. */
175
- createdTokenFor: string | null;
176
- /** A rotation or revocation waiting on its in-row confirmation. */
177
- tokenConfirm: {
178
- name: string;
179
- action: "rotate" | "revoke";
180
- } | null;
181
- /**
182
- * Agents whose last token operation ended with an unknown outcome (503,
183
- * 499, or a dropped connection). Their actions stay off until a slot list
184
- * read that started after the failure succeeds.
185
- */
186
- unresolvedSlots: string[];
187
- tokenBusy: boolean;
188
- page: OperatorPage;
189
- /**
190
- * Bumped by every identity change. Async work captures it before awaiting and
191
- * throws its result away if the operator is no longer the one who asked —
192
- * the fence that keeps one identity's data off another identity's screen.
193
- */
194
- generation: number;
195
- /**
196
- * `loading` until `/ui/api/config` answers (and, for a maintainer,
197
- * `/ui/data` too). `denied` is signed in as someone who is neither a
198
- * maintainer nor a pool member.
199
- */
200
- session: "loading" | "gated" | "ready" | "denied";
201
- gate: Notice | null;
202
- /** True while a signed-in operator's /ui/data is in flight. */
203
- refreshing: boolean;
204
- /** A bounded admission recovery is pending; Retry can supersede it. */
205
- recoveryPending: boolean;
206
- /**
207
- * Why the last /ui/data read failed when the session itself was not the
208
- * reason: the page stays signed in, with its chrome, and offers a retry.
209
- * Only a 401 or 403 on that read returns to the gate.
210
- */
211
- loadFailure: "server" | "network" | null;
212
- /**
213
- * Element id the next render should focus. A rebuilt page has no stable node
214
- * to hand focus to from an event handler, so the request travels through
215
- * state and the shell spends it once the new markup exists.
216
- */
217
- pendingFocus: string | null;
218
- /**
219
- * Like `pendingFocus`, but spent only when focus has nowhere to be — the
220
- * control that had it is gone. An action that lands next to its own control
221
- * announces through its live region and leaves focus where the operator is.
222
- */
223
- focusIfLost: string | null;
224
- data: UiData | null;
225
- /** Operator contract v2, for either role; null until `/ui/api/config` answers. */
226
- contract: OperatorUiContractV2 | null;
227
- /**
228
- * The role the last good contract confirmed. It outlives a failed refresh
229
- * that clears `contract`, so the next answer with a different role is
230
- * still recognized as a different viewer. Only an identity reset clears it.
231
- */
232
- role: OperatorRole | null;
233
- contractPhase: LoadPhase;
234
- health: "loading" | "ok" | "unavailable";
235
- connectorFilter: string;
236
- oauthNotice: Notice | null;
237
- /** The connector row `oauthNotice` answers, which is where it renders. */
238
- oauthNoticeFor: string | null;
239
- /** Connector id whose OAuth mutation is in flight. */
240
- oauthBusy: string | null;
241
- /**
242
- * Connector id whose authorization started while the browser refused the
243
- * new tab: its row offers the link instead of the button.
244
- */
245
- oauthBlocked: string | null;
246
- /**
247
- * The authorization link the route returned for `oauthBlocked`. A member has
248
- * no `/ui/data` connector to keep it on, so it is held here.
249
- */
250
- oauthBlockedUrl: string | null;
251
- /** A row action waiting for its in-page confirmation. */
252
- confirming: PendingConfirm | null;
253
- /** Connectors whose details failed on this side of the deployment. */
254
- connectorFailures: Readonly<Record<string, ConnectorLoadFailure>>;
255
- credentialNotice: Notice | null;
256
- /** The connector row `credentialNotice` answers. */
257
- credentialNoticeFor: string | null;
258
- /** Connector id whose credential form is open. */
259
- credentialEditing: string | null;
260
- /** Connector id whose credential mutation is in flight. */
261
- credentialBusy: string | null;
262
- activityPhase: LoadPhase;
263
- activityNotice: Notice | null;
264
- activityEvents: UiActivityEvent[];
265
- activityCursor: string | null;
266
- activitySearch: string;
267
- }
268
- /** Who the contract says this viewer is, or null before it loads. */
269
- export declare function operatorRole(state: Pick<OperatorState, "contract">): OperatorRole | null;
270
- /**
271
- * The role pages and navigation render for. The contract's, or, while a
272
- * refresh that failed has left no contract on screen, maintainer when the
273
- * last good contract confirmed one and that maintainer's data is still here:
274
- * their page stays mounted on its own retry state instead of being torn down
275
- * mid-recovery. Never a request's permission; the store sends maintainer
276
- * reads only while the contract itself says maintainer.
277
- */
278
- export declare function displayRole(state: Pick<OperatorState, "contract" | "role" | "data">): OperatorRole | null;
279
- /**
280
- * A confirmed maintainer's page is mounted without a contract behind it: a
281
- * refresh failed, or its read ran past the deadline. The shell shows one
282
- * recovery banner with Retry above whichever page is open, and that page is
283
- * stale until a contract confirms the role again.
284
- */
285
- export declare function contractRecovering(state: Pick<OperatorState, "contract" | "role" | "data">): boolean;
286
- /**
287
- * Whether Activity is open to this viewer: maintainers only, on a deployment
288
- * that records history. Members always read "forbidden".
289
- */
290
- export declare function activityReadable(state: Pick<OperatorState, "contract" | "data">): boolean;
291
- /** The contract's half of `activityReadable`: a maintainer, on a deployment that records. */
292
- export declare function activityAllowed(state: Pick<OperatorState, "contract">): boolean;
293
- export declare function initialState(page: OperatorPage): OperatorState;
294
- /**
295
- * Drop to the gate and forget the previous operator. Bumping the generation is
296
- * what makes the drop stick: work already in flight for the old identity
297
- * resolves into a state that no longer accepts it.
298
- */
299
- export declare function resetIdentity(state: OperatorState, gate?: Notice | null): OperatorState;
300
- /**
301
- * Leaving a page closes what should not survive it: a one-time secret, a half
302
- * typed credential, and the notices that answered the page just left.
303
- */
304
- export declare function withPage(state: OperatorState, page: OperatorPage): OperatorState;
305
- export declare function credentialUnavailableCopy(capability?: CredentialManagementCapability): string;
306
- /**
307
- * The status badge. An auth-needed connector is named by what it needs, so a
308
- * row whose fix is "Add credential" does not say "Authorization needed".
309
- */
310
- export declare function connectorStatusLabel(status: string, problem?: UiProblem): string;
311
- /** The tone a status carries wherever it is rendered as a badge or a tile. */
312
- export type Tone = "ok" | "warn" | "danger" | "neutral" | "accent";
313
- export declare function connectorStatusTone(status: string): Tone;
314
- export declare function problemCopy(problem: UiProblem | undefined): string | null;
315
- /**
316
- * A problem someone can fix by authorizing is a warning, matching the amber
317
- * "Authorization needed" badge above it; one where something broke is an
318
- * error. The two used to share the red box, so the row contradicted itself.
319
- */
320
- export declare function problemTone(problem: UiProblem): "warn" | "danger";
321
- /** What the page knows about a connector beyond its live status: a failed detail read. */
322
- export interface ConnectorSignals {
323
- failed?: boolean;
324
- }
325
- /** One connector's health everywhere it is shown: badge tone, status word, and the one action beside it. */
326
- export interface ConnectorVerdict {
327
- tone: "ok" | "warn" | "danger" | "neutral";
328
- label: string;
329
- /** The link to the Connection tab, or null when the connector is fine. */
330
- action: "Connect" | "Replace key" | "Inspect" | null;
331
- }
332
- /**
333
- * The verdict the Connectors list, the Overview, Endpoints and a connector's
334
- * page all show. The server's problem code comes first, then a failed detail
335
- * read on this page, then a non-ok status. Catalog drift is informational. A problem
336
- * outranks the status, so a connector whose catalog failed is never
337
- * "Connected". A failed read marks its connector `connector_unavailable` in
338
- * the store, so that one code beside a failed read is the page's own and
339
- * reads "Couldn't load" instead of blaming the downstream.
340
- */
341
- export declare function connectorVerdict(live: {
342
- status: string;
343
- problem?: UiProblem;
344
- }, signals?: ConnectorSignals): ConnectorVerdict;
345
- /**
346
- * Hosted-provider catalog drift, as an operator reads it
347
- * ([#343](https://github.com/zackbart/connecta/issues/343)).
348
- *
349
- * - `unavailable` — no refresh has been observed in this runtime, so there is
350
- * nothing to report. Deliberately not `clean`: "we have not looked" and "we
351
- * looked and it matches" are different answers, and only one of them is a
352
- * reason to stop worrying.
353
- * - `clean` — a refresh happened and every category counted zero.
354
- * - `warning` — a refresh happened and at least one category did not.
355
- */
356
- export type DriftState = "clean" | "warning" | "unavailable";
357
- export declare function driftState(drift?: CatalogDriftReport): DriftState;
358
- /** Every category with its count, so a clean report still shows its zeros. */
359
- export declare function driftCounts(drift?: CatalogDriftReport): Array<{
360
- key: string;
361
- label: string;
362
- count: number;
363
- }>;
364
- /** One line naming the state and when it was observed. Never what drifted. */
365
- export declare function driftSummary(drift?: CatalogDriftReport): string;
366
- /**
367
- * Only http/https may become a clickable href — the browser half of the gate
368
- * `src/ui.ts` applies before an authorizationUrl is ever serialized. A hostile
369
- * downstream that gets a `javascript:` URL past one of them still meets the
370
- * other, and the caller renders inert text instead of a link.
371
- */
372
- export declare function safeHttpHref(url: string | undefined): string | null;
373
- /** Locale timestamp, or "" for anything that is not a readable date. */
374
- export declare function formatDate(value?: string): string;
375
- /** Who made a call: their name when there is one, and how they signed in. */
376
- export declare function actorLabel(actor?: UiActivityActor): string;
377
- /**
378
- * The stable id behind a friendly label, shown only when a label or namespace
379
- * could otherwise make two different people look like one.
380
- */
381
- export declare function actorStableId(actor?: UiActivityActor): string | null;
382
- export declare function filterActivity(events: UiActivityEvent[], query: string): UiActivityEvent[];
383
- /** Counts only. What the deployment ran, never what it sent or received. */
384
- export declare function activitySummary(events: UiActivityEvent[]): string;
385
- export declare function activityOutcomeClass(outcome: string): string;
386
- export declare function activityOutcomeBadge(outcome: string): {
387
- label: string;
388
- tone: Tone;
389
- };
390
- /** Why a call stalled or failed, in words; "" when nothing was recorded. */
391
- export declare function activityReason(event: UiActivityEvent): string;
392
- /** The one-line detail under an address: where it ran, retries, and why it stalled. */
393
- export declare function activityDetail(event: UiActivityEvent): string;
394
- /**
395
- * A stored credential that cannot be used, by cause. The payload's `error`
396
- * beside it is not shown: it can carry a vault's own words.
397
- */
398
- export declare function credentialProblemCopy(problem: string | undefined): string;
399
- /** Gate copy for each browser-auth shape, so the sign-in state is never a blank page. */
400
- export declare function gateCopy(kind: string, signedIn: boolean): string;
401
- export {};