@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
|
@@ -1,10 +1,16 @@
|
|
|
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 {
|
|
4
|
+
import { CreateLocalizacionClienteShape, UpdateLocalizacionClienteShape, LOC_FIELD_MAP, buildLocalizacionClienteBody, } from '../schemas/localizaciones.js';
|
|
5
|
+
import { mergeForUpdate } from '../schemas/clientes.js';
|
|
6
|
+
import { error, ok, okList } from './helpers.js';
|
|
5
7
|
const LIST_COBRO_CLIENTES_TOOL = 'freematica_list_localizaciones_cobro_clientes';
|
|
6
8
|
const LIST_PAGO_PROVEEDORES_TOOL = 'freematica_list_localizaciones_pago_proveedores';
|
|
7
9
|
const LIST_SERVICIO_CLIENTES_TOOL = 'freematica_list_localizaciones_servicio_clientes';
|
|
10
|
+
const LIST_ENVIO_CLIENTES_TOOL = 'freematica_list_localizaciones_envio_clientes';
|
|
11
|
+
const LIST_FACTURA_CLIENTES_TOOL = 'freematica_list_localizaciones_factura_clientes';
|
|
12
|
+
const CREATE_LOC_TOOL = 'freematica_create_localizacion_cliente';
|
|
13
|
+
const UPDATE_LOC_TOOL = 'freematica_update_localizacion_cliente';
|
|
8
14
|
const COBRO_CLIENTES_DESCRIPTION = [
|
|
9
15
|
'Devuelve la lista paginada de localizaciones de cobro de clientes.',
|
|
10
16
|
'',
|
|
@@ -28,12 +34,49 @@ const SERVICIO_CLIENTES_DESCRIPTION = [
|
|
|
28
34
|
'',
|
|
29
35
|
'Las localizaciones de servicio son las direcciones donde se presta servicio a un cliente.',
|
|
30
36
|
'Cada item contiene campos como COD_CLI (cliente), GRUPO_CLI (grupo), COD_PAIS, COD_PROVINCIA,',
|
|
31
|
-
'COD_REPRES (representante),
|
|
37
|
+
'COD_REPRES (representante), más `idReg` opaco.',
|
|
32
38
|
'',
|
|
33
39
|
'Paginación 1-indexed.',
|
|
40
|
+
].join('\n');
|
|
41
|
+
const ENVIO_CLIENTES_DESCRIPTION = [
|
|
42
|
+
'Devuelve la lista paginada de localizaciones de envío de clientes.',
|
|
43
|
+
'',
|
|
44
|
+
'Direcciones de entrega/envío asociadas a un cliente. Cada item incluye',
|
|
45
|
+
'LOC_CLI_ENV (código), NOM_LOC_ENV, dirección, más `idReg` opaco que se usa',
|
|
46
|
+
'en freematica_update_localizacion_cliente (tipo=envio).',
|
|
47
|
+
'',
|
|
48
|
+
'Paginación 1-indexed.',
|
|
49
|
+
].join('\n');
|
|
50
|
+
const FACTURA_CLIENTES_DESCRIPTION = [
|
|
51
|
+
'Devuelve la lista paginada de localizaciones de factura de clientes.',
|
|
52
|
+
'',
|
|
53
|
+
'Direcciones fiscales/de facturación asociadas a un cliente (incluye datos',
|
|
54
|
+
'de factura electrónica: oficina contable, órgano gestor, EDI). Cada item',
|
|
55
|
+
'incluye LOC_CLI_FAC (código), NOM_LOC_FAC, más `idReg` opaco que se usa en',
|
|
56
|
+
'freematica_update_localizacion_cliente (tipo=factura).',
|
|
57
|
+
'',
|
|
58
|
+
'Paginación 1-indexed.',
|
|
59
|
+
].join('\n');
|
|
60
|
+
const CREATE_LOC_DESCRIPTION = [
|
|
61
|
+
'Da de alta una localización de cliente del tipo indicado:',
|
|
62
|
+
' - cobro: condiciones de cobro/domiciliación (requiere formaPago)',
|
|
63
|
+
' - envio: dirección de entrega',
|
|
64
|
+
' - factura: dirección fiscal/de facturación',
|
|
65
|
+
' - servicio: instalación donde se presta el servicio',
|
|
66
|
+
'',
|
|
67
|
+
'Endpoint: POST /pgrl/v2/localizaciones-{tipo}-clientes.',
|
|
68
|
+
'Requeridos: tipo, grupoCliente, codCliente, codLocalizacion; nombre es',
|
|
69
|
+
'obligatorio salvo en tipo envio; formaPago solo se exige en tipo cobro.',
|
|
70
|
+
'Campos específicos del tipo vía camposAdicionales (ej: cobro → CMCC_IBAN;',
|
|
71
|
+
'servicio → COD_ZONA, CMCS_COD_DLG).',
|
|
72
|
+
].join('\n');
|
|
73
|
+
const UPDATE_LOC_DESCRIPTION = [
|
|
74
|
+
'Actualiza una localización de cliente existente (actualización parcial).',
|
|
34
75
|
'',
|
|
35
|
-
'
|
|
36
|
-
'
|
|
76
|
+
'Endpoint: PUT /pgrl/v2/localizaciones-{tipo}-clientes/{idReg}. La tool',
|
|
77
|
+
'recupera la localización actual, aplica encima los campos informados y',
|
|
78
|
+
'envía el objeto completo. El `idReg` sale de la list tool del tipo',
|
|
79
|
+
'(freematica_list_localizaciones_{cobro|envio|factura|servicio}_clientes).',
|
|
37
80
|
].join('\n');
|
|
38
81
|
// ---------------------------------------------------------------------------
|
|
39
82
|
// Schemas individuales
|
|
@@ -101,11 +144,6 @@ const ServicioClientesSchema = {
|
|
|
101
144
|
.min(1)
|
|
102
145
|
.optional()
|
|
103
146
|
.describe('Código de representante asignado (COD_REPRES en Freemática).'),
|
|
104
|
-
activo: z
|
|
105
|
-
.boolean()
|
|
106
|
-
.optional()
|
|
107
|
-
.describe('Filtra por estado de la localización. true = sin fecha de baja (activas); ' +
|
|
108
|
-
'false = con fecha de baja (dadas de baja). FECHA_BAJA en Freemática.'),
|
|
109
147
|
};
|
|
110
148
|
// ---------------------------------------------------------------------------
|
|
111
149
|
// Register function
|
|
@@ -119,12 +157,12 @@ const ServicioClientesSchema = {
|
|
|
119
157
|
* - `freematica_list_localizaciones_pago_proveedores`: pagos de proveedores filtrados por
|
|
120
158
|
* codProveedor, grupoProveedor y formaPago.
|
|
121
159
|
* - `freematica_list_localizaciones_servicio_clientes`: localizaciones de servicio de clientes
|
|
122
|
-
* con filtros por cliente, grupo, país, provincia
|
|
160
|
+
* con filtros por cliente, grupo, país, provincia y representante.
|
|
123
161
|
*
|
|
124
162
|
* @param server - Instancia del servidor MCP.
|
|
125
163
|
* @param client - Cliente Freemática autenticado.
|
|
126
164
|
*/
|
|
127
|
-
export function registerLocalizacionesTools(server, client) {
|
|
165
|
+
export function registerLocalizacionesTools(server, client, opts = { enableWrites: false }) {
|
|
128
166
|
// --------------------------------------------------------------------------
|
|
129
167
|
// Tool 1: Localizaciones cobro clientes
|
|
130
168
|
// --------------------------------------------------------------------------
|
|
@@ -168,7 +206,7 @@ export function registerLocalizacionesTools(server, client) {
|
|
|
168
206
|
// --------------------------------------------------------------------------
|
|
169
207
|
// Tool 3: Localizaciones servicio clientes
|
|
170
208
|
// --------------------------------------------------------------------------
|
|
171
|
-
server.tool(LIST_SERVICIO_CLIENTES_TOOL, SERVICIO_CLIENTES_DESCRIPTION, ServicioClientesSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, codCliente, grupoCliente, codPais, codProvincia, representante,
|
|
209
|
+
server.tool(LIST_SERVICIO_CLIENTES_TOOL, SERVICIO_CLIENTES_DESCRIPTION, ServicioClientesSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, codCliente, grupoCliente, codPais, codProvincia, representante, }) => {
|
|
172
210
|
try {
|
|
173
211
|
const result = await client.listLocalizacionesServicioClientes({
|
|
174
212
|
page,
|
|
@@ -178,7 +216,6 @@ export function registerLocalizacionesTools(server, client) {
|
|
|
178
216
|
codPais,
|
|
179
217
|
codProvincia,
|
|
180
218
|
representante,
|
|
181
|
-
activo,
|
|
182
219
|
});
|
|
183
220
|
return okList({ items: result.items, total: result.total, page, itemsPerPage: items });
|
|
184
221
|
}
|
|
@@ -188,5 +225,106 @@ export function registerLocalizacionesTools(server, client) {
|
|
|
188
225
|
return error(err instanceof Error ? err : new Error(String(err)));
|
|
189
226
|
}
|
|
190
227
|
});
|
|
228
|
+
// --------------------------------------------------------------------------
|
|
229
|
+
// Tools 4 y 5: Localizaciones envío y factura (lectura)
|
|
230
|
+
// --------------------------------------------------------------------------
|
|
231
|
+
const envioFacturaSchema = {
|
|
232
|
+
...PaginationSchema,
|
|
233
|
+
codCliente: z
|
|
234
|
+
.string()
|
|
235
|
+
.min(1)
|
|
236
|
+
.optional()
|
|
237
|
+
.describe('Código natural del cliente (COD_CLI en Freemática).'),
|
|
238
|
+
grupoCliente: z
|
|
239
|
+
.string()
|
|
240
|
+
.min(1)
|
|
241
|
+
.optional()
|
|
242
|
+
.describe('Código de grupo de clientes (COD_GRUPO_CLI en Freemática).'),
|
|
243
|
+
};
|
|
244
|
+
server.tool(LIST_ENVIO_CLIENTES_TOOL, ENVIO_CLIENTES_DESCRIPTION, envioFacturaSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, codCliente, grupoCliente }) => {
|
|
245
|
+
try {
|
|
246
|
+
const result = await client.listLocalizacionesEnvioClientes({
|
|
247
|
+
page,
|
|
248
|
+
items,
|
|
249
|
+
codCliente,
|
|
250
|
+
grupoCliente,
|
|
251
|
+
});
|
|
252
|
+
return okList({
|
|
253
|
+
items: result.items,
|
|
254
|
+
total: result.total,
|
|
255
|
+
page,
|
|
256
|
+
itemsPerPage: items,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
catch (err) {
|
|
260
|
+
if (err instanceof FreematicaError)
|
|
261
|
+
return error(err);
|
|
262
|
+
return error(err instanceof Error ? err : new Error(String(err)));
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
server.tool(LIST_FACTURA_CLIENTES_TOOL, FACTURA_CLIENTES_DESCRIPTION, envioFacturaSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, codCliente, grupoCliente }) => {
|
|
266
|
+
try {
|
|
267
|
+
const result = await client.listLocalizacionesFacturaClientes({
|
|
268
|
+
page,
|
|
269
|
+
items,
|
|
270
|
+
codCliente,
|
|
271
|
+
grupoCliente,
|
|
272
|
+
});
|
|
273
|
+
return okList({
|
|
274
|
+
items: result.items,
|
|
275
|
+
total: result.total,
|
|
276
|
+
page,
|
|
277
|
+
itemsPerPage: items,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
catch (err) {
|
|
281
|
+
if (err instanceof FreematicaError)
|
|
282
|
+
return error(err);
|
|
283
|
+
return error(err instanceof Error ? err : new Error(String(err)));
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
if (!opts.enableWrites)
|
|
287
|
+
return;
|
|
288
|
+
// --------------------------------------------------------------------------
|
|
289
|
+
// Tools de escritura: alta y actualización de localizaciones de cliente
|
|
290
|
+
// --------------------------------------------------------------------------
|
|
291
|
+
server.tool(CREATE_LOC_TOOL, CREATE_LOC_DESCRIPTION, CreateLocalizacionClienteShape, { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true }, async ({ tipo, ...fields }) => {
|
|
292
|
+
try {
|
|
293
|
+
const locTipo = tipo;
|
|
294
|
+
const args = fields;
|
|
295
|
+
if (LOC_FIELD_MAP[locTipo].nombreRequerido && args.nombre === undefined) {
|
|
296
|
+
return error(new Error(`El campo nombre es obligatorio para localizaciones de tipo ${locTipo}.`));
|
|
297
|
+
}
|
|
298
|
+
if (locTipo === 'cobro' && args.formaPago === undefined) {
|
|
299
|
+
return error(new Error('El campo formaPago es obligatorio para localizaciones de tipo cobro.'));
|
|
300
|
+
}
|
|
301
|
+
const body = buildLocalizacionClienteBody(locTipo, args);
|
|
302
|
+
const created = await client.createLocalizacionCliente(locTipo, body);
|
|
303
|
+
return ok(created);
|
|
304
|
+
}
|
|
305
|
+
catch (err) {
|
|
306
|
+
if (err instanceof FreematicaError)
|
|
307
|
+
return error(err);
|
|
308
|
+
return error(err instanceof Error ? err : new Error(String(err)));
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
server.tool(UPDATE_LOC_TOOL, UPDATE_LOC_DESCRIPTION, UpdateLocalizacionClienteShape, { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true }, async ({ tipo, idReg, ...fields }) => {
|
|
312
|
+
try {
|
|
313
|
+
const locTipo = tipo;
|
|
314
|
+
const changes = buildLocalizacionClienteBody(locTipo, fields);
|
|
315
|
+
if (Object.keys(changes).length === 0) {
|
|
316
|
+
return error(new Error('Debes informar al menos un campo a actualizar además de tipo e idReg.'));
|
|
317
|
+
}
|
|
318
|
+
const current = await client.getLocalizacionCliente(locTipo, idReg);
|
|
319
|
+
const body = mergeForUpdate(current, changes);
|
|
320
|
+
const updated = await client.updateLocalizacionCliente(locTipo, idReg, body);
|
|
321
|
+
return ok(updated);
|
|
322
|
+
}
|
|
323
|
+
catch (err) {
|
|
324
|
+
if (err instanceof FreematicaError)
|
|
325
|
+
return error(err);
|
|
326
|
+
return error(err instanceof Error ? err : new Error(String(err)));
|
|
327
|
+
}
|
|
328
|
+
});
|
|
191
329
|
}
|
|
192
330
|
//# sourceMappingURL=localizaciones.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localizaciones.js","sourceRoot":"","sources":["../../src/tools/localizaciones.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,
|
|
1
|
+
{"version":3,"file":"localizaciones.js","sourceRoot":"","sources":["../../src/tools/localizaciones.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/personal.js
CHANGED
|
@@ -13,20 +13,23 @@ const GET_TOOL_NAME = 'freematica_get_persona';
|
|
|
13
13
|
const LIST_DESCRIPTION = [
|
|
14
14
|
'Devuelve la lista paginada de personas (empleados / personal) de Freemática.',
|
|
15
15
|
'',
|
|
16
|
-
'Endpoint: GET /pers/
|
|
16
|
+
'Endpoint: GET /pers/v1/personal',
|
|
17
17
|
'',
|
|
18
18
|
'Permite filtrar por empresa (VSSPER_EMP), delegación (VSSPER_DELEG), código',
|
|
19
|
-
'de persona (VSSPER_COD), nombre (VSSPER_NOM
|
|
20
|
-
'
|
|
21
|
-
'(
|
|
22
|
-
'
|
|
19
|
+
'de persona (VSSPER_COD), nombre (VSSPER_NOM), primer apellido',
|
|
20
|
+
'(VSSPER_APELL1), NIF (VSSPER_NIF), situación (VSSPER_SIT), departamento',
|
|
21
|
+
'(VSSPER_DPTO) y sección (VSSPER_SECCION).',
|
|
22
|
+
'',
|
|
23
|
+
'AVISO: todos los filtros son de coincidencia EXACTA (el API no soporta',
|
|
24
|
+
'búsqueda parcial en este endpoint). Para localizar a una persona por nombre',
|
|
25
|
+
'parcial, lista sin filtros y filtra sobre los resultados.',
|
|
23
26
|
'',
|
|
24
27
|
'Cada item incluye `idReg` opaco para usar en freematica_get_persona.',
|
|
25
28
|
].join('\n');
|
|
26
29
|
const GET_DESCRIPTION = [
|
|
27
30
|
'Devuelve el detalle completo de una persona.',
|
|
28
31
|
'',
|
|
29
|
-
'Endpoint: GET /pers/
|
|
32
|
+
'Endpoint: GET /pers/v1/personal/{idreg}',
|
|
30
33
|
'',
|
|
31
34
|
'El parámetro `id` DEBE ser el campo `idReg` (string opaco base64) que aparece',
|
|
32
35
|
'en los items de freematica_list_personal.',
|
|
@@ -56,14 +59,13 @@ const ListPersonalSchema = {
|
|
|
56
59
|
.string()
|
|
57
60
|
.min(1)
|
|
58
61
|
.optional()
|
|
59
|
-
.describe('Nombre de la persona
|
|
60
|
-
'
|
|
62
|
+
.describe('Nombre de la persona (campo VSSPER_NOM). Coincidencia EXACTA — ' +
|
|
63
|
+
'"Juan" NO encuentra "Juan Carlos"; usa el nombre completo tal cual figura en Freemática.'),
|
|
61
64
|
apellido: z
|
|
62
65
|
.string()
|
|
63
66
|
.min(1)
|
|
64
67
|
.optional()
|
|
65
|
-
.describe('Primer apellido
|
|
66
|
-
'Introduce parte del apellido para buscar.'),
|
|
68
|
+
.describe('Primer apellido (campo VSSPER_APELL1). Coincidencia EXACTA con el apellido completo.'),
|
|
67
69
|
nif: z
|
|
68
70
|
.string()
|
|
69
71
|
.min(1)
|
|
@@ -84,11 +86,6 @@ const ListPersonalSchema = {
|
|
|
84
86
|
.min(1)
|
|
85
87
|
.optional()
|
|
86
88
|
.describe('Código de sección (campo VSSPER_SECCION en Freemática).'),
|
|
87
|
-
activo: z
|
|
88
|
-
.boolean()
|
|
89
|
-
.optional()
|
|
90
|
-
.describe('Filtra por personas activas (true → VSSPER_ACTIVO==S) o inactivas (false → VSSPER_ACTIVO==N). ' +
|
|
91
|
-
'Si se omite, devuelve todas.'),
|
|
92
89
|
};
|
|
93
90
|
// ---------------------------------------------------------------------------
|
|
94
91
|
// Register function
|
|
@@ -107,7 +104,7 @@ export function registerPersonalTools(server, client) {
|
|
|
107
104
|
// -------------------------------------------------------------------------
|
|
108
105
|
// 1. freematica_list_personal
|
|
109
106
|
// -------------------------------------------------------------------------
|
|
110
|
-
server.tool(LIST_TOOL_NAME, LIST_DESCRIPTION, ListPersonalSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, empresa, delegacion, codPersona, nombre, apellido, nif, situacion, departamento, seccion,
|
|
107
|
+
server.tool(LIST_TOOL_NAME, LIST_DESCRIPTION, ListPersonalSchema, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, empresa, delegacion, codPersona, nombre, apellido, nif, situacion, departamento, seccion, }) => {
|
|
111
108
|
try {
|
|
112
109
|
const result = await client.listPersonal({
|
|
113
110
|
page,
|
|
@@ -121,7 +118,6 @@ export function registerPersonalTools(server, client) {
|
|
|
121
118
|
situacion,
|
|
122
119
|
departamento,
|
|
123
120
|
seccion,
|
|
124
|
-
activo,
|
|
125
121
|
});
|
|
126
122
|
return okList({ items: result.items, total: result.total, page, itemsPerPage: items });
|
|
127
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personal.js","sourceRoot":"","sources":["../../src/tools/personal.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,EAAE,MAAM,cAAc,CAAC;AAEjD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAClD,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG;IACvB,8EAA8E;IAC9E,EAAE;IACF,iCAAiC;IACjC,EAAE;IACF,6EAA6E;IAC7E
|
|
1
|
+
{"version":3,"file":"personal.js","sourceRoot":"","sources":["../../src/tools/personal.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/prl.js
CHANGED
|
@@ -31,10 +31,10 @@ const LIST_VS_DESCRIPTION = [
|
|
|
31
31
|
'',
|
|
32
32
|
'Endpoint: GET /pprl/v1/vigilancia-salud',
|
|
33
33
|
'',
|
|
34
|
-
'
|
|
35
|
-
'
|
|
36
|
-
'
|
|
37
|
-
'
|
|
34
|
+
'ÚNICO filtro soportado: `idRegPersona` (el campo `idReg` de la persona en',
|
|
35
|
+
'freematica_list_personal). El API ignora cualquier otro filtro en este',
|
|
36
|
+
'endpoint, así que para acotar por empresa, tipo de revisión o fechas hay',
|
|
37
|
+
'que filtrar sobre los resultados.',
|
|
38
38
|
'',
|
|
39
39
|
'Campos principales: PERVS_EMP, PERVS_DELEG, PERVS_PERSO, PERVS_TIPO_REVISION,',
|
|
40
40
|
'PERVS_RESULTADO, PERVS_FCH_CITA, idReg.',
|
|
@@ -104,49 +104,22 @@ export const FichaPrevClienteRefinedSchema = z
|
|
|
104
104
|
message: 'Se requiere al menos un identificador: codCliente, grupoCliente, codLocalizacionServicio o codigoFicha. ' +
|
|
105
105
|
'Llamar sin ningún filtro devolvería el dataset completo.',
|
|
106
106
|
});
|
|
107
|
-
/**
|
|
107
|
+
/**
|
|
108
|
+
* Schema para freematica_list_vigilancia_salud.
|
|
109
|
+
*
|
|
110
|
+
* Solo paginación + idRegPersona: el API ignora silenciosamente el parámetro
|
|
111
|
+
* `rquery` en este endpoint (verificado contra producción: cualquier FIQL,
|
|
112
|
+
* incluso con campos inexistentes, devuelve 200 con el dataset completo), así
|
|
113
|
+
* que exponer filtros FIQL aquí sería engañoso.
|
|
114
|
+
*/
|
|
108
115
|
const ListVigilanciaSaludShape = {
|
|
109
116
|
...PaginationSchema,
|
|
110
117
|
idRegPersona: z
|
|
111
118
|
.string()
|
|
112
119
|
.min(1)
|
|
113
120
|
.optional()
|
|
114
|
-
.describe('idReg opaco de la persona (
|
|
115
|
-
|
|
116
|
-
.string()
|
|
117
|
-
.min(1)
|
|
118
|
-
.optional()
|
|
119
|
-
.describe('Código de empresa (campo PERVS_EMP en Freemática).'),
|
|
120
|
-
delegacion: z
|
|
121
|
-
.string()
|
|
122
|
-
.min(1)
|
|
123
|
-
.optional()
|
|
124
|
-
.describe('Código de delegación (campo PERVS_DELEG en Freemática).'),
|
|
125
|
-
codPersona: z
|
|
126
|
-
.string()
|
|
127
|
-
.min(1)
|
|
128
|
-
.optional()
|
|
129
|
-
.describe('Código natural de la persona (campo PERVS_PERSO en Freemática).'),
|
|
130
|
-
tipoRevision: z
|
|
131
|
-
.string()
|
|
132
|
-
.min(1)
|
|
133
|
-
.optional()
|
|
134
|
-
.describe('Tipo de revisión médica (campo PERVS_TIPO_REVISION en Freemática).'),
|
|
135
|
-
resultado: z
|
|
136
|
-
.string()
|
|
137
|
-
.min(1)
|
|
138
|
-
.optional()
|
|
139
|
-
.describe('Resultado de la revisión (campo PERVS_RESULTADO en Freemática).'),
|
|
140
|
-
fechaCitaDesde: z
|
|
141
|
-
.string()
|
|
142
|
-
.regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:\d{2})?)?$/, 'Debe ser una fecha ISO 8601 (YYYY-MM-DD)')
|
|
143
|
-
.optional()
|
|
144
|
-
.describe('Fecha inicio del rango de cita (campo PERVS_FCH_CITA, ISO 8601, inclusive).'),
|
|
145
|
-
fechaCitaHasta: z
|
|
146
|
-
.string()
|
|
147
|
-
.regex(/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:\d{2})?)?$/, 'Debe ser una fecha ISO 8601 (YYYY-MM-DD)')
|
|
148
|
-
.optional()
|
|
149
|
-
.describe('Fecha fin del rango de cita (campo PERVS_FCH_CITA, ISO 8601, inclusive).'),
|
|
121
|
+
.describe('idReg opaco de la persona (campo "idReg" en los items de freematica_list_personal). ' +
|
|
122
|
+
'Único filtro que soporta el API en este endpoint.'),
|
|
150
123
|
};
|
|
151
124
|
// ---------------------------------------------------------------------------
|
|
152
125
|
// Register function
|
|
@@ -197,19 +170,12 @@ export function registerPrlTools(server, client) {
|
|
|
197
170
|
// -------------------------------------------------------------------------
|
|
198
171
|
// 2. freematica_list_vigilancia_salud
|
|
199
172
|
// -------------------------------------------------------------------------
|
|
200
|
-
server.tool(LIST_VS_TOOL_NAME, LIST_VS_DESCRIPTION, ListVigilanciaSaludShape, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, idRegPersona
|
|
173
|
+
server.tool(LIST_VS_TOOL_NAME, LIST_VS_DESCRIPTION, ListVigilanciaSaludShape, { readOnlyHint: true, destructiveHint: false, openWorldHint: true }, async ({ page, items, idRegPersona }) => {
|
|
201
174
|
try {
|
|
202
175
|
const result = await client.listVigilanciaSalud({
|
|
203
176
|
page,
|
|
204
177
|
items,
|
|
205
178
|
idRegPersona,
|
|
206
|
-
empresa,
|
|
207
|
-
delegacion,
|
|
208
|
-
codPersona,
|
|
209
|
-
tipoRevision,
|
|
210
|
-
resultado,
|
|
211
|
-
fechaCitaDesde,
|
|
212
|
-
fechaCitaHasta,
|
|
213
179
|
});
|
|
214
180
|
return okList({ items: result.items, total: result.total, page, itemsPerPage: items });
|
|
215
181
|
}
|
package/dist/tools/prl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prl.js","sourceRoot":"","sources":["../../src/tools/prl.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,EAAE,MAAM,cAAc,CAAC;AAEjD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAC7D,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG;IACxB,2EAA2E;IAC3E,EAAE;IACF,2CAA2C;IAC3C,EAAE;IACF,gFAAgF;IAChF,kEAAkE;IAClE,gFAAgF;IAChF,EAAE;IACF,8EAA8E;IAC9E,+BAA+B;IAC/B,EAAE;IACF,sEAAsE;IACtE,sDAAsD;CACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,mBAAmB,GAAG;IAC1B,oEAAoE;IACpE,EAAE;IACF,yCAAyC;IACzC,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"prl.js","sourceRoot":"","sources":["../../src/tools/prl.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import type { FreematicaClient } from '../clients/freematica-client.js';
|
|
|
4
4
|
* Registra las tools de proveedores en el servidor MCP.
|
|
5
5
|
*
|
|
6
6
|
* Tools registradas:
|
|
7
|
-
* - `freematica_list_proveedores`: lista paginada con filtros FIQL (
|
|
8
|
-
*
|
|
7
|
+
* - `freematica_list_proveedores`: lista paginada con filtros FIQL (nombre por coincidencia
|
|
8
|
+
* exacta y filtro activo/inactivo vía FECHA_BAJA).
|
|
9
9
|
* - `freematica_get_proveedor`: detalle por idReg opaco.
|
|
10
10
|
*
|
|
11
11
|
* @param server - Instancia del servidor MCP.
|
|
@@ -13,10 +13,12 @@ const LIST_DESCRIPTION = [
|
|
|
13
13
|
'',
|
|
14
14
|
'Paginación 1-indexed.',
|
|
15
15
|
'',
|
|
16
|
-
'El filtro `activo` es un booleano: true = FECHA_BAJA nula (proveedores activos
|
|
16
|
+
'El filtro `activo` es un booleano: true = FECHA_BAJA nula (proveedores activos,',
|
|
17
|
+
'filtrado sobre la página recibida — el total refleja el dataset sin filtrar);',
|
|
17
18
|
'false = FECHA_BAJA informada (dados de baja).',
|
|
18
19
|
'',
|
|
19
|
-
'El filtro `nombre`
|
|
20
|
+
'El filtro `nombre` es de coincidencia EXACTA con el nombre completo',
|
|
21
|
+
'(el API no soporta búsqueda parcial en este endpoint).',
|
|
20
22
|
].join('\n');
|
|
21
23
|
const GET_DESCRIPTION = [
|
|
22
24
|
'Devuelve el detalle completo de un proveedor.',
|
|
@@ -45,8 +47,8 @@ const LIST_SCHEMA = {
|
|
|
45
47
|
.string()
|
|
46
48
|
.min(1)
|
|
47
49
|
.optional()
|
|
48
|
-
.describe('Nombre del proveedor (NOMBRE_PRO).
|
|
49
|
-
'
|
|
50
|
+
.describe('Nombre del proveedor (NOMBRE_PRO). Coincidencia EXACTA con el nombre completo ' +
|
|
51
|
+
'tal cual figura en Freemática — "García" NO encuentra "García S.L.".'),
|
|
50
52
|
activo: z
|
|
51
53
|
.boolean()
|
|
52
54
|
.optional()
|
|
@@ -72,8 +74,8 @@ const LIST_SCHEMA = {
|
|
|
72
74
|
* Registra las tools de proveedores en el servidor MCP.
|
|
73
75
|
*
|
|
74
76
|
* Tools registradas:
|
|
75
|
-
* - `freematica_list_proveedores`: lista paginada con filtros FIQL (
|
|
76
|
-
*
|
|
77
|
+
* - `freematica_list_proveedores`: lista paginada con filtros FIQL (nombre por coincidencia
|
|
78
|
+
* exacta y filtro activo/inactivo vía FECHA_BAJA).
|
|
77
79
|
* - `freematica_get_proveedor`: detalle por idReg opaco.
|
|
78
80
|
*
|
|
79
81
|
* @param server - Instancia del servidor MCP.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proveedores.js","sourceRoot":"","sources":["../../src/tools/proveedores.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,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,cAAc,GAAG,6BAA6B,CAAC;AACrD,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAEjD,MAAM,gBAAgB,GAAG;IACvB,0DAA0D;IAC1D,EAAE;IACF,mGAAmG;IACnG,gGAAgG;IAChG,8CAA8C;IAC9C,EAAE;IACF,uBAAuB;IACvB,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"proveedores.js","sourceRoot":"","sources":["../../src/tools/proveedores.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nubiia/mcp-freematica",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "MCP server for the Freemática ERP REST API: invoicing, accounts receivable, suppliers, accounting and HR data for AI assistants like Claude. Built by Nubiia.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|