@servicialo/mcp-server 0.6.0 → 0.8.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.
Files changed (69) hide show
  1. package/LICENSE +191 -0
  2. package/README.en.md +392 -0
  3. package/README.md +315 -147
  4. package/dist/adapter-http.d.ts +51 -0
  5. package/dist/adapter-http.d.ts.map +1 -0
  6. package/dist/adapter-http.js +187 -0
  7. package/dist/adapter-http.js.map +1 -0
  8. package/dist/adapter.d.ts +42 -0
  9. package/dist/adapter.d.ts.map +1 -0
  10. package/dist/adapter.js +42 -0
  11. package/dist/adapter.js.map +1 -0
  12. package/dist/client.d.ts +5 -1
  13. package/dist/client.d.ts.map +1 -1
  14. package/dist/client.js +3 -0
  15. package/dist/client.js.map +1 -1
  16. package/dist/index.d.ts +2 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +73 -58
  19. package/dist/index.js.map +1 -1
  20. package/dist/mandate.d.ts +321 -0
  21. package/dist/mandate.d.ts.map +1 -0
  22. package/dist/mandate.js +349 -0
  23. package/dist/mandate.js.map +1 -0
  24. package/dist/provider-profile.d.ts +985 -0
  25. package/dist/provider-profile.d.ts.map +1 -0
  26. package/dist/provider-profile.js +210 -0
  27. package/dist/provider-profile.js.map +1 -0
  28. package/dist/tools/authenticated/cerrar.d.ts +5 -5
  29. package/dist/tools/authenticated/cerrar.d.ts.map +1 -1
  30. package/dist/tools/authenticated/cerrar.js.map +1 -1
  31. package/dist/tools/authenticated/comprometer.d.ts +4 -4
  32. package/dist/tools/authenticated/comprometer.d.ts.map +1 -1
  33. package/dist/tools/authenticated/comprometer.js.map +1 -1
  34. package/dist/tools/authenticated/delivery.d.ts +4 -4
  35. package/dist/tools/authenticated/delivery.d.ts.map +1 -1
  36. package/dist/tools/authenticated/delivery.js.map +1 -1
  37. package/dist/tools/authenticated/entender.d.ts +3 -3
  38. package/dist/tools/authenticated/entender.d.ts.map +1 -1
  39. package/dist/tools/authenticated/entender.js.map +1 -1
  40. package/dist/tools/authenticated/lifecycle.d.ts +5 -5
  41. package/dist/tools/authenticated/lifecycle.d.ts.map +1 -1
  42. package/dist/tools/authenticated/lifecycle.js.map +1 -1
  43. package/dist/tools/authenticated/resolve-auth.d.ts +118 -0
  44. package/dist/tools/authenticated/resolve-auth.d.ts.map +1 -0
  45. package/dist/tools/authenticated/resolve-auth.js +62 -0
  46. package/dist/tools/authenticated/resolve-auth.js.map +1 -0
  47. package/dist/tools/authenticated/resource.d.ts +295 -0
  48. package/dist/tools/authenticated/resource.d.ts.map +1 -0
  49. package/dist/tools/authenticated/resource.js +125 -0
  50. package/dist/tools/authenticated/resource.js.map +1 -0
  51. package/dist/tools/public/a2a.d.ts +18 -0
  52. package/dist/tools/public/a2a.d.ts.map +1 -0
  53. package/dist/tools/public/a2a.js +15 -0
  54. package/dist/tools/public/a2a.js.map +1 -0
  55. package/dist/tools/public/availability.d.ts +2 -2
  56. package/dist/tools/public/availability.d.ts.map +1 -1
  57. package/dist/tools/public/availability.js.map +1 -1
  58. package/dist/tools/public/registry.d.ts +10 -9
  59. package/dist/tools/public/registry.d.ts.map +1 -1
  60. package/dist/tools/public/registry.js +10 -2
  61. package/dist/tools/public/registry.js.map +1 -1
  62. package/dist/tools/public/resolve.d.ts +60 -0
  63. package/dist/tools/public/resolve.d.ts.map +1 -0
  64. package/dist/tools/public/resolve.js +60 -0
  65. package/dist/tools/public/resolve.js.map +1 -0
  66. package/dist/tools/public/services.d.ts +2 -2
  67. package/dist/tools/public/services.d.ts.map +1 -1
  68. package/dist/tools/public/services.js.map +1 -1
  69. package/package.json +5 -3
