morpheus-cli 0.3.6 → 0.3.8

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.
@@ -21,6 +21,7 @@ export class TelegramAdapter {
21
21
  oracle;
22
22
  telephonist = null;
23
23
  telephonistProvider = null;
24
+ telephonistModel = null;
24
25
  history = new SQLiteChatMessageHistory({ sessionId: '' });
25
26
  HELP_MESSAGE = `/start - Show this welcome message and available commands
26
27
  /status - Check the status of the Morpheus agent
@@ -106,9 +107,10 @@ export class TelegramAdapter {
106
107
  await ctx.reply(`Audio transcription requires an API key for provider '${config.audio.provider}'. Please configure \`audio.apiKey\` or use the same provider as your LLM.`);
107
108
  return;
108
109
  }
109
- if (!this.telephonist || this.telephonistProvider !== config.audio.provider) {
110
+ if (!this.telephonist || this.telephonistProvider !== config.audio.provider || this.telephonistModel !== config.audio.model) {
110
111
  this.telephonist = createTelephonist(config.audio);
111
112
  this.telephonistProvider = config.audio.provider;
113
+ this.telephonistModel = config.audio.model;
112
114
  }
113
115
  const duration = ctx.message.voice.duration;
114
116
  if (duration > config.audio.maxDurationSeconds) {
@@ -70,11 +70,14 @@ export class ConfigManager {
70
70
  };
71
71
  }
72
72
  // Apply precedence to audio config
73
+ const audioProvider = resolveString('MORPHEUS_AUDIO_PROVIDER', config.audio.provider, DEFAULT_CONFIG.audio.provider);
74
+ // AudioProvider uses 'google' but resolveApiKey expects LLMProvider which uses 'gemini'
75
+ const audioProviderForKey = (audioProvider === 'google' ? 'gemini' : audioProvider);
73
76
  const audioConfig = {
74
- provider: config.audio.provider, // Audio provider is fixed as 'google'
77
+ provider: audioProvider,
75
78
  model: resolveString('MORPHEUS_AUDIO_MODEL', config.audio.model, DEFAULT_CONFIG.audio.model),
76
79
  enabled: resolveBoolean('MORPHEUS_AUDIO_ENABLED', config.audio.enabled, DEFAULT_CONFIG.audio.enabled),
77
- apiKey: resolveApiKey('gemini', 'MORPHEUS_AUDIO_API_KEY', config.audio.apiKey),
80
+ apiKey: resolveApiKey(audioProviderForKey, 'MORPHEUS_AUDIO_API_KEY', config.audio.apiKey),
78
81
  maxDurationSeconds: resolveNumeric('MORPHEUS_AUDIO_MAX_DURATION', config.audio.maxDurationSeconds, DEFAULT_CONFIG.audio.maxDurationSeconds),
79
82
  supportedMimeTypes: config.audio.supportedMimeTypes
80
83
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "morpheus-cli",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "description": "Morpheus is a local AI agent for developers, running as a CLI daemon that connects to LLMs, local tools, and MCPs, enabling interaction via Terminal, Telegram, and Discord. Inspired by the character Morpheus from *The Matrix*, the project acts as an intelligent orchestrator, bridging the gap between the developer and complex systems.",
5
5
  "bin": {
6
6
  "morpheus": "./bin/morpheus.js"
@@ -53,7 +53,8 @@
53
53
  "telegraf": "^4.16.3",
54
54
  "winston": "^3.19.0",
55
55
  "winston-daily-rotate-file": "^5.0.0",
56
- "zod": "^4.3.6"
56
+ "zod": "^4.3.6",
57
+ "mcp-remote": "^0.1.38"
57
58
  },
58
59
  "devDependencies": {
59
60
  "@types/body-parser": "^1.19.6",