@nubiia/mcp-freematica 0.7.0 → 0.9.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/README.md +20 -7
- package/dist/clients/fiql-builder.d.ts +32 -8
- package/dist/clients/fiql-builder.js +42 -14
- package/dist/clients/fiql-builder.js.map +1 -1
- package/dist/clients/freematica-client.d.ts +165 -34
- package/dist/clients/freematica-client.js +355 -96
- package/dist/clients/freematica-client.js.map +1 -1
- package/dist/schemas/cartera.d.ts +7 -5
- package/dist/schemas/cartera.js +13 -11
- package/dist/schemas/cartera.js.map +1 -1
- package/dist/schemas/clientes.d.ts +164 -0
- package/dist/schemas/clientes.js +205 -0
- package/dist/schemas/clientes.js.map +1 -0
- package/dist/schemas/facturas-ventas.d.ts +20 -16
- package/dist/schemas/facturas-ventas.js +36 -32
- package/dist/schemas/facturas-ventas.js.map +1 -1
- package/dist/schemas/localizaciones.d.ts +90 -0
- package/dist/schemas/localizaciones.js +145 -0
- package/dist/schemas/localizaciones.js.map +1 -0
- package/dist/schemas/pedidos-compras.d.ts +8 -6
- package/dist/schemas/pedidos-compras.js +8 -6
- package/dist/schemas/pedidos-compras.js.map +1 -1
- package/dist/server-instructions.js +43 -0
- package/dist/server-instructions.js.map +1 -1
- package/dist/server.js +5 -3
- package/dist/server.js.map +1 -1
- package/dist/tools/articulos.d.ts +14 -0
- package/dist/tools/articulos.js +183 -0
- package/dist/tools/articulos.js.map +1 -0
- package/dist/tools/cartera.js +2 -2
- package/dist/tools/cartera.js.map +1 -1
- package/dist/tools/clientes.d.ts +2 -1
- package/dist/tools/clientes.js +63 -2
- package/dist/tools/clientes.js.map +1 -1
- package/dist/tools/contabilidad.js +7 -7
- package/dist/tools/contabilidad.js.map +1 -1
- package/dist/tools/contactos-clientes.d.ts +2 -1
- package/dist/tools/contactos-clientes.js +58 -4
- package/dist/tools/contactos-clientes.js.map +1 -1
- package/dist/tools/contratos/cabecera.d.ts +2 -3
- package/dist/tools/contratos/cabecera.js.map +1 -1
- package/dist/tools/facturas-ventas.js +12 -12
- package/dist/tools/facturas-ventas.js.map +1 -1
- package/dist/tools/helpers.d.ts +4 -0
- package/dist/tools/helpers.js.map +1 -1
- package/dist/tools/localizaciones.d.ts +3 -2
- package/dist/tools/localizaciones.js +151 -13
- package/dist/tools/localizaciones.js.map +1 -1
- package/dist/tools/personal.js +13 -17
- package/dist/tools/personal.js.map +1 -1
- package/dist/tools/prl.js +15 -49
- package/dist/tools/prl.js.map +1 -1
- package/dist/tools/proveedores.d.ts +2 -2
- package/dist/tools/proveedores.js +8 -6
- package/dist/tools/proveedores.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/clientes.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { FreematicaError } from '../clients/base-client.js';
|
|
3
3
|
import { PaginationSchema } from '../schemas/pagination.js';
|
|
4
|
+
import { CreateClienteShape, UpdateClienteShape, buildClienteBody, buildClienteIdReg, mergeForUpdate, } from '../schemas/clientes.js';
|
|
4
5
|
import { error, ok, okList } from './helpers.js';
|
|
5
6
|
const LIST_TOOL_NAME = 'freematica_list_clientes';
|
|
6
7
|
const GET_TOOL_NAME = 'freematica_get_cliente';
|
|
8
|
+
const CREATE_TOOL_NAME = 'freematica_create_cliente';
|
|
9
|
+
const UPDATE_TOOL_NAME = 'freematica_update_cliente';
|
|
7
10
|
const LIST_DESCRIPTION = [
|
|
8
11
|
'Devuelve la lista paginada de clientes de Freemática.',
|
|
9
12
|
'',
|
|
@@ -16,11 +19,35 @@ const GET_DESCRIPTION = [
|
|
|
16
19
|
'',
|
|
17
20
|
'El parámetro `id` DEBE ser el campo `idReg` (string opaco base64) que aparece en los items de freematica_list_clientes. NO usar COD_CLI ni otro código natural — el API devuelve not_found.',
|
|
18
21
|
].join('\n');
|
|
19
|
-
|
|
22
|
+
const CREATE_DESCRIPTION = [
|
|
23
|
+
'Da de alta un cliente en Freemática.',
|
|
24
|
+
'',
|
|
25
|
+
'Endpoint: POST /pgrl/v2/clientes — body VoClientes (109 campos).',
|
|
26
|
+
'Requeridos: grupoCliente, codCliente, nombre (40c), nif, tipoImpuesto,',
|
|
27
|
+
'divisa (ej. EUR) y tipoFacturacion (D=Diario, M=Mensual, Q=Quincenal).',
|
|
28
|
+
'El idReg del cliente se calcula automáticamente (Base64 "GRUPO__COD").',
|
|
29
|
+
'',
|
|
30
|
+
'Los campos no expuestos con nombre amigable se pasan en camposAdicionales',
|
|
31
|
+
'con su nombre nativo (ej. COD_TARIFA, CREDITO). Devuelve el cliente creado.',
|
|
32
|
+
].join('\n');
|
|
33
|
+
const UPDATE_DESCRIPTION = [
|
|
34
|
+
'Actualiza un cliente existente (actualización parcial).',
|
|
35
|
+
'',
|
|
36
|
+
'Endpoint: PUT /pgrl/v2/clientes/{idReg}. La tool primero recupera el',
|
|
37
|
+
'cliente actual, aplica encima los campos informados y envía el objeto',
|
|
38
|
+
'completo (el API exige los campos obligatorios en cada PUT). El estado',
|
|
39
|
+
'previo queda en el log de auditoría.',
|
|
40
|
+
].join('\n');
|
|
41
|
+
export function registerClientesTools(server, client, opts = { enableWrites: false }) {
|
|
20
42
|
server.tool(LIST_TOOL_NAME, LIST_DESCRIPTION, PaginationSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items }) => {
|
|
21
43
|
try {
|
|
22
44
|
const result = await client.listClientes({ page, items });
|
|
23
|
-
return okList({
|
|
45
|
+
return okList({
|
|
46
|
+
items: result.items,
|
|
47
|
+
total: result.total,
|
|
48
|
+
page,
|
|
49
|
+
itemsPerPage: items,
|
|
50
|
+
});
|
|
24
51
|
}
|
|
25
52
|
catch (err) {
|
|
26
53
|
if (err instanceof FreematicaError)
|
|
@@ -44,5 +71,39 @@ export function registerClientesTools(server, client) {
|
|
|
44
71
|
return error(err instanceof Error ? err : new Error(String(err)));
|
|
45
72
|
}
|
|
46
73
|
});
|
|
74
|
+
if (!opts.enableWrites)
|
|
75
|
+
return;
|
|
76
|
+
server.tool(CREATE_TOOL_NAME, CREATE_DESCRIPTION, CreateClienteShape, { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true }, async (args) => {
|
|
77
|
+
try {
|
|
78
|
+
const fields = args;
|
|
79
|
+
const body = buildClienteBody(fields);
|
|
80
|
+
// El API exige idReg también en el alta; se deriva de los códigos naturales.
|
|
81
|
+
body['idReg'] = buildClienteIdReg(fields.grupoCliente, fields.codCliente);
|
|
82
|
+
const created = await client.createCliente(body);
|
|
83
|
+
return ok(created);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
if (err instanceof FreematicaError)
|
|
87
|
+
return error(err);
|
|
88
|
+
return error(err instanceof Error ? err : new Error(String(err)));
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
server.tool(UPDATE_TOOL_NAME, UPDATE_DESCRIPTION, UpdateClienteShape, { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true }, async ({ idReg, ...fields }) => {
|
|
92
|
+
try {
|
|
93
|
+
const changes = buildClienteBody(fields);
|
|
94
|
+
if (Object.keys(changes).length === 0) {
|
|
95
|
+
return error(new Error('Debes informar al menos un campo a actualizar además de idReg.'));
|
|
96
|
+
}
|
|
97
|
+
const current = await client.getCliente(idReg);
|
|
98
|
+
const body = mergeForUpdate(current, changes);
|
|
99
|
+
const updated = await client.updateCliente(idReg, body);
|
|
100
|
+
return ok(updated);
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
if (err instanceof FreematicaError)
|
|
104
|
+
return error(err);
|
|
105
|
+
return error(err instanceof Error ? err : new Error(String(err)));
|
|
106
|
+
}
|
|
107
|
+
});
|
|
47
108
|
}
|
|
48
109
|
//# sourceMappingURL=clientes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientes.js","sourceRoot":"","sources":["../../src/tools/clientes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"clientes.js","sourceRoot":"","sources":["../../src/tools/clientes.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,18 +46,18 @@ const EXPORT_ASIENTOS_DESCRIPTION = [
|
|
|
46
46
|
'Endpoint: GET /pcon/v2/export-asientos.',
|
|
47
47
|
'',
|
|
48
48
|
'⚠️ AVISO: Este endpoint puede devolver volúmenes MUY GRANDES de datos.',
|
|
49
|
-
'
|
|
50
|
-
'
|
|
49
|
+
'Acota siempre con `periodo` o con UNA fecha (fechaDesde O fechaHasta —',
|
|
50
|
+
'son excluyentes: el API devuelve 0 filas si se combinan ambas).',
|
|
51
51
|
'',
|
|
52
52
|
'Parámetros obligatorios:',
|
|
53
53
|
' - empresa: código de empresa de 4 caracteres exactos (ej. "0001").',
|
|
54
|
-
' - cal: código de calendario de 4 caracteres exactos (ej. "
|
|
54
|
+
' - cal: código de calendario/ejercicio contable de 4 caracteres exactos (ej. "2025").',
|
|
55
55
|
'',
|
|
56
56
|
'Parámetros opcionales nativos (query param directo, no FIQL):',
|
|
57
57
|
' - periodo: número de periodo contable (1-12, puede tener ceros, ej. "01").',
|
|
58
58
|
'',
|
|
59
59
|
'Filtros FIQL adicionales (opcionales):',
|
|
60
|
-
' - fechaDesde
|
|
60
|
+
' - fechaDesde O fechaHasta (excluyentes): límite de fecha sobre ASI_FCHASI, YYYY-MM-DD.',
|
|
61
61
|
' - diario: código del diario contable (ASI_DIARIO).',
|
|
62
62
|
' - borrador: si true, incluye solo asientos borrador (ASI_BORR no nulo).',
|
|
63
63
|
'',
|
|
@@ -141,7 +141,7 @@ const ExportAsientosSchema = {
|
|
|
141
141
|
cal: z
|
|
142
142
|
.string()
|
|
143
143
|
.length(4)
|
|
144
|
-
.describe('Código de calendario contable (4 caracteres exactos, ej. "
|
|
144
|
+
.describe('Código de calendario/ejercicio contable (4 caracteres exactos, ej. "2025" — ver freematica_list_calendarios, campo COD_CALEN_EJER). OBLIGATORIO. Se envía como query param nativo.'),
|
|
145
145
|
periodo: z
|
|
146
146
|
.string()
|
|
147
147
|
.max(2)
|
|
@@ -151,12 +151,12 @@ const ExportAsientosSchema = {
|
|
|
151
151
|
.string()
|
|
152
152
|
.regex(/^\d{4}-\d{2}-\d{2}$/, 'Debe ser una fecha en formato YYYY-MM-DD')
|
|
153
153
|
.optional()
|
|
154
|
-
.describe('Fecha inicio
|
|
154
|
+
.describe('Fecha inicio (inclusive) sobre ASI_FCHASI, YYYY-MM-DD. EXCLUYENTE con fechaHasta: usa solo uno de los dos (limitación del API).'),
|
|
155
155
|
fechaHasta: z
|
|
156
156
|
.string()
|
|
157
157
|
.regex(/^\d{4}-\d{2}-\d{2}$/, 'Debe ser una fecha en formato YYYY-MM-DD')
|
|
158
158
|
.optional()
|
|
159
|
-
.describe('Fecha fin
|
|
159
|
+
.describe('Fecha fin (inclusive) sobre ASI_FCHASI, YYYY-MM-DD. EXCLUYENTE con fechaDesde: usa solo uno de los dos (limitación del API).'),
|
|
160
160
|
diario: z
|
|
161
161
|
.string()
|
|
162
162
|
.min(1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contabilidad.js","sourceRoot":"","sources":["../../src/tools/contabilidad.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEjD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AACxE,MAAM,4BAA4B,GAAG,oCAAoC,CAAC;AAC1E,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAE1D,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,kCAAkC,GAAG;IACzC,sDAAsD;IACtD,EAAE;IACF,iCAAiC;IACjC,oIAAoI;IACpI,EAAE;IACF,2BAA2B;IAC3B,6DAA6D;IAC7D,kGAAkG;IAClG,+FAA+F;IAC/F,wEAAwE;IACxE,EAAE;IACF,wDAAwD;CACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,mCAAmC,GAAG;IAC1C,2DAA2D;IAC3D,EAAE;IACF,4CAA4C;IAC5C,6HAA6H;IAC7H,EAAE;IACF,2BAA2B;IAC3B,oDAAoD;IACpD,sFAAsF;IACtF,0FAA0F;IAC1F,wEAAwE;IACxE,iDAAiD;IACjD,gDAAgD;IAChD,EAAE;IACF,wDAAwD;CACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,2BAA2B,GAAG;IAClC,oDAAoD;IACpD,EAAE;IACF,yCAAyC;IACzC,EAAE;IACF,wEAAwE;IACxE,
|
|
1
|
+
{"version":3,"file":"contabilidad.js","sourceRoot":"","sources":["../../src/tools/contabilidad.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEjD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AACxE,MAAM,4BAA4B,GAAG,oCAAoC,CAAC;AAC1E,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAE1D,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,kCAAkC,GAAG;IACzC,sDAAsD;IACtD,EAAE;IACF,iCAAiC;IACjC,oIAAoI;IACpI,EAAE;IACF,2BAA2B;IAC3B,6DAA6D;IAC7D,kGAAkG;IAClG,+FAA+F;IAC/F,wEAAwE;IACxE,EAAE;IACF,wDAAwD;CACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,mCAAmC,GAAG;IAC1C,2DAA2D;IAC3D,EAAE;IACF,4CAA4C;IAC5C,6HAA6H;IAC7H,EAAE;IACF,2BAA2B;IAC3B,oDAAoD;IACpD,sFAAsF;IACtF,0FAA0F;IAC1F,wEAAwE;IACxE,iDAAiD;IACjD,gDAAgD;IAChD,EAAE;IACF,wDAAwD;CACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,2BAA2B,GAAG;IAClC,oDAAoD;IACpD,EAAE;IACF,yCAAyC;IACzC,EAAE;IACF,wEAAwE;IACxE,wEAAwE;IACxE,iEAAiE;IACjE,EAAE;IACF,0BAA0B;IAC1B,sEAAsE;IACtE,wFAAwF;IACxF,EAAE;IACF,+DAA+D;IAC/D,8EAA8E;IAC9E,EAAE;IACF,wCAAwC;IACxC,0FAA0F;IAC1F,sDAAsD;IACtD,2EAA2E;IAC3E,EAAE;IACF,+FAA+F;IAC/F,oFAAoF;IACpF,+EAA+E;CAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,6BAA6B,GAAG;IACpC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,sGAAsG,CACvG;IACH,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,sGAAsG,CACvG;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;CACpE,CAAC;AAEF;;GAEG;AACH,MAAM,8BAA8B,GAAG;IACrC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,+EAA+E,CAChF;IACH,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,iGAAiG,CAClG;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;CACvD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG;IAC3B,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,CAAC;SACT,QAAQ,CACP,sGAAsG,CACvG;IACH,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,CAAC;SACT,QAAQ,CACP,oLAAoL,CACrL;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,6GAA6G,CAC9G;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,KAAK,CACJ,qBAAqB,EACrB,0CAA0C,CAC3C;SACA,QAAQ,EAAE;SACV,QAAQ,CACP,iIAAiI,CAClI;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,KAAK,CACJ,qBAAqB,EACrB,0CAA0C,CAC3C;SACA,QAAQ,EAAE;SACV,QAAQ,CACP,8HAA8H,CAC/H;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,QAAQ,EAAE,CAAC;SACR,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,+HAA+H,CAChI;CACJ,CAAC;AAEF,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAwB;IACnF,4EAA4E;IAC5E,oCAAoC;IACpC,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,kCAAkC,EAClC,6BAA6B,EAC7B,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EACnE,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,EAA2B,EAAE;QACjF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;gBAC/C,OAAO;gBACP,aAAa;gBACb,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAmB,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,eAAe;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAmB,CAAC;YACxE,OAAO,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAC;QACtF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,4EAA4E;IAC5E,qCAAqC;IACrC,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,mCAAmC,EACnC,8BAA8B,EAC9B,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EACnE,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAA2B,EAAE;QACnG,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC;gBAChD,OAAO;gBACP,aAAa;gBACb,MAAM;gBACN,WAAW;gBACX,IAAI;gBACJ,UAAU;aACX,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAmB,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,eAAe;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAmB,CAAC;YACxE,OAAO,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAC;QACtF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,4EAA4E;IAC5E,6BAA6B;IAC7B,4EAA4E;IAC5E,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EACnE,KAAK,EAAE,EACL,OAAO,EACP,GAAG,EACH,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,QAAQ,GACT,EAA2B,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC;gBACzC,OAAO;gBACP,GAAG;gBACH,OAAO;gBACP,UAAU;gBACV,UAAU;gBACV,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,sDAAsD;gBACtD,MAAM,OAAO,GAAG;oBACd,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS,EAAE,IAAI;iBAChB,CAAC;gBACF,OAAO,EAAE,CAAC,OAAO,CAAmB,CAAC;YACvC,CAAC;YAED,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAmB,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,eAAe;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAmB,CAAC;YACxE,OAAO,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAC;QACtF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import type { FreematicaClient } from '../clients/freematica-client.js';
|
|
3
|
-
|
|
3
|
+
import { type RegisterOptions } from './helpers.js';
|
|
4
|
+
export declare function registerContactosClientesTools(server: McpServer, client: FreematicaClient, opts?: RegisterOptions): void;
|
|
@@ -1,19 +1,73 @@
|
|
|
1
1
|
import { FreematicaError } from '../clients/base-client.js';
|
|
2
2
|
import { PaginationSchema } from '../schemas/pagination.js';
|
|
3
|
-
import {
|
|
3
|
+
import { CreateContactoClienteShape, UpdateContactoClienteShape, buildContactoClienteBody, mergeForUpdate, } from '../schemas/clientes.js';
|
|
4
|
+
import { error, ok, okList } from './helpers.js';
|
|
4
5
|
const LIST_TOOL_NAME = 'freematica_list_contactos_clientes';
|
|
6
|
+
const CREATE_TOOL_NAME = 'freematica_create_contacto_cliente';
|
|
7
|
+
const UPDATE_TOOL_NAME = 'freematica_update_contacto_cliente';
|
|
5
8
|
const LIST_DESCRIPTION = [
|
|
6
9
|
'Devuelve la lista paginada de contactos de clientes (personas asociadas a clientes corporativos).',
|
|
7
10
|
'',
|
|
8
|
-
'Cada item incluye un campo `idReg` opaco (base64)
|
|
11
|
+
'Cada item incluye un campo `idReg` opaco (base64) que se usa en freematica_update_contacto_cliente.',
|
|
9
12
|
'',
|
|
10
13
|
'Paginación 1-indexed.',
|
|
11
14
|
].join('\n');
|
|
12
|
-
|
|
15
|
+
const CREATE_DESCRIPTION = [
|
|
16
|
+
'Da de alta un contacto de cliente.',
|
|
17
|
+
'',
|
|
18
|
+
'Endpoint: POST /pgrl/v2/contactos-clientes — body VoContactosClientes.',
|
|
19
|
+
'Requeridos: grupoCliente y codCliente (el cliente al que pertenece).',
|
|
20
|
+
'Opcionales frecuentes: nombreApellidos, cargo, telefono, movil, email,',
|
|
21
|
+
'contactoPrincipal, decisor. El resto vía camposAdicionales (CC_*).',
|
|
22
|
+
].join('\n');
|
|
23
|
+
const UPDATE_DESCRIPTION = [
|
|
24
|
+
'Actualiza un contacto de cliente existente (actualización parcial).',
|
|
25
|
+
'',
|
|
26
|
+
'Endpoint: PUT /pgrl/v2/contactos-clientes/{idReg}. La tool recupera el',
|
|
27
|
+
'contacto actual, aplica encima los campos informados y envía el objeto',
|
|
28
|
+
'completo. `idReg` sale de freematica_list_contactos_clientes.',
|
|
29
|
+
].join('\n');
|
|
30
|
+
export function registerContactosClientesTools(server, client, opts = { enableWrites: false }) {
|
|
13
31
|
server.tool(LIST_TOOL_NAME, LIST_DESCRIPTION, PaginationSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items }) => {
|
|
14
32
|
try {
|
|
15
33
|
const result = await client.listContactosClientes({ page, items });
|
|
16
|
-
return okList({
|
|
34
|
+
return okList({
|
|
35
|
+
items: result.items,
|
|
36
|
+
total: result.total,
|
|
37
|
+
page,
|
|
38
|
+
itemsPerPage: items,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
if (err instanceof FreematicaError)
|
|
43
|
+
return error(err);
|
|
44
|
+
return error(err instanceof Error ? err : new Error(String(err)));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (!opts.enableWrites)
|
|
48
|
+
return;
|
|
49
|
+
server.tool(CREATE_TOOL_NAME, CREATE_DESCRIPTION, CreateContactoClienteShape, { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true }, async (args) => {
|
|
50
|
+
try {
|
|
51
|
+
const body = buildContactoClienteBody(args);
|
|
52
|
+
const created = await client.createContactoCliente(body);
|
|
53
|
+
return ok(created);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (err instanceof FreematicaError)
|
|
57
|
+
return error(err);
|
|
58
|
+
return error(err instanceof Error ? err : new Error(String(err)));
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
server.tool(UPDATE_TOOL_NAME, UPDATE_DESCRIPTION, UpdateContactoClienteShape, { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true }, async ({ idReg, ...fields }) => {
|
|
62
|
+
try {
|
|
63
|
+
const changes = buildContactoClienteBody(fields);
|
|
64
|
+
if (Object.keys(changes).length === 0) {
|
|
65
|
+
return error(new Error('Debes informar al menos un campo a actualizar además de idReg.'));
|
|
66
|
+
}
|
|
67
|
+
const current = await client.getContactoCliente(idReg);
|
|
68
|
+
const body = mergeForUpdate(current, changes);
|
|
69
|
+
const updated = await client.updateContactoCliente(idReg, body);
|
|
70
|
+
return ok(updated);
|
|
17
71
|
}
|
|
18
72
|
catch (err) {
|
|
19
73
|
if (err instanceof FreematicaError)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contactos-clientes.js","sourceRoot":"","sources":["../../src/tools/contactos-clientes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"contactos-clientes.js","sourceRoot":"","sources":["../../src/tools/contactos-clientes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import type { FreematicaClient } from '../../clients/freematica-client.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
3
|
+
import { type RegisterOptions } from '../helpers.js';
|
|
4
|
+
export type { RegisterOptions } from '../helpers.js';
|
|
6
5
|
/** Tools de cabecera de contrato: list/get (lectura) + create/update (escritura). */
|
|
7
6
|
export declare function registerCabeceraTools(server: McpServer, client: FreematicaClient, opts: RegisterOptions): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cabecera.js","sourceRoot":"","sources":["../../../src/tools/contratos/cabecera.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cabecera.js","sourceRoot":"","sources":["../../../src/tools/contratos/cabecera.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,13 @@ const LIST_VENCIMIENTOS_TOOL = 'freematica_list_factura_vencimientos';
|
|
|
10
10
|
const LIST_CABECERA_DESCRIPTION = [
|
|
11
11
|
'Devuelve la lista paginada de cabeceras de facturas de ventas.',
|
|
12
12
|
'',
|
|
13
|
-
'Cada item contiene ~
|
|
14
|
-
'
|
|
15
|
-
'
|
|
13
|
+
'Cada item contiene ~70 campos: FVC_NUMFRA (número factura), FVC_SERIEFRA (serie), FVC_CODCLI (cliente),',
|
|
14
|
+
'FVC_FCHFAC (fecha factura), FVC_BASEIVA_DV (base), FVC_TOTFRA_DV (total factura),',
|
|
15
|
+
'FVC_TRASP_CONTAB (traspasado a contabilidad), FVC_DELEG (delegación), más `idReg` opaco para el endpoint singular.',
|
|
16
16
|
'',
|
|
17
17
|
'Filtros disponibles:',
|
|
18
18
|
'- empresa, codCliente, representante',
|
|
19
|
-
'- fechaFacturaDesde
|
|
19
|
+
'- fechaFacturaDesde O fechaFacturaHasta (EXCLUYENTES: el API devuelve 0 filas si se combinan; usa solo uno por consulta)',
|
|
20
20
|
'- serie, numFactura (número exacto)',
|
|
21
21
|
'- formaPago, delegacion',
|
|
22
22
|
'- traspasadoContabilidad: true → solo facturas ya traspasadas a contabilidad',
|
|
@@ -27,15 +27,15 @@ const GET_CABECERA_DESCRIPTION = [
|
|
|
27
27
|
'Devuelve el detalle completo de una factura de ventas (cabecera).',
|
|
28
28
|
'',
|
|
29
29
|
'El parámetro `id` DEBE ser el campo `idReg` (string opaco base64) que aparece en los items de',
|
|
30
|
-
'freematica_list_facturas_cabecera. NO usar
|
|
30
|
+
'freematica_list_facturas_cabecera. NO usar FVC_NUMFRA ni FVC_SERIEFRA.',
|
|
31
31
|
].join('\n');
|
|
32
32
|
const LIST_LINEAS_DESCRIPTION = [
|
|
33
33
|
'Devuelve las líneas de detalle de una factura de ventas.',
|
|
34
34
|
'',
|
|
35
35
|
'Requiere el `idFactura` (idReg opaco) de la factura cabecera.',
|
|
36
36
|
'',
|
|
37
|
-
'Cada línea contiene:
|
|
38
|
-
'
|
|
37
|
+
'Cada línea contiene: FVL_CODARTIC (artículo), FVL_DESCRIP (descripción), FVL_IMPORTE (importe línea),',
|
|
38
|
+
'FVL_IMP_IVA (IVA), FVL_COD_FAMILIA, FVL_COD_SUBFAM, FVL_DELEG.',
|
|
39
39
|
'',
|
|
40
40
|
'Filtros disponibles: codArticulo, codFamilia, codSubfamilia, delegacion.',
|
|
41
41
|
].join('\n');
|
|
@@ -44,18 +44,18 @@ const LIST_IVA_DESCRIPTION = [
|
|
|
44
44
|
'',
|
|
45
45
|
'Requiere el `idFactura` (idReg opaco) de la factura cabecera.',
|
|
46
46
|
'',
|
|
47
|
-
'Cada línea contiene:
|
|
48
|
-
'
|
|
47
|
+
'Cada línea contiene: FVI_TIPO_IVA (tipo IVA), FVI_POR_IVA_DV (%), FVI_IMPBRUT_DV (base imponible),',
|
|
48
|
+
'FVI_IMPDTO_DV (descuento) y demás importes FVI_*.',
|
|
49
49
|
'',
|
|
50
|
-
'Filtro disponible: tipoIva (
|
|
50
|
+
'Filtro disponible: tipoIva (FVI_TIPO_IVA exacto).',
|
|
51
51
|
].join('\n');
|
|
52
52
|
const LIST_VENCIMIENTOS_DESCRIPTION = [
|
|
53
53
|
'Devuelve los vencimientos de cobro de una factura de ventas.',
|
|
54
54
|
'',
|
|
55
55
|
'Requiere el `idFactura` (idReg opaco) de la factura cabecera.',
|
|
56
56
|
'',
|
|
57
|
-
'Cada vencimiento contiene:
|
|
58
|
-
'
|
|
57
|
+
'Cada vencimiento contiene: FVV_FCH_VTO (fecha vencimiento), FVV_IMP_VTO (importe a cobrar),',
|
|
58
|
+
'FVV_MODOPAGO (modo de pago), FVV_NUM_VTO (número de vencimiento).',
|
|
59
59
|
'',
|
|
60
60
|
'Filtros disponibles: fechaVencimientoDesde/Hasta, modoPago.',
|
|
61
61
|
].join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facturas-ventas.js","sourceRoot":"","sources":["../../src/tools/facturas-ventas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,2BAA2B,EAC3B,oCAAoC,GACrC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,kBAAkB,GAAG,mCAAmC,CAAC;AAC/D,MAAM,iBAAiB,GAAG,iCAAiC,CAAC;AAC5D,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAC1D,MAAM,aAAa,GAAG,6BAA6B,CAAC;AACpD,MAAM,sBAAsB,GAAG,sCAAsC,CAAC;AAEtE,MAAM,yBAAyB,GAAG;IAChC,gEAAgE;IAChE,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"facturas-ventas.js","sourceRoot":"","sources":["../../src/tools/facturas-ventas.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/helpers.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { type FreematicaErrorCode } from '../clients/base-client.js';
|
|
2
|
+
/** Opciones de registro de tools con operaciones de escritura. */
|
|
3
|
+
export interface RegisterOptions {
|
|
4
|
+
enableWrites: boolean;
|
|
5
|
+
}
|
|
2
6
|
export interface ToolTextContent {
|
|
3
7
|
type: 'text';
|
|
4
8
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,MAAM,2BAA2B,CAAC;AAiBtF,MAAM,UAAU,EAAE,CAAC,IAAa;IAC9B,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAKtB;IACC,OAAO,EAAE,CAAC;QACR,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;QACxB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,cAAc,EAAE,IAAI,CAAC,YAAY;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,SAAsC,EAAE,OAAgB;IAC5E,IAAI,IAAyB,CAAC;IAC9B,IAAI,GAAW,CAAC;IAEhB,IAAI,SAAS,YAAY,eAAe,EAAE,CAAC;QACzC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QACtB,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;IAC1B,CAAC;SAAM,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;QACtC,IAAI,GAAG,kBAAkB,CAAC;QAC1B,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,SAAS,CAAC;QACjB,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC;IACxB,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACzF,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import type { FreematicaClient } from '../clients/freematica-client.js';
|
|
3
|
+
import { type RegisterOptions } from './helpers.js';
|
|
3
4
|
/**
|
|
4
5
|
* Registra las tres tools de localizaciones en el servidor MCP.
|
|
5
6
|
*
|
|
@@ -9,9 +10,9 @@ import type { FreematicaClient } from '../clients/freematica-client.js';
|
|
|
9
10
|
* - `freematica_list_localizaciones_pago_proveedores`: pagos de proveedores filtrados por
|
|
10
11
|
* codProveedor, grupoProveedor y formaPago.
|
|
11
12
|
* - `freematica_list_localizaciones_servicio_clientes`: localizaciones de servicio de clientes
|
|
12
|
-
* con filtros por cliente, grupo, país, provincia
|
|
13
|
+
* con filtros por cliente, grupo, país, provincia y representante.
|
|
13
14
|
*
|
|
14
15
|
* @param server - Instancia del servidor MCP.
|
|
15
16
|
* @param client - Cliente Freemática autenticado.
|
|
16
17
|
*/
|
|
17
|
-
export declare function registerLocalizacionesTools(server: McpServer, client: FreematicaClient): void;
|
|
18
|
+
export declare function registerLocalizacionesTools(server: McpServer, client: FreematicaClient, opts?: RegisterOptions): void;
|