@hasna/connectors 1.4.1 → 1.4.2

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 (339) hide show
  1. package/bin/index.js +1272 -314
  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/cloudflare-workers/package.json +1 -1
  40. package/connectors/coda/package.json +1 -1
  41. package/connectors/coingecko/package.json +1 -1
  42. package/connectors/convertkit/package.json +1 -1
  43. package/connectors/customerio/package.json +1 -1
  44. package/connectors/databricks/package.json +1 -1
  45. package/connectors/datadog/package.json +1 -1
  46. package/connectors/datasoap/README.md +2 -2
  47. package/connectors/datasoap/package.json +1 -1
  48. package/connectors/datumbox/README.md +2 -2
  49. package/connectors/datumbox/package.json +1 -1
  50. package/connectors/dayschedule/README.md +2 -2
  51. package/connectors/dayschedule/package.json +1 -1
  52. package/connectors/deepgram/package.json +1 -1
  53. package/connectors/deepinfra/README.md +2 -2
  54. package/connectors/deepinfra/package.json +1 -1
  55. package/connectors/deepl/README.md +2 -2
  56. package/connectors/deepl/package.json +1 -1
  57. package/connectors/deepseek/package.json +1 -1
  58. package/connectors/demio/README.md +2 -2
  59. package/connectors/demio/package.json +1 -1
  60. package/connectors/descript/README.md +2 -2
  61. package/connectors/descript/package.json +1 -1
  62. package/connectors/detrack/README.md +2 -2
  63. package/connectors/detrack/package.json +1 -1
  64. package/connectors/devcycle/README.md +2 -2
  65. package/connectors/devcycle/package.json +1 -1
  66. package/connectors/dhl/README.md +2 -2
  67. package/connectors/dhl/package.json +1 -1
  68. package/connectors/docusign/package.json +1 -1
  69. package/connectors/dropbox/package.json +1 -1
  70. package/connectors/fal/package.json +1 -1
  71. package/connectors/fathom/package.json +1 -1
  72. package/connectors/fireworks/package.json +1 -1
  73. package/connectors/gitlab/package.json +1 -1
  74. package/connectors/googlechat/README.md +1 -2
  75. package/connectors/googledrive/src/api/client.ts +5 -5
  76. package/connectors/googledrive/src/api/files.ts +11 -11
  77. package/connectors/googledrive/src/api/folders.ts +2 -2
  78. package/connectors/googledrive/src/cli/index.ts +4 -4
  79. package/connectors/googledrive/src/utils/output.ts +3 -3
  80. package/connectors/googleforms/README.md +1 -2
  81. package/connectors/googleperspective/README.md +1 -2
  82. package/connectors/grafana/package.json +1 -1
  83. package/connectors/growbots/README.md +2 -2
  84. package/connectors/growbots/package.json +1 -1
  85. package/connectors/gumroad/package.json +1 -1
  86. package/connectors/gupshup/README.md +2 -2
  87. package/connectors/gupshup/package.json +1 -1
  88. package/connectors/guru/README.md +2 -2
  89. package/connectors/guru/package.json +1 -1
  90. package/connectors/hackernews/README.md +2 -2
  91. package/connectors/hackernews/package.json +1 -1
  92. package/connectors/halopsa/README.md +2 -2
  93. package/connectors/halopsa/package.json +1 -1
  94. package/connectors/handwrytten/README.md +2 -2
  95. package/connectors/handwrytten/package.json +1 -1
  96. package/connectors/hansei/README.md +2 -2
  97. package/connectors/hansei/package.json +1 -1
  98. package/connectors/harrypotterapi/README.md +2 -2
  99. package/connectors/harrypotterapi/package.json +1 -1
  100. package/connectors/harvest/README.md +2 -2
  101. package/connectors/harvest/package.json +1 -1
  102. package/connectors/headlesstesting/README.md +2 -2
  103. package/connectors/headlesstesting/package.json +1 -1
  104. package/connectors/homeassistant/package.json +1 -1
  105. package/connectors/klaviyo/package.json +1 -1
  106. package/connectors/lemonsqueezy/package.json +1 -1
  107. package/connectors/lighthouse/src/api/index.ts +1 -1
  108. package/connectors/linkedin/package.json +1 -1
  109. package/connectors/linkish/README.md +2 -2
  110. package/connectors/linkish/package.json +1 -1
  111. package/connectors/liveagent/README.md +2 -2
  112. package/connectors/liveagent/package.json +1 -1
  113. package/connectors/localazy/README.md +2 -2
  114. package/connectors/localazy/package.json +1 -1
  115. package/connectors/loginradius/README.md +2 -2
  116. package/connectors/loginradius/package.json +1 -1
  117. package/connectors/lokalise/README.md +2 -2
  118. package/connectors/lokalise/package.json +1 -1
  119. package/connectors/lonescale/README.md +2 -2
  120. package/connectors/lonescale/package.json +1 -1
  121. package/connectors/lucidchart/README.md +2 -2
  122. package/connectors/lucidchart/package.json +1 -1
  123. package/connectors/luma/package.json +1 -1
  124. package/connectors/magento2/README.md +2 -2
  125. package/connectors/magento2/package.json +1 -1
  126. package/connectors/mailcheck/README.md +2 -2
  127. package/connectors/mailcheck/package.json +1 -1
  128. package/connectors/mailchimp/package.json +1 -1
  129. package/connectors/mailerlite/README.md +2 -2
  130. package/connectors/mailerlite/package.json +1 -1
  131. package/connectors/mailersend/README.md +2 -2
  132. package/connectors/mailersend/package.json +1 -1
  133. package/connectors/mailify/README.md +2 -2
  134. package/connectors/mailify/package.json +1 -1
  135. package/connectors/mailjet/README.md +2 -2
  136. package/connectors/mailjet/package.json +1 -1
  137. package/connectors/mailmodo/README.md +2 -2
  138. package/connectors/mailmodo/package.json +1 -1
  139. package/connectors/malcore/README.md +2 -2
  140. package/connectors/malcore/package.json +1 -1
  141. package/connectors/mandrill/README.md +2 -2
  142. package/connectors/mandrill/package.json +1 -1
  143. package/connectors/marcomrobot/README.md +2 -2
  144. package/connectors/marcomrobot/package.json +1 -1
  145. package/connectors/marketingmasterio/README.md +2 -2
  146. package/connectors/marketingmasterio/package.json +1 -1
  147. package/connectors/marketplacer/README.md +2 -2
  148. package/connectors/marketplacer/package.json +1 -1
  149. package/connectors/marketstack/README.md +2 -2
  150. package/connectors/marketstack/package.json +1 -1
  151. package/connectors/matrix/README.md +1 -1
  152. package/connectors/matrix/package.json +1 -1
  153. package/connectors/mattermost/README.md +1 -1
  154. package/connectors/mattermost/package.json +1 -1
  155. package/connectors/mautic/README.md +1 -1
  156. package/connectors/mautic/package.json +1 -1
  157. package/connectors/mav/README.md +1 -1
  158. package/connectors/mav/package.json +1 -1
  159. package/connectors/maverick/README.md +1 -1
  160. package/connectors/maverick/package.json +1 -1
  161. package/connectors/mem/README.md +1 -1
  162. package/connectors/mem/package.json +1 -1
  163. package/connectors/messagebird/package.json +1 -1
  164. package/connectors/metabase/README.md +1 -1
  165. package/connectors/metabase/package.json +1 -1
  166. package/connectors/miro/package.json +1 -1
  167. package/connectors/mocean/package.json +1 -1
  168. package/connectors/modal/package.json +1 -1
  169. package/connectors/monday/package.json +1 -1
  170. package/connectors/monicacrm/package.json +1 -1
  171. package/connectors/moonclerk/package.json +1 -1
  172. package/connectors/moonmail/package.json +1 -1
  173. package/connectors/morph/package.json +1 -1
  174. package/connectors/mqtt/package.json +1 -1
  175. package/connectors/msg91/package.json +1 -1
  176. package/connectors/mubert/package.json +1 -1
  177. package/connectors/murf/package.json +1 -1
  178. package/connectors/mux/package.json +1 -1
  179. package/connectors/netlify/package.json +1 -1
  180. package/connectors/okta/package.json +1 -1
  181. package/connectors/paddle/package.json +1 -1
  182. package/connectors/perplexity/package.json +1 -1
  183. package/connectors/pinterest/package.json +1 -1
  184. package/connectors/pipedrive/package.json +1 -1
  185. package/connectors/plaid/package.json +1 -1
  186. package/connectors/quickchart/README.md +2 -2
  187. package/connectors/quintadb/README.md +2 -2
  188. package/connectors/rabbitmq/README.md +2 -2
  189. package/connectors/radar/README.md +2 -2
  190. package/connectors/raindrop/README.md +2 -2
  191. package/connectors/rapid7insightvm/README.md +2 -2
  192. package/connectors/raventools/README.md +2 -2
  193. package/connectors/rawgvideogamesdatabase/README.md +2 -2
  194. package/connectors/rdstationcrm/README.md +2 -2
  195. package/connectors/readai/README.md +2 -2
  196. package/connectors/roboflow/package.json +1 -1
  197. package/connectors/runway/package.json +1 -1
  198. package/connectors/sendgrid/package.json +1 -1
  199. package/connectors/shuffler/package.json +1 -1
  200. package/connectors/sierrainteractive/package.json +1 -1
  201. package/connectors/sifter/package.json +1 -1
  202. package/connectors/signaturit/package.json +1 -1
  203. package/connectors/signl4/package.json +1 -1
  204. package/connectors/simpleem/package.json +1 -1
  205. package/connectors/simplehash/package.json +1 -1
  206. package/connectors/simplekpi/package.json +1 -1
  207. package/connectors/simplelocalize/package.json +1 -1
  208. package/connectors/simplero/package.json +1 -1
  209. package/connectors/smartrecruiters/package.json +1 -1
  210. package/connectors/smtp2go/package.json +1 -1
  211. package/connectors/snowflake/package.json +1 -1
  212. package/connectors/sparkpost/package.json +1 -1
  213. package/connectors/split-io/package.json +1 -1
  214. package/connectors/split-io/src/api/client.test.ts +20 -0
  215. package/connectors/split-io/src/cli/index.ts +9 -9
  216. package/connectors/sprinklr/package.json +1 -1
  217. package/connectors/sprout-social/package.json +1 -1
  218. package/connectors/square/package.json +1 -1
  219. package/connectors/sse-trigger/package.json +1 -1
  220. package/connectors/stability-api-platform/AGENTS.md +1 -1
  221. package/connectors/standout/package.json +1 -1
  222. package/connectors/statuspage/package.json +1 -1
  223. package/connectors/stoplight/package.json +1 -1
  224. package/connectors/stoplight-api-platform/package.json +1 -1
  225. package/connectors/strand-ai/CLAUDE.md +1 -1
  226. package/connectors/stripe-financial-connections/package.json +1 -1
  227. package/connectors/stripe-terminal/package.json +1 -1
  228. package/connectors/stytch/package.json +1 -1
  229. package/connectors/sumo-logic/package.json +1 -1
  230. package/connectors/supabase/package.json +1 -1
  231. package/connectors/supabase-api-platform/package.json +1 -1
  232. package/connectors/sysdig/package.json +1 -1
  233. package/connectors/tableau/package.json +1 -1
  234. package/connectors/takecareos/README.md +2 -2
  235. package/connectors/takecareos/package.json +1 -1
  236. package/connectors/telegram/src/api/bot.ts +20 -0
  237. package/connectors/telegram/src/api/client.ts +32 -0
  238. package/connectors/telegram/src/api/files.test.ts +103 -0
  239. package/connectors/telegram/src/api/index.ts +1 -0
  240. package/connectors/telegram/src/api/messages.test.ts +8 -2
  241. package/connectors/telegram/src/cli/files.test.ts +40 -0
  242. package/connectors/telegram/src/cli/files.ts +38 -0
  243. package/connectors/telegram/src/cli/index.ts +27 -30
  244. package/connectors/telegram/src/cli/updates.test.ts +176 -0
  245. package/connectors/telegram/src/cli/updates.ts +95 -0
  246. package/connectors/telegram/src/index.ts +1 -0
  247. package/connectors/telegram/src/types/index.ts +13 -0
  248. package/connectors/terraform-cloud/package.json +1 -1
  249. package/connectors/textit/package.json +1 -1
  250. package/connectors/thousandeyes/package.json +1 -1
  251. package/connectors/ticket-tailor/package.json +1 -1
  252. package/connectors/ticketsource/package.json +1 -1
  253. package/connectors/tiktokads/README.md +1 -1
  254. package/connectors/time-saved/package.json +1 -1
  255. package/connectors/tipalti/package.json +1 -1
  256. package/connectors/tomtom/AGENTS.md +1 -1
  257. package/connectors/totp/package.json +1 -1
  258. package/connectors/traverse/package.json +1 -1
  259. package/connectors/travo-ai/package.json +1 -1
  260. package/connectors/trigger-dev/package.json +1 -1
  261. package/connectors/trigger-dev-api-platform/package.json +1 -1
  262. package/connectors/turbot-pipes/package.json +1 -1
  263. package/connectors/turso/package.json +1 -1
  264. package/connectors/turso-api-platform/package.json +1 -1
  265. package/connectors/tyk-api-platform/package.json +1 -1
  266. package/connectors/umami/package.json +1 -1
  267. package/connectors/unifold/package.json +1 -1
  268. package/connectors/unione/package.json +1 -1
  269. package/connectors/uniprot/README.md +1 -1
  270. package/connectors/uniswap-api/package.json +1 -1
  271. package/connectors/ups/package.json +1 -1
  272. package/connectors/usereframe/package.json +1 -1
  273. package/connectors/vanta/package.json +1 -1
  274. package/connectors/vela/package.json +1 -1
  275. package/connectors/velum-labs/package.json +1 -1
  276. package/connectors/vercel/package.json +1 -1
  277. package/connectors/vercel-blob/package.json +1 -1
  278. package/connectors/vercel-blob-platform/package.json +1 -1
  279. package/connectors/vercel-edge-config/package.json +1 -1
  280. package/connectors/vercel-edge-config-platform/package.json +1 -1
  281. package/connectors/vertex-ai/package.json +1 -1
  282. package/connectors/vidyard/package.json +1 -1
  283. package/connectors/vonage/package.json +1 -1
  284. package/connectors/voygr/package.json +1 -1
  285. package/connectors/wait/package.json +1 -1
  286. package/connectors/walmart-marketplace/package.json +1 -1
  287. package/connectors/wato/package.json +1 -1
  288. package/connectors/wave-accounting/package.json +1 -1
  289. package/connectors/wayco/package.json +1 -1
  290. package/connectors/webpagetest/package.json +1 -1
  291. package/connectors/weezevent/package.json +1 -1
  292. package/connectors/wikipedia/src/api/client.ts +1 -1
  293. package/connectors/wildcard/package.json +1 -1
  294. package/connectors/windmill/package.json +1 -1
  295. package/connectors/wise/package.json +1 -1
  296. package/connectors/withai/package.json +1 -1
  297. package/connectors/wiz/CLAUDE.md +1 -1
  298. package/connectors/wiz/package.json +1 -1
  299. package/connectors/wordfence/package.json +1 -1
  300. package/connectors/wordfence-api-platform/package.json +1 -1
  301. package/connectors/workos/package.json +1 -1
  302. package/connectors/write-binary-file/package.json +1 -1
  303. package/connectors/xai/.env.example +1 -1
  304. package/connectors/xai-api-platform/src/api/client.test.ts +1 -1
  305. package/connectors/xai-api-platform/src/cli/index.ts +1 -1
  306. package/connectors/xai-api-platform/src/utils/config.ts +1 -1
  307. package/connectors/xai-grok/.env.example +1 -1
  308. package/connectors/xai-grok/src/api/client.test.ts +3 -3
  309. package/connectors/xai-grok/src/cli/index.ts +1 -1
  310. package/connectors/xai-grok/src/utils/config.ts +1 -1
  311. package/connectors/ynab/package.json +1 -1
  312. package/connectors/you-com/README.md +2 -2
  313. package/connectors/you-com/package.json +1 -1
  314. package/connectors/yousign/package.json +1 -1
  315. package/connectors/zendesk/.env.example +4 -4
  316. package/connectors/zendesk/CLAUDE.md +1 -3
  317. package/connectors/zendesk/Makefile +18 -5
  318. package/connectors/zendesk/README.md +3 -8
  319. package/connectors/zendesk/SCAFFOLD.md +6 -5
  320. package/connectors/zerosettle/package.json +1 -1
  321. package/connectors/zoho-bigin/CLAUDE.md +1 -1
  322. package/connectors/zoho-campaigns/package.json +1 -1
  323. package/connectors/zoho-sign/package.json +1 -1
  324. package/connectors/zoho-subscriptions/CLAUDE.md +1 -1
  325. package/connectors/zohoprojects/CLAUDE.md +1 -1
  326. package/connectors/zolvo/package.json +1 -1
  327. package/connectors/zoom-api/package.json +1 -1
  328. package/connectors/zymbly/README.md +2 -2
  329. package/connectors/zymbly/package.json +1 -1
  330. package/dashboard/dist/assets/index-8uoGZF7B.js +280 -0
  331. package/dashboard/dist/index.html +1 -1
  332. package/dist/db/locks.d.ts +1 -1
  333. package/dist/index.js +17 -15
  334. package/dist/lib/connector-resolver.d.ts +1 -1
  335. package/dist/lib/llm.d.ts +1 -1
  336. package/dist/lib/open-browser.d.ts +18 -0
  337. package/dist/lib/open-browser.test.d.ts +1 -0
  338. package/package.json +6 -4
  339. package/dashboard/dist/assets/index-DlEljRrW.js +0 -285
