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.
- package/.github/workflows/deploy.yaml +51 -0
- package/.github/workflows/npm-publish.yml +71 -0
- package/.travis.yml +15 -0
- package/.yo-rc.json +11 -0
- package/LICENSE +21 -0
- package/README.md +187 -0
- package/gulpfile.js +50 -0
- package/package.json +42 -0
- package/packages/parasut-mcp-server/README.md +312 -0
- package/packages/parasut-mcp-server/dist/client.d.ts +24 -0
- package/packages/parasut-mcp-server/dist/client.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/client.js +46 -0
- package/packages/parasut-mcp-server/dist/client.js.map +1 -0
- package/packages/parasut-mcp-server/dist/config.d.ts +39 -0
- package/packages/parasut-mcp-server/dist/config.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/config.js +74 -0
- package/packages/parasut-mcp-server/dist/config.js.map +1 -0
- package/packages/parasut-mcp-server/dist/index.d.ts +21 -0
- package/packages/parasut-mcp-server/dist/index.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/index.js +26 -0
- package/packages/parasut-mcp-server/dist/index.js.map +1 -0
- package/packages/parasut-mcp-server/dist/server.d.ts +17 -0
- package/packages/parasut-mcp-server/dist/server.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/server.js +61 -0
- package/packages/parasut-mcp-server/dist/server.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/bills.d.ts +13 -0
- package/packages/parasut-mcp-server/dist/tools/bills.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/bills.js +387 -0
- package/packages/parasut-mcp-server/dist/tools/bills.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/contacts.d.ts +13 -0
- package/packages/parasut-mcp-server/dist/tools/contacts.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/contacts.js +522 -0
- package/packages/parasut-mcp-server/dist/tools/contacts.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/edocuments.d.ts +13 -0
- package/packages/parasut-mcp-server/dist/tools/edocuments.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/edocuments.js +514 -0
- package/packages/parasut-mcp-server/dist/tools/edocuments.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/financial.d.ts +13 -0
- package/packages/parasut-mcp-server/dist/tools/financial.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/financial.js +321 -0
- package/packages/parasut-mcp-server/dist/tools/financial.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/index.d.ts +19 -0
- package/packages/parasut-mcp-server/dist/tools/index.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/index.js +132 -0
- package/packages/parasut-mcp-server/dist/tools/index.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/inventory.d.ts +11 -0
- package/packages/parasut-mcp-server/dist/tools/inventory.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/inventory.js +143 -0
- package/packages/parasut-mcp-server/dist/tools/inventory.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/invoices.d.ts +16 -0
- package/packages/parasut-mcp-server/dist/tools/invoices.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/invoices.js +850 -0
- package/packages/parasut-mcp-server/dist/tools/invoices.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/organization.d.ts +14 -0
- package/packages/parasut-mcp-server/dist/tools/organization.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/organization.js +377 -0
- package/packages/parasut-mcp-server/dist/tools/organization.js.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/products.d.ts +13 -0
- package/packages/parasut-mcp-server/dist/tools/products.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/tools/products.js +299 -0
- package/packages/parasut-mcp-server/dist/tools/products.js.map +1 -0
- package/packages/parasut-mcp-server/dist/utils/errors.d.ts +34 -0
- package/packages/parasut-mcp-server/dist/utils/errors.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/utils/errors.js +217 -0
- package/packages/parasut-mcp-server/dist/utils/errors.js.map +1 -0
- package/packages/parasut-mcp-server/dist/utils/response.d.ts +94 -0
- package/packages/parasut-mcp-server/dist/utils/response.d.ts.map +1 -0
- package/packages/parasut-mcp-server/dist/utils/response.js +194 -0
- package/packages/parasut-mcp-server/dist/utils/response.js.map +1 -0
- package/packages/parasut-mcp-server/package-lock.json +2831 -0
- package/packages/parasut-mcp-server/package.json +70 -0
- package/packages/parasut-mcp-server/src/client.ts +55 -0
- package/packages/parasut-mcp-server/src/config.ts +99 -0
- package/packages/parasut-mcp-server/src/index.ts +27 -0
- package/packages/parasut-mcp-server/src/server.ts +79 -0
- package/packages/parasut-mcp-server/src/tools/bills.ts +416 -0
- package/packages/parasut-mcp-server/src/tools/contacts.ts +549 -0
- package/packages/parasut-mcp-server/src/tools/edocuments.ts +543 -0
- package/packages/parasut-mcp-server/src/tools/financial.ts +345 -0
- package/packages/parasut-mcp-server/src/tools/index.ts +158 -0
- package/packages/parasut-mcp-server/src/tools/inventory.ts +154 -0
- package/packages/parasut-mcp-server/src/tools/invoices.ts +905 -0
- package/packages/parasut-mcp-server/src/tools/organization.ts +405 -0
- package/packages/parasut-mcp-server/src/tools/products.ts +320 -0
- package/packages/parasut-mcp-server/src/utils/errors.ts +296 -0
- package/packages/parasut-mcp-server/src/utils/response.ts +280 -0
- package/packages/parasut-mcp-server/tsconfig.json +48 -0
- package/packages/parasut-node-sdk/README.md +393 -0
- package/packages/parasut-node-sdk/dist/client/HttpTransport.d.ts +92 -0
- package/packages/parasut-node-sdk/dist/client/HttpTransport.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/client/HttpTransport.js +237 -0
- package/packages/parasut-node-sdk/dist/client/HttpTransport.js.map +1 -0
- package/packages/parasut-node-sdk/dist/client/JsonApi.d.ts +122 -0
- package/packages/parasut-node-sdk/dist/client/JsonApi.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/client/JsonApi.js +192 -0
- package/packages/parasut-node-sdk/dist/client/JsonApi.js.map +1 -0
- package/packages/parasut-node-sdk/dist/client/OAuth.d.ts +117 -0
- package/packages/parasut-node-sdk/dist/client/OAuth.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/client/OAuth.js +322 -0
- package/packages/parasut-node-sdk/dist/client/OAuth.js.map +1 -0
- package/packages/parasut-node-sdk/dist/client/ParasutClient.d.ts +198 -0
- package/packages/parasut-node-sdk/dist/client/ParasutClient.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/client/ParasutClient.js +334 -0
- package/packages/parasut-node-sdk/dist/client/ParasutClient.js.map +1 -0
- package/packages/parasut-node-sdk/dist/client/QueryBuilder.d.ts +115 -0
- package/packages/parasut-node-sdk/dist/client/QueryBuilder.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/client/QueryBuilder.js +206 -0
- package/packages/parasut-node-sdk/dist/client/QueryBuilder.js.map +1 -0
- package/packages/parasut-node-sdk/dist/client/RateLimiter.d.ts +77 -0
- package/packages/parasut-node-sdk/dist/client/RateLimiter.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/client/RateLimiter.js +142 -0
- package/packages/parasut-node-sdk/dist/client/RateLimiter.js.map +1 -0
- package/packages/parasut-node-sdk/dist/client/RetryHandler.d.ts +88 -0
- package/packages/parasut-node-sdk/dist/client/RetryHandler.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/client/RetryHandler.js +125 -0
- package/packages/parasut-node-sdk/dist/client/RetryHandler.js.map +1 -0
- package/packages/parasut-node-sdk/dist/client/errors.d.ts +87 -0
- package/packages/parasut-node-sdk/dist/client/errors.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/client/errors.js +153 -0
- package/packages/parasut-node-sdk/dist/client/errors.js.map +1 -0
- package/packages/parasut-node-sdk/dist/generated/operations.d.ts +157 -0
- package/packages/parasut-node-sdk/dist/generated/operations.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/generated/operations.js +1285 -0
- package/packages/parasut-node-sdk/dist/generated/operations.js.map +1 -0
- package/packages/parasut-node-sdk/dist/generated/types.d.ts +1743 -0
- package/packages/parasut-node-sdk/dist/generated/types.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/generated/types.js +6 -0
- package/packages/parasut-node-sdk/dist/generated/types.js.map +1 -0
- package/packages/parasut-node-sdk/dist/index.d.ts +49 -0
- package/packages/parasut-node-sdk/dist/index.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/index.js +91 -0
- package/packages/parasut-node-sdk/dist/index.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/BaseResource.d.ts +143 -0
- package/packages/parasut-node-sdk/dist/resources/BaseResource.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/BaseResource.js +148 -0
- package/packages/parasut-node-sdk/dist/resources/BaseResource.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/accounts.d.ts +71 -0
- package/packages/parasut-node-sdk/dist/resources/accounts.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/accounts.js +43 -0
- package/packages/parasut-node-sdk/dist/resources/accounts.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/bankFees.d.ts +52 -0
- package/packages/parasut-node-sdk/dist/resources/bankFees.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/bankFees.js +25 -0
- package/packages/parasut-node-sdk/dist/resources/bankFees.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/contacts.d.ts +62 -0
- package/packages/parasut-node-sdk/dist/resources/contacts.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/contacts.js +43 -0
- package/packages/parasut-node-sdk/dist/resources/contacts.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/eArchives.d.ts +125 -0
- package/packages/parasut-node-sdk/dist/resources/eArchives.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/eArchives.js +100 -0
- package/packages/parasut-node-sdk/dist/resources/eArchives.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/eInvoiceInboxes.d.ts +48 -0
- package/packages/parasut-node-sdk/dist/resources/eInvoiceInboxes.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/eInvoiceInboxes.js +46 -0
- package/packages/parasut-node-sdk/dist/resources/eInvoiceInboxes.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/eInvoices.d.ts +104 -0
- package/packages/parasut-node-sdk/dist/resources/eInvoices.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/eInvoices.js +72 -0
- package/packages/parasut-node-sdk/dist/resources/eInvoices.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/eSmms.d.ts +73 -0
- package/packages/parasut-node-sdk/dist/resources/eSmms.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/eSmms.js +59 -0
- package/packages/parasut-node-sdk/dist/resources/eSmms.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/employees.d.ts +37 -0
- package/packages/parasut-node-sdk/dist/resources/employees.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/employees.js +31 -0
- package/packages/parasut-node-sdk/dist/resources/employees.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/index.d.ts +26 -0
- package/packages/parasut-node-sdk/dist/resources/index.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/index.js +35 -0
- package/packages/parasut-node-sdk/dist/resources/index.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/inventoryLevels.d.ts +25 -0
- package/packages/parasut-node-sdk/dist/resources/inventoryLevels.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/inventoryLevels.js +22 -0
- package/packages/parasut-node-sdk/dist/resources/inventoryLevels.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/itemCategories.d.ts +31 -0
- package/packages/parasut-node-sdk/dist/resources/itemCategories.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/itemCategories.js +22 -0
- package/packages/parasut-node-sdk/dist/resources/itemCategories.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/products.d.ts +50 -0
- package/packages/parasut-node-sdk/dist/resources/products.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/products.js +31 -0
- package/packages/parasut-node-sdk/dist/resources/products.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/purchaseBills.d.ts +105 -0
- package/packages/parasut-node-sdk/dist/resources/purchaseBills.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/purchaseBills.js +67 -0
- package/packages/parasut-node-sdk/dist/resources/purchaseBills.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/salaries.d.ts +50 -0
- package/packages/parasut-node-sdk/dist/resources/salaries.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/salaries.js +25 -0
- package/packages/parasut-node-sdk/dist/resources/salaries.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/salesInvoices.d.ts +137 -0
- package/packages/parasut-node-sdk/dist/resources/salesInvoices.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/salesInvoices.js +84 -0
- package/packages/parasut-node-sdk/dist/resources/salesInvoices.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/salesOffers.d.ts +72 -0
- package/packages/parasut-node-sdk/dist/resources/salesOffers.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/salesOffers.js +66 -0
- package/packages/parasut-node-sdk/dist/resources/salesOffers.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/shipmentDocuments.d.ts +26 -0
- package/packages/parasut-node-sdk/dist/resources/shipmentDocuments.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/shipmentDocuments.js +16 -0
- package/packages/parasut-node-sdk/dist/resources/shipmentDocuments.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/stockMovements.d.ts +27 -0
- package/packages/parasut-node-sdk/dist/resources/stockMovements.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/stockMovements.js +16 -0
- package/packages/parasut-node-sdk/dist/resources/stockMovements.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/tags.d.ts +22 -0
- package/packages/parasut-node-sdk/dist/resources/tags.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/tags.js +16 -0
- package/packages/parasut-node-sdk/dist/resources/tags.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/taxes.d.ts +50 -0
- package/packages/parasut-node-sdk/dist/resources/taxes.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/taxes.js +25 -0
- package/packages/parasut-node-sdk/dist/resources/taxes.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/trackableJobs.d.ts +72 -0
- package/packages/parasut-node-sdk/dist/resources/trackableJobs.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/trackableJobs.js +108 -0
- package/packages/parasut-node-sdk/dist/resources/trackableJobs.js.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/transactions.d.ts +26 -0
- package/packages/parasut-node-sdk/dist/resources/transactions.d.ts.map +1 -0
- package/packages/parasut-node-sdk/dist/resources/transactions.js +16 -0
- package/packages/parasut-node-sdk/dist/resources/transactions.js.map +1 -0
- package/packages/parasut-node-sdk/package-lock.json +4030 -0
- package/packages/parasut-node-sdk/package.json +71 -0
- package/packages/parasut-node-sdk/scripts/generate-types.ts +495 -0
- package/packages/parasut-node-sdk/src/client/HttpTransport.ts +334 -0
- package/packages/parasut-node-sdk/src/client/JsonApi.ts +314 -0
- package/packages/parasut-node-sdk/src/client/OAuth.ts +446 -0
- package/packages/parasut-node-sdk/src/client/ParasutClient.ts +423 -0
- package/packages/parasut-node-sdk/src/client/QueryBuilder.ts +292 -0
- package/packages/parasut-node-sdk/src/client/RateLimiter.ts +190 -0
- package/packages/parasut-node-sdk/src/client/RetryHandler.ts +216 -0
- package/packages/parasut-node-sdk/src/client/errors.ts +209 -0
- package/packages/parasut-node-sdk/src/generated/operations.ts +1454 -0
- package/packages/parasut-node-sdk/src/generated/types.ts +1856 -0
- package/packages/parasut-node-sdk/src/index.ts +235 -0
- package/packages/parasut-node-sdk/src/resources/BaseResource.ts +275 -0
- package/packages/parasut-node-sdk/src/resources/accounts.ts +108 -0
- package/packages/parasut-node-sdk/src/resources/bankFees.ts +74 -0
- package/packages/parasut-node-sdk/src/resources/contacts.ts +96 -0
- package/packages/parasut-node-sdk/src/resources/eArchives.ts +202 -0
- package/packages/parasut-node-sdk/src/resources/eInvoiceInboxes.ts +78 -0
- package/packages/parasut-node-sdk/src/resources/eInvoices.ts +166 -0
- package/packages/parasut-node-sdk/src/resources/eSmms.ts +132 -0
- package/packages/parasut-node-sdk/src/resources/employees.ts +69 -0
- package/packages/parasut-node-sdk/src/resources/index.ts +44 -0
- package/packages/parasut-node-sdk/src/resources/inventoryLevels.ts +45 -0
- package/packages/parasut-node-sdk/src/resources/itemCategories.ts +49 -0
- package/packages/parasut-node-sdk/src/resources/products.ts +78 -0
- package/packages/parasut-node-sdk/src/resources/purchaseBills.ts +162 -0
- package/packages/parasut-node-sdk/src/resources/salaries.ts +72 -0
- package/packages/parasut-node-sdk/src/resources/salesInvoices.ts +194 -0
- package/packages/parasut-node-sdk/src/resources/salesOffers.ts +149 -0
- package/packages/parasut-node-sdk/src/resources/shipmentDocuments.ts +40 -0
- package/packages/parasut-node-sdk/src/resources/stockMovements.ts +41 -0
- package/packages/parasut-node-sdk/src/resources/tags.ts +32 -0
- package/packages/parasut-node-sdk/src/resources/taxes.ts +68 -0
- package/packages/parasut-node-sdk/src/resources/trackableJobs.ts +167 -0
- package/packages/parasut-node-sdk/src/resources/transactions.ts +40 -0
- package/packages/parasut-node-sdk/tsconfig.json +47 -0
- package/scripts/build.js +14 -0
- package/scripts/deploy-branch.js +16 -0
- package/spec/README.md +24 -0
- package/spec/code_samples/README.md +9 -0
- package/spec/swagger.yaml +19616 -0
- package/web/CNAME +1 -0
- package/web/custom.css +34 -0
- package/web/favicon.ico +0 -0
- package/web/favicon.png +0 -0
- package/web/index.html +26 -0
- package/web/logo.png +0 -0
- 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
|
+
[](https://www.npmjs.com/package/@yigitkonur/parasut-node-sdk)
|
|
4
|
+
[](https://www.npmjs.com/package/@yigitkonur/parasut-mcp-server)
|
|
5
|
+
[](https://www.typescriptlang.org/)
|
|
6
|
+
[](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
|
+
}
|