@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
@@ -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"
@@ -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
  }
@@ -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"
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -190,5 +190,4 @@ bun run typecheck
190
190
 
191
191
  ## License
192
192
 
193
- Apache-2.0
194
-
193
+ Apache-2.0
@@ -135,24 +135,24 @@ export class DriveClient {
135
135
 
136
136
  async upload<T>(path: string, content: Buffer | Uint8Array, metadata?: Record<string, unknown>, params?: Record<string, string | number | boolean | undefined>, mimeType?: string): Promise<T> {
137
137
  const accessToken = await getValidAccessToken();
138
-
138
+
139
139
  // Create multipart request
140
140
  const boundary = '-------314159265358979323846';
141
141
  const delimiter = '\r\n--' + boundary + '\r\n';
142
142
  const closeDelimiter = '\r\n--' + boundary + '--';
143
-
143
+
144
144
  let multipartBody = '';
145
-
145
+
146
146
  if (metadata) {
147
147
  multipartBody += delimiter;
148
148
  multipartBody += 'Content-Type: application/json; charset=UTF-8\r\n\r\n';
149
149
  multipartBody += JSON.stringify(metadata);
150
150
  }
151
-
151
+
152
152
  multipartBody += delimiter;
153
153
  multipartBody += 'Content-Type: ' + (mimeType || 'application/octet-stream') + '\r\n';
154
154
  multipartBody += 'Content-Transfer-Encoding: base64\r\n\r\n';
155
-
155
+
156
156
  const base64Content = Buffer.from(content).toString('base64');
157
157
  multipartBody += base64Content;
158
158
  multipartBody += closeDelimiter;
@@ -49,32 +49,32 @@ export class FilesApi {
49
49
  */
50
50
  async download(fileId: string, destPath?: string): Promise<{ data: ArrayBuffer; filename: string }> {
51
51
  const file = await this.get(fileId);
52
-
52
+
53
53
  // Check if it's a Google Workspace file that needs export
54
54
  if (file.mimeType.startsWith('application/vnd.google-apps.')) {
55
55
  const exportMimeType = this.getExportMimeType(file.mimeType);
56
56
  if (!exportMimeType) {
57
57
  throw new Error('Cannot download Google Workspace file type: ' + file.mimeType);
58
58
  }
59
-
59
+
60
60
  const data = await this.client.export(fileId, exportMimeType);
61
61
  const ext = this.getExtensionForMimeType(exportMimeType);
62
62
  const filename = file.name + ext;
63
-
63
+
64
64
  if (destPath) {
65
65
  writeFileSync(destPath, Buffer.from(data));
66
66
  }
67
-
67
+
68
68
  return { data, filename };
69
69
  }
70
70
 
71
71
  const data = await this.client.download(fileId);
72
72
  const filename = file.name;
73
-
73
+
74
74
  if (destPath) {
75
75
  writeFileSync(destPath, Buffer.from(data));
76
76
  }
77
-
77
+
78
78
  return { data, filename };
79
79
  }
80
80
 
@@ -84,15 +84,15 @@ export class FilesApi {
84
84
  async upload(filePath: string, options?: { name?: string; folderId?: string; mimeType?: string }): Promise<DriveFile> {
85
85
  const content = readFileSync(filePath);
86
86
  const name = options?.name || basename(filePath);
87
-
87
+
88
88
  const metadata: Record<string, unknown> = { name };
89
-
89
+
90
90
  if (options?.folderId) {
91
91
  metadata.parents = [options.folderId];
92
92
  }
93
93
 
94
94
  const mimeType = options?.mimeType || this.getMimeTypeFromExtension(extname(filePath));
95
-
95
+
96
96
  return this.client.upload<DriveFile>(
97
97
  '/files',
98
98
  content,
@@ -175,7 +175,7 @@ export class FilesApi {
175
175
  */
176
176
  async copy(fileId: string, options?: { name?: string; folderId?: string }): Promise<DriveFile> {
177
177
  const metadata: Record<string, unknown> = {};
178
-
178
+
179
179
  if (options?.name) {
180
180
  metadata.name = options.name;
181
181
  }
@@ -239,7 +239,7 @@ export class FilesApi {
239
239
  async search(query: string, options?: { pageSize?: number; pageToken?: string }): Promise<FileListResponse> {
240
240
  // Build search query
241
241
  const q = "fullText contains '" + query.replace(/'/g, "\\'") + "' and trashed = false";
242
-
242
+
243
243
  return this.list({
244
244
  q,
245
245
  pageSize: options?.pageSize,
@@ -12,7 +12,7 @@ export class FoldersApi {
12
12
  */
13
13
  async list(parentId?: string): Promise<FileListResponse> {
14
14
  let q = "mimeType = '" + MIME_TYPES.FOLDER + "' and trashed = false";
15
-
15
+
16
16
  if (parentId) {
17
17
  q += " and '" + parentId + "' in parents";
18
18
  }
@@ -120,7 +120,7 @@ export class FoldersApi {
120
120
  while (currentId) {
121
121
  const folder = await this.get(currentId);
122
122
  path.unshift(folder);
123
-
123
+
124
124
  if (folder.parents && folder.parents.length > 0) {
125
125
  currentId = folder.parents[0] as string;
126
126
  } else {
@@ -322,7 +322,7 @@ filesCmd
322
322
  .action(async (opts) => {
323
323
  try {
324
324
  const drive = requireAuth();
325
-
325
+
326
326
  let q = 'trashed = false';
327
327
  if (opts.folder) {
328
328
  q += " and '" + opts.folder + "' in parents";
@@ -380,9 +380,9 @@ filesCmd
380
380
  try {
381
381
  const drive = requireAuth();
382
382
  info('Downloading file...');
383
-
383
+
384
384
  const result = await drive.files.download(fileId, destination);
385
-
385
+
386
386
  if (!destination) {
387
387
  const destPath = join(process.cwd(), result.filename);
388
388
  writeFileSync(destPath, Buffer.from(result.data));
@@ -1066,7 +1066,7 @@ program
1066
1066
  info(' Limit: ' + (quota.limit ? formatBytes(quota.limit) : 'Unlimited'));
1067
1067
  info(' In Drive: ' + formatBytes(quota.usageInDrive || '0'));
1068
1068
  info(' In Trash: ' + formatBytes(quota.usageInDriveTrash || '0'));
1069
-
1069
+
1070
1070
  if (quota.limit && quota.usage) {
1071
1071
  const used = parseInt(quota.usage);
1072
1072
  const limit = parseInt(quota.limit);
@@ -121,15 +121,15 @@ export function print(data: unknown, format: OutputFormat = 'pretty'): void {
121
121
  export function formatBytes(bytes: number | string): string {
122
122
  const b = typeof bytes === 'string' ? parseInt(bytes, 10) : bytes;
123
123
  if (isNaN(b)) return '0 B';
124
-
124
+
125
125
  const units = ['B', 'KB', 'MB', 'GB', 'TB'];
126
126
  let unitIndex = 0;
127
127
  let size = b;
128
-
128
+
129
129
  while (size >= 1024 && unitIndex < units.length - 1) {
130
130
  size /= 1024;
131
131
  unitIndex++;
132
132
  }
133
-
133
+
134
134
  return size.toFixed(unitIndex === 0 ? 0 : 2) + ' ' + units[unitIndex];
135
135
  }
@@ -190,5 +190,4 @@ bun run typecheck
190
190
 
191
191
  ## License
192
192
 
193
- Apache-2.0
194
-
193
+ Apache-2.0
@@ -190,5 +190,4 @@ bun run typecheck
190
190
 
191
191
  ## License
192
192
 
193
- Apache-2.0
194
-
193
+ Apache-2.0
@@ -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"
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -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
  }
@@ -36,7 +36,7 @@ export class Lighthouse {
36
36
  }
37
37
 
38
38
  async listMaintenanceRequests(propertyId: string): Promise<LHMaintenanceRequest[]> {
39
- return this.client.request<LHMaintenanceRequest[]>(`/properties/${propertyId}/maintenance`);
39
+ return this.client.request<LHMaintenanceRequest[]>(`/properties/${propertyId}/maintenance`);
40
40
  }
41
41
 
42
42
  getClient(): LighthouseClient { return this.client; }
@@ -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
  }
@@ -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
  }