@metorial/sdk 2.0.1 → 2.0.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/metorial.ts"],"names":["createMetorialPulsarCoreSDK","createMetorialMagnetarCoreSDK","MetorialMcpSession","MetorialMagnetarMcpSession"],"mappings":"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","file":"index.cjs","sourcesContent":["import {\n MetorialPulsarCoreSDK,\n createMetorialPulsarCoreSDK,\n MetorialMagnetarCoreSDK,\n createMetorialMagnetarCoreSDK\n} from '@metorial/core';\nimport {\n MetorialMcpSession,\n MetorialMcpSessionInit,\n MetorialMcpSessionInitServerDeployments,\n MetorialMagnetarMcpSession,\n MetorialMagnetarMcpSessionInit,\n MetorialMagnetarMcpSessionTemplateInit\n} from '@metorial/mcp-session';\n\nexport type {\n MetorialMcpSession,\n MetorialMcpSessionInit,\n MetorialMcpSessionInitServerDeployments,\n MetorialMagnetarMcpSession,\n MetorialMagnetarMcpSessionInit,\n MetorialMagnetarMcpSessionTemplateInit\n} from '@metorial/mcp-session';\n\nexport class Metorial {\n private readonly pulsarSdk: MetorialPulsarCoreSDK;\n private readonly magnetarSdk: MetorialMagnetarCoreSDK;\n\n constructor(init: Omit<Parameters<typeof createMetorialPulsarCoreSDK>[0], 'apiVersion'>) {\n let apiHost = init.apiHost;\n let mcpHost = init.mcpHost;\n\n // Derive apiHost from mcpHost if only mcpHost is provided\n if (mcpHost && !apiHost) {\n apiHost = mcpHost.replace('://connect.', '://api.');\n }\n\n // v1 (pulsar): mcp.<domain> pattern — let mcpSession.ts derive it from apiHost\n this.pulsarSdk = createMetorialPulsarCoreSDK({ ...init, apiHost });\n\n // v2 (magnetar): connect.<domain> pattern\n this.magnetarSdk = createMetorialMagnetarCoreSDK({ ...init, apiHost, mcpHost });\n }\n\n // ── Magnetar (default) ───────────────────────────────────────────\n\n get providers() {\n return this.magnetarSdk.providers;\n }\n\n get providerDeployments() {\n let deployments = this.magnetarSdk.providerDeployments;\n Object.assign(deployments.setupSessions, {\n waitForCompletion: this.waitForSetupSession.bind(this)\n });\n return deployments;\n }\n\n get sessions() {\n return this.magnetarSdk.sessions;\n }\n\n get sessionTemplates() {\n return this.magnetarSdk.sessionTemplates;\n }\n\n get providerRuns() {\n return this.magnetarSdk.providerRuns;\n }\n\n get instance() {\n return this.magnetarSdk.instance;\n }\n\n get publishers() {\n return this.magnetarSdk.publishers;\n }\n\n get providerCategories() {\n return this.magnetarSdk.providerCategories;\n }\n\n get providerCollections() {\n return this.magnetarSdk.providerCollections;\n }\n\n get providerGroups() {\n return this.magnetarSdk.providerGroups;\n }\n\n get providerListings() {\n return this.magnetarSdk.providerListings;\n }\n\n get providerSetupSessions() {\n return this.magnetarSdk.providerSetupSessions;\n }\n\n get toolCalls() {\n return this.magnetarSdk.toolCalls;\n }\n\n get customProviders() {\n return this.magnetarSdk.customProviders;\n }\n\n // ── Backward compat (Pulsar endpoints at top level) ──────────────\n\n get servers() {\n return this.pulsarSdk.servers;\n }\n\n get secrets() {\n return this.pulsarSdk.secrets;\n }\n\n get oauth(): typeof this.pulsarSdk.oauth & {\n waitForCompletion: (\n sessions: Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ) => Promise<void>;\n } {\n return {\n ...this.pulsarSdk.oauth,\n waitForCompletion: this.waitForOAuthCompletion.bind(this)\n };\n }\n\n get _config() {\n return this.pulsarSdk._config;\n }\n\n // ── v1 namespace (legacy Pulsar) ─────────────────────────────────\n\n get v1() {\n let pulsarSdk = this.pulsarSdk;\n let self = this;\n return {\n get instance() {\n return pulsarSdk.instance;\n },\n get secrets() {\n return pulsarSdk.secrets;\n },\n get servers() {\n return pulsarSdk.servers;\n },\n get sessions() {\n return pulsarSdk.sessions;\n },\n get oauth() {\n return self.oauth;\n },\n get _config() {\n return pulsarSdk._config;\n },\n mcp: {\n createSession: (init: MetorialMcpSessionInit) =>\n new MetorialMcpSession(pulsarSdk, init),\n withSession: self._pulsarWithSession.bind(self),\n withProviderSession: self._pulsarWithProviderSession.bind(self),\n createConnection: self._pulsarCreateMcpConnection.bind(self)\n },\n withSession: self._pulsarWithSession.bind(self),\n withProviderSession: self._pulsarWithProviderSession.bind(self),\n createMcpConnection: self._pulsarCreateMcpConnection.bind(self)\n };\n }\n\n // ── MCP (Magnetar default) ───────────────────────────────────────\n\n get mcp() {\n return {\n createSession: (init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) =>\n new MetorialMagnetarMcpSession(this.magnetarSdk, init),\n withSession: this.withSession.bind(this),\n withProviderSession: this.withProviderSession.bind(this),\n createConnection: this.createMcpConnection.bind(this)\n };\n }\n\n session(\n init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit\n ): MetorialMagnetarMcpSession {\n return new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n }\n\n async createMcpConnection(\n init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit\n ) {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n return await session.getClient();\n }\n\n async withSession<T>(\n init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit,\n action: (session: MetorialMagnetarMcpSession) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n try {\n return await action(session);\n } finally {\n await session.close();\n }\n }\n\n async withProviderSession<P, T>(\n provider: (session: MetorialMagnetarMcpSession) => Promise<P>,\n init: (MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) & { streaming?: boolean },\n action: (\n input: P & {\n session: MetorialMagnetarMcpSession;\n getSession: MetorialMagnetarMcpSession['getSession'];\n getCapabilities: MetorialMagnetarMcpSession['getCapabilities'];\n getToolManager: MetorialMagnetarMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n if (init.streaming) {\n return this.withMagnetarStreamingSession(provider, init, action);\n }\n\n return this.withSession(init, async session => {\n let providerData = await provider(session);\n\n return action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession: async () => {}\n });\n });\n }\n\n private async withMagnetarStreamingSession<P, T>(\n provider: (session: MetorialMagnetarMcpSession) => Promise<P>,\n init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit,\n action: (\n input: P & {\n session: MetorialMagnetarMcpSession;\n getSession: MetorialMagnetarMcpSession['getSession'];\n getCapabilities: MetorialMagnetarMcpSession['getCapabilities'];\n getToolManager: MetorialMagnetarMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n let sessionClosed = false;\n\n const closeSession = async () => {\n if (!sessionClosed) {\n sessionClosed = true;\n await session.close();\n }\n };\n\n try {\n let providerData = await provider(session);\n\n let result = await action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession\n });\n\n let timeout = setTimeout(async () => {\n if (!sessionClosed) {\n await closeSession();\n }\n }, 60000);\n timeout.unref();\n\n return result;\n } catch (error) {\n await closeSession();\n throw error;\n }\n }\n\n // ── Pulsar MCP helpers (used by v1) ──────────────────────────────\n\n async _pulsarCreateMcpConnection(init: MetorialMcpSessionInitServerDeployments[number]) {\n let session = new MetorialMcpSession(this.pulsarSdk, {\n serverDeployments: [init]\n });\n\n let deployments = await session.getServerDeployments();\n\n return await session.getClient({\n deploymentId: deployments[0].id\n });\n }\n\n async _pulsarWithSession<T>(\n init: MetorialMcpSessionInit,\n action: (session: MetorialMcpSession) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMcpSession(this.pulsarSdk, init);\n try {\n return await action(session);\n } finally {\n await session.close();\n }\n }\n\n async _pulsarWithProviderSession<P, T>(\n provider: (session: MetorialMcpSession) => Promise<P>,\n init: MetorialMcpSessionInit & { streaming?: boolean },\n action: (\n input: P & {\n session: MetorialMcpSession;\n getSession: MetorialMcpSession['getSession'];\n getCapabilities: MetorialMcpSession['getCapabilities'];\n getClient: MetorialMcpSession['getClient'];\n getServerDeployments: MetorialMcpSession['getServerDeployments'];\n getToolManager: MetorialMcpSession['getToolManager'];\n }\n ) => Promise<T>\n ): Promise<T> {\n if (init.streaming) {\n return this.withStreamingSession(provider, init, action);\n }\n\n return this._pulsarWithSession(init, async session => {\n let providerData = await provider(session);\n\n return action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getClient: session.getClient.bind(session),\n getServerDeployments: session.getServerDeployments.bind(session),\n getToolManager: session.getToolManager.bind(session)\n });\n });\n }\n\n private async withStreamingSession<P, T>(\n provider: (session: MetorialMcpSession) => Promise<P>,\n init: MetorialMcpSessionInit,\n action: (\n input: P & {\n session: MetorialMcpSession;\n getSession: MetorialMcpSession['getSession'];\n getCapabilities: MetorialMcpSession['getCapabilities'];\n getClient: MetorialMcpSession['getClient'];\n getServerDeployments: MetorialMcpSession['getServerDeployments'];\n getToolManager: MetorialMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMcpSession(this.pulsarSdk, init);\n let sessionClosed = false;\n\n const closeSession = async () => {\n if (!sessionClosed) {\n sessionClosed = true;\n await session.close();\n }\n };\n\n try {\n let providerData = await provider(session);\n\n let result = await action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getClient: session.getClient.bind(session),\n getServerDeployments: session.getServerDeployments.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession\n });\n\n let timeout = setTimeout(async () => {\n if (!sessionClosed) {\n await closeSession();\n }\n }, 60000);\n timeout.unref();\n\n return result;\n } catch (error) {\n await closeSession();\n throw error;\n }\n }\n\n async waitForSetupSession(\n sessions: { id: string } | Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ) {\n let sessionList = Array.isArray(sessions) ? sessions : [sessions];\n let pollInterval = Math.max(options?.pollInterval ?? 5000, 2000);\n let timeout = options?.timeout ?? 600000;\n let startTime = Date.now();\n\n if (sessionList.length === 0) {\n return [];\n }\n\n while (true) {\n if (Date.now() - startTime > timeout) {\n throw new Error(`Setup session timed out after ${timeout / 1000} seconds`);\n }\n\n try {\n let statuses = await Promise.all(\n sessionList.map(s => this.magnetarSdk.providerDeployments.setupSessions.get(s.id))\n );\n\n let failed = statuses.filter(s => s.status === 'failed');\n if (failed.length > 0) {\n throw new Error(`${failed.length} setup session(s) failed`);\n }\n\n let allCompleted = statuses.every(s => s.status === 'completed');\n if (allCompleted) {\n return statuses;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message.includes('setup session') &&\n (error.message.includes('failed') || error.message.includes('timed out')))\n ) {\n throw error;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n }\n }\n }\n\n async waitForOAuthCompletion(\n sessions: Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ): Promise<void> {\n let pollInterval = Math.max(options?.pollInterval ?? 5000, 2000); // minimum 2 seconds\n let timeout = options?.timeout ?? 600000; // 10 minutes\n let startTime = Date.now();\n\n if (sessions.length === 0) {\n return;\n }\n\n while (true) {\n if (Date.now() - startTime > timeout) {\n throw new Error(`OAuth authentication timeout after ${timeout / 1000} seconds`);\n }\n\n try {\n let statuses = await Promise.all(\n sessions.map(session => this.oauth.sessions.get(session.id))\n );\n\n let allCompleted = statuses.every(status => status.status === 'completed');\n if (allCompleted) {\n return;\n }\n\n let failedSessions = statuses.filter(status => status.status === 'failed');\n if (failedSessions.length > 0) {\n throw new Error(\n `OAuth authentication failed for ${failedSessions.length} session(s)`\n );\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message.includes('OAuth authentication failed') ||\n error.message.includes('OAuth authentication timeout'))\n ) {\n throw error;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n }\n }\n }\n\n}\n"]}
1
+ {"version":3,"sources":["../src/metorial.ts"],"names":["createMetorialPulsarCoreSDK","createMetorialMagnetarCoreSDK","MetorialMcpSession","MetorialMagnetarMcpSession"],"mappings":"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","file":"index.cjs","sourcesContent":["import {\n MetorialPulsarCoreSDK,\n createMetorialPulsarCoreSDK,\n MetorialMagnetarCoreSDK,\n createMetorialMagnetarCoreSDK\n} from '@metorial/core';\nimport {\n MetorialMcpSession,\n MetorialMcpSessionInit,\n MetorialMcpSessionInitServerDeployments,\n MetorialMagnetarMcpSession,\n MetorialMagnetarMcpSessionInit\n} from '@metorial/mcp-session';\n\nexport type {\n MetorialMcpSession,\n MetorialMcpSessionInit,\n MetorialMcpSessionInitServerDeployments,\n MetorialMagnetarMcpSession,\n MetorialMagnetarMcpSessionInit\n} from '@metorial/mcp-session';\n\nexport class Metorial {\n private readonly pulsarSdk: MetorialPulsarCoreSDK;\n private readonly magnetarSdk: MetorialMagnetarCoreSDK;\n\n constructor(init: Omit<Parameters<typeof createMetorialPulsarCoreSDK>[0], 'apiVersion'>) {\n let apiHost = init.apiHost;\n let mcpHost = init.mcpHost;\n\n // Derive apiHost from mcpHost if only mcpHost is provided\n if (mcpHost && !apiHost) {\n apiHost = mcpHost.replace('://connect.', '://api.');\n }\n\n // v1 (pulsar): mcp.<domain> pattern — let mcpSession.ts derive it from apiHost\n this.pulsarSdk = createMetorialPulsarCoreSDK({ ...init, apiHost });\n\n // v2 (magnetar): connect.<domain> pattern\n this.magnetarSdk = createMetorialMagnetarCoreSDK({ ...init, apiHost, mcpHost });\n }\n\n // ── Magnetar (default) ───────────────────────────────────────────\n\n get providers() {\n return this.magnetarSdk.providers;\n }\n\n get providerDeployments() {\n let deployments = this.magnetarSdk.providerDeployments;\n Object.assign(deployments.setupSessions, {\n waitForCompletion: this.waitForSetupSession.bind(this)\n });\n return deployments;\n }\n\n get sessions() {\n return this.magnetarSdk.sessions;\n }\n\n get sessionTemplates() {\n return this.magnetarSdk.sessionTemplates;\n }\n\n get providerRuns() {\n return this.magnetarSdk.providerRuns;\n }\n\n get instance() {\n return this.magnetarSdk.instance;\n }\n\n get publishers() {\n return this.magnetarSdk.publishers;\n }\n\n get providerCategories() {\n return this.magnetarSdk.providerCategories;\n }\n\n get providerCollections() {\n return this.magnetarSdk.providerCollections;\n }\n\n get providerGroups() {\n return this.magnetarSdk.providerGroups;\n }\n\n get providerListings() {\n return this.magnetarSdk.providerListings;\n }\n\n get providerSetupSessions() {\n return this.magnetarSdk.providerSetupSessions;\n }\n\n get toolCalls() {\n return this.magnetarSdk.toolCalls;\n }\n\n get customProviders() {\n return this.magnetarSdk.customProviders;\n }\n\n // ── Backward compat (Pulsar endpoints at top level) ──────────────\n\n get servers() {\n return this.pulsarSdk.servers;\n }\n\n get secrets() {\n return this.pulsarSdk.secrets;\n }\n\n get oauth(): typeof this.pulsarSdk.oauth & {\n waitForCompletion: (\n sessions: Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ) => Promise<void>;\n } {\n return {\n ...this.pulsarSdk.oauth,\n waitForCompletion: this.waitForOAuthCompletion.bind(this)\n };\n }\n\n get _config() {\n return this.pulsarSdk._config;\n }\n\n // ── v1 namespace (legacy Pulsar) ─────────────────────────────────\n\n get v1() {\n let pulsarSdk = this.pulsarSdk;\n let self = this;\n return {\n get instance() {\n return pulsarSdk.instance;\n },\n get secrets() {\n return pulsarSdk.secrets;\n },\n get servers() {\n return pulsarSdk.servers;\n },\n get sessions() {\n return pulsarSdk.sessions;\n },\n get oauth() {\n return self.oauth;\n },\n get _config() {\n return pulsarSdk._config;\n },\n mcp: {\n createSession: (init: MetorialMcpSessionInit) =>\n new MetorialMcpSession(pulsarSdk, init),\n withSession: self._pulsarWithSession.bind(self),\n withProviderSession: self._pulsarWithProviderSession.bind(self),\n createConnection: self._pulsarCreateMcpConnection.bind(self)\n },\n withSession: self._pulsarWithSession.bind(self),\n withProviderSession: self._pulsarWithProviderSession.bind(self),\n createMcpConnection: self._pulsarCreateMcpConnection.bind(self)\n };\n }\n\n // ── MCP (Magnetar default) ───────────────────────────────────────\n\n get mcp() {\n return {\n createSession: (init: MetorialMagnetarMcpSessionInit) =>\n new MetorialMagnetarMcpSession(this.magnetarSdk, init),\n withSession: this.withSession.bind(this),\n withProviderSession: this.withProviderSession.bind(this),\n createConnection: this.createMcpConnection.bind(this)\n };\n }\n\n session(\n init: MetorialMagnetarMcpSessionInit\n ): MetorialMagnetarMcpSession {\n return new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n }\n\n async createMcpConnection(\n init: MetorialMagnetarMcpSessionInit\n ) {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n return await session.getClient();\n }\n\n async withSession<T>(\n init: MetorialMagnetarMcpSessionInit,\n action: (session: MetorialMagnetarMcpSession) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n try {\n return await action(session);\n } finally {\n await session.close();\n }\n }\n\n async withProviderSession<P, T>(\n provider: (session: MetorialMagnetarMcpSession) => Promise<P>,\n init: (MetorialMagnetarMcpSessionInit) & { streaming?: boolean },\n action: (\n input: P & {\n session: MetorialMagnetarMcpSession;\n getSession: MetorialMagnetarMcpSession['getSession'];\n getCapabilities: MetorialMagnetarMcpSession['getCapabilities'];\n getToolManager: MetorialMagnetarMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n if (init.streaming) {\n return this.withMagnetarStreamingSession(provider, init, action);\n }\n\n return this.withSession(init, async session => {\n let providerData = await provider(session);\n\n return action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession: async () => {}\n });\n });\n }\n\n private async withMagnetarStreamingSession<P, T>(\n provider: (session: MetorialMagnetarMcpSession) => Promise<P>,\n init: MetorialMagnetarMcpSessionInit,\n action: (\n input: P & {\n session: MetorialMagnetarMcpSession;\n getSession: MetorialMagnetarMcpSession['getSession'];\n getCapabilities: MetorialMagnetarMcpSession['getCapabilities'];\n getToolManager: MetorialMagnetarMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n let sessionClosed = false;\n\n const closeSession = async () => {\n if (!sessionClosed) {\n sessionClosed = true;\n await session.close();\n }\n };\n\n try {\n let providerData = await provider(session);\n\n let result = await action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession\n });\n\n let timeout = setTimeout(async () => {\n if (!sessionClosed) {\n await closeSession();\n }\n }, 60000);\n timeout.unref();\n\n return result;\n } catch (error) {\n await closeSession();\n throw error;\n }\n }\n\n // ── Pulsar MCP helpers (used by v1) ──────────────────────────────\n\n async _pulsarCreateMcpConnection(init: MetorialMcpSessionInitServerDeployments[number]) {\n let session = new MetorialMcpSession(this.pulsarSdk, {\n serverDeployments: [init]\n });\n\n let deployments = await session.getServerDeployments();\n\n return await session.getClient({\n deploymentId: deployments[0].id\n });\n }\n\n async _pulsarWithSession<T>(\n init: MetorialMcpSessionInit,\n action: (session: MetorialMcpSession) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMcpSession(this.pulsarSdk, init);\n try {\n return await action(session);\n } finally {\n await session.close();\n }\n }\n\n async _pulsarWithProviderSession<P, T>(\n provider: (session: MetorialMcpSession) => Promise<P>,\n init: MetorialMcpSessionInit & { streaming?: boolean },\n action: (\n input: P & {\n session: MetorialMcpSession;\n getSession: MetorialMcpSession['getSession'];\n getCapabilities: MetorialMcpSession['getCapabilities'];\n getClient: MetorialMcpSession['getClient'];\n getServerDeployments: MetorialMcpSession['getServerDeployments'];\n getToolManager: MetorialMcpSession['getToolManager'];\n }\n ) => Promise<T>\n ): Promise<T> {\n if (init.streaming) {\n return this.withStreamingSession(provider, init, action);\n }\n\n return this._pulsarWithSession(init, async session => {\n let providerData = await provider(session);\n\n return action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getClient: session.getClient.bind(session),\n getServerDeployments: session.getServerDeployments.bind(session),\n getToolManager: session.getToolManager.bind(session)\n });\n });\n }\n\n private async withStreamingSession<P, T>(\n provider: (session: MetorialMcpSession) => Promise<P>,\n init: MetorialMcpSessionInit,\n action: (\n input: P & {\n session: MetorialMcpSession;\n getSession: MetorialMcpSession['getSession'];\n getCapabilities: MetorialMcpSession['getCapabilities'];\n getClient: MetorialMcpSession['getClient'];\n getServerDeployments: MetorialMcpSession['getServerDeployments'];\n getToolManager: MetorialMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMcpSession(this.pulsarSdk, init);\n let sessionClosed = false;\n\n const closeSession = async () => {\n if (!sessionClosed) {\n sessionClosed = true;\n await session.close();\n }\n };\n\n try {\n let providerData = await provider(session);\n\n let result = await action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getClient: session.getClient.bind(session),\n getServerDeployments: session.getServerDeployments.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession\n });\n\n let timeout = setTimeout(async () => {\n if (!sessionClosed) {\n await closeSession();\n }\n }, 60000);\n timeout.unref();\n\n return result;\n } catch (error) {\n await closeSession();\n throw error;\n }\n }\n\n async waitForSetupSession(\n sessions: { id: string } | Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ) {\n let sessionList = Array.isArray(sessions) ? sessions : [sessions];\n let pollInterval = Math.max(options?.pollInterval ?? 5000, 2000);\n let timeout = options?.timeout ?? 600000;\n let startTime = Date.now();\n\n if (sessionList.length === 0) {\n return [];\n }\n\n while (true) {\n if (Date.now() - startTime > timeout) {\n throw new Error(`Setup session timed out after ${timeout / 1000} seconds`);\n }\n\n try {\n let statuses = await Promise.all(\n sessionList.map(s => this.magnetarSdk.providerDeployments.setupSessions.get(s.id))\n );\n\n let failed = statuses.filter(s => s.status === 'failed');\n if (failed.length > 0) {\n throw new Error(`${failed.length} setup session(s) failed`);\n }\n\n let allCompleted = statuses.every(s => s.status === 'completed');\n if (allCompleted) {\n return statuses;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message.includes('setup session') &&\n (error.message.includes('failed') || error.message.includes('timed out')))\n ) {\n throw error;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n }\n }\n }\n\n async waitForOAuthCompletion(\n sessions: Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ): Promise<void> {\n let pollInterval = Math.max(options?.pollInterval ?? 5000, 2000); // minimum 2 seconds\n let timeout = options?.timeout ?? 600000; // 10 minutes\n let startTime = Date.now();\n\n if (sessions.length === 0) {\n return;\n }\n\n while (true) {\n if (Date.now() - startTime > timeout) {\n throw new Error(`OAuth authentication timeout after ${timeout / 1000} seconds`);\n }\n\n try {\n let statuses = await Promise.all(\n sessions.map(session => this.oauth.sessions.get(session.id))\n );\n\n let allCompleted = statuses.every(status => status.status === 'completed');\n if (allCompleted) {\n return;\n }\n\n let failedSessions = statuses.filter(status => status.status === 'failed');\n if (failedSessions.length > 0) {\n throw new Error(\n `OAuth authentication failed for ${failedSessions.length} session(s)`\n );\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message.includes('OAuth authentication failed') ||\n error.message.includes('OAuth authentication timeout'))\n ) {\n throw error;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n }\n }\n }\n\n}\n"]}
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _metorial_mcp_session from '@metorial/mcp-session';
2
- import { MetorialMcpSessionInit, MetorialMcpSession, MetorialMcpSessionInitServerDeployments, MetorialMagnetarMcpSessionInit, MetorialMagnetarMcpSessionTemplateInit, MetorialMagnetarMcpSession } from '@metorial/mcp-session';
3
- export { MetorialMagnetarMcpSession, MetorialMagnetarMcpSessionInit, MetorialMagnetarMcpSessionTemplateInit, MetorialMcpSession, MetorialMcpSessionInit, MetorialMcpSessionInitServerDeployments } from '@metorial/mcp-session';
2
+ import { MetorialMcpSessionInit, MetorialMcpSession, MetorialMcpSessionInitServerDeployments, MetorialMagnetarMcpSessionInit, MetorialMagnetarMcpSession } from '@metorial/mcp-session';
3
+ export { MetorialMagnetarMcpSession, MetorialMagnetarMcpSessionInit, MetorialMcpSession, MetorialMcpSessionInit, MetorialMcpSessionInitServerDeployments } from '@metorial/mcp-session';
4
4
  import * as _metorial_generated from '@metorial/generated';
5
5
  import * as _metorial_generated_src_mt_2026_01_01_magnetar from '@metorial/generated/src/mt_2026_01_01_magnetar';
6
6
  import { createMetorialPulsarCoreSDK } from '@metorial/core';
@@ -147,9 +147,9 @@ declare class Metorial {
147
147
  createMcpConnection: (init: MetorialMcpSessionInitServerDeployments[number]) => Promise<_metorial_mcp_session.MetorialMcpClient>;
148
148
  };
149
149
  get mcp(): {
150
- createSession: (init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) => MetorialMagnetarMcpSession;
151
- withSession: <T>(init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit, action: (session: MetorialMagnetarMcpSession) => Promise<T>) => Promise<T>;
152
- withProviderSession: <P, T>(provider: (session: MetorialMagnetarMcpSession) => Promise<P>, init: (MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) & {
150
+ createSession: (init: MetorialMagnetarMcpSessionInit) => MetorialMagnetarMcpSession;
151
+ withSession: <T>(init: MetorialMagnetarMcpSessionInit, action: (session: MetorialMagnetarMcpSession) => Promise<T>) => Promise<T>;
152
+ withProviderSession: <P, T>(provider: (session: MetorialMagnetarMcpSession) => Promise<P>, init: (MetorialMagnetarMcpSessionInit) & {
153
153
  streaming?: boolean;
154
154
  }, action: (input: P & {
155
155
  session: MetorialMagnetarMcpSession;
@@ -158,12 +158,12 @@ declare class Metorial {
158
158
  getToolManager: MetorialMagnetarMcpSession["getToolManager"];
159
159
  closeSession: () => Promise<void>;
160
160
  }) => Promise<T>) => Promise<T>;
161
- createConnection: (init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) => Promise<_metorial_mcp_session.MetorialMcpClient>;
161
+ createConnection: (init: MetorialMagnetarMcpSessionInit) => Promise<_metorial_mcp_session.MetorialMcpClient>;
162
162
  };
163
- session(init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit): MetorialMagnetarMcpSession;
164
- createMcpConnection(init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit): Promise<_metorial_mcp_session.MetorialMcpClient>;
165
- withSession<T>(init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit, action: (session: MetorialMagnetarMcpSession) => Promise<T>): Promise<T>;
166
- withProviderSession<P, T>(provider: (session: MetorialMagnetarMcpSession) => Promise<P>, init: (MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) & {
163
+ session(init: MetorialMagnetarMcpSessionInit): MetorialMagnetarMcpSession;
164
+ createMcpConnection(init: MetorialMagnetarMcpSessionInit): Promise<_metorial_mcp_session.MetorialMcpClient>;
165
+ withSession<T>(init: MetorialMagnetarMcpSessionInit, action: (session: MetorialMagnetarMcpSession) => Promise<T>): Promise<T>;
166
+ withProviderSession<P, T>(provider: (session: MetorialMagnetarMcpSession) => Promise<P>, init: (MetorialMagnetarMcpSessionInit) & {
167
167
  streaming?: boolean;
168
168
  }, action: (input: P & {
169
169
  session: MetorialMagnetarMcpSession;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _metorial_mcp_session from '@metorial/mcp-session';
2
- import { MetorialMcpSessionInit, MetorialMcpSession, MetorialMcpSessionInitServerDeployments, MetorialMagnetarMcpSessionInit, MetorialMagnetarMcpSessionTemplateInit, MetorialMagnetarMcpSession } from '@metorial/mcp-session';
3
- export { MetorialMagnetarMcpSession, MetorialMagnetarMcpSessionInit, MetorialMagnetarMcpSessionTemplateInit, MetorialMcpSession, MetorialMcpSessionInit, MetorialMcpSessionInitServerDeployments } from '@metorial/mcp-session';
2
+ import { MetorialMcpSessionInit, MetorialMcpSession, MetorialMcpSessionInitServerDeployments, MetorialMagnetarMcpSessionInit, MetorialMagnetarMcpSession } from '@metorial/mcp-session';
3
+ export { MetorialMagnetarMcpSession, MetorialMagnetarMcpSessionInit, MetorialMcpSession, MetorialMcpSessionInit, MetorialMcpSessionInitServerDeployments } from '@metorial/mcp-session';
4
4
  import * as _metorial_generated from '@metorial/generated';
5
5
  import * as _metorial_generated_src_mt_2026_01_01_magnetar from '@metorial/generated/src/mt_2026_01_01_magnetar';
6
6
  import { createMetorialPulsarCoreSDK } from '@metorial/core';
@@ -147,9 +147,9 @@ declare class Metorial {
147
147
  createMcpConnection: (init: MetorialMcpSessionInitServerDeployments[number]) => Promise<_metorial_mcp_session.MetorialMcpClient>;
148
148
  };
149
149
  get mcp(): {
150
- createSession: (init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) => MetorialMagnetarMcpSession;
151
- withSession: <T>(init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit, action: (session: MetorialMagnetarMcpSession) => Promise<T>) => Promise<T>;
152
- withProviderSession: <P, T>(provider: (session: MetorialMagnetarMcpSession) => Promise<P>, init: (MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) & {
150
+ createSession: (init: MetorialMagnetarMcpSessionInit) => MetorialMagnetarMcpSession;
151
+ withSession: <T>(init: MetorialMagnetarMcpSessionInit, action: (session: MetorialMagnetarMcpSession) => Promise<T>) => Promise<T>;
152
+ withProviderSession: <P, T>(provider: (session: MetorialMagnetarMcpSession) => Promise<P>, init: (MetorialMagnetarMcpSessionInit) & {
153
153
  streaming?: boolean;
154
154
  }, action: (input: P & {
155
155
  session: MetorialMagnetarMcpSession;
@@ -158,12 +158,12 @@ declare class Metorial {
158
158
  getToolManager: MetorialMagnetarMcpSession["getToolManager"];
159
159
  closeSession: () => Promise<void>;
160
160
  }) => Promise<T>) => Promise<T>;
161
- createConnection: (init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) => Promise<_metorial_mcp_session.MetorialMcpClient>;
161
+ createConnection: (init: MetorialMagnetarMcpSessionInit) => Promise<_metorial_mcp_session.MetorialMcpClient>;
162
162
  };
163
- session(init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit): MetorialMagnetarMcpSession;
164
- createMcpConnection(init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit): Promise<_metorial_mcp_session.MetorialMcpClient>;
165
- withSession<T>(init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit, action: (session: MetorialMagnetarMcpSession) => Promise<T>): Promise<T>;
166
- withProviderSession<P, T>(provider: (session: MetorialMagnetarMcpSession) => Promise<P>, init: (MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) & {
163
+ session(init: MetorialMagnetarMcpSessionInit): MetorialMagnetarMcpSession;
164
+ createMcpConnection(init: MetorialMagnetarMcpSessionInit): Promise<_metorial_mcp_session.MetorialMcpClient>;
165
+ withSession<T>(init: MetorialMagnetarMcpSessionInit, action: (session: MetorialMagnetarMcpSession) => Promise<T>): Promise<T>;
166
+ withProviderSession<P, T>(provider: (session: MetorialMagnetarMcpSession) => Promise<P>, init: (MetorialMagnetarMcpSessionInit) & {
167
167
  streaming?: boolean;
168
168
  }, action: (input: P & {
169
169
  session: MetorialMagnetarMcpSession;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/metorial.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import {\n MetorialPulsarCoreSDK,\n createMetorialPulsarCoreSDK,\n MetorialMagnetarCoreSDK,\n createMetorialMagnetarCoreSDK\n} from '@metorial/core';\nimport {\n MetorialMcpSession,\n MetorialMcpSessionInit,\n MetorialMcpSessionInitServerDeployments,\n MetorialMagnetarMcpSession,\n MetorialMagnetarMcpSessionInit,\n MetorialMagnetarMcpSessionTemplateInit\n} from '@metorial/mcp-session';\n\nexport type {\n MetorialMcpSession,\n MetorialMcpSessionInit,\n MetorialMcpSessionInitServerDeployments,\n MetorialMagnetarMcpSession,\n MetorialMagnetarMcpSessionInit,\n MetorialMagnetarMcpSessionTemplateInit\n} from '@metorial/mcp-session';\n\nexport class Metorial {\n private readonly pulsarSdk: MetorialPulsarCoreSDK;\n private readonly magnetarSdk: MetorialMagnetarCoreSDK;\n\n constructor(init: Omit<Parameters<typeof createMetorialPulsarCoreSDK>[0], 'apiVersion'>) {\n let apiHost = init.apiHost;\n let mcpHost = init.mcpHost;\n\n // Derive apiHost from mcpHost if only mcpHost is provided\n if (mcpHost && !apiHost) {\n apiHost = mcpHost.replace('://connect.', '://api.');\n }\n\n // v1 (pulsar): mcp.<domain> pattern — let mcpSession.ts derive it from apiHost\n this.pulsarSdk = createMetorialPulsarCoreSDK({ ...init, apiHost });\n\n // v2 (magnetar): connect.<domain> pattern\n this.magnetarSdk = createMetorialMagnetarCoreSDK({ ...init, apiHost, mcpHost });\n }\n\n // ── Magnetar (default) ───────────────────────────────────────────\n\n get providers() {\n return this.magnetarSdk.providers;\n }\n\n get providerDeployments() {\n let deployments = this.magnetarSdk.providerDeployments;\n Object.assign(deployments.setupSessions, {\n waitForCompletion: this.waitForSetupSession.bind(this)\n });\n return deployments;\n }\n\n get sessions() {\n return this.magnetarSdk.sessions;\n }\n\n get sessionTemplates() {\n return this.magnetarSdk.sessionTemplates;\n }\n\n get providerRuns() {\n return this.magnetarSdk.providerRuns;\n }\n\n get instance() {\n return this.magnetarSdk.instance;\n }\n\n get publishers() {\n return this.magnetarSdk.publishers;\n }\n\n get providerCategories() {\n return this.magnetarSdk.providerCategories;\n }\n\n get providerCollections() {\n return this.magnetarSdk.providerCollections;\n }\n\n get providerGroups() {\n return this.magnetarSdk.providerGroups;\n }\n\n get providerListings() {\n return this.magnetarSdk.providerListings;\n }\n\n get providerSetupSessions() {\n return this.magnetarSdk.providerSetupSessions;\n }\n\n get toolCalls() {\n return this.magnetarSdk.toolCalls;\n }\n\n get customProviders() {\n return this.magnetarSdk.customProviders;\n }\n\n // ── Backward compat (Pulsar endpoints at top level) ──────────────\n\n get servers() {\n return this.pulsarSdk.servers;\n }\n\n get secrets() {\n return this.pulsarSdk.secrets;\n }\n\n get oauth(): typeof this.pulsarSdk.oauth & {\n waitForCompletion: (\n sessions: Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ) => Promise<void>;\n } {\n return {\n ...this.pulsarSdk.oauth,\n waitForCompletion: this.waitForOAuthCompletion.bind(this)\n };\n }\n\n get _config() {\n return this.pulsarSdk._config;\n }\n\n // ── v1 namespace (legacy Pulsar) ─────────────────────────────────\n\n get v1() {\n let pulsarSdk = this.pulsarSdk;\n let self = this;\n return {\n get instance() {\n return pulsarSdk.instance;\n },\n get secrets() {\n return pulsarSdk.secrets;\n },\n get servers() {\n return pulsarSdk.servers;\n },\n get sessions() {\n return pulsarSdk.sessions;\n },\n get oauth() {\n return self.oauth;\n },\n get _config() {\n return pulsarSdk._config;\n },\n mcp: {\n createSession: (init: MetorialMcpSessionInit) =>\n new MetorialMcpSession(pulsarSdk, init),\n withSession: self._pulsarWithSession.bind(self),\n withProviderSession: self._pulsarWithProviderSession.bind(self),\n createConnection: self._pulsarCreateMcpConnection.bind(self)\n },\n withSession: self._pulsarWithSession.bind(self),\n withProviderSession: self._pulsarWithProviderSession.bind(self),\n createMcpConnection: self._pulsarCreateMcpConnection.bind(self)\n };\n }\n\n // ── MCP (Magnetar default) ───────────────────────────────────────\n\n get mcp() {\n return {\n createSession: (init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) =>\n new MetorialMagnetarMcpSession(this.magnetarSdk, init),\n withSession: this.withSession.bind(this),\n withProviderSession: this.withProviderSession.bind(this),\n createConnection: this.createMcpConnection.bind(this)\n };\n }\n\n session(\n init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit\n ): MetorialMagnetarMcpSession {\n return new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n }\n\n async createMcpConnection(\n init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit\n ) {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n return await session.getClient();\n }\n\n async withSession<T>(\n init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit,\n action: (session: MetorialMagnetarMcpSession) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n try {\n return await action(session);\n } finally {\n await session.close();\n }\n }\n\n async withProviderSession<P, T>(\n provider: (session: MetorialMagnetarMcpSession) => Promise<P>,\n init: (MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit) & { streaming?: boolean },\n action: (\n input: P & {\n session: MetorialMagnetarMcpSession;\n getSession: MetorialMagnetarMcpSession['getSession'];\n getCapabilities: MetorialMagnetarMcpSession['getCapabilities'];\n getToolManager: MetorialMagnetarMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n if (init.streaming) {\n return this.withMagnetarStreamingSession(provider, init, action);\n }\n\n return this.withSession(init, async session => {\n let providerData = await provider(session);\n\n return action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession: async () => {}\n });\n });\n }\n\n private async withMagnetarStreamingSession<P, T>(\n provider: (session: MetorialMagnetarMcpSession) => Promise<P>,\n init: MetorialMagnetarMcpSessionInit | MetorialMagnetarMcpSessionTemplateInit,\n action: (\n input: P & {\n session: MetorialMagnetarMcpSession;\n getSession: MetorialMagnetarMcpSession['getSession'];\n getCapabilities: MetorialMagnetarMcpSession['getCapabilities'];\n getToolManager: MetorialMagnetarMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n let sessionClosed = false;\n\n const closeSession = async () => {\n if (!sessionClosed) {\n sessionClosed = true;\n await session.close();\n }\n };\n\n try {\n let providerData = await provider(session);\n\n let result = await action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession\n });\n\n let timeout = setTimeout(async () => {\n if (!sessionClosed) {\n await closeSession();\n }\n }, 60000);\n timeout.unref();\n\n return result;\n } catch (error) {\n await closeSession();\n throw error;\n }\n }\n\n // ── Pulsar MCP helpers (used by v1) ──────────────────────────────\n\n async _pulsarCreateMcpConnection(init: MetorialMcpSessionInitServerDeployments[number]) {\n let session = new MetorialMcpSession(this.pulsarSdk, {\n serverDeployments: [init]\n });\n\n let deployments = await session.getServerDeployments();\n\n return await session.getClient({\n deploymentId: deployments[0].id\n });\n }\n\n async _pulsarWithSession<T>(\n init: MetorialMcpSessionInit,\n action: (session: MetorialMcpSession) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMcpSession(this.pulsarSdk, init);\n try {\n return await action(session);\n } finally {\n await session.close();\n }\n }\n\n async _pulsarWithProviderSession<P, T>(\n provider: (session: MetorialMcpSession) => Promise<P>,\n init: MetorialMcpSessionInit & { streaming?: boolean },\n action: (\n input: P & {\n session: MetorialMcpSession;\n getSession: MetorialMcpSession['getSession'];\n getCapabilities: MetorialMcpSession['getCapabilities'];\n getClient: MetorialMcpSession['getClient'];\n getServerDeployments: MetorialMcpSession['getServerDeployments'];\n getToolManager: MetorialMcpSession['getToolManager'];\n }\n ) => Promise<T>\n ): Promise<T> {\n if (init.streaming) {\n return this.withStreamingSession(provider, init, action);\n }\n\n return this._pulsarWithSession(init, async session => {\n let providerData = await provider(session);\n\n return action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getClient: session.getClient.bind(session),\n getServerDeployments: session.getServerDeployments.bind(session),\n getToolManager: session.getToolManager.bind(session)\n });\n });\n }\n\n private async withStreamingSession<P, T>(\n provider: (session: MetorialMcpSession) => Promise<P>,\n init: MetorialMcpSessionInit,\n action: (\n input: P & {\n session: MetorialMcpSession;\n getSession: MetorialMcpSession['getSession'];\n getCapabilities: MetorialMcpSession['getCapabilities'];\n getClient: MetorialMcpSession['getClient'];\n getServerDeployments: MetorialMcpSession['getServerDeployments'];\n getToolManager: MetorialMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMcpSession(this.pulsarSdk, init);\n let sessionClosed = false;\n\n const closeSession = async () => {\n if (!sessionClosed) {\n sessionClosed = true;\n await session.close();\n }\n };\n\n try {\n let providerData = await provider(session);\n\n let result = await action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getClient: session.getClient.bind(session),\n getServerDeployments: session.getServerDeployments.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession\n });\n\n let timeout = setTimeout(async () => {\n if (!sessionClosed) {\n await closeSession();\n }\n }, 60000);\n timeout.unref();\n\n return result;\n } catch (error) {\n await closeSession();\n throw error;\n }\n }\n\n async waitForSetupSession(\n sessions: { id: string } | Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ) {\n let sessionList = Array.isArray(sessions) ? sessions : [sessions];\n let pollInterval = Math.max(options?.pollInterval ?? 5000, 2000);\n let timeout = options?.timeout ?? 600000;\n let startTime = Date.now();\n\n if (sessionList.length === 0) {\n return [];\n }\n\n while (true) {\n if (Date.now() - startTime > timeout) {\n throw new Error(`Setup session timed out after ${timeout / 1000} seconds`);\n }\n\n try {\n let statuses = await Promise.all(\n sessionList.map(s => this.magnetarSdk.providerDeployments.setupSessions.get(s.id))\n );\n\n let failed = statuses.filter(s => s.status === 'failed');\n if (failed.length > 0) {\n throw new Error(`${failed.length} setup session(s) failed`);\n }\n\n let allCompleted = statuses.every(s => s.status === 'completed');\n if (allCompleted) {\n return statuses;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message.includes('setup session') &&\n (error.message.includes('failed') || error.message.includes('timed out')))\n ) {\n throw error;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n }\n }\n }\n\n async waitForOAuthCompletion(\n sessions: Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ): Promise<void> {\n let pollInterval = Math.max(options?.pollInterval ?? 5000, 2000); // minimum 2 seconds\n let timeout = options?.timeout ?? 600000; // 10 minutes\n let startTime = Date.now();\n\n if (sessions.length === 0) {\n return;\n }\n\n while (true) {\n if (Date.now() - startTime > timeout) {\n throw new Error(`OAuth authentication timeout after ${timeout / 1000} seconds`);\n }\n\n try {\n let statuses = await Promise.all(\n sessions.map(session => this.oauth.sessions.get(session.id))\n );\n\n let allCompleted = statuses.every(status => status.status === 'completed');\n if (allCompleted) {\n return;\n }\n\n let failedSessions = statuses.filter(status => status.status === 'failed');\n if (failedSessions.length > 0) {\n throw new Error(\n `OAuth authentication failed for ${failedSessions.length} session(s)`\n );\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message.includes('OAuth authentication failed') ||\n error.message.includes('OAuth authentication timeout'))\n ) {\n throw error;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n }\n }\n }\n\n}\n"]}
1
+ {"version":3,"sources":["../src/metorial.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import {\n MetorialPulsarCoreSDK,\n createMetorialPulsarCoreSDK,\n MetorialMagnetarCoreSDK,\n createMetorialMagnetarCoreSDK\n} from '@metorial/core';\nimport {\n MetorialMcpSession,\n MetorialMcpSessionInit,\n MetorialMcpSessionInitServerDeployments,\n MetorialMagnetarMcpSession,\n MetorialMagnetarMcpSessionInit\n} from '@metorial/mcp-session';\n\nexport type {\n MetorialMcpSession,\n MetorialMcpSessionInit,\n MetorialMcpSessionInitServerDeployments,\n MetorialMagnetarMcpSession,\n MetorialMagnetarMcpSessionInit\n} from '@metorial/mcp-session';\n\nexport class Metorial {\n private readonly pulsarSdk: MetorialPulsarCoreSDK;\n private readonly magnetarSdk: MetorialMagnetarCoreSDK;\n\n constructor(init: Omit<Parameters<typeof createMetorialPulsarCoreSDK>[0], 'apiVersion'>) {\n let apiHost = init.apiHost;\n let mcpHost = init.mcpHost;\n\n // Derive apiHost from mcpHost if only mcpHost is provided\n if (mcpHost && !apiHost) {\n apiHost = mcpHost.replace('://connect.', '://api.');\n }\n\n // v1 (pulsar): mcp.<domain> pattern — let mcpSession.ts derive it from apiHost\n this.pulsarSdk = createMetorialPulsarCoreSDK({ ...init, apiHost });\n\n // v2 (magnetar): connect.<domain> pattern\n this.magnetarSdk = createMetorialMagnetarCoreSDK({ ...init, apiHost, mcpHost });\n }\n\n // ── Magnetar (default) ───────────────────────────────────────────\n\n get providers() {\n return this.magnetarSdk.providers;\n }\n\n get providerDeployments() {\n let deployments = this.magnetarSdk.providerDeployments;\n Object.assign(deployments.setupSessions, {\n waitForCompletion: this.waitForSetupSession.bind(this)\n });\n return deployments;\n }\n\n get sessions() {\n return this.magnetarSdk.sessions;\n }\n\n get sessionTemplates() {\n return this.magnetarSdk.sessionTemplates;\n }\n\n get providerRuns() {\n return this.magnetarSdk.providerRuns;\n }\n\n get instance() {\n return this.magnetarSdk.instance;\n }\n\n get publishers() {\n return this.magnetarSdk.publishers;\n }\n\n get providerCategories() {\n return this.magnetarSdk.providerCategories;\n }\n\n get providerCollections() {\n return this.magnetarSdk.providerCollections;\n }\n\n get providerGroups() {\n return this.magnetarSdk.providerGroups;\n }\n\n get providerListings() {\n return this.magnetarSdk.providerListings;\n }\n\n get providerSetupSessions() {\n return this.magnetarSdk.providerSetupSessions;\n }\n\n get toolCalls() {\n return this.magnetarSdk.toolCalls;\n }\n\n get customProviders() {\n return this.magnetarSdk.customProviders;\n }\n\n // ── Backward compat (Pulsar endpoints at top level) ──────────────\n\n get servers() {\n return this.pulsarSdk.servers;\n }\n\n get secrets() {\n return this.pulsarSdk.secrets;\n }\n\n get oauth(): typeof this.pulsarSdk.oauth & {\n waitForCompletion: (\n sessions: Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ) => Promise<void>;\n } {\n return {\n ...this.pulsarSdk.oauth,\n waitForCompletion: this.waitForOAuthCompletion.bind(this)\n };\n }\n\n get _config() {\n return this.pulsarSdk._config;\n }\n\n // ── v1 namespace (legacy Pulsar) ─────────────────────────────────\n\n get v1() {\n let pulsarSdk = this.pulsarSdk;\n let self = this;\n return {\n get instance() {\n return pulsarSdk.instance;\n },\n get secrets() {\n return pulsarSdk.secrets;\n },\n get servers() {\n return pulsarSdk.servers;\n },\n get sessions() {\n return pulsarSdk.sessions;\n },\n get oauth() {\n return self.oauth;\n },\n get _config() {\n return pulsarSdk._config;\n },\n mcp: {\n createSession: (init: MetorialMcpSessionInit) =>\n new MetorialMcpSession(pulsarSdk, init),\n withSession: self._pulsarWithSession.bind(self),\n withProviderSession: self._pulsarWithProviderSession.bind(self),\n createConnection: self._pulsarCreateMcpConnection.bind(self)\n },\n withSession: self._pulsarWithSession.bind(self),\n withProviderSession: self._pulsarWithProviderSession.bind(self),\n createMcpConnection: self._pulsarCreateMcpConnection.bind(self)\n };\n }\n\n // ── MCP (Magnetar default) ───────────────────────────────────────\n\n get mcp() {\n return {\n createSession: (init: MetorialMagnetarMcpSessionInit) =>\n new MetorialMagnetarMcpSession(this.magnetarSdk, init),\n withSession: this.withSession.bind(this),\n withProviderSession: this.withProviderSession.bind(this),\n createConnection: this.createMcpConnection.bind(this)\n };\n }\n\n session(\n init: MetorialMagnetarMcpSessionInit\n ): MetorialMagnetarMcpSession {\n return new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n }\n\n async createMcpConnection(\n init: MetorialMagnetarMcpSessionInit\n ) {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n return await session.getClient();\n }\n\n async withSession<T>(\n init: MetorialMagnetarMcpSessionInit,\n action: (session: MetorialMagnetarMcpSession) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n try {\n return await action(session);\n } finally {\n await session.close();\n }\n }\n\n async withProviderSession<P, T>(\n provider: (session: MetorialMagnetarMcpSession) => Promise<P>,\n init: (MetorialMagnetarMcpSessionInit) & { streaming?: boolean },\n action: (\n input: P & {\n session: MetorialMagnetarMcpSession;\n getSession: MetorialMagnetarMcpSession['getSession'];\n getCapabilities: MetorialMagnetarMcpSession['getCapabilities'];\n getToolManager: MetorialMagnetarMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n if (init.streaming) {\n return this.withMagnetarStreamingSession(provider, init, action);\n }\n\n return this.withSession(init, async session => {\n let providerData = await provider(session);\n\n return action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession: async () => {}\n });\n });\n }\n\n private async withMagnetarStreamingSession<P, T>(\n provider: (session: MetorialMagnetarMcpSession) => Promise<P>,\n init: MetorialMagnetarMcpSessionInit,\n action: (\n input: P & {\n session: MetorialMagnetarMcpSession;\n getSession: MetorialMagnetarMcpSession['getSession'];\n getCapabilities: MetorialMagnetarMcpSession['getCapabilities'];\n getToolManager: MetorialMagnetarMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMagnetarMcpSession(this.magnetarSdk, init);\n let sessionClosed = false;\n\n const closeSession = async () => {\n if (!sessionClosed) {\n sessionClosed = true;\n await session.close();\n }\n };\n\n try {\n let providerData = await provider(session);\n\n let result = await action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession\n });\n\n let timeout = setTimeout(async () => {\n if (!sessionClosed) {\n await closeSession();\n }\n }, 60000);\n timeout.unref();\n\n return result;\n } catch (error) {\n await closeSession();\n throw error;\n }\n }\n\n // ── Pulsar MCP helpers (used by v1) ──────────────────────────────\n\n async _pulsarCreateMcpConnection(init: MetorialMcpSessionInitServerDeployments[number]) {\n let session = new MetorialMcpSession(this.pulsarSdk, {\n serverDeployments: [init]\n });\n\n let deployments = await session.getServerDeployments();\n\n return await session.getClient({\n deploymentId: deployments[0].id\n });\n }\n\n async _pulsarWithSession<T>(\n init: MetorialMcpSessionInit,\n action: (session: MetorialMcpSession) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMcpSession(this.pulsarSdk, init);\n try {\n return await action(session);\n } finally {\n await session.close();\n }\n }\n\n async _pulsarWithProviderSession<P, T>(\n provider: (session: MetorialMcpSession) => Promise<P>,\n init: MetorialMcpSessionInit & { streaming?: boolean },\n action: (\n input: P & {\n session: MetorialMcpSession;\n getSession: MetorialMcpSession['getSession'];\n getCapabilities: MetorialMcpSession['getCapabilities'];\n getClient: MetorialMcpSession['getClient'];\n getServerDeployments: MetorialMcpSession['getServerDeployments'];\n getToolManager: MetorialMcpSession['getToolManager'];\n }\n ) => Promise<T>\n ): Promise<T> {\n if (init.streaming) {\n return this.withStreamingSession(provider, init, action);\n }\n\n return this._pulsarWithSession(init, async session => {\n let providerData = await provider(session);\n\n return action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getClient: session.getClient.bind(session),\n getServerDeployments: session.getServerDeployments.bind(session),\n getToolManager: session.getToolManager.bind(session)\n });\n });\n }\n\n private async withStreamingSession<P, T>(\n provider: (session: MetorialMcpSession) => Promise<P>,\n init: MetorialMcpSessionInit,\n action: (\n input: P & {\n session: MetorialMcpSession;\n getSession: MetorialMcpSession['getSession'];\n getCapabilities: MetorialMcpSession['getCapabilities'];\n getClient: MetorialMcpSession['getClient'];\n getServerDeployments: MetorialMcpSession['getServerDeployments'];\n getToolManager: MetorialMcpSession['getToolManager'];\n closeSession: () => Promise<void>;\n }\n ) => Promise<T>\n ): Promise<T> {\n let session = new MetorialMcpSession(this.pulsarSdk, init);\n let sessionClosed = false;\n\n const closeSession = async () => {\n if (!sessionClosed) {\n sessionClosed = true;\n await session.close();\n }\n };\n\n try {\n let providerData = await provider(session);\n\n let result = await action({\n ...providerData,\n session,\n getSession: session.getSession.bind(session),\n getCapabilities: session.getCapabilities.bind(session),\n getClient: session.getClient.bind(session),\n getServerDeployments: session.getServerDeployments.bind(session),\n getToolManager: session.getToolManager.bind(session),\n closeSession\n });\n\n let timeout = setTimeout(async () => {\n if (!sessionClosed) {\n await closeSession();\n }\n }, 60000);\n timeout.unref();\n\n return result;\n } catch (error) {\n await closeSession();\n throw error;\n }\n }\n\n async waitForSetupSession(\n sessions: { id: string } | Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ) {\n let sessionList = Array.isArray(sessions) ? sessions : [sessions];\n let pollInterval = Math.max(options?.pollInterval ?? 5000, 2000);\n let timeout = options?.timeout ?? 600000;\n let startTime = Date.now();\n\n if (sessionList.length === 0) {\n return [];\n }\n\n while (true) {\n if (Date.now() - startTime > timeout) {\n throw new Error(`Setup session timed out after ${timeout / 1000} seconds`);\n }\n\n try {\n let statuses = await Promise.all(\n sessionList.map(s => this.magnetarSdk.providerDeployments.setupSessions.get(s.id))\n );\n\n let failed = statuses.filter(s => s.status === 'failed');\n if (failed.length > 0) {\n throw new Error(`${failed.length} setup session(s) failed`);\n }\n\n let allCompleted = statuses.every(s => s.status === 'completed');\n if (allCompleted) {\n return statuses;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message.includes('setup session') &&\n (error.message.includes('failed') || error.message.includes('timed out')))\n ) {\n throw error;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n }\n }\n }\n\n async waitForOAuthCompletion(\n sessions: Array<{ id: string }>,\n options?: {\n pollInterval?: number;\n timeout?: number;\n }\n ): Promise<void> {\n let pollInterval = Math.max(options?.pollInterval ?? 5000, 2000); // minimum 2 seconds\n let timeout = options?.timeout ?? 600000; // 10 minutes\n let startTime = Date.now();\n\n if (sessions.length === 0) {\n return;\n }\n\n while (true) {\n if (Date.now() - startTime > timeout) {\n throw new Error(`OAuth authentication timeout after ${timeout / 1000} seconds`);\n }\n\n try {\n let statuses = await Promise.all(\n sessions.map(session => this.oauth.sessions.get(session.id))\n );\n\n let allCompleted = statuses.every(status => status.status === 'completed');\n if (allCompleted) {\n return;\n }\n\n let failedSessions = statuses.filter(status => status.status === 'failed');\n if (failedSessions.length > 0) {\n throw new Error(\n `OAuth authentication failed for ${failedSessions.length} session(s)`\n );\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n } catch (error) {\n if (\n error instanceof Error &&\n (error.message.includes('OAuth authentication failed') ||\n error.message.includes('OAuth authentication timeout'))\n ) {\n throw error;\n }\n\n await new Promise(resolve => setTimeout(resolve, pollInterval));\n }\n }\n }\n\n}\n"]}
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@metorial/sdk",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "author": "Metorial Inc.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "dist/index.cjs",
8
8
  "types": "dist/index.d.ts",
9
9
  "module": "dist/index.js",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/metorial/metorial-node"
13
+ },
10
14
  "exports": {
11
15
  ".": {
12
16
  "types": "./dist/index.d.ts",
@@ -26,7 +30,7 @@
26
30
  ],
27
31
  "dependencies": {
28
32
  "@metorial/core": "^2.0.1",
29
- "@metorial/mcp-session": "^2.0.0",
33
+ "@metorial/mcp-session": "^2.0.1",
30
34
  "@metorial/util-endpoint": "^2.0.0",
31
35
  "@metorial/anthropic": "^2.0.0",
32
36
  "@metorial/deepseek": "^2.0.0",
@@ -48,4 +52,4 @@
48
52
  "typescript": "^5.1.6",
49
53
  "vitest": "^0.34.6"
50
54
  }
51
- }
55
+ }