@kolbo/mcp 1.75.7 → 1.75.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.
package/package.json CHANGED
@@ -1,65 +1,65 @@
1
- {
2
- "name": "@kolbo/mcp",
3
- "version": "1.75.7",
4
- "description": "Kolbo AI MCP Server - Generate images, videos, music, speech, and sound effects from Claude Code",
5
- "main": "src/index.js",
6
- "bin": {
7
- "kolbo-mcp": "./bin/kolbo-mcp.js"
8
- },
9
- "scripts": {
10
- "start": "node src/index.js",
11
- "smoke": "node scripts/smoke.js",
12
- "check-skill-bundle": "node scripts/check-skill-bundle.js",
13
- "check-parity": "node scripts/check-parity.js",
14
- "prepublishOnly": "node scripts/smoke.js && node scripts/check-skill-bundle.js && node scripts/check-parity.js && node scripts/check-widget-fields.js && node scripts/check-widget-render.js && node scripts/check-model-catalog.js && node scripts/check-skill-tools.js && node scripts/check-submission-contract.js && node scripts/check-install.js",
15
- "check-model-catalog": "node scripts/check-model-catalog.js",
16
- "check-widget-fields": "node scripts/check-widget-fields.js",
17
- "check-widget-render": "node scripts/check-widget-render.js",
18
- "check-skill-tools": "node scripts/check-skill-tools.js",
19
- "check-submission-contract": "node scripts/check-submission-contract.js",
20
- "generate-chatgpt-submission": "node scripts/generate-chatgpt-submission.js",
21
- "check-install": "node scripts/check-install.js"
22
- },
23
- "keywords": [
24
- "kolbo",
25
- "mcp",
26
- "ai",
27
- "image-generation",
28
- "video-generation",
29
- "music-generation",
30
- "text-to-speech",
31
- "claude-code",
32
- "claude-desktop",
33
- "model-context-protocol"
34
- ],
35
- "license": "MIT",
36
- "repository": {
37
- "type": "git",
38
- "url": "https://github.com/Zoharvan12/kolbo-mcp"
39
- },
40
- "homepage": "https://docs.kolbo.ai/developer-api/claude-code-skill",
41
- "author": "Kolbo AI <support@kolbo.ai>",
42
- "publishConfig": {
43
- "access": "public"
44
- },
45
- "files": [
46
- "src/",
47
- "bin/",
48
- "skill/",
49
- "README.md"
50
- ],
51
- "dependencies": {
52
- "@modelcontextprotocol/ext-apps": "^1.7.4",
53
- "@modelcontextprotocol/sdk": "1.29.0",
54
- "form-data": "^4.0.6",
55
- "zod": "^3.25.0"
56
- },
57
- "overrides": {
58
- "hono": "^4.12.12",
59
- "@hono/node-server": "^1.19.13",
60
- "path-to-regexp": "^8.4.2"
61
- },
62
- "engines": {
63
- "node": ">=18.0.0"
64
- }
65
- }
1
+ {
2
+ "name": "@kolbo/mcp",
3
+ "version": "1.75.8",
4
+ "description": "Kolbo AI MCP Server - Generate images, videos, music, speech, and sound effects from Claude Code",
5
+ "main": "src/index.js",
6
+ "bin": {
7
+ "kolbo-mcp": "./bin/kolbo-mcp.js"
8
+ },
9
+ "scripts": {
10
+ "start": "node src/index.js",
11
+ "smoke": "node scripts/smoke.js",
12
+ "check-skill-bundle": "node scripts/check-skill-bundle.js",
13
+ "check-parity": "node scripts/check-parity.js",
14
+ "prepublishOnly": "node scripts/smoke.js && node scripts/check-skill-bundle.js && node scripts/check-parity.js && node scripts/check-widget-fields.js && node scripts/check-widget-render.js && node scripts/check-model-catalog.js && node scripts/check-skill-tools.js && node scripts/check-submission-contract.js && node scripts/check-install.js",
15
+ "check-model-catalog": "node scripts/check-model-catalog.js",
16
+ "check-widget-fields": "node scripts/check-widget-fields.js",
17
+ "check-widget-render": "node scripts/check-widget-render.js",
18
+ "check-skill-tools": "node scripts/check-skill-tools.js",
19
+ "check-submission-contract": "node scripts/check-submission-contract.js",
20
+ "generate-chatgpt-submission": "node scripts/generate-chatgpt-submission.js",
21
+ "check-install": "node scripts/check-install.js"
22
+ },
23
+ "keywords": [
24
+ "kolbo",
25
+ "mcp",
26
+ "ai",
27
+ "image-generation",
28
+ "video-generation",
29
+ "music-generation",
30
+ "text-to-speech",
31
+ "claude-code",
32
+ "claude-desktop",
33
+ "model-context-protocol"
34
+ ],
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/Zoharvan12/kolbo-mcp"
39
+ },
40
+ "homepage": "https://docs.kolbo.ai/developer-api/claude-code-skill",
41
+ "author": "Kolbo AI <support@kolbo.ai>",
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
45
+ "files": [
46
+ "src/",
47
+ "bin/",
48
+ "skill/",
49
+ "README.md"
50
+ ],
51
+ "dependencies": {
52
+ "@modelcontextprotocol/ext-apps": "^1.7.4",
53
+ "@modelcontextprotocol/sdk": "1.29.0",
54
+ "form-data": "^4.0.6",
55
+ "zod": "^3.25.0"
56
+ },
57
+ "overrides": {
58
+ "hono": "^4.12.12",
59
+ "@hono/node-server": "^1.19.13",
60
+ "path-to-regexp": "^8.4.2"
61
+ },
62
+ "engines": {
63
+ "node": ">=18.0.0"
64
+ }
65
+ }
@@ -295,10 +295,37 @@ function upload(it) {
295
295
  var xhr = new XMLHttpRequest();
296
296
  xhr.open('POST', state.upload_url, true);
297
297
  xhr.setRequestHeader('Authorization', 'Bearer ' + state.token);
298
+ // A stalled upload used to sit at N% forever: there was no timeout and no
299
+ // ontimeout/onabort handler, only onload/onerror. A file above the CDN body
300
+ // cap in front of the API dies exactly this way — the edge sees Content-Length,
301
+ // kills the connection a few percent in, and the browser never reports it, so
302
+ // the row froze at 1% with no error and no retry. Watch PROGRESS rather than
303
+ // total elapsed time, so a genuinely slow large upload is never punished.
304
+ var STALL_MS = 90000;
305
+ var lastTick = Date.now();
306
+ var stalled = false;
307
+ var watchdog = setInterval(function () {
308
+ if (Date.now() - lastTick < STALL_MS) return;
309
+ stalled = true;
310
+ clearInterval(watchdog);
311
+ try { xhr.abort(); } catch (e) {}
312
+ }, 5000);
313
+ function settle() { clearInterval(watchdog); }
298
314
  xhr.upload.onprogress = function (e) {
315
+ lastTick = Date.now();
299
316
  if (e.lengthComputable) { it.pct = Math.round((e.loaded / e.total) * 100); renderRow(it); }
300
317
  };
318
+ xhr.onabort = function () {
319
+ settle();
320
+ if (!stalled) return;
321
+ active--;
322
+ it.status = 'error';
323
+ it.err = 'Upload stalled — the file may be too large for this connection';
324
+ render();
325
+ pump();
326
+ };
301
327
  xhr.onload = function () {
328
+ settle();
302
329
  active--;
303
330
  var res = null;
304
331
  try { res = JSON.parse(xhr.responseText); } catch (e) {}
@@ -317,6 +344,7 @@ function upload(it) {
317
344
  pump();
318
345
  };
319
346
  xhr.onerror = function () {
347
+ settle();
320
348
  active--;
321
349
  it.status = 'error';
322
350
  it.err = 'Network error — try the full-screen uploader';