@@ -0,0 +1,62 @@
1
+ import { z } from 'zod';
2
+ export const resolveAuthTools = {
3
+ 'resolve.register': {
4
+ description: 'Registra una nueva organización en el resolver Servicialo con un orgSlug único global. ' +
5
+ 'Requiere al menos un endpoint (MCP o REST). El slug es portable: si la org migra de ' +
6
+ 'plataforma, conserva su slug y solo actualiza los endpoints.',
7
+ schema: z.object({
8
+ slug: z.string().describe('Identificador único (ej: clinica-dental-sur). 3-48 chars, lowercase, hyphens.'),
9
+ country: z.string().describe('País ISO 3166-1 alpha-2 (ej: cl, mx, ar)'),
10
+ name: z.string().describe('Nombre de la organización'),
11
+ mcp_url: z.string().optional().describe('URL del servidor MCP de la organización'),
12
+ rest_url: z.string().optional().describe('URL de la API REST de la organización'),
13
+ health_url: z.string().optional().describe('URL del health-check endpoint'),
14
+ legal_name: z.string().optional().describe('Nombre legal (si difiere del nombre comercial)'),
15
+ verticals: z.array(z.string()).optional().describe('Verticales de servicio (ej: ["salud", "dental"])'),
16
+ contact_email: z.string().optional().describe('Email de contacto'),
17
+ }),
18
+ handler: async (client, args) => {
19
+ return client.post('/api/servicialo/resolve/register', args);
20
+ },
21
+ },
22
+ 'resolve.update_endpoint': {
23
+ description: 'Actualiza los endpoints de una organización en el resolver. Esta es la operación de ' +
24
+ 'portabilidad: si la org migra de Coordinalo a otro CRM, actualiza sus URLs aquí y todos ' +
25
+ 'los agentes la encuentran automáticamente en la nueva ubicación.',
26
+ schema: z.object({
27
+ org_slug: z.string().describe('Slug de la organización'),
28
+ country: z.string().default('cl').describe('País ISO 3166-1 alpha-2. Default: cl'),
29
+ mcp_url: z.string().optional().describe('Nueva URL del servidor MCP'),
30
+ rest_url: z.string().optional().describe('Nueva URL de la API REST'),
31
+ health_url: z.string().optional().describe('Nueva URL del health-check'),
32
+ }),
33
+ handler: async (client, args) => {
34
+ const country = args.country ?? 'cl';
35
+ const { org_slug: _slug, country: _country, ...body } = args;
36
+ return client.patch(`/api/servicialo/resolve/${country}/${args.org_slug}/endpoint`, body);
37
+ },
38
+ },
39
+ 'telemetry.heartbeat': {
40
+ description: 'Envía un heartbeat al resolver Servicialo indicando que el nodo sigue activo. ' +
41
+ 'Opcionalmente incluye métricas de uso. Los nodos sin heartbeat por 7+ días se marcan inactivos.',
42
+ schema: z.object({
43
+ org_slug: z.string().describe('Slug de la organización'),
44
+ country: z.string().default('cl').describe('País ISO 3166-1 alpha-2. Default: cl'),
45
+ metrics: z
46
+ .object({
47
+ services_active: z.number().optional().describe('Servicios activos actualmente'),
48
+ appointments_30d: z.number().optional().describe('Citas en los últimos 30 días'),
49
+ })
50
+ .optional()
51
+ .describe('Métricas opcionales de uso'),
52
+ }),
53
+ handler: async (client, args) => {
54
+ const country = args.country ?? 'cl';
55
+ return client.patch(`/api/servicialo/resolve/${country}/${args.org_slug}/endpoint`, {
56
+ heartbeat: true,
57
+ metrics: args.metrics,
58
+ });
59
+ },
60
+ },
61
+ };
62
+ //# sourceMappingURL=resolve-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-auth.js","sourceRoot":"","sources":["../../../src/tools/authenticated/resolve-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,295 @@
1
+ import { z } from 'zod';
2
+ import type { ServicialoAdapter } from '../../adapter.js';
3
+ import { ActorSchema } from '../schemas.js';
4
+ export declare const resourceTools: {
5
+ 'resource.list': {
6
+ description: string;
7
+ schema: z.ZodObject<{
8
+ organization_id: z.ZodString;
9
+ type: z.ZodOptional<z.ZodEnum<["room", "box", "chair", "equipment"]>>;
10
+ is_active: z.ZodOptional<z.ZodBoolean>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ organization_id: string;
13
+ type?: "room" | "box" | "chair" | "equipment" | undefined;
14
+ is_active?: boolean | undefined;
15
+ }, {
16
+ organization_id: string;
17
+ type?: "room" | "box" | "chair" | "equipment" | undefined;
18
+ is_active?: boolean | undefined;
19
+ }>;
20
+ handler: (client: ServicialoAdapter, args: {
21
+ organization_id: string;
22
+ type?: string;
23
+ is_active?: boolean;
24
+ }) => Promise<unknown>;
25
+ };
26
+ 'resource.get': {
27
+ description: string;
28
+ schema: z.ZodObject<{
29
+ resource_id: z.ZodString;
30
+ }, "strip", z.ZodTypeAny, {
31
+ resource_id: string;
32
+ }, {
33
+ resource_id: string;
34
+ }>;
35
+ handler: (client: ServicialoAdapter, args: {
36
+ resource_id: string;
37
+ }) => Promise<unknown>;
38
+ };
39
+ 'resource.create': {
40
+ description: string;
41
+ schema: z.ZodObject<{
42
+ organization_id: z.ZodString;
43
+ name: z.ZodString;
44
+ type: z.ZodOptional<z.ZodEnum<["room", "box", "chair", "equipment"]>>;
45
+ capacity: z.ZodDefault<z.ZodNumber>;
46
+ buffer_minutes: z.ZodDefault<z.ZodNumber>;
47
+ equipment: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ location: z.ZodOptional<z.ZodString>;
49
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
50
+ actor: z.ZodObject<{
51
+ type: z.ZodEnum<["client", "provider", "organization", "agent"]>;
52
+ id: z.ZodString;
53
+ on_behalf_of: z.ZodOptional<z.ZodObject<{
54
+ type: z.ZodString;
55
+ id: z.ZodString;
56
+ }, "strip", z.ZodTypeAny, {
57
+ type: string;
58
+ id: string;
59
+ }, {
60
+ type: string;
61
+ id: string;
62
+ }>>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ type: "client" | "provider" | "organization" | "agent";
65
+ id: string;
66
+ on_behalf_of?: {
67
+ type: string;
68
+ id: string;
69
+ } | undefined;
70
+ }, {
71
+ type: "client" | "provider" | "organization" | "agent";
72
+ id: string;
73
+ on_behalf_of?: {
74
+ type: string;
75
+ id: string;
76
+ } | undefined;
77
+ }>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ organization_id: string;
80
+ name: string;
81
+ capacity: number;
82
+ buffer_minutes: number;
83
+ actor: {
84
+ type: "client" | "provider" | "organization" | "agent";
85
+ id: string;
86
+ on_behalf_of?: {
87
+ type: string;
88
+ id: string;
89
+ } | undefined;
90
+ };
91
+ location?: string | undefined;
92
+ type?: "room" | "box" | "chair" | "equipment" | undefined;
93
+ equipment?: string[] | undefined;
94
+ rules?: Record<string, unknown> | undefined;
95
+ }, {
96
+ organization_id: string;
97
+ name: string;
98
+ actor: {
99
+ type: "client" | "provider" | "organization" | "agent";
100
+ id: string;
101
+ on_behalf_of?: {
102
+ type: string;
103
+ id: string;
104
+ } | undefined;
105
+ };
106
+ location?: string | undefined;
107
+ type?: "room" | "box" | "chair" | "equipment" | undefined;
108
+ equipment?: string[] | undefined;
109
+ capacity?: number | undefined;
110
+ buffer_minutes?: number | undefined;
111
+ rules?: Record<string, unknown> | undefined;
112
+ }>;
113
+ handler: (client: ServicialoAdapter, args: {
114
+ organization_id: string;
115
+ name: string;
116
+ type?: string;
117
+ capacity?: number;
118
+ buffer_minutes?: number;
119
+ equipment?: string[];
120
+ location?: string;
121
+ rules?: Record<string, unknown>;
122
+ actor: z.infer<typeof ActorSchema>;
123
+ }) => Promise<unknown>;
124
+ };
125
+ 'resource.update': {
126
+ description: string;
127
+ schema: z.ZodObject<{
128
+ resource_id: z.ZodString;
129
+ name: z.ZodOptional<z.ZodString>;
130
+ type: z.ZodOptional<z.ZodEnum<["room", "box", "chair", "equipment"]>>;
131
+ capacity: z.ZodOptional<z.ZodNumber>;
132
+ buffer_minutes: z.ZodOptional<z.ZodNumber>;
133
+ equipment: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
134
+ location: z.ZodOptional<z.ZodString>;
135
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
136
+ actor: z.ZodObject<{
137
+ type: z.ZodEnum<["client", "provider", "organization", "agent"]>;
138
+ id: z.ZodString;
139
+ on_behalf_of: z.ZodOptional<z.ZodObject<{
140
+ type: z.ZodString;
141
+ id: z.ZodString;
142
+ }, "strip", z.ZodTypeAny, {
143
+ type: string;
144
+ id: string;
145
+ }, {
146
+ type: string;
147
+ id: string;
148
+ }>>;
149
+ }, "strip", z.ZodTypeAny, {
150
+ type: "client" | "provider" | "organization" | "agent";
151
+ id: string;
152
+ on_behalf_of?: {
153
+ type: string;
154
+ id: string;
155
+ } | undefined;
156
+ }, {
157
+ type: "client" | "provider" | "organization" | "agent";
158
+ id: string;
159
+ on_behalf_of?: {
160
+ type: string;
161
+ id: string;
162
+ } | undefined;
163
+ }>;
164
+ }, "strip", z.ZodTypeAny, {
165
+ resource_id: string;
166
+ actor: {
167
+ type: "client" | "provider" | "organization" | "agent";
168
+ id: string;
169
+ on_behalf_of?: {
170
+ type: string;
171
+ id: string;
172
+ } | undefined;
173
+ };
174
+ location?: string | undefined;
175
+ type?: "room" | "box" | "chair" | "equipment" | undefined;
176
+ name?: string | undefined;
177
+ equipment?: string[] | undefined;
178
+ capacity?: number | undefined;
179
+ buffer_minutes?: number | undefined;
180
+ rules?: Record<string, unknown> | undefined;
181
+ }, {
182
+ resource_id: string;
183
+ actor: {
184
+ type: "client" | "provider" | "organization" | "agent";
185
+ id: string;
186
+ on_behalf_of?: {
187
+ type: string;
188
+ id: string;
189
+ } | undefined;
190
+ };
191
+ location?: string | undefined;
192
+ type?: "room" | "box" | "chair" | "equipment" | undefined;
193
+ name?: string | undefined;
194
+ equipment?: string[] | undefined;
195
+ capacity?: number | undefined;
196
+ buffer_minutes?: number | undefined;
197
+ rules?: Record<string, unknown> | undefined;
198
+ }>;
199
+ handler: (client: ServicialoAdapter, args: {
200
+ resource_id: string;
201
+ name?: string;
202
+ type?: string;
203
+ capacity?: number;
204
+ buffer_minutes?: number;
205
+ equipment?: string[];
206
+ location?: string;
207
+ rules?: Record<string, unknown>;
208
+ actor: z.infer<typeof ActorSchema>;
209
+ }) => Promise<unknown>;
210
+ };
211
+ 'resource.delete': {
212
+ description: string;
213
+ schema: z.ZodObject<{
214
+ resource_id: z.ZodString;
215
+ actor: z.ZodObject<{
216
+ type: z.ZodEnum<["client", "provider", "organization", "agent"]>;
217
+ id: z.ZodString;
218
+ on_behalf_of: z.ZodOptional<z.ZodObject<{
219
+ type: z.ZodString;
220
+ id: z.ZodString;
221
+ }, "strip", z.ZodTypeAny, {
222
+ type: string;
223
+ id: string;
224
+ }, {
225
+ type: string;
226
+ id: string;
227
+ }>>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ type: "client" | "provider" | "organization" | "agent";
230
+ id: string;
231
+ on_behalf_of?: {
232
+ type: string;
233
+ id: string;
234
+ } | undefined;
235
+ }, {
236
+ type: "client" | "provider" | "organization" | "agent";
237
+ id: string;
238
+ on_behalf_of?: {
239
+ type: string;
240
+ id: string;
241
+ } | undefined;
242
+ }>;
243
+ }, "strip", z.ZodTypeAny, {
244
+ resource_id: string;
245
+ actor: {
246
+ type: "client" | "provider" | "organization" | "agent";
247
+ id: string;
248
+ on_behalf_of?: {
249
+ type: string;
250
+ id: string;
251
+ } | undefined;
252
+ };
253
+ }, {
254
+ resource_id: string;
255
+ actor: {
256
+ type: "client" | "provider" | "organization" | "agent";
257
+ id: string;
258
+ on_behalf_of?: {
259
+ type: string;
260
+ id: string;
261
+ } | undefined;
262
+ };
263
+ }>;
264
+ handler: (client: ServicialoAdapter, args: {
265
+ resource_id: string;
266
+ actor: z.infer<typeof ActorSchema>;
267
+ }) => Promise<unknown>;
268
+ };
269
+ 'resource.get_availability': {
270
+ description: string;
271
+ schema: z.ZodObject<{
272
+ resource_id: z.ZodString;
273
+ date_from: z.ZodString;
274
+ date_to: z.ZodString;
275
+ timezone: z.ZodOptional<z.ZodString>;
276
+ }, "strip", z.ZodTypeAny, {
277
+ resource_id: string;
278
+ date_from: string;
279
+ date_to: string;
280
+ timezone?: string | undefined;
281
+ }, {
282
+ resource_id: string;
283
+ date_from: string;
284
+ date_to: string;
285
+ timezone?: string | undefined;
286
+ }>;
287
+ handler: (client: ServicialoAdapter, args: {
288
+ resource_id: string;
289
+ date_from: string;
290
+ date_to: string;
291
+ timezone?: string;
292
+ }) => Promise<unknown>;
293
+ };
294
+ };
295
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/tools/authenticated/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAA8C,MAAM,eAAe,CAAC;AAExF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;0BAWE,iBAAiB,QAAQ;YAAE,eAAe,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE;;;;;;;;;;;0BAexF,iBAAiB,QAAQ;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAyBhD,iBAAiB,QAAQ;YAC/C,eAAe,EAAE,MAAM,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;SACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAmCuB,iBAAiB,QAAQ;YAC/C,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;SACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAqBuB,iBAAiB,QAAQ;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;0BAiBpF,iBAAiB,QAAQ;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE;;CAQlI,CAAC"}
@@ -0,0 +1,125 @@
1
+ import { z } from 'zod';
2
+ import { ActorSchema } from '../schemas.js';
3
+ export const resourceTools = {
4
+ 'resource.list': {
5
+ description: '[Gestión de Recursos] Lista los recursos físicos de una organización (salas, boxes, sillas, equipamiento). Soporta filtros opcionales por tipo y estado activo.',
6
+ schema: z.object({
7
+ organization_id: z.string().describe('ID de la organización'),
8
+ type: z.enum(['room', 'box', 'chair', 'equipment']).optional()
9
+ .describe('Filtrar por tipo de recurso'),
10
+ is_active: z.boolean().optional()
11
+ .describe('Filtrar por estado activo/inactivo'),
12
+ }),
13
+ handler: async (client, args) => {
14
+ return client.get('/coordinalo/resources', {
15
+ organizationId: args.organization_id,
16
+ type: args.type,
17
+ isActive: args.is_active !== undefined ? String(args.is_active) : undefined,
18
+ });
19
+ },
20
+ },
21
+ 'resource.get': {
22
+ description: '[Gestión de Recursos] Obtiene los detalles completos de un recurso físico, incluyendo sus bloques de disponibilidad recurrente (ResourceAvailability).',
23
+ schema: z.object({
24
+ resource_id: z.string().describe('ID del recurso'),
25
+ }),
26
+ handler: async (client, args) => {
27
+ return client.get(`/coordinalo/resources/${args.resource_id}`);
28
+ },
29
+ },
30
+ 'resource.create': {
31
+ description: '[Gestión de Recursos] Crea un nuevo recurso físico para una organización. El recurso se crea activo por defecto. Valida todos los campos según el schema Resource (Dimensión 3.5b del protocolo).',
32
+ schema: z.object({
33
+ organization_id: z.string().describe('ID de la organización propietaria'),
34
+ name: z.string().describe('Nombre del recurso (ej: "Box 3", "Sala Principal")'),
35
+ type: z.enum(['room', 'box', 'chair', 'equipment']).optional()
36
+ .describe('Tipo de recurso físico'),
37
+ capacity: z.number().default(1)
38
+ .describe('Capacidad simultánea del recurso'),
39
+ buffer_minutes: z.number().default(0)
40
+ .describe('Minutos de preparación entre sesiones'),
41
+ equipment: z.array(z.string()).optional()
42
+ .describe('Equipamiento disponible en el recurso'),
43
+ location: z.string().optional()
44
+ .describe('Ubicación física del recurso dentro de la organización'),
45
+ rules: z.record(z.unknown()).optional()
46
+ .describe('Reglas específicas del recurso'),
47
+ actor: ActorSchema.describe('Quién realiza la acción'),
48
+ }),
49
+ handler: async (client, args) => {
50
+ return client.post('/coordinalo/resources', {
51
+ organizationId: args.organization_id,
52
+ name: args.name,
53
+ type: args.type,
54
+ capacity: args.capacity,
55
+ bufferMinutes: args.buffer_minutes,
56
+ equipment: args.equipment,
57
+ location: args.location,
58
+ rules: args.rules,
59
+ actor: args.actor,
60
+ });
61
+ },
62
+ },
63
+ 'resource.update': {
64
+ description: '[Gestión de Recursos] Actualiza parcialmente un recurso físico existente (patch semantics). Solo se modifican los campos proporcionados; los demás permanecen sin cambio.',
65
+ schema: z.object({
66
+ resource_id: z.string().describe('ID del recurso a actualizar'),
67
+ name: z.string().optional().describe('Nuevo nombre del recurso'),
68
+ type: z.enum(['room', 'box', 'chair', 'equipment']).optional()
69
+ .describe('Nuevo tipo de recurso'),
70
+ capacity: z.number().optional()
71
+ .describe('Nueva capacidad simultánea'),
72
+ buffer_minutes: z.number().optional()
73
+ .describe('Nuevos minutos de preparación entre sesiones'),
74
+ equipment: z.array(z.string()).optional()
75
+ .describe('Nuevo equipamiento disponible'),
76
+ location: z.string().optional()
77
+ .describe('Nueva ubicación física'),
78
+ rules: z.record(z.unknown()).optional()
79
+ .describe('Nuevas reglas específicas'),
80
+ actor: ActorSchema.describe('Quién realiza la acción'),
81
+ }),
82
+ handler: async (client, args) => {
83
+ return client.patch(`/coordinalo/resources/${args.resource_id}`, {
84
+ name: args.name,
85
+ type: args.type,
86
+ capacity: args.capacity,
87
+ bufferMinutes: args.buffer_minutes,
88
+ equipment: args.equipment,
89
+ location: args.location,
90
+ rules: args.rules,
91
+ actor: args.actor,
92
+ });
93
+ },
94
+ },
95
+ 'resource.delete': {
96
+ description: '[Gestión de Recursos] Desactiva un recurso físico (soft delete — establece is_active = false). El recurso nunca se elimina físicamente; solo se marca como inactivo y deja de aparecer en búsquedas y disponibilidad.',
97
+ schema: z.object({
98
+ resource_id: z.string().describe('ID del recurso a desactivar'),
99
+ actor: ActorSchema.describe('Quién realiza la acción'),
100
+ }),
101
+ handler: async (client, args) => {
102
+ return client.patch(`/coordinalo/resources/${args.resource_id}`, {
103
+ isActive: false,
104
+ actor: args.actor,
105
+ });
106
+ },
107
+ },
108
+ 'resource.get_availability': {
109
+ description: '[Gestión de Recursos] Consulta la disponibilidad de un recurso físico en un rango de fechas. Retorna los slots disponibles del recurso independiente de cualquier servicio — es una consulta pura al calendario del recurso. Útil para planificación de capacidad y verificación de conflictos.',
110
+ schema: z.object({
111
+ resource_id: z.string().describe('ID del recurso'),
112
+ date_from: z.string().describe('Fecha de inicio del rango (ISO date, ej: 2026-03-15)'),
113
+ date_to: z.string().describe('Fecha de fin del rango (ISO date, ej: 2026-03-22)'),
114
+ timezone: z.string().optional().describe('Zona horaria IANA (ej: America/Santiago). Por defecto usa la del recurso.'),
115
+ }),
116
+ handler: async (client, args) => {
117
+ return client.get(`/coordinalo/resources/${args.resource_id}/availability`, {
118
+ dateFrom: args.date_from,
119
+ dateTo: args.date_to,
120
+ timezone: args.timezone,
121
+ });
122
+ },
123
+ },
124
+ };
125
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/tools/authenticated/resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import type { ServicialoAdapter } from '../../adapter.js';
3
+ export declare const a2aTools: {
4
+ 'a2a.get_agent_card': {
5
+ description: string;
6
+ schema: z.ZodObject<{
7
+ org_slug: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ org_slug: string;
10
+ }, {
11
+ org_slug: string;
12
+ }>;
13
+ handler: (client: ServicialoAdapter, args: {
14
+ org_slug: string;
15
+ }) => Promise<unknown>;
16
+ };
17
+ };
18
+ //# sourceMappingURL=a2a.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/tools/public/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,QAAQ;;;;;;;;;;0BAQO,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE;;CAOxE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ export const a2aTools = {
3
+ 'a2a.get_agent_card': {
4
+ description: 'Get the A2A Agent Card for a Servicialo-compatible organization. ' +
5
+ 'Use this to discover booking capabilities before attempting to book.',
6
+ schema: z.object({
7
+ org_slug: z.string().describe('Organization slug (e.g. "clinica-dental-sur")'),
8
+ }),
9
+ handler: async (client, args) => {
10
+ const result = await client.pub.get(`/api/${args.org_slug}/.well-known/agent.json`);
11
+ return result;
12
+ },
13
+ },
14
+ };
15
+ //# sourceMappingURL=a2a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/tools/public/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,oBAAoB,EAAE;QACpB,WAAW,EACT,mEAAmE;YACnE,sEAAsE;QACxE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SAC/E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,IAA0B,EAAE,EAAE;YACvE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CACjC,QAAQ,IAAI,CAAC,QAAQ,yBAAyB,CAC/C,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import type { CoordinaloClient } from '../../client.js';
2
+ import type { ServicialoAdapter } from '../../adapter.js';
3
3
  export declare const publicAvailabilityTools: {
4
4
  'scheduling.check_availability': {
5
5
  description: string;
@@ -25,7 +25,7 @@ export declare const publicAvailabilityTools: {
25
25
  provider_id?: string | undefined;
26
26
  resource_id?: string | undefined;
27
27
  }>;
28
- handler: (client: CoordinaloClient, args: {
28
+ handler: (client: ServicialoAdapter, args: {
29
29
  org_slug: string;
30
30
  service_id?: string;
31
31
  provider_id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../../src/tools/public/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;0BAWR,gBAAgB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE;;CAU5K,CAAC"}
1
+ {"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../../src/tools/public/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;0BAWR,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE;;CAU7K,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"availability.js","sourceRoot":"","sources":["../../../src/tools/public/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,+BAA+B,EAAE;QAC/B,WAAW,EAAE,oSAAoS;QACjT,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iFAAiF,CAAC;YAC9H,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SACrE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,IAA+H,EAAE,EAAE;YAC3K,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,eAAe,EAAE;gBACrE,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,EAAE,EAAE,IAAI,CAAC,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"availability.js","sourceRoot":"","sources":["../../../src/tools/public/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,+BAA+B,EAAE;QAC/B,WAAW,EAAE,oSAAoS;QACjT,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iFAAiF,CAAC;YAC9H,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SACrE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,IAA+H,EAAE,EAAE;YAC5K,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,eAAe,EAAE;gBACrE,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,EAAE,EAAE,IAAI,CAAC,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import type { CoordinaloClient } from '../../client.js';
2
+ import type { ServicialoAdapter } from '../../adapter.js';
3
3
  export declare const registryTools: {
4
4
  'registry.search': {
5
5
  description: string;
@@ -19,14 +19,17 @@ export declare const registryTools: {
19
19
  country?: string | undefined;
20
20
  limit?: number | undefined;
21
21
  }>;
22
- handler: (client: CoordinaloClient, args: {
22
+ handler: (client: ServicialoAdapter, args: {
23
23
  vertical: string;
24
24
  location?: string;
25
25
  country?: string;
26
26
  limit?: number;
27
- }) => Promise<{
28
- _deprecated: boolean;
29
- }>;
27
+ }) => Promise<unknown>;
28
+ };
29
+ 'registry.manifest': {
30
+ description: string;
31
+ schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
32
+ handler: (client: ServicialoAdapter) => Promise<unknown>;
30
33
  };
31
34
  'registry.get_organization': {
32
35
  description: string;
@@ -40,12 +43,10 @@ export declare const registryTools: {
40
43
  org_slug: string;
41
44
  country?: string | undefined;
42
45
  }>;
43
- handler: (client: CoordinaloClient, args: {
46
+ handler: (client: ServicialoAdapter, args: {
44
47
  org_slug: string;
45
48
  country?: string;
46
- }) => Promise<{
47
- _deprecated: boolean;
48
- }>;
49
+ }) => Promise<unknown>;
49
50
  };
50
51
  };
51
52
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/public/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;0BASE,gBAAgB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;0BAiBjG,gBAAgB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;CAOzF,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/public/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;0BASE,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;0BAclG,iBAAiB;;;;;;;;;;;;;;0BAYjB,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;CAO1F,CAAC"}
@@ -15,7 +15,15 @@ export const registryTools = {
15
15
  country: args.country ?? 'cl',
16
16
  limit: args.limit,
17
17
  });
18
- return { ...result, _deprecated: true };
18
+ return result;
19
+ },
20
+ },
21
+ 'registry.manifest': {
22
+ description: 'Obtiene el manifiesto del servidor Servicialo: versión del protocolo, nombre, descripción y endpoints disponibles',
23
+ schema: z.object({}),
24
+ handler: async (client) => {
25
+ const result = await client.pub.get('/api/servicialo/manifest');
26
+ return result;
19
27
  },
20
28
  },
21
29
  'registry.get_organization': {
@@ -28,7 +36,7 @@ export const registryTools = {
28
36
  const result = await client.pub.get(`/api/servicialo/${args.org_slug}/services`, {
29
37
  country: args.country ?? 'cl',
30
38
  });
31
- return { ...result, _deprecated: true };
39
+ return result;
32
40
  },
33
41
  },
34
42
  };