UNPKG

survey-mcp-server

Version:

Survey management server handling survey creation, response collection, analysis, and reporting with database access for data management

387 lines 14.2 kB
import dotenv from 'dotenv'; import path from 'path'; // Default .env loading - this will be called again if needed dotenv.config({ path: path.resolve(process.cwd(), '.env') }); // Function to create config from current environment variables function createConfig() { return { // Company name for IMO filtering companyName: process.env.COMPANY_NAME, // MongoDB configurations mongodb: { uri: process.env.MONGODB_URI || 'mongodb://localhost:27017', dbName: process.env.MONGODB_DB_NAME || 'survey-mcp-server' }, // Additional MongoDB connections devSyiaApi: { uri: process.env.MONGO_URI_DEV_SYIA_API || 'mongodb://sabareesh:1ji9CYfkS6rD@db.syia.ai/?authSource=syia-etl-dev', dbName: process.env.DB_NAME_DEV_SYIA_API || 'syia-etl-dev' }, syiaEtlDev: { uri: process.env.MONGODB_URI_SYIA_ETL || 'mongodb://syia-etl-dev:SVWvsnr6wAqKG1l@db-etl.prod.syia.ai:27017/?authSource=syia-etl-dev', dbName: process.env.DB_NAME_SYIA_ETL || 'syia-etl-dev' }, // Typesense configuration typesense: { nodes: [ { host: process.env.TYPESENSE_HOST || 'localhost', port: parseInt(process.env.TYPESENSE_PORT || '8108'), protocol: process.env.TYPESENSE_PROTOCOL || 'http', path: process.env.TYPESENSE_PATH || '' } ], apiKey: process.env.TYPESENSE_API_KEY || 'xyz', connectionTimeoutSeconds: parseInt(process.env.TYPESENSE_TIMEOUT || '10') }, // API Keys openai: { apiKey: process.env.OPENAI_API_KEY || '' }, perplexity: { apiKey: process.env.PERPLEXITY_API_KEY || '' }, llama: { apiKey: process.env.LLAMA_API_KEY || '' }, // API endpoints api: { baseUrl: process.env.API_BASE_URL || 'https://app-api.siya.com', token: process.env.API_TOKEN || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7ImlkIjoiNjRkMzdhMDM1Mjk5YjFlMDQxOTFmOTJhIiwiZmlyc3ROYW1lIjoiU3lpYSIsImxhc3ROYW1lIjoiRGV2IiwiZW1haWwiOiJkZXZAc3lpYS5haSIsInJvbGUiOiJhZG1pbiIsInJvbGVJZCI6IjVmNGUyODFkZDE4MjM0MzY4NDE1ZjViZiIsImlhdCI6MTc0MDgwODg2OH0sImlhdCI6MTc0MDgwODg2OCwiZXhwIjoxNzcyMzQ0ODY4fQ.1grxEO0aO7wfkSNDzpLMHXFYuXjaA1bBguw2SJS9r2M', vesselInfoEndpoint: 'https://ranking.syia.ai/search', s3GenerateHtmlUrl: 'https://app-api.siya.com/v1.0/s3bucket/generate-html' }, // Classification Society Credentials class: { ccs: { "SMPL": { "username": "Synergy Maritime", "password": "Pra92981" }, "SMSL": { "username": "Synergy Marine", "password": "Synergy12345" }, "SDK": { "username": "Synergy", "password": "rjJ0Mxj6nN" } }, nk: { "SMPL": { "username": "sy0069", "password": "NKKchennai1" }, "SPPL": { "username": "SY0184", "password": "LAVFCG7g" }, "SMID": { "username": "PT0814", "password": "V6pyTRLL" }, "DSSM": { "username": "DS0174", "password": "KSQJU66x" }, "SNPL": { "username": "SY0111", "password": "Synergy@2025" }, "SMG": { "username": "SY0147", "password": "SMGShips@4567" }, "SOMI": { "username": "SY0124", "password": "SYnergy^123" }, "SOPL": { "username": "SY0108", "password": "Oceanic@123" }, "SMSH": { "username": "SY0168", "password": "6955sLAM" }, "WSSM": { "username": "WI0215", "password": "993Tudzb" }, "SMBL": { "username": "SY0176", "password": "at44HLRG" }, "SMSL": { "username": "sy0083", "password": "SMSL@12345" }, "SOMP": { "username": "SY0166", "password": "ONYX@12345" }, "SSTC": { "username": "SY0175", "password": "ibKAG252+" }, "SMC": { "username": "NO0249", "password": "Nssm@123" } }, kr: { "SMPL": { "username": "synergy", "password": "KRchennai1", "uid": "sp_vg@synergyship.com", "uid_password": "Synergy@123" }, "SMC": { "username": "0048009", "password": "norsy123@@", "uid": "kumaran@synergyship.com", "uid_password": "Synergy@123" }, "SMG": { "username": "0046907", "password": "synergy7@", "uid": "chandru.r@samudhramarine.co.in", "uid_password": "Synergy@123" }, "SMCL": { "username": "0049172", "password": "syner123@@", "uid": "rohankumar.v@synergyship.com", "uid_password": "Synergy@123" }, "DSSM": { "username": "0050667", "password": "dsship123@@", "uid": "prasanna.p@synergyship.com", "uid_password": "Synergy@123" }, "SMID": { "username": "prabhu.d@synergyship.com", "password": "Synergy@123", "uid": "prabhu.d@synergyship.com", "uid_password": "Synergy@123" } }, dnv: { "SMPL": { "username": "SYNERGY1", "password": "Marine123" }, "SPPL": { "username": "techsupers@synergypacificship.com", "password": "Synergypacific@123" }, "SMSL": { "username": "Mail@synergymarine.sg", "password": "Sumec@12345" }, "SOMI": { "username": "SYNERGY9", "password": "somi@123#%HPQ" }, "SDK": { "username": "krishnasundari.c@synergyship.com", "password": "Nandhu&03" }, "SOPL": { "username": "vivek@synergyoceanic.in", "password": "Welcome@123" }, "SMEC": { "username": "survey@synergymideast.com", "password": "Synerg@123" }, "SNPL": { "username": "SYNERGYN", "password": "Olymuqo1" }, "WSSM": { "username": "survey@wssm.sg", "password": "Wisdom@1234" }, "SMBL": { "username": "girishbabu.p@synergyship.com", "password": "Synergy@123" }, "SMG": { "username": "qhse@synergygermany.com", "password": "Synergy@456" }, "GSSM": { "username": "snc@gsshipmanagement.com", "password": "!@#Welcome@123" }, "SMC": { "username": "nordensynergy", "password": "sn301221" } }, lr: { "SDK": { "username": "rohan.p@synergyship.com", "password": "Synergy123$" }, "SMPL": { "username": "ramesh.ta@synergyship.com", "password": "Syn@#0004" }, "SMG": { "username": "tata@synergygermany.com", "password": "Synergy@123" }, "GSSM": { "username": "snc@gsshipmanagement.com", "password": "GSpl@1234" }, "SMSL": { "username": "snc@synergymarine.sg", "password": "Smsl@1234" }, "SMC": { "username": "sm-survey@synergyship.com", "password": "SMC@#123" }, "SNPL": { "username": "madan.l@synergynavis.com", "password": "Synergy@123" }, "SOPL": { "username": "vivek@synergyoceanic.in", "password": "Synergy@123" }, "SMBL": { "username": "mail@synergymarine.sg", "password": "Synergy@123" }, "FMPL": { "username": "saeesh.r@fluyt.in", "password": "Tag7395807705" } }, bv: { "SMPL": { "username": "survey@synergyship.com", "password": "BVchennai1" }, "SMC": { "username": "operations@norden-synergy.com", "password": "Nssm@123" }, "SMSL": { "username": "snc@synergymarine.sg", "password": "BVsmsl@1234" }, "SNPL": { "username": "mail@synergynavis.com", "password": "Synergy@123" }, "CSMI": { "username": "mail@columbusmarine.ph", "password": "i4CRXxwn" }, "SMSH": { "username": "ems_shanghai@synergymarine.sg", "password": "Qs0NR9Dn" }, "SOMP": { "username": "mail@synergyonyx.com", "password": "Xwc7aaCJ" }, "SMG": { "username": "ashutosh.agarwal@synergygermany.com", "password": "TrMaPTEu" } }, abs: { "CSMI": { "username": "columbus487", "password": "sn691486" }, "SMPL": { "username": "synergyship", "password": "abschennai1" }, "SMSL": { "username": "synergy439", "password": "sn623422" }, "GSSM": { "username": "GSSHIPMANAGEMENT", "password": "sn277115" }, "SMC": { "username": "nordensynergy", "password": "sn301221" }, "SMG": { "username": "Smgermany", "password": "Synergy123" }, "SOPL": { "username": "synergyosi", "password": "sn376235" }, "FMPL": { "username": "FLUYTMARI", "password": "sn206360" }, "SNPL": { "username": "synergy01", "password": "sn189082" }, "SDK": { "username": "SYIA01", "password": "sn732961" }, "SMSH": { "username": "synergyMS", "password": "sn933071" }, "WSSM": { "username": "wssm488", "password": "Wisdom@1234" }, "SMBL": { "username": "synergy439", "password": "sn623422" }, "GSSM1": { "username": "GENCOSY01", "password": "sn330989" }, "SSTV": { "username": "synergyturkiye01", "password": "sn504042" } } }, // Other configurations vendor: { model: process.env.VENDOR_MODEL || 'gpt-4o', temperature: parseFloat(process.env.VENDOR_TEMPERATURE || '0.1') }, downloads: { baseDir: process.env.DOWNLOADS_DIR || './downloads' } }; } // Initialize config let configInstance = createConfig(); // Export the config getter and reinitialization function export const config = configInstance; export function reloadConfig() { configInstance = createConfig(); // Update the exported config object properties Object.assign(config, configInstance); } // Function to load custom .env file and reload config export function loadEnvFile(envFilePath) { dotenv.config({ path: envFilePath }); reloadConfig(); } //# sourceMappingURL=config.js.map