@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,187 @@
1
+ /**
2
+ * HttpAdapter — generic adapter for any Servicialo-compatible implementation
3
+ * that exposes the canonical HTTP_PROFILE.md REST endpoints.
4
+ *
5
+ * Path translation:
6
+ * Coordinalo internal paths (used by tool handlers) are translated to
7
+ * canonical /v1/* paths defined in HTTP_PROFILE.md.
8
+ *
9
+ * Public endpoints:
10
+ * /api/servicialo/registry → /v1/registry
11
+ * /api/servicialo/{slug}/services → /v1/organizations/{slug}/services
12
+ * /api/servicialo/{slug}/availability → /v1/organizations/{slug}/availability
13
+ *
14
+ * Authenticated endpoints:
15
+ * /coordinalo/* → /v1/*
16
+ * /relacionalo/clients/upsert → /v1/clients
17
+ * /planificalo/* → /v1/*
18
+ *
19
+ * Unlike CoordinaloClient, this adapter does NOT prefix paths with
20
+ * /api/organizations/{orgId}. The org context is communicated via
21
+ * the X-Servicialo-Org header (or the implementation's own mechanism).
22
+ */
23
+ export class HttpAdapter {
24
+ baseUrl;
25
+ apiKey;
26
+ orgId;
27
+ constructor(config) {
28
+ this.baseUrl = config.baseUrl.replace(/\/+$/, '');
29
+ this.apiKey = config.apiKey;
30
+ this.orgId = config.orgId;
31
+ }
32
+ get isAuthenticated() {
33
+ return !!this.apiKey;
34
+ }
35
+ // --- Path translation ---
36
+ /**
37
+ * Translate a Coordinalo-internal path to a canonical HTTP_PROFILE.md path.
38
+ */
39
+ translatePath(path) {
40
+ // Public: /api/servicialo/manifest → /v1/manifest
41
+ if (path === '/api/servicialo/manifest') {
42
+ return '/v1/manifest';
43
+ }
44
+ // Public: /api/servicialo/registry → /v1/registry
45
+ if (path === '/api/servicialo/registry') {
46
+ return '/v1/registry';
47
+ }
48
+ // Public: /api/servicialo/{slug}/* → /v1/organizations/{slug}/*
49
+ const pubMatch = path.match(/^\/api\/servicialo\/([^/]+)\/(.+)$/);
50
+ if (pubMatch) {
51
+ return `/v1/organizations/${pubMatch[1]}/${pubMatch[2]}`;
52
+ }
53
+ // Authenticated: /relacionalo/clients/upsert → /v1/clients
54
+ if (path === '/relacionalo/clients/upsert') {
55
+ return '/v1/clients';
56
+ }
57
+ // Authenticated: /coordinalo/* → /v1/*
58
+ if (path.startsWith('/coordinalo/')) {
59
+ return '/v1/' + path.slice('/coordinalo/'.length);
60
+ }
61
+ // Authenticated: /planificalo/* → /v1/*
62
+ if (path.startsWith('/planificalo/')) {
63
+ return '/v1/' + path.slice('/planificalo/'.length);
64
+ }
65
+ // Absolute /api/* paths: pass through
66
+ if (path.startsWith('/api/')) {
67
+ return path;
68
+ }
69
+ // Fallback: prefix with /v1
70
+ return '/v1' + path;
71
+ }
72
+ // --- Headers ---
73
+ authHeaders() {
74
+ const headers = {
75
+ 'Content-Type': 'application/json',
76
+ };
77
+ if (this.apiKey) {
78
+ headers['Authorization'] = `Bearer ${this.apiKey}`;
79
+ }
80
+ if (this.orgId) {
81
+ headers['X-Servicialo-Org'] = this.orgId;
82
+ }
83
+ return headers;
84
+ }
85
+ publicHeaders() {
86
+ const headers = {
87
+ 'Content-Type': 'application/json',
88
+ };
89
+ if (this.orgId) {
90
+ headers['X-Servicialo-Org'] = this.orgId;
91
+ }
92
+ return headers;
93
+ }
94
+ buildUrl(path) {
95
+ return `${this.baseUrl}${this.translatePath(path)}`;
96
+ }
97
+ // --- Public API ---
98
+ pub = {
99
+ get: async (path, params) => {
100
+ const url = new URL(this.buildUrl(path));
101
+ if (params) {
102
+ for (const [key, value] of Object.entries(params)) {
103
+ if (value !== undefined) {
104
+ url.searchParams.set(key, String(value));
105
+ }
106
+ }
107
+ }
108
+ const res = await fetch(url.toString(), {
109
+ method: 'GET',
110
+ headers: this.publicHeaders(),
111
+ });
112
+ if (!res.ok) {
113
+ const body = await res.text();
114
+ throw new Error(`GET ${path} failed (${res.status}): ${body}`);
115
+ }
116
+ return res.json();
117
+ },
118
+ };
119
+ // --- Authenticated API ---
120
+ async get(path, params) {
121
+ const url = new URL(this.buildUrl(path));
122
+ if (params) {
123
+ for (const [key, value] of Object.entries(params)) {
124
+ if (value !== undefined) {
125
+ url.searchParams.set(key, String(value));
126
+ }
127
+ }
128
+ }
129
+ const res = await fetch(url.toString(), {
130
+ method: 'GET',
131
+ headers: this.authHeaders(),
132
+ });
133
+ if (!res.ok) {
134
+ const body = await res.text();
135
+ throw new Error(`GET ${path} failed (${res.status}): ${body}`);
136
+ }
137
+ return res.json();
138
+ }
139
+ async post(path, body) {
140
+ const res = await fetch(this.buildUrl(path), {
141
+ method: 'POST',
142
+ headers: this.authHeaders(),
143
+ body: body !== undefined ? JSON.stringify(body) : undefined,
144
+ });
145
+ if (!res.ok) {
146
+ const text = await res.text();
147
+ throw new Error(`POST ${path} failed (${res.status}): ${text}`);
148
+ }
149
+ return res.json();
150
+ }
151
+ async put(path, body) {
152
+ const res = await fetch(this.buildUrl(path), {
153
+ method: 'PUT',
154
+ headers: this.authHeaders(),
155
+ body: body !== undefined ? JSON.stringify(body) : undefined,
156
+ });
157
+ if (!res.ok) {
158
+ const text = await res.text();
159
+ throw new Error(`PUT ${path} failed (${res.status}): ${text}`);
160
+ }
161
+ return res.json();
162
+ }
163
+ async patch(path, body) {
164
+ const res = await fetch(this.buildUrl(path), {
165
+ method: 'PATCH',
166
+ headers: this.authHeaders(),
167
+ body: body !== undefined ? JSON.stringify(body) : undefined,
168
+ });
169
+ if (!res.ok) {
170
+ const text = await res.text();
171
+ throw new Error(`PATCH ${path} failed (${res.status}): ${text}`);
172
+ }
173
+ return res.json();
174
+ }
175
+ async delete(path) {
176
+ const res = await fetch(this.buildUrl(path), {
177
+ method: 'DELETE',
178
+ headers: this.authHeaders(),
179
+ });
180
+ if (!res.ok) {
181
+ const text = await res.text();
182
+ throw new Error(`DELETE ${path} failed (${res.status}): ${text}`);
183
+ }
184
+ return res.json();
185
+ }
186
+ }
187
+ //# sourceMappingURL=adapter-http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-http.js","sourceRoot":"","sources":["../src/adapter-http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAUH,MAAM,OAAO,WAAW;IACd,OAAO,CAAS;IAChB,MAAM,CAAqB;IAC3B,KAAK,CAAqB;IAElC,YAAY,MAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,2BAA2B;IAE3B;;OAEG;IACK,aAAa,CAAC,IAAY;QAChC,kDAAkD;QAClD,IAAI,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACxC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,kDAAkD;QAClD,IAAI,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACxC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,gEAAgE;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAClE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,qBAAqB,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,KAAK,6BAA6B,EAAE,CAAC;YAC3C,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACpC,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACrC,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4BAA4B;QAC5B,OAAO,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,kBAAkB;IAEV,WAAW;QACjB,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,qBAAqB;IAEZ,GAAG,GAAG;QACb,GAAG,EAAE,KAAK,EAAE,IAAY,EAAE,MAAoD,EAAoB,EAAE;YAClG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACtC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;IAEF,4BAA4B;IAE5B,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,MAAoD;QAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAc;QACrC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAc;QACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAAc;QACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * ServicialoAdapter — pluggable backend interface for the MCP server.
3
+ *
4
+ * Any Servicialo-compatible implementation can be connected by providing
5
+ * an adapter that implements this interface. The MCP server delegates all
6
+ * backend calls through this abstraction.
7
+ *
8
+ * Built-in adapters:
9
+ * - CoordinaloClient (SERVICIALO_ADAPTER=coordinalo, default)
10
+ * - HttpAdapter (SERVICIALO_ADAPTER=http)
11
+ */
12
+ export interface ServicialoAdapter {
13
+ /** Whether the adapter has credentials for authenticated operations. */
14
+ readonly isAuthenticated: boolean;
15
+ /** Public API — no authentication required. */
16
+ readonly pub: {
17
+ get(path: string, params?: Record<string, string | number | undefined>): Promise<unknown>;
18
+ };
19
+ /** Authenticated GET with optional query parameters. */
20
+ get(path: string, params?: Record<string, string | number | undefined>): Promise<unknown>;
21
+ /** Authenticated POST with optional JSON body. */
22
+ post(path: string, body?: unknown): Promise<unknown>;
23
+ /** Authenticated PUT with optional JSON body. */
24
+ put(path: string, body?: unknown): Promise<unknown>;
25
+ /** Authenticated PATCH with optional JSON body. */
26
+ patch(path: string, body?: unknown): Promise<unknown>;
27
+ /** Authenticated DELETE. */
28
+ delete(path: string): Promise<unknown>;
29
+ }
30
+ export type AdapterType = 'coordinalo' | 'http';
31
+ /**
32
+ * Factory: create the appropriate adapter based on SERVICIALO_ADAPTER env var.
33
+ *
34
+ * - "coordinalo" (default): connects to a Coordinalo-compatible backend.
35
+ * Paths are org-scoped under /api/organizations/{orgId}.
36
+ *
37
+ * - "http": connects to any implementation that exposes the canonical
38
+ * HTTP_PROFILE.md REST endpoints under /v1/*.
39
+ * Requires SERVICIALO_BASE_URL to point to the implementation's root.
40
+ */
41
+ export declare function createAdapter(): Promise<ServicialoAdapter>;
42
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,EAAE;QACZ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3F,CAAC;IAEF,wDAAwD;IACxD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1F,kDAAkD;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErD,iDAAiD;IACjD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpD,mDAAmD;IACnD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;AAEhD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAqBhE"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * ServicialoAdapter — pluggable backend interface for the MCP server.
3
+ *
4
+ * Any Servicialo-compatible implementation can be connected by providing
5
+ * an adapter that implements this interface. The MCP server delegates all
6
+ * backend calls through this abstraction.
7
+ *
8
+ * Built-in adapters:
9
+ * - CoordinaloClient (SERVICIALO_ADAPTER=coordinalo, default)
10
+ * - HttpAdapter (SERVICIALO_ADAPTER=http)
11
+ */
12
+ /**
13
+ * Factory: create the appropriate adapter based on SERVICIALO_ADAPTER env var.
14
+ *
15
+ * - "coordinalo" (default): connects to a Coordinalo-compatible backend.
16
+ * Paths are org-scoped under /api/organizations/{orgId}.
17
+ *
18
+ * - "http": connects to any implementation that exposes the canonical
19
+ * HTTP_PROFILE.md REST endpoints under /v1/*.
20
+ * Requires SERVICIALO_BASE_URL to point to the implementation's root.
21
+ */
22
+ export async function createAdapter() {
23
+ const adapterType = (process.env.SERVICIALO_ADAPTER || 'coordinalo');
24
+ const baseUrl = process.env.SERVICIALO_BASE_URL || 'http://localhost:3000';
25
+ const config = {
26
+ baseUrl,
27
+ apiKey: process.env.SERVICIALO_API_KEY,
28
+ orgId: process.env.SERVICIALO_ORG_ID,
29
+ };
30
+ switch (adapterType) {
31
+ case 'http': {
32
+ const { HttpAdapter } = await import('./adapter-http.js');
33
+ return new HttpAdapter(config);
34
+ }
35
+ case 'coordinalo':
36
+ default: {
37
+ const { CoordinaloClient } = await import('./client.js');
38
+ return new CoordinaloClient(config);
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA6BH;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,YAAY,CAAgB,CAAC;IACpF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,uBAAuB,CAAC;IAE3E,MAAM,MAAM,GAAG;QACb,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QACtC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;KACrC,CAAC;IAEF,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC1D,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,YAAY,CAAC;QAClB,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACzD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/client.d.ts CHANGED
@@ -4,13 +4,17 @@
4
4
  * Supports two modes:
5
5
  * - Public: calls to /api/servicialo/* without Authorization header
6
6
  * - Authenticated: calls to /api/organizations/{orgSlug}/* with Bearer token
7
+ *
8
+ * Implements ServicialoAdapter — the pluggable backend interface used by
9
+ * all MCP tool handlers. This is the default adapter (SERVICIALO_ADAPTER=coordinalo).
7
10
  */
11
+ import type { ServicialoAdapter } from './adapter.js';
8
12
  export interface ClientConfig {
9
13
  baseUrl: string;
10
14
  apiKey?: string;
11
15
  orgId?: string;
12
16
  }
13
- export declare class CoordinaloClient {
17
+ export declare class CoordinaloClient implements ServicialoAdapter {
14
18
  private baseUrl;
15
19
  private apiKey;
16
20
  private orgId;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAqB;gBAEtB,MAAM,EAAE,YAAY;IAMhC,sEAAsE;IACtE,IAAI,eAAe,IAAI,OAAO,CAE7B;IAID,6CAA6C;IAC7C,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAOhB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAMtB,QAAQ,CAAC,GAAG;oBACQ,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,KAAG,OAAO,CAAC,OAAO,CAAC;MAoCjG;IAII,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBzF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAepD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAenD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAerD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAa7C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAqB;gBAEtB,MAAM,EAAE,YAAY;IAMhC,sEAAsE;IACtE,IAAI,eAAe,IAAI,OAAO,CAE7B;IAID,6CAA6C;IAC7C,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAOhB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAMtB,QAAQ,CAAC,GAAG;oBACQ,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,KAAG,OAAO,CAAC,OAAO,CAAC;MAoCjG;IAII,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBzF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAepD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAenD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAerD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAa7C"}
package/dist/client.js CHANGED
@@ -4,6 +4,9 @@
4
4
  * Supports two modes:
5
5
  * - Public: calls to /api/servicialo/* without Authorization header
6
6
  * - Authenticated: calls to /api/organizations/{orgSlug}/* with Bearer token
7
+ *
8
+ * Implements ServicialoAdapter — the pluggable backend interface used by
9
+ * all MCP tool handlers. This is the default adapter (SERVICIALO_ADAPTER=coordinalo).
7
10
  */
8
11
  export class CoordinaloClient {
9
12
  baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,OAAO,gBAAgB;IACnB,OAAO,CAAS;IAChB,MAAM,CAAqB;IAC3B,KAAK,CAAqB;IAElC,YAAY,MAAoB;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,sEAAsE;IACtE,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,0BAA0B;IAE1B,6CAA6C;IACrC,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,sBAAsB,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO;YACL,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;YACxC,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,OAAO;YACL,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,QAAQ,CAAC,IAAY;QAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IACnD,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,IAAY;QACjC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,wCAAwC;IAE/B,GAAG,GAAG;QACb,GAAG,EAAE,KAAK,EAAE,IAAY,EAAE,MAAoD,EAAoB,EAAE;YAClG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACpC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;aAC9B,CAAC,CAAC;YAEH,4DAA4D;YAC5D,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtC,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;oBAChC,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,OAAO,IAAI,mFAAmF,CAC/F,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;IAEF,4BAA4B;IAE5B,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,MAAoD;QAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAc;QACrC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAc;QACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAAc;QACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ export declare function createSandboxServer(): McpServer;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6HpE,wBAAgB,mBAAmB,cASlC"}
package/dist/index.js CHANGED
@@ -1,43 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
- import { CoordinaloClient } from './client.js';
4
+ import { createAdapter } from './adapter.js';
5
5
  import { detectMode } from './mode.js';
6
6
  // --- Public tools ---
7
7
  import { registryTools } from './tools/public/registry.js';
8
8
  import { publicAvailabilityTools } from './tools/public/availability.js';
9
9
  import { publicServicesTools } from './tools/public/services.js';
10
+ import { resolveTools } from './tools/public/resolve.js';
11
+ import { a2aTools } from './tools/public/a2a.js';
10
12
  // --- Authenticated tools (Phases 2–6) ---
11
13
  import { entenderTools } from './tools/authenticated/entender.js';
12
14
  import { comprometerTools } from './tools/authenticated/comprometer.js';
13
15
  import { lifecycleTools } from './tools/authenticated/lifecycle.js';
14
16
  import { deliveryTools } from './tools/authenticated/delivery.js';
15
17
  import { cerrarTools } from './tools/authenticated/cerrar.js';
16
- // --- Detect mode ---
17
- const mode = detectMode();
18
- const BASE_URL = process.env.SERVICIALO_BASE_URL || 'http://localhost:3000';
19
- if (mode === 'authenticated') {
20
- console.error(`Servicialo MCP — modo autenticado [org: ${process.env.SERVICIALO_ORG_ID}]`);
21
- }
22
- else {
23
- console.error('Servicialo MCP — modo discovery (sin credenciales)');
24
- }
25
- // --- Init client ---
26
- const apiClient = new CoordinaloClient({
27
- baseUrl: BASE_URL,
28
- apiKey: process.env.SERVICIALO_API_KEY,
29
- orgId: process.env.SERVICIALO_ORG_ID,
30
- });
31
- // --- Init MCP server ---
32
- const server = new McpServer({
33
- name: 'servicialo',
34
- version: '0.6.0',
35
- });
18
+ import { resourceTools } from './tools/authenticated/resource.js';
19
+ import { resolveAuthTools } from './tools/authenticated/resolve-auth.js';
36
20
  // --- Public tools (always registered) ---
37
21
  const publicTools = {
38
22
  ...registryTools,
39
23
  ...publicAvailabilityTools,
40
24
  ...publicServicesTools,
25
+ ...resolveTools,
26
+ ...a2aTools,
41
27
  };
42
28
  // --- Authenticated tools (only in authenticated mode) ---
43
29
  const authenticatedTools = {
@@ -46,46 +32,64 @@ const authenticatedTools = {
46
32
  ...lifecycleTools,
47
33
  ...deliveryTools,
48
34
  ...cerrarTools,
35
+ ...resourceTools,
36
+ ...resolveAuthTools,
49
37
  };
50
- // --- Register tools ---
51
- function registerTools(tools) {
52
- for (const [name, tool] of Object.entries(tools)) {
53
- server.tool(name, tool.description, tool.schema.shape, async (args) => {
54
- try {
55
- const result = await tool.handler(apiClient, args);
56
- return {
57
- content: [
58
- {
59
- type: 'text',
60
- text: JSON.stringify(result, null, 2),
61
- },
62
- ],
63
- };
64
- }
65
- catch (error) {
66
- const message = error instanceof Error ? error.message : String(error);
67
- return {
68
- content: [
69
- {
70
- type: 'text',
71
- text: `Error: ${message}`,
72
- },
73
- ],
74
- isError: true,
75
- };
76
- }
77
- });
78
- }
79
- }
80
- // Always register public tools
81
- registerTools(publicTools);
82
- if (mode === 'authenticated') {
83
- // Register authenticated tools only when credentials are present
84
- registerTools(authenticatedTools);
85
- }
86
- // Discovery mode: only the 4 public tools are exposed
87
38
  // --- Connect via stdio ---
88
39
  async function main() {
40
+ // --- Detect mode ---
41
+ const mode = detectMode();
42
+ const adapterType = process.env.SERVICIALO_ADAPTER || 'coordinalo';
43
+ if (mode === 'authenticated') {
44
+ console.error(`Servicialo MCP — modo autenticado [org: ${process.env.SERVICIALO_ORG_ID}, adapter: ${adapterType}]`);
45
+ }
46
+ else {
47
+ console.error(`Servicialo MCP — modo discovery (adapter: ${adapterType})`);
48
+ }
49
+ // --- Init adapter ---
50
+ const adapter = await createAdapter();
51
+ // --- Init MCP server ---
52
+ const server = new McpServer({
53
+ name: 'servicialo',
54
+ version: '0.8.0',
55
+ });
56
+ // --- Register tools ---
57
+ function registerTools(tools) {
58
+ for (const [name, tool] of Object.entries(tools)) {
59
+ server.tool(name, tool.description, tool.schema.shape, async (args) => {
60
+ try {
61
+ const result = await tool.handler(adapter, args);
62
+ return {
63
+ content: [
64
+ {
65
+ type: 'text',
66
+ text: JSON.stringify(result, null, 2),
67
+ },
68
+ ],
69
+ };
70
+ }
71
+ catch (error) {
72
+ const message = error instanceof Error ? error.message : String(error);
73
+ return {
74
+ content: [
75
+ {
76
+ type: 'text',
77
+ text: `Error: ${message}`,
78
+ },
79
+ ],
80
+ isError: true,
81
+ };
82
+ }
83
+ });
84
+ }
85
+ }
86
+ // Always register public tools
87
+ registerTools(publicTools);
88
+ if (mode === 'authenticated') {
89
+ // Register authenticated tools only when credentials are present
90
+ registerTools(authenticatedTools);
91
+ }
92
+ // Discovery mode: only the 4 public tools are exposed
89
93
  const transport = new StdioServerTransport();
90
94
  await server.connect(transport);
91
95
  }
@@ -93,4 +97,15 @@ main().catch((error) => {
93
97
  console.error('Fatal error:', error);
94
98
  process.exit(1);
95
99
  });
100
+ // --- Smithery sandbox (for registry scanning) ---
101
+ export function createSandboxServer() {
102
+ const sandbox = new McpServer({ name: 'servicialo', version: '0.8.0' });
103
+ const allTools = { ...publicTools, ...authenticatedTools };
104
+ for (const [name, tool] of Object.entries(allTools)) {
105
+ sandbox.tool(name, tool.description, tool.schema.shape, async () => ({
106
+ content: [{ type: 'text', text: '{}' }],
107
+ }));
108
+ }
109
+ return sandbox;
110
+ }
96
111
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}