parasut-node-sdk-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/.github/workflows/deploy.yaml +51 -0
  2. package/.github/workflows/npm-publish.yml +71 -0
  3. package/.travis.yml +15 -0
  4. package/.yo-rc.json +11 -0
  5. package/LICENSE +21 -0
  6. package/README.md +187 -0
  7. package/gulpfile.js +50 -0
  8. package/package.json +42 -0
  9. package/packages/parasut-mcp-server/README.md +312 -0
  10. package/packages/parasut-mcp-server/dist/client.d.ts +24 -0
  11. package/packages/parasut-mcp-server/dist/client.d.ts.map +1 -0
  12. package/packages/parasut-mcp-server/dist/client.js +46 -0
  13. package/packages/parasut-mcp-server/dist/client.js.map +1 -0
  14. package/packages/parasut-mcp-server/dist/config.d.ts +39 -0
  15. package/packages/parasut-mcp-server/dist/config.d.ts.map +1 -0
  16. package/packages/parasut-mcp-server/dist/config.js +74 -0
  17. package/packages/parasut-mcp-server/dist/config.js.map +1 -0
  18. package/packages/parasut-mcp-server/dist/index.d.ts +21 -0
  19. package/packages/parasut-mcp-server/dist/index.d.ts.map +1 -0
  20. package/packages/parasut-mcp-server/dist/index.js +26 -0
  21. package/packages/parasut-mcp-server/dist/index.js.map +1 -0
  22. package/packages/parasut-mcp-server/dist/server.d.ts +17 -0
  23. package/packages/parasut-mcp-server/dist/server.d.ts.map +1 -0
  24. package/packages/parasut-mcp-server/dist/server.js +61 -0
  25. package/packages/parasut-mcp-server/dist/server.js.map +1 -0
  26. package/packages/parasut-mcp-server/dist/tools/bills.d.ts +13 -0
  27. package/packages/parasut-mcp-server/dist/tools/bills.d.ts.map +1 -0
  28. package/packages/parasut-mcp-server/dist/tools/bills.js +387 -0
  29. package/packages/parasut-mcp-server/dist/tools/bills.js.map +1 -0
  30. package/packages/parasut-mcp-server/dist/tools/contacts.d.ts +13 -0
  31. package/packages/parasut-mcp-server/dist/tools/contacts.d.ts.map +1 -0
  32. package/packages/parasut-mcp-server/dist/tools/contacts.js +522 -0
  33. package/packages/parasut-mcp-server/dist/tools/contacts.js.map +1 -0
  34. package/packages/parasut-mcp-server/dist/tools/edocuments.d.ts +13 -0
  35. package/packages/parasut-mcp-server/dist/tools/edocuments.d.ts.map +1 -0
  36. package/packages/parasut-mcp-server/dist/tools/edocuments.js +514 -0
  37. package/packages/parasut-mcp-server/dist/tools/edocuments.js.map +1 -0
  38. package/packages/parasut-mcp-server/dist/tools/financial.d.ts +13 -0
  39. package/packages/parasut-mcp-server/dist/tools/financial.d.ts.map +1 -0
  40. package/packages/parasut-mcp-server/dist/tools/financial.js +321 -0
  41. package/packages/parasut-mcp-server/dist/tools/financial.js.map +1 -0
  42. package/packages/parasut-mcp-server/dist/tools/index.d.ts +19 -0
  43. package/packages/parasut-mcp-server/dist/tools/index.d.ts.map +1 -0
  44. package/packages/parasut-mcp-server/dist/tools/index.js +132 -0
  45. package/packages/parasut-mcp-server/dist/tools/index.js.map +1 -0
  46. package/packages/parasut-mcp-server/dist/tools/inventory.d.ts +11 -0
  47. package/packages/parasut-mcp-server/dist/tools/inventory.d.ts.map +1 -0
  48. package/packages/parasut-mcp-server/dist/tools/inventory.js +143 -0
  49. package/packages/parasut-mcp-server/dist/tools/inventory.js.map +1 -0
  50. package/packages/parasut-mcp-server/dist/tools/invoices.d.ts +16 -0
  51. package/packages/parasut-mcp-server/dist/tools/invoices.d.ts.map +1 -0
  52. package/packages/parasut-mcp-server/dist/tools/invoices.js +850 -0
  53. package/packages/parasut-mcp-server/dist/tools/invoices.js.map +1 -0
  54. package/packages/parasut-mcp-server/dist/tools/organization.d.ts +14 -0
  55. package/packages/parasut-mcp-server/dist/tools/organization.d.ts.map +1 -0
  56. package/packages/parasut-mcp-server/dist/tools/organization.js +377 -0
  57. package/packages/parasut-mcp-server/dist/tools/organization.js.map +1 -0
  58. package/packages/parasut-mcp-server/dist/tools/products.d.ts +13 -0
  59. package/packages/parasut-mcp-server/dist/tools/products.d.ts.map +1 -0
  60. package/packages/parasut-mcp-server/dist/tools/products.js +299 -0
  61. package/packages/parasut-mcp-server/dist/tools/products.js.map +1 -0
  62. package/packages/parasut-mcp-server/dist/utils/errors.d.ts +34 -0
  63. package/packages/parasut-mcp-server/dist/utils/errors.d.ts.map +1 -0
  64. package/packages/parasut-mcp-server/dist/utils/errors.js +217 -0
  65. package/packages/parasut-mcp-server/dist/utils/errors.js.map +1 -0
  66. package/packages/parasut-mcp-server/dist/utils/response.d.ts +94 -0
  67. package/packages/parasut-mcp-server/dist/utils/response.d.ts.map +1 -0
  68. package/packages/parasut-mcp-server/dist/utils/response.js +194 -0
  69. package/packages/parasut-mcp-server/dist/utils/response.js.map +1 -0
  70. package/packages/parasut-mcp-server/package-lock.json +2831 -0
  71. package/packages/parasut-mcp-server/package.json +70 -0
  72. package/packages/parasut-mcp-server/src/client.ts +55 -0
  73. package/packages/parasut-mcp-server/src/config.ts +99 -0
  74. package/packages/parasut-mcp-server/src/index.ts +27 -0
  75. package/packages/parasut-mcp-server/src/server.ts +79 -0
  76. package/packages/parasut-mcp-server/src/tools/bills.ts +416 -0
  77. package/packages/parasut-mcp-server/src/tools/contacts.ts +549 -0
  78. package/packages/parasut-mcp-server/src/tools/edocuments.ts +543 -0
  79. package/packages/parasut-mcp-server/src/tools/financial.ts +345 -0
  80. package/packages/parasut-mcp-server/src/tools/index.ts +158 -0
  81. package/packages/parasut-mcp-server/src/tools/inventory.ts +154 -0
  82. package/packages/parasut-mcp-server/src/tools/invoices.ts +905 -0
  83. package/packages/parasut-mcp-server/src/tools/organization.ts +405 -0
  84. package/packages/parasut-mcp-server/src/tools/products.ts +320 -0
  85. package/packages/parasut-mcp-server/src/utils/errors.ts +296 -0
  86. package/packages/parasut-mcp-server/src/utils/response.ts +280 -0
  87. package/packages/parasut-mcp-server/tsconfig.json +48 -0
  88. package/packages/parasut-node-sdk/README.md +393 -0
  89. package/packages/parasut-node-sdk/dist/client/HttpTransport.d.ts +92 -0
  90. package/packages/parasut-node-sdk/dist/client/HttpTransport.d.ts.map +1 -0
  91. package/packages/parasut-node-sdk/dist/client/HttpTransport.js +237 -0
  92. package/packages/parasut-node-sdk/dist/client/HttpTransport.js.map +1 -0
  93. package/packages/parasut-node-sdk/dist/client/JsonApi.d.ts +122 -0
  94. package/packages/parasut-node-sdk/dist/client/JsonApi.d.ts.map +1 -0
  95. package/packages/parasut-node-sdk/dist/client/JsonApi.js +192 -0
  96. package/packages/parasut-node-sdk/dist/client/JsonApi.js.map +1 -0
  97. package/packages/parasut-node-sdk/dist/client/OAuth.d.ts +117 -0
  98. package/packages/parasut-node-sdk/dist/client/OAuth.d.ts.map +1 -0
  99. package/packages/parasut-node-sdk/dist/client/OAuth.js +322 -0
  100. package/packages/parasut-node-sdk/dist/client/OAuth.js.map +1 -0
  101. package/packages/parasut-node-sdk/dist/client/ParasutClient.d.ts +198 -0
  102. package/packages/parasut-node-sdk/dist/client/ParasutClient.d.ts.map +1 -0
  103. package/packages/parasut-node-sdk/dist/client/ParasutClient.js +334 -0
  104. package/packages/parasut-node-sdk/dist/client/ParasutClient.js.map +1 -0
  105. package/packages/parasut-node-sdk/dist/client/QueryBuilder.d.ts +115 -0
  106. package/packages/parasut-node-sdk/dist/client/QueryBuilder.d.ts.map +1 -0
  107. package/packages/parasut-node-sdk/dist/client/QueryBuilder.js +206 -0
  108. package/packages/parasut-node-sdk/dist/client/QueryBuilder.js.map +1 -0
  109. package/packages/parasut-node-sdk/dist/client/RateLimiter.d.ts +77 -0
  110. package/packages/parasut-node-sdk/dist/client/RateLimiter.d.ts.map +1 -0
  111. package/packages/parasut-node-sdk/dist/client/RateLimiter.js +142 -0
  112. package/packages/parasut-node-sdk/dist/client/RateLimiter.js.map +1 -0
  113. package/packages/parasut-node-sdk/dist/client/RetryHandler.d.ts +88 -0
  114. package/packages/parasut-node-sdk/dist/client/RetryHandler.d.ts.map +1 -0
  115. package/packages/parasut-node-sdk/dist/client/RetryHandler.js +125 -0
  116. package/packages/parasut-node-sdk/dist/client/RetryHandler.js.map +1 -0
  117. package/packages/parasut-node-sdk/dist/client/errors.d.ts +87 -0
  118. package/packages/parasut-node-sdk/dist/client/errors.d.ts.map +1 -0
  119. package/packages/parasut-node-sdk/dist/client/errors.js +153 -0
  120. package/packages/parasut-node-sdk/dist/client/errors.js.map +1 -0
  121. package/packages/parasut-node-sdk/dist/generated/operations.d.ts +157 -0
  122. package/packages/parasut-node-sdk/dist/generated/operations.d.ts.map +1 -0
  123. package/packages/parasut-node-sdk/dist/generated/operations.js +1285 -0
  124. package/packages/parasut-node-sdk/dist/generated/operations.js.map +1 -0
  125. package/packages/parasut-node-sdk/dist/generated/types.d.ts +1743 -0
  126. package/packages/parasut-node-sdk/dist/generated/types.d.ts.map +1 -0
  127. package/packages/parasut-node-sdk/dist/generated/types.js +6 -0
  128. package/packages/parasut-node-sdk/dist/generated/types.js.map +1 -0
  129. package/packages/parasut-node-sdk/dist/index.d.ts +49 -0
  130. package/packages/parasut-node-sdk/dist/index.d.ts.map +1 -0
  131. package/packages/parasut-node-sdk/dist/index.js +91 -0
  132. package/packages/parasut-node-sdk/dist/index.js.map +1 -0
  133. package/packages/parasut-node-sdk/dist/resources/BaseResource.d.ts +143 -0
  134. package/packages/parasut-node-sdk/dist/resources/BaseResource.d.ts.map +1 -0
  135. package/packages/parasut-node-sdk/dist/resources/BaseResource.js +148 -0
  136. package/packages/parasut-node-sdk/dist/resources/BaseResource.js.map +1 -0
  137. package/packages/parasut-node-sdk/dist/resources/accounts.d.ts +71 -0
  138. package/packages/parasut-node-sdk/dist/resources/accounts.d.ts.map +1 -0
  139. package/packages/parasut-node-sdk/dist/resources/accounts.js +43 -0
  140. package/packages/parasut-node-sdk/dist/resources/accounts.js.map +1 -0
  141. package/packages/parasut-node-sdk/dist/resources/bankFees.d.ts +52 -0
  142. package/packages/parasut-node-sdk/dist/resources/bankFees.d.ts.map +1 -0
  143. package/packages/parasut-node-sdk/dist/resources/bankFees.js +25 -0
  144. package/packages/parasut-node-sdk/dist/resources/bankFees.js.map +1 -0
  145. package/packages/parasut-node-sdk/dist/resources/contacts.d.ts +62 -0
  146. package/packages/parasut-node-sdk/dist/resources/contacts.d.ts.map +1 -0
  147. package/packages/parasut-node-sdk/dist/resources/contacts.js +43 -0
  148. package/packages/parasut-node-sdk/dist/resources/contacts.js.map +1 -0
  149. package/packages/parasut-node-sdk/dist/resources/eArchives.d.ts +125 -0
  150. package/packages/parasut-node-sdk/dist/resources/eArchives.d.ts.map +1 -0
  151. package/packages/parasut-node-sdk/dist/resources/eArchives.js +100 -0
  152. package/packages/parasut-node-sdk/dist/resources/eArchives.js.map +1 -0
  153. package/packages/parasut-node-sdk/dist/resources/eInvoiceInboxes.d.ts +48 -0
  154. package/packages/parasut-node-sdk/dist/resources/eInvoiceInboxes.d.ts.map +1 -0
  155. package/packages/parasut-node-sdk/dist/resources/eInvoiceInboxes.js +46 -0
  156. package/packages/parasut-node-sdk/dist/resources/eInvoiceInboxes.js.map +1 -0
  157. package/packages/parasut-node-sdk/dist/resources/eInvoices.d.ts +104 -0
  158. package/packages/parasut-node-sdk/dist/resources/eInvoices.d.ts.map +1 -0
  159. package/packages/parasut-node-sdk/dist/resources/eInvoices.js +72 -0
  160. package/packages/parasut-node-sdk/dist/resources/eInvoices.js.map +1 -0
  161. package/packages/parasut-node-sdk/dist/resources/eSmms.d.ts +73 -0
  162. package/packages/parasut-node-sdk/dist/resources/eSmms.d.ts.map +1 -0
  163. package/packages/parasut-node-sdk/dist/resources/eSmms.js +59 -0
  164. package/packages/parasut-node-sdk/dist/resources/eSmms.js.map +1 -0
  165. package/packages/parasut-node-sdk/dist/resources/employees.d.ts +37 -0
  166. package/packages/parasut-node-sdk/dist/resources/employees.d.ts.map +1 -0
  167. package/packages/parasut-node-sdk/dist/resources/employees.js +31 -0
  168. package/packages/parasut-node-sdk/dist/resources/employees.js.map +1 -0
  169. package/packages/parasut-node-sdk/dist/resources/index.d.ts +26 -0
  170. package/packages/parasut-node-sdk/dist/resources/index.d.ts.map +1 -0
  171. package/packages/parasut-node-sdk/dist/resources/index.js +35 -0
  172. package/packages/parasut-node-sdk/dist/resources/index.js.map +1 -0
  173. package/packages/parasut-node-sdk/dist/resources/inventoryLevels.d.ts +25 -0
  174. package/packages/parasut-node-sdk/dist/resources/inventoryLevels.d.ts.map +1 -0
  175. package/packages/parasut-node-sdk/dist/resources/inventoryLevels.js +22 -0
  176. package/packages/parasut-node-sdk/dist/resources/inventoryLevels.js.map +1 -0
  177. package/packages/parasut-node-sdk/dist/resources/itemCategories.d.ts +31 -0
  178. package/packages/parasut-node-sdk/dist/resources/itemCategories.d.ts.map +1 -0
  179. package/packages/parasut-node-sdk/dist/resources/itemCategories.js +22 -0
  180. package/packages/parasut-node-sdk/dist/resources/itemCategories.js.map +1 -0
  181. package/packages/parasut-node-sdk/dist/resources/products.d.ts +50 -0
  182. package/packages/parasut-node-sdk/dist/resources/products.d.ts.map +1 -0
  183. package/packages/parasut-node-sdk/dist/resources/products.js +31 -0
  184. package/packages/parasut-node-sdk/dist/resources/products.js.map +1 -0
  185. package/packages/parasut-node-sdk/dist/resources/purchaseBills.d.ts +105 -0
  186. package/packages/parasut-node-sdk/dist/resources/purchaseBills.d.ts.map +1 -0
  187. package/packages/parasut-node-sdk/dist/resources/purchaseBills.js +67 -0
  188. package/packages/parasut-node-sdk/dist/resources/purchaseBills.js.map +1 -0
  189. package/packages/parasut-node-sdk/dist/resources/salaries.d.ts +50 -0
  190. package/packages/parasut-node-sdk/dist/resources/salaries.d.ts.map +1 -0
  191. package/packages/parasut-node-sdk/dist/resources/salaries.js +25 -0
  192. package/packages/parasut-node-sdk/dist/resources/salaries.js.map +1 -0
  193. package/packages/parasut-node-sdk/dist/resources/salesInvoices.d.ts +137 -0
  194. package/packages/parasut-node-sdk/dist/resources/salesInvoices.d.ts.map +1 -0
  195. package/packages/parasut-node-sdk/dist/resources/salesInvoices.js +84 -0
  196. package/packages/parasut-node-sdk/dist/resources/salesInvoices.js.map +1 -0
  197. package/packages/parasut-node-sdk/dist/resources/salesOffers.d.ts +72 -0
  198. package/packages/parasut-node-sdk/dist/resources/salesOffers.d.ts.map +1 -0
  199. package/packages/parasut-node-sdk/dist/resources/salesOffers.js +66 -0
  200. package/packages/parasut-node-sdk/dist/resources/salesOffers.js.map +1 -0
  201. package/packages/parasut-node-sdk/dist/resources/shipmentDocuments.d.ts +26 -0
  202. package/packages/parasut-node-sdk/dist/resources/shipmentDocuments.d.ts.map +1 -0
  203. package/packages/parasut-node-sdk/dist/resources/shipmentDocuments.js +16 -0
  204. package/packages/parasut-node-sdk/dist/resources/shipmentDocuments.js.map +1 -0
  205. package/packages/parasut-node-sdk/dist/resources/stockMovements.d.ts +27 -0
  206. package/packages/parasut-node-sdk/dist/resources/stockMovements.d.ts.map +1 -0
  207. package/packages/parasut-node-sdk/dist/resources/stockMovements.js +16 -0
  208. package/packages/parasut-node-sdk/dist/resources/stockMovements.js.map +1 -0
  209. package/packages/parasut-node-sdk/dist/resources/tags.d.ts +22 -0
  210. package/packages/parasut-node-sdk/dist/resources/tags.d.ts.map +1 -0
  211. package/packages/parasut-node-sdk/dist/resources/tags.js +16 -0
  212. package/packages/parasut-node-sdk/dist/resources/tags.js.map +1 -0
  213. package/packages/parasut-node-sdk/dist/resources/taxes.d.ts +50 -0
  214. package/packages/parasut-node-sdk/dist/resources/taxes.d.ts.map +1 -0
  215. package/packages/parasut-node-sdk/dist/resources/taxes.js +25 -0
  216. package/packages/parasut-node-sdk/dist/resources/taxes.js.map +1 -0
  217. package/packages/parasut-node-sdk/dist/resources/trackableJobs.d.ts +72 -0
  218. package/packages/parasut-node-sdk/dist/resources/trackableJobs.d.ts.map +1 -0
  219. package/packages/parasut-node-sdk/dist/resources/trackableJobs.js +108 -0
  220. package/packages/parasut-node-sdk/dist/resources/trackableJobs.js.map +1 -0
  221. package/packages/parasut-node-sdk/dist/resources/transactions.d.ts +26 -0
  222. package/packages/parasut-node-sdk/dist/resources/transactions.d.ts.map +1 -0
  223. package/packages/parasut-node-sdk/dist/resources/transactions.js +16 -0
  224. package/packages/parasut-node-sdk/dist/resources/transactions.js.map +1 -0
  225. package/packages/parasut-node-sdk/package-lock.json +4030 -0
  226. package/packages/parasut-node-sdk/package.json +71 -0
  227. package/packages/parasut-node-sdk/scripts/generate-types.ts +495 -0
  228. package/packages/parasut-node-sdk/src/client/HttpTransport.ts +334 -0
  229. package/packages/parasut-node-sdk/src/client/JsonApi.ts +314 -0
  230. package/packages/parasut-node-sdk/src/client/OAuth.ts +446 -0
  231. package/packages/parasut-node-sdk/src/client/ParasutClient.ts +423 -0
  232. package/packages/parasut-node-sdk/src/client/QueryBuilder.ts +292 -0
  233. package/packages/parasut-node-sdk/src/client/RateLimiter.ts +190 -0
  234. package/packages/parasut-node-sdk/src/client/RetryHandler.ts +216 -0
  235. package/packages/parasut-node-sdk/src/client/errors.ts +209 -0
  236. package/packages/parasut-node-sdk/src/generated/operations.ts +1454 -0
  237. package/packages/parasut-node-sdk/src/generated/types.ts +1856 -0
  238. package/packages/parasut-node-sdk/src/index.ts +235 -0
  239. package/packages/parasut-node-sdk/src/resources/BaseResource.ts +275 -0
  240. package/packages/parasut-node-sdk/src/resources/accounts.ts +108 -0
  241. package/packages/parasut-node-sdk/src/resources/bankFees.ts +74 -0
  242. package/packages/parasut-node-sdk/src/resources/contacts.ts +96 -0
  243. package/packages/parasut-node-sdk/src/resources/eArchives.ts +202 -0
  244. package/packages/parasut-node-sdk/src/resources/eInvoiceInboxes.ts +78 -0
  245. package/packages/parasut-node-sdk/src/resources/eInvoices.ts +166 -0
  246. package/packages/parasut-node-sdk/src/resources/eSmms.ts +132 -0
  247. package/packages/parasut-node-sdk/src/resources/employees.ts +69 -0
  248. package/packages/parasut-node-sdk/src/resources/index.ts +44 -0
  249. package/packages/parasut-node-sdk/src/resources/inventoryLevels.ts +45 -0
  250. package/packages/parasut-node-sdk/src/resources/itemCategories.ts +49 -0
  251. package/packages/parasut-node-sdk/src/resources/products.ts +78 -0
  252. package/packages/parasut-node-sdk/src/resources/purchaseBills.ts +162 -0
  253. package/packages/parasut-node-sdk/src/resources/salaries.ts +72 -0
  254. package/packages/parasut-node-sdk/src/resources/salesInvoices.ts +194 -0
  255. package/packages/parasut-node-sdk/src/resources/salesOffers.ts +149 -0
  256. package/packages/parasut-node-sdk/src/resources/shipmentDocuments.ts +40 -0
  257. package/packages/parasut-node-sdk/src/resources/stockMovements.ts +41 -0
  258. package/packages/parasut-node-sdk/src/resources/tags.ts +32 -0
  259. package/packages/parasut-node-sdk/src/resources/taxes.ts +68 -0
  260. package/packages/parasut-node-sdk/src/resources/trackableJobs.ts +167 -0
  261. package/packages/parasut-node-sdk/src/resources/transactions.ts +40 -0
  262. package/packages/parasut-node-sdk/tsconfig.json +47 -0
  263. package/scripts/build.js +14 -0
  264. package/scripts/deploy-branch.js +16 -0
  265. package/spec/README.md +24 -0
  266. package/spec/code_samples/README.md +9 -0
  267. package/spec/swagger.yaml +19616 -0
  268. package/web/CNAME +1 -0
  269. package/web/custom.css +34 -0
  270. package/web/favicon.ico +0 -0
  271. package/web/favicon.png +0 -0
  272. package/web/index.html +26 -0
  273. package/web/logo.png +0 -0
  274. package/web/v4.html +3 -0
