@hasna/connectors 1.4.1 → 1.4.3

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 (499) hide show
  1. package/bin/index.js +1271 -317
  2. package/bin/mcp.js +524 -211
  3. package/bin/serve.js +1208 -256
  4. package/connectors/adobe/package.json +1 -1
  5. package/connectors/aitableai/package.json +1 -1
  6. package/connectors/alchemy/package.json +1 -1
  7. package/connectors/alerty/package.json +1 -1
  8. package/connectors/alienvault/package.json +1 -1
  9. package/connectors/alphamoon/package.json +1 -1
  10. package/connectors/alttextai/package.json +1 -1
  11. package/connectors/amadeus/package.json +1 -1
  12. package/connectors/amadeus/src/api/client.ts +6 -6
  13. package/connectors/amadeus/src/cli/index.ts +6 -6
  14. package/connectors/amadeus/src/utils/output.ts +5 -5
  15. package/connectors/amazon/package.json +1 -1
  16. package/connectors/amilia/package.json +1 -1
  17. package/connectors/amqpsender/package.json +1 -1
  18. package/connectors/announcekit/package.json +1 -1
  19. package/connectors/anthropic/.env.example +1 -1
  20. package/connectors/anyscale/package.json +1 -1
  21. package/connectors/apiary/package.json +1 -1
  22. package/connectors/apiflash/package.json +1 -1
  23. package/connectors/apitemplateio/package.json +1 -1
  24. package/connectors/apptivegrid/package.json +1 -1
  25. package/connectors/assemblyai/package.json +1 -1
  26. package/connectors/autom/package.json +1 -1
  27. package/connectors/automizy/package.json +1 -1
  28. package/connectors/autopilot/package.json +1 -1
  29. package/connectors/awscognito/package.json +1 -1
  30. package/connectors/bamboohr/package.json +1 -1
  31. package/connectors/bannerbear/package.json +1 -1
  32. package/connectors/baseten/package.json +1 -1
  33. package/connectors/box/package.json +1 -1
  34. package/connectors/brevo/package.json +1 -1
  35. package/connectors/calendly/package.json +1 -1
  36. package/connectors/cerebras/package.json +1 -1
  37. package/connectors/chargebee/package.json +1 -1
  38. package/connectors/clearbit/package.json +1 -1
  39. package/connectors/clickbank/README.md +2 -2
  40. package/connectors/cloudflare-workers/package.json +1 -1
  41. package/connectors/coda/package.json +1 -1
  42. package/connectors/coingecko/package.json +1 -1
  43. package/connectors/convertkit/package.json +1 -1
  44. package/connectors/customerio/package.json +1 -1
  45. package/connectors/databricks/package.json +1 -1
  46. package/connectors/datadog/package.json +1 -1
  47. package/connectors/datasoap/README.md +2 -2
  48. package/connectors/datasoap/package.json +1 -1
  49. package/connectors/datumbox/README.md +2 -2
  50. package/connectors/datumbox/package.json +1 -1
  51. package/connectors/dayschedule/README.md +2 -2
  52. package/connectors/dayschedule/package.json +1 -1
  53. package/connectors/deepgram/package.json +1 -1
  54. package/connectors/deepinfra/README.md +2 -2
  55. package/connectors/deepinfra/package.json +1 -1
  56. package/connectors/deepl/README.md +2 -2
  57. package/connectors/deepl/package.json +1 -1
  58. package/connectors/deepseek/package.json +1 -1
  59. package/connectors/demio/README.md +2 -2
  60. package/connectors/demio/package.json +1 -1
  61. package/connectors/descript/README.md +2 -2
  62. package/connectors/descript/package.json +1 -1
  63. package/connectors/detrack/README.md +2 -2
  64. package/connectors/detrack/package.json +1 -1
  65. package/connectors/devcycle/README.md +2 -2
  66. package/connectors/devcycle/package.json +1 -1
  67. package/connectors/dhl/README.md +2 -2
  68. package/connectors/dhl/package.json +1 -1
  69. package/connectors/docusign/package.json +1 -1
  70. package/connectors/dropbox/package.json +1 -1
  71. package/connectors/fal/package.json +1 -1
  72. package/connectors/fathom/package.json +1 -1
  73. package/connectors/fireworks/package.json +1 -1
  74. package/connectors/gitlab/package.json +1 -1
  75. package/connectors/googlechat/README.md +1 -2
  76. package/connectors/googledrive/src/api/client.ts +5 -5
  77. package/connectors/googledrive/src/api/files.ts +11 -11
  78. package/connectors/googledrive/src/api/folders.ts +2 -2
  79. package/connectors/googledrive/src/cli/index.ts +4 -4
  80. package/connectors/googledrive/src/utils/output.ts +3 -3
  81. package/connectors/googleforms/README.md +1 -2
  82. package/connectors/googleperspective/README.md +1 -2
  83. package/connectors/grafana/package.json +1 -1
  84. package/connectors/growbots/README.md +2 -2
  85. package/connectors/growbots/package.json +1 -1
  86. package/connectors/gumroad/package.json +1 -1
  87. package/connectors/gupshup/README.md +2 -2
  88. package/connectors/gupshup/package.json +1 -1
  89. package/connectors/guru/README.md +2 -2
  90. package/connectors/guru/package.json +1 -1
  91. package/connectors/hackernews/README.md +2 -2
  92. package/connectors/hackernews/package.json +1 -1
  93. package/connectors/halopsa/README.md +2 -2
  94. package/connectors/halopsa/package.json +1 -1
  95. package/connectors/handwrytten/README.md +2 -2
  96. package/connectors/handwrytten/package.json +1 -1
  97. package/connectors/hansei/README.md +2 -2
  98. package/connectors/hansei/package.json +1 -1
  99. package/connectors/harrypotterapi/README.md +2 -2
  100. package/connectors/harrypotterapi/package.json +1 -1
  101. package/connectors/harvest/README.md +2 -2
  102. package/connectors/harvest/package.json +1 -1
  103. package/connectors/headlesstesting/README.md +2 -2
  104. package/connectors/headlesstesting/package.json +1 -1
  105. package/connectors/homeassistant/package.json +1 -1
  106. package/connectors/klaviyo/package.json +1 -1
  107. package/connectors/lemonsqueezy/package.json +1 -1
  108. package/connectors/lighthouse/src/api/index.ts +1 -1
  109. package/connectors/linkedin/package.json +1 -1
  110. package/connectors/linkish/README.md +2 -2
  111. package/connectors/linkish/package.json +1 -1
  112. package/connectors/liveagent/README.md +2 -2
  113. package/connectors/liveagent/package.json +1 -1
  114. package/connectors/localazy/README.md +2 -2
  115. package/connectors/localazy/package.json +1 -1
  116. package/connectors/loginradius/README.md +2 -2
  117. package/connectors/loginradius/package.json +1 -1
  118. package/connectors/lokalise/README.md +2 -2
  119. package/connectors/lokalise/package.json +1 -1
  120. package/connectors/lonescale/README.md +2 -2
  121. package/connectors/lonescale/package.json +1 -1
  122. package/connectors/lucidchart/README.md +2 -2
  123. package/connectors/lucidchart/package.json +1 -1
  124. package/connectors/luma/package.json +1 -1
  125. package/connectors/magento2/README.md +2 -2
  126. package/connectors/magento2/package.json +1 -1
  127. package/connectors/mailcheck/README.md +2 -2
  128. package/connectors/mailcheck/package.json +1 -1
  129. package/connectors/mailchimp/package.json +1 -1
  130. package/connectors/mailerlite/README.md +2 -2
  131. package/connectors/mailerlite/package.json +1 -1
  132. package/connectors/mailersend/README.md +2 -2
  133. package/connectors/mailersend/package.json +1 -1
  134. package/connectors/mailify/README.md +2 -2
  135. package/connectors/mailify/package.json +1 -1
  136. package/connectors/mailjet/README.md +2 -2
  137. package/connectors/mailjet/package.json +1 -1
  138. package/connectors/mailmodo/README.md +2 -2
  139. package/connectors/mailmodo/package.json +1 -1
  140. package/connectors/malcore/README.md +2 -2
  141. package/connectors/malcore/package.json +1 -1
  142. package/connectors/mandrill/README.md +2 -2
  143. package/connectors/mandrill/package.json +1 -1
  144. package/connectors/marcomrobot/README.md +2 -2
  145. package/connectors/marcomrobot/package.json +1 -1
  146. package/connectors/marketingmasterio/README.md +2 -2
  147. package/connectors/marketingmasterio/package.json +1 -1
  148. package/connectors/marketplacer/README.md +2 -2
  149. package/connectors/marketplacer/package.json +1 -1
  150. package/connectors/marketstack/README.md +2 -2
  151. package/connectors/marketstack/package.json +1 -1
  152. package/connectors/matrix/README.md +1 -1
  153. package/connectors/matrix/package.json +1 -1
  154. package/connectors/mattermost/README.md +1 -1
  155. package/connectors/mattermost/package.json +1 -1
  156. package/connectors/mautic/README.md +1 -1
  157. package/connectors/mautic/package.json +1 -1
  158. package/connectors/mav/README.md +1 -1
  159. package/connectors/mav/package.json +1 -1
  160. package/connectors/maverick/README.md +1 -1
  161. package/connectors/maverick/package.json +1 -1
  162. package/connectors/mem/README.md +1 -1
  163. package/connectors/mem/package.json +1 -1
  164. package/connectors/messagebird/package.json +1 -1
  165. package/connectors/metabase/README.md +1 -1
  166. package/connectors/metabase/package.json +1 -1
  167. package/connectors/miro/package.json +1 -1
  168. package/connectors/mocean/package.json +1 -1
  169. package/connectors/modal/package.json +1 -1
  170. package/connectors/monday/package.json +1 -1
  171. package/connectors/monicacrm/package.json +1 -1
  172. package/connectors/moonclerk/package.json +1 -1
  173. package/connectors/moonmail/package.json +1 -1
  174. package/connectors/morph/package.json +1 -1
  175. package/connectors/mqtt/package.json +1 -1
  176. package/connectors/msg91/package.json +1 -1
  177. package/connectors/mubert/package.json +1 -1
  178. package/connectors/murf/package.json +1 -1
  179. package/connectors/mux/package.json +1 -1
  180. package/connectors/netlify/package.json +1 -1
  181. package/connectors/okta/package.json +1 -1
  182. package/connectors/paddle/package.json +1 -1
  183. package/connectors/perplexity/package.json +1 -1
  184. package/connectors/pinterest/package.json +1 -1
  185. package/connectors/pipedrive/package.json +1 -1
  186. package/connectors/plaid/package.json +1 -1
  187. package/connectors/quickchart/README.md +2 -2
  188. package/connectors/quintadb/README.md +2 -2
  189. package/connectors/rabbitmq/README.md +2 -2
  190. package/connectors/radar/README.md +2 -2
  191. package/connectors/raindrop/README.md +2 -2
  192. package/connectors/rapid7insightvm/README.md +2 -2
  193. package/connectors/raventools/README.md +2 -2
  194. package/connectors/rawgvideogamesdatabase/README.md +2 -2
  195. package/connectors/rdstationcrm/README.md +2 -2
  196. package/connectors/readai/README.md +2 -2
  197. package/connectors/roboflow/package.json +1 -1
  198. package/connectors/runway/package.json +1 -1
  199. package/connectors/sendgrid/package.json +1 -1
  200. package/connectors/shuffler/package.json +1 -1
  201. package/connectors/sierrainteractive/package.json +1 -1
  202. package/connectors/sifter/package.json +1 -1
  203. package/connectors/signaturit/package.json +1 -1
  204. package/connectors/signl4/package.json +1 -1
  205. package/connectors/simpleem/package.json +1 -1
  206. package/connectors/simplehash/package.json +1 -1
  207. package/connectors/simplekpi/package.json +1 -1
  208. package/connectors/simplelocalize/package.json +1 -1
  209. package/connectors/simplero/package.json +1 -1
  210. package/connectors/smartrecruiters/package.json +1 -1
  211. package/connectors/smtp2go/package.json +1 -1
  212. package/connectors/snowflake/package.json +1 -1
  213. package/connectors/sparkpost/package.json +1 -1
  214. package/connectors/split-in-batches/CLAUDE.md +1 -1
  215. package/connectors/split-in-batches/README.md +1 -1
  216. package/connectors/split-in-batches/src/api/client.test.ts +16 -17
  217. package/connectors/split-in-batches/src/api/client.ts +4 -3
  218. package/connectors/split-in-batches/src/cli/index.ts +1 -1
  219. package/connectors/split-io/package.json +1 -1
  220. package/connectors/split-io/src/api/client.test.ts +20 -0
  221. package/connectors/split-io/src/cli/index.ts +9 -9
  222. package/connectors/spreadsheet-file/.env.example +1 -1
  223. package/connectors/spreadsheet-file/CLAUDE.md +2 -2
  224. package/connectors/spreadsheet-file/README.md +3 -3
  225. package/connectors/spreadsheet-file/src/api/client.test.ts +8 -9
  226. package/connectors/spreadsheet-file/src/api/client.ts +4 -3
  227. package/connectors/spreadsheet-file/src/cli/index.ts +1 -1
  228. package/connectors/sprinklr/package.json +1 -1
  229. package/connectors/sprout-social/package.json +1 -1
  230. package/connectors/square/package.json +1 -1
  231. package/connectors/sse-trigger/.env.example +1 -1
  232. package/connectors/sse-trigger/CLAUDE.md +2 -2
  233. package/connectors/sse-trigger/README.md +1 -1
  234. package/connectors/sse-trigger/package.json +1 -1
  235. package/connectors/sse-trigger/src/api/client.test.ts +12 -8
  236. package/connectors/sse-trigger/src/api/client.ts +4 -3
  237. package/connectors/sse-trigger/src/api/index.ts +1 -1
  238. package/connectors/sse-trigger/src/cli/index.ts +1 -1
  239. package/connectors/sse-trigger/src/index.ts +1 -1
  240. package/connectors/stability-api-platform/AGENTS.md +2 -2
  241. package/connectors/stability-api-platform/CLAUDE.md +1 -1
  242. package/connectors/stability-api-platform/README.md +2 -2
  243. package/connectors/stability-api-platform/src/api/client.test.ts +17 -12
  244. package/connectors/stability-api-platform/src/api/client.ts +4 -3
  245. package/connectors/stability-api-platform/src/api/index.ts +0 -1
  246. package/connectors/stability-api-platform/src/cli/index.ts +1 -1
  247. package/connectors/stability-api-platform/src/index.ts +0 -1
  248. package/connectors/standout/package.json +1 -1
  249. package/connectors/statuspage/package.json +1 -1
  250. package/connectors/stop-and-error/.env.example +1 -1
  251. package/connectors/stop-and-error/CLAUDE.md +1 -1
  252. package/connectors/stop-and-error/README.md +1 -1
  253. package/connectors/stop-and-error/src/api/client.test.ts +12 -8
  254. package/connectors/stop-and-error/src/api/client.ts +4 -3
  255. package/connectors/stop-and-error/src/cli/index.ts +2 -2
  256. package/connectors/stoplight/package.json +1 -1
  257. package/connectors/stoplight-api-platform/package.json +1 -1
  258. package/connectors/strand-ai/CLAUDE.md +1 -1
  259. package/connectors/stripe-financial-connections/.env.example +1 -1
  260. package/connectors/stripe-financial-connections/CLAUDE.md +2 -2
  261. package/connectors/stripe-financial-connections/package.json +1 -1
  262. package/connectors/stripe-financial-connections/src/api/client.test.ts +34 -0
  263. package/connectors/stripe-financial-connections/src/api/client.ts +4 -3
  264. package/connectors/stripe-financial-connections/src/cli/index.ts +1 -1
  265. package/connectors/stripe-terminal/package.json +1 -1
  266. package/connectors/stytch/package.json +1 -1
  267. package/connectors/sucuri-api-platform/.env.example +1 -1
  268. package/connectors/sucuri-api-platform/CLAUDE.md +1 -1
  269. package/connectors/sucuri-api-platform/README.md +2 -2
  270. package/connectors/sucuri-api-platform/src/api/client.test.ts +9 -7
  271. package/connectors/sucuri-api-platform/src/api/client.ts +4 -3
  272. package/connectors/sucuri-api-platform/src/api/index.ts +1 -1
  273. package/connectors/sucuri-api-platform/src/cli/index.ts +1 -1
  274. package/connectors/sucuri-api-platform/src/index.ts +1 -1
  275. package/connectors/sumo-logic/package.json +1 -1
  276. package/connectors/supabase/package.json +1 -1
  277. package/connectors/supabase-api-platform/package.json +1 -1
  278. package/connectors/sysdig/package.json +1 -1
  279. package/connectors/tableau/package.json +1 -1
  280. package/connectors/takecareos/README.md +2 -2
  281. package/connectors/takecareos/package.json +1 -1
  282. package/connectors/telegram/src/api/bot.ts +20 -0
  283. package/connectors/telegram/src/api/client.ts +32 -0
  284. package/connectors/telegram/src/api/files.test.ts +103 -0
  285. package/connectors/telegram/src/api/index.ts +1 -0
  286. package/connectors/telegram/src/api/messages.test.ts +8 -2
  287. package/connectors/telegram/src/cli/files.test.ts +40 -0
  288. package/connectors/telegram/src/cli/files.ts +38 -0
  289. package/connectors/telegram/src/cli/index.ts +27 -30
  290. package/connectors/telegram/src/cli/updates.test.ts +176 -0
  291. package/connectors/telegram/src/cli/updates.ts +95 -0
  292. package/connectors/telegram/src/index.ts +1 -0
  293. package/connectors/telegram/src/types/index.ts +13 -0
  294. package/connectors/terraform-cloud/package.json +1 -1
  295. package/connectors/tettra-api-platform/CLAUDE.md +1 -1
  296. package/connectors/tettra-api-platform/README.md +2 -2
  297. package/connectors/tettra-api-platform/src/api/client.test.ts +7 -8
  298. package/connectors/tettra-api-platform/src/api/client.ts +4 -3
  299. package/connectors/tettra-api-platform/src/api/index.ts +1 -1
  300. package/connectors/tettra-api-platform/src/cli/index.ts +1 -1
  301. package/connectors/tettra-api-platform/src/index.ts +1 -1
  302. package/connectors/textit/package.json +1 -1
  303. package/connectors/thousandeyes/package.json +1 -1
  304. package/connectors/ticket-tailor/package.json +1 -1
  305. package/connectors/ticketsource/package.json +1 -1
  306. package/connectors/tiktokads/README.md +1 -1
  307. package/connectors/time-saved/package.json +1 -1
  308. package/connectors/tipalti/package.json +1 -1
  309. package/connectors/together-api-platform/.env.example +1 -1
  310. package/connectors/together-api-platform/CLAUDE.md +1 -1
  311. package/connectors/together-api-platform/README.md +1 -1
  312. package/connectors/together-api-platform/src/api/client.test.ts +11 -7
  313. package/connectors/together-api-platform/src/api/client.ts +4 -4
  314. package/connectors/together-api-platform/src/api/index.ts +1 -1
  315. package/connectors/together-api-platform/src/cli/index.ts +1 -1
  316. package/connectors/together-api-platform/src/index.ts +1 -1
  317. package/connectors/tomtom/AGENTS.md +1 -1
  318. package/connectors/totp/package.json +1 -1
  319. package/connectors/traverse/package.json +1 -1
  320. package/connectors/travo-ai/package.json +1 -1
  321. package/connectors/travo-real-estate/CLAUDE.md +1 -1
  322. package/connectors/travo-real-estate/README.md +1 -1
  323. package/connectors/travo-real-estate/src/api/client.test.ts +20 -16
  324. package/connectors/travo-real-estate/src/api/client.ts +4 -3
  325. package/connectors/travo-real-estate/src/utils/config.ts +2 -4
  326. package/connectors/tray-api-platform/CLAUDE.md +1 -1
  327. package/connectors/tray-api-platform/src/api/client.test.ts +17 -13
  328. package/connectors/tray-api-platform/src/api/client.ts +4 -3
  329. package/connectors/tray-api-platform/src/api/index.ts +1 -1
  330. package/connectors/tray-api-platform/src/cli/index.ts +1 -1
  331. package/connectors/tray-api-platform/src/index.ts +0 -1
  332. package/connectors/trigger-dev/package.json +1 -1
  333. package/connectors/trigger-dev-api-platform/package.json +1 -1
  334. package/connectors/turbot-pipes/package.json +1 -1
  335. package/connectors/turso/package.json +1 -1
  336. package/connectors/turso-api-platform/CLAUDE.md +1 -1
  337. package/connectors/turso-api-platform/README.md +2 -2
  338. package/connectors/turso-api-platform/package.json +1 -1
  339. package/connectors/turso-api-platform/src/api/client.test.ts +17 -13
  340. package/connectors/turso-api-platform/src/api/client.ts +4 -3
  341. package/connectors/turso-api-platform/src/cli/index.ts +2 -2
  342. package/connectors/twilio-api-platform/CLAUDE.md +1 -1
  343. package/connectors/twilio-api-platform/src/api/client.test.ts +11 -11
  344. package/connectors/twilio-api-platform/src/api/client.ts +4 -3
  345. package/connectors/twilio-api-platform/src/api/index.ts +1 -1
  346. package/connectors/twilio-api-platform/src/cli/index.ts +1 -1
  347. package/connectors/twilio-api-platform/src/index.ts +1 -1
  348. package/connectors/tyk-api-platform/.env.example +1 -1
  349. package/connectors/tyk-api-platform/CLAUDE.md +2 -2
  350. package/connectors/tyk-api-platform/README.md +1 -1
  351. package/connectors/tyk-api-platform/package.json +1 -1
  352. package/connectors/tyk-api-platform/src/api/client.test.ts +14 -15
  353. package/connectors/tyk-api-platform/src/api/client.ts +4 -3
  354. package/connectors/tyk-api-platform/src/api/index.ts +1 -1
  355. package/connectors/tyk-api-platform/src/cli/index.ts +1 -1
  356. package/connectors/tyk-api-platform/src/index.ts +1 -1
  357. package/connectors/umami/package.json +1 -1
  358. package/connectors/unifold/package.json +1 -1
  359. package/connectors/unione/package.json +1 -1
  360. package/connectors/uniprot/README.md +1 -1
  361. package/connectors/uniswap-api/package.json +1 -1
  362. package/connectors/ups/package.json +1 -1
  363. package/connectors/usereframe/package.json +1 -1
  364. package/connectors/vanta/package.json +1 -1
  365. package/connectors/vector-legal/.env.example +1 -1
  366. package/connectors/vector-legal/AGENTS.md +1 -1
  367. package/connectors/vector-legal/CLAUDE.md +1 -1
  368. package/connectors/vector-legal/README.md +1 -1
  369. package/connectors/vector-legal/src/api/client.test.ts +9 -5
  370. package/connectors/vector-legal/src/api/client.ts +4 -3
  371. package/connectors/vector-legal/src/api/index.ts +1 -1
  372. package/connectors/vector-legal/src/cli/index.ts +2 -2
  373. package/connectors/vector-legal/src/index.ts +0 -1
  374. package/connectors/vector-legal-api/CLAUDE.md +1 -1
  375. package/connectors/vector-legal-api/README.md +2 -2
  376. package/connectors/vector-legal-api/src/api/client.test.ts +12 -7
  377. package/connectors/vector-legal-api/src/api/client.ts +4 -3
  378. package/connectors/vector-legal-api/src/api/index.ts +1 -1
  379. package/connectors/vector-legal-api/src/cli/index.ts +1 -1
  380. package/connectors/vector-legal-api/src/index.ts +1 -2
  381. package/connectors/vela/package.json +1 -1
  382. package/connectors/velum-data-quality/.env.example +1 -1
  383. package/connectors/velum-data-quality/CLAUDE.md +1 -1
  384. package/connectors/velum-data-quality/src/api/client.test.ts +15 -16
  385. package/connectors/velum-data-quality/src/api/client.ts +4 -3
  386. package/connectors/velum-data-quality/src/api/index.ts +1 -1
  387. package/connectors/velum-data-quality/src/cli/index.ts +1 -1
  388. package/connectors/velum-data-quality/src/index.ts +0 -1
  389. package/connectors/velum-labs/package.json +1 -1
  390. package/connectors/vercel/package.json +1 -1
  391. package/connectors/vercel-api-platform/.env.example +1 -1
  392. package/connectors/vercel-api-platform/CLAUDE.md +2 -2
  393. package/connectors/vercel-api-platform/README.md +2 -2
  394. package/connectors/vercel-api-platform/src/api/client.test.ts +27 -6
  395. package/connectors/vercel-api-platform/src/api/client.ts +4 -3
  396. package/connectors/vercel-api-platform/src/api/index.ts +1 -1
  397. package/connectors/vercel-api-platform/src/cli/index.ts +2 -2
  398. package/connectors/vercel-api-platform/src/index.ts +0 -1
  399. package/connectors/vercel-blob/package.json +1 -1
  400. package/connectors/vercel-blob-platform/package.json +1 -1
  401. package/connectors/vercel-edge-config/package.json +1 -1
  402. package/connectors/vercel-edge-config-platform/package.json +1 -1
  403. package/connectors/veriphone/README.md +2 -2
  404. package/connectors/vertex-ai/package.json +1 -1
  405. package/connectors/vidyard/package.json +1 -1
  406. package/connectors/vonage/package.json +1 -1
  407. package/connectors/voygr/package.json +1 -1
  408. package/connectors/wait/package.json +1 -1
  409. package/connectors/walmart-marketplace/package.json +1 -1
  410. package/connectors/wato/package.json +1 -1
  411. package/connectors/wave-accounting/CLAUDE.md +1 -1
  412. package/connectors/wave-accounting/package.json +1 -1
  413. package/connectors/wave-accounting/src/utils/auth.ts +1 -1
  414. package/connectors/wayco/package.json +1 -1
  415. package/connectors/weaviate-api-platform/CLAUDE.md +1 -1
  416. package/connectors/weaviate-api-platform/src/api/client.test.ts +32 -7
  417. package/connectors/weaviate-api-platform/src/api/client.ts +4 -3
  418. package/connectors/weaviate-api-platform/src/api/index.ts +1 -1
  419. package/connectors/weaviate-api-platform/src/cli/index.ts +1 -1
  420. package/connectors/weaviate-api-platform/src/index.ts +1 -1
  421. package/connectors/webpagetest/package.json +1 -1
  422. package/connectors/weezevent/package.json +1 -1
  423. package/connectors/wikipedia/src/api/client.ts +1 -1
  424. package/connectors/wildcard/package.json +1 -1
  425. package/connectors/windmill/package.json +1 -1
  426. package/connectors/wise/package.json +1 -1
  427. package/connectors/withai/package.json +1 -1
  428. package/connectors/wiz/CLAUDE.md +1 -1
  429. package/connectors/wiz/package.json +1 -1
  430. package/connectors/wordfence/package.json +1 -1
  431. package/connectors/wordfence-api-platform/package.json +1 -1
  432. package/connectors/workflow-trigger/.env.example +1 -1
  433. package/connectors/workflow-trigger/CLAUDE.md +1 -1
  434. package/connectors/workflow-trigger/README.md +1 -1
  435. package/connectors/workflow-trigger/src/api/client.test.ts +10 -6
  436. package/connectors/workflow-trigger/src/api/client.ts +4 -3
  437. package/connectors/workflow-trigger/src/cli/index.ts +1 -1
  438. package/connectors/workos/package.json +1 -1
  439. package/connectors/write-binary-file/CLAUDE.md +1 -1
  440. package/connectors/write-binary-file/README.md +1 -1
  441. package/connectors/write-binary-file/package.json +1 -1
  442. package/connectors/write-binary-file/src/api/client.test.ts +16 -12
  443. package/connectors/write-binary-file/src/api/client.ts +4 -3
  444. package/connectors/write-binary-file/src/api/index.ts +1 -1
  445. package/connectors/write-binary-file/src/index.ts +1 -1
  446. package/connectors/wubookratechecker/src/api/client.test.ts +34 -0
  447. package/connectors/wubookratechecker/src/api/client.ts +3 -1
  448. package/connectors/wubookratechecker/src/api/index.ts +1 -1
  449. package/connectors/wubookratechecker/src/types/index.ts +1 -1
  450. package/connectors/xai/.env.example +1 -1
  451. package/connectors/xai-api-platform/.env.example +1 -1
  452. package/connectors/xai-api-platform/CLAUDE.md +1 -1
  453. package/connectors/xai-api-platform/README.md +1 -1
  454. package/connectors/xai-api-platform/src/api/client.test.ts +34 -9
  455. package/connectors/xai-api-platform/src/api/client.ts +4 -3
  456. package/connectors/xai-api-platform/src/api/index.ts +1 -1
  457. package/connectors/xai-api-platform/src/cli/index.ts +1 -1
  458. package/connectors/xai-api-platform/src/index.ts +1 -1
  459. package/connectors/xai-api-platform/src/utils/config.ts +3 -4
  460. package/connectors/xai-grok/.env.example +1 -1
  461. package/connectors/xai-grok/src/api/client.test.ts +3 -3
  462. package/connectors/xai-grok/src/cli/index.ts +1 -1
  463. package/connectors/xai-grok/src/utils/config.ts +1 -1
  464. package/connectors/ynab/package.json +1 -1
  465. package/connectors/you-com/README.md +2 -2
  466. package/connectors/you-com/package.json +1 -1
  467. package/connectors/yousign/package.json +1 -1
  468. package/connectors/zapier-api-platform/CLAUDE.md +1 -1
  469. package/connectors/zapier-api-platform/README.md +1 -1
  470. package/connectors/zapier-api-platform/src/api/client.test.ts +19 -14
  471. package/connectors/zapier-api-platform/src/api/client.ts +4 -3
  472. package/connectors/zapier-api-platform/src/api/index.ts +1 -1
  473. package/connectors/zapier-api-platform/src/cli/index.ts +1 -1
  474. package/connectors/zapier-api-platform/src/index.ts +1 -1
  475. package/connectors/zendesk/.env.example +4 -4
  476. package/connectors/zendesk/CLAUDE.md +1 -3
  477. package/connectors/zendesk/Makefile +18 -5
  478. package/connectors/zendesk/README.md +3 -8
  479. package/connectors/zendesk/SCAFFOLD.md +6 -5
  480. package/connectors/zerosettle/package.json +1 -1
  481. package/connectors/zoho-bigin/CLAUDE.md +1 -1
  482. package/connectors/zoho-campaigns/package.json +1 -1
  483. package/connectors/zoho-sign/package.json +1 -1
  484. package/connectors/zoho-subscriptions/CLAUDE.md +1 -1
  485. package/connectors/zohoprojects/CLAUDE.md +1 -1
  486. package/connectors/zolvo/package.json +1 -1
  487. package/connectors/zoom-api/package.json +1 -1
  488. package/connectors/zymbly/README.md +2 -2
  489. package/connectors/zymbly/package.json +1 -1
  490. package/dashboard/dist/assets/index-8uoGZF7B.js +280 -0
  491. package/dashboard/dist/index.html +1 -1
  492. package/dist/db/locks.d.ts +1 -1
  493. package/dist/index.js +17 -15
  494. package/dist/lib/connector-resolver.d.ts +1 -1
  495. package/dist/lib/llm.d.ts +1 -1
  496. package/dist/lib/open-browser.d.ts +18 -0
  497. package/dist/lib/open-browser.test.d.ts +1 -0
  498. package/package.json +6 -4
  499. package/dashboard/dist/assets/index-DlEljRrW.js +0 -285
