@brxce/mcp-server 1.0.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 (106) hide show
  1. package/README.md +220 -0
  2. package/dist/config/environment.d.ts +8 -0
  3. package/dist/config/environment.d.ts.map +1 -0
  4. package/dist/config/environment.js +16 -0
  5. package/dist/config/environment.js.map +1 -0
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +167 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/prompts/worknode-prompts.d.ts +7 -0
  11. package/dist/prompts/worknode-prompts.d.ts.map +1 -0
  12. package/dist/prompts/worknode-prompts.js +369 -0
  13. package/dist/prompts/worknode-prompts.js.map +1 -0
  14. package/dist/prompts/workspace-context-prompt.d.ts +4 -0
  15. package/dist/prompts/workspace-context-prompt.d.ts.map +1 -0
  16. package/dist/prompts/workspace-context-prompt.js +101 -0
  17. package/dist/prompts/workspace-context-prompt.js.map +1 -0
  18. package/dist/resources/user-resource.d.ts +4 -0
  19. package/dist/resources/user-resource.d.ts.map +1 -0
  20. package/dist/resources/user-resource.js +40 -0
  21. package/dist/resources/user-resource.js.map +1 -0
  22. package/dist/resources/workspace-members-resource.d.ts +4 -0
  23. package/dist/resources/workspace-members-resource.d.ts.map +1 -0
  24. package/dist/resources/workspace-members-resource.js +39 -0
  25. package/dist/resources/workspace-members-resource.js.map +1 -0
  26. package/dist/resources/workspace-resource.d.ts +4 -0
  27. package/dist/resources/workspace-resource.d.ts.map +1 -0
  28. package/dist/resources/workspace-resource.js +27 -0
  29. package/dist/resources/workspace-resource.js.map +1 -0
  30. package/dist/services/api-client.d.ts +17 -0
  31. package/dist/services/api-client.d.ts.map +1 -0
  32. package/dist/services/api-client.js +118 -0
  33. package/dist/services/api-client.js.map +1 -0
  34. package/dist/tools/meeting-agenda-tool.d.ts +7 -0
  35. package/dist/tools/meeting-agenda-tool.d.ts.map +1 -0
  36. package/dist/tools/meeting-agenda-tool.js +452 -0
  37. package/dist/tools/meeting-agenda-tool.js.map +1 -0
  38. package/dist/tools/meeting-create-tool.d.ts +8 -0
  39. package/dist/tools/meeting-create-tool.d.ts.map +1 -0
  40. package/dist/tools/meeting-create-tool.js +309 -0
  41. package/dist/tools/meeting-create-tool.js.map +1 -0
  42. package/dist/tools/meeting-decisions-tool.d.ts +7 -0
  43. package/dist/tools/meeting-decisions-tool.d.ts.map +1 -0
  44. package/dist/tools/meeting-decisions-tool.js +431 -0
  45. package/dist/tools/meeting-decisions-tool.js.map +1 -0
  46. package/dist/tools/meeting-list-tool.d.ts +7 -0
  47. package/dist/tools/meeting-list-tool.d.ts.map +1 -0
  48. package/dist/tools/meeting-list-tool.js +305 -0
  49. package/dist/tools/meeting-list-tool.js.map +1 -0
  50. package/dist/tools/meeting-notes-tool.d.ts +7 -0
  51. package/dist/tools/meeting-notes-tool.d.ts.map +1 -0
  52. package/dist/tools/meeting-notes-tool.js +318 -0
  53. package/dist/tools/meeting-notes-tool.js.map +1 -0
  54. package/dist/tools/meeting-update-tool.d.ts +7 -0
  55. package/dist/tools/meeting-update-tool.d.ts.map +1 -0
  56. package/dist/tools/meeting-update-tool.js +310 -0
  57. package/dist/tools/meeting-update-tool.js.map +1 -0
  58. package/dist/tools/tag-category-tool.d.ts +4 -0
  59. package/dist/tools/tag-category-tool.d.ts.map +1 -0
  60. package/dist/tools/tag-category-tool.js +293 -0
  61. package/dist/tools/tag-category-tool.js.map +1 -0
  62. package/dist/tools/tag-search-tool.d.ts +4 -0
  63. package/dist/tools/tag-search-tool.d.ts.map +1 -0
  64. package/dist/tools/tag-search-tool.js +358 -0
  65. package/dist/tools/tag-search-tool.js.map +1 -0
  66. package/dist/tools/tag-tool.d.ts +4 -0
  67. package/dist/tools/tag-tool.d.ts.map +1 -0
  68. package/dist/tools/tag-tool.js +450 -0
  69. package/dist/tools/tag-tool.js.map +1 -0
  70. package/dist/tools/worknode-archive-tool.d.ts +7 -0
  71. package/dist/tools/worknode-archive-tool.d.ts.map +1 -0
  72. package/dist/tools/worknode-archive-tool.js +163 -0
  73. package/dist/tools/worknode-archive-tool.js.map +1 -0
  74. package/dist/tools/worknode-create-tool.d.ts +4 -0
  75. package/dist/tools/worknode-create-tool.d.ts.map +1 -0
  76. package/dist/tools/worknode-create-tool.js +382 -0
  77. package/dist/tools/worknode-create-tool.js.map +1 -0
  78. package/dist/tools/worknode-my-work-tool.d.ts +8 -0
  79. package/dist/tools/worknode-my-work-tool.d.ts.map +1 -0
  80. package/dist/tools/worknode-my-work-tool.js +302 -0
  81. package/dist/tools/worknode-my-work-tool.js.map +1 -0
  82. package/dist/tools/worknode-search-tool.d.ts +4 -0
  83. package/dist/tools/worknode-search-tool.d.ts.map +1 -0
  84. package/dist/tools/worknode-search-tool.js +289 -0
  85. package/dist/tools/worknode-search-tool.js.map +1 -0
  86. package/dist/tools/worknode-subtree-tool.d.ts +4 -0
  87. package/dist/tools/worknode-subtree-tool.d.ts.map +1 -0
  88. package/dist/tools/worknode-subtree-tool.js +175 -0
  89. package/dist/tools/worknode-subtree-tool.js.map +1 -0
  90. package/dist/tools/worknode-tag-tool.d.ts +4 -0
  91. package/dist/tools/worknode-tag-tool.d.ts.map +1 -0
  92. package/dist/tools/worknode-tag-tool.js +353 -0
  93. package/dist/tools/worknode-tag-tool.js.map +1 -0
  94. package/dist/tools/worknode-update-tool.d.ts +4 -0
  95. package/dist/tools/worknode-update-tool.d.ts.map +1 -0
  96. package/dist/tools/worknode-update-tool.js +409 -0
  97. package/dist/tools/worknode-update-tool.js.map +1 -0
  98. package/dist/tools/workspace-inbox-tool.d.ts +8 -0
  99. package/dist/tools/workspace-inbox-tool.d.ts.map +1 -0
  100. package/dist/tools/workspace-inbox-tool.js +210 -0
  101. package/dist/tools/workspace-inbox-tool.js.map +1 -0
  102. package/dist/tools/workspace-tree-tool.d.ts +4 -0
  103. package/dist/tools/workspace-tree-tool.d.ts.map +1 -0
  104. package/dist/tools/workspace-tree-tool.js +419 -0
  105. package/dist/tools/workspace-tree-tool.js.map +1 -0
  106. package/package.json +61 -0
