storno-cli 1.0.11 → 1.0.12

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/TOOLS.md CHANGED
@@ -914,6 +914,79 @@ Get detailed information about a specific product by UUID, including usage stati
914
914
  | `uuid` | string | Yes | Product UUID |
915
915
  | `companyId` | string | No | Company UUID override (uses active company if not set) |
916
916
 
917
+ ### `products_update`
918
+
919
+ Update an existing product by UUID. All fields are optional — only provided fields are changed. Useful for assigning product codes (so sales can be grouped per plan/SKU), fixing names, or adjusting default prices on sync-created products. Pass code=null to clear a code.
920
+
921
+ **Parameters:**
922
+
923
+ | Name | Type | Required | Description |
924
+ |------|------|----------|-------------|
925
+ | `uuid` | string | Yes | Product UUID to update |
926
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
927
+ | `name` | string | No | Product name |
928
+ | `code` | nullable string | No | Product code / SKU. Pass null to clear the existing code. |
929
+ | `description` | nullable string | No | Product description |
930
+ | `unitOfMeasure` | string | No | Unit of measure code (e.g. "buc", "ore", "kg") |
931
+ | `defaultPrice` | number | No | Default unit price |
932
+ | `currency` | string | No | ISO 4217 currency code |
933
+ | `vatRate` | number | No | VAT rate percentage (e.g. 19 for 19%) |
934
+ | `vatCategoryCode` | string | No | VAT category code (e.g. "S", "Z", "E") |
935
+ | `ncCode` | nullable string | No | NC (Nomenclatura Combinata) code |
936
+ | `cpvCode` | nullable string | No | CPV code for public procurement |
937
+ | `color` | nullable string | No | Optional hex colour swatch shown on the POS product grid (e.g. "#1e40af"). Six-digit hex with or without leading "#"; pass null to clear. |
938
+ | `categoryId` | nullable string | No | UUID of a product_category for POS grid grouping; pass null to clear. |
939
+ | `sgrAmount` | nullable number | No | Romanian SGR (Sistem Garantie-Returnare) deposit per unit, e.g. 0.50. Null clears. The POS auto-injects a single VAT-exempt deposit line summing all SGR product quantities. |
940
+ | `isActive` | boolean | No | Whether the product is active |
941
+
942
+ ### `product_categories_list`
943
+
944
+ List all product categories for the active company, ordered by sortOrder then name. Categories appear as a chip strip above the POS product grid and double as fallback colour swatches for products that don't have their own colour.
945
+
946
+ **Parameters:**
947
+
948
+ | Name | Type | Required | Description |
949
+ |------|------|----------|-------------|
950
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
951
+
952
+ ### `product_categories_create`
953
+
954
+ Create a new POS product category. Categories are scoped to a single company.
955
+
956
+ **Parameters:**
957
+
958
+ | Name | Type | Required | Description |
959
+ |------|------|----------|-------------|
960
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
961
+ | `name` | string | Yes | Display name, 1–100 characters |
962
+ | `color` | nullable string | No | Optional hex colour ("#RRGGBB" or "RRGGBB"); invalid values are silently dropped |
963
+ | `sortOrder` | number | No | Sort order in the chip strip (smaller = earlier; default 0) |
964
+
965
+ ### `product_categories_update`
966
+
967
+ Update a product category. All fields optional; omitted fields stay unchanged. Pass color=null to clear the swatch.
968
+
969
+ **Parameters:**
970
+
971
+ | Name | Type | Required | Description |
972
+ |------|------|----------|-------------|
973
+ | `uuid` | string | Yes | Category UUID to update |
974
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
975
+ | `name` | string | No | Display name, 1–100 characters |
976
+ | `color` | nullable string | No | Hex colour swatch; null to clear |
977
+ | `sortOrder` | number | No | Sort order in the chip strip |
978
+
979
+ ### `product_categories_delete`
980
+
981
+ Delete a product category. Products that were in the category lose the assignment (categoryId is set to null) but are not deleted.
982
+
983
+ **Parameters:**
984
+
985
+ | Name | Type | Required | Description |
986
+ |------|------|----------|-------------|
987
+ | `uuid` | string | Yes | Category UUID to delete |
988
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
989
+
917
990
  ---
918
991
 
919
992
  ## Payments
@@ -1050,21 +1123,24 @@ List all bank accounts configured for the active company. Returns IBAN, bank nam
1050
1123
 
1051
1124
  ### `bank_accounts_create`
1052
1125
 
1053
- Add a new bank account to the active company. IBAN must be in valid format and unique within the company. If isDefault is true, any existing default account for that currency is demoted. The first account for a currency automatically becomes the default.
1126
+ Add a new bank account to the active company. For type=bank, IBAN is required and must be unique within the company. For type=cash (the till that backs POS / cash-register reports), IBAN is optional and openingBalance/openingBalanceDate enable cash-register tracking. A company can have at most one cash account. If isDefault is true, any existing default account for that currency is demoted.
1054
1127
 
1055
1128
  **Parameters:**
1056
1129
 
1057
1130
  | Name | Type | Required | Description |
1058
1131
  |------|------|----------|-------------|
1059
1132
  | `companyId` | string | No | Company UUID override (uses active company if not set) |
1060
- | `iban` | string | Yes | International Bank Account Number in valid IBAN format (e.g., "RO49AAAA1B31007593840000") |
1133
+ | `type` | enum(bank, cash) | No | Account type. "bank" (default) for IBAN-backed accounts; "cash" for the physical till that backs POS / cash-register reports. |
1134
+ | `iban` | string | Conditional | International Bank Account Number. Required for type=bank, optional for type=cash. |
1061
1135
  | `bankName` | string | No | Name of the bank (e.g., "BCR", "Banca Transilvania", "ING Bank") |
1062
1136
  | `currency` | string | No | Currency code ISO 4217 (default: "RON"). Use "EUR" for Euro accounts. |
1063
1137
  | `isDefault` | boolean | No | Set as default account for this currency (default: false) |
1138
+ | `openingBalance` | number | No | Initial cash-on-hand. Required to enable cash-register reporting on cash accounts. Once set, locks and can only be modified via forward-going cash movements. Must be >= 0. |
1139
+ | `openingBalanceDate` | string | No | Date the opening balance was taken (YYYY-MM-DD). Required when openingBalance is supplied. |
1064
1140
 
