@meetbot/mcp 1.1.0 → 1.1.2
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.
- package/README.md +69 -37
- package/dist/__tests__/meetbot-client.test.js +12 -14
- package/dist/__tests__/meetbot-client.test.js.map +1 -1
- package/dist/__tests__/types.test.js +11 -13
- package/dist/__tests__/types.test.js.map +1 -1
- package/dist/cli-http.js +4 -6
- package/dist/cli-http.js.map +1 -1
- package/dist/cli.js +2 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.js +4 -21
- package/dist/index.js.map +1 -1
- package/dist/mcp-server-http.js +12 -16
- package/dist/mcp-server-http.js.map +1 -1
- package/dist/mcp-server.js +11 -15
- package/dist/mcp-server.js.map +1 -1
- package/dist/meetbot-client.d.ts +1 -1
- package/dist/meetbot-client.d.ts.map +1 -1
- package/dist/meetbot-client.js +9 -16
- package/dist/meetbot-client.js.map +1 -1
- package/dist/schemas.js +50 -53
- package/dist/schemas.js.map +1 -1
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -11,6 +11,8 @@ A Model Context Protocol (MCP) server for the Meet.bot Booking Page API, enablin
|
|
|
11
11
|
- **Error Handling**: Robust error handling with detailed error messages
|
|
12
12
|
- **Health Checks**: Built-in health monitoring using the /v1/pages endpoint
|
|
13
13
|
- **MCP Protocol Compliance**: Full Model Context Protocol server implementation
|
|
14
|
+
- **Dual Mode Support**: Run locally (stdio) or remotely (HTTP/SSE)
|
|
15
|
+
- **Production Deployed**: Live at https://mcp.meet.bot
|
|
14
16
|
- **Production Ready**: Thoroughly tested and validated for production use
|
|
15
17
|
|
|
16
18
|
## Installation
|
|
@@ -99,12 +101,11 @@ The MCP server can be run in two modes:
|
|
|
99
101
|
|
|
100
102
|
For local integration with AI assistants like Claude Desktop. Uses stdio transport for communication.
|
|
101
103
|
|
|
104
|
+
**Note**: For stdio mode, you must call the `configure_meetbot` tool first to provide your authentication token. The server does not read environment variables.
|
|
105
|
+
|
|
102
106
|
```bash
|
|
103
107
|
# Run locally
|
|
104
108
|
npx @meetbot/mcp
|
|
105
|
-
|
|
106
|
-
# Or with environment variable
|
|
107
|
-
MEETBOT_AUTH_TOKEN="your_token" npx @meetbot/mcp
|
|
108
109
|
```
|
|
109
110
|
|
|
110
111
|
### 2. HTTP Mode (SSE Transport)
|
|
@@ -121,8 +122,12 @@ npm run start:http
|
|
|
121
122
|
# Or with custom port
|
|
122
123
|
PORT=8080 npm run start:http
|
|
123
124
|
|
|
124
|
-
# Or run directly with npx
|
|
125
|
-
npx meetbot-mcp-http
|
|
125
|
+
# Or run directly with npx (after installing the package)
|
|
126
|
+
npx --package=@meetbot/mcp meetbot-mcp-http
|
|
127
|
+
|
|
128
|
+
# Or install globally first, then run
|
|
129
|
+
npm install -g @meetbot/mcp
|
|
130
|
+
meetbot-mcp-http
|
|
126
131
|
```
|
|
127
132
|
|
|
128
133
|
#### Server Endpoints
|
|
@@ -143,6 +148,7 @@ The same token is used to authenticate with the Meet.bot API.
|
|
|
143
148
|
|
|
144
149
|
#### Testing the HTTP Server
|
|
145
150
|
|
|
151
|
+
**Local Testing:**
|
|
146
152
|
```bash
|
|
147
153
|
# Health check (should fail without auth)
|
|
148
154
|
curl http://localhost:3000/health
|
|
@@ -157,16 +163,34 @@ curl -N -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/sse
|
|
|
157
163
|
./test-http-server.sh YOUR_TOKEN
|
|
158
164
|
```
|
|
159
165
|
|
|
166
|
+
**Production Testing:**
|
|
167
|
+
```bash
|
|
168
|
+
# Test the live deployment
|
|
169
|
+
curl -H "Authorization: Bearer YOUR_TOKEN" \
|
|
170
|
+
https://mcp.meet.bot/health
|
|
171
|
+
|
|
172
|
+
# Expected response:
|
|
173
|
+
# {"status":"ok","service":"meetbot-mcp"}
|
|
174
|
+
```
|
|
175
|
+
|
|
160
176
|
#### Deployment
|
|
161
177
|
|
|
162
|
-
The HTTP server can be deployed to:
|
|
178
|
+
The HTTP server can be deployed to various platforms:
|
|
163
179
|
|
|
164
|
-
- **Railway**: `railway up`
|
|
165
|
-
- **Fly.io**: `fly launch && fly deploy`
|
|
180
|
+
- **Railway**: `railway up` ✅ **Live at https://mcp.meet.bot**
|
|
166
181
|
- **Google Cloud Run**: Container-based deployment
|
|
167
182
|
- **AWS App Runner**: Container-based deployment
|
|
168
183
|
- **Any VPS**: Run with Node.js directly
|
|
169
184
|
|
|
185
|
+
**Example: Connecting to Production**
|
|
186
|
+
```bash
|
|
187
|
+
# Your MCP client should connect to:
|
|
188
|
+
# https://mcp.meet.bot/sse
|
|
189
|
+
|
|
190
|
+
# With Authorization header:
|
|
191
|
+
# Authorization: Bearer <your-meetbot-api-token>
|
|
192
|
+
```
|
|
193
|
+
|
|
170
194
|
Example Dockerfile:
|
|
171
195
|
|
|
172
196
|
```dockerfile
|
|
@@ -187,20 +211,29 @@ This MCP server can be integrated with AI assistants like Claude, ChatGPT, and o
|
|
|
187
211
|
|
|
188
212
|
#### Configuration Example
|
|
189
213
|
|
|
214
|
+
For stdio mode, the server will start without authentication. You must call the `configure_meetbot` tool first to provide your token:
|
|
215
|
+
|
|
190
216
|
```json
|
|
191
217
|
{
|
|
192
218
|
"mcpServers": {
|
|
193
219
|
"meetbot": {
|
|
194
220
|
"command": "npx",
|
|
195
|
-
"args": ["@meetbot/mcp"]
|
|
196
|
-
"env": {
|
|
197
|
-
"MEETBOT_AUTH_TOKEN": "your_bearer_token_here"
|
|
198
|
-
}
|
|
221
|
+
"args": ["@meetbot/mcp"]
|
|
199
222
|
}
|
|
200
223
|
}
|
|
201
224
|
}
|
|
202
225
|
```
|
|
203
226
|
|
|
227
|
+
After the server starts, call `configure_meetbot` with your token:
|
|
228
|
+
```json
|
|
229
|
+
{
|
|
230
|
+
"name": "configure_meetbot",
|
|
231
|
+
"arguments": {
|
|
232
|
+
"authToken": "your_bearer_token_here"
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
204
237
|
#### Available MCP Tools
|
|
205
238
|
|
|
206
239
|
The server exposes 6 tools for AI assistants:
|
|
@@ -226,7 +259,7 @@ The package has been thoroughly tested and validated:
|
|
|
226
259
|
### Package Statistics
|
|
227
260
|
|
|
228
261
|
- **Package Size**: 12.8 kB (58.0 kB unpacked)
|
|
229
|
-
- **Test Coverage**:
|
|
262
|
+
- **Test Coverage**: 20 passing tests
|
|
230
263
|
- **Dependencies**: 3 production dependencies
|
|
231
264
|
- **TypeScript**: 100% type coverage
|
|
232
265
|
- **Build Status**: ✅ Passing
|
|
@@ -328,22 +361,13 @@ interface Slots {
|
|
|
328
361
|
|
|
329
362
|
## Configuration
|
|
330
363
|
|
|
331
|
-
### Environment Variables
|
|
332
|
-
|
|
333
|
-
You can configure the MCP server using environment variables:
|
|
334
|
-
|
|
335
|
-
```bash
|
|
336
|
-
export MEETBOT_AUTH_TOKEN="your_bearer_token"
|
|
337
|
-
|
|
338
|
-
# Then run the server
|
|
339
|
-
meetbot-mcp
|
|
340
|
-
```
|
|
341
|
-
|
|
342
364
|
### Authentication
|
|
343
365
|
|
|
344
366
|
The MCP server supports Bearer Token authentication:
|
|
345
367
|
|
|
346
|
-
1. **
|
|
368
|
+
1. **For Stdio Mode**: Call the `configure_meetbot` tool with your `authToken` after the server starts
|
|
369
|
+
2. **For HTTP Mode**: Provide the token in the `Authorization: Bearer <token>` header for all requests
|
|
370
|
+
3. **Bearer Token**: Use `authToken` for API key authentication with the Meet.bot API
|
|
347
371
|
|
|
348
372
|
## Development
|
|
349
373
|
|
|
@@ -369,24 +393,21 @@ The package includes a command-line interface for running the MCP server:
|
|
|
369
393
|
# Install globally
|
|
370
394
|
npm install -g @meetbot/mcp
|
|
371
395
|
|
|
372
|
-
# Run the MCP server
|
|
396
|
+
# Run the MCP server (stdio mode)
|
|
373
397
|
meetbot-mcp
|
|
374
398
|
|
|
375
399
|
# Or run directly with npx (no installation required)
|
|
376
400
|
npx @meetbot/mcp
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
### Environment Variables
|
|
380
401
|
|
|
381
|
-
|
|
402
|
+
# Run HTTP server
|
|
403
|
+
meetbot-mcp-http
|
|
382
404
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
# Then run the server
|
|
387
|
-
meetbot-mcp
|
|
405
|
+
# Or with custom port
|
|
406
|
+
PORT=8080 meetbot-mcp-http
|
|
388
407
|
```
|
|
389
408
|
|
|
409
|
+
**Note**: For stdio mode, you must call the `configure_meetbot` tool after the server starts to provide your authentication token. For HTTP mode, provide the token in the `Authorization` header.
|
|
410
|
+
|
|
390
411
|
## Error Handling
|
|
391
412
|
|
|
392
413
|
The MCP server provides detailed error messages for common issues:
|
|
@@ -416,11 +437,22 @@ MIT License - see [LICENSE](LICENSE) file for details.
|
|
|
416
437
|
|
|
417
438
|
## Changelog
|
|
418
439
|
|
|
440
|
+
### 1.1.2
|
|
441
|
+
- **Production Host Update**: All docs now reference https://mcp.meet.bot
|
|
442
|
+
- **Deployment Cleanup**: Removed Fly.io deployment instructions
|
|
443
|
+
- **Dev Tooling**: Updated setup script and documentation for the new flow
|
|
444
|
+
|
|
445
|
+
### 1.1.1
|
|
446
|
+
- **ES Module Fix**: Fixed ES module compatibility for Railway and other Node.js deployments
|
|
447
|
+
- **Import Extensions**: Added proper `.js` extensions to all relative imports
|
|
448
|
+
- **Live Deployment**: Successfully deployed at https://mcp.meet.bot
|
|
449
|
+
- **Production Validated**: Confirmed working in production environment
|
|
450
|
+
|
|
419
451
|
### 1.1.0
|
|
420
452
|
- **HTTP/SSE Transport**: Added HTTP server with SSE transport for remote deployment
|
|
421
453
|
- **Bearer Token Authentication**: Implemented authentication for HTTP endpoints
|
|
422
454
|
- **Multi-mode Support**: Can run as local stdio server or remote HTTP server
|
|
423
|
-
- **Deployment Ready**: Added Dockerfile and deployment configurations for Railway,
|
|
455
|
+
- **Deployment Ready**: Added Dockerfile and deployment configurations for Railway, Docker, GCP, AWS, etc.
|
|
424
456
|
- **Health Check Endpoint**: Added `/health` endpoint for monitoring
|
|
425
457
|
- **Session Management**: Proper session handling with transport cleanup
|
|
426
458
|
- **Production Ready**: Complete HTTP implementation with authentication and error handling
|
|
@@ -455,7 +487,7 @@ MIT License - see [LICENSE](LICENSE) file for details.
|
|
|
455
487
|
- **Error handling** - Robust error handling with detailed messages
|
|
456
488
|
- **Authentication** - Support for bearer token authentication
|
|
457
489
|
- **Health checks** - Built-in API connectivity monitoring using /v1/pages endpoint
|
|
458
|
-
- **Testing** - Comprehensive test suite with
|
|
490
|
+
- **Testing** - Comprehensive test suite with 20 passing tests
|
|
459
491
|
- **Documentation** - Complete API documentation and usage examples
|
|
460
492
|
- **Functional Testing** - Verified with real MCP client requests
|
|
461
493
|
- **npm Publishing** - Successfully published to npm registry
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const meetbot_client_1 = require("../meetbot-client");
|
|
1
|
+
import { MeetbotClient } from '../meetbot-client';
|
|
4
2
|
// Mock axios
|
|
5
3
|
jest.mock('axios');
|
|
6
4
|
const mockAxios = require('axios');
|
|
@@ -22,10 +20,10 @@ describe('MeetbotClient', () => {
|
|
|
22
20
|
});
|
|
23
21
|
describe('constructor', () => {
|
|
24
22
|
it('should create client with valid config', () => {
|
|
25
|
-
expect(() => new
|
|
23
|
+
expect(() => new MeetbotClient(mockConfig)).not.toThrow();
|
|
26
24
|
});
|
|
27
25
|
it('should create axios instance with correct baseURL', () => {
|
|
28
|
-
new
|
|
26
|
+
new MeetbotClient(mockConfig);
|
|
29
27
|
expect(mockAxios.create).toHaveBeenCalledWith(expect.objectContaining({
|
|
30
28
|
baseURL: 'https://meet.bot',
|
|
31
29
|
timeout: 30000,
|
|
@@ -34,7 +32,7 @@ describe('MeetbotClient', () => {
|
|
|
34
32
|
});
|
|
35
33
|
describe('getPages', () => {
|
|
36
34
|
beforeEach(() => {
|
|
37
|
-
client = new
|
|
35
|
+
client = new MeetbotClient(mockConfig);
|
|
38
36
|
});
|
|
39
37
|
it('should call correct endpoint', async () => {
|
|
40
38
|
const mockResponse = { data: { email: 'test@example.com', pages: [] } };
|
|
@@ -47,14 +45,14 @@ describe('MeetbotClient', () => {
|
|
|
47
45
|
response: { use: jest.fn() },
|
|
48
46
|
},
|
|
49
47
|
});
|
|
50
|
-
client = new
|
|
48
|
+
client = new MeetbotClient(mockConfig);
|
|
51
49
|
await client.getPages();
|
|
52
50
|
expect(mockGet).toHaveBeenCalledWith('/v1/pages');
|
|
53
51
|
});
|
|
54
52
|
});
|
|
55
53
|
describe('getPageInfo', () => {
|
|
56
54
|
beforeEach(() => {
|
|
57
|
-
client = new
|
|
55
|
+
client = new MeetbotClient(mockConfig);
|
|
58
56
|
});
|
|
59
57
|
it('should validate params before making request', () => {
|
|
60
58
|
const invalidParams = { page: 'not-a-url' };
|
|
@@ -79,7 +77,7 @@ describe('MeetbotClient', () => {
|
|
|
79
77
|
response: { use: jest.fn() },
|
|
80
78
|
},
|
|
81
79
|
});
|
|
82
|
-
client = new
|
|
80
|
+
client = new MeetbotClient(mockConfig);
|
|
83
81
|
const params = { page: 'https://meet.bot/user/30min' };
|
|
84
82
|
await client.getPageInfo(params);
|
|
85
83
|
expect(mockGet).toHaveBeenCalledWith('/v1/info', { params });
|
|
@@ -87,7 +85,7 @@ describe('MeetbotClient', () => {
|
|
|
87
85
|
});
|
|
88
86
|
describe('getSlots', () => {
|
|
89
87
|
beforeEach(() => {
|
|
90
|
-
client = new
|
|
88
|
+
client = new MeetbotClient(mockConfig);
|
|
91
89
|
});
|
|
92
90
|
it('should validate params before making request', () => {
|
|
93
91
|
const invalidParams = { page: 'not-a-url' };
|
|
@@ -110,7 +108,7 @@ describe('MeetbotClient', () => {
|
|
|
110
108
|
response: { use: jest.fn() },
|
|
111
109
|
},
|
|
112
110
|
});
|
|
113
|
-
client = new
|
|
111
|
+
client = new MeetbotClient(mockConfig);
|
|
114
112
|
const params = { page: 'https://meet.bot/user/30min' };
|
|
115
113
|
await client.getSlots(params);
|
|
116
114
|
expect(mockGet).toHaveBeenCalledWith('/v1/slots', { params });
|
|
@@ -118,7 +116,7 @@ describe('MeetbotClient', () => {
|
|
|
118
116
|
});
|
|
119
117
|
describe('bookSlot', () => {
|
|
120
118
|
beforeEach(() => {
|
|
121
|
-
client = new
|
|
119
|
+
client = new MeetbotClient(mockConfig);
|
|
122
120
|
});
|
|
123
121
|
it('should validate request before making API call', () => {
|
|
124
122
|
const invalidRequest = {
|
|
@@ -149,7 +147,7 @@ describe('MeetbotClient', () => {
|
|
|
149
147
|
response: { use: jest.fn() },
|
|
150
148
|
},
|
|
151
149
|
});
|
|
152
|
-
client = new
|
|
150
|
+
client = new MeetbotClient(mockConfig);
|
|
153
151
|
const request = {
|
|
154
152
|
page: 'https://meet.bot/user/30min',
|
|
155
153
|
guest_email: 'guest@example.com',
|
|
@@ -162,7 +160,7 @@ describe('MeetbotClient', () => {
|
|
|
162
160
|
});
|
|
163
161
|
describe('getConfig', () => {
|
|
164
162
|
beforeEach(() => {
|
|
165
|
-
client = new
|
|
163
|
+
client = new MeetbotClient(mockConfig);
|
|
166
164
|
});
|
|
167
165
|
it('should return a copy of the configuration', () => {
|
|
168
166
|
const config = client.getConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meetbot-client.test.js","sourceRoot":"","sources":["../../src/__tests__/meetbot-client.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"meetbot-client.test.js","sourceRoot":"","sources":["../../src/__tests__/meetbot-client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const schemas_1 = require("../schemas");
|
|
1
|
+
import { BookSlotSchema, PageInfoSchema, GetSlotsParamsSchema, MeetbotConfigSchema, } from '../schemas';
|
|
4
2
|
describe('Meet.bot API Schemas', () => {
|
|
5
3
|
describe('BookSlotSchema', () => {
|
|
6
4
|
it('should validate a valid BookSlot', () => {
|
|
@@ -13,7 +11,7 @@ describe('Meet.bot API Schemas', () => {
|
|
|
13
11
|
start: '2025-01-15T14:00:00Z',
|
|
14
12
|
ical_uid: 'abc123',
|
|
15
13
|
};
|
|
16
|
-
const result =
|
|
14
|
+
const result = BookSlotSchema.safeParse(validBookSlot);
|
|
17
15
|
expect(result.success).toBe(true);
|
|
18
16
|
});
|
|
19
17
|
it('should reject invalid email', () => {
|
|
@@ -25,7 +23,7 @@ describe('Meet.bot API Schemas', () => {
|
|
|
25
23
|
start: '2025-01-15T14:00:00Z',
|
|
26
24
|
ical_uid: 'abc123',
|
|
27
25
|
};
|
|
28
|
-
const result =
|
|
26
|
+
const result = BookSlotSchema.safeParse(invalidBookSlot);
|
|
29
27
|
expect(result.success).toBe(false);
|
|
30
28
|
});
|
|
31
29
|
});
|
|
@@ -38,7 +36,7 @@ describe('Meet.bot API Schemas', () => {
|
|
|
38
36
|
owner_name: 'John Doe',
|
|
39
37
|
max_days_into_the_future: 30,
|
|
40
38
|
};
|
|
41
|
-
const result =
|
|
39
|
+
const result = PageInfoSchema.safeParse(validPageInfo);
|
|
42
40
|
expect(result.success).toBe(true);
|
|
43
41
|
});
|
|
44
42
|
it('should reject negative duration', () => {
|
|
@@ -49,7 +47,7 @@ describe('Meet.bot API Schemas', () => {
|
|
|
49
47
|
owner_name: 'John Doe',
|
|
50
48
|
max_days_into_the_future: 30,
|
|
51
49
|
};
|
|
52
|
-
const result =
|
|
50
|
+
const result = PageInfoSchema.safeParse(invalidPageInfo);
|
|
53
51
|
expect(result.success).toBe(false);
|
|
54
52
|
});
|
|
55
53
|
});
|
|
@@ -58,7 +56,7 @@ describe('Meet.bot API Schemas', () => {
|
|
|
58
56
|
const validConfig = {
|
|
59
57
|
baseUrl: 'https://api.meet.bot',
|
|
60
58
|
};
|
|
61
|
-
const result =
|
|
59
|
+
const result = MeetbotConfigSchema.safeParse(validConfig);
|
|
62
60
|
expect(result.success).toBe(true);
|
|
63
61
|
});
|
|
64
62
|
it('should validate valid config with all fields', () => {
|
|
@@ -67,14 +65,14 @@ describe('Meet.bot API Schemas', () => {
|
|
|
67
65
|
authToken: 'token123',
|
|
68
66
|
sessionId: 'session123',
|
|
69
67
|
};
|
|
70
|
-
const result =
|
|
68
|
+
const result = MeetbotConfigSchema.safeParse(validConfig);
|
|
71
69
|
expect(result.success).toBe(true);
|
|
72
70
|
});
|
|
73
71
|
it('should accept valid authToken', () => {
|
|
74
72
|
const validConfig = {
|
|
75
73
|
authToken: 'valid-token-123',
|
|
76
74
|
};
|
|
77
|
-
const result =
|
|
75
|
+
const result = MeetbotConfigSchema.safeParse(validConfig);
|
|
78
76
|
expect(result.success).toBe(true);
|
|
79
77
|
});
|
|
80
78
|
});
|
|
@@ -88,14 +86,14 @@ describe('Meet.bot API Schemas', () => {
|
|
|
88
86
|
timezone: 'America/New_York',
|
|
89
87
|
booking_link: true,
|
|
90
88
|
};
|
|
91
|
-
const result =
|
|
89
|
+
const result = GetSlotsParamsSchema.safeParse(validParams);
|
|
92
90
|
expect(result.success).toBe(true);
|
|
93
91
|
});
|
|
94
92
|
it('should validate minimal params', () => {
|
|
95
93
|
const minimalParams = {
|
|
96
94
|
page: 'https://meet.bot/user/30min',
|
|
97
95
|
};
|
|
98
|
-
const result =
|
|
96
|
+
const result = GetSlotsParamsSchema.safeParse(minimalParams);
|
|
99
97
|
expect(result.success).toBe(true);
|
|
100
98
|
});
|
|
101
99
|
it('should reject invalid date format', () => {
|
|
@@ -103,7 +101,7 @@ describe('Meet.bot API Schemas', () => {
|
|
|
103
101
|
page: 'https://meet.bot/user/30min',
|
|
104
102
|
start: '2025/01/01',
|
|
105
103
|
};
|
|
106
|
-
const result =
|
|
104
|
+
const result = GetSlotsParamsSchema.safeParse(invalidParams);
|
|
107
105
|
expect(result.success).toBe(false);
|
|
108
106
|
});
|
|
109
107
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-http.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const http_1 = require("http");
|
|
5
|
-
const mcp_server_http_js_1 = require("./mcp-server-http.js");
|
|
2
|
+
import { createServer } from 'http';
|
|
3
|
+
import { MeetbotMCPServerHTTP } from './mcp-server-http.js';
|
|
6
4
|
const PORT = parseInt(process.env['PORT'] || '3000', 10);
|
|
7
5
|
async function main() {
|
|
8
|
-
const mcpServer = new
|
|
9
|
-
const httpServer =
|
|
6
|
+
const mcpServer = new MeetbotMCPServerHTTP();
|
|
7
|
+
const httpServer = createServer(async (req, res) => {
|
|
10
8
|
try {
|
|
11
9
|
await mcpServer.handleRequest(req, res);
|
|
12
10
|
}
|
package/dist/cli-http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-http.js","sourceRoot":"","sources":["../src/cli-http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-http.js","sourceRoot":"","sources":["../src/cli-http.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAEzD,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;oBACb,KAAK,EAAE,uBAAuB;oBAC9B,OAAO,EACL,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC3D,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,SAAS,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
const mcp_server_js_1 = require("./mcp-server.js");
|
|
2
|
+
import { MeetbotMCPServer } from './mcp-server.js';
|
|
5
3
|
/**
|
|
6
4
|
* CLI entry point for the Meet.bot MCP server
|
|
7
5
|
*/
|
|
8
6
|
async function main() {
|
|
9
7
|
try {
|
|
10
|
-
const server = new
|
|
8
|
+
const server = new MeetbotMCPServer();
|
|
11
9
|
await server.run();
|
|
12
10
|
}
|
|
13
11
|
catch (error) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACtC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,28 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Meet.bot MCP Package
|
|
4
3
|
* Model Context Protocol server for Meet.bot Booking Page API
|
|
5
4
|
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.ApiErrorSchema = exports.MeetbotConfigSchema = exports.SlotDetailsSchema = exports.SlotsSchema = exports.SchedulingPageSchema = exports.PagesSchema = exports.PageInfoSchema = exports.GetInfoParamsSchema = exports.GetSlotsParamsSchema = exports.BookSlotRequestSchema = exports.BookSlotSchema = exports.MeetbotClient = exports.MeetbotMCPServerHTTP = exports.MeetbotMCPServer = void 0;
|
|
8
5
|
// Export main classes
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Object.defineProperty(exports, "MeetbotMCPServerHTTP", { enumerable: true, get: function () { return mcp_server_http_js_1.MeetbotMCPServerHTTP; } });
|
|
13
|
-
var meetbot_client_js_1 = require("./meetbot-client.js");
|
|
14
|
-
Object.defineProperty(exports, "MeetbotClient", { enumerable: true, get: function () { return meetbot_client_js_1.MeetbotClient; } });
|
|
6
|
+
export { MeetbotMCPServer } from './mcp-server.js';
|
|
7
|
+
export { MeetbotMCPServerHTTP } from './mcp-server-http.js';
|
|
8
|
+
export { MeetbotClient } from './meetbot-client.js';
|
|
15
9
|
// Export schemas
|
|
16
|
-
|
|
17
|
-
Object.defineProperty(exports, "BookSlotSchema", { enumerable: true, get: function () { return schemas_js_1.BookSlotSchema; } });
|
|
18
|
-
Object.defineProperty(exports, "BookSlotRequestSchema", { enumerable: true, get: function () { return schemas_js_1.BookSlotRequestSchema; } });
|
|
19
|
-
Object.defineProperty(exports, "GetSlotsParamsSchema", { enumerable: true, get: function () { return schemas_js_1.GetSlotsParamsSchema; } });
|
|
20
|
-
Object.defineProperty(exports, "GetInfoParamsSchema", { enumerable: true, get: function () { return schemas_js_1.GetInfoParamsSchema; } });
|
|
21
|
-
Object.defineProperty(exports, "PageInfoSchema", { enumerable: true, get: function () { return schemas_js_1.PageInfoSchema; } });
|
|
22
|
-
Object.defineProperty(exports, "PagesSchema", { enumerable: true, get: function () { return schemas_js_1.PagesSchema; } });
|
|
23
|
-
Object.defineProperty(exports, "SchedulingPageSchema", { enumerable: true, get: function () { return schemas_js_1.SchedulingPageSchema; } });
|
|
24
|
-
Object.defineProperty(exports, "SlotsSchema", { enumerable: true, get: function () { return schemas_js_1.SlotsSchema; } });
|
|
25
|
-
Object.defineProperty(exports, "SlotDetailsSchema", { enumerable: true, get: function () { return schemas_js_1.SlotDetailsSchema; } });
|
|
26
|
-
Object.defineProperty(exports, "MeetbotConfigSchema", { enumerable: true, get: function () { return schemas_js_1.MeetbotConfigSchema; } });
|
|
27
|
-
Object.defineProperty(exports, "ApiErrorSchema", { enumerable: true, get: function () { return schemas_js_1.ApiErrorSchema; } });
|
|
10
|
+
export { BookSlotSchema, BookSlotRequestSchema, GetSlotsParamsSchema, GetInfoParamsSchema, PageInfoSchema, PagesSchema, SchedulingPageSchema, SlotsSchema, SlotDetailsSchema, MeetbotConfigSchema, ApiErrorSchema, } from './schemas.js';
|
|
28
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAkBpD,iBAAiB;AACjB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC"}
|
package/dist/mcp-server-http.js
CHANGED
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const sse_js_1 = require("@modelcontextprotocol/sdk/server/sse.js");
|
|
6
|
-
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
7
|
-
const meetbot_client_js_1 = require("./meetbot-client.js");
|
|
1
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
+
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
|
|
3
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import { MeetbotClient } from './meetbot-client.js';
|
|
8
5
|
/**
|
|
9
6
|
* HTTP-based MCP Server for Meet.bot Booking Page API with SSE transport
|
|
10
7
|
*/
|
|
11
|
-
class MeetbotMCPServerHTTP {
|
|
8
|
+
export class MeetbotMCPServerHTTP {
|
|
12
9
|
server;
|
|
13
10
|
transports = new Map();
|
|
14
11
|
clients = new Map();
|
|
15
12
|
constructor() {
|
|
16
|
-
this.server = new
|
|
13
|
+
this.server = new Server({
|
|
17
14
|
name: 'meetbot-mcp',
|
|
18
|
-
version: '1.1.
|
|
15
|
+
version: '1.1.2',
|
|
19
16
|
});
|
|
20
17
|
this.setupToolHandlers();
|
|
21
18
|
}
|
|
22
19
|
setupToolHandlers() {
|
|
23
20
|
// List available tools
|
|
24
|
-
this.server.setRequestHandler(
|
|
21
|
+
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
25
22
|
return {
|
|
26
23
|
tools: [
|
|
27
24
|
{
|
|
@@ -136,7 +133,7 @@ class MeetbotMCPServerHTTP {
|
|
|
136
133
|
};
|
|
137
134
|
});
|
|
138
135
|
// Handle tool calls
|
|
139
|
-
this.server.setRequestHandler(
|
|
136
|
+
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
140
137
|
const { name, arguments: args } = request.params;
|
|
141
138
|
// Get the client for this session
|
|
142
139
|
const sessionId = request.sessionId;
|
|
@@ -173,7 +170,7 @@ class MeetbotMCPServerHTTP {
|
|
|
173
170
|
});
|
|
174
171
|
}
|
|
175
172
|
async handleConfigureMeetbot(args, sessionId) {
|
|
176
|
-
const client = new
|
|
173
|
+
const client = new MeetbotClient(args);
|
|
177
174
|
this.clients.set(sessionId, client);
|
|
178
175
|
return {
|
|
179
176
|
content: [
|
|
@@ -296,11 +293,11 @@ class MeetbotMCPServerHTTP {
|
|
|
296
293
|
}
|
|
297
294
|
// Handle SSE connection (GET request)
|
|
298
295
|
if (req.method === 'GET' && url.pathname === '/sse') {
|
|
299
|
-
const transport = new
|
|
296
|
+
const transport = new SSEServerTransport('/messages', res);
|
|
300
297
|
const sessionId = transport.sessionId;
|
|
301
298
|
// Store transport and create client with the authenticated token
|
|
302
299
|
this.transports.set(sessionId, transport);
|
|
303
|
-
const client = new
|
|
300
|
+
const client = new MeetbotClient({ authToken });
|
|
304
301
|
this.clients.set(sessionId, client);
|
|
305
302
|
// Attach session ID to requests
|
|
306
303
|
const originalSetRequestHandler = this.server.setRequestHandler.bind(this.server);
|
|
@@ -346,5 +343,4 @@ class MeetbotMCPServerHTTP {
|
|
|
346
343
|
res.end(JSON.stringify({ error: 'Not found' }));
|
|
347
344
|
}
|
|
348
345
|
}
|
|
349
|
-
exports.MeetbotMCPServerHTTP = MeetbotMCPServerHTTP;
|
|
350
346
|
//# sourceMappingURL=mcp-server-http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-http.js","sourceRoot":"","sources":["../src/mcp-server-http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-server-http.js","sourceRoot":"","sources":["../src/mcp-server-http.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
6
|
-
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
7
|
-
const meetbot_client_js_1 = require("./meetbot-client.js");
|
|
1
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
|
+
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import { MeetbotClient } from './meetbot-client.js';
|
|
8
5
|
/**
|
|
9
6
|
* MCP Server for Meet.bot Booking Page API
|
|
10
7
|
*/
|
|
11
|
-
class MeetbotMCPServer {
|
|
8
|
+
export class MeetbotMCPServer {
|
|
12
9
|
server;
|
|
13
10
|
client = null;
|
|
14
11
|
constructor() {
|
|
15
|
-
this.server = new
|
|
12
|
+
this.server = new Server({
|
|
16
13
|
name: 'meetbot-mcp',
|
|
17
14
|
version: '1.0.0',
|
|
18
15
|
});
|
|
@@ -20,7 +17,7 @@ class MeetbotMCPServer {
|
|
|
20
17
|
}
|
|
21
18
|
setupToolHandlers() {
|
|
22
19
|
// List available tools
|
|
23
|
-
this.server.setRequestHandler(
|
|
20
|
+
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
24
21
|
return {
|
|
25
22
|
tools: [
|
|
26
23
|
{
|
|
@@ -135,7 +132,7 @@ class MeetbotMCPServer {
|
|
|
135
132
|
};
|
|
136
133
|
});
|
|
137
134
|
// Handle tool calls
|
|
138
|
-
this.server.setRequestHandler(
|
|
135
|
+
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
139
136
|
const { name, arguments: args } = request.params;
|
|
140
137
|
try {
|
|
141
138
|
switch (name) {
|
|
@@ -170,7 +167,7 @@ class MeetbotMCPServer {
|
|
|
170
167
|
}
|
|
171
168
|
async handleConfigureMeetbot(args) {
|
|
172
169
|
if (!this.client) {
|
|
173
|
-
this.client = new
|
|
170
|
+
this.client = new MeetbotClient(args);
|
|
174
171
|
return {
|
|
175
172
|
content: [
|
|
176
173
|
{
|
|
@@ -182,7 +179,7 @@ class MeetbotMCPServer {
|
|
|
182
179
|
}
|
|
183
180
|
else {
|
|
184
181
|
// Reconfigure existing client
|
|
185
|
-
this.client = new
|
|
182
|
+
this.client = new MeetbotClient(args);
|
|
186
183
|
return {
|
|
187
184
|
content: [
|
|
188
185
|
{
|
|
@@ -277,10 +274,9 @@ class MeetbotMCPServer {
|
|
|
277
274
|
* Start the MCP server
|
|
278
275
|
*/
|
|
279
276
|
async run() {
|
|
280
|
-
const transport = new
|
|
277
|
+
const transport = new StdioServerTransport();
|
|
281
278
|
await this.server.connect(transport);
|
|
282
279
|
console.error('Meet.bot MCP server started');
|
|
283
280
|
}
|
|
284
281
|
}
|
|
285
|
-
exports.MeetbotMCPServer = MeetbotMCPServer;
|
|
286
282
|
//# sourceMappingURL=mcp-server.js.map
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/meetbot-client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BookSlot, BookSlotRequest, GetSlotsParams, GetInfoParams, PageInfo, Pages, Slots, MeetbotConfig } from './types';
|
|
1
|
+
import { BookSlot, BookSlotRequest, GetSlotsParams, GetInfoParams, PageInfo, Pages, Slots, MeetbotConfig } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Meet.bot API Client for interacting with the booking page API
|
|
4
4
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meetbot-client.d.ts","sourceRoot":"","sources":["../src/meetbot-client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,KAAK,EACL,KAAK,EACL,aAAa,EACd,MAAM,
|
|
1
|
+
{"version":3,"file":"meetbot-client.d.ts","sourceRoot":"","sources":["../src/meetbot-client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,QAAQ,EACR,KAAK,EACL,KAAK,EACL,aAAa,EACd,MAAM,YAAY,CAAC;AAQpB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,EAAE,aAAa;IAmCjC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAKhC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ3D;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAQtD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBrC;;OAEG;IACH,SAAS,IAAI,aAAa;CAG3B"}
|
package/dist/meetbot-client.js
CHANGED
|
@@ -1,23 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MeetbotClient = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const schemas_1 = require("./schemas");
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { BookSlotRequestSchema, GetSlotsParamsSchema, GetInfoParamsSchema, MeetbotConfigSchema, } from './schemas.js';
|
|
9
3
|
/**
|
|
10
4
|
* Meet.bot API Client for interacting with the booking page API
|
|
11
5
|
*/
|
|
12
|
-
class MeetbotClient {
|
|
6
|
+
export class MeetbotClient {
|
|
13
7
|
client;
|
|
14
8
|
config;
|
|
15
9
|
constructor(config) {
|
|
16
10
|
// Validate configuration
|
|
17
|
-
const validatedConfig =
|
|
11
|
+
const validatedConfig = MeetbotConfigSchema.parse(config);
|
|
18
12
|
this.config = validatedConfig;
|
|
19
13
|
// Create axios instance with hardcoded base URL
|
|
20
|
-
this.client =
|
|
14
|
+
this.client = axios.create({
|
|
21
15
|
baseURL: 'https://meet.bot',
|
|
22
16
|
timeout: 30000,
|
|
23
17
|
headers: {
|
|
@@ -51,7 +45,7 @@ class MeetbotClient {
|
|
|
51
45
|
* Get information about a scheduling page
|
|
52
46
|
*/
|
|
53
47
|
async getPageInfo(params) {
|
|
54
|
-
const validatedParams =
|
|
48
|
+
const validatedParams = GetInfoParamsSchema.parse(params);
|
|
55
49
|
const response = await this.client.get('/v1/info', {
|
|
56
50
|
params: validatedParams,
|
|
57
51
|
});
|
|
@@ -61,7 +55,7 @@ class MeetbotClient {
|
|
|
61
55
|
* Get available booking slots with optional filters
|
|
62
56
|
*/
|
|
63
57
|
async getSlots(params) {
|
|
64
|
-
const validatedParams =
|
|
58
|
+
const validatedParams = GetSlotsParamsSchema.parse(params);
|
|
65
59
|
const response = await this.client.get('/v1/slots', {
|
|
66
60
|
params: validatedParams,
|
|
67
61
|
});
|
|
@@ -71,7 +65,7 @@ class MeetbotClient {
|
|
|
71
65
|
* Book a new meeting
|
|
72
66
|
*/
|
|
73
67
|
async bookSlot(request) {
|
|
74
|
-
const validatedRequest =
|
|
68
|
+
const validatedRequest = BookSlotRequestSchema.parse(request);
|
|
75
69
|
const response = await this.client.post('/v1/book', validatedRequest);
|
|
76
70
|
return response.data;
|
|
77
71
|
}
|
|
@@ -89,7 +83,7 @@ class MeetbotClient {
|
|
|
89
83
|
catch (error) {
|
|
90
84
|
// If we get a 401/403, it means the API is reachable but auth failed
|
|
91
85
|
// If we get a network error, the API is not reachable
|
|
92
|
-
if (
|
|
86
|
+
if (axios.isAxiosError(error)) {
|
|
93
87
|
const status = error.response?.status;
|
|
94
88
|
if (status === 401 || status === 403) {
|
|
95
89
|
return true; // API is reachable, just auth issue
|
|
@@ -108,5 +102,4 @@ class MeetbotClient {
|
|
|
108
102
|
return { ...this.config };
|
|
109
103
|
}
|
|
110
104
|
}
|
|
111
|
-
exports.MeetbotClient = MeetbotClient;
|
|
112
105
|
//# sourceMappingURL=meetbot-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meetbot-client.js","sourceRoot":"","sources":["../src/meetbot-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"meetbot-client.js","sourceRoot":"","sources":["../src/meetbot-client.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas.js
CHANGED
|
@@ -1,68 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MeetbotConfigSchema = exports.ApiErrorSchema = exports.GetInfoParamsSchema = exports.GetSlotsParamsSchema = exports.BookSlotRequestSchema = exports.SlotsSchema = exports.SlotDetailsSchema = exports.PagesSchema = exports.SchedulingPageSchema = exports.PageInfoSchema = exports.BookSlotSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
1
|
+
import { z } from 'zod';
|
|
5
2
|
/**
|
|
6
3
|
* Zod schemas for runtime validation of Meet.bot API data
|
|
7
4
|
*/
|
|
8
|
-
|
|
9
|
-
success:
|
|
10
|
-
page:
|
|
11
|
-
guest_email:
|
|
12
|
-
guest_name:
|
|
13
|
-
notes:
|
|
14
|
-
start:
|
|
15
|
-
ical_uid:
|
|
5
|
+
export const BookSlotSchema = z.object({
|
|
6
|
+
success: z.boolean(),
|
|
7
|
+
page: z.string().url(),
|
|
8
|
+
guest_email: z.string().email(),
|
|
9
|
+
guest_name: z.string().min(1),
|
|
10
|
+
notes: z.string().optional(),
|
|
11
|
+
start: z.string().datetime(),
|
|
12
|
+
ical_uid: z.string(),
|
|
16
13
|
});
|
|
17
|
-
|
|
18
|
-
title:
|
|
19
|
-
duration:
|
|
20
|
-
url:
|
|
21
|
-
owner_name:
|
|
22
|
-
max_days_into_the_future:
|
|
14
|
+
export const PageInfoSchema = z.object({
|
|
15
|
+
title: z.string(),
|
|
16
|
+
duration: z.number().int().positive(),
|
|
17
|
+
url: z.string().url(),
|
|
18
|
+
owner_name: z.string(),
|
|
19
|
+
max_days_into_the_future: z.number().int().positive(),
|
|
23
20
|
});
|
|
24
|
-
|
|
25
|
-
title:
|
|
26
|
-
duration:
|
|
27
|
-
url:
|
|
21
|
+
export const SchedulingPageSchema = z.object({
|
|
22
|
+
title: z.string(),
|
|
23
|
+
duration: z.number().int().positive(),
|
|
24
|
+
url: z.string().url(),
|
|
28
25
|
});
|
|
29
|
-
|
|
30
|
-
email:
|
|
31
|
-
pages:
|
|
26
|
+
export const PagesSchema = z.object({
|
|
27
|
+
email: z.string().email(),
|
|
28
|
+
pages: z.array(SchedulingPageSchema),
|
|
32
29
|
});
|
|
33
|
-
|
|
34
|
-
start:
|
|
35
|
-
url:
|
|
30
|
+
export const SlotDetailsSchema = z.object({
|
|
31
|
+
start: z.string().datetime(),
|
|
32
|
+
url: z.string().url().optional(),
|
|
36
33
|
});
|
|
37
|
-
|
|
38
|
-
count:
|
|
39
|
-
duration:
|
|
40
|
-
slots:
|
|
34
|
+
export const SlotsSchema = z.object({
|
|
35
|
+
count: z.number().int().nonnegative(),
|
|
36
|
+
duration: z.number().int().positive(),
|
|
37
|
+
slots: z.array(SlotDetailsSchema),
|
|
41
38
|
});
|
|
42
|
-
|
|
43
|
-
page:
|
|
44
|
-
guest_email:
|
|
45
|
-
guest_name:
|
|
46
|
-
notes:
|
|
47
|
-
start:
|
|
39
|
+
export const BookSlotRequestSchema = z.object({
|
|
40
|
+
page: z.string().url(),
|
|
41
|
+
guest_email: z.string().email(),
|
|
42
|
+
guest_name: z.string().min(1),
|
|
43
|
+
notes: z.string().optional(),
|
|
44
|
+
start: z.string().datetime(),
|
|
48
45
|
});
|
|
49
|
-
|
|
50
|
-
page:
|
|
51
|
-
count:
|
|
52
|
-
start:
|
|
53
|
-
end:
|
|
54
|
-
timezone:
|
|
55
|
-
booking_link:
|
|
46
|
+
export const GetSlotsParamsSchema = z.object({
|
|
47
|
+
page: z.string().url(),
|
|
48
|
+
count: z.number().int().positive().optional(),
|
|
49
|
+
start: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
50
|
+
end: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
51
|
+
timezone: z.string().min(1).optional(),
|
|
52
|
+
booking_link: z.boolean().optional(),
|
|
56
53
|
});
|
|
57
|
-
|
|
58
|
-
page:
|
|
54
|
+
export const GetInfoParamsSchema = z.object({
|
|
55
|
+
page: z.string().url(),
|
|
59
56
|
});
|
|
60
|
-
|
|
61
|
-
success:
|
|
62
|
-
error:
|
|
63
|
-
errors:
|
|
57
|
+
export const ApiErrorSchema = z.object({
|
|
58
|
+
success: z.literal(false),
|
|
59
|
+
error: z.string(),
|
|
60
|
+
errors: z.record(z.array(z.string())).optional(),
|
|
64
61
|
});
|
|
65
|
-
|
|
66
|
-
authToken:
|
|
62
|
+
export const MeetbotConfigSchema = z.object({
|
|
63
|
+
authToken: z.string().optional(),
|
|
67
64
|
});
|
|
68
65
|
//# sourceMappingURL=schemas.js.map
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
package/package.json
CHANGED