@@ -0,0 +1,431 @@
1
+ import { z } from 'zod';
2
+ const DecisionStatusSchema = z.enum(['draft', 'proposed', 'agreed', 'implemented', 'archived']);
3
+ const DecisionImpactLevelSchema = z.enum(['low', 'medium', 'high', 'critical']);
4
+ /**
5
+ * Register Meeting Decisions Tools for LLM-invoked operations
6
+ */
7
+ export function registerMeetingDecisionsTools(server, apiClient) {
8
+ /**
9
+ * brxce_add_meeting_decision - Add a decision to a meeting
10
+ */
11
+ server.registerTool('brxce_add_meeting_decision', {
12
+ description: `Add a decision to a meeting.
13
+
14
+ **When to use this tool:**
15
+ - During or after a meeting when a decision is made
16
+ - User asks to record a decision from a meeting
17
+ - Need to document agreed-upon actions or choices
18
+
19
+ **Input:**
20
+ - meetingId (required): ID of the meeting
21
+ - title (required): Decision title
22
+ - description (optional): Detailed description of the decision
23
+ - status (optional): 'draft', 'proposed', 'agreed' (default), 'implemented', 'archived'
24
+ - impactLevel (optional): 'low', 'medium', 'high', 'critical'
25
+ - ownerId (optional): User ID of the decision owner
26
+ - dueDate (optional): When the decision should be implemented (ISO 8601)
27
+ - relatedWorkNodeId (optional): Related work item ID
28
+
29
+ **Access Control:**
30
+ - Only workspace members can add decisions
31
+ - Decisions can be assigned to specific owners
32
+ - Impact level helps prioritize implementation
33
+
34
+ **Example:**
35
+ User: "We decided in meeting #24 to use PostgreSQL for the database"
36
+ LLM calls: brxce_add_meeting_decision(
37
+ meetingId: 24,
38
+ title: "Use PostgreSQL for database",
39
+ status: "agreed",
40
+ impactLevel: "high"
41
+ )`,
42
+ inputSchema: {
43
+ meetingId: z.number().describe('Meeting ID'),
44
+ title: z.string().min(1).describe('Decision title'),
45
+ description: z.string().optional().describe('Decision description'),
46
+ status: DecisionStatusSchema.optional().describe('Decision status (default: agreed)'),
47
+ impactLevel: DecisionImpactLevelSchema.optional().describe('Impact level'),
48
+ ownerId: z.string().optional().describe('Decision owner user ID'),
49
+ dueDate: z.string().optional().describe('Due date (ISO 8601)'),
50
+ relatedWorkNodeId: z.number().optional().describe('Related WorkNode ID')
51
+ }
52
+ }, async (args) => {
53
+ const { meetingId, title, description, status = 'agreed', impactLevel, ownerId, dueDate, relatedWorkNodeId } = args;
54
+ try {
55
+ const requestBody = { title, status };
56
+ if (description)
57
+ requestBody.description = description;
58
+ if (impactLevel)
59
+ requestBody.impactLevel = impactLevel;
60
+ if (ownerId)
61
+ requestBody.ownerId = ownerId;
62
+ if (dueDate)
63
+ requestBody.dueDate = dueDate;
64
+ if (relatedWorkNodeId)
65
+ requestBody.relatedWorkNodeId = relatedWorkNodeId;
66
+ const response = await apiClient.post(`/mcp/meetings/${meetingId}/decisions`, requestBody);
67
+ if (!response.success) {
68
+ return {
69
+ content: [
70
+ {
71
+ type: 'text',
72
+ text: `Failed to add meeting decision: ${response.message || 'Unknown error'}`,
73
+ },
74
+ ],
75
+ isError: true,
76
+ };
77
+ }
78
+ const decision = response.data;
79
+ let resultText = '## Meeting Decision Added\\n\\n';
80
+ resultText += `✅ **Decision successfully added to Meeting #${meetingId}**\\n\\n`;
81
+ resultText += `**Decision ID:** ${decision.id}\\n`;
82
+ resultText += `**Title:** ${decision.title}\\n`;
83
+ if (decision.description) {
84
+ resultText += `**Description:** ${decision.description}\\n`;
85
+ }
86
+ resultText += `**Status:** ${getStatusEmoji(decision.status)} ${decision.status}\\n`;
87
+ if (decision.impactLevel) {
88
+ resultText += `**Impact Level:** ${getImpactEmoji(decision.impactLevel)} ${decision.impactLevel}\\n`;
89
+ }
90
+ if (decision.ownerId) {
91
+ resultText += `**Owner:** ${decision.ownerId}\\n`;
92
+ }
93
+ resultText += `**Created:** ${new Date(decision.createdAt).toLocaleString()}\\n`;
94
+ return {
95
+ content: [
96
+ {
97
+ type: 'text',
98
+ text: resultText,
99
+ },
100
+ ],
101
+ };
102
+ }
103
+ catch (error) {
104
+ return {
105
+ content: [
106
+ {
107
+ type: 'text',
108
+ text: `Error adding meeting decision: ${error.message || 'Unknown error'}`,
109
+ },
110
+ ],
111
+ isError: true,
112
+ };
113
+ }
114
+ });
115
+ /**
116
+ * brxce_list_meeting_decisions - List all decisions for a meeting
117
+ */
118
+ server.registerTool('brxce_list_meeting_decisions', {
119
+ description: `List all decisions for a meeting.
120
+
121
+ **When to use this tool:**
122
+ - User asks to see decisions made in a meeting
123
+ - Need to review action items from a meeting
124
+ - Checking implementation status of decisions
125
+
126
+ **Output:**
127
+ - Returns all decisions with status and impact level
128
+ - Includes decision owner information
129
+ - Shows due dates if set
130
+
131
+ **Example:**
132
+ User: "What decisions were made in meeting #24?"
133
+ LLM calls: brxce_list_meeting_decisions(meetingId: 24)`,
134
+ inputSchema: {
135
+ meetingId: z.number().describe('Meeting ID')
136
+ }
137
+ }, async (args) => {
138
+ const { meetingId } = args;
139
+ try {
140
+ const response = await apiClient.get(`/mcp/meetings/${meetingId}/decisions`);
141
+ if (!response.success) {
142
+ return {
143
+ content: [
144
+ {
145
+ type: 'text',
146
+ text: `Failed to list meeting decisions: ${response.message || 'Unknown error'}`,
147
+ },
148
+ ],
149
+ isError: true,
150
+ };
151
+ }
152
+ const { decisions } = response.data;
153
+ if (!decisions || decisions.length === 0) {
154
+ return {
155
+ content: [
156
+ {
157
+ type: 'text',
158
+ text: `## Meeting #${meetingId} Decisions\\n\\nNo decisions found for this meeting.`,
159
+ },
160
+ ],
161
+ };
162
+ }
163
+ let resultText = `## Meeting #${meetingId} Decisions\\n\\n`;
164
+ resultText += `**Total Decisions:** ${decisions.length}\\n\\n`;
165
+ // Group by status
166
+ const byStatus = groupBy(decisions, 'status');
167
+ const statusOrder = ['agreed', 'implemented', 'proposed', 'draft', 'archived'];
168
+ statusOrder.forEach(statusKey => {
169
+ const statusDecisions = byStatus[statusKey];
170
+ if (statusDecisions && statusDecisions.length > 0) {
171
+ resultText += `### ${getStatusEmoji(statusKey)} ${statusKey.toUpperCase()} (${statusDecisions.length})\\n\\n`;
172
+ statusDecisions.forEach((decision) => {
173
+ resultText += `**#${decision.id}** ${decision.title}`;
174
+ if (decision.impactLevel) {
175
+ resultText += ` ${getImpactEmoji(decision.impactLevel)}`;
176
+ }
177
+ resultText += '\\n';
178
+ if (decision.description) {
179
+ resultText += ` ${decision.description}\\n`;
180
+ }
181
+ if (decision.owner) {
182
+ resultText += ` 👤 Owner: ${decision.owner.name || decision.owner.email}\\n`;
183
+ }
184
+ if (decision.dueDate) {
185
+ resultText += ` 📅 Due: ${new Date(decision.dueDate).toLocaleDateString()}\\n`;
186
+ }
187
+ resultText += '\\n';
188
+ });
189
+ }
190
+ });
191
+ return {
192
+ content: [
193
+ {
194
+ type: 'text',
195
+ text: resultText,
196
+ },
197
+ ],
198
+ };
199
+ }
200
+ catch (error) {
201
+ return {
202
+ content: [
203
+ {
204
+ type: 'text',
205
+ text: `Error listing meeting decisions: ${error.message || 'Unknown error'}`,
206
+ },
207
+ ],
208
+ isError: true,
209
+ };
210
+ }
211
+ });
212
+ /**
213
+ * brxce_update_meeting_decision - Update a meeting decision
214
+ */
215
+ server.registerTool('brxce_update_meeting_decision', {
216
+ description: `Update a meeting decision.
217
+
218
+ **When to use this tool:**
219
+ - Update decision status (e.g., agreed → implemented)
220
+ - Change impact level or owner
221
+ - Update due date or description
222
+ - Mark decisions as archived
223
+
224
+ **Access Control:**
225
+ - Workspace members can update decisions
226
+ - Cannot update if decision doesn't belong to meeting
227
+
228
+ **Input:**
229
+ - meetingId (required): ID of the meeting
230
+ - decisionId (required): ID of the decision to update
231
+ - title (optional): New title
232
+ - description (optional): New description
233
+ - status (optional): New status
234
+ - impactLevel (optional): New impact level
235
+ - ownerId (optional): New owner ID
236
+ - dueDate (optional): New due date
237
+
238
+ **Example:**
239
+ User: "Mark decision #50 from meeting #24 as implemented"
240
+ LLM calls: brxce_update_meeting_decision(meetingId: 24, decisionId: 50, status: "implemented")`,
241
+ inputSchema: {
242
+ meetingId: z.number().describe('Meeting ID'),
243
+ decisionId: z.number().describe('Decision ID to update'),
244
+ title: z.string().min(1).optional().describe('Updated title'),
245
+ description: z.string().nullable().optional().describe('Updated description'),
246
+ status: DecisionStatusSchema.optional().describe('Updated status'),
247
+ impactLevel: DecisionImpactLevelSchema.optional().describe('Updated impact level'),
248
+ ownerId: z.string().nullable().optional().describe('Updated owner ID'),
249
+ dueDate: z.string().nullable().optional().describe('Updated due date (ISO 8601)')
250
+ }
251
+ }, async (args) => {
252
+ const { meetingId, decisionId, title, description, status, impactLevel, ownerId, dueDate } = args;
253
+ if (!title && description === undefined && !status && !impactLevel && ownerId === undefined && dueDate === undefined) {
254
+ return {
255
+ content: [
256
+ {
257
+ type: 'text',
258
+ text: 'Error: You must provide at least one field to update',
259
+ },
260
+ ],
261
+ isError: true,
262
+ };
263
+ }
264
+ try {
265
+ const updateData = {};
266
+ if (title)
267
+ updateData.title = title;
268
+ if (description !== undefined)
269
+ updateData.description = description;
270
+ if (status)
271
+ updateData.status = status;
272
+ if (impactLevel)
273
+ updateData.impactLevel = impactLevel;
274
+ if (ownerId !== undefined)
275
+ updateData.ownerId = ownerId;
276
+ if (dueDate !== undefined)
277
+ updateData.dueDate = dueDate;
278
+ const response = await apiClient.put(`/mcp/meetings/${meetingId}/decisions/${decisionId}`, updateData);
279
+ if (!response.success) {
280
+ return {
281
+ content: [
282
+ {
283
+ type: 'text',
284
+ text: `Failed to update meeting decision: ${response.message || 'Unknown error'}`,
285
+ },
286
+ ],
287
+ isError: true,
288
+ };
289
+ }
290
+ const decision = response.data;
291
+ let resultText = '## Meeting Decision Updated\\n\\n';
292
+ resultText += `✅ **Decision #${decision.id} successfully updated**\\n\\n`;
293
+ if (title) {
294
+ resultText += `**New Title:** ${decision.title}\\n`;
295
+ }
296
+ if (description !== undefined) {
297
+ resultText += `**New Description:** ${decision.description || '(empty)'}\\n`;
298
+ }
299
+ if (status) {
300
+ resultText += `**New Status:** ${getStatusEmoji(decision.status)} ${decision.status}\\n`;
301
+ }
302
+ if (impactLevel) {
303
+ resultText += `**New Impact Level:** ${getImpactEmoji(decision.impactLevel)} ${decision.impactLevel}\\n`;
304
+ }
305
+ resultText += `\\n**Last Updated:** ${new Date(decision.updatedAt).toLocaleString()}\\n`;
306
+ return {
307
+ content: [
308
+ {
309
+ type: 'text',
310
+ text: resultText,
311
+ },
312
+ ],
313
+ };
314
+ }
315
+ catch (error) {
316
+ return {
317
+ content: [
318
+ {
319
+ type: 'text',
320
+ text: `Error updating meeting decision: ${error.message || 'Unknown error'}`,
321
+ },
322
+ ],
323
+ isError: true,
324
+ };
325
+ }
326
+ });
327
+ /**
328
+ * brxce_delete_meeting_decision - Delete a meeting decision
329
+ */
330
+ server.registerTool('brxce_delete_meeting_decision', {
331
+ description: `Delete a meeting decision.
332
+
333
+ **When to use this tool:**
334
+ - Decision was recorded incorrectly
335
+ - Decision is no longer valid
336
+ - Duplicate decision entry
337
+
338
+ **Access Control:**
339
+ - Workspace members can delete decisions
340
+ - Deletion is permanent and cannot be undone
341
+
342
+ **Input:**
343
+ - meetingId (required): ID of the meeting
344
+ - decisionId (required): ID of the decision to delete
345
+
346
+ **Example:**
347
+ User: "Delete decision #50 from meeting #24"
348
+ LLM calls: brxce_delete_meeting_decision(meetingId: 24, decisionId: 50)`,
349
+ inputSchema: {
350
+ meetingId: z.number().describe('Meeting ID'),
351
+ decisionId: z.number().describe('Decision ID to delete')
352
+ }
353
+ }, async (args) => {
354
+ const { meetingId, decisionId } = args;
355
+ try {
356
+ const response = await apiClient.delete(`/mcp/meetings/${meetingId}/decisions/${decisionId}`);
357
+ if (!response.success) {
358
+ return {
359
+ content: [
360
+ {
361
+ type: 'text',
362
+ text: `Failed to delete meeting decision: ${response.message || 'Unknown error'}`,
363
+ },
364
+ ],
365
+ isError: true,
366
+ };
367
+ }
368
+ let resultText = '## Meeting Decision Deleted\\n\\n';
369
+ resultText += `✅ **Decision #${decisionId} successfully deleted from Meeting #${meetingId}**\\n\\n`;
370
+ resultText += '⚠️ This action cannot be undone.\\n';
371
+ return {
372
+ content: [
373
+ {
374
+ type: 'text',
375
+ text: resultText,
376
+ },
377
+ ],
378
+ };
379
+ }
380
+ catch (error) {
381
+ return {
382
+ content: [
383
+ {
384
+ type: 'text',
385
+ text: `Error deleting meeting decision: ${error.message || 'Unknown error'}`,
386
+ },
387
+ ],
388
+ isError: true,
389
+ };
390
+ }
391
+ });
392
+ }
393
+ /**
394
+ * Helper function to get status emoji
395
+ */
396
+ function getStatusEmoji(status) {
397
+ switch (status) {
398
+ case 'draft': return '📝';
399
+ case 'proposed': return '💡';
400
+ case 'agreed': return '✅';
401
+ case 'implemented': return '🎉';
402
+ case 'archived': return '📦';
403
+ default: return '📄';
404
+ }
405
+ }
406
+ /**
407
+ * Helper function to get impact level emoji
408
+ */
409
+ function getImpactEmoji(impactLevel) {
410
+ switch (impactLevel) {
411
+ case 'low': return '🟢';
412
+ case 'medium': return '🟡';
413
+ case 'high': return '🟠';
414
+ case 'critical': return '🔴';
415
+ default: return '⚪';
416
+ }
417
+ }
418
+ /**
419
+ * Helper function to group array by key
420
+ */
421
+ function groupBy(array, key) {
422
+ return array.reduce((result, item) => {
423
+ const groupKey = item[key];
424
+ if (!result[groupKey]) {
425
+ result[groupKey] = [];
426
+ }
427
+ result[groupKey].push(item);
428
+ return result;
429
+ }, {});
430
+ }
431
+ //# sourceMappingURL=meeting-decisions-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-decisions-tool.js","sourceRoot":"","sources":["../../src/tools/meeting-decisions-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAChG,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,SAAoB;IACnF;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BjB;QAEI,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACnE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrF,WAAW,EAAE,yBAAyB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC1E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC9D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SACzE;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,WAAW,EACX,MAAM,GAAG,QAAQ,EACjB,WAAW,EACX,OAAO,EACP,OAAO,EACP,iBAAiB,EAClB,GAAG,IAAI,CAAC;QAET,IAAI,CAAC;YACH,MAAM,WAAW,GAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,WAAW;gBAAE,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;YACvD,IAAI,WAAW;gBAAE,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;YACvD,IAAI,OAAO;gBAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3C,IAAI,OAAO;gBAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3C,IAAI,iBAAiB;gBAAE,WAAW,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAEzE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CACnC,iBAAiB,SAAS,YAAY,EACtC,WAAW,CACZ,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,mCAAmC,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBAC/E;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE/B,IAAI,UAAU,GAAG,iCAAiC,CAAC;YACnD,UAAU,IAAI,+CAA+C,SAAS,UAAU,CAAC;YACjF,UAAU,IAAI,oBAAoB,QAAQ,CAAC,EAAE,KAAK,CAAC;YACnD,UAAU,IAAI,cAAc,QAAQ,CAAC,KAAK,KAAK,CAAC;YAChD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,UAAU,IAAI,oBAAoB,QAAQ,CAAC,WAAW,KAAK,CAAC;YAC9D,CAAC;YACD,UAAU,IAAI,eAAe,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,UAAU,IAAI,qBAAqB,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,CAAC;YACvG,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,UAAU,IAAI,cAAc,QAAQ,CAAC,OAAO,KAAK,CAAC;YACpD,CAAC;YACD,UAAU,IAAI,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC;YAEjF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kCAAkC,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBAC3E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,WAAW,EAAE;;;;;;;;;;;;;;uDAcoC;QAEjD,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;SAC7C;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAM,iBAAiB,SAAS,YAAY,CAAC,CAAC;YAElF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,qCAAqC,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBACjF;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEpC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,eAAe,SAAS,sDAAsD;yBACrF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,GAAG,eAAe,SAAS,kBAAkB,CAAC;YAC5D,UAAU,IAAI,wBAAwB,SAAS,CAAC,MAAM,QAAQ,CAAC;YAE/D,kBAAkB;YAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAE/E,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC9B,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,UAAU,IAAI,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,MAAM,SAAS,CAAC;oBAE9G,eAAe,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;wBACxC,UAAU,IAAI,MAAM,QAAQ,CAAC,EAAE,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACtD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;4BACzB,UAAU,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC3D,CAAC;wBACD,UAAU,IAAI,KAAK,CAAC;wBAEpB,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;4BACzB,UAAU,IAAI,KAAK,QAAQ,CAAC,WAAW,KAAK,CAAC;wBAC/C,CAAC;wBACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACnB,UAAU,IAAI,eAAe,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;wBAChF,CAAC;wBACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;4BACrB,UAAU,IAAI,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC;wBAClF,CAAC;wBACD,UAAU,IAAI,KAAK,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBAC7E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;+FAwB4E;QAEzF,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC7E,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClE,WAAW,EAAE,yBAAyB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAClF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SAClF;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EACJ,SAAS,EACT,UAAU,EACV,KAAK,EACL,WAAW,EACX,MAAM,EACN,WAAW,EACX,OAAO,EACP,OAAO,EACR,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,KAAK,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACrH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,sDAAsD;qBAC7D;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAQ,EAAE,CAAC;YAC3B,IAAI,KAAK;gBAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;YACpC,IAAI,WAAW,KAAK,SAAS;gBAAE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;YACpE,IAAI,MAAM;gBAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;YACvC,IAAI,WAAW;gBAAE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;YACtD,IAAI,OAAO,KAAK,SAAS;gBAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;YACxD,IAAI,OAAO,KAAK,SAAS;gBAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;YAExD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAClC,iBAAiB,SAAS,cAAc,UAAU,EAAE,EACpD,UAAU,CACX,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,sCAAsC,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBAClF;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE/B,IAAI,UAAU,GAAG,mCAAmC,CAAC;YACrD,UAAU,IAAI,iBAAiB,QAAQ,CAAC,EAAE,+BAA+B,CAAC;YAC1E,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,IAAI,kBAAkB,QAAQ,CAAC,KAAK,KAAK,CAAC;YACtD,CAAC;YACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,UAAU,IAAI,wBAAwB,QAAQ,CAAC,WAAW,IAAI,SAAS,KAAK,CAAC;YAC/E,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,IAAI,mBAAmB,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC3F,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,UAAU,IAAI,yBAAyB,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,CAAC;YAC3G,CAAC;YACD,UAAU,IAAI,wBAAwB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC;YAEzF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBAC7E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;wEAiBqD;QAElE,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SACzD;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAM,iBAAiB,SAAS,cAAc,UAAU,EAAE,CAAC,CAAC;YAEnG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,sCAAsC,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBAClF;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,GAAG,mCAAmC,CAAC;YACrD,UAAU,IAAI,iBAAiB,UAAU,uCAAuC,SAAS,UAAU,CAAC;YACpG,UAAU,IAAI,qCAAqC,CAAC;YAEpD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oCAAoC,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBAC7E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;QAC1B,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC;QAC7B,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC;QAC1B,KAAK,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC;QAChC,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC;QAC7B,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,WAAmB;IACzC,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC;QACxB,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC;QAC3B,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;QACzB,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC;QAC7B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAY,EAAE,GAAW;IACxC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ApiClient } from '../services/api-client.js';
3
+ /**
4
+ * Register Meeting List and Detail Tools
5
+ */
6
+ export declare function registerMeetingListTools(server: McpServer, apiClient: ApiClient): void;
7
+ //# sourceMappingURL=meeting-list-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-list-tool.d.ts","sourceRoot":"","sources":["../../src/tools/meeting-list-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA6E3D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAoU/E"}