@@ -0,0 +1,51 @@
1
+ name: "Publish Parasut API Docs to GitHub Pages"
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+ - name: Use Node.js
14
+ uses: actions/setup-node@v3
15
+ with:
16
+ node-version: '18.x'
17
+ - run: npm ci
18
+ - run: npm run build
19
+ - name: Compress artifact
20
+ run: |
21
+ chmod -c -R +rX "web_deploy" | while read line; do
22
+ echo "::warning title=Invalid file permissions automatically fixed::$line"
23
+ done
24
+ tar \
25
+ --dereference \
26
+ --directory "web_deploy" \
27
+ -cvf "artifact.tar" \
28
+ .
29
+ - name: Upload artifact
30
+ uses: actions/upload-artifact@v3
31
+ with:
32
+ name: 'github-pages'
33
+ path: artifact.tar
34
+ retention-days: 1
35
+ if-no-files-found: error
36
+ deploy:
37
+ needs: build
38
+
39
+ permissions:
40
+ pages: write
41
+ id-token: write
42
+
43
+ environment:
44
+ name: github-pages
45
+ url: ${{ steps.deployment.outputs.page_url }}
46
+
47
+ runs-on: ubuntu-latest
48
+ steps:
49
+ - name: Deploy to GitHub Pages
50
+ id: deployment
51
+ uses: actions/deploy-pages@v2
@@ -0,0 +1,71 @@
1
+ name: Publish to npm
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths-ignore: ['*.md', 'docs/**', 'LICENSE', '.gitignore']
7
+ workflow_dispatch:
8
+ inputs:
9
+ bump:
10
+ description: 'Version bump type'
11
+ required: false
12
+ type: choice
13
+ default: patch
14
+ options: [patch, minor, major]
15
+
16
+ permissions:
17
+ contents: write
18
+
19
+ jobs:
20
+ publish:
21
+ runs-on: ubuntu-latest
22
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+ with:
26
+ token: ${{ secrets.GITHUB_TOKEN }}
27
+ fetch-depth: 0
28
+
29
+ - uses: actions/setup-node@v4
30
+ with:
31
+ node-version: 20
32
+ registry-url: https://registry.npmjs.org
33
+
34
+ - run: npm install
35
+
36
+ - run: npm run build
37
+
38
+ - name: Check if version exists on npm
39
+ id: check
40
+ run: |
41
+ PKG_NAME=$(node -p "require('./package.json').name")
42
+ PKG_VER=$(node -p "require('./package.json').version")
43
+ echo "name=$PKG_NAME version=$PKG_VER"
44
+ set +e
45
+ npm view "${PKG_NAME}@${PKG_VER}" version 2>/dev/null
46
+ if [ $? -eq 0 ]; then
47
+ echo "exists=true" >> "$GITHUB_OUTPUT"
48
+ else
49
+ echo "exists=false" >> "$GITHUB_OUTPUT"
50
+ fi
51
+
52
+ - name: Bump version
53
+ id: bump
54
+ if: steps.check.outputs.exists == 'true' && github.actor != 'github-actions[bot]'
55
+ run: |
56
+ git config user.name "github-actions[bot]"
57
+ git config user.email "github-actions[bot]@users.noreply.github.com"
58
+ BUMP="${{ inputs.bump || 'patch' }}"
59
+ npm version "$BUMP" -m "chore: bump to v%s [skip ci]"
60
+ git push && git push --tags
61
+ echo "bumped=true" >> "$GITHUB_OUTPUT"
62
+
63
+ - name: Rebuild after bump
64
+ if: steps.bump.outputs.bumped == 'true'
65
+ run: npm run build
66
+
67
+ - name: Publish to npm
68
+ if: steps.check.outputs.exists == 'false' || steps.bump.outputs.bumped == 'true'
69
+ env:
70
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
71
+ run: npm publish --access public
package/.travis.yml ADDED
@@ -0,0 +1,15 @@
1
+ language: node_js
2
+ node_js:
3
+ - "node"
4
+ deploy:
5
+ - skip_cleanup: true
6
+ provider: script
7
+ script: npm run deploy
8
+ on:
9
+ branch: master
10
+ - skip_cleanup: true
11
+ provider: script
12
+ script: npm run deploy-branch
13
+ on:
14
+ all_branches: true
15
+ condition: '"$TRAVIS_BRANCH" != "master" && "$TRAVIS_BRANCH" != "gh-pages"'
package/.yo-rc.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "generator-openapi-repo": {
3
+ "importExistingSpec": true,
4
+ "importedSpec": "/Users/furkan/parasut/swagger/out/v4/v4.yaml",
5
+ "name": "Parasut API",
6
+ "repo": "parasutcom/api-doc",
7
+ "splitSpec": false,
8
+ "samples": true,
9
+ "installSwaggerUI": false
10
+ }
11
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Ivan Goncharov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,187 @@
1
+ # Paraşüt Node.js SDK & MCP Server
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@yigitkonur/parasut-node-sdk.svg)](https://www.npmjs.com/package/@yigitkonur/parasut-node-sdk)
4
+ [![npm version](https://img.shields.io/npm/v/@yigitkonur/parasut-mcp-server.svg)](https://www.npmjs.com/package/@yigitkonur/parasut-mcp-server)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue.svg)](https://www.typescriptlang.org/)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ > **UNOFFICIAL** TypeScript SDK and MCP (Model Context Protocol) Server for the [Paraşüt](https://www.parasut.com/) API v4.
9
+ >
10
+ > **This project is not affiliated with, endorsed by, or connected to Paraşüt in any way.**
11
+
12
+ A monorepo containing two packages for Turkish accounting and e-invoicing:
13
+
14
+ | Package | Description | Install |
15
+ |---------|-------------|---------|
16
+ | **[@yigitkonur/parasut-node-sdk](./packages/parasut-node-sdk)** | Type-safe TypeScript SDK | `npm i @yigitkonur/parasut-node-sdk` |
17
+ | **[@yigitkonur/parasut-mcp-server](./packages/parasut-mcp-server)** | MCP Server for Claude AI | `npm i -g @yigitkonur/parasut-mcp-server` |
18
+
19
+ ## Features
20
+
21
+ ### SDK Features
22
+
23
+ - **100% Type-Safe** - Full TypeScript with maximum strict mode
24
+ - **Complete API Coverage** - All Paraşüt v4 endpoints
25
+ - **OAuth 2.0** - Automatic token refresh
26
+ - **Rate Limiting** - Built-in token bucket (10 req/10s)
27
+ - **Retry Logic** - Exponential backoff for transient errors
28
+ - **Zero Dependencies** - Uses native `fetch` (Node.js 18+)
29
+ - **JSON:API Compliant** - Proper request/response handling
30
+
31
+ ### MCP Server Features
32
+
33
+ - **34 AI-Optimized Tools** - Intent-first design, not 1:1 API mapping
34
+ - **Confirmation Patterns** - Preview mode for financial operations
35
+ - **Double Confirmation** - Extra safety for irreversible e-document submissions
36
+ - **Smart Responses** - Next-step guidance and recovery instructions
37
+ - **Turkish E-Invoicing** - e-Fatura, e-Arşiv, e-SMM support
38
+
39
+ ## Quick Start
40
+
41
+ ### SDK Usage
42
+
43
+ ```bash
44
+ npm install @yigitkonur/parasut-node-sdk
45
+ ```
46
+
47
+ ```typescript
48
+ import { ParasutClient } from '@yigitkonur/parasut-node-sdk';
49
+
50
+ const client = new ParasutClient({
51
+ companyId: 123456,
52
+ credentials: {
53
+ clientId: 'your-client-id',
54
+ clientSecret: 'your-client-secret',
55
+ username: 'your-username',
56
+ password: 'your-password',
57
+ },
58
+ });
59
+
60
+ // List all customers
61
+ const { data: contacts } = await client.contacts.list({
62
+ filter: { account_type: 'customer' },
63
+ });
64
+
65
+ // Create an invoice
66
+ const { data: invoice } = await client.salesInvoices.create({
67
+ data: {
68
+ type: 'sales_invoices',
69
+ attributes: {
70
+ item_type: 'invoice',
71
+ issue_date: '2024-01-15',
72
+ currency: 'TRL',
73
+ },
74
+ relationships: {
75
+ contact: { data: { id: '12345', type: 'contacts' } },
76
+ },
77
+ },
78
+ });
79
+ ```
80
+
81
+ ### MCP Server Usage
82
+
83
+ ```bash
84
+ npm install -g @yigitkonur/parasut-mcp-server
85
+ ```
86
+
87
+ Add to Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
88
+
89
+ ```json
90
+ {
91
+ "mcpServers": {
92
+ "parasut": {
93
+ "command": "parasut-mcp",
94
+ "env": {
95
+ "PARASUT_COMPANY_ID": "123456",
96
+ "PARASUT_CLIENT_ID": "your-client-id",
97
+ "PARASUT_CLIENT_SECRET": "your-client-secret",
98
+ "PARASUT_USERNAME": "your-username",
99
+ "PARASUT_PASSWORD": "your-password"
100
+ }
101
+ }
102
+ }
103
+ }
104
+ ```
105
+
106
+ Then ask Claude:
107
+
108
+ > "Show me all unpaid invoices from this month"
109
+ >
110
+ > "Create an invoice for 5000 TL consulting services to Acme Corp"
111
+ >
112
+ > "Send invoice #1234 as e-fatura"
113
+
114
+ ## Supported Operations
115
+
116
+ | Category | Operations |
117
+ |----------|------------|
118
+ | **Contacts** | Search, create, update customers/suppliers |
119
+ | **Sales Invoices** | Create, cancel, recover, record payments, generate PDF |
120
+ | **Purchase Bills** | Create expenses, record supplier payments |
121
+ | **Products** | Manage products and services catalog |
122
+ | **E-Documents** | e-Fatura, e-Arşiv, e-SMM (with double confirmation) |
123
+ | **Financial** | Accounts, transactions, bank fees |
124
+ | **Inventory** | Stock levels and movements |
125
+ | **Organization** | Categories, tags, employees, salaries, taxes |
126
+
127
+ ## TypeScript Strictness
128
+
129
+ Both packages use maximum TypeScript strictness:
130
+
131
+ ```
132
+ strict: true
133
+ exactOptionalPropertyTypes: true
134
+ noUncheckedIndexedAccess: true
135
+ noPropertyAccessFromIndexSignature: true
136
+ noImplicitOverride: true
137
+ + 15 more strict checks
138
+ ```
139
+
140
+ ## Requirements
141
+
142
+ - **Node.js** >= 18.0.0
143
+ - **Paraşüt API Credentials** (OAuth 2.0)
144
+
145
+ ## Getting API Credentials
146
+
147
+ 1. Log in to [Paraşüt](https://app.parasut.com)
148
+ 2. Go to **Settings → API → Applications**
149
+ 3. Create a new application
150
+ 4. Note your **Client ID** and **Client Secret**
151
+ 5. Your **Company ID** is in the URL: `app.parasut.com/{COMPANY_ID}/...`
152
+
153
+ ## Development
154
+
155
+ ```bash
156
+ # Clone
157
+ git clone https://github.com/yigitkonur/parasut-node-sdk-mcp.git
158
+ cd parasut-node-sdk-mcp
159
+
160
+ # Install
161
+ npm install
162
+
163
+ # Build all
164
+ npm run build
165
+
166
+ # Type check
167
+ npm run typecheck
168
+ ```
169
+
170
+ ## Disclaimer
171
+
172
+ **This is an UNOFFICIAL project.**
173
+
174
+ - Not affiliated with, endorsed by, or connected to Paraşüt
175
+ - Paraşüt is a trademark of Paraşüt Bilgi Teknolojileri A.Ş.
176
+ - Use at your own risk
177
+ - The maintainers are not responsible for any issues arising from use
178
+
179
+ ## License
180
+
181
+ MIT © [Yigit Konur](https://github.com/yigitkonur)
182
+
183
+ ## Links
184
+
185
+ - [Paraşüt API Documentation](https://apidocs.parasut.com/)
186
+ - [MCP Protocol](https://modelcontextprotocol.io/)
187
+ - [Report Issues](https://github.com/yigitkonur/parasut-node-sdk-mcp/issues)
package/gulpfile.js ADDED
@@ -0,0 +1,50 @@
1
+ var gulp = require('gulp');
2
+ var util = require('gulp-util')
3
+ var gulpConnect = require('gulp-connect');
4
+ var connect = require('connect');
5
+ var cors = require('cors');
6
+ var path = require('path');
7
+ var exec = require('child_process').exec;
8
+ var portfinder = require('portfinder');
9
+ var swaggerRepo = require('swagger-repo');
10
+
11
+ var DIST_DIR = 'web_deploy';
12
+
13
+ gulp.task('serve', ['build', 'watch', 'edit'], function() {
14
+ portfinder.getPort({port: 3000}, function (err, port) {
15
+ gulpConnect.server({
16
+ root: [DIST_DIR],
17
+ livereload: true,
18
+ port: port,
19
+ middleware: function (gulpConnect, opt) {
20
+ return [
21
+ cors()
22
+ ]
23
+ }
24
+ });
25
+ });
26
+ });
27
+
28
+ gulp.task('edit', function() {
29
+ portfinder.getPort({port: 5000}, function (err, port) {
30
+ var app = connect();
31
+ app.use(swaggerRepo.swaggerEditorMiddleware());
32
+ app.listen(port);
33
+ util.log(util.colors.green('swagger-editor started http://localhost:' + port));
34
+ });
35
+ });
36
+
37
+ gulp.task('build', function (cb) {
38
+ exec('npm run build', function (err, stdout, stderr) {
39
+ console.log(stderr);
40
+ cb(err);
41
+ });
42
+ });
43
+
44
+ gulp.task('reload', ['build'], function () {
45
+ gulp.src(DIST_DIR).pipe(gulpConnect.reload())
46
+ });
47
+
48
+ gulp.task('watch', function () {
49
+ gulp.watch(['spec/**/*', 'web/**/*'], ['reload']);
50
+ });
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "parasut-node-sdk-mcp",
3
+ "version": "1.0.0",
4
+ "description": "Unofficial TypeScript SDK and MCP Server for Para\u015f\u00fct API - Turkish accounting and e-invoicing",
5
+ "workspaces": [
6
+ "packages/*"
7
+ ],
8
+ "scripts": {
9
+ "build": "npm run build --workspaces",
10
+ "build:sdk": "npm run build --workspace=@yigitkonur/parasut-node-sdk",
11
+ "build:mcp": "npm run build --workspace=@yigitkonur/parasut-mcp-server",
12
+ "typecheck": "npm run typecheck --workspaces",
13
+ "lint": "npm run lint --workspaces --if-present",
14
+ "test": "npm run test --workspaces --if-present",
15
+ "clean": "rm -rf packages/*/dist packages/*/node_modules"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/yigitkonur/parasut-node-sdk-mcp.git"
20
+ },
21
+ "keywords": [
22
+ "parasut",
23
+ "para\u015f\u00fct",
24
+ "sdk",
25
+ "mcp",
26
+ "typescript",
27
+ "e-fatura",
28
+ "e-invoice",
29
+ "turkey",
30
+ "accounting",
31
+ "api"
32
+ ],
33
+ "author": "Yigit Konur <yigit@konur.dev>",
34
+ "license": "MIT",
35
+ "bugs": {
36
+ "url": "https://github.com/yigitkonur/parasut-node-sdk-mcp/issues"
37
+ },
38
+ "homepage": "https://github.com/yigitkonur/parasut-node-sdk-mcp#readme",
39
+ "engines": {
40
+ "node": ">=18.0.0"
41
+ }
42
+ }