@@ -160,7 +160,7 @@ profileCmd
160
160
 
161
161
  console.log(chalk.bold(`Profile: ${profileName}${profileName === active ? chalk.green(' (active)') : ''}`));
162
162
  info(`API Key: ${config.apiKey ? `${config.apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
163
- info(`Base URL: ${config.baseUrl || chalk.gray('default (https://api.vector-legal.com/v1)')}`);
163
+ info(`Base URL: ${config.baseUrl || chalk.gray('none configured')}`);
164
164
  });
165
165
 
166
166
  // ============================================
@@ -197,7 +197,7 @@ configCmd
197
197
  console.log(chalk.bold(`Active Profile: ${profileName}`));
198
198
  info(`Config directory: ${getConfigDir()}`);
199
199
  info(`API Key: ${apiKey ? `${apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
200
- info(`Base URL: ${baseUrl || chalk.gray('default (https://api.vector-legal.com/v1)')}`);
200
+ info(`Base URL: ${baseUrl || chalk.gray('none configured')}`);
201
201
  });
202
202
 
203
203
  configCmd
@@ -5,7 +5,6 @@ export * from './types';
5
5
 
6
6
  export {
7
7
  ConnectorClient,
8
- DEFAULT_BASE_URL,
9
8
  DocumentsApi,
10
9
  EventsApi,
11
10
  SearchApi,
@@ -19,7 +19,7 @@ bun run dev -- --help # Show CLI help
19
19
 
20
20
  ## API Details
21
21
 
22
- - **Base URL**: `https://api.vector-legal.com/v1` (configurable via `VECTOR_LEGAL_API_BASE_URL`)
22
+ - **Base URL**: no default (must be configured) (configurable via `VECTOR_LEGAL_API_BASE_URL`)
23
23
  - **Auth**: Bearer token: `Authorization: Bearer <API_KEY>` (api_key credential field)
24
24
 
25
25
  ## API Resources
@@ -1,6 +1,6 @@
1
1
  # connect-vector-legal-api
2
2
 
3
- TypeScript connector for the [Vector Legal API](https://api.vector-legal.com/v1) — legal document management, events, and search.
3
+ TypeScript connector for the [Vector Legal API](configured.example.com/v1) — legal document management, events, and search.
4
4
 
5
5
  ## Features
6
6
 
@@ -30,7 +30,7 @@ bun run dev documents list
30
30
  | Variable | Required | Description |
31
31
  |----------|----------|-------------|
32
32
  | `VECTOR_LEGAL_API_KEY` | Yes | API key |
33
- | `VECTOR_LEGAL_API_BASE_URL` | No | Base URL (default: `https://api.vector-legal.com/v1`) |
33
+ | `VECTOR_LEGAL_API_BASE_URL` | No | Base URL (default: `configured.example.com/v1`) |
34
34
 
35
35
  ## CLI
36
36
 
@@ -1,5 +1,6 @@
1
1
  import { afterEach, describe, expect, mock, test } from 'bun:test';
2
- import { Connector, DEFAULT_BASE_URL } from './index';
2
+ import { ConnectorClient } from './client';
3
+ import { Connector } from './index';
3
4
 
4
5
  const realFetch = globalThis.fetch;
5
6
 
@@ -30,21 +31,21 @@ function installFetch(): Recorded[] {
30
31
  describe('Vector Legal API client', () => {
31
32
  test('uses default base URL and Bearer auth for list documents', async () => {
32
33
  const recorded = installFetch();
33
- const client = new Connector({ apiKey: 'vector-legal-api-key' });
34
+ const client = new Connector({ apiKey: 'vector-legal-api-key', baseUrl: 'https://configured.example.com/v1' });
34
35
  await client.documents.list();
35
36
 
36
37
  expect(recorded).toHaveLength(1);
37
- expect(recorded[0].url).toBe(`${DEFAULT_BASE_URL}/documents`);
38
+ expect(recorded[0].url).toBe(`https://configured.example.com/v1/documents`);
38
39
  expect(recorded[0].method).toBe('GET');
39
40
  expect(recorded[0].headers.get('Authorization')).toBe('Bearer vector-legal-api-key');
40
41
  });
41
42
 
42
43
  test('get document encodes id in path', async () => {
43
44
  const recorded = installFetch();
44
- const client = new Connector({ apiKey: 'vector-legal-api-key' });
45
+ const client = new Connector({ apiKey: 'vector-legal-api-key', baseUrl: 'https://configured.example.com/v1' });
45
46
  await client.documents.get('item-1');
46
47
 
47
- expect(recorded[0].url).toBe(`${DEFAULT_BASE_URL}/documents/item-1`);
48
+ expect(recorded[0].url).toBe(`https://configured.example.com/v1/documents/item-1`);
48
49
  expect(recorded[0].headers.get('Authorization')).toBe('Bearer vector-legal-api-key');
49
50
  });
50
51
 
@@ -61,10 +62,10 @@ describe('Vector Legal API client', () => {
61
62
 
62
63
  test('search posts to /search with body', async () => {
63
64
  const recorded = installFetch();
64
- const client = new Connector({ apiKey: 'test-key' });
65
+ const client = new Connector({ apiKey: 'test-key', baseUrl: 'https://configured.example.com/v1' });
65
66
  await client.search.search({ query: 'nda' });
66
67
 
67
- expect(recorded[0].url).toBe(`${DEFAULT_BASE_URL}/search`);
68
+ expect(recorded[0].url).toBe(`https://configured.example.com/v1/search`);
68
69
  expect(recorded[0].method).toBe('POST');
69
70
  });
70
71
 
@@ -78,4 +79,8 @@ describe('Vector Legal API client', () => {
78
79
  test('requires api key', () => {
79
80
  expect(() => new Connector({})).toThrow('API key');
80
81
  });
82
+
83
+ test('refuses to send without a configured base URL (no default endpoint)', () => {
84
+ expect(() => new ConnectorClient({ apiKey: 'test-key' })).toThrow(/baseUrl/);
85
+ });
81
86
  });
@@ -1,8 +1,6 @@
1
1
  import type { ConnectorConfig, OutputFormat } from '../types';
2
2
  import { ConnectorApiError, parseApiError } from '../types';
3
3
 
4
- export const DEFAULT_BASE_URL = 'https://api.vector-legal.com/v1';
5
-
6
4
  export interface RequestOptions {
7
5
  method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
8
6
  params?: Record<string, string | number | boolean | undefined>;
@@ -23,7 +21,10 @@ export class ConnectorClient {
23
21
  throw new Error('API key or token is required');
24
22
  }
25
23
  this.apiKey = key;
26
- this.baseUrl = config.baseUrl || DEFAULT_BASE_URL;
24
+ if (!config.baseUrl) {
25
+ throw new Error('baseUrl is required: no default endpoint is configured; set baseUrl (profile, config, or the connector BASE_URL environment variable)');
26
+ }
27
+ this.baseUrl = config.baseUrl;
27
28
  }
28
29
 
29
30
  getBaseUrl(): string {
@@ -38,7 +38,7 @@ export class Connector {
38
38
  }
39
39
  }
40
40
 
41
- export { ConnectorClient, DEFAULT_BASE_URL } from './client';
41
+ export { ConnectorClient } from './client';
42
42
  export { DocumentsApi } from './documents';
43
43
  export { EventsApi } from './events';
44
44
  export { SearchApi } from './search';
@@ -200,7 +200,7 @@ configCmd
200
200
  console.log(chalk.bold(`Active Profile: ${getCurrentProfile()}`));
201
201
  info(`Config directory: ${getConfigDir()}`);
202
202
  info(`API Key: ${apiKey ? `${apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
203
- info(`Base URL: ${baseUrl || chalk.gray('default (https://api.vector-legal.com/v1)')}`);
203
+ info(`Base URL: ${baseUrl || chalk.gray('none configured')}`);
204
204
  });
205
205
 
206
206
  configCmd
@@ -8,8 +8,7 @@ export {
8
8
  DocumentsApi,
9
9
  EventsApi,
10
10
  SearchApi,
11
- DEFAULT_BASE_URL,
12
- } from './api';
11
+ } from './api';
13
12
 
14
13
  export {
15
14
  getApiKey,
@@ -49,6 +49,6 @@
49
49
  },
50
50
  "repository": {
51
51
  "type": "git",
52
- "url": "git+https://github.com/hasna/open-connectors.git"
52
+ "url": "git+https://github.com/hasna/apps.git"
53
53
  }
54
54
  }
@@ -2,5 +2,5 @@
2
2
 
3
3
  VELUM_DATA_QUALITY_API_KEY=your-api-key-here
4
4
 
5
- # Optional: override API base URL (default https://api.velum-data-quality.com/v1)
5
+ # Optional: override API base URL (no default - must be configured)
6
6
  # VELUM_DATA_QUALITY_BASE_URL=https://api.velum-data-quality.com/v1
@@ -18,7 +18,7 @@ bun run dev -- --help # Show CLI help
18
18
 
19
19
  ## API Details
20
20
 
21
- - **Base URL**: `https://api.velum-data-quality.com/v1` (configurable via `VELUM_DATA_QUALITY_BASE_URL`)
21
+ - **Base URL**: no default (must be configured) (configurable via `VELUM_DATA_QUALITY_BASE_URL`)
22
22
  - **Auth**: Bearer token: `Authorization: Bearer <API_KEY>`
23
23
 
24
24
  ## API Resources
@@ -1,5 +1,5 @@
1
1
  import { afterEach, describe, expect, test } from 'bun:test';
2
- import { Connector, ConnectorClient, DEFAULT_BASE_URL } from './index';
2
+ import { Connector, ConnectorClient } from './index';
3
3
 
4
4
  const realFetch = globalThis.fetch;
5
5
 
@@ -48,20 +48,19 @@ describe('Velum Data Quality API client', () => {
48
48
  expect(() => new ConnectorClient({})).toThrow('API key');
49
49
  });
50
50
 
51
- test('uses default base URL', () => {
52
- const client = new ConnectorClient({ apiKey: 'test-key' });
53
- expect(client.getBaseUrl()).toBe(DEFAULT_BASE_URL);
51
+ test('refuses to send without a configured base URL (no default endpoint)', () => {
52
+ expect(() => new ConnectorClient({ apiKey: 'test-key' })).toThrow(/baseUrl/);
54
53
  });
55
54
 
56
55
  test('listChecks sends Bearer auth to GET /checks', async () => {
57
56
  const recorded = installFetch((req) => {
58
57
  expect(req.method).toBe('GET');
59
- expect(req.url).toBe(`${DEFAULT_BASE_URL}/checks`);
58
+ expect(req.url).toBe(`https://configured.example.com/v1/checks`);
60
59
  expect(req.headers.authorization).toBe('Bearer velum-test-key');
61
60
  return { checks: [{ id: 'chk_1' }] };
62
61
  });
63
62
 
64
- const connector = new Connector({ apiKey: 'velum-test-key' });
63
+ const connector = new Connector({ apiKey: 'velum-test-key', baseUrl: 'https://configured.example.com/v1' });
65
64
  const result = await connector.checks.list();
66
65
  expect(result).toEqual({ checks: [{ id: 'chk_1' }] });
67
66
  expect(recorded).toHaveLength(1);
@@ -70,11 +69,11 @@ describe('Velum Data Quality API client', () => {
70
69
  test('getCheck encodes check ID in path', async () => {
71
70
  const recorded = installFetch((req) => {
72
71
  expect(req.method).toBe('GET');
73
- expect(req.url).toBe(`${DEFAULT_BASE_URL}/checks/check%2F123`);
72
+ expect(req.url).toBe(`https://configured.example.com/v1/checks/check%2F123`);
74
73
  return { id: 'check/123', status: 'active' };
75
74
  });
76
75
 
77
- const connector = new Connector({ apiKey: 'velum-test-key' });
76
+ const connector = new Connector({ apiKey: 'velum-test-key', baseUrl: 'https://configured.example.com/v1' });
78
77
  const result = await connector.checks.get('check/123');
79
78
  expect(result).toEqual({ id: 'check/123', status: 'active' });
80
79
  expect(recorded).toHaveLength(1);
@@ -83,12 +82,12 @@ describe('Velum Data Quality API client', () => {
83
82
  test('createCheck POSTs JSON body to /checks', async () => {
84
83
  const recorded = installFetch((req) => {
85
84
  expect(req.method).toBe('POST');
86
- expect(req.url).toBe(`${DEFAULT_BASE_URL}/checks`);
85
+ expect(req.url).toBe(`https://configured.example.com/v1/checks`);
87
86
  expect(req.body).toBe(JSON.stringify({ name: 'freshness' }));
88
87
  return { id: 'chk_new', name: 'freshness' };
89
88
  });
90
89
 
91
- const connector = new Connector({ apiKey: 'velum-test-key' });
90
+ const connector = new Connector({ apiKey: 'velum-test-key', baseUrl: 'https://configured.example.com/v1' });
92
91
  const result = await connector.checks.create({ name: 'freshness' });
93
92
  expect(result).toEqual({ id: 'chk_new', name: 'freshness' });
94
93
  expect(recorded).toHaveLength(1);
@@ -97,11 +96,11 @@ describe('Velum Data Quality API client', () => {
97
96
  test('listEvents hits GET /events', async () => {
98
97
  const recorded = installFetch((req) => {
99
98
  expect(req.method).toBe('GET');
100
- expect(req.url).toBe(`${DEFAULT_BASE_URL}/events`);
99
+ expect(req.url).toBe(`https://configured.example.com/v1/events`);
101
100
  return { events: [{ id: 'evt_1' }] };
102
101
  });
103
102
 
104
- const connector = new Connector({ apiKey: 'velum-test-key' });
103
+ const connector = new Connector({ apiKey: 'velum-test-key', baseUrl: 'https://configured.example.com/v1' });
105
104
  const result = await connector.events.list();
106
105
  expect(result).toEqual({ events: [{ id: 'evt_1' }] });
107
106
  expect(recorded).toHaveLength(1);
@@ -110,12 +109,12 @@ describe('Velum Data Quality API client', () => {
110
109
  test('search POSTs to /search', async () => {
111
110
  const recorded = installFetch((req) => {
112
111
  expect(req.method).toBe('POST');
113
- expect(req.url).toBe(`${DEFAULT_BASE_URL}/search`);
112
+ expect(req.url).toBe(`https://configured.example.com/v1/search`);
114
113
  expect(req.body).toBe(JSON.stringify({ query: 'failed' }));
115
114
  return { results: [] };
116
115
  });
117
116
 
118
- const connector = new Connector({ apiKey: 'velum-test-key' });
117
+ const connector = new Connector({ apiKey: 'velum-test-key', baseUrl: 'https://configured.example.com/v1' });
119
118
  const result = await connector.search.search({ query: 'failed' });
120
119
  expect(result).toEqual({ results: [] });
121
120
  expect(recorded).toHaveLength(1);
@@ -124,11 +123,11 @@ describe('Velum Data Quality API client', () => {
124
123
  test('rawRequest supports custom path and method', async () => {
125
124
  const recorded = installFetch((req) => {
126
125
  expect(req.method).toBe('PATCH');
127
- expect(req.url).toBe(`${DEFAULT_BASE_URL}/checks/chk_1`);
126
+ expect(req.url).toBe(`https://configured.example.com/v1/checks/chk_1`);
128
127
  return { ok: true };
129
128
  });
130
129
 
131
- const connector = new Connector({ apiKey: 'velum-test-key' });
130
+ const connector = new Connector({ apiKey: 'velum-test-key', baseUrl: 'https://configured.example.com/v1' });
132
131
  await connector.rawRequest({ method: 'PATCH', path: '/checks/chk_1', body: { status: 'paused' } });
133
132
  expect(recorded).toHaveLength(1);
134
133
  });
@@ -1,8 +1,6 @@
1
1
  import type { ConnectorConfig, OutputFormat } from '../types';
2
2
  import { ConnectorApiError, parseApiError } from '../types';
3
3
 
4
- export const DEFAULT_BASE_URL = 'https://api.velum-data-quality.com/v1';
5
-
6
4
  export interface RequestOptions {
7
5
  method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
8
6
  params?: Record<string, string | number | boolean | undefined>;
@@ -23,7 +21,10 @@ export class ConnectorClient {
23
21
  throw new Error('API key, token, or accessToken is required');
24
22
  }
25
23
  this.apiKey = key;
26
- this.baseUrl = config.baseUrl || DEFAULT_BASE_URL;
24
+ if (!config.baseUrl) {
25
+ throw new Error('baseUrl is required: no default endpoint is configured; set baseUrl (profile, config, or the connector BASE_URL environment variable)');
26
+ }
27
+ this.baseUrl = config.baseUrl;
27
28
  }
28
29
 
29
30
  private buildUrl(path: string, params?: Record<string, string | number | boolean | undefined>): string {
@@ -48,7 +48,7 @@ export class Connector {
48
48
  }
49
49
  }
50
50
 
51
- export { ConnectorClient, DEFAULT_BASE_URL } from './client';
51
+ export { ConnectorClient } from './client';
52
52
  export { ChecksApi } from './checks';
53
53
  export { EventsApi } from './events';
54
54
  export { SearchApi } from './search';
@@ -226,7 +226,7 @@ configCmd
226
226
  console.log(chalk.bold(`Active Profile: ${profileName}`));
227
227
  info(`Config directory: ${getConfigDir()}`);
228
228
  info(`API Key: ${apiKey ? `${apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
229
- info(`Base URL: ${baseUrl || chalk.gray('default (https://api.velum-data-quality.com/v1)')}`);
229
+ info(`Base URL: ${baseUrl || chalk.gray('none configured')}`);
230
230
  });
231
231
 
232
232
  configCmd
@@ -8,7 +8,6 @@ export {
8
8
  ChecksApi,
9
9
  EventsApi,
10
10
  SearchApi,
11
- DEFAULT_BASE_URL,
12
11
  } from './api';
13
12
 
14
13
  export {
@@ -46,6 +46,6 @@
46
46
  },
47
47
  "repository": {
48
48
  "type": "git",
49
- "url": "git+https://github.com/hasna/open-connectors.git"
49
+ "url": "git+https://github.com/hasna/apps.git"
50
50
  }
51
51
  }
@@ -47,6 +47,6 @@
47
47
  },
48
48
  "repository": {
49
49
  "type": "git",
50
- "url": "git+https://github.com/hasna/open-connectors.git"
50
+ "url": "git+https://github.com/hasna/apps.git"
51
51
  }
52
52
  }
@@ -1,5 +1,5 @@
1
1
  # Vercel Api Platform API credentials
2
2
  VERCEL_API_PLATFORM_API_KEY=your-api-key-here
3
3
 
4
- # Optional: override API base URL (default https://api.vercelapiplatform.com/v1)
4
+ # Optional: override API base URL (no default - must be configured)
5
5
  # VERCEL_API_PLATFORM_BASE_URL=https://api.vercelapiplatform.com/v1
@@ -4,11 +4,11 @@ Guidance for working with the Vercel Api Platform connector.
4
4
 
5
5
  ## Distinction from connect-vercel
6
6
 
7
- This connector targets **Vercel Api Platform** at `https://api.vercelapiplatform.com/v1` (items, events, search). It is **not** the same as `connect-vercel`, which wraps `api.vercel.com` for deployments and projects.
7
+ This connector targets **Vercel Api Platform** at `configured.example.com/v1` (items, events, search). It is **not** the same as `connect-vercel`, which wraps `api.vercel.com` for deployments and projects.
8
8
 
9
9
  ## API Reference
10
10
 
11
- - **Base URL**: `https://api.vercelapiplatform.com/v1` (override via profile or `VERCEL_API_PLATFORM_BASE_URL`)
11
+ - **Base URL**: no default (must be configured) (override via profile or `VERCEL_API_PLATFORM_BASE_URL`)
12
12
  - **Auth**: Bearer token (`Authorization: Bearer <api_key>`)
13
13
  - **Endpoints**:
14
14
  - `GET /items` — list items
@@ -1,6 +1,6 @@
1
1
  # @hasna/connect-vercel-api-platform
2
2
 
3
- TypeScript connector and CLI for the [Vercel Api Platform](https://api.vercelapiplatform.com/v1) REST API.
3
+ TypeScript connector and CLI for the [Vercel Api Platform](configured.example.com/v1) REST API.
4
4
 
5
5
  > **Note:** This is distinct from `@hasna/connect-vercel`, which targets `api.vercel.com` for Vercel deployments.
6
6
 
@@ -15,7 +15,7 @@ bun add @hasna/connect-vercel-api-platform
15
15
  ```bash
16
16
  export VERCEL_API_PLATFORM_API_KEY=your-api-key
17
17
  # optional
18
- export VERCEL_API_PLATFORM_BASE_URL=https://api.vercelapiplatform.com/v1
18
+ export VERCEL_API_PLATFORM_BASE_URL=https://configured.example.com/v1
19
19
  ```
20
20
 
21
21
  Or use the CLI profile/config commands.
@@ -1,5 +1,5 @@
1
1
  import { describe, test, expect, mock, beforeEach, afterEach } from 'bun:test';
2
- import { ConnectorClient, DEFAULT_BASE_URL } from './client';
2
+ import { ConnectorClient } from './client';
3
3
  import { Connector } from './index';
4
4
  import { ConnectorApiError } from '../types';
5
5
 
@@ -38,10 +38,9 @@ describe('ConnectorClient', () => {
38
38
  expect(client.getBaseUrl()).toBe(TEST_BASE_URL);
39
39
  });
40
40
 
41
- test('uses default base URL when not provided', () => {
42
- const client = new ConnectorClient({ apiKey: 'key' });
43
- expect(client.getBaseUrl()).toBe(DEFAULT_BASE_URL);
44
- });
41
+ test('refuses to send without a configured base URL (no default endpoint)', () => {
42
+ expect(() => new ConnectorClient({ apiKey: 'test-key' })).toThrow(/baseUrl/);
43
+ });
45
44
 
46
45
  test('strips trailing slashes from base URL', () => {
47
46
  const client = new ConnectorClient({ apiKey: 'key', baseUrl: 'https://api.example.com/v1///' });
@@ -56,7 +55,7 @@ describe('ConnectorClient', () => {
56
55
  });
57
56
 
58
57
  test('returns *** for short keys', () => {
59
- const client = new ConnectorClient({ apiKey: 'short' });
58
+ const client = new ConnectorClient({ apiKey: 'short', baseUrl: 'https://configured.example.com/v1' });
60
59
  expect(client.getApiKeyPreview()).toBe('***');
61
60
  });
62
61
  });
@@ -198,10 +197,32 @@ describe('Connector API modules', () => {
198
197
  test('raw.request uses configured base URL override', async () => {
199
198
  const connector = new Connector({
200
199
  apiKey: 'key',
200
+ baseUrl: 'https://configured.example.com/v1',
201
+ baseUrl: 'https://configured.example.com/v1',
201
202
  baseUrl: 'https://override.example.com/v1',
202
203
  });
203
204
  await connector.raw.request({ path: '/items', method: 'GET' });
204
205
  const [url] = getFetchMock().mock.calls[0];
205
206
  expect(url).toBe('https://override.example.com/v1/items');
206
207
  });
208
+
209
+ test('sends the API key only to the configured base URL', async () => {
210
+ const recorded: string[] = [];
211
+ globalThis.fetch = (async (input: string | URL | Request, init?: RequestInit) => {
212
+ recorded.push(typeof input === 'string' ? input : input.toString());
213
+ return {
214
+ ok: true,
215
+ status: 200,
216
+ statusText: 'OK',
217
+ headers: new Headers({ 'content-type': 'application/json' }),
218
+ async text() { return JSON.stringify({ ok: true }); },
219
+ async json() { return { ok: true }; },
220
+ } as Response;
221
+ }) as typeof fetch;
222
+ const client = new ConnectorClient({ apiKey: 'test-key', baseUrl: 'https://configured.example.com/v1' });
223
+ await client.request('/ping');
224
+ expect(recorded).toHaveLength(1);
225
+ expect(recorded[0].startsWith('https://configured.example.com/v1/')).toBe(true);
226
+ expect(recorded[0]).not.toContain('api.vercelapiplatform.com');
227
+ });
207
228
  });
@@ -1,8 +1,6 @@
1
1
  import type { ConnectorConfig } from '../types';
2
2
  import { ConnectorApiError, parseApiError } from '../types';
3
3
 
4
- export const DEFAULT_BASE_URL = 'https://api.vercelapiplatform.com/v1';
5
-
6
4
  export interface RequestOptions {
7
5
  method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
8
6
  params?: Record<string, string | number | boolean | undefined>;
@@ -22,7 +20,10 @@ export class ConnectorClient {
22
20
  throw new Error('API key, token, or accessToken is required');
23
21
  }
24
22
  this.apiKey = key;
25
- this.baseUrl = (config.baseUrl || DEFAULT_BASE_URL).replace(/\/+$/, '');
23
+ if (!config.baseUrl) {
24
+ throw new Error('baseUrl is required: no default endpoint is configured; set baseUrl (profile, config, or the connector BASE_URL environment variable)');
25
+ }
26
+ this.baseUrl = config.baseUrl.replace(/\/+$/, '');
26
27
  }
27
28
 
28
29
  getBaseUrl(): string {
@@ -41,7 +41,7 @@ export class Connector {
41
41
  }
42
42
  }
43
43
 
44
- export { ConnectorClient, DEFAULT_BASE_URL } from './client';
44
+ export { ConnectorClient } from './client';
45
45
  export { ItemsApi } from './items';
46
46
  export { EventsApi } from './events';
47
47
  export { SearchApi } from './search';
@@ -140,7 +140,7 @@ profileCmd.command('show [name]').description('Show profile configuration').acti
140
140
  const active = getCurrentProfile();
141
141
  console.log(chalk.bold(`Profile: ${profileName}${profileName === active ? chalk.green(' (active)') : ''}`));
142
142
  info(`API Key: ${config.apiKey ? `${config.apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
143
- info(`Base URL: ${config.baseUrl || chalk.gray('default (https://api.vercelapiplatform.com/v1)')}`);
143
+ info(`Base URL: ${config.baseUrl || chalk.gray('none configured')}`);
144
144
  });
145
145
 
146
146
  const configCmd = program.command('config').description('Manage CLI configuration');
@@ -162,7 +162,7 @@ configCmd.command('show').description('Show current configuration').action(() =>
162
162
  console.log(chalk.bold(`Active Profile: ${profileName}`));
163
163
  info(`Config directory: ${getConfigDir()}`);
164
164
  info(`API Key: ${apiKey ? `${apiKey.substring(0, 8)}...` : chalk.gray('not set')}`);
165
- info(`Base URL: ${baseUrl || chalk.gray('default (https://api.vercelapiplatform.com/v1)')}`);
165
+ info(`Base URL: ${baseUrl || chalk.gray('none configured')}`);
166
166
  });
167
167
 
168
168
  configCmd.command('clear').description('Clear configuration for active profile').action(() => {
@@ -9,7 +9,6 @@ export {
9
9
  EventsApi,
10
10
  SearchApi,
11
11
  RawApi,
12
- DEFAULT_BASE_URL,
13
12
  } from './api';
14
13
 
15
14
  export {
@@ -46,6 +46,6 @@
46
46
  },
47
47
  "repository": {
48
48
  "type": "git",
49
- "url": "git+https://github.com/hasna/open-connectors.git"
49
+ "url": "git+https://github.com/hasna/apps.git"
50
50
  }
51
51
  }
@@ -46,6 +46,6 @@
46
46
  },
47
47
  "repository": {
48
48
  "type": "git",
49
- "url": "git+https://github.com/hasna/open-connectors.git"
49
+ "url": "git+https://github.com/hasna/apps.git"
50
50
  }
51
51
  }
@@ -46,6 +46,6 @@
46
46
  },
47
47
  "repository": {
48
48
  "type": "git",
49
- "url": "git+https://github.com/hasna/open-connectors.git"
49
+ "url": "git+https://github.com/hasna/apps.git"
50
50
  }
51
51
  }
@@ -45,6 +45,6 @@
45
45
  },
46
46
  "repository": {
47
47
  "type": "git",
48
- "url": "git+https://github.com/hasna/open-connectors.git"
48
+ "url": "git+https://github.com/hasna/apps.git"
49
49
  }
50
50
  }
@@ -21,7 +21,7 @@ bun install
21
21
  Set your API key via environment variable or CLI profile:
22
22
 
23
23
  ```bash
24
- export VERIPHONE_API_KEY=your-api-key-here
24
+ export VERIPHONE_API_KEY=<your-api-key>
25
25
  # or
26
26
  bun run dev config set-key your-api-key-here
27
27
  ```
@@ -35,7 +35,7 @@ Get an API key at [veriphone.io](https://veriphone.io).
35
35
  bun run dev verify "+4915123577723"
36
36
 
37
37
  # With default country hint
38
- bun run dev verify "015123577723" --default-country DE
38
+ bun run dev verify "0151-23577723" --default-country DE
39
39
 
40
40
  # Use POST method
41
41
  bun run dev verify "+14155552671" --method post
@@ -48,6 +48,6 @@
48
48
  },
49
49
  "repository": {
50
50
  "type": "git",
51
- "url": "git+https://github.com/hasna/open-connectors.git"
51
+ "url": "git+https://github.com/hasna/apps.git"
52
52
  }
53
53
  }
@@ -48,6 +48,6 @@
48
48
  },
49
49
  "repository": {
50
50
  "type": "git",
51
- "url": "git+https://github.com/hasna/open-connectors.git"
51
+ "url": "git+https://github.com/hasna/apps.git"
52
52
  }
53
53
  }
@@ -46,6 +46,6 @@
46
46
  },
47
47
  "repository": {
48
48
  "type": "git",
49
- "url": "git+https://github.com/hasna/open-connectors.git"
49
+ "url": "git+https://github.com/hasna/apps.git"
50
50
  }
51
51
  }
@@ -46,6 +46,6 @@
46
46
  },
47
47
  "repository": {
48
48
  "type": "git",
49
- "url": "git+https://github.com/hasna/open-connectors.git"
49
+ "url": "git+https://github.com/hasna/apps.git"
50
50
  }
51
51
  }
@@ -46,6 +46,6 @@
46
46
  },
47
47
  "repository": {
48
48
  "type": "git",
49
- "url": "git+https://github.com/hasna/open-connectors.git"
49
+ "url": "git+https://github.com/hasna/apps.git"
50
50
  }
51
51
  }
@@ -48,6 +48,6 @@
48
48
  },
49
49
  "repository": {
50
50
  "type": "git",
51
- "url": "git+https://github.com/hasna/open-connectors.git"
51
+ "url": "git+https://github.com/hasna/apps.git"
52
52
  }
53
53
  }