@kya-os/mcp-i-core 1.3.0 → 1.3.1

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.
@@ -17,7 +17,7 @@ import type { OAuthConfigService } from "./oauth-config.service.js";
17
17
  * Priority order:
18
18
  * 1. Tool-specific oauthProvider field (Phase 2+ preferred)
19
19
  * 2. Scope prefix inference (fallback)
20
- * 3. First configured provider (Phase 1 compatibility fallback)
20
+ * 3. Project-configured provider from AgentShield dashboard
21
21
  * 4. Error if no provider can be resolved
22
22
  */
23
23
  export class ProviderResolver {
@@ -70,25 +70,27 @@ export class ProviderResolver {
70
70
  }
71
71
  }
72
72
 
73
- // Priority 3: First configured provider (Phase 1 compatibility fallback)
74
- // Ensure registry is loaded
73
+ // Priority 3: Use explicitly configured provider from AgentShield dashboard
74
+ // This is the provider the user has actually configured, not just any available provider
75
75
  await this.registry.loadFromAgentShield(projectId);
76
- const providers = this.registry.getAllProviders();
77
- if (providers.length > 0) {
78
- // Log deprecation warning for Phase 1 tools
79
- const firstProviderName = this.registry.getProviderNames()[0];
76
+ const configuredProvider = this.registry.getConfiguredProvider();
77
+
78
+ if (configuredProvider && this.registry.hasProvider(configuredProvider)) {
80
79
  console.warn(
81
80
  `[ProviderResolver] Tool does not specify oauthProvider. ` +
82
- `Using first configured provider "${firstProviderName}" as fallback. ` +
83
- `This is deprecated - configure oauthProvider in AgentShield dashboard for Phase 2+.`
81
+ `Using project-configured provider "${configuredProvider}" as fallback. ` +
82
+ `Consider explicitly setting oauthProvider in tool protection config.`
84
83
  );
85
- return firstProviderName;
84
+ return configuredProvider;
86
85
  }
87
86
 
88
- // Priority 4: Error if no provider can be resolved
87
+ // Priority 4: Error if no provider is configured
88
+ // NOTE: We intentionally do NOT fall back to "first available provider" anymore
89
+ // because AgentShield returns ALL providers (even unconfigured ones).
90
+ // Only use providers explicitly configured by the user.
89
91
  throw new Error(
90
- `Tool requires OAuth but no provider could be resolved. ` +
91
- `Either specify oauthProvider in tool protection config, or configure at least one provider for project "${projectId}".`
92
+ `Tool requires OAuth but no provider is configured for project "${projectId}". ` +
93
+ `Configure an OAuth provider in AgentShield dashboard.`
92
94
  );
93
95
  }
94
96