@@ -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
  }
@@ -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
  }
@@ -44,6 +44,6 @@
44
44
  },
45
45
  "repository": {
46
46
  "type": "git",
47
- "url": "git+https://github.com/hasna/open-connectors.git"
47
+ "url": "git+https://github.com/hasna/apps.git"
48
48
  }
49
49
  }
@@ -56,7 +56,7 @@ export class AmadeusClient {
56
56
 
57
57
  async get<T>(path: string, params?: Record<string, string | number | boolean | undefined>): Promise<T> {
58
58
  const token = await this.getAccessToken();
59
-
59
+
60
60
  let url = this.baseUrl + path;
61
61
  if (params) {
62
62
  const searchParams = new URLSearchParams();
@@ -82,7 +82,7 @@ export class AmadeusClient {
82
82
 
83
83
  async post<T>(path: string, body: Record<string, unknown> | unknown[], params?: Record<string, string | number | boolean | undefined>): Promise<T> {
84
84
  const token = await this.getAccessToken();
85
-
85
+
86
86
  let url = this.baseUrl + path;
87
87
  if (params) {
88
88
  const searchParams = new URLSearchParams();
@@ -110,18 +110,18 @@ export class AmadeusClient {
110
110
 
111
111
  private async handleResponse<T>(response: Response): Promise<T> {
112
112
  const text = await response.text();
113
-
113
+
114
114
  if (!response.ok) {
115
115
  let errors: AmadeusError[] = [];
116
116
  try {
117
117
  const errorData = JSON.parse(text);
118
118
  errors = errorData.errors || [];
119
119
  } catch { /* ignore parse errors */ }
120
-
121
- const message = errors.length > 0
120
+
121
+ const message = errors.length > 0
122
122
  ? errors.map(e => e.detail || e.title).join('; ')
123
123
  : 'API request failed: ' + response.status;
124
-
124
+
125
125
  throw new AmadeusApiError(message, response.status, errors);
126
126
  }
127
127
 
@@ -198,7 +198,7 @@ flightsCmd.command('search')
198
198
  maxPrice: opts.maxPrice ? parseInt(opts.maxPrice) : undefined,
199
199
  max: parseInt(opts.max),
200
200
  });
201
-
201
+
202
202
  if (result.data.length === 0) {
203
203
  warn('No flights found');
204
204
  return;
@@ -232,7 +232,7 @@ locationsCmd.command('search <keyword>')
232
232
  try {
233
233
  const client = getClient();
234
234
  const result = await client.flights.searchLocations(keyword, opts.type);
235
-
235
+
236
236
  if (result.data.length === 0) {
237
237
  warn('No locations found');
238
238
  return;
@@ -279,7 +279,7 @@ exploreCmd.command('destinations')
279
279
  nonStop: opts.nonstop,
280
280
  maxPrice: opts.maxPrice ? parseInt(opts.maxPrice) : undefined,
281
281
  });
282
-
282
+
283
283
  if (result.data.length === 0) {
284
284
  warn('No destinations found');
285
285
  return;
@@ -313,7 +313,7 @@ exploreCmd.command('dates')
313
313
  maxPrice: opts.maxPrice ? parseInt(opts.maxPrice) : undefined,
314
314
  }
315
315
  );
316
-
316
+
317
317
  if (result.data.length === 0) {
318
318
  warn('No dates found');
319
319
  return;
@@ -337,7 +337,7 @@ airlinesCmd.command('get <code>')
337
337
  try {
338
338
  const client = getClient();
339
339
  const result = await client.flights.getAirline(code.toUpperCase());
340
-
340
+
341
341
  if (result.data.length === 0) {
342
342
  warn('Airline not found');
343
343
  return;
@@ -356,7 +356,7 @@ airlinesCmd.command('search <keyword>')
356
356
  try {
357
357
  const client = getClient();
358
358
  const result = await client.flights.searchAirlines(keyword);
359
-
359
+
360
360
  if (result.data.length === 0) {
361
361
  warn('No airlines found');
362
362
  return;
@@ -47,23 +47,23 @@ export function printFlightOffers(offers: FlightOffer[], carriers?: Record<strin
47
47
  if (index > 0) console.log('');
48
48
  console.log(chalk.bold.blue('Flight Option ' + (index + 1)));
49
49
  console.log(' ' + chalk.green(offer.price.currency + ' ' + offer.price.grandTotal));
50
-
50
+
51
51
  offer.itineraries.forEach((itinerary, itinIndex) => {
52
52
  const direction = offer.itineraries.length > 1 ? (itinIndex === 0 ? 'Outbound' : 'Return') : 'Flight';
53
53
  console.log(' ' + chalk.bold(direction) + ' (' + formatDuration(itinerary.duration) + '):');
54
-
54
+
55
55
  itinerary.segments.forEach((seg, segIndex) => {
56
56
  const carrier = carriers?.[seg.carrierCode] || seg.carrierCode;
57
57
  const depTime = new Date(seg.departure.at).toLocaleTimeString('en-GB', { hour: '2-digit', minute: '2-digit' });
58
58
  const arrTime = new Date(seg.arrival.at).toLocaleTimeString('en-GB', { hour: '2-digit', minute: '2-digit' });
59
59
  const depDate = new Date(seg.departure.at).toLocaleDateString('en-GB', { day: '2-digit', month: 'short' });
60
-
60
+
61
61
  if (segIndex > 0) console.log(' ' + chalk.gray('--- layover ---'));
62
62
  console.log(' ' + seg.departure.iataCode + ' ' + depTime + ' -> ' + seg.arrival.iataCode + ' ' + arrTime + ' (' + depDate + ')');
63
63
  console.log(' ' + chalk.gray(carrier + ' ' + seg.carrierCode + seg.number + ' | ' + formatDuration(seg.duration)));
64
64
  });
65
65
  });
66
-
66
+
67
67
  if (offer.numberOfBookableSeats) {
68
68
  console.log(' ' + chalk.yellow(offer.numberOfBookableSeats + ' seats left'));
69
69
  }
@@ -92,7 +92,7 @@ export function printDestinations(destinations: FlightDestination[], format: Out
92
92
 
93
93
  console.log(chalk.bold('Cheapest Destinations from ' + destinations[0]?.origin));
94
94
  console.log('');
95
-
95
+
96
96
  destinations.forEach(dest => {
97
97
  console.log(chalk.blue(dest.destination) + ': ' + chalk.green(dest.price.total));
98
98
  console.log(' ' + dest.departureDate + (dest.returnDate ? ' - ' + dest.returnDate : ''));
@@ -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
  }
@@ -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
  }
@@ -1,4 +1,4 @@
1
1
  # Anthropic API Key
2
2
  # Get your API key from: https://console.anthropic.com/
3
3
 
4
- ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
4
+ ANTHROPIC_API_KEY=your-anthropic-api-key-here
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -42,6 +42,6 @@
42
42
  },
43
43
  "repository": {
44
44
  "type": "git",
45
- "url": "git+https://github.com/hasna/open-connectors.git"
45
+ "url": "git+https://github.com/hasna/apps.git"
46
46
  }
47
47
  }
@@ -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
  }
@@ -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
  }
@@ -16,8 +16,8 @@ A TypeScript scaffold for building API connector CLIs with multi-profile support
16
16
 
17
17
  ```bash
18
18
  # Clone for your connector
19
- git clone https://github.com/hasna/open-connectors.git connect-yourapi
20
- cd connect-yourapi
19
+ git clone https://github.com/hasna/apps.git
20
+ cd apps/connectors/connectors/connect-yourapi
21
21
 
22
22
  # Update package.json name
23
23
  # Change "@hasna/scaffold-connector" to "@hasna/connect-yourapi"
@@ -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
  }
@@ -16,8 +16,8 @@ A TypeScript scaffold for building API connector CLIs with multi-profile support
16
16
 
17
17
  ```bash
18
18
  # Clone for your connector
19
- git clone https://github.com/hasna/open-connectors.git connect-yourapi
20
- cd connect-yourapi
19
+ git clone https://github.com/hasna/apps.git
20
+ cd apps/connectors/connectors/connect-yourapi
21
21
 
22
22
  # Update package.json name
23
23
  # Change "@hasna/scaffold-connector" to "@hasna/connect-yourapi"
@@ -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
  }
@@ -16,8 +16,8 @@ A TypeScript scaffold for building API connector CLIs with multi-profile support
16
16
 
17
17
  ```bash
18
18
  # Clone for your connector
19
- git clone https://github.com/hasna/open-connectors.git connect-yourapi
20
- cd connect-yourapi
19
+ git clone https://github.com/hasna/apps.git
20
+ cd apps/connectors/connectors/connect-yourapi
21
21
 
22
22
  # Update package.json name
23
23
  # Change "@hasna/scaffold-connector" to "@hasna/connect-yourapi"
@@ -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
  }
@@ -16,8 +16,8 @@ A TypeScript scaffold for building API connector CLIs with multi-profile support
16
16
 
17
17
  ```bash
18
18
  # Clone for your connector
19
- git clone https://github.com/hasna/open-connectors.git connect-yourapi
20
- cd connect-yourapi
19
+ git clone https://github.com/hasna/apps.git
20
+ cd apps/connectors/connectors/connect-yourapi
21
21
 
22
22
  # Update package.json name
23
23
  # Change "@hasna/scaffold-connector" to "@hasna/connect-yourapi"
@@ -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
  }
@@ -16,8 +16,8 @@ A TypeScript scaffold for building API connector CLIs with multi-profile support
16
16
 
17
17
  ```bash
18
18
  # Clone for your connector
19
- git clone https://github.com/hasna/open-connectors.git connect-yourapi
20
- cd connect-yourapi
19
+ git clone https://github.com/hasna/apps.git
20
+ cd apps/connectors/connectors/connect-yourapi
21
21
 
22
22
  # Update package.json name
23
23
  # Change "@hasna/scaffold-connector" to "@hasna/connect-yourapi"
@@ -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
  }
@@ -16,8 +16,8 @@ A TypeScript scaffold for building API connector CLIs with multi-profile support
16
16
 
17
17
  ```bash
18
18
  # Clone for your connector
19
- git clone https://github.com/hasna/open-connectors.git connect-yourapi
20
- cd connect-yourapi
19
+ git clone https://github.com/hasna/apps.git
20
+ cd apps/connectors/connectors/connect-yourapi
21
21
 
22
22
  # Update package.json name
23
23
  # Change "@hasna/scaffold-connector" to "@hasna/connect-yourapi"
@@ -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
  }