@icure/cardinal-mcp-server 1.0.0 → 1.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/resources/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QAkInD"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/resources/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqFpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QAqKnD"}
@@ -1,35 +1,107 @@
1
1
  import { z } from "zod";
2
2
  import { getManifest } from "../helpers/docs-loader.js";
3
+ /**
4
+ * Tokenize a query into lowercase words, splitting on spaces and camelCase boundaries.
5
+ * "filterContactsBy" -> ["filter", "contacts", "by"]
6
+ * "contact filter" -> ["contact", "filter"]
7
+ */
8
+ function tokenize(text) {
9
+ return text
10
+ // Split camelCase: "filterContactsBy" -> "filter Contacts By"
11
+ .replace(/([a-z])([A-Z])/g, "$1 $2")
12
+ .toLowerCase()
13
+ .split(/[\s_\-./]+/)
14
+ .filter(w => w.length > 0);
15
+ }
16
+ /**
17
+ * Score how well a text matches the query tokens.
18
+ * Returns 0 if any token has no match at all.
19
+ * Higher scores = better matches. Exact substring match of full query scores highest.
20
+ */
21
+ function scoreMatch(text, queryTokens, fullQueryLower) {
22
+ const textLower = text.toLowerCase();
23
+ const textTokens = tokenize(text);
24
+ // Exact full-query substring match gets highest score
25
+ if (textLower.includes(fullQueryLower))
26
+ return 100;
27
+ // Check each query token against the text
28
+ let totalScore = 0;
29
+ let allMatched = true;
30
+ for (const qt of queryTokens) {
31
+ // Direct substring match in full text
32
+ if (textLower.includes(qt)) {
33
+ totalScore += 10;
34
+ // Bonus for matching a whole token exactly
35
+ if (textTokens.includes(qt))
36
+ totalScore += 5;
37
+ continue;
38
+ }
39
+ // Prefix match on any text token (e.g., "form" matches "formId")
40
+ const prefixMatch = textTokens.some(tt => tt.startsWith(qt) || qt.startsWith(tt));
41
+ if (prefixMatch) {
42
+ totalScore += 5;
43
+ continue;
44
+ }
45
+ allMatched = false;
46
+ }
47
+ // If not all query tokens matched, heavily penalize but don't zero out
48
+ // (allows partial matches to still appear, ranked lower)
49
+ if (!allMatched) {
50
+ totalScore = Math.floor(totalScore / 3);
51
+ }
52
+ return totalScore;
53
+ }
54
+ /**
55
+ * Build a searchable text blob for an item, combining all relevant fields.
56
+ */
57
+ function apiSearchText(apiKey, apiName, description) {
58
+ return `${apiKey} ${apiName} ${description}`;
59
+ }
60
+ function methodSearchText(apiKey, methodName, description, paramNames) {
61
+ return `${apiKey} ${methodName} ${description} ${paramNames.join(" ")}`;
62
+ }
63
+ function filterSearchText(entityName, methodName, paramNames) {
64
+ return `${entityName} ${entityName}Filters ${methodName} filter ${paramNames.join(" ")}`;
65
+ }
3
66
  export function registerSearchTool(server) {
4
- server.tool("search_documentation", "Search Cardinal SDK documentation: API methods, models, and filters. No SDK initialization required.", {
5
- query: z.string().describe("Search term (e.g., 'patient', 'createCalendarItem', 'filter by date')"),
67
+ server.tool("search_documentation", "Search Cardinal SDK documentation: API methods, models, and filters. No SDK initialization required. Supports multi-word queries (e.g., 'contact filter', 'form patient', 'filter by date').", {
68
+ query: z.string().describe("Search term (e.g., 'patient', 'createCalendarItem', 'contact filter', 'filter forms by patient')"),
6
69
  category: z.enum(["all", "apis", "models", "filters", "tutorials"]).optional().default("all")
7
70
  .describe("Limit search to a category"),
8
71
  limit: z.number().optional().default(20).describe("Max results to return"),
9
72
  }, async ({ query, category, limit }) => {
10
73
  const manifest = getManifest();
11
- const queryLower = query.toLowerCase();
74
+ const queryTokens = tokenize(query);
75
+ const fullQueryLower = query.toLowerCase();
76
+ if (queryTokens.length === 0) {
77
+ return {
78
+ content: [{ type: "text", text: JSON.stringify({ query, resultCount: 0, results: [] }) }],
79
+ };
80
+ }
12
81
  const results = [];
13
82
  // Search APIs
14
83
  if (category === "all" || category === "apis") {
15
84
  for (const [key, api] of Object.entries(manifest.apis)) {
16
- // Match API name
17
- if (key.toLowerCase().includes(queryLower) || api.description.toLowerCase().includes(queryLower)) {
85
+ const score = scoreMatch(apiSearchText(key, api.name, api.description), queryTokens, fullQueryLower);
86
+ if (score > 0) {
18
87
  results.push({
19
88
  type: "api",
20
89
  name: api.name,
21
90
  description: api.description,
22
91
  uri: `cardinal://docs/api/${key}`,
92
+ score,
23
93
  });
24
94
  }
25
- // Match methods
26
95
  for (const method of api.methods) {
27
- if (method.name.toLowerCase().includes(queryLower) || method.description.toLowerCase().includes(queryLower)) {
96
+ const paramNames = method.params.map(p => p.name);
97
+ const score = scoreMatch(methodSearchText(key, method.name, method.description, paramNames), queryTokens, fullQueryLower);
98
+ if (score > 0) {
28
99
  results.push({
29
100
  type: "method",
30
101
  name: `${api.name}.${method.name}`,
31
- description: method.description || `${method.name}(${method.params.map(p => p.name).join(", ")}): ${method.returnType}`,
102
+ description: method.description || `${method.name}(${paramNames.join(", ")}): ${method.returnType}`,
32
103
  uri: `cardinal://docs/api/${key}`,
104
+ score,
33
105
  });
34
106
  }
35
107
  }
@@ -38,22 +110,27 @@ export function registerSearchTool(server) {
38
110
  // Search models
39
111
  if (category === "all" || category === "models") {
40
112
  for (const [key, model] of Object.entries(manifest.models)) {
41
- if (key.toLowerCase().includes(queryLower)) {
113
+ const modelText = `${key} ${model.name} ${(model.variants || []).join(" ")} ${(model.implements || []).join(" ")}`;
114
+ const score = scoreMatch(modelText, queryTokens, fullQueryLower);
115
+ if (score > 0) {
42
116
  results.push({
43
117
  type: "model",
44
118
  name: model.name,
45
119
  description: model.variants ? `Encryptable: ${model.variants.join(", ")}` : `${model.fields.length} fields`,
46
120
  uri: `cardinal://docs/model/${key}`,
121
+ score,
47
122
  });
48
123
  }
49
- // Also search field names
50
124
  for (const field of model.fields) {
51
- if (field.name.toLowerCase().includes(queryLower)) {
125
+ const fieldText = `${key} ${model.name} ${field.name} ${field.type}`;
126
+ const score = scoreMatch(fieldText, queryTokens, fullQueryLower);
127
+ if (score > 0) {
52
128
  results.push({
53
129
  type: "model_field",
54
130
  name: `${model.name}.${field.name}`,
55
131
  description: `${field.type}${field.description ? " — " + field.description : ""}`,
56
132
  uri: `cardinal://docs/model/${key}`,
133
+ score,
57
134
  });
58
135
  }
59
136
  }
@@ -62,21 +139,27 @@ export function registerSearchTool(server) {
62
139
  // Search filters
63
140
  if (category === "all" || category === "filters") {
64
141
  for (const [key, filter] of Object.entries(manifest.filters)) {
65
- if (key.toLowerCase().includes(queryLower)) {
142
+ const filterText = `${key} ${key}Filters filter`;
143
+ const score = scoreMatch(filterText, queryTokens, fullQueryLower);
144
+ if (score > 0) {
66
145
  results.push({
67
146
  type: "filter",
68
147
  name: `${key}Filters`,
69
- description: `${filter.methods.length} filter methods`,
148
+ description: `${filter.methods.length} filter methods for ${key}`,
70
149
  uri: `cardinal://docs/filter/${key}`,
150
+ score,
71
151
  });
72
152
  }
73
153
  for (const method of filter.methods) {
74
- if (method.name.toLowerCase().includes(queryLower)) {
154
+ const paramNames = method.params.map(p => p.name);
155
+ const score = scoreMatch(filterSearchText(key, method.name, paramNames), queryTokens, fullQueryLower);
156
+ if (score > 0) {
75
157
  results.push({
76
158
  type: "filter_method",
77
159
  name: `${key}Filters.${method.name}`,
78
160
  description: `(${method.params.map(p => `${p.name}: ${p.type}`).join(", ")})`,
79
161
  uri: `cardinal://docs/filter/${key}`,
162
+ score,
80
163
  });
81
164
  }
82
165
  }
@@ -85,19 +168,21 @@ export function registerSearchTool(server) {
85
168
  // Search tutorials
86
169
  if (category === "all" || category === "tutorials") {
87
170
  for (const tutorial of manifest.tutorials) {
88
- if (tutorial.title.toLowerCase().includes(queryLower) ||
89
- tutorial.slug.toLowerCase().includes(queryLower) ||
90
- tutorial.content.toLowerCase().includes(queryLower)) {
171
+ const tutorialText = `${tutorial.title} ${tutorial.slug} ${tutorial.content}`;
172
+ const score = scoreMatch(tutorialText, queryTokens, fullQueryLower);
173
+ if (score > 0) {
91
174
  results.push({
92
175
  type: "tutorial",
93
176
  name: tutorial.title,
94
177
  description: `Tutorial: ${tutorial.slug}`,
95
178
  uri: `cardinal://docs/tutorial/${tutorial.slug}`,
179
+ score,
96
180
  });
97
181
  }
98
182
  }
99
183
  }
100
- // Deduplicate and limit
184
+ // Sort by score descending, deduplicate, limit
185
+ results.sort((a, b) => b.score - a.score);
101
186
  const seen = new Set();
102
187
  const unique = results.filter(r => {
103
188
  const key = `${r.type}:${r.name}`;
@@ -106,13 +191,15 @@ export function registerSearchTool(server) {
106
191
  seen.add(key);
107
192
  return true;
108
193
  }).slice(0, limit);
194
+ // Strip score from output
195
+ const output = unique.map(({ score: _score, ...rest }) => rest);
109
196
  return {
110
197
  content: [{
111
198
  type: "text",
112
199
  text: JSON.stringify({
113
200
  query,
114
- resultCount: unique.length,
115
- results: unique,
201
+ resultCount: output.length,
202
+ results: output,
116
203
  }, null, 2),
117
204
  }],
118
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/resources/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/resources/search.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { dispatch } from "./dispatch.js";
3
- const ADMIN_APIS = ["Group", "User", "Role", "Permission", "System", "Auth", "ApplicationSettings"];
3
+ const ADMIN_APIS = ["Group", "User", "Role", "Permission", "System", "Auth"];
4
4
  export function registerAdminTools(server) {
5
5
  server.tool("cardinal_admin", `Execute admin operations. Covers: ${ADMIN_APIS.join(", ")} APIs. Use search_documentation to discover available methods.`, {
6
6
  api: z.enum(ADMIN_APIS).describe("Which admin API to use"),
@@ -1 +1 @@
1
- {"version":3,"file":"admin-tools.js","sourceRoot":"","sources":["../../src/tools/admin-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAqB,CAAU,CAAC;AAE7G,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IACnD,MAAM,CAAC,IAAI,CACV,gBAAgB,EAChB,qCAAqC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gEAAgE,EAC1H;QACC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;QACnF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACrG,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACjC,OAAO,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC,CACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"admin-tools.js","sourceRoot":"","sources":["../../src/tools/admin-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEtF,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IACnD,MAAM,CAAC,IAAI,CACV,gBAAgB,EAChB,qCAAqC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gEAAgE,EAC1H;QACC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;QACnF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACrG,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QACjC,OAAO,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC,CACD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-owner-tools.d.ts","sourceRoot":"","sources":["../../src/tools/data-owner-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QAcvD"}
1
+ {"version":3,"file":"data-owner-tools.d.ts","sourceRoot":"","sources":["../../src/tools/data-owner-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QAcvD"}
@@ -1,14 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { dispatch } from "./dispatch.js";
3
3
  const DATA_OWNER_APIS = [
4
- "HealthcareParty", "Patient", "Device",
5
- "AccessLog", "CalendarItem", "Classification", "Contact", "Document",
6
- "Form", "HealthElement", "Invoice", "MaintenanceTask", "Message",
7
- "Receipt", "TimeTable", "Topic",
8
- "Agenda", "CalendarItemType", "Code", "DocumentTemplate",
9
- "EntityReference", "EntityTemplate", "FrontEndMigration",
10
- "Insurance", "Keyword", "MedicalLocation", "Place", "Tarification",
11
- "FormTemplate",
4
+ "HealthcareParty", "Patient", "Device"
12
5
  ];
13
6
  const FLAVOUR_VALUES = ["decrypted", "encrypted", "tryAndRecover"];
14
7
  export function registerDataOwnerTools(server) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-owner-tools.js","sourceRoot":"","sources":["../../src/tools/data-owner-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,eAAe,GAAG;IACvB,iBAAiB,EAAE,SAAS,EAAE,QAAQ;IACtC,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU;IACpE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;IAChE,SAAS,EAAE,WAAW,EAAE,OAAO;IAC/B,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB;IACxD,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB;IACxD,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc;IAClE,cAAc;CACL,CAAC;AAEX,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAU,CAAC;AAE5E,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACV,qBAAqB,EACrB,2DAA2D,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qKAAqK,EAC1P;QACC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;QACnG,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;QACjI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACrG,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,OAAO,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC,CACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"data-owner-tools.js","sourceRoot":"","sources":["../../src/tools/data-owner-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,eAAe,GAAG;IACvB,iBAAiB,EAAE,SAAS,EAAE,QAAQ;CAC7B,CAAC;AAEX,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAU,CAAC;AAE5E,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACV,qBAAqB,EACrB,2DAA2D,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qKAAqK,EAC1P;QACC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;QACnG,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;QACjI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACrG,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,OAAO,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC,CACD,CAAC;AACH,CAAC"}
@@ -14566,18 +14566,18 @@
14566
14566
  },
14567
14567
  {
14568
14568
  "name": "deleteTimeTableById",
14569
- "description": "Deletes a timeTable. If you don't have write access to the timeTable the method will fail.",
14569
+ "description": "",
14570
14570
  "params": [
14571
14571
  {
14572
14572
  "name": "entityId",
14573
14573
  "type": "string",
14574
- "description": "id of the timeTable.",
14574
+ "description": "",
14575
14575
  "optional": false
14576
14576
  },
14577
14577
  {
14578
14578
  "name": "rev",
14579
14579
  "type": "string",
14580
- "description": "the latest known rev of the timeTable to delete",
14580
+ "description": "",
14581
14581
  "optional": false
14582
14582
  }
14583
14583
  ],
@@ -14586,19 +14586,16 @@
14586
14586
  "decrypted",
14587
14587
  "encrypted",
14588
14588
  "tryAndRecover"
14589
- ],
14590
- "throws": [
14591
- "RevisionConflictException if the provided revision doesn't match the latest known revision"
14592
14589
  ]
14593
14590
  },
14594
14591
  {
14595
14592
  "name": "deleteTimeTablesByIds",
14596
- "description": "Deletes many timeTables. Ids that do not correspond to an entity, or that correspond to an entity for which you don't have write access will be ignored.",
14593
+ "description": "",
14597
14594
  "params": [
14598
14595
  {
14599
14596
  "name": "entityIds",
14600
14597
  "type": "Array<StoredDocumentIdentifier>",
14601
- "description": "ids and revisions of the timeTables to delete.",
14598
+ "description": "",
14602
14599
  "optional": false
14603
14600
  }
14604
14601
  ],
@@ -14611,18 +14608,18 @@
14611
14608
  },
14612
14609
  {
14613
14610
  "name": "purgeTimeTableById",
14614
- "description": "Permanently deletes a timeTable.",
14611
+ "description": "",
14615
14612
  "params": [
14616
14613
  {
14617
14614
  "name": "id",
14618
14615
  "type": "string",
14619
- "description": "id of the timeTable to purge",
14616
+ "description": "",
14620
14617
  "optional": false
14621
14618
  },
14622
14619
  {
14623
14620
  "name": "rev",
14624
14621
  "type": "string",
14625
- "description": "latest revision of the timeTable",
14622
+ "description": "",
14626
14623
  "optional": false
14627
14624
  }
14628
14625
  ],
@@ -14631,19 +14628,16 @@
14631
14628
  "decrypted",
14632
14629
  "encrypted",
14633
14630
  "tryAndRecover"
14634
- ],
14635
- "throws": [
14636
- "RevisionConflictException if the provided revision doesn't match the latest known revision"
14637
14631
  ]
14638
14632
  },
14639
14633
  {
14640
14634
  "name": "deleteTimeTable",
14641
- "description": "Deletes a timeTable. If you don't have write access to the timeTable the method will fail.",
14635
+ "description": "",
14642
14636
  "params": [
14643
14637
  {
14644
14638
  "name": "timeTable",
14645
14639
  "type": "TimeTable",
14646
- "description": "the timeTable to delete",
14640
+ "description": "",
14647
14641
  "optional": false
14648
14642
  }
14649
14643
  ],
@@ -14652,19 +14646,16 @@
14652
14646
  "decrypted",
14653
14647
  "encrypted",
14654
14648
  "tryAndRecover"
14655
- ],
14656
- "throws": [
14657
- "RevisionConflictException if the provided timeTable doesn't match the latest known revision"
14658
14649
  ]
14659
14650
  },
14660
14651
  {
14661
14652
  "name": "deleteTimeTables",
14662
- "description": "Deletes many timeTables. Ignores timeTable for which you don't have write access or that don't match the latest revision.",
14653
+ "description": "",
14663
14654
  "params": [
14664
14655
  {
14665
14656
  "name": "timeTables",
14666
14657
  "type": "Array<TimeTable>",
14667
- "description": "the timeTables to delete",
14658
+ "description": "",
14668
14659
  "optional": false
14669
14660
  }
14670
14661
  ],
@@ -14677,12 +14668,12 @@
14677
14668
  },
14678
14669
  {
14679
14670
  "name": "purgeTimeTable",
14680
- "description": "Permanently deletes a timeTable.",
14671
+ "description": "",
14681
14672
  "params": [
14682
14673
  {
14683
14674
  "name": "timeTable",
14684
14675
  "type": "TimeTable",
14685
- "description": "the timeTable to purge.",
14676
+ "description": "",
14686
14677
  "optional": false
14687
14678
  }
14688
14679
  ],
@@ -14691,19 +14682,16 @@
14691
14682
  "decrypted",
14692
14683
  "encrypted",
14693
14684
  "tryAndRecover"
14694
- ],
14695
- "throws": [
14696
- "RevisionConflictException if the provided timeTable doesn't match the latest known revision"
14697
14685
  ]
14698
14686
  },
14699
14687
  {
14700
14688
  "name": "undeleteTimeTable",
14701
- "description": "Restores a timeTable that was marked as deleted.",
14689
+ "description": "",
14702
14690
  "params": [
14703
14691
  {
14704
14692
  "name": "timeTable",
14705
14693
  "type": "TimeTable",
14706
- "description": "the timeTable to undelete",
14694
+ "description": "",
14707
14695
  "optional": false
14708
14696
  }
14709
14697
  ],
@@ -14712,19 +14700,16 @@
14712
14700
  "decrypted",
14713
14701
  "encrypted",
14714
14702
  "tryAndRecover"
14715
- ],
14716
- "throws": [
14717
- "RevisionConflictException if the provided timeTable doesn't match the latest known revision"
14718
14703
  ]
14719
14704
  },
14720
14705
  {
14721
14706
  "name": "modifyTimeTable",
14722
- "description": "Modifies a time-table. You need to have write access to the entity. Flavoured method.",
14707
+ "description": "",
14723
14708
  "params": [
14724
14709
  {
14725
14710
  "name": "entity",
14726
14711
  "type": "TimeTable",
14727
- "description": "a time-table with update content",
14712
+ "description": "",
14728
14713
  "optional": false
14729
14714
  }
14730
14715
  ],
@@ -14737,18 +14722,18 @@
14737
14722
  },
14738
14723
  {
14739
14724
  "name": "undeleteTimeTableById",
14740
- "description": "Restores a timeTable that was marked as deleted.",
14725
+ "description": "",
14741
14726
  "params": [
14742
14727
  {
14743
14728
  "name": "id",
14744
14729
  "type": "string",
14745
- "description": "the id of the entity",
14730
+ "description": "",
14746
14731
  "optional": false
14747
14732
  },
14748
14733
  {
14749
14734
  "name": "rev",
14750
14735
  "type": "string",
14751
- "description": "the latest revision of the entity.",
14736
+ "description": "",
14752
14737
  "optional": false
14753
14738
  }
14754
14739
  ],
@@ -14757,19 +14742,16 @@
14757
14742
  "decrypted",
14758
14743
  "encrypted",
14759
14744
  "tryAndRecover"
14760
- ],
14761
- "throws": [
14762
- "RevisionConflictException if the provided revision doesn't match the latest known revision"
14763
14745
  ]
14764
14746
  },
14765
14747
  {
14766
14748
  "name": "getTimeTable",
14767
- "description": "Get a time-table by its id. You must have read access to the entity. Fails if the id does not correspond to any entity, corresponds to an entity that is not a time-table, or corresponds to an entity for which you don't have read access. Flavoured method.",
14749
+ "description": "",
14768
14750
  "params": [
14769
14751
  {
14770
14752
  "name": "entityId",
14771
14753
  "type": "string",
14772
- "description": "a time-table id.",
14754
+ "description": "",
14773
14755
  "optional": false
14774
14756
  }
14775
14757
  ],
@@ -14782,12 +14764,12 @@
14782
14764
  },
14783
14765
  {
14784
14766
  "name": "getTimeTables",
14785
- "description": "Get multiple time tables by their ids. Ignores all ids that do not correspond to an entity, correspond to an entity that is not a time table, or correspond to an entity for which you don't have read access. Flavoured method.",
14767
+ "description": "",
14786
14768
  "params": [
14787
14769
  {
14788
14770
  "name": "timeTableIds",
14789
14771
  "type": "Array<string>",
14790
- "description": "a list of time table ids",
14772
+ "description": "",
14791
14773
  "optional": false
14792
14774
  }
14793
14775
  ],
@@ -14848,12 +14830,12 @@
14848
14830
  },
14849
14831
  {
14850
14832
  "name": "filterTimeTablesBy",
14851
- "description": "Get an iterator that iterates through all timeTables matching the provided filter, executing multiple requests to the api if needed. This method does not guarantee that the returned data will be ordered when using sortable filter options. Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data, or to the internal iCure implementations, may cause future invocations to return unordered data. If you need ordered data use [filterTimeTablesBySorted] instead.",
14833
+ "description": "",
14852
14834
  "params": [
14853
14835
  {
14854
14836
  "name": "filter",
14855
14837
  "type": "BaseFilterOptions<TimeTable>",
14856
- "description": "a timeTable filter",
14838
+ "description": "",
14857
14839
  "optional": false
14858
14840
  }
14859
14841
  ],
@@ -14866,12 +14848,12 @@
14866
14848
  },
14867
14849
  {
14868
14850
  "name": "filterTimeTablesBySorted",
14869
- "description": "Get an iterator that iterates through all timeTables matching the provided filter, executing multiple requests to the api if needed. This method guarantees that the returned data will be ordered using the rules specified by the provided filter, but the operation may take longer than [filterTimeTablesBy].",
14851
+ "description": "",
14870
14852
  "params": [
14871
14853
  {
14872
14854
  "name": "filter",
14873
14855
  "type": "BaseSortableFilterOptions<TimeTable>",
14874
- "description": "a timeTable filter",
14856
+ "description": "",
14875
14857
  "optional": false
14876
14858
  }
14877
14859
  ],
@@ -14884,12 +14866,12 @@
14884
14866
  },
14885
14867
  {
14886
14868
  "name": "createTimeTable",
14887
- "description": "Create a new time-table.",
14869
+ "description": "",
14888
14870
  "params": [
14889
14871
  {
14890
14872
  "name": "entity",
14891
14873
  "type": "TimeTable",
14892
- "description": "a time-table.",
14874
+ "description": "",
14893
14875
  "optional": false
14894
14876
  }
14895
14877
  ],
@@ -14902,12 +14884,12 @@
14902
14884
  },
14903
14885
  {
14904
14886
  "name": "matchTimeTablesBy",
14905
- "description": "Get the ids of all timeTables matching the provided filter. This method does not guarantee that the returned data will be ordered when using sortable filter options. Even if the data obtained from an invocation of the method appears to be ordered, any changes to the stored data, or to the internal iCure implementations, may cause future invocations to return unordered data. If you need ordered data use [matchTimeTablesBySorted] instead.",
14887
+ "description": "",
14906
14888
  "params": [
14907
14889
  {
14908
14890
  "name": "filter",
14909
14891
  "type": "BaseFilterOptions<TimeTable>",
14910
- "description": "a timeTable filter",
14892
+ "description": "",
14911
14893
  "optional": false
14912
14894
  }
14913
14895
  ],
@@ -14920,12 +14902,12 @@
14920
14902
  },
14921
14903
  {
14922
14904
  "name": "matchTimeTablesBySorted",
14923
- "description": "Get the ids of all timeTables matching the provided filter. This method guarantees that the returned data will be ordered using the rules specified by the provided filter, but the operation may take longer than [matchTimeTablesBy].",
14905
+ "description": "",
14924
14906
  "params": [
14925
14907
  {
14926
14908
  "name": "filter",
14927
14909
  "type": "BaseSortableFilterOptions<TimeTable>",
14928
- "description": "a timeTable filter",
14910
+ "description": "",
14929
14911
  "optional": false
14930
14912
  }
14931
14913
  ],
@@ -8403,7 +8403,7 @@ export const METHOD_REGISTRY: Record<string, ApiInfo> = {
8403
8403
  "TimeTable": {
8404
8404
  "apiName": "TimeTableApi",
8405
8405
  "propertyName": "timeTable",
8406
- "isEncryptable": true,
8406
+ "isEncryptable": false,
8407
8407
  "methods": [
8408
8408
  {
8409
8409
  "name": "deleteTimeTableUnsafe",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icure/cardinal-mcp-server",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "MCP server exposing Cardinal SDK documentation and operational tools",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",