@lindblad/complai-mcp 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkce-auth.js","sourceRoot":"","sources":["../../src/auth/pkce-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { ComplaiConfig } from '../types.js';
2
+ /**
3
+ * Authentication mode
4
+ */
5
+ export type AuthMode = 'm2m' | 'user';
6
+ /**
7
+ * Unified token manager supporting both M2M and user (PKCE) authentication
8
+ */
9
+ export declare class TokenManager {
10
+ private readonly config;
11
+ private cachedToken;
12
+ private readonly bufferSeconds;
13
+ private readonly authMode;
14
+ private readonly pkceManager?;
15
+ constructor(config: ComplaiConfig);
16
+ /**
17
+ * Get the current authentication mode
18
+ */
19
+ getAuthMode(): AuthMode;
20
+ /**
21
+ * Check if user is authenticated (for user auth mode)
22
+ */
23
+ isAuthenticated(): boolean;
24
+ /**
25
+ * Get a valid access token
26
+ */
27
+ getToken(): Promise<string>;
28
+ /**
29
+ * Force refresh the token
30
+ */
31
+ refreshToken(): Promise<string>;
32
+ /**
33
+ * Perform interactive login (PKCE flow)
34
+ */
35
+ login(): Promise<void>;
36
+ /**
37
+ * Perform interactive login with a specific organization (PKCE flow)
38
+ * This gets an org-scoped token with org_id claim
39
+ */
40
+ loginWithOrganization(organizationId: string): Promise<void>;
41
+ /**
42
+ * Clear stored credentials (logout)
43
+ */
44
+ logout(): void;
45
+ /**
46
+ * Invalidate the cached token
47
+ */
48
+ invalidate(): void;
49
+ /**
50
+ * Refresh token using M2M client credentials
51
+ */
52
+ private refreshM2MToken;
53
+ /**
54
+ * Check if a cached token is still valid
55
+ */
56
+ private isTokenValid;
57
+ }
58
+ //# sourceMappingURL=token-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../src/auth/token-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmC,MAAM,aAAa,CAAC;AAG7E;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtC;;GAEG;AACH,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAM;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAkB;gBAElB,MAAM,EAAE,aAAa;IAelD;;OAEG;IACH,WAAW,IAAI,QAAQ;IAIvB;;OAEG;IACH,eAAe,IAAI,OAAO;IAO1B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAYjC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAKrC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;;OAGG;IACG,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlE;;OAEG;IACH,MAAM,IAAI,IAAI;IAOd;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;YACW,eAAe;IA6B7B;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB"}
@@ -0,0 +1,131 @@
1
+ import { PkceAuthManager } from './pkce-auth.js';
2
+ /**
3
+ * Unified token manager supporting both M2M and user (PKCE) authentication
4
+ */
5
+ export class TokenManager {
6
+ config;
7
+ cachedToken = null;
8
+ bufferSeconds = 60;
9
+ authMode;
10
+ pkceManager;
11
+ constructor(config) {
12
+ this.config = config;
13
+ // Determine auth mode based on config
14
+ if (config.auth0.clientSecret) {
15
+ this.authMode = 'm2m';
16
+ }
17
+ else {
18
+ this.authMode = 'user';
19
+ this.pkceManager = new PkceAuthManager({
20
+ domain: config.auth0.domain,
21
+ clientId: config.auth0.clientId,
22
+ audience: config.auth0.audience,
23
+ organizationId: config.api.organizationId,
24
+ });
25
+ }
26
+ }
27
+ /**
28
+ * Get the current authentication mode
29
+ */
30
+ getAuthMode() {
31
+ return this.authMode;
32
+ }
33
+ /**
34
+ * Check if user is authenticated (for user auth mode)
35
+ */
36
+ isAuthenticated() {
37
+ if (this.authMode === 'm2m') {
38
+ return true; // M2M is always "authenticated" if config is valid
39
+ }
40
+ return this.pkceManager?.isAuthenticated() ?? false;
41
+ }
42
+ /**
43
+ * Get a valid access token
44
+ */
45
+ async getToken() {
46
+ if (this.authMode === 'm2m') {
47
+ // Check cached token
48
+ if (this.cachedToken && this.isTokenValid(this.cachedToken)) {
49
+ return this.cachedToken.token;
50
+ }
51
+ return this.refreshM2MToken();
52
+ }
53
+ else {
54
+ return this.pkceManager.getAccessToken();
55
+ }
56
+ }
57
+ /**
58
+ * Force refresh the token
59
+ */
60
+ async refreshToken() {
61
+ this.invalidate();
62
+ return this.getToken();
63
+ }
64
+ /**
65
+ * Perform interactive login (PKCE flow)
66
+ */
67
+ async login() {
68
+ if (this.authMode === 'm2m') {
69
+ throw new Error('Login not available in M2M mode');
70
+ }
71
+ await this.pkceManager.login();
72
+ }
73
+ /**
74
+ * Perform interactive login with a specific organization (PKCE flow)
75
+ * This gets an org-scoped token with org_id claim
76
+ */
77
+ async loginWithOrganization(organizationId) {
78
+ if (this.authMode === 'm2m') {
79
+ throw new Error('Login not available in M2M mode');
80
+ }
81
+ await this.pkceManager.loginWithOrganization(organizationId);
82
+ }
83
+ /**
84
+ * Clear stored credentials (logout)
85
+ */
86
+ logout() {
87
+ this.cachedToken = null;
88
+ if (this.authMode === 'user' && this.pkceManager) {
89
+ this.pkceManager.logout();
90
+ }
91
+ }
92
+ /**
93
+ * Invalidate the cached token
94
+ */
95
+ invalidate() {
96
+ this.cachedToken = null;
97
+ }
98
+ /**
99
+ * Refresh token using M2M client credentials
100
+ */
101
+ async refreshM2MToken() {
102
+ const { domain, clientId, clientSecret, audience } = this.config.auth0;
103
+ const response = await fetch(`https://${domain}/oauth/token`, {
104
+ method: 'POST',
105
+ headers: { 'Content-Type': 'application/json' },
106
+ body: JSON.stringify({
107
+ grant_type: 'client_credentials',
108
+ client_id: clientId,
109
+ client_secret: clientSecret,
110
+ audience: audience,
111
+ }),
112
+ });
113
+ if (!response.ok) {
114
+ const error = await response.text();
115
+ throw new Error(`Authentication failed: ${error}`);
116
+ }
117
+ const data = (await response.json());
118
+ this.cachedToken = {
119
+ token: data.access_token,
120
+ expiresAt: Date.now() + data.expires_in * 1000,
121
+ };
122
+ return data.access_token;
123
+ }
124
+ /**
125
+ * Check if a cached token is still valid
126
+ */
127
+ isTokenValid(token) {
128
+ return token.expiresAt > Date.now() + this.bufferSeconds * 1000;
129
+ }
130
+ }
131
+ //# sourceMappingURL=token-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../src/auth/token-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { ComplaiConfig } from '../types.js';
2
+ /**
3
+ * Load configuration with sensible defaults.
4
+ * Priority: Environment variables > Config file > Production defaults
5
+ *
6
+ * Two authentication modes are supported:
7
+ * 1. M2M (Machine-to-Machine): Requires COMPLAI_AUTH0_CLIENT_SECRET
8
+ * 2. User (Device Flow): No client secret needed, user authenticates via browser
9
+ */
10
+ export declare function loadConfig(): ComplaiConfig;
11
+ /**
12
+ * Validate that all required config values are present
13
+ * Note: clientSecret is optional - if missing, uses device auth flow
14
+ * Note: organizationId is optional - if missing, user selects org via tool
15
+ */
16
+ export declare function validateConfig(config: ComplaiConfig): void;
17
+ /**
18
+ * Get auth mode description for logging
19
+ */
20
+ export declare function getAuthModeDescription(config: ComplaiConfig): string;
21
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiB5C;;;;;;;GAOG;AACH,wBAAgB,UAAU,IAAI,aAAa,CAoB1C;AAyFD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAgB1D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAKpE"}
@@ -0,0 +1,152 @@
1
+ import { readFileSync, existsSync } from 'node:fs';
2
+ /**
3
+ * Default configuration - public test environment
4
+ * Users can override via environment variables if needed
5
+ */
6
+ const DEFAULTS = {
7
+ auth0: {
8
+ domain: 'login.test.complai.com',
9
+ clientId: '3UNdU67rLJnWTcfUksJETLAqpjO5k3xe',
10
+ audience: '3UNdU67rLJnWTcfUksJETLAqpjO5k3xe',
11
+ },
12
+ api: {
13
+ baseUrl: 'https://api.k8s.complai.com',
14
+ },
15
+ };
16
+ /**
17
+ * Load configuration with sensible defaults.
18
+ * Priority: Environment variables > Config file > Production defaults
19
+ *
20
+ * Two authentication modes are supported:
21
+ * 1. M2M (Machine-to-Machine): Requires COMPLAI_AUTH0_CLIENT_SECRET
22
+ * 2. User (Device Flow): No client secret needed, user authenticates via browser
23
+ */
24
+ export function loadConfig() {
25
+ // Start with defaults (test environment)
26
+ let config = getDefaults();
27
+ // Override with config file if it exists
28
+ const configPath = process.env.COMPLAI_CONFIG_PATH || '~/.complai/mcp-config.json';
29
+ const resolvedPath = configPath.replace('~', process.env.HOME || '');
30
+ if (existsSync(resolvedPath)) {
31
+ try {
32
+ const fileConfig = loadFromFile(resolvedPath);
33
+ config = mergeConfig(config, fileConfig);
34
+ }
35
+ catch {
36
+ // Ignore file errors, use defaults
37
+ }
38
+ }
39
+ // Override with environment variables (highest priority)
40
+ config = mergeWithEnv(config);
41
+ return config;
42
+ }
43
+ /**
44
+ * Get default configuration
45
+ */
46
+ function getDefaults() {
47
+ return {
48
+ auth0: {
49
+ domain: DEFAULTS.auth0.domain,
50
+ clientId: DEFAULTS.auth0.clientId,
51
+ audience: DEFAULTS.auth0.audience,
52
+ },
53
+ api: {
54
+ baseUrl: DEFAULTS.api.baseUrl,
55
+ },
56
+ cache: {
57
+ tokenTtlSeconds: 3600,
58
+ },
59
+ };
60
+ }
61
+ /**
62
+ * Merge environment variables on top of existing config
63
+ */
64
+ function mergeWithEnv(config) {
65
+ const domain = process.env.COMPLAI_AUTH0_DOMAIN;
66
+ const clientId = process.env.COMPLAI_AUTH0_CLIENT_ID;
67
+ const clientSecret = process.env.COMPLAI_AUTH0_CLIENT_SECRET;
68
+ const audience = process.env.COMPLAI_AUTH0_AUDIENCE;
69
+ const apiUrl = process.env.COMPLAI_API_URL;
70
+ const orgId = process.env.COMPLAI_ORGANIZATION_ID;
71
+ const tokenTtl = process.env.COMPLAI_TOKEN_TTL;
72
+ return {
73
+ auth0: {
74
+ domain: domain || config.auth0.domain,
75
+ clientId: clientId || config.auth0.clientId,
76
+ clientSecret: clientSecret || config.auth0.clientSecret,
77
+ audience: audience || config.auth0.audience,
78
+ },
79
+ api: {
80
+ baseUrl: apiUrl || config.api.baseUrl,
81
+ organizationId: orgId || config.api.organizationId,
82
+ },
83
+ cache: {
84
+ tokenTtlSeconds: tokenTtl ? parseInt(tokenTtl, 10) : (config.cache?.tokenTtlSeconds ?? 3600),
85
+ },
86
+ };
87
+ }
88
+ /**
89
+ * Merge two configs, with second taking precedence
90
+ */
91
+ function mergeConfig(base, override) {
92
+ return {
93
+ auth0: {
94
+ domain: override.auth0?.domain || base.auth0.domain,
95
+ clientId: override.auth0?.clientId || base.auth0.clientId,
96
+ clientSecret: override.auth0?.clientSecret || base.auth0.clientSecret,
97
+ audience: override.auth0?.audience || base.auth0.audience,
98
+ },
99
+ api: {
100
+ baseUrl: override.api?.baseUrl || base.api.baseUrl,
101
+ organizationId: override.api?.organizationId || base.api.organizationId,
102
+ },
103
+ cache: {
104
+ tokenTtlSeconds: override.cache?.tokenTtlSeconds ?? base.cache?.tokenTtlSeconds ?? 3600,
105
+ },
106
+ };
107
+ }
108
+ /**
109
+ * Load configuration from a JSON file
110
+ */
111
+ function loadFromFile(configPath) {
112
+ const resolvedPath = configPath.replace('~', process.env.HOME || '');
113
+ try {
114
+ const content = readFileSync(resolvedPath, 'utf-8');
115
+ return JSON.parse(content);
116
+ }
117
+ catch (error) {
118
+ throw new Error(`Cannot load config from ${resolvedPath}. ` +
119
+ `Either set environment variables (COMPLAI_AUTH0_DOMAIN, etc.) or create a config file. ` +
120
+ `Error: ${error instanceof Error ? error.message : String(error)}`);
121
+ }
122
+ }
123
+ /**
124
+ * Validate that all required config values are present
125
+ * Note: clientSecret is optional - if missing, uses device auth flow
126
+ * Note: organizationId is optional - if missing, user selects org via tool
127
+ */
128
+ export function validateConfig(config) {
129
+ const required = [
130
+ ['auth0.domain', config.auth0?.domain],
131
+ ['auth0.clientId', config.auth0?.clientId],
132
+ ['auth0.audience', config.auth0?.audience],
133
+ ['api.baseUrl', config.api?.baseUrl],
134
+ // organizationId is now optional for multi-org support
135
+ ];
136
+ const missing = required
137
+ .filter(([, value]) => !value)
138
+ .map(([name]) => name);
139
+ if (missing.length > 0) {
140
+ throw new Error(`Missing required configuration: ${missing.join(', ')}`);
141
+ }
142
+ }
143
+ /**
144
+ * Get auth mode description for logging
145
+ */
146
+ export function getAuthModeDescription(config) {
147
+ if (config.auth0.clientSecret) {
148
+ return 'M2M (Machine-to-Machine)';
149
+ }
150
+ return 'User (Device Flow)';
151
+ }
152
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}