@microsoft/teams.api
Version:
<p> <a href="https://www.npmjs.com/package/@microsoft/teams.api" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.api/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.api?activeTab=code" t
1 lines • 7.33 kB
Source Map (JSON)
{"version":3,"sources":["../../src/auth/cloud-environment.ts"],"names":[],"mappings":"AAyBO,MAAM,MAAA,GAA2B,OAAO,MAAA,CAAO;AAAA,EACpD,aAAA,EAAe,mCAAA;AAAA,EACf,WAAA,EAAa,kBAAA;AAAA,EACb,QAAA,EAAU,uCAAA;AAAA,EACV,eAAA,EAAiB,gCAAA;AAAA,EACjB,iBAAA,EAAmB,mEAAA;AAAA,EACnB,WAAA,EAAa,8BAAA;AAAA,EACb,UAAA,EAAY,sCAAA;AAAA,EACZ,uBAAA,EAAyB;AAC3B,CAAC;AAGM,MAAM,MAAA,GAA2B,OAAO,MAAA,CAAO;AAAA,EACpD,aAAA,EAAe,kCAAA;AAAA,EACf,WAAA,EAAa,kCAAA;AAAA,EACb,QAAA,EAAU,sCAAA;AAAA,EACV,eAAA,EAAiB,yCAAA;AAAA,EACjB,iBAAA,EAAmB,wEAAA;AAAA,EACnB,WAAA,EAAa,6BAAA;AAAA,EACb,UAAA,EAAY,qCAAA;AAAA;AAAA,EAEZ,uBAAA,EAAyB;AAC3B,CAAC;AAGM,MAAM,UAAA,GAA+B,OAAO,MAAA,CAAO;AAAA,EACxD,aAAA,EAAe,kCAAA;AAAA,EACf,WAAA,EAAa,kCAAA;AAAA,EACb,QAAA,EAAU,sCAAA;AAAA,EACV,eAAA,EAAiB,sCAAA;AAAA,EACjB,iBAAA,EAAmB,wEAAA;AAAA,EACnB,WAAA,EAAa,6BAAA;AAAA,EACb,UAAA,EAAY,yCAAA;AAAA;AAAA,EAEZ,uBAAA,EAAyB;AAC3B,CAAC;AAGM,MAAM,KAAA,GAA0B,OAAO,MAAA,CAAO;AAAA,EACnD,aAAA,EAAe,0CAAA;AAAA,EACf,WAAA,EAAa,wCAAA;AAAA,EACb,QAAA,EAAU,4CAAA;AAAA,EACV,eAAA,EAAiB,qCAAA;AAAA,EACjB,iBAAA,EAAmB,wEAAA;AAAA,EACnB,WAAA,EAAa,mCAAA;AAAA,EACb,UAAA,EAAY,kDAAA;AAAA;AAAA,EAEZ,uBAAA,EAAyB;AAC3B,CAAC;AAMM,SAAS,aAAA,CACd,MACA,SAAA,EACkB;AAClB,EAAA,OAAO,OAAO,MAAA,CAAO;AAAA,IACnB,aAAA,EAAe,SAAA,CAAU,aAAA,IAAiB,IAAA,CAAK,aAAA;AAAA,IAC/C,WAAA,EAAa,SAAA,CAAU,WAAA,IAAe,IAAA,CAAK,WAAA;AAAA,IAC3C,QAAA,EAAU,SAAA,CAAU,QAAA,IAAY,IAAA,CAAK,QAAA;AAAA,IACrC,eAAA,EAAiB,SAAA,CAAU,eAAA,IAAmB,IAAA,CAAK,eAAA;AAAA,IACnD,iBAAA,EAAmB,SAAA,CAAU,iBAAA,IAAqB,IAAA,CAAK,iBAAA;AAAA,IACvD,WAAA,EAAa,SAAA,CAAU,WAAA,IAAe,IAAA,CAAK,WAAA;AAAA,IAC3C,UAAA,EAAY,SAAA,CAAU,UAAA,IAAc,IAAA,CAAK,UAAA;AAAA,IACzC,uBAAA,EAAyB,SAAA,CAAU,uBAAA,IAA2B,IAAA,CAAK;AAAA,GACpE,CAAA;AACH;AAEA,MAAM,kBAAA,GAAuD;AAAA,EAC3D,MAAA,EAAQ,MAAA;AAAA,EACR,KAAA,EAAO,MAAA;AAAA,EACP,QAAA,EAAU,UAAA;AAAA,EACV,KAAA,EAAO;AACT,CAAA;AAMO,SAAS,cAAc,IAAA,EAAgC;AAC5D,EAAA,MAAM,GAAA,GAAM,kBAAA,CAAmB,IAAA,CAAK,WAAA,EAAa,CAAA;AACjD,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,+BAA+B,IAAI,CAAA,oDAAA;AAAA,KACrC;AAAA,EACF;AACA,EAAA,OAAO,GAAA;AACT","file":"cloud-environment.mjs","sourcesContent":["/**\n * Bundles all cloud-specific service endpoints for a given Azure environment.\n * Use predefined instances (PUBLIC, US_GOV, US_GOV_DOD, CHINA)\n * or construct a custom one via withOverrides().\n */\nexport type CloudEnvironment = {\n /** The Azure AD login endpoint (e.g. \"https://login.microsoftonline.com\") */\n readonly loginEndpoint: string;\n /** The default multi-tenant login tenant (e.g. \"botframework.com\") */\n readonly loginTenant: string;\n /** The Bot Framework OAuth scope (e.g. \"https://api.botframework.com/.default\") */\n readonly botScope: string;\n /** The Bot Framework token service base URL (e.g. \"https://token.botframework.com\") */\n readonly tokenServiceUrl: string;\n /** The OpenID metadata URL for token validation */\n readonly openIdMetadataUrl: string;\n /** The token issuer for Bot Framework tokens (e.g. \"https://api.botframework.com\") */\n readonly tokenIssuer: string;\n /** The Microsoft Graph token scope (e.g. \"https://graph.microsoft.com/.default\") */\n readonly graphScope: string;\n /** The AgenticIdentity Bot API token scope. */\n readonly agenticIdentityBotScope: string;\n};\n\n/** Microsoft public (commercial) cloud. */\nexport const PUBLIC: CloudEnvironment = Object.freeze({\n loginEndpoint: 'https://login.microsoftonline.com',\n loginTenant: 'botframework.com',\n botScope: 'https://api.botframework.com/.default',\n tokenServiceUrl: 'https://token.botframework.com',\n openIdMetadataUrl: 'https://login.botframework.com/v1/.well-known/openidconfiguration',\n tokenIssuer: 'https://api.botframework.com',\n graphScope: 'https://graph.microsoft.com/.default',\n agenticIdentityBotScope: 'https://botapi.skype.com/.default',\n});\n\n/** US Government Community Cloud High (GCCH). */\nexport const US_GOV: CloudEnvironment = Object.freeze({\n loginEndpoint: 'https://login.microsoftonline.us',\n loginTenant: 'MicrosoftServices.onmicrosoft.us',\n botScope: 'https://api.botframework.us/.default',\n tokenServiceUrl: 'https://tokengcch.botframework.azure.us',\n openIdMetadataUrl: 'https://login.botframework.azure.us/v1/.well-known/openidconfiguration',\n tokenIssuer: 'https://api.botframework.us',\n graphScope: 'https://graph.microsoft.us/.default',\n // TODO: Use the sovereign AgenticIdentity Bot API scope when one is available.\n agenticIdentityBotScope: 'https://botapi.skype.com/.default',\n});\n\n/** US Government Department of Defense (DoD). */\nexport const US_GOV_DOD: CloudEnvironment = Object.freeze({\n loginEndpoint: 'https://login.microsoftonline.us',\n loginTenant: 'MicrosoftServices.onmicrosoft.us',\n botScope: 'https://api.botframework.us/.default',\n tokenServiceUrl: 'https://apiDoD.botframework.azure.us',\n openIdMetadataUrl: 'https://login.botframework.azure.us/v1/.well-known/openidconfiguration',\n tokenIssuer: 'https://api.botframework.us',\n graphScope: 'https://dod-graph.microsoft.us/.default',\n // TODO: Use the sovereign AgenticIdentity Bot API scope when one is available.\n agenticIdentityBotScope: 'https://botapi.skype.com/.default',\n});\n\n/** China cloud (21Vianet). */\nexport const CHINA: CloudEnvironment = Object.freeze({\n loginEndpoint: 'https://login.partner.microsoftonline.cn',\n loginTenant: 'microsoftservices.partner.onmschina.cn',\n botScope: 'https://api.botframework.azure.cn/.default',\n tokenServiceUrl: 'https://token.botframework.azure.cn',\n openIdMetadataUrl: 'https://login.botframework.azure.cn/v1/.well-known/openidconfiguration',\n tokenIssuer: 'https://api.botframework.azure.cn',\n graphScope: 'https://microsoftgraph.chinacloudapi.cn/.default',\n // TODO: Use the China cloud AgenticIdentity Bot API scope when one is available.\n agenticIdentityBotScope: 'https://botapi.skype.com/.default',\n});\n\n/**\n * Creates a new CloudEnvironment by applying non-null overrides on top of a base.\n * Returns the base instance if no override values differ.\n */\nexport function withOverrides(\n base: CloudEnvironment,\n overrides: Partial<CloudEnvironment>\n): CloudEnvironment {\n return Object.freeze({\n loginEndpoint: overrides.loginEndpoint ?? base.loginEndpoint,\n loginTenant: overrides.loginTenant ?? base.loginTenant,\n botScope: overrides.botScope ?? base.botScope,\n tokenServiceUrl: overrides.tokenServiceUrl ?? base.tokenServiceUrl,\n openIdMetadataUrl: overrides.openIdMetadataUrl ?? base.openIdMetadataUrl,\n tokenIssuer: overrides.tokenIssuer ?? base.tokenIssuer,\n graphScope: overrides.graphScope ?? base.graphScope,\n agenticIdentityBotScope: overrides.agenticIdentityBotScope ?? base.agenticIdentityBotScope,\n });\n}\n\nconst CLOUD_ENVIRONMENTS: Record<string, CloudEnvironment> = {\n public: PUBLIC,\n usgov: US_GOV,\n usgovdod: US_GOV_DOD,\n china: CHINA,\n};\n\n/**\n * Resolves a cloud environment name (case-insensitive) to its corresponding instance.\n * Valid names: \"Public\", \"USGov\", \"USGovDoD\", \"China\".\n */\nexport function cloudFromName(name: string): CloudEnvironment {\n const env = CLOUD_ENVIRONMENTS[name.toLowerCase()];\n if (!env) {\n throw new Error(\n `Unknown cloud environment: '${name}'. Valid values are: Public, USGov, USGovDoD, China.`\n );\n }\n return env;\n}\n"]}