mumucc 0.1.6 → 0.1.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mumucc",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Open-source AI coding assistant CLI with multi-model support (Anthropic, OpenAI/GPT, DeepSeek, GLM, Ollama, etc.), MCP integration, agent swarms, and out-of-the-box developer experience.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/shims/globals.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  ;(globalThis as any).MACRO = {
7
- VERSION: '0.1.6-mumucc',
7
+ VERSION: '0.1.7-mumucc',
8
8
  VERSION_CHANGELOG: '{}',
9
9
  BUILD_TIME: new Date().toISOString(),
10
10
  PACKAGE_URL: 'https://github.com/mumuxsy/mumucc',
@@ -1,6 +1,7 @@
1
1
  // biome-ignore-all assist/source/organizeImports: ANT-ONLY import markers must not be reordered
2
2
  import { getInitialMainLoopModel } from '../../bootstrap/state.js'
3
3
  import {
4
+ getAnthropicApiKey,
4
5
  isClaudeAISubscriber,
5
6
  isMaxSubscriber,
6
7
  isTeamPremiumSubscriber,
@@ -270,6 +271,18 @@ function getOpusPlanOption(): ModelOption {
270
271
  // @[MODEL LAUNCH]: Update the model picker lists below to include/reorder options for the new model.
271
272
  // Each user tier (ant, Max/Team Premium, Pro/Team Standard/Enterprise, PAYG 1P, PAYG 3P) has its own list.
272
273
  function getModelOptionsBase(fastMode = false): ModelOption[] {
274
+ // If no Anthropic auth is configured (no API key, no OAuth token),
275
+ // skip Anthropic models entirely — user only sees third-party models
276
+ // from providers they've configured via /login.
277
+ const hasAnthropicAuth =
278
+ !!getAnthropicApiKey() ||
279
+ !!process.env.CLAUDE_CODE_USE_BEDROCK ||
280
+ !!process.env.CLAUDE_CODE_USE_VERTEX ||
281
+ !!process.env.CLAUDE_CODE_USE_FOUNDRY
282
+ if (!hasAnthropicAuth) {
283
+ return []
284
+ }
285
+
273
286
  if (process.env.USER_TYPE === 'ant') {
274
287
  // Build options from antModels config
275
288
  const antModelOptions: ModelOption[] = getAntModels().map(m => ({
@@ -245,6 +245,11 @@ export function getAllThirdPartyModels(): Array<{
245
245
  }> = []
246
246
 
247
247
  for (const provider of providers) {
248
+ // Only show models from providers that have a configured API key.
249
+ // This filters /model to only display models the user can actually use.
250
+ const resolved = getResolvedProvider(provider.id)
251
+ if (!resolved) continue
252
+
248
253
  for (const model of provider.models) {
249
254
  models.push({
250
255
  qualifiedId: `${provider.id}${PROVIDER_MODEL_SEPARATOR}${model.id}`,