@mcp-z/oauth-microsoft 1.0.0
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.
- package/LICENSE +21 -0
- package/README.md +98 -0
- package/dist/cjs/index.d.cts +16 -0
- package/dist/cjs/index.d.ts +16 -0
- package/dist/cjs/index.js +112 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/dcr-router.d.cts +44 -0
- package/dist/cjs/lib/dcr-router.d.ts +44 -0
- package/dist/cjs/lib/dcr-router.js +1227 -0
- package/dist/cjs/lib/dcr-router.js.map +1 -0
- package/dist/cjs/lib/dcr-utils.d.cts +160 -0
- package/dist/cjs/lib/dcr-utils.d.ts +160 -0
- package/dist/cjs/lib/dcr-utils.js +860 -0
- package/dist/cjs/lib/dcr-utils.js.map +1 -0
- package/dist/cjs/lib/dcr-verify.d.cts +53 -0
- package/dist/cjs/lib/dcr-verify.d.ts +53 -0
- package/dist/cjs/lib/dcr-verify.js +193 -0
- package/dist/cjs/lib/dcr-verify.js.map +1 -0
- package/dist/cjs/lib/fetch-with-timeout.d.cts +14 -0
- package/dist/cjs/lib/fetch-with-timeout.d.ts +14 -0
- package/dist/cjs/lib/fetch-with-timeout.js +257 -0
- package/dist/cjs/lib/fetch-with-timeout.js.map +1 -0
- package/dist/cjs/lib/token-verifier.d.cts +44 -0
- package/dist/cjs/lib/token-verifier.d.ts +44 -0
- package/dist/cjs/lib/token-verifier.js +253 -0
- package/dist/cjs/lib/token-verifier.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/providers/dcr.d.cts +110 -0
- package/dist/cjs/providers/dcr.d.ts +110 -0
- package/dist/cjs/providers/dcr.js +600 -0
- package/dist/cjs/providers/dcr.js.map +1 -0
- package/dist/cjs/providers/device-code.d.cts +179 -0
- package/dist/cjs/providers/device-code.d.ts +179 -0
- package/dist/cjs/providers/device-code.js +896 -0
- package/dist/cjs/providers/device-code.js.map +1 -0
- package/dist/cjs/providers/loopback-oauth.d.cts +125 -0
- package/dist/cjs/providers/loopback-oauth.d.ts +125 -0
- package/dist/cjs/providers/loopback-oauth.js +1325 -0
- package/dist/cjs/providers/loopback-oauth.js.map +1 -0
- package/dist/cjs/schemas/index.d.cts +20 -0
- package/dist/cjs/schemas/index.d.ts +20 -0
- package/dist/cjs/schemas/index.js +37 -0
- package/dist/cjs/schemas/index.js.map +1 -0
- package/dist/cjs/setup/config.d.cts +113 -0
- package/dist/cjs/setup/config.d.ts +113 -0
- package/dist/cjs/setup/config.js +246 -0
- package/dist/cjs/setup/config.js.map +1 -0
- package/dist/cjs/types.d.cts +188 -0
- package/dist/cjs/types.d.ts +188 -0
- package/dist/cjs/types.js +18 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/index.d.ts +16 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/dcr-router.d.ts +44 -0
- package/dist/esm/lib/dcr-router.js +556 -0
- package/dist/esm/lib/dcr-router.js.map +1 -0
- package/dist/esm/lib/dcr-utils.d.ts +160 -0
- package/dist/esm/lib/dcr-utils.js +270 -0
- package/dist/esm/lib/dcr-utils.js.map +1 -0
- package/dist/esm/lib/dcr-verify.d.ts +53 -0
- package/dist/esm/lib/dcr-verify.js +53 -0
- package/dist/esm/lib/dcr-verify.js.map +1 -0
- package/dist/esm/lib/fetch-with-timeout.d.ts +14 -0
- package/dist/esm/lib/fetch-with-timeout.js +30 -0
- package/dist/esm/lib/fetch-with-timeout.js.map +1 -0
- package/dist/esm/lib/token-verifier.d.ts +44 -0
- package/dist/esm/lib/token-verifier.js +53 -0
- package/dist/esm/lib/token-verifier.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/providers/dcr.d.ts +110 -0
- package/dist/esm/providers/dcr.js +235 -0
- package/dist/esm/providers/dcr.js.map +1 -0
- package/dist/esm/providers/device-code.d.ts +179 -0
- package/dist/esm/providers/device-code.js +417 -0
- package/dist/esm/providers/device-code.js.map +1 -0
- package/dist/esm/providers/loopback-oauth.d.ts +125 -0
- package/dist/esm/providers/loopback-oauth.js +643 -0
- package/dist/esm/providers/loopback-oauth.js.map +1 -0
- package/dist/esm/schemas/index.d.ts +20 -0
- package/dist/esm/schemas/index.js +18 -0
- package/dist/esm/schemas/index.js.map +1 -0
- package/dist/esm/setup/config.d.ts +113 -0
- package/dist/esm/setup/config.js +268 -0
- package/dist/esm/setup/config.js.map +1 -0
- package/dist/esm/types.d.ts +188 -0
- package/dist/esm/types.js +8 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standalone types for Microsoft OAuth
|
|
3
|
+
* No dependencies on other @mcp-z packages except @mcp-z/oauth
|
|
4
|
+
*/
|
|
5
|
+
import type { AuthFlowDescriptor, CachedToken, DcrClientInformation, DcrClientMetadata, Logger, OAuth2TokenStorageProvider, ProviderTokens, ToolHandler, ToolModule, UserAuthProvider } from '@mcp-z/oauth';
|
|
6
|
+
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
7
|
+
import type { ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
+
import type { Keyv } from 'keyv';
|
|
9
|
+
export type { Logger, CachedToken, ToolModule, ProviderTokens, DcrClientMetadata, DcrClientInformation };
|
|
10
|
+
export { AuthRequiredError } from '@mcp-z/oauth';
|
|
11
|
+
export type { ToolHandler, AuthFlowDescriptor, OAuth2TokenStorageProvider, UserAuthProvider, RequestHandlerExtra, ServerRequest, ServerNotification };
|
|
12
|
+
/**
|
|
13
|
+
* Microsoft service types that support OAuth
|
|
14
|
+
* OAuth clients support all Microsoft services provided by Microsoft Graph
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export type MicrosoftService = string;
|
|
18
|
+
/**
|
|
19
|
+
* OAuth client configuration for upstream provider
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export interface OAuthClientConfig {
|
|
23
|
+
/** OAuth client ID for upstream provider */
|
|
24
|
+
clientId: string;
|
|
25
|
+
/** OAuth client secret (optional for some flows) */
|
|
26
|
+
clientSecret?: string;
|
|
27
|
+
/** Tenant/directory ID (for multi-tenant providers) */
|
|
28
|
+
tenantId?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Microsoft OAuth configuration interface.
|
|
32
|
+
* Contains all OAuth-related configuration from CLI arguments and environment variables.
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
export interface OAuthConfig {
|
|
36
|
+
/** OAuth client ID */
|
|
37
|
+
clientId: string;
|
|
38
|
+
/** OAuth client secret (optional for public clients) */
|
|
39
|
+
clientSecret?: string;
|
|
40
|
+
/** Azure AD tenant ID */
|
|
41
|
+
tenantId: string;
|
|
42
|
+
/** OAuth adapter mode */
|
|
43
|
+
auth: 'loopback-oauth' | 'device-code' | 'dcr';
|
|
44
|
+
/** Whether to run in headless mode (no browser interaction) */
|
|
45
|
+
headless: boolean;
|
|
46
|
+
/** Optional redirect URI override (defaults to ephemeral loopback) */
|
|
47
|
+
redirectUri?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* DCR configuration for dynamic client registration
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
export interface DcrConfig {
|
|
54
|
+
/** DCR mode: self-hosted (runs own OAuth server) or external (uses Auth0/Stitch) */
|
|
55
|
+
mode: 'self-hosted' | 'external';
|
|
56
|
+
/** External verification endpoint URL (required for external mode) */
|
|
57
|
+
verifyUrl?: string;
|
|
58
|
+
/** DCR client storage URI (required for self-hosted mode) */
|
|
59
|
+
storeUri?: string;
|
|
60
|
+
/** OAuth client ID for Microsoft Graph */
|
|
61
|
+
clientId: string;
|
|
62
|
+
/** OAuth client secret (optional for public clients) */
|
|
63
|
+
clientSecret?: string;
|
|
64
|
+
/** Azure AD tenant ID */
|
|
65
|
+
tenantId: string;
|
|
66
|
+
/** OAuth scopes to request */
|
|
67
|
+
scope: string;
|
|
68
|
+
/** Logger instance */
|
|
69
|
+
logger?: Logger;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Configuration for loopback OAuth client
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
export interface LoopbackOAuthConfig {
|
|
76
|
+
/** Microsoft service type (e.g., 'outlook') */
|
|
77
|
+
service: MicrosoftService;
|
|
78
|
+
/** OAuth client ID */
|
|
79
|
+
clientId: string;
|
|
80
|
+
/** OAuth client secret (optional for public clients) */
|
|
81
|
+
clientSecret?: string | undefined;
|
|
82
|
+
/** Azure AD tenant ID */
|
|
83
|
+
tenantId: string;
|
|
84
|
+
/** OAuth scopes to request */
|
|
85
|
+
scope: string;
|
|
86
|
+
/** Whether to run in headless mode (no browser interaction) */
|
|
87
|
+
headless: boolean;
|
|
88
|
+
/** Logger instance */
|
|
89
|
+
logger: Logger;
|
|
90
|
+
/** Token storage */
|
|
91
|
+
tokenStore: Keyv<unknown>;
|
|
92
|
+
/** Optional redirect URI override (defaults to ephemeral loopback) */
|
|
93
|
+
redirectUri?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Microsoft Graph AuthenticationProvider interface
|
|
97
|
+
* Used by Microsoft Graph SDK for API authentication
|
|
98
|
+
* @public
|
|
99
|
+
*/
|
|
100
|
+
export interface MicrosoftAuthProvider {
|
|
101
|
+
getAccessToken: () => Promise<string>;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Auth context injected into extra by middleware
|
|
105
|
+
* @public
|
|
106
|
+
*/
|
|
107
|
+
export interface AuthContext {
|
|
108
|
+
/**
|
|
109
|
+
* Microsoft Graph AuthenticationProvider ready for Graph SDK
|
|
110
|
+
* GUARANTEED to exist when handler runs
|
|
111
|
+
*/
|
|
112
|
+
auth: MicrosoftAuthProvider;
|
|
113
|
+
/**
|
|
114
|
+
* Account being used (for logging, debugging)
|
|
115
|
+
*/
|
|
116
|
+
accountId: string;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Enriched extra with guaranteed auth context and logger
|
|
120
|
+
* Handlers receive this type - never plain RequestHandlerExtra
|
|
121
|
+
* @public
|
|
122
|
+
*/
|
|
123
|
+
export interface EnrichedExtra extends RequestHandlerExtra<ServerRequest, ServerNotification> {
|
|
124
|
+
/**
|
|
125
|
+
* Auth context injected by middleware
|
|
126
|
+
* GUARANTEED to exist (middleware catches auth failures)
|
|
127
|
+
*/
|
|
128
|
+
authContext: AuthContext;
|
|
129
|
+
/**
|
|
130
|
+
* Logger injected by middleware
|
|
131
|
+
* GUARANTEED to exist
|
|
132
|
+
*/
|
|
133
|
+
logger: Logger;
|
|
134
|
+
/**
|
|
135
|
+
* HTTP request object (for HTTP transport scenarios)
|
|
136
|
+
* Optional - present when using HTTP transport with JWT/session auth
|
|
137
|
+
*/
|
|
138
|
+
req?: unknown;
|
|
139
|
+
_meta?: {
|
|
140
|
+
accountId?: string;
|
|
141
|
+
[key: string]: unknown;
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Registered client with full metadata
|
|
146
|
+
* Extends DcrClientInformation with internal timestamps
|
|
147
|
+
* @internal
|
|
148
|
+
*/
|
|
149
|
+
export interface RegisteredClient extends DcrClientInformation {
|
|
150
|
+
/** Creation timestamp (milliseconds since epoch) */
|
|
151
|
+
created_at: number;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Authorization code data structure
|
|
155
|
+
* @public
|
|
156
|
+
*/
|
|
157
|
+
export interface AuthorizationCode {
|
|
158
|
+
code: string;
|
|
159
|
+
client_id: string;
|
|
160
|
+
redirect_uri: string;
|
|
161
|
+
scope: string;
|
|
162
|
+
code_challenge?: string;
|
|
163
|
+
code_challenge_method?: string;
|
|
164
|
+
/** Microsoft provider tokens obtained during authorization */
|
|
165
|
+
providerTokens: ProviderTokens;
|
|
166
|
+
created_at: number;
|
|
167
|
+
expires_at: number;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Access token data structure
|
|
171
|
+
* @public
|
|
172
|
+
*/
|
|
173
|
+
export interface AccessToken {
|
|
174
|
+
access_token: string;
|
|
175
|
+
token_type: 'Bearer';
|
|
176
|
+
expires_in: number;
|
|
177
|
+
refresh_token?: string;
|
|
178
|
+
scope: string;
|
|
179
|
+
client_id: string;
|
|
180
|
+
/** Microsoft provider tokens */
|
|
181
|
+
providerTokens: ProviderTokens;
|
|
182
|
+
created_at: number;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Auth required response interface
|
|
186
|
+
* Re-exported from @mcp-z/oauth for consistency
|
|
187
|
+
*/
|
|
188
|
+
export type { AuthRequired, AuthRequiredBranch } from './schemas/index.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standalone types for Microsoft OAuth
|
|
3
|
+
* No dependencies on other @mcp-z packages except @mcp-z/oauth
|
|
4
|
+
*/ // Import shared types from base @mcp-z/oauth package
|
|
5
|
+
// Public types (will be re-exported)
|
|
6
|
+
// Internal-only types (not re-exported, used by providers)
|
|
7
|
+
// Re-export error class
|
|
8
|
+
export { AuthRequiredError } from '@mcp-z/oauth';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/Projects/ai/mcp-z/oauth/oauth-microsoft/src/types.ts"],"sourcesContent":["/**\n * Standalone types for Microsoft OAuth\n * No dependencies on other @mcp-z packages except @mcp-z/oauth\n */\n\n// Import shared types from base @mcp-z/oauth package\n// Public types (will be re-exported)\n// Internal-only types (not re-exported, used by providers)\nimport type { AuthFlowDescriptor, CachedToken, DcrClientInformation, DcrClientMetadata, Logger, OAuth2TokenStorageProvider, ProviderTokens, ToolHandler, ToolModule, UserAuthProvider } from '@mcp-z/oauth';\nimport type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';\nimport type { ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js';\nimport type { Keyv } from 'keyv';\n\n// Re-export only essential shared types for public API\nexport type { Logger, CachedToken, ToolModule, ProviderTokens, DcrClientMetadata, DcrClientInformation };\n\n// Re-export error class\nexport { AuthRequiredError } from '@mcp-z/oauth';\n\n// Make internal types available for internal use without exporting\nexport type { ToolHandler, AuthFlowDescriptor, OAuth2TokenStorageProvider, UserAuthProvider, RequestHandlerExtra, ServerRequest, ServerNotification };\n\n// ============================================================================\n// Core Authentication Types\n// ============================================================================\n\n/**\n * Microsoft service types that support OAuth\n * OAuth clients support all Microsoft services provided by Microsoft Graph\n * @public\n */\nexport type MicrosoftService = string;\n\n// ============================================================================\n// Configuration Types\n// ============================================================================\n\n/**\n * OAuth client configuration for upstream provider\n * @public\n */\nexport interface OAuthClientConfig {\n /** OAuth client ID for upstream provider */\n clientId: string;\n /** OAuth client secret (optional for some flows) */\n clientSecret?: string;\n /** Tenant/directory ID (for multi-tenant providers) */\n tenantId?: string;\n}\n\n/**\n * Microsoft OAuth configuration interface.\n * Contains all OAuth-related configuration from CLI arguments and environment variables.\n * @public\n */\nexport interface OAuthConfig {\n /** OAuth client ID */\n clientId: string;\n /** OAuth client secret (optional for public clients) */\n clientSecret?: string;\n /** Azure AD tenant ID */\n tenantId: string;\n /** OAuth adapter mode */\n auth: 'loopback-oauth' | 'device-code' | 'dcr';\n /** Whether to run in headless mode (no browser interaction) */\n headless: boolean;\n /** Optional redirect URI override (defaults to ephemeral loopback) */\n redirectUri?: string;\n}\n\n/**\n * DCR configuration for dynamic client registration\n * @public\n */\nexport interface DcrConfig {\n /** DCR mode: self-hosted (runs own OAuth server) or external (uses Auth0/Stitch) */\n mode: 'self-hosted' | 'external';\n /** External verification endpoint URL (required for external mode) */\n verifyUrl?: string;\n /** DCR client storage URI (required for self-hosted mode) */\n storeUri?: string;\n /** OAuth client ID for Microsoft Graph */\n clientId: string;\n /** OAuth client secret (optional for public clients) */\n clientSecret?: string;\n /** Azure AD tenant ID */\n tenantId: string;\n /** OAuth scopes to request */\n scope: string;\n /** Logger instance */\n logger?: Logger;\n}\n\n/**\n * Configuration for loopback OAuth client\n * @public\n */\nexport interface LoopbackOAuthConfig {\n /** Microsoft service type (e.g., 'outlook') */\n service: MicrosoftService;\n /** OAuth client ID */\n clientId: string;\n /** OAuth client secret (optional for public clients) */\n clientSecret?: string | undefined;\n /** Azure AD tenant ID */\n tenantId: string;\n /** OAuth scopes to request */\n scope: string;\n /** Whether to run in headless mode (no browser interaction) */\n headless: boolean;\n /** Logger instance */\n logger: Logger;\n /** Token storage */\n tokenStore: Keyv<unknown>;\n /** Optional redirect URI override (defaults to ephemeral loopback) */\n redirectUri?: string;\n}\n\n// ============================================================================\n// Middleware Types\n// ============================================================================\n\n/**\n * Microsoft Graph AuthenticationProvider interface\n * Used by Microsoft Graph SDK for API authentication\n * @public\n */\nexport interface MicrosoftAuthProvider {\n getAccessToken: () => Promise<string>;\n}\n\n/**\n * Auth context injected into extra by middleware\n * @public\n */\nexport interface AuthContext {\n /**\n * Microsoft Graph AuthenticationProvider ready for Graph SDK\n * GUARANTEED to exist when handler runs\n */\n auth: MicrosoftAuthProvider;\n\n /**\n * Account being used (for logging, debugging)\n */\n accountId: string;\n\n /**\n * User ID (multi-tenant only)\n */\n}\n\n/**\n * Enriched extra with guaranteed auth context and logger\n * Handlers receive this type - never plain RequestHandlerExtra\n * @public\n */\nexport interface EnrichedExtra extends RequestHandlerExtra<ServerRequest, ServerNotification> {\n /**\n * Auth context injected by middleware\n * GUARANTEED to exist (middleware catches auth failures)\n */\n authContext: AuthContext;\n\n /**\n * Logger injected by middleware\n * GUARANTEED to exist\n */\n logger: Logger;\n\n /**\n * HTTP request object (for HTTP transport scenarios)\n * Optional - present when using HTTP transport with JWT/session auth\n */\n req?: unknown;\n\n // Preserve backchannel support\n _meta?: {\n accountId?: string;\n [key: string]: unknown;\n };\n}\n\n// ============================================================================\n// DCR Internal Types\n// ============================================================================\n\n/**\n * Registered client with full metadata\n * Extends DcrClientInformation with internal timestamps\n * @internal\n */\nexport interface RegisteredClient extends DcrClientInformation {\n /** Creation timestamp (milliseconds since epoch) */\n created_at: number;\n}\n\n/**\n * Authorization code data structure\n * @public\n */\nexport interface AuthorizationCode {\n code: string;\n client_id: string;\n redirect_uri: string;\n scope: string;\n code_challenge?: string;\n code_challenge_method?: string;\n /** Microsoft provider tokens obtained during authorization */\n providerTokens: ProviderTokens;\n created_at: number;\n expires_at: number;\n}\n\n/**\n * Access token data structure\n * @public\n */\nexport interface AccessToken {\n access_token: string;\n token_type: 'Bearer';\n expires_in: number;\n refresh_token?: string;\n scope: string;\n client_id: string;\n /** Microsoft provider tokens */\n providerTokens: ProviderTokens;\n created_at: number;\n}\n\n// ============================================================================\n// Schema Types\n// ============================================================================\n\n/**\n * Auth required response interface\n * Re-exported from @mcp-z/oauth for consistency\n */\nexport type { AuthRequired, AuthRequiredBranch } from './schemas/index.ts';\n"],"names":["AuthRequiredError"],"mappings":"AAAA;;;CAGC,GAED,qDAAqD;AACrD,qCAAqC;AACrC,2DAA2D;AAS3D,wBAAwB;AACxB,SAASA,iBAAiB,QAAQ,eAAe"}
|
package/package.json
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mcp-z/oauth-microsoft",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "OAuth 2.0 client for Microsoft Graph with multi-account support, PKCE security, and swappable storage backends",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"oauth2",
|
|
7
|
+
"microsoft-graph",
|
|
8
|
+
"authentication",
|
|
9
|
+
"multi-account",
|
|
10
|
+
"outlook",
|
|
11
|
+
"azure-ad",
|
|
12
|
+
"msal-alternative",
|
|
13
|
+
"pkce",
|
|
14
|
+
"graph-api",
|
|
15
|
+
"token-storage"
|
|
16
|
+
],
|
|
17
|
+
"homepage": "https://github.com/mcp-z/oauth-microsoft#readme",
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/mcp-z/oauth-microsoft/issues"
|
|
20
|
+
},
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/mcp-z/oauth-microsoft.git"
|
|
24
|
+
},
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"author": "Kevin Malakoff <kmalakoff.info@gmail.com>",
|
|
27
|
+
"type": "module",
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"types": "./dist/esm/index.d.ts",
|
|
31
|
+
"import": "./dist/esm/index.js",
|
|
32
|
+
"require": "./dist/cjs/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./package.json": "./package.json"
|
|
35
|
+
},
|
|
36
|
+
"main": "./dist/cjs/index.js",
|
|
37
|
+
"module": "./dist/esm/index.js",
|
|
38
|
+
"types": "./dist/esm/index.d.ts",
|
|
39
|
+
"files": [
|
|
40
|
+
"dist"
|
|
41
|
+
],
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "tsds build",
|
|
44
|
+
"format": "tsds format",
|
|
45
|
+
"prepublish:check": "ncp",
|
|
46
|
+
"prepublishOnly": "tsds validate",
|
|
47
|
+
"test": "npm run test:unit && npm run test:integration",
|
|
48
|
+
"test:engines": "nvu engines tsds test:node --no-timeouts 'test/**/*.test.ts'",
|
|
49
|
+
"test:integration": "tsds test:node --no-timeouts 'test/integration/**/*.test.ts'",
|
|
50
|
+
"test:setup": "node --env-file=.env.test test/lib/setup-token.ts",
|
|
51
|
+
"test:unit": "tsds test:node --no-timeouts 'test/unit/**/*.test.ts'",
|
|
52
|
+
"version": "tsds version"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@mcp-z/oauth": "^1.0.0",
|
|
56
|
+
"express": "^5.0.0",
|
|
57
|
+
"open": "^11.0.0",
|
|
58
|
+
"zod": "^4.0.0"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@mcp-z/client": "^1.0.0",
|
|
62
|
+
"@microsoft/microsoft-graph-client": "^3.0.7",
|
|
63
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
64
|
+
"@types/cors": "^2.8.19",
|
|
65
|
+
"@types/express": "^5.0.6",
|
|
66
|
+
"@types/mocha": "^10.0.10",
|
|
67
|
+
"@types/node": "^25.0.2",
|
|
68
|
+
"cors": "^2.0.0",
|
|
69
|
+
"dotenv": "^17.2.3",
|
|
70
|
+
"get-port": "^7.1.0",
|
|
71
|
+
"keyv": "^5.5.5",
|
|
72
|
+
"keyv-file": "^5.3.3",
|
|
73
|
+
"node-version-use": "^2.1.6",
|
|
74
|
+
"ts-dev-stack": "^1.21.3",
|
|
75
|
+
"tsds-config": "^1.0.0",
|
|
76
|
+
"typescript": "^5.9.3"
|
|
77
|
+
},
|
|
78
|
+
"peerDependencies": {
|
|
79
|
+
"keyv": "^5.5.5"
|
|
80
|
+
},
|
|
81
|
+
"engines": {
|
|
82
|
+
"node": ">=24"
|
|
83
|
+
},
|
|
84
|
+
"tsds": {
|
|
85
|
+
"source": "src/index.ts"
|
|
86
|
+
}
|
|
87
|
+
}
|