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,514 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* E-Document Tools
|
|
3
|
+
*
|
|
4
|
+
* Tools for Turkish electronic invoicing (e-fatura, e-arşiv, e-SMM).
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { getClient } from '../client.js';
|
|
8
|
+
import { formatSuccess, formatNotFound } from '../utils/response.js';
|
|
9
|
+
import { handleError } from '../utils/errors.js';
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Schemas
|
|
12
|
+
// ============================================================================
|
|
13
|
+
const CheckEInvoiceInboxSchema = z.object({
|
|
14
|
+
tax_number: z.string().describe('Tax number (VKN/TCKN) to check'),
|
|
15
|
+
});
|
|
16
|
+
const SendEInvoiceSchema = z.object({
|
|
17
|
+
invoice_id: z.string().describe('Sales invoice ID'),
|
|
18
|
+
scenario: z
|
|
19
|
+
.enum(['basic', 'commercial'])
|
|
20
|
+
.default('basic')
|
|
21
|
+
.describe('e-Invoice scenario'),
|
|
22
|
+
note: z.string().optional().describe('Invoice note'),
|
|
23
|
+
confirm: z.boolean().optional().describe('🚨 First confirmation: Set to true to proceed'),
|
|
24
|
+
i_understand_this_is_irreversible: z.string().optional().describe('🚨 Second confirmation: Must be exactly "YES" to submit to GİB'),
|
|
25
|
+
});
|
|
26
|
+
const SendEArchiveSchema = z.object({
|
|
27
|
+
invoice_id: z.string().describe('Sales invoice ID'),
|
|
28
|
+
internet_sale: z
|
|
29
|
+
.object({
|
|
30
|
+
url: z.string().optional(),
|
|
31
|
+
payment_type: z.enum(['KREDIKARTI/BANKAKARTI', 'EFT/HAVALE', 'KAPIDAODEME', 'ODEMEARACISI']).optional(),
|
|
32
|
+
payment_platform: z.string().optional(),
|
|
33
|
+
payment_date: z.string().optional(),
|
|
34
|
+
})
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('Internet sale details (required for e-commerce)'),
|
|
37
|
+
confirm: z.boolean().optional().describe('🚨 First confirmation: Set to true to proceed'),
|
|
38
|
+
i_understand_this_is_irreversible: z.string().optional().describe('🚨 Second confirmation: Must be exactly "YES" to submit to GİB'),
|
|
39
|
+
});
|
|
40
|
+
const SendESmmSchema = z.object({
|
|
41
|
+
invoice_id: z.string().describe('Sales invoice ID'),
|
|
42
|
+
note: z.string().optional().describe('Receipt note'),
|
|
43
|
+
confirm: z.boolean().optional().describe('🚨 First confirmation: Set to true to proceed'),
|
|
44
|
+
i_understand_this_is_irreversible: z.string().optional().describe('🚨 Second confirmation: Must be exactly "YES" to submit to GİB'),
|
|
45
|
+
});
|
|
46
|
+
// ============================================================================
|
|
47
|
+
// Tool Definitions
|
|
48
|
+
// ============================================================================
|
|
49
|
+
export const edocumentTools = [
|
|
50
|
+
{
|
|
51
|
+
name: 'check_einvoice_inbox',
|
|
52
|
+
description: `
|
|
53
|
+
<usecase>
|
|
54
|
+
Check if a contact (by tax number) is registered for e-Invoice (e-fatura).
|
|
55
|
+
Use when: Before sending an e-invoice to verify the recipient can receive it.
|
|
56
|
+
Do NOT use when: Sending to a consumer or non-registered entity (use send_earchive).
|
|
57
|
+
</usecase>
|
|
58
|
+
|
|
59
|
+
<instructions>
|
|
60
|
+
- tax_number: The VKN (corporate) or TCKN (individual) to check
|
|
61
|
+
</instructions>
|
|
62
|
+
|
|
63
|
+
<example>
|
|
64
|
+
check_einvoice_inbox(tax_number="1234567890")
|
|
65
|
+
</example>
|
|
66
|
+
|
|
67
|
+
<returns>
|
|
68
|
+
- registered: true/false
|
|
69
|
+
- If registered: inbox alias and name
|
|
70
|
+
- If not registered: suggestion to use send_earchive
|
|
71
|
+
</returns>
|
|
72
|
+
`.trim(),
|
|
73
|
+
inputSchema: {
|
|
74
|
+
type: 'object',
|
|
75
|
+
properties: {
|
|
76
|
+
tax_number: { type: 'string', description: 'Tax number (VKN/TCKN) to check' },
|
|
77
|
+
},
|
|
78
|
+
required: ['tax_number'],
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
name: 'send_einvoice',
|
|
83
|
+
description: `
|
|
84
|
+
<usecase>
|
|
85
|
+
🚨🚨🚨 IRREVERSIBLE OPERATION - SUBMITS TO GİB (TAX AUTHORITY) 🚨🚨🚨
|
|
86
|
+
Send an invoice as e-Invoice (e-fatura) to the GİB system.
|
|
87
|
+
Use when: Recipient is registered for e-invoice (check with check_einvoice_inbox first).
|
|
88
|
+
Do NOT use when: Recipient is NOT registered (use send_earchive instead).
|
|
89
|
+
</usecase>
|
|
90
|
+
|
|
91
|
+
<instructions>
|
|
92
|
+
⛔ DOUBLE CONFIRMATION REQUIRED - THIS CANNOT BE UNDONE:
|
|
93
|
+
1. First: Set confirm=true
|
|
94
|
+
2. Second: Set i_understand_this_is_irreversible="YES"
|
|
95
|
+
|
|
96
|
+
Without BOTH confirmations, returns preview only.
|
|
97
|
+
|
|
98
|
+
- invoice_id: The sales invoice ID to send
|
|
99
|
+
- scenario: Must be "basic" (default) or "commercial"
|
|
100
|
+
- First use check_einvoice_inbox to verify the recipient
|
|
101
|
+
</instructions>
|
|
102
|
+
|
|
103
|
+
<example>
|
|
104
|
+
send_einvoice(invoice_id="12345") # Preview only
|
|
105
|
+
send_einvoice(invoice_id="12345", confirm=true) # Still preview
|
|
106
|
+
send_einvoice(invoice_id="12345", confirm=true, i_understand_this_is_irreversible="YES") # SUBMITS TO GİB
|
|
107
|
+
</example>
|
|
108
|
+
|
|
109
|
+
<returns>
|
|
110
|
+
Without full confirmation: Preview of e-invoice to be submitted.
|
|
111
|
+
With both confirmations: Submission confirmation with e_invoice_id.
|
|
112
|
+
</returns>
|
|
113
|
+
|
|
114
|
+
<notes>
|
|
115
|
+
⚠️ WARNING: Once submitted to GİB, this CANNOT be reversed!
|
|
116
|
+
- Official tax document - mistakes require formal cancellation process
|
|
117
|
+
- Use get_invoice to check the final status
|
|
118
|
+
</notes>
|
|
119
|
+
`.trim(),
|
|
120
|
+
inputSchema: {
|
|
121
|
+
type: 'object',
|
|
122
|
+
properties: {
|
|
123
|
+
invoice_id: { type: 'string' },
|
|
124
|
+
scenario: { type: 'string', enum: ['basic', 'commercial'], description: 'e-Invoice scenario. MUST be one of: basic, commercial', default: 'basic' },
|
|
125
|
+
note: { type: 'string' },
|
|
126
|
+
confirm: { type: 'boolean', description: '🚨 First confirmation: Set to true' },
|
|
127
|
+
i_understand_this_is_irreversible: { type: 'string', description: '🚨 Second confirmation: Must be exactly "YES"' },
|
|
128
|
+
},
|
|
129
|
+
required: ['invoice_id'],
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: 'send_earchive',
|
|
134
|
+
description: `
|
|
135
|
+
<usecase>
|
|
136
|
+
🚨🚨🚨 IRREVERSIBLE OPERATION - SUBMITS TO GİB (TAX AUTHORITY) 🚨🚨🚨
|
|
137
|
+
Send an invoice as e-Archive (e-arşiv fatura).
|
|
138
|
+
Use when: Recipient is NOT registered for e-invoice (consumers, unregistered businesses).
|
|
139
|
+
Do NOT use when: Recipient IS registered for e-invoice (use send_einvoice instead).
|
|
140
|
+
</usecase>
|
|
141
|
+
|
|
142
|
+
<instructions>
|
|
143
|
+
⛔ DOUBLE CONFIRMATION REQUIRED - THIS CANNOT BE UNDONE:
|
|
144
|
+
1. First: Set confirm=true
|
|
145
|
+
2. Second: Set i_understand_this_is_irreversible="YES"
|
|
146
|
+
|
|
147
|
+
Without BOTH confirmations, returns preview only.
|
|
148
|
+
|
|
149
|
+
- invoice_id: The sales invoice ID to send
|
|
150
|
+
- internet_sale: Required for e-commerce sales
|
|
151
|
+
</instructions>
|
|
152
|
+
|
|
153
|
+
<example>
|
|
154
|
+
send_earchive(invoice_id="12345") # Preview only
|
|
155
|
+
send_earchive(invoice_id="12345", confirm=true) # Still preview
|
|
156
|
+
send_earchive(invoice_id="12345", confirm=true, i_understand_this_is_irreversible="YES") # SUBMITS TO GİB
|
|
157
|
+
</example>
|
|
158
|
+
|
|
159
|
+
<returns>
|
|
160
|
+
Without full confirmation: Preview of e-archive to be submitted.
|
|
161
|
+
With both confirmations: Submission confirmation with e_archive_id.
|
|
162
|
+
</returns>
|
|
163
|
+
|
|
164
|
+
<notes>
|
|
165
|
+
⚠️ WARNING: Once submitted to GİB, this CANNOT be reversed!
|
|
166
|
+
- Official tax document - mistakes require formal cancellation
|
|
167
|
+
- PDF will be available via invoice_pdf after submission
|
|
168
|
+
</notes>
|
|
169
|
+
`.trim(),
|
|
170
|
+
inputSchema: {
|
|
171
|
+
type: 'object',
|
|
172
|
+
properties: {
|
|
173
|
+
invoice_id: { type: 'string' },
|
|
174
|
+
internet_sale: {
|
|
175
|
+
type: 'object',
|
|
176
|
+
properties: {
|
|
177
|
+
url: { type: 'string' },
|
|
178
|
+
payment_type: {
|
|
179
|
+
type: 'string',
|
|
180
|
+
enum: ['KREDIKARTI/BANKAKARTI', 'EFT/HAVALE', 'KAPIDAODEME', 'ODEMEARACISI'],
|
|
181
|
+
description: 'Payment type. MUST be one of: KREDIKARTI/BANKAKARTI, EFT/HAVALE, KAPIDAODEME, ODEMEARACISI',
|
|
182
|
+
},
|
|
183
|
+
payment_platform: { type: 'string' },
|
|
184
|
+
payment_date: { type: 'string' },
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
confirm: { type: 'boolean', description: '🚨 First confirmation: Set to true' },
|
|
188
|
+
i_understand_this_is_irreversible: { type: 'string', description: '🚨 Second confirmation: Must be exactly "YES"' },
|
|
189
|
+
},
|
|
190
|
+
required: ['invoice_id'],
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
name: 'send_esmm',
|
|
195
|
+
description: `
|
|
196
|
+
<usecase>
|
|
197
|
+
🚨🚨🚨 IRREVERSIBLE OPERATION - SUBMITS TO GİB (TAX AUTHORITY) 🚨🚨🚨
|
|
198
|
+
Send an invoice as e-SMM (e-Serbest Meslek Makbuzu / Freelancer Receipt).
|
|
199
|
+
Use when: Issuing a freelancer/professional service receipt.
|
|
200
|
+
Do NOT use when: Your business is not registered for e-SMM, or it's a standard invoice.
|
|
201
|
+
</usecase>
|
|
202
|
+
|
|
203
|
+
<instructions>
|
|
204
|
+
⛔ DOUBLE CONFIRMATION REQUIRED - THIS CANNOT BE UNDONE:
|
|
205
|
+
1. First: Set confirm=true
|
|
206
|
+
2. Second: Set i_understand_this_is_irreversible="YES"
|
|
207
|
+
|
|
208
|
+
Without BOTH confirmations, returns preview only.
|
|
209
|
+
|
|
210
|
+
- invoice_id: The sales invoice ID to convert to e-SMM
|
|
211
|
+
</instructions>
|
|
212
|
+
|
|
213
|
+
<example>
|
|
214
|
+
send_esmm(invoice_id="12345") # Preview only
|
|
215
|
+
send_esmm(invoice_id="12345", confirm=true) # Still preview
|
|
216
|
+
send_esmm(invoice_id="12345", confirm=true, i_understand_this_is_irreversible="YES") # SUBMITS TO GİB
|
|
217
|
+
</example>
|
|
218
|
+
|
|
219
|
+
<returns>
|
|
220
|
+
Without full confirmation: Preview of e-SMM to be submitted.
|
|
221
|
+
With both confirmations: Submission confirmation with e_smm_id.
|
|
222
|
+
</returns>
|
|
223
|
+
|
|
224
|
+
<notes>
|
|
225
|
+
⚠️ WARNING: Once submitted to GİB, this CANNOT be reversed!
|
|
226
|
+
- Your account must be registered for e-SMM
|
|
227
|
+
- Official tax document - mistakes require formal cancellation
|
|
228
|
+
</notes>
|
|
229
|
+
`.trim(),
|
|
230
|
+
inputSchema: {
|
|
231
|
+
type: 'object',
|
|
232
|
+
properties: {
|
|
233
|
+
invoice_id: { type: 'string' },
|
|
234
|
+
note: { type: 'string' },
|
|
235
|
+
confirm: { type: 'boolean', description: '🚨 First confirmation: Set to true' },
|
|
236
|
+
i_understand_this_is_irreversible: { type: 'string', description: '🚨 Second confirmation: Must be exactly "YES"' },
|
|
237
|
+
},
|
|
238
|
+
required: ['invoice_id'],
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
];
|
|
242
|
+
// ============================================================================
|
|
243
|
+
// Handlers
|
|
244
|
+
// ============================================================================
|
|
245
|
+
export async function handleCheckEInvoiceInbox(args) {
|
|
246
|
+
try {
|
|
247
|
+
const params = CheckEInvoiceInboxSchema.parse(args);
|
|
248
|
+
const client = getClient();
|
|
249
|
+
const response = await client.eInvoiceInboxes.list({
|
|
250
|
+
filter: { vkn: params.tax_number },
|
|
251
|
+
});
|
|
252
|
+
const inboxes = response.data;
|
|
253
|
+
if (inboxes.length === 0) {
|
|
254
|
+
return formatSuccess({
|
|
255
|
+
tax_number: params.tax_number,
|
|
256
|
+
registered: false,
|
|
257
|
+
inboxes: [],
|
|
258
|
+
}, {
|
|
259
|
+
summary: `Tax number ${params.tax_number} is NOT registered for e-invoice`,
|
|
260
|
+
nextSteps: [
|
|
261
|
+
{ action: 'Send as e-archive instead', example: `send_earchive(invoice_id="<id>")` },
|
|
262
|
+
],
|
|
263
|
+
notes: [
|
|
264
|
+
'This contact cannot receive e-invoices',
|
|
265
|
+
'Use e-archive (e-arşiv) for non-registered contacts',
|
|
266
|
+
],
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
return formatSuccess({
|
|
270
|
+
tax_number: params.tax_number,
|
|
271
|
+
registered: true,
|
|
272
|
+
inboxes: inboxes.map((inbox) => ({
|
|
273
|
+
alias: inbox.attributes.e_invoice_address,
|
|
274
|
+
name: inbox.attributes.name,
|
|
275
|
+
inbox_type: inbox.attributes.inbox_type,
|
|
276
|
+
})),
|
|
277
|
+
}, {
|
|
278
|
+
summary: `Tax number ${params.tax_number} IS registered for e-invoice`,
|
|
279
|
+
nextSteps: [
|
|
280
|
+
{ action: 'Send e-invoice', example: `send_einvoice(invoice_id="<id>")` },
|
|
281
|
+
],
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
return handleError(error, { operation: 'Check e-invoice inbox' });
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
export async function handleSendEInvoice(args) {
|
|
289
|
+
try {
|
|
290
|
+
const params = SendEInvoiceSchema.parse(args);
|
|
291
|
+
const client = getClient();
|
|
292
|
+
// DOUBLE CONFIRMATION CHECK - e-documents are IRREVERSIBLE
|
|
293
|
+
const hasFirstConfirmation = params.confirm === true;
|
|
294
|
+
const hasSecondConfirmation = params.i_understand_this_is_irreversible === 'YES';
|
|
295
|
+
if (!hasFirstConfirmation || !hasSecondConfirmation) {
|
|
296
|
+
// Get invoice info for preview
|
|
297
|
+
const invoice = await client.salesInvoices.get(params.invoice_id, {
|
|
298
|
+
include: ['contact'],
|
|
299
|
+
});
|
|
300
|
+
if (!invoice.data) {
|
|
301
|
+
return formatNotFound('Invoice', params.invoice_id, [
|
|
302
|
+
{ action: 'Search invoices', example: 'search_invoices()' },
|
|
303
|
+
]);
|
|
304
|
+
}
|
|
305
|
+
const attr = invoice.data.attributes;
|
|
306
|
+
const missingConfirmations = [];
|
|
307
|
+
if (!hasFirstConfirmation)
|
|
308
|
+
missingConfirmations.push('confirm=true');
|
|
309
|
+
if (!hasSecondConfirmation)
|
|
310
|
+
missingConfirmations.push('i_understand_this_is_irreversible="YES"');
|
|
311
|
+
return formatSuccess({
|
|
312
|
+
preview: true,
|
|
313
|
+
e_invoice_to_submit: {
|
|
314
|
+
invoice_id: params.invoice_id,
|
|
315
|
+
invoice_no: attr.invoice_no,
|
|
316
|
+
net_total: attr.net_total,
|
|
317
|
+
currency: attr.currency,
|
|
318
|
+
scenario: params.scenario,
|
|
319
|
+
},
|
|
320
|
+
missing_confirmations: missingConfirmations,
|
|
321
|
+
warning: '🚨🚨🚨 THIS IS AN IRREVERSIBLE OPERATION! 🚨🚨🚨',
|
|
322
|
+
danger: 'Once submitted to GİB (Turkey Tax Authority), this e-invoice CANNOT be undone. Mistakes require a formal cancellation process with the tax authority.',
|
|
323
|
+
}, {
|
|
324
|
+
summary: `⚠️ Preview: e-Invoice for #${attr.invoice_no} (${attr.net_total} ${attr.currency})`,
|
|
325
|
+
nextSteps: [
|
|
326
|
+
{ action: '⛔ Submit to GİB (IRREVERSIBLE)', example: `send_einvoice(invoice_id="${params.invoice_id}", confirm=true, i_understand_this_is_irreversible="YES")` },
|
|
327
|
+
],
|
|
328
|
+
notes: [
|
|
329
|
+
'🚨 BOTH confirmations required: confirm=true AND i_understand_this_is_irreversible="YES"',
|
|
330
|
+
'⚠️ This will create an official tax document with GİB',
|
|
331
|
+
],
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
const result = await client.eInvoices.submitAndWait({
|
|
335
|
+
data: {
|
|
336
|
+
type: 'e_invoices',
|
|
337
|
+
attributes: {
|
|
338
|
+
scenario: params.scenario,
|
|
339
|
+
...(params.note !== undefined && { note: params.note }),
|
|
340
|
+
},
|
|
341
|
+
relationships: {
|
|
342
|
+
sales_invoice: {
|
|
343
|
+
data: { id: params.invoice_id, type: 'sales_invoices' },
|
|
344
|
+
},
|
|
345
|
+
},
|
|
346
|
+
},
|
|
347
|
+
});
|
|
348
|
+
return formatSuccess({
|
|
349
|
+
e_invoice_id: result.data?.id,
|
|
350
|
+
invoice_id: params.invoice_id,
|
|
351
|
+
status: 'submitted',
|
|
352
|
+
}, {
|
|
353
|
+
summary: '✅ e-Invoice submitted to GİB successfully',
|
|
354
|
+
nextSteps: [
|
|
355
|
+
{ action: 'Check invoice status', example: `get_invoice(id="${params.invoice_id}")` },
|
|
356
|
+
],
|
|
357
|
+
notes: [
|
|
358
|
+
'The e-invoice has been queued for processing by GİB',
|
|
359
|
+
'Final status will be updated when GİB processes the document',
|
|
360
|
+
],
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
return handleError(error, { operation: 'Send e-invoice' });
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
export async function handleSendEArchive(args) {
|
|
368
|
+
try {
|
|
369
|
+
const params = SendEArchiveSchema.parse(args);
|
|
370
|
+
const client = getClient();
|
|
371
|
+
// DOUBLE CONFIRMATION CHECK - e-documents are IRREVERSIBLE
|
|
372
|
+
const hasFirstConfirmation = params.confirm === true;
|
|
373
|
+
const hasSecondConfirmation = params.i_understand_this_is_irreversible === 'YES';
|
|
374
|
+
if (!hasFirstConfirmation || !hasSecondConfirmation) {
|
|
375
|
+
// Get invoice info for preview
|
|
376
|
+
const invoice = await client.salesInvoices.get(params.invoice_id, {
|
|
377
|
+
include: ['contact'],
|
|
378
|
+
});
|
|
379
|
+
if (!invoice.data) {
|
|
380
|
+
return formatNotFound('Invoice', params.invoice_id, [
|
|
381
|
+
{ action: 'Search invoices', example: 'search_invoices()' },
|
|
382
|
+
]);
|
|
383
|
+
}
|
|
384
|
+
const attr = invoice.data.attributes;
|
|
385
|
+
const missingConfirmations = [];
|
|
386
|
+
if (!hasFirstConfirmation)
|
|
387
|
+
missingConfirmations.push('confirm=true');
|
|
388
|
+
if (!hasSecondConfirmation)
|
|
389
|
+
missingConfirmations.push('i_understand_this_is_irreversible="YES"');
|
|
390
|
+
return formatSuccess({
|
|
391
|
+
preview: true,
|
|
392
|
+
e_archive_to_submit: {
|
|
393
|
+
invoice_id: params.invoice_id,
|
|
394
|
+
invoice_no: attr.invoice_no,
|
|
395
|
+
net_total: attr.net_total,
|
|
396
|
+
currency: attr.currency,
|
|
397
|
+
internet_sale: params.internet_sale ?? null,
|
|
398
|
+
},
|
|
399
|
+
missing_confirmations: missingConfirmations,
|
|
400
|
+
warning: '🚨🚨🚨 THIS IS AN IRREVERSIBLE OPERATION! 🚨🚨🚨',
|
|
401
|
+
danger: 'Once submitted to GİB (Turkey Tax Authority), this e-archive CANNOT be undone. Mistakes require a formal cancellation process with the tax authority.',
|
|
402
|
+
}, {
|
|
403
|
+
summary: `⚠️ Preview: e-Archive for #${attr.invoice_no} (${attr.net_total} ${attr.currency})`,
|
|
404
|
+
nextSteps: [
|
|
405
|
+
{ action: '⛔ Submit to GİB (IRREVERSIBLE)', example: `send_earchive(invoice_id="${params.invoice_id}", confirm=true, i_understand_this_is_irreversible="YES")` },
|
|
406
|
+
],
|
|
407
|
+
notes: [
|
|
408
|
+
'🚨 BOTH confirmations required: confirm=true AND i_understand_this_is_irreversible="YES"',
|
|
409
|
+
'⚠️ This will create an official tax document with GİB',
|
|
410
|
+
],
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
const attributes = {};
|
|
414
|
+
if (params.internet_sale) {
|
|
415
|
+
attributes['internet_sale'] = params.internet_sale;
|
|
416
|
+
}
|
|
417
|
+
const result = await client.eArchives.submitAndWait({
|
|
418
|
+
data: {
|
|
419
|
+
type: 'e_archives',
|
|
420
|
+
attributes,
|
|
421
|
+
relationships: {
|
|
422
|
+
sales_invoice: {
|
|
423
|
+
data: { id: params.invoice_id, type: 'sales_invoices' },
|
|
424
|
+
},
|
|
425
|
+
},
|
|
426
|
+
},
|
|
427
|
+
});
|
|
428
|
+
return formatSuccess({
|
|
429
|
+
e_archive_id: result.data?.id,
|
|
430
|
+
invoice_id: params.invoice_id,
|
|
431
|
+
status: 'submitted',
|
|
432
|
+
}, {
|
|
433
|
+
summary: '✅ e-Archive submitted to GİB successfully',
|
|
434
|
+
nextSteps: [
|
|
435
|
+
{ action: 'Check invoice status', example: `get_invoice(id="${params.invoice_id}")` },
|
|
436
|
+
{ action: 'Get PDF', example: `invoice_pdf(id="${params.invoice_id}")` },
|
|
437
|
+
],
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
catch (error) {
|
|
441
|
+
return handleError(error, { operation: 'Send e-archive' });
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
export async function handleSendESmm(args) {
|
|
445
|
+
try {
|
|
446
|
+
const params = SendESmmSchema.parse(args);
|
|
447
|
+
const client = getClient();
|
|
448
|
+
// DOUBLE CONFIRMATION CHECK - e-documents are IRREVERSIBLE
|
|
449
|
+
const hasFirstConfirmation = params.confirm === true;
|
|
450
|
+
const hasSecondConfirmation = params.i_understand_this_is_irreversible === 'YES';
|
|
451
|
+
if (!hasFirstConfirmation || !hasSecondConfirmation) {
|
|
452
|
+
// Get invoice info for preview
|
|
453
|
+
const invoice = await client.salesInvoices.get(params.invoice_id, {
|
|
454
|
+
include: ['contact'],
|
|
455
|
+
});
|
|
456
|
+
if (!invoice.data) {
|
|
457
|
+
return formatNotFound('Invoice', params.invoice_id, [
|
|
458
|
+
{ action: 'Search invoices', example: 'search_invoices()' },
|
|
459
|
+
]);
|
|
460
|
+
}
|
|
461
|
+
const attr = invoice.data.attributes;
|
|
462
|
+
const missingConfirmations = [];
|
|
463
|
+
if (!hasFirstConfirmation)
|
|
464
|
+
missingConfirmations.push('confirm=true');
|
|
465
|
+
if (!hasSecondConfirmation)
|
|
466
|
+
missingConfirmations.push('i_understand_this_is_irreversible="YES"');
|
|
467
|
+
return formatSuccess({
|
|
468
|
+
preview: true,
|
|
469
|
+
e_smm_to_submit: {
|
|
470
|
+
invoice_id: params.invoice_id,
|
|
471
|
+
invoice_no: attr.invoice_no,
|
|
472
|
+
net_total: attr.net_total,
|
|
473
|
+
currency: attr.currency,
|
|
474
|
+
},
|
|
475
|
+
missing_confirmations: missingConfirmations,
|
|
476
|
+
warning: '🚨🚨🚨 THIS IS AN IRREVERSIBLE OPERATION! 🚨🚨🚨',
|
|
477
|
+
danger: 'Once submitted to GİB (Turkey Tax Authority), this e-SMM CANNOT be undone. Mistakes require a formal cancellation process with the tax authority.',
|
|
478
|
+
}, {
|
|
479
|
+
summary: `⚠️ Preview: e-SMM for #${attr.invoice_no} (${attr.net_total} ${attr.currency})`,
|
|
480
|
+
nextSteps: [
|
|
481
|
+
{ action: '⛔ Submit to GİB (IRREVERSIBLE)', example: `send_esmm(invoice_id="${params.invoice_id}", confirm=true, i_understand_this_is_irreversible="YES")` },
|
|
482
|
+
],
|
|
483
|
+
notes: [
|
|
484
|
+
'🚨 BOTH confirmations required: confirm=true AND i_understand_this_is_irreversible="YES"',
|
|
485
|
+
'⚠️ This will create an official tax document with GİB',
|
|
486
|
+
],
|
|
487
|
+
});
|
|
488
|
+
}
|
|
489
|
+
const result = await client.eSmms.submitAndWait({
|
|
490
|
+
data: {
|
|
491
|
+
type: 'e_smms',
|
|
492
|
+
attributes: {
|
|
493
|
+
...(params.note !== undefined && { note: params.note }),
|
|
494
|
+
},
|
|
495
|
+
relationships: {
|
|
496
|
+
sales_invoice: {
|
|
497
|
+
data: { id: params.invoice_id, type: 'sales_invoices' },
|
|
498
|
+
},
|
|
499
|
+
},
|
|
500
|
+
},
|
|
501
|
+
});
|
|
502
|
+
return formatSuccess({
|
|
503
|
+
e_smm_id: result.data?.id,
|
|
504
|
+
invoice_id: params.invoice_id,
|
|
505
|
+
status: 'submitted',
|
|
506
|
+
}, {
|
|
507
|
+
summary: '✅ e-SMM submitted to GİB successfully',
|
|
508
|
+
});
|
|
509
|
+
}
|
|
510
|
+
catch (error) {
|
|
511
|
+
return handleError(error, { operation: 'Send e-SMM' });
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
//# sourceMappingURL=edocuments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edocuments.js","sourceRoot":"","sources":["../../src/tools/edocuments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Financial Tools
|
|
3
|
+
*
|
|
4
|
+
* Tools for accounts, transactions, and financial overview.
|
|
5
|
+
*/
|
|
6
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import { type ToolResponse } from '../utils/response.js';
|
|
8
|
+
export declare const financialTools: Tool[];
|
|
9
|
+
export declare function handleListAccounts(args: unknown): Promise<ToolResponse>;
|
|
10
|
+
export declare function handleSearchTransactions(args: unknown): Promise<ToolResponse>;
|
|
11
|
+
export declare function handleCreateBankFee(args: unknown): Promise<ToolResponse>;
|
|
12
|
+
export declare function handleGetFinancialSummary(_args: unknown): Promise<ToolResponse>;
|
|
13
|
+
//# sourceMappingURL=financial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"financial.d.ts","sourceRoot":"","sources":["../../src/tools/financial.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,EAA4C,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAgCnG,eAAO,MAAM,cAAc,EAAE,IAAI,EAuHhC,CAAC;AAMF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAgC7E;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAsBnF;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAwD9E;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CA8DrF"}
|