1065
1141
  ### `bank_accounts_update`
1066
1142
 
1067
- Update an existing bank account. Can update IBAN, bank name, currency, or default status. If setting isDefault to true, any existing default for that currency is demoted. At least one field must be provided.
1143
+ Update an existing bank account. Can update type, IBAN, bank name, currency, default status, or initial opening balance. Once openingBalance has been persisted with a value > 0 it locks — further changes are rejected and corrections must be made via cash movements. At least one field must be provided.
1068
1144
 
1069
1145
  **Parameters:**
1070
1146
 
@@ -1072,10 +1148,13 @@ Update an existing bank account. Can update IBAN, bank name, currency, or defaul
1072
1148
  |------|------|----------|-------------|
1073
1149
  | `uuid` | string | Yes | Bank account UUID to update |
1074
1150
  | `companyId` | string | No | Company UUID override (uses active company if not set) |
1075
- | `iban` | string | No | New IBAN (must be valid and unique within company) |
1151
+ | `type` | enum(bank, cash) | No | Account type. Switching after creation is allowed but should be avoided once movements exist. |
1152
+ | `iban` | nullable string | No | New IBAN (must be valid and unique within company). Pass null to clear (only valid for cash accounts). |
1076
1153
  | `bankName` | nullable string | No | Bank name (pass null to clear) |
1077
1154
  | `currency` | string | No | Currency code ISO 4217 |
1078
1155
  | `isDefault` | boolean | No | Set as default account for this currency |
1156
+ | `openingBalance` | number | No | Initial cash-on-hand. Locks once set; correct via cash movements thereafter. |
1157
+ | `openingBalanceDate` | string | No | Date the opening balance was taken (YYYY-MM-DD). Required when openingBalance is being set for the first time. |
1079
1158
 
1080
1159
  ### `bank_accounts_delete`
1081
1160
 
@@ -1090,6 +1169,88 @@ Permanently delete a bank account. Cannot delete the last bank account for a com
1090
1169
 
1091
1170
  ---
1092
1171
 
1172
+ ## Cash Register
1173
+
1174
+ ### `cash_register_balance`
1175
+
1176
+ Live snapshot of the till — opening balance, cash in/out since opening, manual movements, and current balance. Returns `{ configured: false }` if no cash-type bank account exists or its opening balance is not set.
1177
+
1178
+ **Parameters:**
1179
+
1180
+ | Name | Type | Required | Description |
1181
+ |------|------|----------|-------------|
1182
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
1183
+
1184
+ ### `cash_register_ledger`
1185
+
1186
+ Daily cash ledger across the requested date range. Each day bucket includes opening balance, chronological entries (receipts, cash payments, manual movements), totals, and closing balance. Range capped at 366 days.
1187
+
1188
+ **Parameters:**
1189
+
1190
+ | Name | Type | Required | Description |
1191
+ |------|------|----------|-------------|
1192
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
1193
+ | `from` | string | No | Start date YYYY-MM-DD (defaults to the cash account opening date or 30 days ago) |
1194
+ | `to` | string | No | End date YYYY-MM-DD (defaults to today) |
1195
+
1196
+ ### `cash_register_movements_list`
1197
+
1198
+ List manual cash movements (deposits, withdrawals, miscellaneous) in a date range. Receipts and invoice payments are NOT returned here — use `cash_register_ledger` for the full picture.
1199
+
1200
+ **Parameters:**
1201
+
1202
+ | Name | Type | Required | Description |
1203
+ |------|------|----------|-------------|
1204
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
1205
+ | `from` | string | No | Start date YYYY-MM-DD |
1206
+ | `to` | string | No | End date YYYY-MM-DD |
1207
+
1208
+ ### `cash_register_movements_create`
1209
+
1210
+ Record a manual cash movement (deposit, withdrawal, or miscellaneous). Direction is auto-set for deposits (out) and withdrawals (in); for kind=other, direction must be supplied. movementDate cannot be earlier than the cash account opening date.
1211
+
1212
+ **Parameters:**
1213
+
1214
+ | Name | Type | Required | Description |
1215
+ |------|------|----------|-------------|
1216
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
1217
+ | `kind` | enum(deposit, withdrawal, other) | Yes | deposit (cash leaves the till), withdrawal (cash put into the till), or other (miscellaneous; direction required) |
1218
+ | `direction` | enum(in, out) | Conditional | Required only when kind=other; ignored otherwise |
1219
+ | `amount` | number | Yes | Positive amount, >= 0.01 |
1220
+ | `movementDate` | string | Yes | YYYY-MM-DD. Cannot be earlier than the cash account opening date. |
1221
+ | `description` | string | No | Free-form note shown in the ledger |
1222
+ | `documentNumber` | string | No | Reference number (e.g., bank slip / expense receipt) |
1223
+
1224
+ ### `cash_register_movements_update`
1225
+
1226
+ Update a manual cash movement. All fields optional; omitted fields keep their current value. Currency cannot be changed. Changing `kind` between deposit/withdrawal re-applies auto-direction.
1227
+
1228
+ **Parameters:**
1229
+
1230
+ | Name | Type | Required | Description |
1231
+ |------|------|----------|-------------|
1232
+ | `uuid` | string | Yes | Movement UUID |
1233
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
1234
+ | `kind` | enum(deposit, withdrawal, other) | No | |
1235
+ | `direction` | enum(in, out) | No | |
1236
+ | `amount` | number | No | |
1237
+ | `movementDate` | string | No | YYYY-MM-DD |
1238
+ | `description` | nullable string | No | Pass null to clear |
1239
+ | `documentNumber` | nullable string | No | Pass null to clear |
1240
+
1241
+ ### `cash_register_movements_delete`
1242
+
1243
+ Permanently delete a manual cash movement. Receipts and invoice payments cannot be deleted via this endpoint — use their respective resources.
1244
+
1245
+ **Parameters:**
1246
+
1247
+ | Name | Type | Required | Description |
1248
+ |------|------|----------|-------------|
1249
+ | `uuid` | string | Yes | Movement UUID |
1250
+ | `companyId` | string | No | Company UUID override (uses active company if not set) |
1251
+
1252
+ ---
1253
+
1093
1254
  ## Document Series
