Rocky_Mountain_Vending/.pnpm-store/v10/files/9b/fb815ebac0a0e809ebbbf21ffe5ff3a1b31990765689853805950ca6ed8ed164cbdaec9c37a0bb3e84620021a8a1f50ff6a8bfd24747139deeb21bfd27e8a9
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

66 lines
2.2 KiB
Text

/**
* Transport-scoped session data storage (only for transports with sessionId)
* @internal Maps transport instances to session-level data
*/
const transportToSessionData = new WeakMap();
/**
* Stores session data for a transport with sessionId
* @param transport - MCP transport instance
* @param sessionData - Session data to store
*/
function storeSessionDataForTransport(transport, sessionData) {
if (transport.sessionId) {
transportToSessionData.set(transport, sessionData);
}
}
/**
* Updates session data for a transport with sessionId (merges with existing data)
* @param transport - MCP transport instance
* @param partialSessionData - Partial session data to merge with existing data
*/
function updateSessionDataForTransport(transport, partialSessionData) {
if (transport.sessionId) {
const existingData = transportToSessionData.get(transport) || {};
transportToSessionData.set(transport, { ...existingData, ...partialSessionData });
}
}
/**
* Retrieves client information for a transport
* @param transport - MCP transport instance
* @returns Client information if available
*/
function getClientInfoForTransport(transport) {
return transportToSessionData.get(transport)?.clientInfo;
}
/**
* Retrieves protocol version for a transport
* @param transport - MCP transport instance
* @returns Protocol version if available
*/
function getProtocolVersionForTransport(transport) {
return transportToSessionData.get(transport)?.protocolVersion;
}
/**
* Retrieves full session data for a transport
* @param transport - MCP transport instance
* @returns Complete session data if available
*/
function getSessionDataForTransport(transport) {
return transportToSessionData.get(transport);
}
/**
* Cleans up session data for a specific transport (when that transport closes)
* @param transport - MCP transport instance
*/
function cleanupSessionDataForTransport(transport) {
transportToSessionData.delete(transport);
}
export { cleanupSessionDataForTransport, getClientInfoForTransport, getProtocolVersionForTransport, getSessionDataForTransport, storeSessionDataForTransport, updateSessionDataForTransport };
//# sourceMappingURL=sessionManagement.js.map