@vibeframe/mcp-server 0.43.0 → 0.46.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/dist/index.js +22 -7
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -8049,15 +8049,30 @@ function authError(envVar, provider) {
|
|
|
8049
8049
|
};
|
|
8050
8050
|
}
|
|
8051
8051
|
var PROVIDER_ERROR_HINTS = [
|
|
8052
|
+
// Rate limits / quota
|
|
8052
8053
|
{ pattern: /429|rate.?limit|too many requests/i, suggestion: "Rate limited. Wait 30-60 seconds and retry, or check your plan's rate limits.", retryable: true },
|
|
8053
|
-
{ pattern: /
|
|
8054
|
-
|
|
8055
|
-
{ pattern: /
|
|
8054
|
+
{ pattern: /RESOURCE_EXHAUSTED|quota.*exceeded|requests.*per.*(minute|day)/i, suggestion: "Quota exceeded. Wait for the quota window to reset, or upgrade your plan. Consider -p <other-provider> to use a different provider.", retryable: true },
|
|
8055
|
+
// Auth
|
|
8056
|
+
{ pattern: /401|unauthorized|invalid.*api.?key|authentication.*(failed|error)|missing.*api.?key/i, suggestion: "API key is invalid or expired. Run 'vibe setup' to update, or check the key at the provider's dashboard.", retryable: false },
|
|
8057
|
+
{ pattern: /403|forbidden|permission.*denied/i, suggestion: "Access denied. Your API key may lack required permissions, or the feature requires a paid plan.", retryable: false },
|
|
8058
|
+
// Billing
|
|
8059
|
+
{ pattern: /402|payment.*required|billing|INSUFFICIENT_BALANCE|insufficient.*(credit|funds|balance)|credits?.*exhausted/i, suggestion: "Account balance or credits exhausted. Top up at the provider dashboard, or try -p <other-provider>.", retryable: false },
|
|
8060
|
+
// Server
|
|
8056
8061
|
{ pattern: /500|internal.*error|server.*error/i, suggestion: "Provider server error. Retry in a few minutes.", retryable: true },
|
|
8057
|
-
{ pattern: /503|service.*unavailable|overloaded/i, suggestion: "Provider is temporarily overloaded. Retry in 1-2 minutes.", retryable: true },
|
|
8058
|
-
{ pattern: /timeout|timed?\s*out|ETIMEDOUT/i, suggestion: "Request timed out. The provider may be slow. Retry, or try a different provider with -p flag.", retryable: true },
|
|
8059
|
-
|
|
8060
|
-
{ pattern: /
|
|
8062
|
+
{ pattern: /503|service.*unavailable|overloaded|overloaded_error/i, suggestion: "Provider is temporarily overloaded. Retry in 1-2 minutes, or switch provider with -p.", retryable: true },
|
|
8063
|
+
{ pattern: /timeout|timed?\s*out|ETIMEDOUT|ECONNRESET|socket.*hang.?up/i, suggestion: "Request timed out. The provider may be slow. Retry, or try a different provider with -p flag.", retryable: true },
|
|
8064
|
+
// Content policy
|
|
8065
|
+
{ pattern: /content.*(policy|filter)|safety|moderation|blocked.*(by|due)|content_policy_violation|restricted.*content/i, suggestion: "Content was blocked by the provider's safety filter. Rephrase your prompt to avoid sensitive terms.", retryable: false },
|
|
8066
|
+
// Model / context
|
|
8067
|
+
{ pattern: /context_length_exceeded|maximum.*context.*length|token.*limit.*exceeded|prompt.*too.*long/i, suggestion: "Input exceeds the model's context window. Shorten the prompt, or use a model with larger context (run 'vibe schema <command>' for options).", retryable: false },
|
|
8068
|
+
{ pattern: /model.*not.*found|invalid.*model|unknown.*model|model_not_found/i, suggestion: "The specified model is unavailable. Check 'vibe schema <command>' for valid model options.", retryable: false },
|
|
8069
|
+
// Provider-specific
|
|
8070
|
+
{ pattern: /voice.*not.*found|voice_not_found|invalid.*voice.?id/i, suggestion: "Voice ID not found. Run 'vibe audio voices' to list available voices, then pass --voice <id>.", retryable: false },
|
|
8071
|
+
{ pattern: /character.*(count|limit).*exceeded|invalid_character_count/i, suggestion: "Text exceeds the TTS provider's character limit. Shorten the text or split into chunks.", retryable: false },
|
|
8072
|
+
{ pattern: /invalid.*aspect.*ratio|unsupported.*aspect.*ratio|unsupported.*resolution/i, suggestion: "This aspect ratio or resolution isn't supported by the chosen model. Check 'vibe schema <command>' for supported values.", retryable: false },
|
|
8073
|
+
{ pattern: /invalid.*file.*format|unsupported.*(format|codec)|unsupported.*media.?type/i, suggestion: "Input file format not supported. Convert to MP4/MP3/PNG first with 'vibe export' or 'ffmpeg'.", retryable: false },
|
|
8074
|
+
{ pattern: /region.*(restriction|not.*supported|unavailable)|geo.?blocked/i, suggestion: "Provider unavailable in your region. Try -p <other-provider>, or use a supported region.", retryable: false },
|
|
8075
|
+
{ pattern: /task.*(not.*found|expired)|job.*(not.*found|expired)/i, suggestion: "The async task expired or was never created. Re-run the command to start a new task.", retryable: true }
|
|
8061
8076
|
];
|
|
8062
8077
|
function apiError(msg, retryable = false) {
|
|
8063
8078
|
for (const hint of PROVIDER_ERROR_HINTS) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"description": "VibeFrame MCP Server - AI-native video editing via Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"tsx": "^4.21.0",
|
|
58
58
|
"typescript": "^5.3.3",
|
|
59
59
|
"vitest": "^1.2.2",
|
|
60
|
-
"@vibeframe/cli": "0.
|
|
61
|
-
"@vibeframe/core": "0.
|
|
60
|
+
"@vibeframe/cli": "0.46.0",
|
|
61
|
+
"@vibeframe/core": "0.46.0"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
64
|
"node": ">=20"
|