mcp-grampsweb 1.1.0 → 1.2.1

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.
@@ -57,8 +57,39 @@ export declare const createTools: {
57
57
  first_name: {
58
58
  type: string;
59
59
  };
60
+ nickname: {
61
+ type: string;
62
+ description: string;
63
+ };
60
64
  surname: {
61
65
  type: string;
66
+ description: string;
67
+ };
68
+ surname_list: {
69
+ type: string;
70
+ description: string;
71
+ items: {
72
+ type: string;
73
+ properties: {
74
+ surname: {
75
+ type: string;
76
+ description: string;
77
+ };
78
+ prefix: {
79
+ type: string;
80
+ description: string;
81
+ };
82
+ primary: {
83
+ type: string;
84
+ description: string;
85
+ };
86
+ origintype: {
87
+ type: string;
88
+ description: string;
89
+ };
90
+ };
91
+ required: string[];
92
+ };
62
93
  };
63
94
  suffix: {
64
95
  type: string;
@@ -66,6 +97,10 @@ export declare const createTools: {
66
97
  title: {
67
98
  type: string;
68
99
  };
100
+ type: {
101
+ type: string;
102
+ description: string;
103
+ };
69
104
  };
70
105
  };
71
106
  gender: {
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/tools/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAkBhC;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CAyDjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CA4CjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAC3C,OAAO,CAAC,MAAM,CAAC,CAyCjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACvC,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,GAC7C,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAGD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2UvB,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/tools/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AA6ChC;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CAgEjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CAmEjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CA+CjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CA6CjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAC3C,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACvC,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CA+CjB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,GAC7C,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAGD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2VvB,CAAC"}
@@ -19,6 +19,29 @@ function mapGender(gender) {
19
19
  return 2;
20
20
  }
21
21
  }
22
+ // Map a name object with proper class markers for surnames
23
+ // Also maps nickname -> call_name for API compatibility
24
+ function mapNameWithClasses(name) {
25
+ if (!name)
26
+ return undefined;
27
+ const mapped = {
28
+ _class: "Name",
29
+ ...name,
30
+ };
31
+ // Map nickname to call_name (API field name)
32
+ if (name.nickname) {
33
+ mapped.call_name = name.nickname;
34
+ delete mapped.nickname;
35
+ }
36
+ // Map surname_list items with Surname class
37
+ if (name.surname_list && Array.isArray(name.surname_list)) {
38
+ mapped.surname_list = name.surname_list.map((s) => ({
39
+ _class: "Surname",
40
+ ...s,
41
+ }));
42
+ }
43
+ return mapped;
44
+ }
22
45
  /**
23
46
  * Create a person
24
47
  */
@@ -28,13 +51,8 @@ export async function grampsCreatePerson(params) {
28
51
  const person = {
29
52
  _class: "Person",
30
53
  gramps_id: validated.gramps_id,
31
- primary_name: validated.primary_name
32
- ? { _class: "Name", ...validated.primary_name }
33
- : undefined,
34
- alternate_names: validated.alternate_names?.map((n) => ({
35
- _class: "Name",
36
- ...n,
37
- })),
54
+ primary_name: mapNameWithClasses(validated.primary_name),
55
+ alternate_names: validated.alternate_names?.map((n) => mapNameWithClasses(n)),
38
56
  gender: mapGender(validated.gender),
39
57
  event_ref_list: validated.event_ref_list?.map((e) => ({
40
58
  _class: "EventRef",
@@ -52,7 +70,13 @@ export async function grampsCreatePerson(params) {
52
70
  tag_list: validated.tag_list,
53
71
  private: validated.private,
54
72
  };
55
- const response = await grampsClient.post(API_ENDPOINTS.PEOPLE, person);
73
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.PEOPLE, person);
74
+ // API returns an array of change records - extract the first one
75
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
76
+ // Validate that API returned a handle
77
+ if (!response?.handle) {
78
+ throw new Error(`API did not return entity handle after creating person. Response: ${JSON.stringify(rawResponse)}`);
79
+ }
56
80
  const genderMap = {
57
81
  0: "female",
58
82
  1: "male",
@@ -96,7 +120,18 @@ export async function grampsCreateFamily(params) {
96
120
  tag_list: validated.tag_list,
97
121
  private: validated.private,
98
122
  };
99
- const response = await grampsClient.post(API_ENDPOINTS.FAMILIES, family);
123
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.FAMILIES, family);
124
+ // API returns an array of change records - find the Family entry
125
+ let response;
126
+ if (Array.isArray(rawResponse)) {
127
+ response = rawResponse.find((r) => r._class === "Family") || rawResponse[0];
128
+ }
129
+ else {
130
+ response = rawResponse;
131
+ }
132
+ if (!response?.handle) {
133
+ throw new Error(`API did not return entity handle after creating family. Response: ${JSON.stringify(rawResponse)}`);
134
+ }
100
135
  const members = [];
101
136
  if (validated.father_handle)
102
137
  members.push("father");
@@ -137,7 +172,11 @@ export async function grampsCreateEvent(params) {
137
172
  tag_list: validated.tag_list,
138
173
  private: validated.private,
139
174
  };
140
- const response = await grampsClient.post(API_ENDPOINTS.EVENTS, event);
175
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.EVENTS, event);
176
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
177
+ if (!response?.handle) {
178
+ throw new Error(`API did not return entity handle after creating event. Response: ${JSON.stringify(rawResponse)}`);
179
+ }
141
180
  return formatCreatedEntity("event", `${validated.type} (${response.gramps_id})`, {
142
181
  handle: response.handle,
143
182
  gramps_id: response.gramps_id,
@@ -173,7 +212,11 @@ export async function grampsCreatePlace(params) {
173
212
  tag_list: validated.tag_list,
174
213
  private: validated.private,
175
214
  };
176
- const response = await grampsClient.post(API_ENDPOINTS.PLACES, place);
215
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.PLACES, place);
216
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
217
+ if (!response?.handle) {
218
+ throw new Error(`API did not return entity handle after creating place. Response: ${JSON.stringify(rawResponse)}`);
219
+ }
177
220
  const placeName = validated.name?.value || validated.title || response.gramps_id;
178
221
  return formatCreatedEntity("place", placeName, {
179
222
  handle: response.handle,
@@ -204,7 +247,11 @@ export async function grampsCreateSource(params) {
204
247
  tag_list: validated.tag_list,
205
248
  private: validated.private,
206
249
  };
207
- const response = await grampsClient.post(API_ENDPOINTS.SOURCES, source);
250
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.SOURCES, source);
251
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
252
+ if (!response?.handle) {
253
+ throw new Error(`API did not return entity handle after creating source. Response: ${JSON.stringify(rawResponse)}`);
254
+ }
208
255
  return formatCreatedEntity("source", validated.title, {
209
256
  handle: response.handle,
210
257
  gramps_id: response.gramps_id,
@@ -230,7 +277,11 @@ export async function grampsCreateCitation(params) {
230
277
  tag_list: validated.tag_list,
231
278
  private: validated.private,
232
279
  };
233
- const response = await grampsClient.post(API_ENDPOINTS.CITATIONS, citation);
280
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.CITATIONS, citation);
281
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
282
+ if (!response?.handle) {
283
+ throw new Error(`API did not return entity handle after creating citation. Response: ${JSON.stringify(rawResponse)}`);
284
+ }
234
285
  const confidenceMap = {
235
286
  0: "Very Low",
236
287
  1: "Low",
@@ -260,7 +311,11 @@ export async function grampsCreateNote(params) {
260
311
  tag_list: validated.tag_list,
261
312
  private: validated.private,
262
313
  };
263
- const response = await grampsClient.post(API_ENDPOINTS.NOTES, note);
314
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.NOTES, note);
315
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
316
+ if (!response?.handle) {
317
+ throw new Error(`API did not return entity handle after creating note. Response: ${JSON.stringify(rawResponse)}`);
318
+ }
264
319
  const preview = validated.text.length > 50 ? validated.text.substring(0, 50) + "..." : validated.text;
265
320
  return formatCreatedEntity("note", response.gramps_id, {
266
321
  handle: response.handle,
@@ -290,7 +345,11 @@ export async function grampsCreateMedia(params) {
290
345
  tag_list: validated.tag_list,
291
346
  private: validated.private,
292
347
  };
293
- const response = await grampsClient.post(API_ENDPOINTS.MEDIA, media);
348
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.MEDIA, media);
349
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
350
+ if (!response?.handle) {
351
+ throw new Error(`API did not return entity handle after creating media. Response: ${JSON.stringify(rawResponse)}`);
352
+ }
294
353
  const displayName = validated.desc || validated.path;
295
354
  return formatCreatedEntity("media", displayName, {
296
355
  handle: response.handle,
@@ -319,7 +378,11 @@ export async function grampsCreateRepository(params) {
319
378
  tag_list: validated.tag_list,
320
379
  private: validated.private,
321
380
  };
322
- const response = await grampsClient.post(API_ENDPOINTS.REPOSITORIES, repository);
381
+ const rawResponse = await grampsClient.post(API_ENDPOINTS.REPOSITORIES, repository);
382
+ const response = Array.isArray(rawResponse) ? rawResponse[0] : rawResponse;
383
+ if (!response?.handle) {
384
+ throw new Error(`API did not return entity handle after creating repository. Response: ${JSON.stringify(rawResponse)}`);
385
+ }
323
386
  return formatCreatedEntity("repository", validated.name, {
324
387
  handle: response.handle,
325
388
  gramps_id: response.gramps_id,
@@ -347,9 +410,25 @@ export const createTools = {
347
410
  description: "Primary name",
348
411
  properties: {
349
412
  first_name: { type: "string" },
350
- surname: { type: "string" },
413
+ nickname: { type: "string", description: "Nickname (also known as call name)" },
414
+ surname: { type: "string", description: "Simple surname" },
415
+ surname_list: {
416
+ type: "array",
417
+ description: "Multiple surnames with origin types (use instead of surname for complex names)",
418
+ items: {
419
+ type: "object",
420
+ properties: {
421
+ surname: { type: "string", description: "The surname" },
422
+ prefix: { type: "string", description: "Prefix (e.g., 'von', 'de')" },
423
+ primary: { type: "boolean", description: "Is this the primary surname?" },
424
+ origintype: { type: "string", description: "Origin: Inherited, Married, Taken, Given" },
425
+ },
426
+ required: ["surname"],
427
+ },
428
+ },
351
429
  suffix: { type: "string" },
352
430
  title: { type: "string" },
431
+ type: { type: "string", description: "Name type: Birth Name, Married Name, Also Known As" },
353
432
  },
354
433
  },
355
434
  gender: {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/tools/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/tools/create.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,224 @@
4
4
  import { searchTools } from "./search.js";
5
5
  import { createTools } from "./create.js";
6
6
  import { analysisTools } from "./analysis.js";
7
+ import { listTools } from "./list.js";
8
+ import { updateTools } from "./update.js";
9
+ import { convenienceTools } from "./convenience.js";
7
10
  export declare const allTools: {
11
+ gramps_add_child_to_family: {
12
+ name: string;
13
+ description: string;
14
+ inputSchema: {
15
+ type: "object";
16
+ properties: {
17
+ family_handle: {
18
+ type: string;
19
+ description: string;
20
+ };
21
+ child_handle: {
22
+ type: string;
23
+ description: string;
24
+ };
25
+ frel: {
26
+ type: string;
27
+ enum: string[];
28
+ description: string;
29
+ default: string;
30
+ };
31
+ mrel: {
32
+ type: string;
33
+ enum: string[];
34
+ description: string;
35
+ default: string;
36
+ };
37
+ };
38
+ required: string[];
39
+ };
40
+ handler: typeof import("./convenience.js").grampsAddChildToFamily;
41
+ };
42
+ gramps_update_person: {
43
+ name: string;
44
+ description: string;
45
+ inputSchema: {
46
+ type: "object";
47
+ properties: {
48
+ handle: {
49
+ type: string;
50
+ description: string;
51
+ };
52
+ primary_name: {
53
+ type: string;
54
+ description: string;
55
+ properties: {
56
+ first_name: {
57
+ type: string;
58
+ };
59
+ surname: {
60
+ type: string;
61
+ };
62
+ nickname: {
63
+ type: string;
64
+ description: string;
65
+ };
66
+ suffix: {
67
+ type: string;
68
+ };
69
+ title: {
70
+ type: string;
71
+ };
72
+ };
73
+ };
74
+ gender: {
75
+ type: string;
76
+ enum: string[];
77
+ description: string;
78
+ };
79
+ add_event_ref: {
80
+ type: string;
81
+ description: string;
82
+ properties: {
83
+ ref: {
84
+ type: string;
85
+ description: string;
86
+ };
87
+ role: {
88
+ type: string;
89
+ description: string;
90
+ };
91
+ };
92
+ required: string[];
93
+ };
94
+ add_note: {
95
+ type: string;
96
+ description: string;
97
+ };
98
+ private: {
99
+ type: string;
100
+ description: string;
101
+ };
102
+ };
103
+ required: string[];
104
+ };
105
+ handler: typeof import("./update.js").grampsUpdatePerson;
106
+ };
107
+ gramps_update_family: {
108
+ name: string;
109
+ description: string;
110
+ inputSchema: {
111
+ type: "object";
112
+ properties: {
113
+ handle: {
114
+ type: string;
115
+ description: string;
116
+ };
117
+ father_handle: {
118
+ type: string[];
119
+ description: string;
120
+ };
121
+ mother_handle: {
122
+ type: string[];
123
+ description: string;
124
+ };
125
+ add_child: {
126
+ type: string;
127
+ description: string;
128
+ properties: {
129
+ ref: {
130
+ type: string;
131
+ description: string;
132
+ };
133
+ frel: {
134
+ type: string;
135
+ description: string;
136
+ };
137
+ mrel: {
138
+ type: string;
139
+ description: string;
140
+ };
141
+ };
142
+ required: string[];
143
+ };
144
+ remove_child: {
145
+ type: string;
146
+ description: string;
147
+ };
148
+ type: {
149
+ type: string;
150
+ description: string;
151
+ };
152
+ add_event_ref: {
153
+ type: string;
154
+ description: string;
155
+ properties: {
156
+ ref: {
157
+ type: string;
158
+ description: string;
159
+ };
160
+ role: {
161
+ type: string;
162
+ description: string;
163
+ };
164
+ };
165
+ required: string[];
166
+ };
167
+ private: {
168
+ type: string;
169
+ description: string;
170
+ };
171
+ };
172
+ required: string[];
173
+ };
174
+ handler: typeof import("./update.js").grampsUpdateFamily;
175
+ };
176
+ gramps_list: {
177
+ name: string;
178
+ description: string;
179
+ inputSchema: {
180
+ type: "object";
181
+ properties: {
182
+ entity_type: {
183
+ type: string;
184
+ enum: string[];
185
+ description: string;
186
+ };
187
+ page: {
188
+ type: string;
189
+ description: string;
190
+ default: number;
191
+ };
192
+ pagesize: {
193
+ type: string;
194
+ description: string;
195
+ default: number;
196
+ };
197
+ };
198
+ required: string[];
199
+ };
200
+ handler: typeof import("./list.js").grampsList;
201
+ };
202
+ gramps_get_batch: {
203
+ name: string;
204
+ description: string;
205
+ inputSchema: {
206
+ type: "object";
207
+ properties: {
208
+ entity_type: {
209
+ type: string;
210
+ enum: string[];
211
+ description: string;
212
+ };
213
+ handles: {
214
+ type: string;
215
+ items: {
216
+ type: string;
217
+ };
218
+ description: string;
219
+ };
220
+ };
221
+ required: string[];
222
+ };
223
+ handler: typeof import("./list.js").grampsGetBatch;
224
+ };
8
225
  gramps_tree_stats: {
9
226
  name: string;
10
227
  description: string;
@@ -93,8 +310,39 @@ export declare const allTools: {
93
310
  first_name: {
94
311
  type: string;
95
312
  };
313
+ nickname: {
314
+ type: string;
315
+ description: string;
316
+ };
96
317
  surname: {
97
318
  type: string;
319
+ description: string;
320
+ };
321
+ surname_list: {
322
+ type: string;
323
+ description: string;
324
+ items: {
325
+ type: string;
326
+ properties: {
327
+ surname: {
328
+ type: string;
329
+ description: string;
330
+ };
331
+ prefix: {
332
+ type: string;
333
+ description: string;
334
+ };
335
+ primary: {
336
+ type: string;
337
+ description: string;
338
+ };
339
+ origintype: {
340
+ type: string;
341
+ description: string;
342
+ };
343
+ };
344
+ required: string[];
345
+ };
98
346
  };
99
347
  suffix: {
100
348
  type: string;
@@ -102,6 +350,10 @@ export declare const allTools: {
102
350
  title: {
103
351
  type: string;
104
352
  };
353
+ type: {
354
+ type: string;
355
+ description: string;
356
+ };
105
357
  };
106
358
  };
107
359
  gender: {
@@ -464,5 +716,5 @@ export declare const allTools: {
464
716
  };
465
717
  };
466
718
  export declare const toolNames: string[];
467
- export { searchTools, createTools, analysisTools };
719
+ export { searchTools, createTools, analysisTools, listTools, updateTools, convenienceTools };
468
720
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpB,CAAC;AAGF,eAAO,MAAM,SAAS,UAAwB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOpB,CAAC;AAGF,eAAO,MAAM,SAAS,UAAwB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}
@@ -4,14 +4,20 @@
4
4
  import { searchTools } from "./search.js";
5
5
  import { createTools } from "./create.js";
6
6
  import { analysisTools } from "./analysis.js";
7
+ import { listTools } from "./list.js";
8
+ import { updateTools } from "./update.js";
9
+ import { convenienceTools } from "./convenience.js";
7
10
  // Combine all tools
8
11
  export const allTools = {
9
12
  ...searchTools,
10
13
  ...createTools,
11
14
  ...analysisTools,
15
+ ...listTools,
16
+ ...updateTools,
17
+ ...convenienceTools,
12
18
  };
13
19
  // Export tool names for registration
14
20
  export const toolNames = Object.keys(allTools);
15
21
  // Export individual tool groups
16
- export { searchTools, createTools, analysisTools };
22
+ export { searchTools, createTools, analysisTools, listTools, updateTools, convenienceTools };
17
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,oBAAoB;AACpB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,WAAW;IACd,GAAG,WAAW;IACd,GAAG,aAAa;CACjB,CAAC;AAEF,qCAAqC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE/C,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,oBAAoB;AACpB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,WAAW;IACd,GAAG,WAAW;IACd,GAAG,aAAa;IAChB,GAAG,SAAS;IACZ,GAAG,WAAW;IACd,GAAG,gBAAgB;CACpB,CAAC;AAEF,qCAAqC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE/C,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}