@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 @@
1
+ {"version":3,"file":"workspace-resource.js","sourceRoot":"","sources":["../../src/resources/workspace-resource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAgB3E,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,SAAoB;IAC/E,mDAAmD;IACnD,6DAA6D;IAC7D,MAAM,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;QACjE,IAAI,EAAE,SAAS,EAAE,6BAA6B;KAC/C,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACvE,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,CAAY,eAAe,WAAW,EAAE,CAAC,CAAC;YAE/E,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;wBACnB,QAAQ,EAAE,kBAAkB;wBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;qBACzC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Simple API client for BRXCE backend
3
+ */
4
+ export interface ApiClientConfig {
5
+ baseUrl: string;
6
+ authToken?: string;
7
+ }
8
+ export declare class ApiClient {
9
+ private baseUrl;
10
+ private authToken?;
11
+ constructor(config: ApiClientConfig);
12
+ get<T>(path: string): Promise<T>;
13
+ post<T>(path: string, data?: unknown): Promise<T>;
14
+ put<T>(path: string, data?: unknown): Promise<T>;
15
+ delete<T>(path: string): Promise<T>;
16
+ }
17
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/services/api-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,MAAM,EAAE,eAAe;IAK7B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAkChC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAmCjD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAmChD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAiC1C"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Simple API client for BRXCE backend
3
+ */
4
+ export class ApiClient {
5
+ baseUrl;
6
+ authToken;
7
+ constructor(config) {
8
+ this.baseUrl = config.baseUrl;
9
+ this.authToken = config.authToken;
10
+ }
11
+ async get(path) {
12
+ const url = `${this.baseUrl}${path}`;
13
+ const headers = {
14
+ 'Content-Type': 'application/json',
15
+ };
16
+ if (this.authToken) {
17
+ headers['Authorization'] = `Bearer ${this.authToken}`;
18
+ }
19
+ try {
20
+ const response = await fetch(url, {
21
+ method: 'GET',
22
+ headers,
23
+ });
24
+ if (!response.ok) {
25
+ const errorText = await response.text().catch(() => 'Unable to read error response');
26
+ throw new Error(`API request failed: ${response.status} ${response.statusText}\nURL: ${url}\nResponse: ${errorText}`);
27
+ }
28
+ return response.json();
29
+ }
30
+ catch (error) {
31
+ if (error instanceof Error && error.message.includes('API request failed')) {
32
+ throw error;
33
+ }
34
+ throw new Error(`Network error when calling ${url}: ${error instanceof Error ? error.message : String(error)}`);
35
+ }
36
+ }
37
+ async post(path, data) {
38
+ const url = `${this.baseUrl}${path}`;
39
+ const headers = {
40
+ 'Content-Type': 'application/json',
41
+ };
42
+ if (this.authToken) {
43
+ headers['Authorization'] = `Bearer ${this.authToken}`;
44
+ }
45
+ try {
46
+ const response = await fetch(url, {
47
+ method: 'POST',
48
+ headers,
49
+ body: data ? JSON.stringify(data) : undefined,
50
+ });
51
+ if (!response.ok) {
52
+ const errorText = await response.text().catch(() => 'Unable to read error response');
53
+ throw new Error(`API request failed: ${response.status} ${response.statusText}\nURL: ${url}\nResponse: ${errorText}`);
54
+ }
55
+ return response.json();
56
+ }
57
+ catch (error) {
58
+ if (error instanceof Error && error.message.includes('API request failed')) {
59
+ throw error;
60
+ }
61
+ throw new Error(`Network error when calling ${url}: ${error instanceof Error ? error.message : String(error)}`);
62
+ }
63
+ }
64
+ async put(path, data) {
65
+ const url = `${this.baseUrl}${path}`;
66
+ const headers = {
67
+ 'Content-Type': 'application/json',
68
+ };
69
+ if (this.authToken) {
70
+ headers['Authorization'] = `Bearer ${this.authToken}`;
71
+ }
72
+ try {
73
+ const response = await fetch(url, {
74
+ method: 'PUT',
75
+ headers,
76
+ body: data ? JSON.stringify(data) : undefined,
77
+ });
78
+ if (!response.ok) {
79
+ const errorText = await response.text().catch(() => 'Unable to read error response');
80
+ throw new Error(`API request failed: ${response.status} ${response.statusText}\nURL: ${url}\nResponse: ${errorText}`);
81
+ }
82
+ return response.json();
83
+ }
84
+ catch (error) {
85
+ if (error instanceof Error && error.message.includes('API request failed')) {
86
+ throw error;
87
+ }
88
+ throw new Error(`Network error when calling ${url}: ${error instanceof Error ? error.message : String(error)}`);
89
+ }
90
+ }
91
+ async delete(path) {
92
+ const url = `${this.baseUrl}${path}`;
93
+ const headers = {
94
+ 'Content-Type': 'application/json',
95
+ };
96
+ if (this.authToken) {
97
+ headers['Authorization'] = `Bearer ${this.authToken}`;
98
+ }
99
+ try {
100
+ const response = await fetch(url, {
101
+ method: 'DELETE',
102
+ headers,
103
+ });
104
+ if (!response.ok) {
105
+ const errorText = await response.text().catch(() => 'Unable to read error response');
106
+ throw new Error(`API request failed: ${response.status} ${response.statusText}\nURL: ${url}\nResponse: ${errorText}`);
107
+ }
108
+ return response.json();
109
+ }
110
+ catch (error) {
111
+ if (error instanceof Error && error.message.includes('API request failed')) {
112
+ throw error;
113
+ }
114
+ throw new Error(`Network error when calling ${url}: ${error instanceof Error ? error.message : String(error)}`);
115
+ }
116
+ }
117
+ }
118
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/services/api-client.ts"],"names":[],"mappings":"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"}
@@ -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 Agenda Tools for LLM-invoked operations
5
+ */
6
+ export declare function registerMeetingAgendaTools(server: McpServer, apiClient: ApiClient): void;
7
+ //# sourceMappingURL=meeting-agenda-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-agenda-tool.d.ts","sourceRoot":"","sources":["../../src/tools/meeting-agenda-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAM3D;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAgdjF"}
@@ -0,0 +1,452 @@
1
+ import { z } from 'zod';
2
+ const MeetingItemSubTypeSchema = z.enum(['worknode', 'text', 'blocker', 'action', 'follow_up']);
3
+ const MeetingItemStatusSchema = z.enum(['pending', 'discussed', 'deferred', 'resolved', 'skipped']);
4
+ /**
5
+ * Register Meeting Agenda Tools for LLM-invoked operations
6
+ */
7
+ export function registerMeetingAgendaTools(server, apiClient) {
8
+ /**
9
+ * brxce_add_agenda_item - Add an agenda item to a meeting
10
+ */
11
+ server.registerTool('brxce_add_agenda_item', {
12
+ description: `Add an agenda item to a meeting.
13
+
14
+ **When to use this tool:**
15
+ - Planning meeting agenda before the meeting
16
+ - User wants to add discussion topics
17
+ - Organizing meeting structure and topics
18
+
19
+ **Input:**
20
+ - meetingId (required): ID of the meeting
21
+ - title (required): Agenda item title
22
+ - summary (optional): Brief summary of the topic
23
+ - notes (optional): Additional notes or context
24
+ - itemSubType (optional): 'text', 'blocker', 'action', 'follow_up', 'worknode'
25
+ - status (optional): 'pending' (default), 'discussed', 'deferred', 'resolved', 'skipped'
26
+ - durationMinutes (optional): Estimated discussion time
27
+ - workNodeId (optional): Related work item
28
+ - ownerId (optional): Person responsible for this topic
29
+ - sortOrder (optional): Display order (default: 0)
30
+
31
+ **Access Control:**
32
+ - Only workspace members can add agenda items
33
+ - Items are ordered by sortOrder
34
+
35
+ **Example:**
36
+ User: "Add 'Review Q4 Metrics' to meeting #24 agenda, allocate 15 minutes"
37
+ LLM calls: brxce_add_agenda_item(
38
+ meetingId: 24,
39
+ title: "Review Q4 Metrics",
40
+ durationMinutes: 15,
41
+ itemSubType: "text"
42
+ )`,
43
+ inputSchema: {
44
+ meetingId: z.number().describe('Meeting ID'),
45
+ title: z.string().min(1).describe('Agenda item title'),
46
+ summary: z.string().optional().describe('Brief summary'),
47
+ notes: z.string().optional().describe('Additional notes'),
48
+ itemSubType: MeetingItemSubTypeSchema.optional().describe('Item sub-type'),
49
+ status: MeetingItemStatusSchema.optional().describe('Item status (default: pending)'),
50
+ durationMinutes: z.number().optional().describe('Estimated duration in minutes'),
51
+ workNodeId: z.number().optional().describe('Related WorkNode ID'),
52
+ ownerId: z.string().optional().describe('Owner user ID'),
53
+ sortOrder: z.number().optional().describe('Display order')
54
+ }
55
+ }, async (args) => {
56
+ const { meetingId, title, summary, notes, itemSubType, status = 'pending', durationMinutes, workNodeId, ownerId, sortOrder } = args;
57
+ try {
58
+ const requestBody = { title, status };
59
+ if (summary)
60
+ requestBody.summary = summary;
61
+ if (notes)
62
+ requestBody.notes = notes;
63
+ if (itemSubType)
64
+ requestBody.itemSubType = itemSubType;
65
+ if (durationMinutes)
66
+ requestBody.durationMinutes = durationMinutes;
67
+ if (workNodeId)
68
+ requestBody.workNodeId = workNodeId;
69
+ if (ownerId)
70
+ requestBody.ownerId = ownerId;
71
+ if (sortOrder !== undefined)
72
+ requestBody.sortOrder = sortOrder;
73
+ const response = await apiClient.post(`/mcp/meetings/${meetingId}/agenda`, requestBody);
74
+ if (!response.success) {
75
+ return {
76
+ content: [
77
+ {
78
+ type: 'text',
79
+ text: `Failed to add agenda item: ${response.message || 'Unknown error'}`,
80
+ },
81
+ ],
82
+ isError: true,
83
+ };
84
+ }
85
+ const item = response.data;
86
+ let resultText = '## Agenda Item Added\\n\\n';
87
+ resultText += `βœ… **Agenda item successfully added to Meeting #${meetingId}**\\n\\n`;
88
+ resultText += `**Item ID:** ${item.id}\\n`;
89
+ resultText += `**Title:** ${item.title}\\n`;
90
+ if (item.summary) {
91
+ resultText += `**Summary:** ${item.summary}\\n`;
92
+ }
93
+ if (item.itemSubType) {
94
+ resultText += `**Type:** ${getSubTypeEmoji(item.itemSubType)} ${item.itemSubType}\\n`;
95
+ }
96
+ resultText += `**Status:** ${getStatusEmoji(item.status)} ${item.status}\\n`;
97
+ if (durationMinutes) {
98
+ resultText += `**Duration:** ${durationMinutes} minutes\\n`;
99
+ }
100
+ resultText += `**Created:** ${new Date(item.createdAt).toLocaleString()}\\n`;
101
+ return {
102
+ content: [
103
+ {
104
+ type: 'text',
105
+ text: resultText,
106
+ },
107
+ ],
108
+ };
109
+ }
110
+ catch (error) {
111
+ return {
112
+ content: [
113
+ {
114
+ type: 'text',
115
+ text: `Error adding agenda item: ${error.message || 'Unknown error'}`,
116
+ },
117
+ ],
118
+ isError: true,
119
+ };
120
+ }
121
+ });
122
+ /**
123
+ * brxce_list_agenda_items - List all agenda items for a meeting
124
+ */
125
+ server.registerTool('brxce_list_agenda_items', {
126
+ description: `List all agenda items for a meeting.
127
+
128
+ **When to use this tool:**
129
+ - User asks to see meeting agenda
130
+ - Need to review planned topics
131
+ - Checking what will be discussed
132
+
133
+ **Output:**
134
+ - Returns all agenda items ordered by sortOrder
135
+ - Shows status, duration, and assigned owners
136
+ - Indicates which items are pending/discussed
137
+
138
+ **Example:**
139
+ User: "What's on the agenda for meeting #24?"
140
+ LLM calls: brxce_list_agenda_items(meetingId: 24)`,
141
+ inputSchema: {
142
+ meetingId: z.number().describe('Meeting ID')
143
+ }
144
+ }, async (args) => {
145
+ const { meetingId } = args;
146
+ try {
147
+ const response = await apiClient.get(`/mcp/meetings/${meetingId}/agenda`);
148
+ if (!response.success) {
149
+ return {
150
+ content: [
151
+ {
152
+ type: 'text',
153
+ text: `Failed to list agenda items: ${response.message || 'Unknown error'}`,
154
+ },
155
+ ],
156
+ isError: true,
157
+ };
158
+ }
159
+ const { agendaItems } = response.data;
160
+ if (!agendaItems || agendaItems.length === 0) {
161
+ return {
162
+ content: [
163
+ {
164
+ type: 'text',
165
+ text: `## Meeting #${meetingId} Agenda\\n\\nNo agenda items found for this meeting.`,
166
+ },
167
+ ],
168
+ };
169
+ }
170
+ let resultText = `## Meeting #${meetingId} Agenda\\n\\n`;
171
+ resultText += `**Total Items:** ${agendaItems.length}\\n`;
172
+ // Calculate total duration
173
+ const totalDuration = agendaItems.reduce((sum, item) => sum + (item.durationMinutes || 0), 0);
174
+ if (totalDuration > 0) {
175
+ resultText += `**Total Duration:** ${totalDuration} minutes\\n`;
176
+ }
177
+ resultText += '\\n';
178
+ // Group by status
179
+ const byStatus = groupBy(agendaItems, 'status');
180
+ const statusOrder = ['pending', 'discussed', 'deferred', 'resolved', 'skipped'];
181
+ statusOrder.forEach(statusKey => {
182
+ const statusItems = byStatus[statusKey];
183
+ if (statusItems && statusItems.length > 0) {
184
+ resultText += `### ${getStatusEmoji(statusKey)} ${statusKey.toUpperCase()} (${statusItems.length})\\n\\n`;
185
+ statusItems.forEach((item, index) => {
186
+ resultText += `**${index + 1}. ${item.title || 'Untitled'}**`;
187
+ if (item.itemSubType) {
188
+ resultText += ` ${getSubTypeEmoji(item.itemSubType)}`;
189
+ }
190
+ if (item.durationMinutes) {
191
+ resultText += ` ⏱️ ${item.durationMinutes}min`;
192
+ }
193
+ resultText += '\\n';
194
+ if (item.summary) {
195
+ resultText += ` ${item.summary}\\n`;
196
+ }
197
+ if (item.owner) {
198
+ resultText += ` πŸ‘€ ${item.owner.name || item.owner.email}\\n`;
199
+ }
200
+ if (item.notes) {
201
+ resultText += ` πŸ“ Notes: ${item.notes}\\n`;
202
+ }
203
+ resultText += '\\n';
204
+ });
205
+ }
206
+ });
207
+ return {
208
+ content: [
209
+ {
210
+ type: 'text',
211
+ text: resultText,
212
+ },
213
+ ],
214
+ };
215
+ }
216
+ catch (error) {
217
+ return {
218
+ content: [
219
+ {
220
+ type: 'text',
221
+ text: `Error listing agenda items: ${error.message || 'Unknown error'}`,
222
+ },
223
+ ],
224
+ isError: true,
225
+ };
226
+ }
227
+ });
228
+ /**
229
+ * brxce_update_agenda_item - Update a meeting agenda item
230
+ */
231
+ server.registerTool('brxce_update_agenda_item', {
232
+ description: `Update a meeting agenda item.
233
+
234
+ **When to use this tool:**
235
+ - Update agenda item status (e.g., pending β†’ discussed)
236
+ - Change title, summary, or notes
237
+ - Adjust duration or reorder items
238
+ - Mark items as deferred or resolved
239
+
240
+ **Access Control:**
241
+ - Workspace members can update agenda items
242
+ - Cannot update if item doesn't belong to meeting
243
+
244
+ **Input:**
245
+ - meetingId (required): ID of the meeting
246
+ - itemId (required): ID of the agenda item to update
247
+ - title (optional): New title
248
+ - summary (optional): New summary
249
+ - notes (optional): New notes
250
+ - status (optional): New status
251
+ - itemSubType (optional): New sub-type
252
+ - durationMinutes (optional): New duration
253
+ - sortOrder (optional): New display order
254
+
255
+ **Example:**
256
+ User: "Mark agenda item #45 in meeting #24 as discussed"
257
+ LLM calls: brxce_update_agenda_item(meetingId: 24, itemId: 45, status: "discussed")`,
258
+ inputSchema: {
259
+ meetingId: z.number().describe('Meeting ID'),
260
+ itemId: z.number().describe('Agenda item ID to update'),
261
+ title: z.string().min(1).optional().describe('Updated title'),
262
+ summary: z.string().nullable().optional().describe('Updated summary'),
263
+ notes: z.string().nullable().optional().describe('Updated notes'),
264
+ status: MeetingItemStatusSchema.optional().describe('Updated status'),
265
+ itemSubType: MeetingItemSubTypeSchema.optional().describe('Updated sub-type'),
266
+ durationMinutes: z.number().nullable().optional().describe('Updated duration'),
267
+ sortOrder: z.number().optional().describe('Updated sort order')
268
+ }
269
+ }, async (args) => {
270
+ const { meetingId, itemId, title, summary, notes, status, itemSubType, durationMinutes, sortOrder } = args;
271
+ if (!title && summary === undefined && notes === undefined && !status &&
272
+ !itemSubType && durationMinutes === undefined && sortOrder === undefined) {
273
+ return {
274
+ content: [
275
+ {
276
+ type: 'text',
277
+ text: 'Error: You must provide at least one field to update',
278
+ },
279
+ ],
280
+ isError: true,
281
+ };
282
+ }
283
+ try {
284
+ const updateData = {};
285
+ if (title)
286
+ updateData.title = title;
287
+ if (summary !== undefined)
288
+ updateData.summary = summary;
289
+ if (notes !== undefined)
290
+ updateData.notes = notes;
291
+ if (status)
292
+ updateData.status = status;
293
+ if (itemSubType)
294
+ updateData.itemSubType = itemSubType;
295
+ if (durationMinutes !== undefined)
296
+ updateData.durationMinutes = durationMinutes;
297
+ if (sortOrder !== undefined)
298
+ updateData.sortOrder = sortOrder;
299
+ const response = await apiClient.put(`/mcp/meetings/${meetingId}/agenda/${itemId}`, updateData);
300
+ if (!response.success) {
301
+ return {
302
+ content: [
303
+ {
304
+ type: 'text',
305
+ text: `Failed to update agenda item: ${response.message || 'Unknown error'}`,
306
+ },
307
+ ],
308
+ isError: true,
309
+ };
310
+ }
311
+ const item = response.data;
312
+ let resultText = '## Agenda Item Updated\\n\\n';
313
+ resultText += `βœ… **Agenda item #${item.id} successfully updated**\\n\\n`;
314
+ if (title) {
315
+ resultText += `**New Title:** ${item.title}\\n`;
316
+ }
317
+ if (summary !== undefined) {
318
+ resultText += `**New Summary:** ${item.summary || '(empty)'}\\n`;
319
+ }
320
+ if (status) {
321
+ resultText += `**New Status:** ${getStatusEmoji(item.status)} ${item.status}\\n`;
322
+ }
323
+ resultText += `\\n**Last Updated:** ${new Date(item.updatedAt).toLocaleString()}\\n`;
324
+ return {
325
+ content: [
326
+ {
327
+ type: 'text',
328
+ text: resultText,
329
+ },
330
+ ],
331
+ };
332
+ }
333
+ catch (error) {
334
+ return {
335
+ content: [
336
+ {
337
+ type: 'text',
338
+ text: `Error updating agenda item: ${error.message || 'Unknown error'}`,
339
+ },
340
+ ],
341
+ isError: true,
342
+ };
343
+ }
344
+ });
345
+ /**
346
+ * brxce_delete_agenda_item - Delete a meeting agenda item
347
+ */
348
+ server.registerTool('brxce_delete_agenda_item', {
349
+ description: `Delete a meeting agenda item.
350
+
351
+ **When to use this tool:**
352
+ - Topic is no longer relevant
353
+ - Duplicate agenda item
354
+ - Meeting plan changed
355
+
356
+ **Access Control:**
357
+ - Workspace members can delete agenda items
358
+ - Deletion is permanent and cannot be undone
359
+
360
+ **Input:**
361
+ - meetingId (required): ID of the meeting
362
+ - itemId (required): ID of the agenda item to delete
363
+
364
+ **Example:**
365
+ User: "Remove agenda item #45 from meeting #24"
366
+ LLM calls: brxce_delete_agenda_item(meetingId: 24, itemId: 45)`,
367
+ inputSchema: {
368
+ meetingId: z.number().describe('Meeting ID'),
369
+ itemId: z.number().describe('Agenda item ID to delete')
370
+ }
371
+ }, async (args) => {
372
+ const { meetingId, itemId } = args;
373
+ try {
374
+ const response = await apiClient.delete(`/mcp/meetings/${meetingId}/agenda/${itemId}`);
375
+ if (!response.success) {
376
+ return {
377
+ content: [
378
+ {
379
+ type: 'text',
380
+ text: `Failed to delete agenda item: ${response.message || 'Unknown error'}`,
381
+ },
382
+ ],
383
+ isError: true,
384
+ };
385
+ }
386
+ let resultText = '## Agenda Item Deleted\\n\\n';
387
+ resultText += `βœ… **Agenda item #${itemId} successfully deleted from Meeting #${meetingId}**\\n\\n`;
388
+ resultText += '⚠️ This action cannot be undone.\\n';
389
+ return {
390
+ content: [
391
+ {
392
+ type: 'text',
393
+ text: resultText,
394
+ },
395
+ ],
396
+ };
397
+ }
398
+ catch (error) {
399
+ return {
400
+ content: [
401
+ {
402
+ type: 'text',
403
+ text: `Error deleting agenda item: ${error.message || 'Unknown error'}`,
404
+ },
405
+ ],
406
+ isError: true,
407
+ };
408
+ }
409
+ });
410
+ }
411
+ /**
412
+ * Helper function to get status emoji
413
+ */
414
+ function getStatusEmoji(status) {
415
+ if (!status)
416
+ return 'πŸ“‹';
417
+ switch (status) {
418
+ case 'pending': return '⏳';
419
+ case 'discussed': return 'πŸ’¬';
420
+ case 'deferred': return '⏸️';
421
+ case 'resolved': return 'βœ…';
422
+ case 'skipped': return '⏭️';
423
+ default: return 'πŸ“‹';
424
+ }
425
+ }
426
+ /**
427
+ * Helper function to get sub-type emoji
428
+ */
429
+ function getSubTypeEmoji(subType) {
430
+ switch (subType) {
431
+ case 'worknode': return 'πŸ“Œ';
432
+ case 'text': return 'πŸ“';
433
+ case 'blocker': return '🚧';
434
+ case 'action': return '⚑';
435
+ case 'follow_up': return 'πŸ”„';
436
+ default: return 'πŸ“„';
437
+ }
438
+ }
439
+ /**
440
+ * Helper function to group array by key
441
+ */
442
+ function groupBy(array, key) {
443
+ return array.reduce((result, item) => {
444
+ const groupKey = item[key] || 'none';
445
+ if (!result[groupKey]) {
446
+ result[groupKey] = [];
447
+ }
448
+ result[groupKey].push(item);
449
+ return result;
450
+ }, {});
451
+ }
452
+ //# sourceMappingURL=meeting-agenda-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-agenda-tool.js","sourceRoot":"","sources":["../../src/tools/meeting-agenda-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAChG,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAEpG;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,SAAoB;IAChF;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BjB;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,mBAAmB,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACzD,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC1E,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACrF,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAChF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;SAC3D;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,OAAO,EACP,KAAK,EACL,WAAW,EACX,MAAM,GAAG,SAAS,EAClB,eAAe,EACf,UAAU,EACV,OAAO,EACP,SAAS,EACV,GAAG,IAAI,CAAC;QAET,IAAI,CAAC;YACH,MAAM,WAAW,GAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,OAAO;gBAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3C,IAAI,KAAK;gBAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;YACrC,IAAI,WAAW;gBAAE,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;YACvD,IAAI,eAAe;gBAAE,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;YACnE,IAAI,UAAU;gBAAE,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;YACpD,IAAI,OAAO;gBAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3C,IAAI,SAAS,KAAK,SAAS;gBAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;YAE/D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CACnC,iBAAiB,SAAS,SAAS,EACnC,WAAW,CACZ,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,8BAA8B,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBAC1E;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE3B,IAAI,UAAU,GAAG,4BAA4B,CAAC;YAC9C,UAAU,IAAI,kDAAkD,SAAS,UAAU,CAAC;YACpF,UAAU,IAAI,gBAAgB,IAAI,CAAC,EAAE,KAAK,CAAC;YAC3C,UAAU,IAAI,cAAc,IAAI,CAAC,KAAK,KAAK,CAAC;YAC5C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,UAAU,IAAI,gBAAgB,IAAI,CAAC,OAAO,KAAK,CAAC;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,UAAU,IAAI,aAAa,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC;YACxF,CAAC;YACD,UAAU,IAAI,eAAe,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAC7E,IAAI,eAAe,EAAE,CAAC;gBACpB,UAAU,IAAI,iBAAiB,eAAe,aAAa,CAAC;YAC9D,CAAC;YACD,UAAU,IAAI,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC;YAE7E,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,6BAA6B,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBACtE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EAAE;;;;;;;;;;;;;;kDAc+B;QAE5C,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,SAAS,CAAC,CAAC;YAE/E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gCAAgC,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBAC5E;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEtC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,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,eAAe,CAAC;YACzD,UAAU,IAAI,oBAAoB,WAAW,CAAC,MAAM,KAAK,CAAC;YAE1D,2BAA2B;YAC3B,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,IAAS,EAAE,EAAE,CAClE,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,UAAU,IAAI,uBAAuB,aAAa,aAAa,CAAC;YAClE,CAAC;YACD,UAAU,IAAI,KAAK,CAAC;YAEpB,kBAAkB;YAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEhF,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,UAAU,IAAI,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,MAAM,SAAS,CAAC;oBAE1G,WAAW,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE;wBAC/C,UAAU,IAAI,KAAK,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,CAAC;wBAC9D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;4BACrB,UAAU,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxD,CAAC;wBACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;4BACzB,UAAU,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,CAAC;wBACjD,CAAC;wBACD,UAAU,IAAI,KAAK,CAAC;wBAEpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BACjB,UAAU,IAAI,MAAM,IAAI,CAAC,OAAO,KAAK,CAAC;wBACxC,CAAC;wBACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BACf,UAAU,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;wBAClE,CAAC;wBACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BACf,UAAU,IAAI,gBAAgB,IAAI,CAAC,KAAK,KAAK,CAAC;wBAChD,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,+BAA+B,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBACxE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;oFAyBiE;QAE9E,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACjE,MAAM,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACrE,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC7E,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC9E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SAChE;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EACJ,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,eAAe,EACf,SAAS,EACV,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM;YACjE,CAAC,WAAW,IAAI,eAAe,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7E,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,OAAO,KAAK,SAAS;gBAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;YACxD,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;YAClD,IAAI,MAAM;gBAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;YACvC,IAAI,WAAW;gBAAE,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;YACtD,IAAI,eAAe,KAAK,SAAS;gBAAE,UAAU,CAAC,eAAe,GAAG,eAAe,CAAC;YAChF,IAAI,SAAS,KAAK,SAAS;gBAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;YAE9D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAClC,iBAAiB,SAAS,WAAW,MAAM,EAAE,EAC7C,UAAU,CACX,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iCAAiC,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBAC7E;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE3B,IAAI,UAAU,GAAG,8BAA8B,CAAC;YAChD,UAAU,IAAI,oBAAoB,IAAI,CAAC,EAAE,+BAA+B,CAAC;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,IAAI,kBAAkB,IAAI,CAAC,KAAK,KAAK,CAAC;YAClD,CAAC;YACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,UAAU,IAAI,oBAAoB,IAAI,CAAC,OAAO,IAAI,SAAS,KAAK,CAAC;YACnE,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,IAAI,mBAAmB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACnF,CAAC;YACD,UAAU,IAAI,wBAAwB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC;YAErF,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,+BAA+B,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBACxE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EAAE;;;;;;;;;;;;;;;;;+DAiB4C;QAEzD,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;SACxD;KACF,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAM,iBAAiB,SAAS,WAAW,MAAM,EAAE,CAAC,CAAC;YAE5F,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iCAAiC,QAAQ,CAAC,OAAO,IAAI,eAAe,EAAE;yBAC7E;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,GAAG,8BAA8B,CAAC;YAChD,UAAU,IAAI,oBAAoB,MAAM,uCAAuC,SAAS,UAAU,CAAC;YACnG,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,+BAA+B,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE;qBACxE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAqB;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC;QAC3B,KAAK,WAAW,CAAC,CAAC,OAAO,IAAI,CAAC;QAC9B,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC;QAC7B,KAAK,UAAU,CAAC,CAAC,OAAO,GAAG,CAAC;QAC5B,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC;QAC5B,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;QACzB,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC;QAC5B,KAAK,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC;QAC1B,KAAK,WAAW,CAAC,CAAC,OAAO,IAAI,CAAC;QAC9B,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,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,IAAI,MAAM,CAAC;QACrC,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,8 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ApiClient } from '../services/api-client.js';
3
+ /**
4
+ * Register Meeting Creation Tool for conversational workflow
5
+ * Supports preview and actual creation modes
6
+ */
7
+ export declare function registerMeetingCreateTool(server: McpServer, apiClient: ApiClient): void;
8
+ //# sourceMappingURL=meeting-create-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting-create-tool.d.ts","sourceRoot":"","sources":["../../src/tools/meeting-create-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA2E3D;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAqVhF"}