1094
1255
 
1095
1256
  ### `document_series_list`
@@ -1964,6 +2125,18 @@ Convert an issued receipt into a final invoice. Creates a new invoice with all r
1964
2125
  | `issueDate` | string | No | Override issue date for the new invoice (default: today, YYYY-MM-DD) |
1965
2126
  | `dueDate` | string | No | Due date for the new invoice (YYYY-MM-DD) |
1966
2127
 
2128
+ ### `receipts_refund`
2129
+
2130
+ Issue a refund (counter-)receipt that mirrors the parent receipt with negative quantities and inverted payment amounts. The refund is auto-issued, linked back via `refundOf`, and inherits the parent receipt series. Parent must be issued and not itself a refund. Omit `lineSelections` for a full refund of the whole receipt; pass it to refund only specific lines (with possibly partial quantities). Multiple partial refunds against the same parent are allowed until the original quantities are exhausted.
2131
+
2132
+ **Parameters:**
2133
+
2134
+ | Name | Type | Required | Description |
2135
+ |------|------|----------|-------------|
2136
+ | `uuid` | string | Yes | UUID of the parent issued receipt to refund |
2137
+ | `companyId` | string | No | Company UUID (overrides configured default) |
2138
+ | `lineSelections` | array of `{ sourceLineId: string, quantity: string\|number }` | No | When provided, only the listed lines are refunded with the given (partial) quantities. When omitted, the entire receipt is refunded. |
2139
+
1967
2140
  ### `receipts_pdf`
1968
2141
 
1969
2142
  Download the PDF for a receipt (bon fiscal). Returns base64-encoded PDF binary data. The receipt must be in issued or invoiced status.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyGpE,+DAA+D;AAC/D,wBAAgB,eAAe,IAAI,SAAS,CAsC3C;AAED,oEAAoE;AACpE,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAe/C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6GpE,+DAA+D;AAC/D,wBAAgB,eAAe,IAAI,SAAS,CAsC3C;AAED,oEAAoE;AACpE,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAe/C"}
package/dist/server.js CHANGED
@@ -14,10 +14,12 @@ import { tools as companiesTools } from './tools/companies.js';
14
14
  import { tools as invoicesTools } from './tools/invoices.js';
15
15
  import { tools as clientsTools } from './tools/clients.js';
16
16
  import { tools as productsTools } from './tools/products.js';
17
+ import { tools as productCategoriesTools } from './tools/product-categories.js';
17
18
  import { tools as paymentsTools } from './tools/payments.js';
18
19
  import { tools as defaultsTools } from './tools/defaults.js';
19
20
  import { tools as vatRatesTools } from './tools/vat-rates.js';
20
21
  import { tools as bankAccountsTools } from './tools/bank-accounts.js';
22
+ import { tools as cashRegisterTools } from './tools/cash-register.js';
21
23
  import { tools as documentSeriesTools } from './tools/document-series.js';
22
24
  import { tools as proformaInvoicesTools } from './tools/proforma-invoices.js';
23
25
  import { tools as recurringInvoicesTools } from './tools/recurring-invoices.js';
