{"schema_version":"verify.compare.v1","generated_at":"2026-08-17T17:22:48.439180+00:00","count":1,"missing_servers":[],"results":[{"server_id":"ai.jeda/jeda-ai","display_name":"ai.jeda/jeda-ai","profile_url":"https://verify.sentinelsignal.io/servers/ai.jeda/jeda-ai","compare_url":"https://verify.sentinelsignal.io/compare?server=ai.jeda%2Fjeda-ai","trust_summary_url":"https://verify.sentinelsignal.io/v1/servers/ai.jeda/jeda-ai/trust-summary","claimed":false,"verified_publisher":false,"claim_status":"unclaimed","badge_url":"https://verify.sentinelsignal.io/badge/ai.jeda/jeda-ai.svg","report_url":"https://verify.sentinelsignal.io/v1/servers/ai.jeda/jeda-ai/report","policy_url":"https://verify.sentinelsignal.io/v1/servers/ai.jeda/jeda-ai/policy","evidence_url":"https://verify.sentinelsignal.io/api/v1/servers/ai.jeda/jeda-ai/evidence","commerce_signal":null,"payment_capable":null,"delegation_level":null,"risk_flags":[],"strengths":["report_available","policy_available","badge_available"],"limitations":["unclaimed_profile","publisher_not_verified"],"last_seen":null,"last_scored":"2026-08-17T16:13:41.282487+00:00","recommended_agent_action":"allow_with_policy_review","observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"}}],"servers":[{"namespace":"ai.jeda","name":"jeda-ai","title":"ai.jeda/jeda-ai","description":"Visual AI for strategic thinking — SWOT, flowcharts, mindmaps, Gantt diagrams as polished SVG.","homepage_url":"https://jeda.ai","docs_url":null,"icon_url":null,"support_url":null,"remote_url":"https://mcp.jeda.ai/mcp","server_card_url":null,"latest_version":"1.23.19","current_status":"healthy","current_score":63.54,"transport_type":"streamable-http","has_oauth":false,"has_dcr":false,"has_prompts":false,"tool_count":5,"current_validation_schema_version":"8058defc70ca932c","last_validated_at":"2026-08-17T16:13:41.282487+00:00","registry_source":"official_registry","registry_identifier":"ai.jeda/jeda-ai","canonical_identifier":null,"current_score_components":{"auth_operability_score":2.0,"error_contract_score":2.0,"rate_limit_semantics_score":2.0,"schema_completeness_score":3.0,"backward_compatibility_score":4.0,"slo_health_score":3.0,"security_hygiene_score":2.0,"task_success_score":4.0,"trust_confidence_score":4.0,"abuse_noise_ratio_score":4.0,"prompt_contract_score":0.0,"resource_contract_score":0.0,"discovery_metadata_score":2.0,"registry_consistency_score":2.0,"installability_score":4.0,"session_semantics_score":4.0,"tool_surface_design_score":3.0,"result_shape_stability_score":3.0,"oauth_interop_score":0.0,"recovery_semantics_score":0.0,"maintenance_signal_score":4.0,"adoption_signal_score":3.0,"freshness_confidence_score":4.0,"transport_fidelity_score":4.0,"spec_recency_score":2.0,"session_resume_score":3.0,"step_up_auth_score":0.0,"transport_compliance_score":2.0,"utility_coverage_score":0.0,"advanced_capability_coverage_score":0.0,"connector_publishability_score":2.0,"tool_snapshot_churn_score":4.0,"connector_replay_score":4.0,"request_association_score":0.0,"interactive_flow_safety_score":4.0,"action_safety_score":3.0,"official_registry_presence_score":4.0,"safety_transparency_score":2.0,"tool_capability_clarity_score":4.0,"destructive_operation_safety_score":3.0,"egress_ssrf_resilience_score":1.0,"execution_sandbox_safety_score":4.0,"data_exfiltration_resilience_score":3.0,"least_privilege_scope_score":3.0,"secret_handling_hygiene_score":3.0,"dependency_supply_chain_signal_score":1.0,"input_sanitization_safety_score":3.0,"tool_namespace_clarity_score":4.0},"capability_taxonomy":[],"machine_summary":{},"taxonomy_tags":[],"score_decomposition":[],"validation_diff":null,"tool_snapshot_diff":null,"connector_replay":{},"request_association":{},"production_readiness":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use.","badge":"score-medium","critical_alerts":0,"high_or_critical_alerts":0,"degraded_by_active_alerts":false},"recommended_for":[],"history_summary":{},"validation_timeline":[],"evidence_confidence":{"score":100.0,"label":"high","reason":"Based on 20 recent validations, 14 captured checks, and validation age of 1.2 hours.","live_check_count":14,"validation_age_hours":1.15,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":14,"validation_age_hours":1.15,"freshness_threshold_hours":24}},"incident_feed":[],"disputes":[],"remediations":[],"client_remediation_modes":[],"client_profiles":[],"client_readiness_verdicts":[],"publishability_policy_profiles":[],"compatibility_fixtures":[],"install_snippets":{},"aliases":[],"raw_evidence":{"checks":{"probe_noise_resilience":{"status":"ok","latency_ms":467.19,"details":{"url":"https://mcp.jeda.ai/robots.txt","http_status":200,"headers":{"content-type":"text/plain; charset=utf-8"},"validation_disallowed":false,"consent_error":null}},"server_card":{"status":"error","latency_ms":352.48,"details":{"url":"https://mcp.jeda.ai/.well-known/mcp/server-card.json","error":"Client error '404 Not Found' for url 'https://mcp.jeda.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_protected_resource":{"status":"error","latency_ms":36.33,"details":{"url":"https://mcp.jeda.ai/.well-known/oauth-protected-resource","error":"Client error '404 Not Found' for url 'https://mcp.jeda.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"}},"oauth_authorization_server":{"status":"missing","latency_ms":null,"details":{"reason":"no_authorization_server"}},"openid_configuration":{"status":"missing","latency_ms":null,"details":{"reason":"no_authorization_server"}},"initialize":{"status":"ok","latency_ms":397.91,"details":{"url":"https://mcp.jeda.ai/mcp","payload":{"result":{"protocolVersion":"2025-03-26","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"jeda-ai","version":"1.100.191","title":"Jeda.ai · Visual AI","description":"AI-powered visual generator — flowcharts, mindmaps, matrices, timelines, Gantt, ER, sequence, swimlane, and block diagrams as self-contained SVG.","websiteUrl":"https://jeda.ai","icons":[{"src":"https://mcp.jeda.ai/icon.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://mcp.jeda.ai/icon.png","mimeType":"image/png","sizes":["256x256"]},{"src":"https://solo.jeda.ai/mcp-logo.png","mimeType":"image/png","sizes":["512x512"]}]}},"jsonrpc":"2.0","id":1},"http_status":200,"headers":{"content-type":"application/json","x-ratelimit-limit":"30","x-ratelimit-remaining":"29","x-ratelimit-reset":"1786983279"}}},"protocol_version_probe":{"status":"warning","latency_ms":null,"details":{"claimed_version":"2025-03-26","validator_protocol_version":"2025-03-26","latest_known_version":"2025-11-25","releases_behind":2,"lag_days":244}},"tools_list":{"status":"ok","latency_ms":81.51,"details":{"url":"https://mcp.jeda.ai/mcp","payload":{"result":{"tools":[{"name":"generate_visual","title":"Generate Visual","description":"Generates a visual (flowchart, mindmap, matrix, timeline, Gantt, ER, sequence, swimlane, block diagram) as a self-contained SVG. Powered by Jeda.ai · Visual AI.\n\nREQUIRED post-processing on every success: the response's FIRST text block is a \"SAVE THIS NOW\" directive with a `curl -fsSL` one-liner (Step 1) and an inline-SVG fallback (Step 2). Always attempt Step 1 first; only fall back to Step 2 if curl exits non-zero. The user expects an \"Image · SVG\" file chip — not a markdown link or prose summary. The signed URL is safe to fetch (auth is in the query string).\n\nTwo modes: (1) natural-language `prompt` → Data Agent + Design Agent build the visual; (2) structured `nodes` + `edges` for precise control.\n\nVisual types: matrix | mindmap | flowchart | block-diagram | timeline | gantt | er-diagram | sequence | process-flow. Default: auto-detected from prompt. Slash commands work too: `/matrix SWOT`, `/timeline roadmap`, `/process-flow procurement approval with finance and legal lanes`.\n\nFor style options (themes, fonts, arrow styles, animations, per-edge overrides, matrix/process-flow specifics) call `get_style_options` first. Default theme is `pastel` — only override when the user explicitly names another.\n\nExample: { \"prompt\": \"user signup with email verification\", \"theme\": { \"preset\": \"pastel\" } }","inputSchema":{"type":"object","properties":{"prompt":{"type":["string","null"],"maxLength":8000,"description":"Natural language description of the diagram to generate. When provided, the server uses AI to convert this into a structured diagram spec. Max 8000 characters. Example: \"flowchart showing user login with validation and error handling\""},"type":{"type":["string","null"],"enum":["flowchart","mindmap","block-diagram","matrix","timeline","gantt","er-diagram","sequence","process-flow","pyramid","funnel","radar","fishbone"],"description":"Diagram type. Required when providing structured nodes/edges, optional with prompt."},"sections":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":["string","null"]},"title":{"type":"string"},"subtitle":{"type":["string","null"]},"items":{"type":"array","items":{"type":"string"}},"icons":{"type":["array","null"],"items":{"type":"string"}},"itemIds":{"type":["array","null"],"items":{"type":"string"}},"itemShapes":{"type":["array","null"],"items":{"type":"string"}},"itemBackgroundColors":{"type":["array","null"],"items":{"type":"string","maxLength":40}},"itemHeatIntensities":{"type":["array","null"],"items":{"type":"number","minimum":0,"maximum":1}},"sectionBackgroundColor":{"type":["string","null"],"maxLength":40},"sectionHeatIntensity":{"type":["number","null"],"minimum":0,"maximum":1},"row":{"type":["integer","null"],"minimum":0},"col":{"type":["integer","null"],"minimum":0}},"additionalProperties":false,"required":["id","title","subtitle","items","icons","itemIds","itemShapes","itemBackgroundColors","itemHeatIntensities","sectionBackgroundColor","sectionHeatIntensity","row","col"]},"description":"Matrix sections. Each section has a title, optional subtitle, and items. Used with type=\"matrix\"."},"title":{"type":["string","null"]},"subtitle":{"type":["string","null"]},"style":{"type":["string","null"],"enum":["calligraphy","clean"]},"shapeStyle":{"type":["string","null"],"enum":["calligraphy","clean"]},"nodes":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string"},"shape":{"type":["string","null"],"enum":["rectangle","rounded-rect","circle","ellipse","diamond","triangle","parallelogram","hexagon","star","pentagon","octagon","trapezoid","process","decision","terminal","data-io","document","predefined-process","manual-input","pill","cloud","callout-bubble","underline-only","cylinder","database","banner","tag","shield","cross","arrow-shape","queue"]},"text":{"type":"string"},"style":{"type":["object","null"],"properties":{"fill":{"type":["string","null"]},"stroke":{"type":["string","null"]},"strokeWidth":{"type":["number","null"]},"opacity":{"type":["number","null"],"minimum":0,"maximum":1},"cornerRadius":{"type":["number","null"]},"shadow":{"type":["boolean","null"]},"shadowLevel":{"type":["string","null"],"enum":["sm","md","lg"]},"fontSize":{"type":["number","null"]},"fontColor":{"type":["string","null"]},"lineStyle":{"type":["string","null"],"enum":["solid","dashed","dotted","dash-dot","long-dash"],"description":"Per-node outline line style. Excludes \"calligraphy\" — that mode is set per-spec via `defaultShapeLineStyle: \"calligraphy\"`, not per-node."},"iconColor":{"type":["string","null"]},"iconColors":{"type":["array","null"],"items":{"type":"string"}}},"additionalProperties":false,"required":["fill","stroke","strokeWidth","opacity","cornerRadius","shadow","shadowLevel","fontSize","fontColor","lineStyle","iconColor","iconColors"]},"width":{"type":["number","null"],"minimum":0},"height":{"type":["number","null"],"minimum":0},"icon":{"type":["string","null"]},"iconKeywords":{"type":["array","null"],"items":{"type":"string"}},"hidden":{"type":["boolean","null"]},"group":{"type":["string","null"]},"chart":{"type":["object","null"],"properties":{"type":{"type":"string","enum":["pie","donut","bar","sparkline","line"]},"data":{"type":["array","null"],"items":{"type":"object","properties":{"label":{"type":["string","null"],"maxLength":2000},"value":{"type":"number"},"color":{"type":["string","null"],"pattern":"^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$"}},"additionalProperties":false,"required":["label","value","color"]},"maxItems":64},"series":{"type":["array","null"],"items":{"type":"number"},"maxItems":512},"innerRadiusRatio":{"type":["number","null"],"minimum":0.1,"maximum":0.85},"showLabels":{"type":["boolean","null"]},"showValues":{"type":["boolean","null"]},"area":{"type":["boolean","null"]}},"additionalProperties":false,"required":["type","data","series","innerRadiusRatio","showLabels","showValues","area"]},"kpi":{"type":["object","null"],"properties":{"value":{"type":"string","maxLength":2000},"label":{"type":["string","null"],"maxLength":2000},"delta":{"type":["object","null"],"properties":{"text":{"type":"string","maxLength":2000},"direction":{"type":["string","null"],"enum":["up","down","flat"]},"invertColor":{"type":["boolean","null"]}},"additionalProperties":false,"required":["text","direction","invertColor"]},"sparkline":{"type":["array","null"],"items":{"type":"number"},"maxItems":512}},"additionalProperties":false,"required":["value","label","delta","sparkline"]},"animationLoop":{"type":["string","null"],"enum":["once","2","3","5","infinite"]}},"additionalProperties":false,"required":["id","shape","text","style","width","height","icon","iconKeywords","hidden","group","chart","kpi","animationLoop"]},"description":"Structured node definitions. Required when not using prompt mode."},"edges":{"type":["array","null"],"items":{"type":"object","properties":{"source":{"type":"string"},"target":{"type":"string"},"label":{"type":["string","null"]},"lineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"]},"connectorType":{"type":["string","null"],"enum":["straight","curved","elbow","orthogonal","bezier"]},"sourceArrow":{"type":["string","null"],"description":"Arrowhead style at the edge source end. Options: open (default) | triangle | diamond | circle | bar | dot | none."},"targetArrow":{"type":["string","null"],"description":"Arrowhead style at the edge target end. Options: open (default) | triangle | diamond | circle | bar | dot | none."},"style":{"type":["object","null"],"properties":{"stroke":{"type":["string","null"]},"strokeWidth":{"type":["number","null"]},"opacity":{"type":["number","null"],"minimum":0,"maximum":1},"fill":{"type":["string","null"]}},"additionalProperties":false,"required":["stroke","strokeWidth","opacity","fill"]},"hidden":{"type":["boolean","null"]},"animate":{"type":["string","null"],"enum":["none","flow","pulse","glow","trace","wave","lightning","beat","comet"],"description":"Connector animation. Options: none (default) | flow (dashes march) | pulse (opacity breathing) | glow (stroke-width pulse) | trace (bright dot travels along) | wave (large stroke-width oscillation). SVG-only — exports to PNG/WebP capture one frozen frame."},"animateSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Animation speed. Options: slow (3s cycle) | medium (2s, default) | fast (1s)."},"blockArrowSize":{"anyOf":[{"type":"string","enum":["small","medium","large"]},{"type":"number","minimum":1,"maximum":60}],"description":"Block Arrow size for this edge (only when arrowStyle is \"block\"). Preset names: \"small\" (slim) | \"medium\" (default) | \"large\" (chunky). OR a raw body half-width in px (1–60); head dimensions scale proportionally."},"arrowStyle":{"type":["string","null"],"enum":["calligraphy","clean","block"],"description":"Per-edge connector aesthetic mode (overrides defaultArrowStyle). Options: \"calligraphy\" | \"clean\" | \"block\". Orthogonal to lineStyle (dash pattern); all 15 combinations are valid."},"loop":{"type":["string","null"],"enum":["once","2","3","5","infinite"],"description":"Per-edge animation loop count override. Wins over the diagram-level `defaultSceneAnimationLoop`. Values are quoted strings: \"once\" | \"2\" | \"3\" | \"5\" | \"infinite\". Maps to SMIL repeatCount."}},"additionalProperties":false,"required":["source","target","label","lineStyle","connectorType","sourceArrow","targetArrow","style","hidden","animate","animateSpeed","blockArrowSize","arrowStyle","loop"]}},"layout":{"type":["object","null"],"properties":{"direction":{"type":["string","null"],"enum":["TB","LR","BT","RL","radial","assorted"]},"nodeSpacing":{"type":["number","null"],"minimum":0},"rankSpacing":{"type":["number","null"],"minimum":0},"padding":{"type":["number","null"],"minimum":0}},"additionalProperties":false,"required":["direction","nodeSpacing","rankSpacing","padding"]},"theme":{"type":["object","null"],"properties":{"preset":{"type":["string","null"]},"palette":{"type":["object","null"],"properties":{"primary":{"type":["string","null"]},"secondary":{"type":["string","null"]},"accent":{"type":["string","null"]},"background":{"type":["string","null"]},"text":{"type":["string","null"]},"border":{"type":["string","null"]},"nodeColors":{"type":["array","null"],"items":{"type":"string"}}},"additionalProperties":false,"required":["primary","secondary","accent","background","text","border","nodeColors"]},"paletteSeed":{"type":["number","null"]}},"additionalProperties":false,"required":["preset","palette","paletteSeed"]},"defaultLineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"],"description":"v1.45.2+ — Default DASH PATTERN applied to all edges that don't specify their own. Options: \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\". Combines orthogonally with `defaultArrowStyle` (calligraphy/clean/block) for 15 total visual combinations. Legacy values \"calligraphy\" and \"block-arrow\" are still accepted for backward compat (the renderer maps them to defaultArrowStyle=\"calligraphy\"/\"block\" with lineStyle=\"solid\"); new callers should use `defaultArrowStyle` for the aesthetic mode."},"defaultArrowHead":{"type":["string","null"],"description":"Default arrowhead style applied to all edges that don't specify their own."},"defaultConnector":{"type":["string","null"],"enum":["straight","curved","elbow","orthogonal","bezier"],"description":"Default connector type applied to all edges that don't specify their own."},"defaultShadow":{"type":["string","null"],"enum":["none","sm","md","lg"],"description":"Default shadow level applied to all nodes."},"defaultShapeLineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"],"description":"Default line style for shape outlines (node borders). v1.44.1 — also drives shape rendering mode: \"calligraphy\" gives hand-drawn rough shapes (ink-ribbon outlines); \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\" give crisp geometric shapes with that outline pattern. Independent of edge/connector line style."},"defaultConnectorAnimate":{"type":["string","null"],"enum":["none","flow","pulse","glow","trace","wave","lightning","beat","comet"],"description":"Animate every connector edge. Options: none (default) | flow (dashes march along the line) | pulse (gentle opacity breathing) | glow (subtle stroke-width pulse) | trace (bright dot traverses each edge) | wave (large stroke-width oscillation). SVG-only — exports to PNG / WebP / OG-image freeze on first frame."},"defaultConnectorAnimateSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Animation speed when defaultConnectorAnimate is set. Options: slow (3s cycle) | medium (2s, default) | fast (1s)."},"defaultSceneAnimation":{"type":["string","null"],"enum":["none","fade","zoom","zoom-pan","flow","wave-sweep","build-up","flow-zoom-pan"],"description":"Whole-visual reveal animation. Plays ONCE when the SVG is displayed, freezes at the final state. Options: none (default) | fade (entire visual fades in) | zoom (scales in from 70% to 100%) | zoom-pan (Ken Burns camera move) | flow (each node + edge appears sequentially in spec order). Orthogonal to defaultConnectorAnimate — both can run together. SVG-only — PNG / WebP exports show the fully-revealed final state (rasteriser ignores SMIL; static attrs hold the final value). Animated GIF / MP4 client-side encoder ticks the scene through."},"defaultSceneAnimationSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Scene animation speed. Options: slow (1.5× duration) | medium (default) | fast (0.6× duration)."},"defaultSceneAnimationLoop":{"type":["string","null"],"enum":["once","2","3","5","infinite"],"description":"Animation loop count. v1.50.9+ — applies to BOTH connector animations (flow / pulse / glow / wave / trace / lightning / beat / comet) AND scene animations (fade / zoom / zoom-pan / flow / wave-sweep / build-up / flow-zoom-pan). Options (all quoted strings): \"once\" (default — plays once and freezes) | \"2\" | \"3\" | \"5\" (repeat that many times then freeze) | \"infinite\" (loop forever; best for live presentations and the historical default for connector animations pre-v1.50.9). Maps to SMIL repeatCount."},"defaultTitleStyle":{"type":["string","null"],"enum":["plain","accent-bar","underline","boxed"],"description":"Title decoration treatment. Options: \"plain\" (default, just the title text), \"accent-bar\" (small accent-coloured vertical bar to the left of the title), \"underline\" (accent-coloured horizontal stroke below the title), \"boxed\" (title rendered in a subtle bordered + drop-shadowed pill — strongest framing). Affects only the diagram title, not subtitles or section headers."},"defaultDividerStyle":{"type":["string","null"],"enum":["subtle","normal","bold","dashed","dotted","none"],"description":"Divider / grid-line / table-border style. Governs the structural rule-lines a diagram emits: matrix grid lines, gantt phase column dividers, sequence lifelines, swimlane (process-flow) lane boundaries. Options: \"subtle\" (barely-there hairline), \"normal\" (default — pre-v1.55.0 baseline of 1 px / 25 % opacity), \"bold\" (emphasised grid presence), \"dashed\" (6,4 dasharray editorial feel), \"dotted\" (1,3 dasharray lightweight rhythm), \"none\" (no divider emission — cells separated only by colour banding). Useful for comparison tables (try \"bold\") or minimalist matrices (try \"none\")."},"defaultBlockArrowSize":{"anyOf":[{"type":"string","enum":["small","medium","large"]},{"type":"number","minimum":1,"maximum":60}],"description":"Default Block Arrow size when `defaultArrowStyle` (or per-edge arrowStyle) is \"block\". Options: \"small\" (slim — body ~14 px) | \"medium\" (default — body ~24 px) | \"large\" (chunky — body ~36 px). Or a raw body half-width number in px (1–60); head dimensions scale proportionally. Per-edge `blockArrowSize` overrides this default."},"defaultArrowStyle":{"type":["string","null"],"enum":["calligraphy","clean","block"],"description":"Connector aesthetic mode applied to all edges that don't set their own `arrowStyle`. Options: \"calligraphy\" (default — hand-drawn ink-ribbon connectors) | \"clean\" (standard stroked-line connectors) | \"block\" (chunky outlined block-arrow connectors with integrated triangular head). Orthogonal to defaultLineStyle (which now controls dash pattern only) — all 15 combinations of arrowStyle × lineStyle are valid."},"ganttHolidays":{"type":["array","null"],"items":{"type":"string","maxLength":32},"maxItems":200,"description":"Gantt-only: ISO 8601 holiday dates (e.g. [\"2026-12-25\", \"2026-01-01\"]). Rendered as gray vertical stripes alongside Sat/Sun (always weekend). Only applies in date-driven mode (every node has start/end). Other diagram types ignore this field."},"pyramid":{"type":["object","null"],"properties":{"tierLabels":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50},"tierValues":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"inverted":{"type":["boolean","null"]},"tipRatio":{"type":["number","null"],"minimum":0,"maximum":0.95}},"additionalProperties":false,"description":"Pyramid-only payload. Required when type=\"pyramid\". Fields: tierLabels (string[], 1..50, ordered base→tip), tierValues (optional string[]), inverted (boolean), tipRatio (0..0.95, default 0.15). Bloom's Taxonomy, Maslow's Hierarchy, Capability Maturity, DIKW.","required":["tierLabels","tierValues","inverted","tipRatio"]},"funnel":{"type":["object","null"],"properties":{"stageLabels":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50},"stageValues":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"dropOff":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"bottomRatio":{"type":["number","null"],"minimum":0.05,"maximum":0.99}},"additionalProperties":false,"description":"Funnel-only payload. Required when type=\"funnel\". Fields: stageLabels (string[], 1..50, ordered top→bottom), stageValues (optional string[]), dropOff (optional string[] of length stageLabels-1), bottomRatio (0.05..0.99, default 0.30). Sales pipeline, AARRR, ToFu/MoFu/BoFu.","required":["stageLabels","stageValues","dropOff","bottomRatio"]},"radar":{"type":["object","null"],"properties":{"axes":{"type":"array","items":{"type":"string"},"minItems":3,"maxItems":50},"series":{"type":"array","items":{"type":"object","properties":{"name":{"type":["string","null"]},"values":{"type":"array","items":{"type":"number"},"maxItems":50}},"additionalProperties":false,"required":["name","values"]},"minItems":1,"maxItems":10},"maxValue":{"type":["number","null"],"minimum":1},"rings":{"type":["integer","null"],"minimum":1,"maximum":10}},"additionalProperties":false,"description":"Radar/spider-chart payload. Required when type=\"radar\". Fields: axes (string[], 3..50), series ({name, values: number[]}[], 1..10), maxValue (default 100), rings (default 4). Use multiple series for comparison overlays — first solid, rest dashed at 50% opacity.","required":["axes","series","maxValue","rings"]},"iconStyle":{"type":["string","null"],"description":"Icon rendering style. \"clean-mono\" = precise strokes + single color, \"clean-colorful\" = precise strokes + vibrant colors, \"calligraphy-mono\" = hand-drawn ink + single color, \"calligraphy-colorful\" = hand-drawn ink + vibrant colors, \"none\" = hide icons."},"fontFamily":{"type":["string","null"],"description":"Font family for diagram text. Options: inter, poppins (sans-serif); playfair (serif); kalam, handlee (handwritten); fredoka (display); mono (monospace). Omit for style-matched default (Handlee for calligraphy, Inter for clean)."},"matrixColumns":{"type":["array","null"],"items":{"type":"string"},"description":"Column header labels for 2D matrix grid (e.g., [\"High Vision\", \"Low Vision\"])."},"matrixRows":{"type":["array","null"],"items":{"type":"string"},"description":"Row header labels for 2D matrix grid (e.g., [\"High Execution\", \"Low Execution\"])."},"xAxisLabel":{"type":["string","null"],"description":"X-axis title for 2D matrix grid (e.g., \"Completeness of Vision\")."},"yAxisLabel":{"type":["string","null"],"description":"Y-axis title for 2D matrix grid (e.g., \"Ability to Execute\")."},"matrixItemStyle":{"type":["string","null"],"enum":["card","dot","text","badge"],"description":"Item display style for matrix diagrams. \"card\" (default) = rectangular cards, \"dot\" = scatter points, \"text\" = plain text, \"badge\" = compact pills."},"metadata":{"type":["object","null"],"properties":{"size":{"type":["object","null"],"properties":{"preset":{"type":["string","null"],"maxLength":64,"description":"Visual size preset id from shared/visual-sizes.ts catalog (e.g. \"16x9-presentation\", \"ig-square\", \"youtube-thumb\"). Describes the EXPORT TARGET (PNG / PDF / PPTX render dimensions), NOT the canvas constraint at generation time. Mutually exclusive with width + height (preset wins when both are present)."},"width":{"type":["integer","null"],"minimum":320,"maximum":4096,"description":"Custom export-target width in pixels. 320..4096. Used when no preset matches the desired output dimensions. Pair with `height` for full custom dims; pair with `aspect` for aspect-driven sizing."},"height":{"type":["integer","null"],"minimum":320,"maximum":4096,"description":"Custom export-target height in pixels. 320..4096. Used with `width` for full custom dims, or with `aspect` for aspect-driven sizing."},"aspect":{"type":["string","null"],"pattern":"^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$","description":"Canonical \"W:H\" aspect emitted alongside preset / custom dims for fast consumer reads. Accepts integer or decimal ratios. Examples: \"16:9\", \"9:16\", \"1:1\", \"1.91:1\" (OG card)."},"bestFit":{"type":["boolean","null"],"description":"v1.65.1+ Phase 3 opt-in flag. When `true` (alongside `metadata.bestFit` AND `metadata.targetAspect`), signals the server orchestrator to re-invoke the Designer with the target aspect ratio so the layout reflows to fit the export shape. Feature-flagged behind `VISUAL_SIZES_PHASE3_ENABLED` server-side; when OFF the field round-trips through the response but the orchestrator follows the legacy Phase 1/2 path. Default: false."}},"additionalProperties":false,"description":"Visual-size persistence bag (v1.65.4+). Describes the EXPORT TARGET dimensions, NOT a canvas constraint at generation time. Round-trips through the response unchanged.","required":["preset","width","height","aspect","bestFit"]},"bestFit":{"type":["boolean","null"],"description":"v1.65.1+ Phase 3 server-side gate. When `true` + `targetAspect` is set + the server flag `VISUAL_SIZES_PHASE3_ENABLED` is on, the Designer is re-invoked with the target aspect ratio to reflow the layout. Independent of `metadata.size.bestFit`; the frontend mirrors this field when the toggle is on."},"targetAspect":{"type":["string","null"],"maxLength":16,"description":"v1.65.1+ Phase 3 server-side aspect ratio. Accepts \"W:H\" forms (e.g. \"9:16\", \"16:9\", \"1:1\", \"1.91:1\"). Forwarded to the Designer when `bestFit` is on."}},"additionalProperties":false,"description":"Visual-size + Best-fit metadata bag (v1.65.4 -> v1.67.12). All fields optional; legacy callers without `metadata` are byte-identical to today. The server echoes `metadata.size` back on the response so integrators can confirm the field was honoured.","required":["size","bestFit","targetAspect"]}},"additionalProperties":false,"required":["prompt","type","sections","title","subtitle","style","shapeStyle","nodes","edges","layout","theme","defaultLineStyle","defaultArrowHead","defaultConnector","defaultShadow","defaultShapeLineStyle","defaultConnectorAnimate","defaultConnectorAnimateSpeed","defaultSceneAnimation","defaultSceneAnimationSpeed","defaultSceneAnimationLoop","defaultTitleStyle","defaultDividerStyle","defaultBlockArrowSize","defaultArrowStyle","ganttHolidays","pyramid","funnel","radar","iconStyle","fontFamily","matrixColumns","matrixRows","xAxisLabel","yAxisLabel","matrixItemStyle","metadata"]},"annotations":{"title":"Generate Visual","readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}},{"name":"get_style_options","title":"Get Style Options for generate_visual","description":"Returns the full style-options catalog for `generate_visual` — theme presets, fonts, arrow styles, line styles, arrowheads, scene/connector animations, layout directions, per-edge overrides, and matrix/process-flow specifics. Call this once when you need to expose specific style choices to the user (e.g. \"what themes are available?\") or before composing a `generate_visual` call that needs non-default styling. Output is plain text, ~4 KB.","inputSchema":{"type":"object","properties":{"prompt":{"type":["string","null"],"maxLength":8000,"description":"Natural language description of the diagram to generate. When provided, the server uses AI to convert this into a structured diagram spec. Max 8000 characters. Example: \"flowchart showing user login with validation and error handling\""},"type":{"type":["string","null"],"enum":["flowchart","mindmap","block-diagram","matrix","timeline","gantt","er-diagram","sequence","process-flow","pyramid","funnel","radar","fishbone"],"description":"Diagram type. Required when providing structured nodes/edges, optional with prompt."},"sections":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":["string","null"]},"title":{"type":"string"},"subtitle":{"type":["string","null"]},"items":{"type":"array","items":{"type":"string"}},"icons":{"type":["array","null"],"items":{"type":"string"}},"itemIds":{"type":["array","null"],"items":{"type":"string"}},"itemShapes":{"type":["array","null"],"items":{"type":"string"}},"itemBackgroundColors":{"type":["array","null"],"items":{"type":"string","maxLength":40}},"itemHeatIntensities":{"type":["array","null"],"items":{"type":"number","minimum":0,"maximum":1}},"sectionBackgroundColor":{"type":["string","null"],"maxLength":40},"sectionHeatIntensity":{"type":["number","null"],"minimum":0,"maximum":1},"row":{"type":["integer","null"],"minimum":0},"col":{"type":["integer","null"],"minimum":0}},"additionalProperties":false,"required":["id","title","subtitle","items","icons","itemIds","itemShapes","itemBackgroundColors","itemHeatIntensities","sectionBackgroundColor","sectionHeatIntensity","row","col"]},"description":"Matrix sections. Each section has a title, optional subtitle, and items. Used with type=\"matrix\"."},"title":{"type":["string","null"]},"subtitle":{"type":["string","null"]},"style":{"type":["string","null"],"enum":["calligraphy","clean"]},"shapeStyle":{"type":["string","null"],"enum":["calligraphy","clean"]},"nodes":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string"},"shape":{"type":["string","null"],"enum":["rectangle","rounded-rect","circle","ellipse","diamond","triangle","parallelogram","hexagon","star","pentagon","octagon","trapezoid","process","decision","terminal","data-io","document","predefined-process","manual-input","pill","cloud","callout-bubble","underline-only","cylinder","database","banner","tag","shield","cross","arrow-shape","queue"]},"text":{"type":"string"},"style":{"type":["object","null"],"properties":{"fill":{"type":["string","null"]},"stroke":{"type":["string","null"]},"strokeWidth":{"type":["number","null"]},"opacity":{"type":["number","null"],"minimum":0,"maximum":1},"cornerRadius":{"type":["number","null"]},"shadow":{"type":["boolean","null"]},"shadowLevel":{"type":["string","null"],"enum":["sm","md","lg"]},"fontSize":{"type":["number","null"]},"fontColor":{"type":["string","null"]},"lineStyle":{"type":["string","null"],"enum":["solid","dashed","dotted","dash-dot","long-dash"],"description":"Per-node outline line style. Excludes \"calligraphy\" — that mode is set per-spec via `defaultShapeLineStyle: \"calligraphy\"`, not per-node."},"iconColor":{"type":["string","null"]},"iconColors":{"type":["array","null"],"items":{"type":"string"}}},"additionalProperties":false,"required":["fill","stroke","strokeWidth","opacity","cornerRadius","shadow","shadowLevel","fontSize","fontColor","lineStyle","iconColor","iconColors"]},"width":{"type":["number","null"],"minimum":0},"height":{"type":["number","null"],"minimum":0},"icon":{"type":["string","null"]},"iconKeywords":{"type":["array","null"],"items":{"type":"string"}},"hidden":{"type":["boolean","null"]},"group":{"type":["string","null"]},"chart":{"type":["object","null"],"properties":{"type":{"type":"string","enum":["pie","donut","bar","sparkline","line"]},"data":{"type":["array","null"],"items":{"type":"object","properties":{"label":{"type":["string","null"],"maxLength":2000},"value":{"type":"number"},"color":{"type":["string","null"],"pattern":"^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$"}},"additionalProperties":false,"required":["label","value","color"]},"maxItems":64},"series":{"type":["array","null"],"items":{"type":"number"},"maxItems":512},"innerRadiusRatio":{"type":["number","null"],"minimum":0.1,"maximum":0.85},"showLabels":{"type":["boolean","null"]},"showValues":{"type":["boolean","null"]},"area":{"type":["boolean","null"]}},"additionalProperties":false,"required":["type","data","series","innerRadiusRatio","showLabels","showValues","area"]},"kpi":{"type":["object","null"],"properties":{"value":{"type":"string","maxLength":2000},"label":{"type":["string","null"],"maxLength":2000},"delta":{"type":["object","null"],"properties":{"text":{"type":"string","maxLength":2000},"direction":{"type":["string","null"],"enum":["up","down","flat"]},"invertColor":{"type":["boolean","null"]}},"additionalProperties":false,"required":["text","direction","invertColor"]},"sparkline":{"type":["array","null"],"items":{"type":"number"},"maxItems":512}},"additionalProperties":false,"required":["value","label","delta","sparkline"]},"animationLoop":{"type":["string","null"],"enum":["once","2","3","5","infinite"]}},"additionalProperties":false,"required":["id","shape","text","style","width","height","icon","iconKeywords","hidden","group","chart","kpi","animationLoop"]},"description":"Structured node definitions. Required when not using prompt mode."},"edges":{"type":["array","null"],"items":{"type":"object","properties":{"source":{"type":"string"},"target":{"type":"string"},"label":{"type":["string","null"]},"lineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"]},"connectorType":{"type":["string","null"],"enum":["straight","curved","elbow","orthogonal","bezier"]},"sourceArrow":{"type":["string","null"],"description":"Arrowhead style at the edge source end. Options: open (default) | triangle | diamond | circle | bar | dot | none."},"targetArrow":{"type":["string","null"],"description":"Arrowhead style at the edge target end. Options: open (default) | triangle | diamond | circle | bar | dot | none."},"style":{"type":["object","null"],"properties":{"stroke":{"type":["string","null"]},"strokeWidth":{"type":["number","null"]},"opacity":{"type":["number","null"],"minimum":0,"maximum":1},"fill":{"type":["string","null"]}},"additionalProperties":false,"required":["stroke","strokeWidth","opacity","fill"]},"hidden":{"type":["boolean","null"]},"animate":{"type":["string","null"],"enum":["none","flow","pulse","glow","trace","wave","lightning","beat","comet"],"description":"Connector animation. Options: none (default) | flow (dashes march) | pulse (opacity breathing) | glow (stroke-width pulse) | trace (bright dot travels along) | wave (large stroke-width oscillation). SVG-only — exports to PNG/WebP capture one frozen frame."},"animateSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Animation speed. Options: slow (3s cycle) | medium (2s, default) | fast (1s)."},"blockArrowSize":{"anyOf":[{"type":"string","enum":["small","medium","large"]},{"type":"number","minimum":1,"maximum":60}],"description":"Block Arrow size for this edge (only when arrowStyle is \"block\"). Preset names: \"small\" (slim) | \"medium\" (default) | \"large\" (chunky). OR a raw body half-width in px (1–60); head dimensions scale proportionally."},"arrowStyle":{"type":["string","null"],"enum":["calligraphy","clean","block"],"description":"Per-edge connector aesthetic mode (overrides defaultArrowStyle). Options: \"calligraphy\" | \"clean\" | \"block\". Orthogonal to lineStyle (dash pattern); all 15 combinations are valid."},"loop":{"type":["string","null"],"enum":["once","2","3","5","infinite"],"description":"Per-edge animation loop count override. Wins over the diagram-level `defaultSceneAnimationLoop`. Values are quoted strings: \"once\" | \"2\" | \"3\" | \"5\" | \"infinite\". Maps to SMIL repeatCount."}},"additionalProperties":false,"required":["source","target","label","lineStyle","connectorType","sourceArrow","targetArrow","style","hidden","animate","animateSpeed","blockArrowSize","arrowStyle","loop"]}},"layout":{"type":["object","null"],"properties":{"direction":{"type":["string","null"],"enum":["TB","LR","BT","RL","radial","assorted"]},"nodeSpacing":{"type":["number","null"],"minimum":0},"rankSpacing":{"type":["number","null"],"minimum":0},"padding":{"type":["number","null"],"minimum":0}},"additionalProperties":false,"required":["direction","nodeSpacing","rankSpacing","padding"]},"theme":{"type":["object","null"],"properties":{"preset":{"type":["string","null"]},"palette":{"type":["object","null"],"properties":{"primary":{"type":["string","null"]},"secondary":{"type":["string","null"]},"accent":{"type":["string","null"]},"background":{"type":["string","null"]},"text":{"type":["string","null"]},"border":{"type":["string","null"]},"nodeColors":{"type":["array","null"],"items":{"type":"string"}}},"additionalProperties":false,"required":["primary","secondary","accent","background","text","border","nodeColors"]},"paletteSeed":{"type":["number","null"]}},"additionalProperties":false,"required":["preset","palette","paletteSeed"]},"defaultLineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"],"description":"v1.45.2+ — Default DASH PATTERN applied to all edges that don't specify their own. Options: \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\". Combines orthogonally with `defaultArrowStyle` (calligraphy/clean/block) for 15 total visual combinations. Legacy values \"calligraphy\" and \"block-arrow\" are still accepted for backward compat (the renderer maps them to defaultArrowStyle=\"calligraphy\"/\"block\" with lineStyle=\"solid\"); new callers should use `defaultArrowStyle` for the aesthetic mode."},"defaultArrowHead":{"type":["string","null"],"description":"Default arrowhead style applied to all edges that don't specify their own."},"defaultConnector":{"type":["string","null"],"enum":["straight","curved","elbow","orthogonal","bezier"],"description":"Default connector type applied to all edges that don't specify their own."},"defaultShadow":{"type":["string","null"],"enum":["none","sm","md","lg"],"description":"Default shadow level applied to all nodes."},"defaultShapeLineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"],"description":"Default line style for shape outlines (node borders). v1.44.1 — also drives shape rendering mode: \"calligraphy\" gives hand-drawn rough shapes (ink-ribbon outlines); \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\" give crisp geometric shapes with that outline pattern. Independent of edge/connector line style."},"defaultConnectorAnimate":{"type":["string","null"],"enum":["none","flow","pulse","glow","trace","wave","lightning","beat","comet"],"description":"Animate every connector edge. Options: none (default) | flow (dashes march along the line) | pulse (gentle opacity breathing) | glow (subtle stroke-width pulse) | trace (bright dot traverses each edge) | wave (large stroke-width oscillation). SVG-only — exports to PNG / WebP / OG-image freeze on first frame."},"defaultConnectorAnimateSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Animation speed when defaultConnectorAnimate is set. Options: slow (3s cycle) | medium (2s, default) | fast (1s)."},"defaultSceneAnimation":{"type":["string","null"],"enum":["none","fade","zoom","zoom-pan","flow","wave-sweep","build-up","flow-zoom-pan"],"description":"Whole-visual reveal animation. Plays ONCE when the SVG is displayed, freezes at the final state. Options: none (default) | fade (entire visual fades in) | zoom (scales in from 70% to 100%) | zoom-pan (Ken Burns camera move) | flow (each node + edge appears sequentially in spec order). Orthogonal to defaultConnectorAnimate — both can run together. SVG-only — PNG / WebP exports show the fully-revealed final state (rasteriser ignores SMIL; static attrs hold the final value). Animated GIF / MP4 client-side encoder ticks the scene through."},"defaultSceneAnimationSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Scene animation speed. Options: slow (1.5× duration) | medium (default) | fast (0.6× duration)."},"defaultSceneAnimationLoop":{"type":["string","null"],"enum":["once","2","3","5","infinite"],"description":"Animation loop count. v1.50.9+ — applies to BOTH connector animations (flow / pulse / glow / wave / trace / lightning / beat / comet) AND scene animations (fade / zoom / zoom-pan / flow / wave-sweep / build-up / flow-zoom-pan). Options (all quoted strings): \"once\" (default — plays once and freezes) | \"2\" | \"3\" | \"5\" (repeat that many times then freeze) | \"infinite\" (loop forever; best for live presentations and the historical default for connector animations pre-v1.50.9). Maps to SMIL repeatCount."},"defaultTitleStyle":{"type":["string","null"],"enum":["plain","accent-bar","underline","boxed"],"description":"Title decoration treatment. Options: \"plain\" (default, just the title text), \"accent-bar\" (small accent-coloured vertical bar to the left of the title), \"underline\" (accent-coloured horizontal stroke below the title), \"boxed\" (title rendered in a subtle bordered + drop-shadowed pill — strongest framing). Affects only the diagram title, not subtitles or section headers."},"defaultDividerStyle":{"type":["string","null"],"enum":["subtle","normal","bold","dashed","dotted","none"],"description":"Divider / grid-line / table-border style. Governs the structural rule-lines a diagram emits: matrix grid lines, gantt phase column dividers, sequence lifelines, swimlane (process-flow) lane boundaries. Options: \"subtle\" (barely-there hairline), \"normal\" (default — pre-v1.55.0 baseline of 1 px / 25 % opacity), \"bold\" (emphasised grid presence), \"dashed\" (6,4 dasharray editorial feel), \"dotted\" (1,3 dasharray lightweight rhythm), \"none\" (no divider emission — cells separated only by colour banding). Useful for comparison tables (try \"bold\") or minimalist matrices (try \"none\")."},"defaultBlockArrowSize":{"anyOf":[{"type":"string","enum":["small","medium","large"]},{"type":"number","minimum":1,"maximum":60}],"description":"Default Block Arrow size when `defaultArrowStyle` (or per-edge arrowStyle) is \"block\". Options: \"small\" (slim — body ~14 px) | \"medium\" (default — body ~24 px) | \"large\" (chunky — body ~36 px). Or a raw body half-width number in px (1–60); head dimensions scale proportionally. Per-edge `blockArrowSize` overrides this default."},"defaultArrowStyle":{"type":["string","null"],"enum":["calligraphy","clean","block"],"description":"Connector aesthetic mode applied to all edges that don't set their own `arrowStyle`. Options: \"calligraphy\" (default — hand-drawn ink-ribbon connectors) | \"clean\" (standard stroked-line connectors) | \"block\" (chunky outlined block-arrow connectors with integrated triangular head). Orthogonal to defaultLineStyle (which now controls dash pattern only) — all 15 combinations of arrowStyle × lineStyle are valid."},"ganttHolidays":{"type":["array","null"],"items":{"type":"string","maxLength":32},"maxItems":200,"description":"Gantt-only: ISO 8601 holiday dates (e.g. [\"2026-12-25\", \"2026-01-01\"]). Rendered as gray vertical stripes alongside Sat/Sun (always weekend). Only applies in date-driven mode (every node has start/end). Other diagram types ignore this field."},"pyramid":{"type":["object","null"],"properties":{"tierLabels":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50},"tierValues":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"inverted":{"type":["boolean","null"]},"tipRatio":{"type":["number","null"],"minimum":0,"maximum":0.95}},"additionalProperties":false,"description":"Pyramid-only payload. Required when type=\"pyramid\". Fields: tierLabels (string[], 1..50, ordered base→tip), tierValues (optional string[]), inverted (boolean), tipRatio (0..0.95, default 0.15). Bloom's Taxonomy, Maslow's Hierarchy, Capability Maturity, DIKW.","required":["tierLabels","tierValues","inverted","tipRatio"]},"funnel":{"type":["object","null"],"properties":{"stageLabels":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50},"stageValues":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"dropOff":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"bottomRatio":{"type":["number","null"],"minimum":0.05,"maximum":0.99}},"additionalProperties":false,"description":"Funnel-only payload. Required when type=\"funnel\". Fields: stageLabels (string[], 1..50, ordered top→bottom), stageValues (optional string[]), dropOff (optional string[] of length stageLabels-1), bottomRatio (0.05..0.99, default 0.30). Sales pipeline, AARRR, ToFu/MoFu/BoFu.","required":["stageLabels","stageValues","dropOff","bottomRatio"]},"radar":{"type":["object","null"],"properties":{"axes":{"type":"array","items":{"type":"string"},"minItems":3,"maxItems":50},"series":{"type":"array","items":{"type":"object","properties":{"name":{"type":["string","null"]},"values":{"type":"array","items":{"type":"number"},"maxItems":50}},"additionalProperties":false,"required":["name","values"]},"minItems":1,"maxItems":10},"maxValue":{"type":["number","null"],"minimum":1},"rings":{"type":["integer","null"],"minimum":1,"maximum":10}},"additionalProperties":false,"description":"Radar/spider-chart payload. Required when type=\"radar\". Fields: axes (string[], 3..50), series ({name, values: number[]}[], 1..10), maxValue (default 100), rings (default 4). Use multiple series for comparison overlays — first solid, rest dashed at 50% opacity.","required":["axes","series","maxValue","rings"]},"iconStyle":{"type":["string","null"],"description":"Icon rendering style. \"clean-mono\" = precise strokes + single color, \"clean-colorful\" = precise strokes + vibrant colors, \"calligraphy-mono\" = hand-drawn ink + single color, \"calligraphy-colorful\" = hand-drawn ink + vibrant colors, \"none\" = hide icons."},"fontFamily":{"type":["string","null"],"description":"Font family for diagram text. Options: inter, poppins (sans-serif); playfair (serif); kalam, handlee (handwritten); fredoka (display); mono (monospace). Omit for style-matched default (Handlee for calligraphy, Inter for clean)."},"matrixColumns":{"type":["array","null"],"items":{"type":"string"},"description":"Column header labels for 2D matrix grid (e.g., [\"High Vision\", \"Low Vision\"])."},"matrixRows":{"type":["array","null"],"items":{"type":"string"},"description":"Row header labels for 2D matrix grid (e.g., [\"High Execution\", \"Low Execution\"])."},"xAxisLabel":{"type":["string","null"],"description":"X-axis title for 2D matrix grid (e.g., \"Completeness of Vision\")."},"yAxisLabel":{"type":["string","null"],"description":"Y-axis title for 2D matrix grid (e.g., \"Ability to Execute\")."},"matrixItemStyle":{"type":["string","null"],"enum":["card","dot","text","badge"],"description":"Item display style for matrix diagrams. \"card\" (default) = rectangular cards, \"dot\" = scatter points, \"text\" = plain text, \"badge\" = compact pills."},"metadata":{"type":["object","null"],"properties":{"size":{"type":["object","null"],"properties":{"preset":{"type":["string","null"],"maxLength":64,"description":"Visual size preset id from shared/visual-sizes.ts catalog (e.g. \"16x9-presentation\", \"ig-square\", \"youtube-thumb\"). Describes the EXPORT TARGET (PNG / PDF / PPTX render dimensions), NOT the canvas constraint at generation time. Mutually exclusive with width + height (preset wins when both are present)."},"width":{"type":["integer","null"],"minimum":320,"maximum":4096,"description":"Custom export-target width in pixels. 320..4096. Used when no preset matches the desired output dimensions. Pair with `height` for full custom dims; pair with `aspect` for aspect-driven sizing."},"height":{"type":["integer","null"],"minimum":320,"maximum":4096,"description":"Custom export-target height in pixels. 320..4096. Used with `width` for full custom dims, or with `aspect` for aspect-driven sizing."},"aspect":{"type":["string","null"],"pattern":"^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$","description":"Canonical \"W:H\" aspect emitted alongside preset / custom dims for fast consumer reads. Accepts integer or decimal ratios. Examples: \"16:9\", \"9:16\", \"1:1\", \"1.91:1\" (OG card)."},"bestFit":{"type":["boolean","null"],"description":"v1.65.1+ Phase 3 opt-in flag. When `true` (alongside `metadata.bestFit` AND `metadata.targetAspect`), signals the server orchestrator to re-invoke the Designer with the target aspect ratio so the layout reflows to fit the export shape. Feature-flagged behind `VISUAL_SIZES_PHASE3_ENABLED` server-side; when OFF the field round-trips through the response but the orchestrator follows the legacy Phase 1/2 path. Default: false."}},"additionalProperties":false,"description":"Visual-size persistence bag (v1.65.4+). Describes the EXPORT TARGET dimensions, NOT a canvas constraint at generation time. Round-trips through the response unchanged.","required":["preset","width","height","aspect","bestFit"]},"bestFit":{"type":["boolean","null"],"description":"v1.65.1+ Phase 3 server-side gate. When `true` + `targetAspect` is set + the server flag `VISUAL_SIZES_PHASE3_ENABLED` is on, the Designer is re-invoked with the target aspect ratio to reflow the layout. Independent of `metadata.size.bestFit`; the frontend mirrors this field when the toggle is on."},"targetAspect":{"type":["string","null"],"maxLength":16,"description":"v1.65.1+ Phase 3 server-side aspect ratio. Accepts \"W:H\" forms (e.g. \"9:16\", \"16:9\", \"1:1\", \"1.91:1\"). Forwarded to the Designer when `bestFit` is on."}},"additionalProperties":false,"description":"Visual-size + Best-fit metadata bag (v1.65.4 -> v1.67.12). All fields optional; legacy callers without `metadata` are byte-identical to today. The server echoes `metadata.size` back on the response so integrators can confirm the field was honoured.","required":["size","bestFit","targetAspect"]}},"additionalProperties":false,"required":["prompt","type","sections","title","subtitle","style","shapeStyle","nodes","edges","layout","theme","defaultLineStyle","defaultArrowHead","defaultConnector","defaultShadow","defaultShapeLineStyle","defaultConnectorAnimate","defaultConnectorAnimateSpeed","defaultSceneAnimation","defaultSceneAnimationSpeed","defaultSceneAnimationLoop","defaultTitleStyle","defaultDividerStyle","defaultBlockArrowSize","defaultArrowStyle","ganttHolidays","pyramid","funnel","radar","iconStyle","fontFamily","matrixColumns","matrixRows","xAxisLabel","yAxisLabel","matrixItemStyle","metadata"]},"annotations":{"title":"Get Style Options for generate_visual","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"recommend_framework","title":"Recommend Framework","description":"Recommends business / strategy / risk frameworks for a stated problem. Powered by the Jeda.ai · Visual AI framework knowledge graph (~2,100 frameworks across 19 categories, edge-curated).\n\nUse when the user describes a business problem (\"customer churn rising\", \"evaluating market entry\", \"need to assess vendor risk\") rather than naming a specific framework. Returns top-N frameworks ranked by fit, each with a concrete reason citing the specific problem signals matched.\n\nInput: just the problem statement is enough. Optional faceted filters (`persona`, `regulation`, `decision_stage`) narrow the candidate set. Set `limit` between 3 and 10 for picker UIs.\n\nPair with `generate_framework_analysis` to actually run a recommended framework against the user's inputs.\n\nExample: { \"problem_statement\": \"We need to decide whether to enter the EU SMB market in Q3\", \"decision_stage\": \"decide\", \"limit\": 5 }","inputSchema":{"type":"object","properties":{"problem_statement":{"type":"string","minLength":10,"maxLength":2000,"description":"Plain-English description of the business problem. 10–2000 chars."},"persona":{"type":"string","maxLength":64,"description":"Persona slug (e.g. \"ciso\", \"pm\", \"cfo\")."},"regulation":{"type":"string","maxLength":64,"description":"Regulation slug (e.g. \"sox\", \"gdpr\", \"iso-31000\")."},"decision_stage":{"type":"string","enum":["explore","diagnose","decide","execute","review"],"description":"Decision-lifecycle stage."},"limit":{"type":"integer","minimum":1,"maximum":20,"description":"Number of frameworks to return. Default 5; cap 20."}},"additionalProperties":false,"required":["problem_statement"]},"annotations":{"title":"Recommend Framework","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"generate_framework_analysis","title":"Generate Framework Analysis","description":"Runs a specific framework against a user's inputs and produces a full analysis: prose explanation + structured fields + a self-contained SVG visualisation. Powered by the Jeda.ai · Visual AI framework knowledge graph.\n\nALWAYS call `recommend_framework` FIRST to obtain a valid framework_id -- it returns the exact namespaced slug to pass here. Framework ids are namespaced by category (e.g. SWOT = \"cms_swot-analysis\", Porter's 5 Forces = \"cms_porters-five-forces\"); a bare slug like \"swot-analysis\" will 404.\n\nREQUIRED post-processing on success: the response's first text block contains a `curl -fsSL` save-directive for the SVG. Save the file locally and surface it as a file chip — do NOT summarise the visual in prose.\n\nInput: framework_id (namespaced slug from `recommend_framework`) + user_inputs object (per-framework field set), OR a free-text `raw_prompt` fallback.\n\nExample: { \"framework_id\": \"cms_swot-analysis\", \"user_inputs\": { \"subject\": \"Q3 EU market entry\", \"context\": \"B2B SaaS, $5M ARR, US-headquartered\" } }","inputSchema":{"type":"object","properties":{"framework_id":{"type":"string","minLength":1,"maxLength":64,"description":"Namespaced framework slug (e.g. \"cms_swot-analysis\"). Get one from `recommend_framework` -- bare slugs like \"swot-analysis\" are not valid ids."},"user_inputs":{"type":"object","additionalProperties":{},"description":"Object whose keys match the framework user-input form fields."},"raw_prompt":{"type":"string","maxLength":8000,"description":"Optional free-text prompt that REPLACES the auto-derived prompt."},"theme":{"type":"object","properties":{"preset":{"type":["string","null"],"enum":["pastel","corporate","gradient","dark","blueprint","playful","vibrant","monochrome"]}},"additionalProperties":false,"description":"Theme preset for the SVG render. Default: pastel.","required":["preset"]}},"additionalProperties":false,"required":["framework_id"]},"annotations":{"title":"Generate Framework Analysis","readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}},{"name":"generate_diagram","title":"Generate Diagram (deprecated)","description":"DEPRECATED alias for `generate_visual` (removed no earlier than v1.24.x). Use `generate_visual` going forward — identical behaviour.","inputSchema":{"type":"object","properties":{"prompt":{"type":["string","null"],"maxLength":8000,"description":"Natural language description of the diagram to generate. When provided, the server uses AI to convert this into a structured diagram spec. Max 8000 characters. Example: \"flowchart showing user login with validation and error handling\""},"type":{"type":["string","null"],"enum":["flowchart","mindmap","block-diagram","matrix","timeline","gantt","er-diagram","sequence","process-flow","pyramid","funnel","radar","fishbone"],"description":"Diagram type. Required when providing structured nodes/edges, optional with prompt."},"sections":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":["string","null"]},"title":{"type":"string"},"subtitle":{"type":["string","null"]},"items":{"type":"array","items":{"type":"string"}},"icons":{"type":["array","null"],"items":{"type":"string"}},"itemIds":{"type":["array","null"],"items":{"type":"string"}},"itemShapes":{"type":["array","null"],"items":{"type":"string"}},"itemBackgroundColors":{"type":["array","null"],"items":{"type":"string","maxLength":40}},"itemHeatIntensities":{"type":["array","null"],"items":{"type":"number","minimum":0,"maximum":1}},"sectionBackgroundColor":{"type":["string","null"],"maxLength":40},"sectionHeatIntensity":{"type":["number","null"],"minimum":0,"maximum":1},"row":{"type":["integer","null"],"minimum":0},"col":{"type":["integer","null"],"minimum":0}},"additionalProperties":false,"required":["id","title","subtitle","items","icons","itemIds","itemShapes","itemBackgroundColors","itemHeatIntensities","sectionBackgroundColor","sectionHeatIntensity","row","col"]},"description":"Matrix sections. Each section has a title, optional subtitle, and items. Used with type=\"matrix\"."},"title":{"type":["string","null"]},"subtitle":{"type":["string","null"]},"style":{"type":["string","null"],"enum":["calligraphy","clean"]},"shapeStyle":{"type":["string","null"],"enum":["calligraphy","clean"]},"nodes":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string"},"shape":{"type":["string","null"],"enum":["rectangle","rounded-rect","circle","ellipse","diamond","triangle","parallelogram","hexagon","star","pentagon","octagon","trapezoid","process","decision","terminal","data-io","document","predefined-process","manual-input","pill","cloud","callout-bubble","underline-only","cylinder","database","banner","tag","shield","cross","arrow-shape","queue"]},"text":{"type":"string"},"style":{"type":["object","null"],"properties":{"fill":{"type":["string","null"]},"stroke":{"type":["string","null"]},"strokeWidth":{"type":["number","null"]},"opacity":{"type":["number","null"],"minimum":0,"maximum":1},"cornerRadius":{"type":["number","null"]},"shadow":{"type":["boolean","null"]},"shadowLevel":{"type":["string","null"],"enum":["sm","md","lg"]},"fontSize":{"type":["number","null"]},"fontColor":{"type":["string","null"]},"lineStyle":{"type":["string","null"],"enum":["solid","dashed","dotted","dash-dot","long-dash"],"description":"Per-node outline line style. Excludes \"calligraphy\" — that mode is set per-spec via `defaultShapeLineStyle: \"calligraphy\"`, not per-node."},"iconColor":{"type":["string","null"]},"iconColors":{"type":["array","null"],"items":{"type":"string"}}},"additionalProperties":false,"required":["fill","stroke","strokeWidth","opacity","cornerRadius","shadow","shadowLevel","fontSize","fontColor","lineStyle","iconColor","iconColors"]},"width":{"type":["number","null"],"minimum":0},"height":{"type":["number","null"],"minimum":0},"icon":{"type":["string","null"]},"iconKeywords":{"type":["array","null"],"items":{"type":"string"}},"hidden":{"type":["boolean","null"]},"group":{"type":["string","null"]},"chart":{"type":["object","null"],"properties":{"type":{"type":"string","enum":["pie","donut","bar","sparkline","line"]},"data":{"type":["array","null"],"items":{"type":"object","properties":{"label":{"type":["string","null"],"maxLength":2000},"value":{"type":"number"},"color":{"type":["string","null"],"pattern":"^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$"}},"additionalProperties":false,"required":["label","value","color"]},"maxItems":64},"series":{"type":["array","null"],"items":{"type":"number"},"maxItems":512},"innerRadiusRatio":{"type":["number","null"],"minimum":0.1,"maximum":0.85},"showLabels":{"type":["boolean","null"]},"showValues":{"type":["boolean","null"]},"area":{"type":["boolean","null"]}},"additionalProperties":false,"required":["type","data","series","innerRadiusRatio","showLabels","showValues","area"]},"kpi":{"type":["object","null"],"properties":{"value":{"type":"string","maxLength":2000},"label":{"type":["string","null"],"maxLength":2000},"delta":{"type":["object","null"],"properties":{"text":{"type":"string","maxLength":2000},"direction":{"type":["string","null"],"enum":["up","down","flat"]},"invertColor":{"type":["boolean","null"]}},"additionalProperties":false,"required":["text","direction","invertColor"]},"sparkline":{"type":["array","null"],"items":{"type":"number"},"maxItems":512}},"additionalProperties":false,"required":["value","label","delta","sparkline"]},"animationLoop":{"type":["string","null"],"enum":["once","2","3","5","infinite"]}},"additionalProperties":false,"required":["id","shape","text","style","width","height","icon","iconKeywords","hidden","group","chart","kpi","animationLoop"]},"description":"Structured node definitions. Required when not using prompt mode."},"edges":{"type":["array","null"],"items":{"type":"object","properties":{"source":{"type":"string"},"target":{"type":"string"},"label":{"type":["string","null"]},"lineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"]},"connectorType":{"type":["string","null"],"enum":["straight","curved","elbow","orthogonal","bezier"]},"sourceArrow":{"type":["string","null"],"description":"Arrowhead style at the edge source end. Options: open (default) | triangle | diamond | circle | bar | dot | none."},"targetArrow":{"type":["string","null"],"description":"Arrowhead style at the edge target end. Options: open (default) | triangle | diamond | circle | bar | dot | none."},"style":{"type":["object","null"],"properties":{"stroke":{"type":["string","null"]},"strokeWidth":{"type":["number","null"]},"opacity":{"type":["number","null"],"minimum":0,"maximum":1},"fill":{"type":["string","null"]}},"additionalProperties":false,"required":["stroke","strokeWidth","opacity","fill"]},"hidden":{"type":["boolean","null"]},"animate":{"type":["string","null"],"enum":["none","flow","pulse","glow","trace","wave","lightning","beat","comet"],"description":"Connector animation. Options: none (default) | flow (dashes march) | pulse (opacity breathing) | glow (stroke-width pulse) | trace (bright dot travels along) | wave (large stroke-width oscillation). SVG-only — exports to PNG/WebP capture one frozen frame."},"animateSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Animation speed. Options: slow (3s cycle) | medium (2s, default) | fast (1s)."},"blockArrowSize":{"anyOf":[{"type":"string","enum":["small","medium","large"]},{"type":"number","minimum":1,"maximum":60}],"description":"Block Arrow size for this edge (only when arrowStyle is \"block\"). Preset names: \"small\" (slim) | \"medium\" (default) | \"large\" (chunky). OR a raw body half-width in px (1–60); head dimensions scale proportionally."},"arrowStyle":{"type":["string","null"],"enum":["calligraphy","clean","block"],"description":"Per-edge connector aesthetic mode (overrides defaultArrowStyle). Options: \"calligraphy\" | \"clean\" | \"block\". Orthogonal to lineStyle (dash pattern); all 15 combinations are valid."},"loop":{"type":["string","null"],"enum":["once","2","3","5","infinite"],"description":"Per-edge animation loop count override. Wins over the diagram-level `defaultSceneAnimationLoop`. Values are quoted strings: \"once\" | \"2\" | \"3\" | \"5\" | \"infinite\". Maps to SMIL repeatCount."}},"additionalProperties":false,"required":["source","target","label","lineStyle","connectorType","sourceArrow","targetArrow","style","hidden","animate","animateSpeed","blockArrowSize","arrowStyle","loop"]}},"layout":{"type":["object","null"],"properties":{"direction":{"type":["string","null"],"enum":["TB","LR","BT","RL","radial","assorted"]},"nodeSpacing":{"type":["number","null"],"minimum":0},"rankSpacing":{"type":["number","null"],"minimum":0},"padding":{"type":["number","null"],"minimum":0}},"additionalProperties":false,"required":["direction","nodeSpacing","rankSpacing","padding"]},"theme":{"type":["object","null"],"properties":{"preset":{"type":["string","null"]},"palette":{"type":["object","null"],"properties":{"primary":{"type":["string","null"]},"secondary":{"type":["string","null"]},"accent":{"type":["string","null"]},"background":{"type":["string","null"]},"text":{"type":["string","null"]},"border":{"type":["string","null"]},"nodeColors":{"type":["array","null"],"items":{"type":"string"}}},"additionalProperties":false,"required":["primary","secondary","accent","background","text","border","nodeColors"]},"paletteSeed":{"type":["number","null"]}},"additionalProperties":false,"required":["preset","palette","paletteSeed"]},"defaultLineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"],"description":"v1.45.2+ — Default DASH PATTERN applied to all edges that don't specify their own. Options: \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\". Combines orthogonally with `defaultArrowStyle` (calligraphy/clean/block) for 15 total visual combinations. Legacy values \"calligraphy\" and \"block-arrow\" are still accepted for backward compat (the renderer maps them to defaultArrowStyle=\"calligraphy\"/\"block\" with lineStyle=\"solid\"); new callers should use `defaultArrowStyle` for the aesthetic mode."},"defaultArrowHead":{"type":["string","null"],"description":"Default arrowhead style applied to all edges that don't specify their own."},"defaultConnector":{"type":["string","null"],"enum":["straight","curved","elbow","orthogonal","bezier"],"description":"Default connector type applied to all edges that don't specify their own."},"defaultShadow":{"type":["string","null"],"enum":["none","sm","md","lg"],"description":"Default shadow level applied to all nodes."},"defaultShapeLineStyle":{"type":["string","null"],"enum":["calligraphy","block-arrow","solid","dashed","dotted","dash-dot","long-dash"],"description":"Default line style for shape outlines (node borders). v1.44.1 — also drives shape rendering mode: \"calligraphy\" gives hand-drawn rough shapes (ink-ribbon outlines); \"solid\" | \"dashed\" | \"dotted\" | \"dash-dot\" | \"long-dash\" give crisp geometric shapes with that outline pattern. Independent of edge/connector line style."},"defaultConnectorAnimate":{"type":["string","null"],"enum":["none","flow","pulse","glow","trace","wave","lightning","beat","comet"],"description":"Animate every connector edge. Options: none (default) | flow (dashes march along the line) | pulse (gentle opacity breathing) | glow (subtle stroke-width pulse) | trace (bright dot traverses each edge) | wave (large stroke-width oscillation). SVG-only — exports to PNG / WebP / OG-image freeze on first frame."},"defaultConnectorAnimateSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Animation speed when defaultConnectorAnimate is set. Options: slow (3s cycle) | medium (2s, default) | fast (1s)."},"defaultSceneAnimation":{"type":["string","null"],"enum":["none","fade","zoom","zoom-pan","flow","wave-sweep","build-up","flow-zoom-pan"],"description":"Whole-visual reveal animation. Plays ONCE when the SVG is displayed, freezes at the final state. Options: none (default) | fade (entire visual fades in) | zoom (scales in from 70% to 100%) | zoom-pan (Ken Burns camera move) | flow (each node + edge appears sequentially in spec order). Orthogonal to defaultConnectorAnimate — both can run together. SVG-only — PNG / WebP exports show the fully-revealed final state (rasteriser ignores SMIL; static attrs hold the final value). Animated GIF / MP4 client-side encoder ticks the scene through."},"defaultSceneAnimationSpeed":{"type":["string","null"],"enum":["slow","medium","fast"],"description":"Scene animation speed. Options: slow (1.5× duration) | medium (default) | fast (0.6× duration)."},"defaultSceneAnimationLoop":{"type":["string","null"],"enum":["once","2","3","5","infinite"],"description":"Animation loop count. v1.50.9+ — applies to BOTH connector animations (flow / pulse / glow / wave / trace / lightning / beat / comet) AND scene animations (fade / zoom / zoom-pan / flow / wave-sweep / build-up / flow-zoom-pan). Options (all quoted strings): \"once\" (default — plays once and freezes) | \"2\" | \"3\" | \"5\" (repeat that many times then freeze) | \"infinite\" (loop forever; best for live presentations and the historical default for connector animations pre-v1.50.9). Maps to SMIL repeatCount."},"defaultTitleStyle":{"type":["string","null"],"enum":["plain","accent-bar","underline","boxed"],"description":"Title decoration treatment. Options: \"plain\" (default, just the title text), \"accent-bar\" (small accent-coloured vertical bar to the left of the title), \"underline\" (accent-coloured horizontal stroke below the title), \"boxed\" (title rendered in a subtle bordered + drop-shadowed pill — strongest framing). Affects only the diagram title, not subtitles or section headers."},"defaultDividerStyle":{"type":["string","null"],"enum":["subtle","normal","bold","dashed","dotted","none"],"description":"Divider / grid-line / table-border style. Governs the structural rule-lines a diagram emits: matrix grid lines, gantt phase column dividers, sequence lifelines, swimlane (process-flow) lane boundaries. Options: \"subtle\" (barely-there hairline), \"normal\" (default — pre-v1.55.0 baseline of 1 px / 25 % opacity), \"bold\" (emphasised grid presence), \"dashed\" (6,4 dasharray editorial feel), \"dotted\" (1,3 dasharray lightweight rhythm), \"none\" (no divider emission — cells separated only by colour banding). Useful for comparison tables (try \"bold\") or minimalist matrices (try \"none\")."},"defaultBlockArrowSize":{"anyOf":[{"type":"string","enum":["small","medium","large"]},{"type":"number","minimum":1,"maximum":60}],"description":"Default Block Arrow size when `defaultArrowStyle` (or per-edge arrowStyle) is \"block\". Options: \"small\" (slim — body ~14 px) | \"medium\" (default — body ~24 px) | \"large\" (chunky — body ~36 px). Or a raw body half-width number in px (1–60); head dimensions scale proportionally. Per-edge `blockArrowSize` overrides this default."},"defaultArrowStyle":{"type":["string","null"],"enum":["calligraphy","clean","block"],"description":"Connector aesthetic mode applied to all edges that don't set their own `arrowStyle`. Options: \"calligraphy\" (default — hand-drawn ink-ribbon connectors) | \"clean\" (standard stroked-line connectors) | \"block\" (chunky outlined block-arrow connectors with integrated triangular head). Orthogonal to defaultLineStyle (which now controls dash pattern only) — all 15 combinations of arrowStyle × lineStyle are valid."},"ganttHolidays":{"type":["array","null"],"items":{"type":"string","maxLength":32},"maxItems":200,"description":"Gantt-only: ISO 8601 holiday dates (e.g. [\"2026-12-25\", \"2026-01-01\"]). Rendered as gray vertical stripes alongside Sat/Sun (always weekend). Only applies in date-driven mode (every node has start/end). Other diagram types ignore this field."},"pyramid":{"type":["object","null"],"properties":{"tierLabels":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50},"tierValues":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"inverted":{"type":["boolean","null"]},"tipRatio":{"type":["number","null"],"minimum":0,"maximum":0.95}},"additionalProperties":false,"description":"Pyramid-only payload. Required when type=\"pyramid\". Fields: tierLabels (string[], 1..50, ordered base→tip), tierValues (optional string[]), inverted (boolean), tipRatio (0..0.95, default 0.15). Bloom's Taxonomy, Maslow's Hierarchy, Capability Maturity, DIKW.","required":["tierLabels","tierValues","inverted","tipRatio"]},"funnel":{"type":["object","null"],"properties":{"stageLabels":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50},"stageValues":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"dropOff":{"type":["array","null"],"items":{"type":"string"},"maxItems":50},"bottomRatio":{"type":["number","null"],"minimum":0.05,"maximum":0.99}},"additionalProperties":false,"description":"Funnel-only payload. Required when type=\"funnel\". Fields: stageLabels (string[], 1..50, ordered top→bottom), stageValues (optional string[]), dropOff (optional string[] of length stageLabels-1), bottomRatio (0.05..0.99, default 0.30). Sales pipeline, AARRR, ToFu/MoFu/BoFu.","required":["stageLabels","stageValues","dropOff","bottomRatio"]},"radar":{"type":["object","null"],"properties":{"axes":{"type":"array","items":{"type":"string"},"minItems":3,"maxItems":50},"series":{"type":"array","items":{"type":"object","properties":{"name":{"type":["string","null"]},"values":{"type":"array","items":{"type":"number"},"maxItems":50}},"additionalProperties":false,"required":["name","values"]},"minItems":1,"maxItems":10},"maxValue":{"type":["number","null"],"minimum":1},"rings":{"type":["integer","null"],"minimum":1,"maximum":10}},"additionalProperties":false,"description":"Radar/spider-chart payload. Required when type=\"radar\". Fields: axes (string[], 3..50), series ({name, values: number[]}[], 1..10), maxValue (default 100), rings (default 4). Use multiple series for comparison overlays — first solid, rest dashed at 50% opacity.","required":["axes","series","maxValue","rings"]},"iconStyle":{"type":["string","null"],"description":"Icon rendering style. \"clean-mono\" = precise strokes + single color, \"clean-colorful\" = precise strokes + vibrant colors, \"calligraphy-mono\" = hand-drawn ink + single color, \"calligraphy-colorful\" = hand-drawn ink + vibrant colors, \"none\" = hide icons."},"fontFamily":{"type":["string","null"],"description":"Font family for diagram text. Options: inter, poppins (sans-serif); playfair (serif); kalam, handlee (handwritten); fredoka (display); mono (monospace). Omit for style-matched default (Handlee for calligraphy, Inter for clean)."},"matrixColumns":{"type":["array","null"],"items":{"type":"string"},"description":"Column header labels for 2D matrix grid (e.g., [\"High Vision\", \"Low Vision\"])."},"matrixRows":{"type":["array","null"],"items":{"type":"string"},"description":"Row header labels for 2D matrix grid (e.g., [\"High Execution\", \"Low Execution\"])."},"xAxisLabel":{"type":["string","null"],"description":"X-axis title for 2D matrix grid (e.g., \"Completeness of Vision\")."},"yAxisLabel":{"type":["string","null"],"description":"Y-axis title for 2D matrix grid (e.g., \"Ability to Execute\")."},"matrixItemStyle":{"type":["string","null"],"enum":["card","dot","text","badge"],"description":"Item display style for matrix diagrams. \"card\" (default) = rectangular cards, \"dot\" = scatter points, \"text\" = plain text, \"badge\" = compact pills."},"metadata":{"type":["object","null"],"properties":{"size":{"type":["object","null"],"properties":{"preset":{"type":["string","null"],"maxLength":64,"description":"Visual size preset id from shared/visual-sizes.ts catalog (e.g. \"16x9-presentation\", \"ig-square\", \"youtube-thumb\"). Describes the EXPORT TARGET (PNG / PDF / PPTX render dimensions), NOT the canvas constraint at generation time. Mutually exclusive with width + height (preset wins when both are present)."},"width":{"type":["integer","null"],"minimum":320,"maximum":4096,"description":"Custom export-target width in pixels. 320..4096. Used when no preset matches the desired output dimensions. Pair with `height` for full custom dims; pair with `aspect` for aspect-driven sizing."},"height":{"type":["integer","null"],"minimum":320,"maximum":4096,"description":"Custom export-target height in pixels. 320..4096. Used with `width` for full custom dims, or with `aspect` for aspect-driven sizing."},"aspect":{"type":["string","null"],"pattern":"^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$","description":"Canonical \"W:H\" aspect emitted alongside preset / custom dims for fast consumer reads. Accepts integer or decimal ratios. Examples: \"16:9\", \"9:16\", \"1:1\", \"1.91:1\" (OG card)."},"bestFit":{"type":["boolean","null"],"description":"v1.65.1+ Phase 3 opt-in flag. When `true` (alongside `metadata.bestFit` AND `metadata.targetAspect`), signals the server orchestrator to re-invoke the Designer with the target aspect ratio so the layout reflows to fit the export shape. Feature-flagged behind `VISUAL_SIZES_PHASE3_ENABLED` server-side; when OFF the field round-trips through the response but the orchestrator follows the legacy Phase 1/2 path. Default: false."}},"additionalProperties":false,"description":"Visual-size persistence bag (v1.65.4+). Describes the EXPORT TARGET dimensions, NOT a canvas constraint at generation time. Round-trips through the response unchanged.","required":["preset","width","height","aspect","bestFit"]},"bestFit":{"type":["boolean","null"],"description":"v1.65.1+ Phase 3 server-side gate. When `true` + `targetAspect` is set + the server flag `VISUAL_SIZES_PHASE3_ENABLED` is on, the Designer is re-invoked with the target aspect ratio to reflow the layout. Independent of `metadata.size.bestFit`; the frontend mirrors this field when the toggle is on."},"targetAspect":{"type":["string","null"],"maxLength":16,"description":"v1.65.1+ Phase 3 server-side aspect ratio. Accepts \"W:H\" forms (e.g. \"9:16\", \"16:9\", \"1:1\", \"1.91:1\"). Forwarded to the Designer when `bestFit` is on."}},"additionalProperties":false,"description":"Visual-size + Best-fit metadata bag (v1.65.4 -> v1.67.12). All fields optional; legacy callers without `metadata` are byte-identical to today. The server echoes `metadata.size` back on the response so integrators can confirm the field was honoured.","required":["size","bestFit","targetAspect"]}},"additionalProperties":false,"required":["prompt","type","sections","title","subtitle","style","shapeStyle","nodes","edges","layout","theme","defaultLineStyle","defaultArrowHead","defaultConnector","defaultShadow","defaultShapeLineStyle","defaultConnectorAnimate","defaultConnectorAnimateSpeed","defaultSceneAnimation","defaultSceneAnimationSpeed","defaultSceneAnimationLoop","defaultTitleStyle","defaultDividerStyle","defaultBlockArrowSize","defaultArrowStyle","ganttHolidays","pyramid","funnel","radar","iconStyle","fontFamily","matrixColumns","matrixRows","xAxisLabel","yAxisLabel","matrixItemStyle","metadata"]},"annotations":{"title":"Generate Diagram (deprecated)","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}}]},"jsonrpc":"2.0","id":2},"http_status":200,"headers":{"content-type":"application/json","x-ratelimit-limit":"30","x-ratelimit-remaining":"29","x-ratelimit-reset":"1786983279"}}},"prompts_list":{"status":"missing","latency_ms":467.76,"details":{"url":"https://mcp.jeda.ai/mcp","payload":{"jsonrpc":"2.0","id":3,"error":{"code":-32601,"message":"Method not found"}},"http_status":200,"headers":{"content-type":"application/json","x-ratelimit-limit":"30","x-ratelimit-remaining":"28","x-ratelimit-reset":"1786983279"},"reason":"not_supported"}},"prompt_get":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"resources_list":{"status":"missing","latency_ms":74.6,"details":{"url":"https://mcp.jeda.ai/mcp","payload":{"jsonrpc":"2.0","id":5,"error":{"code":-32601,"message":"Method not found"}},"http_status":200,"headers":{"content-type":"application/json","x-ratelimit-limit":"30","x-ratelimit-remaining":"28","x-ratelimit-reset":"1786983279"},"reason":"not_supported"}},"resource_read":{"status":"missing","latency_ms":null,"details":{"reason":"not_advertised"}},"determinism_probe":{"status":"ok","latency_ms":232.06,"details":{"attempts":2,"successful":2,"matches":2,"stable_ratio":1.0,"baseline_signature":"c5cb03f13ae629ef2071a1401dc78ddba62bba98d471f95d53773993f93b8001","errors":[]}},"instruction_tool_reference_probe":{"status":"ok","latency_ms":null,"details":{"referenced_tools":[],"missing_tools":[],"observed_tool_count":5}},"session_resume_probe":{"status":"warning","latency_ms":null,"details":{"reason":"no_session_id","transport":"streamable-http","resume_expected":true,"protocol_version":"2025-03-26"}},"step_up_auth_probe":{"status":"missing","latency_ms":null,"details":{"oauth_present":false,"auth_required_checks":[],"supported_scopes":[],"scope_specificity_ratio":0.0,"broad_scopes":[],"challenge_headers":[],"step_up_signals":[],"minimal_scope_documented":false}},"transport_compliance_probe":{"status":"warning","latency_ms":74.27,"details":{"transport":"streamable-http","session_id_present":false,"protocol_header_present":false,"last_event_id_visible":false,"requested_protocol_version":"2025-03-26","bad_protocol_status_code":400,"bad_protocol_payload":{"jsonrpc":"2.0","error":{"code":-32000,"message":"Bad Request: Unsupported protocol version: 1999-99-99 (supported versions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07)"},"id":null},"bad_protocol_headers":{"content-type":"application/json","x-ratelimit-limit":"30","x-ratelimit-remaining":"28","x-ratelimit-reset":"1786983279"},"bad_protocol_error":null,"delete_status_code":null,"delete_error":null,"expired_session_status_code":null,"expired_session_error":null,"issues":["missing_session_id","missing_protocol_header"]}},"utility_coverage_probe":{"status":"missing","latency_ms":36.88,"details":{"completions":{"advertised":false,"sample_target":null,"live_probe":"not_executed"},"pagination":{"supported":false,"next_cursor_methods":[],"metadata_signal":false},"tasks":{"advertised":false,"probe_status":"missing","http_status":200},"initialize_capability_keys":["tools"]}},"advanced_capabilities_probe":{"status":"missing","latency_ms":null,"details":{"capabilities":{"prompts":false,"resources":false,"completions":false,"roots":false,"sampling":false,"elicitation":false,"structured_outputs":false,"resource_links":false},"enabled_count":0,"enabled":[],"initialize_capability_keys":["tools"]}},"tool_snapshot_probe":{"status":"ok","latency_ms":null,"details":{"current_tool_count":5,"previous_tool_count":5,"similarity":1.0,"added":[],"removed":[],"changed_outputs":[]}},"connector_replay_probe":{"status":"ok","latency_ms":null,"details":{"backward_compatible":true,"would_break_after_refresh":false,"added_tools":[],"removed_tools":[],"required_arg_breaks":[],"output_breaks":[],"additive_output_changes":[]}},"request_association_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_request_association_capabilities_advertised"}},"interactive_flow_probe":{"status":"ok","latency_ms":null,"details":{"risk_hits":[],"safe_hits":["login"],"oauth_supported":false,"prompt_available":false}},"action_safety_probe":{"status":"ok","latency_ms":null,"details":{"summary":{"tool_count":5,"high_risk_tools":0,"destructive_tools":0,"exec_tools":0,"egress_tools":3,"secret_tools":0,"bulk_access_tools":0,"declared_non_read_only_tools":0,"annotation_conflict_tools":0,"risk_distribution":{"low":2,"medium":3,"high":0,"critical":0},"capability_distribution":{"read":5,"network":3},"has_mutating_capability":false,"has_non_read_capability":false},"auth_present":false,"safeguard_count":3,"confirmation_signals":["generate_visual"],"reason":null}},"official_registry_probe":{"status":"ok","latency_ms":null,"details":{"registry_source":"official_registry","registry_identifier":"ai.jeda/jeda-ai","direct_match":true,"official_peer_count":1}},"provenance_divergence_probe":{"status":"not_assessed","latency_ms":null,"details":{"direct_official_match":true,"registry_title":null,"server_card_title":null,"registry_version":null,"server_card_version":null,"registry_homepage":null,"server_card_homepage":null,"registry_repository":null,"server_card_repository":null,"drift_fields":[],"metadata_document_count":2,"compared_fields":["title","version","homepage","repository"],"readable_sources":["registry"],"comparable_field_count":0}},"schema_divergence_probe":{"status":"missing","latency_ms":null,"details":{"reason":"no_server_card_tools","compared_tool_count":0,"compared_dimensions":["server_name","server_version","declared_vs_observed_auth","tool_membership","parameter_names","required_parameters","parameter_types","output_schema_presence"],"server_name_mismatch":false,"card_server_name":null,"live_server_name":"jeda-ai","server_version_mismatch":false,"card_server_version":null,"live_server_version":"1.100.191","auth_scheme_mismatch":false}},"connector_publishability_probe":{"status":"warning","latency_ms":null,"details":{"transport":"streamable-http","tool_count":5,"high_risk_tools":0,"blockers":["protocol_version","session_resume","step_up_auth","transport_compliance","request_association","server_card"],"criteria":{"remote_transport":true,"initialize":true,"tools_list":true,"protocol_version":false,"session_resume":false,"step_up_auth":false,"transport_compliance":false,"connector_replay":true,"request_association":false,"action_safety":true,"server_card":false,"tool_surface":true,"auth_flow":true}}}}},"active_alerts":[],"maintainer_analytics":{},"public_server_reputation":{},"maintainer_response_quality":{},"maintainer_annotations":[],"maintainer_rebuttals":[],"security_posture_summary":{},"tool_security_inventory":[],"transport_compliance":{},"utility_coverage":{},"write_action_governance":{},"provenance_divergence":{},"alias_consolidation":{},"alert_routing":{},"authenticated_validation":{},"hosted_runtime":{},"action_controls_diff":null,"benchmark_tasks":[],"latest_capability_counts":{},"point_loss_breakdown":[],"verdict_traces":{},"current_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_f4082af80c625e6f","generated_at":"2026-08-17T17:22:48.482180+00:00","trust_evaluated_at":"2026-08-17T17:22:48.482180+00:00","evidence_revision":"875f12fb87f3f128cad43128","source":"current_snapshot","server":"ai.jeda/jeda-ai","last_validated_at":"2026-08-17T16:13:41.282487+00:00","validation_age_hours":1.15,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-17T16:13:41.282487+00:00","age_hours":1.15,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":63.54,"raw_score":63.54,"confidence_score":100.0,"confidence_weighted_score":63.5,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":63.54,"display_score":63.54,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"no blocking gaps found in current evidence","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":1},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":1.15,"live_check_count":14,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":14,"validation_age_hours":1.15,"freshness_threshold_hours":24}},"active_alerts":[],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-17T17:22:48.482180+00:00"}},"trust_snapshot":{"schema_version":"verify.trust_snapshot.v1","snapshot_id":"trustsnap_f4082af80c625e6f","generated_at":"2026-08-17T17:22:48.482180+00:00","trust_evaluated_at":"2026-08-17T17:22:48.482180+00:00","evidence_revision":"875f12fb87f3f128cad43128","source":"current_snapshot","server":"ai.jeda/jeda-ai","last_validated_at":"2026-08-17T16:13:41.282487+00:00","validation_age_hours":1.15,"freshness":{"schema_version":"verify.freshness_profile.v1","last_validated_at":"2026-08-17T16:13:41.282487+00:00","age_hours":1.15,"bucket":"verified_last_24h","label":"Verified in last 24h","badges":["verified_last_24h"],"freshness_sla_hours":720.0,"freshness_sla_status":"met","stale_score_suppressed":false,"display_score":63.54,"raw_score":63.54,"confidence_score":100.0,"confidence_weighted_score":63.5,"tier_status":[{"tier":"community","label":"Community","freshness_sla_hours":720,"met":true,"priority_revalidation":false},{"tier":"pro","label":"Pro","freshness_sla_hours":168,"met":true,"priority_revalidation":true},{"tier":"enterprise","label":"Enterprise","freshness_sla_hours":24,"met":true,"priority_revalidation":true}]},"current_status":"healthy","current_score":63.54,"display_score":63.54,"stale_score_suppressed":false,"production_trust_decision":{"schema_version":"verify.executive_verdict.v1","decision":"Allow with approval","why":"no blocking gaps found in current evidence","next_action":"export policy, require approval for writes, add authenticated validation","reason_count":1},"production_readiness_class":{"code":"safe_for_evaluation","label":"Safe for evaluation","reason":"The server is suitable for evaluation, but remaining gaps should be resolved before broad production use."},"evidence_confidence":{"score":100.0,"label":"high","validation_age_hours":1.15,"live_check_count":14,"basis":{"evidence_bearing_validations":20,"affirmative_live_check_count":14,"validation_age_hours":1.15,"freshness_threshold_hours":24}},"active_alerts":[],"active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-17T17:22:48.482180+00:00"}},"agent_commerce":{},"latest_claim":null,"maintainer_profile_slug":null,"watch_summary":{},"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"trust_evaluated_at":"2026-08-17T17:22:48.482180+00:00","evidence_revision":"875f12fb87f3f128cad43128","active_alert_summary":{"critical":0,"high":0,"medium":0,"low":0,"high_or_critical":0,"total":0},"materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-17T17:22:48.482180+00:00"},"owner_opted_out":false,"observed_attention":{"schema":"verify.observed_attention.v1","window_days":30,"level":"none","label":"No observed attention","summary":"No recent machine-readable trust or discovery activity observed for this server.","segments":{"useful_ai_user":{"level":"none","observed":false,"description":"AI-assisted user sessions such as ChatGPT/User or Claude/User."},"machine_trust_evaluator":{"level":"none","observed":false,"description":"Synthetic sessions inspecting multiple trust surfaces such as report, policy, ledger, badge, trust-summary, or compare."},"possible_agent_or_script":{"level":"none","observed":false,"description":"Structured direct sessions with rapid profile, compare, report, policy, badge, or trust-surface fan-out."},"isolated_machine_surface":{"level":"none","observed":false,"description":"Aged-out direct synthetic singleton sessions that touched a machine-readable trust surface without becoming a broader evaluator."},"ai_crawler":{"level":"none","observed":false,"description":"Known AI crawler activity such as ClaudeBot, GPTBot, or similar crawlers."},"search_crawler":{"level":"none","observed":false,"description":"Search and SEO crawler activity."},"browser_like_automation":{"level":"none","observed":false,"description":"Browser-like synthetic sessions with rapid structured endpoint activity."},"confirmed_human":{"level":"none","observed":false,"description":"Confirmed browser-session human activity."}},"surfaces_observed":{"server_profile":false,"compare":false,"compare_json":false,"compare_api":false,"report_json":false,"policy":false,"ledger":false,"badge_metadata":false,"badge_svg":false,"trust_summary":false,"mcp_tool":false},"claim_prompt":{"recommended":false,"reason":"No claim prompt is recommended from observed attention in the current window."},"notes":["Observed attention is based on segmented first-party telemetry.","Crawler and evaluator activity is not treated as confirmed human demand.","Public levels are bucketed to avoid exposing raw traffic counts."]},"owner_activation":{"claim_recommended":false,"reason":"no_observed_attention"},"snapshot_id":"trustsnap_f4082af80c625e6f"}],"rows":[{"label":"Snapshot ID","values":["trustsnap_f4082af80c625e6f"]},{"label":"Status","values":["healthy"]},{"label":"Score","values":[63.54]},{"label":"Production readiness","values":["Safe for evaluation"]},{"label":"Production trust decision","values":["Allow with approval"]},{"label":"Recommended policy","values":["Block"]},{"label":"Observed Attention","values":["No observed attention"]},{"label":"Evidence confidence","values":[100.0]},{"label":"Freshness","values":["n/a"]},{"label":"Latency","values":["n/a"]},{"label":"Spec recency","values":[2.0]},{"label":"Session resume","values":[3.0]},{"label":"Step-up auth","values":[0.0]},{"label":"Transport compliance","values":[2.0]},{"label":"Utility coverage","values":[0.0]},{"label":"Publishability","values":[2.0]},{"label":"Connector replay","values":[4.0]},{"label":"Request association","values":[0.0]},{"label":"Action safety","values":[3.0]},{"label":"Registry presence","values":[4.0]},{"label":"Provenance divergence","values":[null]},{"label":"Client compatibility: ChatGPT","values":["unknown"]},{"label":"Client compatibility: Claude","values":["unknown"]},{"label":"Write-action publishing","values":["unknown"]},{"label":"Snapshot churn risk","values":["unknown"]},{"label":"Transport","values":["streamable-http"]},{"label":"Auth","values":["Unauthenticated / none"]},{"label":"Tools","values":[5]},{"label":"Prompts","values":[0]},{"label":"Resources","values":[0]},{"label":"OAuth","values":[false]},{"label":"DCR","values":[false]},{"label":"Taxonomy","values":[""]},{"label":"Recommended for","values":["none"]},{"label":"Top alerts","values":["none"]}],"partial":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"cache_note":"Compact compare fallback response; deep compare evidence is deferred to protect web capacity.","trust_evaluated_at":"2026-08-17T17:22:48.482180+00:00","materialization":{"state":"partial","trust_core_complete":true,"fields_unavailable":["tool_security_inventory","security_posture_summary","write_action_governance","capability_taxonomy","remediations"],"materialized_at":"2026-08-17T17:22:48.530666+00:00"}}