45 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
import { LightspeedMCPServer } from './server.js';
// Get configuration from environment variables
const accountId = process.env.LIGHTSPEED_ACCOUNT_ID;
const clientId = process.env.LIGHTSPEED_CLIENT_ID;
const clientSecret = process.env.LIGHTSPEED_CLIENT_SECRET;
const accessToken = process.env.LIGHTSPEED_ACCESS_TOKEN;
const refreshToken = process.env.LIGHTSPEED_REFRESH_TOKEN;
const apiType = process.env.LIGHTSPEED_API_TYPE || 'retail'; // retail or restaurant
const environment = process.env.LIGHTSPEED_ENVIRONMENT || 'production'; // production or trial
if (!accountId || !clientId || !clientSecret) {
console.error('Error: Missing required environment variables');
console.error('Required: LIGHTSPEED_ACCOUNT_ID, LIGHTSPEED_CLIENT_ID, LIGHTSPEED_CLIENT_SECRET');
console.error('Optional: LIGHTSPEED_ACCESS_TOKEN, LIGHTSPEED_REFRESH_TOKEN, LIGHTSPEED_API_TYPE, LIGHTSPEED_ENVIRONMENT');
process.exit(1);
}
const config: any = {
apiType: apiType as 'retail' | 'restaurant',
environment: environment as 'production' | 'trial',
};
if (accessToken) {
config.accessToken = accessToken;
}
if (refreshToken) {
config.refreshToken = refreshToken;
}
const server = new LightspeedMCPServer(accountId, clientId, clientSecret, config);
// Set tokens if provided
if (accessToken && refreshToken) {
server.setTokens(accessToken, refreshToken);
}
server.run().catch((error) => {
console.error('Server error:', error);
process.exit(1);
});