@@ -58,10 +60,12 @@ const allTools = [
58
60
  ...invoicesTools,
59
61
  ...clientsTools,
60
62
  ...productsTools,
63
+ ...productCategoriesTools,
61
64
  ...paymentsTools,
62
65
  ...defaultsTools,
63
66
  ...vatRatesTools,
64
67
  ...bankAccountsTools,
68
+ ...cashRegisterTools,
65
69
  ...documentSeriesTools,
66
70
  ...proformaInvoicesTools,
67
71
  ...recurringInvoicesTools,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bank-accounts.d.ts","sourceRoot":"","sources":["../../src/tools/bank-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,KAAK;;;;;;;;;;sBAWU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;GAgIpE,CAAC"}
1
+ {"version":3,"file":"bank-accounts.d.ts","sourceRoot":"","sources":["../../src/tools/bank-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,KAAK;;;;;;;;;;sBAWU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;GA6JpE,CAAC"}
@@ -27,15 +27,20 @@ export const tools = [
27
27
  },
28
28
  {
29
29
  name: 'bank_accounts_create',
30
- description: 'Add a new bank account to the active company. IBAN must be in valid format and unique within the company. If isDefault is true, any existing default account for that currency is demoted. The first account for a currency automatically becomes the default.',
30
+ description: 'Add a new bank account to the active company. For type=bank, IBAN is required and must be unique within the company. For type=cash (the till that backs POS / cash-register reports), IBAN is optional and openingBalance/openingBalanceDate enable cash-register tracking. A company can have at most one cash account. If isDefault is true, any existing default account for that currency is demoted.',
31
31
  inputSchema: z.object({
32
32
  companyId: z
33
33
  .string()
34
34
  .optional()
35
35
  .describe('Company UUID override (uses active company if not set)'),
36
+ type: z
37
+ .enum(['bank', 'cash'])
38
+ .optional()
39
+ .describe('Account type. "bank" (default) for IBAN-backed accounts; "cash" for the physical till that backs POS / cash-register reports.'),
36
40
  iban: z
37
41
  .string()
38
- .describe('International Bank Account Number in valid IBAN format (e.g., "RO49AAAA1B31007593840000")'),
42
+ .optional()
43
+ .describe('International Bank Account Number in valid IBAN format (e.g., "RO49AAAA1B31007593840000"). Required for type=bank, optional for type=cash.'),
39
44
  bankName: z
40
45
  .string()
41
46
  .optional()
@@ -48,6 +53,14 @@ export const tools = [
48
53
  .boolean()
49
54
  .optional()
50
55
  .describe('Set as default account for this currency (default: false)'),
56
+ openingBalance: z
57
+ .number()
58
+ .optional()
59
+ .describe('Initial cash-on-hand. Required to enable cash-register reporting on cash accounts. Once set, locks and can only be modified via forward-going cash movements. Must be >= 0.'),
60
+ openingBalanceDate: z
61
+ .string()
62
+ .optional()
63
+ .describe('Date the opening balance was taken (YYYY-MM-DD). Required when openingBalance is supplied.'),
51
64
  }),
52
65
  handler: async (params) => {
53
66
  if (!getConfig().token)
@@ -57,7 +70,7 @@ export const tools = [
57
70
  return noCompanySelected();
58
71
  const { companyId: _cid, ...rest } = params;
59
72
  const body = {};
60
- const fields = ['iban', 'bankName', 'currency', 'isDefault'];
73
+ const fields = ['type', 'iban', 'bankName', 'currency', 'isDefault', 'openingBalance', 'openingBalanceDate'];
61
74
  for (const field of fields) {
62
75
  if (rest[field] !== undefined)
63
76
  body[field] = rest[field];
@@ -72,14 +85,22 @@ export const tools = [
72
85
  },
73
86
  {
74
87
  name: 'bank_accounts_update',
75
- description: 'Update an existing bank account. Can update IBAN, bank name, currency, or default status. If setting isDefault to true, any existing default for that currency is demoted. At least one field must be provided.',
88
+ description: 'Update an existing bank account. Can update type, IBAN, bank name, currency, default status, or initial opening balance. Once openingBalance has been persisted with a value > 0 it locks — further changes are rejected and corrections must be made via cash movements. At least one field must be provided.',
76
89
  inputSchema: z.object({
77
90
  uuid: z.string().describe('Bank account UUID to update'),
78
91
  companyId: z
79
92
  .string()
80
93
  .optional()
81
94
  .describe('Company UUID override (uses active company if not set)'),
82
- iban: z.string().optional().describe('New IBAN (must be valid and unique within company)'),
95
+ type: z
96
+ .enum(['bank', 'cash'])
97
+ .optional()
98
+ .describe('Account type. Switching after creation is allowed but should be avoided once movements exist.'),
99
+ iban: z
100
+ .string()
101
+ .nullable()
102
+ .optional()
103
+ .describe('New IBAN (must be valid and unique within company). Pass null to clear (only valid for cash accounts).'),
83
104
  bankName: z
84
105
  .string()
85
106
  .nullable()
@@ -90,6 +111,14 @@ export const tools = [
90
111
  .boolean()
91
112
  .optional()
92
113
  .describe('Set as default account for this currency'),
114
+ openingBalance: z
115
+ .number()
116
+ .optional()
117
+ .describe('Initial cash-on-hand. Locks once set; correct via cash movements thereafter.'),
118
+ openingBalanceDate: z
119
+ .string()
120
+ .optional()
121
+ .describe('Date the opening balance was taken (YYYY-MM-DD). Required when openingBalance is being set for the first time.'),
93
122
  }),
94
123
  handler: async (params) => {
95
124
  if (!getConfig().token)
@@ -99,7 +128,7 @@ export const tools = [
99
128
  return noCompanySelected();
100
129
  const { uuid, companyId: _cid, ...rest } = params;
101
130
  const body = {};
102
- const fields = ['iban', 'bankName', 'currency', 'isDefault'];
131
+ const fields = ['type', 'iban', 'bankName', 'currency', 'isDefault', 'openingBalance', 'openingBalanceDate'];
103
132
  for (const field of fields) {
104
133
  if (rest[field] !== undefined)
105
134
  body[field] = rest[field];
@@ -1 +1 @@
1
- {"version":3,"file":"bank-accounts.js","sourceRoot":"","sources":["../../src/tools/bank-accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bank-accounts.js","sourceRoot":"","sources":["../../src/tools/bank-accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ export declare const tools: {
3
+ name: string;
4
+ description: string;
5
+ inputSchema: z.ZodObject<{
6
+ companyId: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ companyId?: string | undefined;
9
+ }, {
10
+ companyId?: string | undefined;
11
+ }>;
12
+ handler: (params: Record<string, unknown>) => Promise<string>;
13
+ }[];
14
+ //# sourceMappingURL=cash-register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cash-register.d.ts","sourceRoot":"","sources":["../../src/tools/cash-register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,eAAO,MAAM,KAAK;;;;;;;;;;sBAWU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;GA0JpE,CAAC"}
@@ -0,0 +1,183 @@
1
+ import { z } from 'zod';
2
+ import { apiRequest } from '../client.js';
3
+ import { formatResponse, notAuthenticated, noCompanySelected } from '../utils/errors.js';
4
+ import { getConfig } from '../config.js';
5
+ function getCompanyId(params) {
6
+ return params.companyId || getConfig().companyId;
7
+ }
8
+ const dateRangeFields = {
9
+ from: z
10
+ .string()
11
+ .optional()
12
+ .describe('Start date YYYY-MM-DD (defaults to the cash account opening date or 30 days ago)'),
13
+ to: z
14
+ .string()
15
+ .optional()
16
+ .describe('End date YYYY-MM-DD (defaults to today)'),
17
+ };
18
+ export const tools = [
19
+ {
20
+ name: 'cash_register_balance',
21
+ description: 'Live snapshot of the till — opening balance, cash in/out since opening, manual movements, and current balance. Returns { configured: false } if no cash-type bank account exists or its opening balance is not set.',
22
+ inputSchema: z.object({
23
+ companyId: z
24
+ .string()
25
+ .optional()
26
+ .describe('Company UUID override (uses active company if not set)'),
27
+ }),
28
+ handler: async (params) => {
29
+ if (!getConfig().token)
30
+ return notAuthenticated();
31
+ const companyId = getCompanyId(params);
32
+ if (!companyId)
33
+ return noCompanySelected();
34
+ const result = await apiRequest('/api/v1/cash-register/balance', { companyId });
35
+ return formatResponse(result);
36
+ },
37
+ },
38
+ {
39
+ name: 'cash_register_ledger',
40
+ description: 'Daily cash ledger across the requested date range. Each day bucket includes opening balance, chronological entries (receipts, cash payments, manual movements), totals, and closing balance. Range capped at 366 days.',
41
+ inputSchema: z.object({
42
+ companyId: z
43
+ .string()
44
+ .optional()
45
+ .describe('Company UUID override (uses active company if not set)'),
46
+ ...dateRangeFields,
47
+ }),
48
+ handler: async (params) => {
49
+ if (!getConfig().token)
50
+ return notAuthenticated();
51
+ const companyId = getCompanyId(params);
52
+ if (!companyId)
53
+ return noCompanySelected();
54
+ const query = new URLSearchParams();
55
+ if (params.from)
56
+ query.set('from', String(params.from));
57
+ if (params.to)
58
+ query.set('to', String(params.to));
59
+ const qs = query.toString();
60
+ const result = await apiRequest(`/api/v1/cash-register/ledger${qs ? `?${qs}` : ''}`, { companyId });
61
+ return formatResponse(result);
62
+ },
63
+ },
64
+ {
65
+ name: 'cash_register_movements_list',
66
+ description: 'List manual cash movements (deposits, withdrawals, miscellaneous) in a date range. Receipts and invoice payments are NOT returned here — use cash_register_ledger for the full picture.',
67
+ inputSchema: z.object({
68
+ companyId: z
69
+ .string()
70
+ .optional()
71
+ .describe('Company UUID override (uses active company if not set)'),
72
+ ...dateRangeFields,
73
+ }),
74
+ handler: async (params) => {
75
+ if (!getConfig().token)
76
+ return notAuthenticated();
77
+ const companyId = getCompanyId(params);
78
+ if (!companyId)
79
+ return noCompanySelected();
80
+ const query = new URLSearchParams();
81
+ if (params.from)
82
+ query.set('from', String(params.from));
83
+ if (params.to)
84
+ query.set('to', String(params.to));
85
+ const qs = query.toString();
86
+ const result = await apiRequest(`/api/v1/cash-register/movements${qs ? `?${qs}` : ''}`, { companyId });
87
+ return formatResponse(result);
88
+ },
89
+ },
90
+ {
91
+ name: 'cash_register_movements_create',
92
+ description: 'Record a manual cash movement (deposit, withdrawal, or miscellaneous). Direction is auto-set for deposits (out) and withdrawals (in); for kind=other, direction must be supplied. movementDate cannot be earlier than the cash account opening date.',
93
+ inputSchema: z.object({
94
+ companyId: z
95
+ .string()
96
+ .optional()
97
+ .describe('Company UUID override (uses active company if not set)'),
98
+ kind: z
99
+ .enum(['deposit', 'withdrawal', 'other'])
100
+ .describe('deposit (cash leaves the till), withdrawal (cash put into the till), or other (miscellaneous; direction required)'),
101
+ direction: z
102
+ .enum(['in', 'out'])
103
+ .optional()
104
+ .describe('Cash flow direction. Required only when kind=other; ignored otherwise.'),
105
+ amount: z.number().describe('Positive amount, >= 0.01'),
106
+ movementDate: z
107
+ .string()
108
+ .describe('YYYY-MM-DD. Cannot be earlier than the cash account opening date.'),
109
+ description: z.string().optional().describe('Free-form note shown in the ledger'),
110
+ documentNumber: z.string().optional().describe('Reference number (e.g., bank slip / expense receipt)'),
111
+ }),
112
+ handler: async (params) => {
113
+ if (!getConfig().token)
114
+ return notAuthenticated();
115
+ const companyId = getCompanyId(params);
116
+ if (!companyId)
117
+ return noCompanySelected();
118
+ const { companyId: _cid, ...body } = params;
119
+ const result = await apiRequest('/api/v1/cash-register/movements', {
120
+ method: 'POST',
121
+ companyId,
122
+ body: body,
123
+ });
124
+ return formatResponse(result);
125
+ },
126
+ },
127
+ {
128
+ name: 'cash_register_movements_update',
129
+ description: 'Update a manual cash movement. All fields optional; omitted fields keep their current value. Currency cannot be changed. Changing kind between deposit/withdrawal re-applies auto-direction.',
130
+ inputSchema: z.object({
131
+ uuid: z.string().describe('Movement UUID'),
132
+ companyId: z
133
+ .string()
134
+ .optional()
135
+ .describe('Company UUID override (uses active company if not set)'),
136
+ kind: z.enum(['deposit', 'withdrawal', 'other']).optional(),
137
+ direction: z.enum(['in', 'out']).optional(),
138
+ amount: z.number().optional(),
139
+ movementDate: z.string().optional().describe('YYYY-MM-DD'),
140
+ description: z.string().nullable().optional().describe('Pass null to clear'),
141
+ documentNumber: z.string().nullable().optional().describe('Pass null to clear'),
142
+ }),
143
+ handler: async (params) => {
144
+ if (!getConfig().token)
145
+ return notAuthenticated();
146
+ const companyId = getCompanyId(params);
147
+ if (!companyId)
148
+ return noCompanySelected();
149
+ const { uuid, companyId: _cid, ...body } = params;
150
+ const result = await apiRequest(`/api/v1/cash-register/movements/${uuid}`, {
151
+ method: 'PATCH',
152
+ companyId,
153
+ body: body,
154
+ });
155
+ return formatResponse(result);
156
+ },
157
+ },
158
+ {
159
+ name: 'cash_register_movements_delete',
160
+ description: 'Permanently delete a manual cash movement. Receipts and invoice payments cannot be deleted via this endpoint — use their respective resources.',
161
+ inputSchema: z.object({
162
+ uuid: z.string().describe('Movement UUID'),
163
+ companyId: z
164
+ .string()
165
+ .optional()
166
+ .describe('Company UUID override (uses active company if not set)'),
167
+ }),
168
+ handler: async (params) => {
169
+ if (!getConfig().token)
170
+ return notAuthenticated();
171
+ const companyId = getCompanyId(params);
172
+ if (!companyId)
173
+ return noCompanySelected();
174
+ const { uuid } = params;
175
+ const result = await apiRequest(`/api/v1/cash-register/movements/${uuid}`, {
176
+ method: 'DELETE',
177
+ companyId,
178
+ });
179
+ return formatResponse(result);
180
+ },
181
+ },
182
+ ];
183
+ //# sourceMappingURL=cash-register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cash-register.js","sourceRoot":"","sources":["../../src/tools/cash-register.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ export declare const tools: {
3
+ name: string;
4
+ description: string;
5
+ inputSchema: z.ZodObject<{
6
+ companyId: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ companyId?: string | undefined;
9
+ }, {
10
+ companyId?: string | undefined;
11
+ }>;
12
+ handler: (params: Record<string, unknown>) => Promise<string>;
13
+ }[];
14
+ //# sourceMappingURL=product-categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-categories.d.ts","sourceRoot":"","sources":["../../src/tools/product-categories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,KAAK;;;;;;;;;;sBAWU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;GA+FpE,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { z } from 'zod';
2
+ import { apiRequest } from '../client.js';
3
+ import { formatResponse, notAuthenticated, noCompanySelected } from '../utils/errors.js';
4
+ import { getConfig } from '../config.js';
5
+ function getCompanyId(params) {
6
+ return params.companyId || getConfig().companyId;
7
+ }
8
+ export const tools = [
9
+ {
10
+ name: 'product_categories_list',
11
+ description: "List all product categories for the active company, ordered by sortOrder then name. Categories appear as a chip strip above the POS product grid and double as fallback colour swatches for products that don't have their own colour.",
12
+ inputSchema: z.object({
13
+ companyId: z
14
+ .string()
15
+ .optional()
16
+ .describe('Company UUID override (uses active company if not set)'),
17
+ }),
18
+ handler: async (params) => {
19
+ if (!getConfig().token)
20
+ return notAuthenticated();
21
+ const companyId = getCompanyId(params);
22
+ if (!companyId)
23
+ return noCompanySelected();
24
+ const result = await apiRequest('/api/v1/product-categories', { companyId });
25
+ return formatResponse(result);
26
+ },
27
+ },
28
+ {
29
+ name: 'product_categories_create',
30
+ description: 'Create a new POS product category. Categories are scoped to a single company.',
31
+ inputSchema: z.object({
32
+ companyId: z
33
+ .string()
34
+ .optional()
35
+ .describe('Company UUID override (uses active company if not set)'),
36
+ name: z.string().describe('Display name, 1–100 characters'),
37
+ color: z
38
+ .string()
39
+ .nullable()
40
+ .optional()
41
+ .describe('Optional hex colour ("#RRGGBB" or "RRGGBB"); invalid values are silently dropped'),
42
+ sortOrder: z
43
+ .number()
44
+ .int()
45
+ .optional()
46
+ .describe('Sort order in the chip strip (smaller = earlier; default 0)'),
47
+ }),
48
+ handler: async (params) => {
49
+ if (!getConfig().token)
50
+ return notAuthenticated();
51
+ const companyId = getCompanyId(params);
52
+ if (!companyId)
53
+ return noCompanySelected();
54
+ const { companyId: _c, ...body } = params;
55
+ const result = await apiRequest('/api/v1/product-categories', {
56
+ method: 'POST',
57
+ companyId,
58
+ body: body,
59
+ });
60
+ return formatResponse(result);
61
+ },
62
+ },
63
+ {
64
+ name: 'product_categories_update',
65
+ description: "Update a product category. All fields optional; omitted fields stay unchanged. Pass color=null to clear the swatch.",
66
+ inputSchema: z.object({
67
+ uuid: z.string().describe('Category UUID to update'),
68
+ companyId: z
69
+ .string()
70
+ .optional()
71
+ .describe('Company UUID override (uses active company if not set)'),
72
+ name: z.string().optional().describe('Display name, 1–100 characters'),
73
+ color: z.string().nullable().optional().describe('Hex colour swatch; null to clear'),
74
+ sortOrder: z.number().int().optional().describe('Sort order in the chip strip'),
75
+ }),
76
+ handler: async (params) => {
77
+ if (!getConfig().token)
78
+ return notAuthenticated();
79
+ const companyId = getCompanyId(params);
80
+ if (!companyId)
81
+ return noCompanySelected();
82
+ const { uuid, companyId: _c, ...body } = params;
83
+ const result = await apiRequest(`/api/v1/product-categories/${uuid}`, {
84
+ method: 'PATCH',
85
+ companyId,
86
+ body: body,
87
+ });
88
+ return formatResponse(result);
89
+ },
90
+ },
91
+ {
92
+ name: 'product_categories_delete',
93
+ description: "Delete a product category. Products that were in the category lose the assignment (categoryId is set to null) but are not deleted.",
94
+ inputSchema: z.object({
95
+ uuid: z.string().describe('Category UUID to delete'),
96
+ companyId: z
97
+ .string()
98
+ .optional()
99
+ .describe('Company UUID override (uses active company if not set)'),
100
+ }),
101
+ handler: async (params) => {
102
+ if (!getConfig().token)
103
+ return notAuthenticated();
104
+ const companyId = getCompanyId(params);
105
+ if (!companyId)
106
+ return noCompanySelected();
107
+ const { uuid } = params;
108
+ const result = await apiRequest(`/api/v1/product-categories/${uuid}`, {
109
+ method: 'DELETE',
110
+ companyId,
111
+ });
112
+ return formatResponse(result);
113
+ },
114
+ },
115
+ ];
116
+ //# sourceMappingURL=product-categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-categories.js","sourceRoot":"","sources":["../../src/tools/product-categories.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/tools/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;sBAyBU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;sBAoCzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;IA6DpE,CAAC"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/tools/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;sBAyBU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;sBAoCzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;IAgEpE,CAAC"}
@@ -101,6 +101,9 @@ export const tools = [
101
101
  .describe('VAT category code (e.g. "S", "Z", "E")'),
102
102
  ncCode: z.string().nullable().optional().describe('NC (Nomenclatura Combinata) code'),
103
103
  cpvCode: z.string().nullable().optional().describe('CPV code for public procurement'),
104
+ color: z.string().nullable().optional().describe('Optional hex colour swatch shown on the POS product grid (e.g. "#1e40af"). Six-digit hex with or without leading "#"; pass null to clear.'),
105
+ categoryId: z.string().nullable().optional().describe('UUID of a product_category for POS grid grouping; pass null to clear.'),
106
+ sgrAmount: z.number().nullable().optional().describe('Romanian SGR (Sistem Garantie-Returnare) deposit per unit, e.g. 0.50 for plastic beverage bottles. Null clears it. The POS auto-injects a single VAT-exempt deposit line summing all SGR product quantities.'),
104
107
  isActive: z.boolean().optional().describe('Whether the product is active'),
105
108
  }),
106
109
  handler: async (params) => {
@@ -1 +1 @@
1
- {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/tools/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,SAAS,YAAY,CAAC,MAA+B;IACnD,OAAQ,MAAM,CAAC,SAAoB,IAAI,SAAS,EAAE,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,oRAAoR;QACtR,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;YACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACtE,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;YACpD,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,QAAQ,EAAE,CAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qEAAqE,CAAC;SACnF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAKzC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE;gBAClD,SAAS;gBACT,KAAK,EAAE;oBACL,IAAI;oBACJ,KAAK;oBACL,MAAM;oBACN,QAAQ,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;iBAChE;aACF,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF;IAED;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,mLAAmL;QACrL,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACzC,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;SACtE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,EAAE,IAAI,EAAE,GAAG,MAA0B,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3E,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF;IAED;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,gRAAgR;QAClR,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACnD,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;YACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACpD,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;YACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC7E,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,oBAAoB,CAAC;YACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAClE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAChF,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wCAAwC,CAAC;YACrD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACrF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YACrF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SAC3E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;YAE3E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,IAAI,EAAE,EAAE;gBAC1D,MAAM,EAAE,OAAO;gBACf,SAAS;gBACT,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/tools/products.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ export declare const tools: ({
71
71
  notes: z.ZodOptional<z.ZodString>;
72
72
  mentions: z.ZodOptional<z.ZodString>;
73
73
  internalNote: z.ZodOptional<z.ZodString>;
74
+ idempotencyKey: z.ZodOptional<z.ZodString>;
74
75
  lines: z.ZodArray<z.ZodObject<{
75
76
  uuid: z.ZodOptional<z.ZodString>;
76
77
  description: z.ZodString;
@@ -119,6 +120,7 @@ export declare const tools: ({
119
120
  mentions?: string | undefined;
120
121
  internalNote?: string | undefined;
121
122
  salesAgent?: string | undefined;
123
+ idempotencyKey?: string | undefined;
122
124
  paymentMethod?: "cash" | "card" | "meal_ticket" | "mixed" | undefined;
123
125
  documentSeriesId?: string | undefined;
124
126
  cashPayment?: number | undefined;
@@ -151,6 +153,7 @@ export declare const tools: ({
151
153
  mentions?: string | undefined;
152
154
  internalNote?: string | undefined;
153
155
  salesAgent?: string | undefined;
156
+ idempotencyKey?: string | undefined;
154
157
  paymentMethod?: "cash" | "card" | "meal_ticket" | "mixed" | undefined;
155
158
  documentSeriesId?: string | undefined;
156
159
  cashPayment?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/tools/receipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAkBU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;sBA8BzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA2CzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;IA2SpE,CAAC"}
1
+ {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/tools/receipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAkBU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;sBA8BzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA4CzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;IA8UpE,CAAC"}
@@ -97,6 +97,7 @@ export const tools = [
97
97
  notes: z.string().optional().describe('Public notes on the receipt'),
98
98
  mentions: z.string().optional().describe('Additional mentions or instructions'),
99
99
  internalNote: z.string().optional().describe('Internal note (not visible to customer)'),
100
+ idempotencyKey: z.string().optional().describe('Unique key for retry-safe submissions. Repeat calls with the same key return the originally created receipt instead of creating a duplicate. Recommended for queued offline POS sales and ambiguous timeouts.'),
100
101
  lines: z.array(receiptLineItemSchema).describe('Array of line items (minimum 1 required)'),
101
102
  }),
102
103
  handler: async (params) => {
@@ -275,6 +276,39 @@ export const tools = [
275
276
  return formatResponse(res);
276
277
  },
277
278
  },
279
+ {
280
+ name: 'receipts_refund',
281
+ description: 'Issue a refund (counter-)receipt that mirrors the parent receipt with negative quantities and inverted payment amounts. The refund is auto-issued, linked back via refundOf, and inherits the parent receipt series. Parent must be issued and not itself a refund. Omit lineSelections for a full refund of the whole receipt; pass it to refund only specific lines (with possibly partial quantities). Multiple partial refunds against the same parent are allowed until the original quantities are exhausted.',
282
+ inputSchema: z.object({
283
+ uuid: z.string().describe('UUID of the parent issued receipt to refund'),
284
+ companyId: z.string().optional().describe('Company UUID (overrides configured default)'),
285
+ lineSelections: z
286
+ .array(z.object({
287
+ sourceLineId: z.string().describe('UUID of a line on the parent receipt'),
288
+ quantity: z.union([z.string(), z.number()]).describe('Positive quantity to refund, must not exceed remaining refundable qty on that line'),
289
+ }))
290
+ .optional()
291
+ .describe('When provided, only the listed lines are refunded with the given (partial) quantities. When omitted, the entire receipt is refunded.'),
292
+ }),
293
+ handler: async (params) => {
294
+ const config = getConfig();
295
+ if (!config.token)
296
+ return notAuthenticated();
297
+ const companyId = params.companyId || config.companyId;
298
+ if (!companyId)
299
+ return noCompanySelected();
300
+ const body = {};
301
+ if (Array.isArray(params.lineSelections) && params.lineSelections.length > 0) {
302
+ body.lineSelections = params.lineSelections;
303
+ }
304
+ const res = await apiRequest(`/api/v1/receipts/${params.uuid}/refund`, {
305
+ method: 'POST',
306
+ companyId,
307
+ body: Object.keys(body).length > 0 ? body : undefined,
308
+ });
309
+ return formatResponse(res);
310
+ },
311
+ },
278
312
  {
279
313
  name: 'receipts_pdf',
280
314
  description: 'Download the PDF for a receipt (bon fiscal). Returns base64-encoded PDF binary data. The receipt must be in issued or invoiced status.',
@@ -1 +1 @@
1
- {"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/tools/receipts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/tools/receipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACvF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACxF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACrE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,gNAAgN;QAClN,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;iBAClD,QAAQ,EAAE;iBACV,QAAQ,CAAC,kBAAkB,CAAC;YAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACtE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAClE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAClE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE;gBAC/C,SAAS;gBACT,KAAK,EAAE;oBACL,IAAI,EAAE,MAAM,CAAC,IAA0B;oBACvC,KAAK,EAAE,MAAM,CAAC,KAA2B;oBACzC,MAAM,EAAE,MAAM,CAAC,MAA4B;oBAC3C,MAAM,EAAE,MAAM,CAAC,MAA4B;oBAC3C,IAAI,EAAE,MAAM,CAAC,IAA0B;oBACvC,EAAE,EAAE,MAAM,CAAC,EAAwB;oBACnC,QAAQ,EAAE,MAAM,CAAC,QAA8B;iBAChD;aACF,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2IAA2I;QAC7I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/E,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,sTAAsT;QACxT,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACtF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;YAC5G,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kHAAkH,CAAC;YACpK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACrG,aAAa,EAAE,CAAC;iBACb,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;iBAC9C,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACvF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACvF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;YAClH,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YAC5G,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACnG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YAC5F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACnG,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACtF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YAC/E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACvF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+MAA+M,CAAC;YAC/P,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SAC3F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,SAAS;gBACT,IAAI,EAAE,IAA+B;aACtC,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,iIAAiI;QACnI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACtF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACtE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;YAChH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC9E,aAAa,EAAE,CAAC;iBACb,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;iBAC9C,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACvF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACvF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;YAClH,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YAC5G,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACnG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YAC5F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACnG,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACtF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YAC/E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACvF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;SACpG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,IAAI,EAAE,EAAE;gBACvD,MAAM,EAAE,KAAK;gBACb,SAAS;gBACT,IAAI,EAAE,IAA+B;aACtC,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,+HAA+H;QACjI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,EAAE,EAAE;gBAC9D,MAAM,EAAE,QAAQ;gBAChB,SAAS;aACV,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mKAAmK;QACrK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAClE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,QAAQ,EAAE;gBACpE,MAAM,EAAE,MAAM;gBACd,SAAS;aACV,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,4JAA4J;QAC9J,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxF,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC7E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SAC3F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,kBAAkB;gBAAE,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YACnF,IAAI,MAAM,CAAC,iBAAiB;gBAAE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;YAEhF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,SAAS,EAAE;gBACrE,MAAM,EAAE,MAAM;gBACd,SAAS;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACtD,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,iOAAiO;QACnO,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxF,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;SACzD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,eAAe;gBAAE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;YAC1E,IAAI,MAAM,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACxD,IAAI,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAElD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,UAAU,EAAE;gBACtE,MAAM,EAAE,MAAM;gBACd,SAAS;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACtD,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,qfAAqf;QACvf,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxF,cAAc,EAAE,CAAC;iBACd,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACd,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;gBACzE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,oFAAoF,CAAC;aAC3I,CAAC,CAAC;iBACF,QAAQ,EAAE;iBACV,QAAQ,CAAC,sIAAsI,CAAC;SACpJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7E,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;YAC9C,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,SAAS,EAAE;gBACrE,MAAM,EAAE,MAAM;gBACd,SAAS;gBACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aACtD,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wIAAwI;QAC1I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,MAAM,EAAE;gBAClE,SAAS;gBACT,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,mKAAmK;QACrK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,UAAU,EAAE;gBACtE,MAAM,EAAE,MAAM;gBACd,SAAS;aACV,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mIAAmI;QACrI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAClD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACpF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACnF,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACjE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACnE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;SAChG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,IAAI,GAA4B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAClD,IAAI,MAAM,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzC,IAAI,MAAM,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACtC,IAAI,MAAM,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YAE3D,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,QAAQ,EAAE;gBACpE,MAAM,EAAE,MAAM;gBACd,SAAS;gBACT,IAAI;aACL,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,6IAA6I;QAC/I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,iBAAiB,EAAE;gBAC7E,SAAS;aACV,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;IAED;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,kIAAkI;QACpI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,OAAO,gBAAgB,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAI,MAAM,CAAC,SAAoB,IAAI,MAAM,CAAC,SAAS,CAAC;YACnE,IAAI,CAAC,SAAS;gBAAE,OAAO,iBAAiB,EAAE,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,oBAAoB,MAAM,CAAC,IAAI,SAAS,EAAE;gBACrE,SAAS;aACV,CAAC,CAAC;YACH,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,KAAK;;;;uBAMW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;GAgBrE,CAAC"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,KAAK;;;;uBAMW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;GAuBrE,CAAC"}
@@ -13,10 +13,17 @@ export const tools = [
13
13
  },
14
14
  {
15
15
  name: 'system_version',
16
- description: 'Get the Storno API version information including release date, minimum requirements, and changelog URL.',
17
- inputSchema: z.object({}),
18
- handler: async (_params) => {
19
- const result = await apiRequest('/api/v1/version');
16
+ description: 'Get backend version plus web and mobile (iOS/Android/Huawei) latest+min versions and store URLs. Pass `platform` to get a flat `client` object for that mobile surface.',
17
+ inputSchema: z.object({
18
+ platform: z
19
+ .enum(['ios', 'android', 'huawei'])
20
+ .optional()
21
+ .describe('Mobile platform to get a flat `client` object for. Omit for the full payload.'),
22
+ }),
23
+ handler: async (params) => {
24
+ const platform = params.platform;
25
+ const path = platform ? `/api/v1/version?platform=${platform}` : '/api/v1/version';
26
+ const result = await apiRequest(path);
20
27
  return formatResponse(result);
21
28
  },
22
29
  },
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,qLAAqL;QACvL,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,OAAgC,EAAmB,EAAE;YACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,CAAC;YACzD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF;IAED;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,yGAAyG;QAC3G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,OAAgC,EAAmB,EAAE;YACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,qLAAqL;QACvL,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,OAAgC,EAAmB,EAAE;YACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,CAAC;YACzD,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF;IAED;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,yKAAyK;QAC3K,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,+EAA+E,CAAC;SAC7F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAmB,EAAE;YAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAoD,CAAC;YAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACnF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storno-cli",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "MCP server for the Storno.ro e-invoicing API — enables AI tools (Claude, Cursor, Windsurf) to manage invoices, clients, companies, and the full e-Factura workflow",
5
5
  "type": "module",
6
6
  "bin": {