@orchyn/mcp 1.17.4 → 1.17.6

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.
@@ -11,7 +11,7 @@ import { OrchynError } from "./orchyn.js";
11
11
  import { formatPaywallError, runVideoAnalysis, validatePostUrl } from "./video.js";
12
12
  import { ORCHYN_UI_TEMPLATE } from "./ui-template.js";
13
13
  /** Current MCP server version — bumped on every deploy for traceability. */
14
- export const MCP_SERVER_VERSION = "1.17.4";
14
+ export const MCP_SERVER_VERSION = "1.17.6";
15
15
  /** MCP Apps extension identifier */
16
16
  const UI_EXTENSION = "io.modelcontextprotocol/ui";
17
17
  /** MIME type for MCP Apps HTML resources */
@@ -56,6 +56,8 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
56
56
  .card img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .3s ease;}
57
57
  .card:hover img{transform:scale(1.02);}
58
58
  .card-wide img{max-height:340px;}
59
+ .card video{width:100%;display:block;background:#000;border:none;outline:none;}
60
+ .card-wide video{max-height:500px;}
59
61
  .card-body{padding:14px 16px;}
60
62
 
61
63
  /* ─── Badges & Tags ─── */
@@ -334,8 +336,25 @@ body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--
334
336
  var vh=wide?"340px":"200px";
335
337
  var bodyText=p.caption||p.text||"";
336
338
  if(video){
337
- mediaHtml='<video controls preload="metadata" playsinline poster="'+esc(thumb)+'" style="width:100%;height:'+vh+';object-fit:cover;display:block;background:#000">'
338
- +'Your browser does not support video playback.</video>';
339
+ // Detect aspect ratio from format/platform data.
340
+ // Short-form vertical: TikTok, Reels, Shorts (9:16) -> taller card
341
+ // Long-form horizontal: YouTube, LinkedIn, X (16:9) -> standard card
342
+ var fmt=p.detectedFormat||"";
343
+ var dur=p.duration||0;
344
+ var isVertical=false;
345
+ if(fmt==="Short-form")isVertical=true;
346
+ else if(fmt==="Long-form")isVertical=false;
347
+ else if(platform==="tiktok"||platform==="douyin")isVertical=true;
348
+ else if(platform==="youtube"&&dur>0&&dur<=60)isVertical=true;
349
+ else if(platform==="instagram")isVertical=true;
350
+ var videoAR=isVertical?"56.25%":"";
351
+ var videoMaxH=isVertical?(wide?"500px":"380px"):(wide?"340px":"250px");
352
+ mediaHtml='<div class="video-wrap" style="width:100%;aspect-ratio:16/9;background:#000;position:relative;overflow:hidden">'
353
+ +'<video src="'+esc(video)+'" controls preload="metadata" playsinline '
354
+ +'poster="'+esc(thumb)+'" '
355
+ +'style="width:100%;height:100%;object-fit:contain;display:block;background:#000" '
356
+ +'onloadedmetadata="onVideoLoaded(this)"'
357
+ +'Your browser does not support video playback.</video></div>';
339
358
  }else if(images.length>1){
340
359
  // Carousel / multi-image gallery — horizontally scrollable strip.
341
360
  var strip=images.map(function(u,i){
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orchyn/mcp",
3
- "version": "1.17.4",
3
+ "version": "1.17.6",
4
4
  "description": "MCP server for orchyn - fetch, discover and understand TikTok/Instagram/YouTube/X/LinkedIn posts with AI (media metadata, niche discovery, hook & viral analysis)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",