{"ok":true,"site":{"host":"median-viz.vercel.app","url":"https://median-viz.vercel.app/studio","type":"live","desc":"Animated charts with Next.js + Tailwind + Plotly","tools":[{"name":"inspect_dataset","kind":"answer","impl":"imperative","description":"Use this to learn which demographics, comparisons, metrics, dates, and data-quality constraints the current Median Viz Studio demo supports. Returns bounded metadata only, never raw rows.","title":"Inspect Studio dataset","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/studio","pages":["/studio","/"]},{"name":"get_workspace_state","kind":"answer","impl":"imperative","description":"Use this to understand exactly what the human is currently viewing in Median Viz Studio, including filters, metric, demographic pivot, comparison, chart, animation frame, availability, and relevant quality warnings.","title":"Get current Studio view","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/studio","pages":["/studio","/"]},{"name":"get_current_result_summary","kind":"answer","impl":"imperative","description":"Use this to answer questions about the analytical result currently visible in Median Viz Studio. Returns aggregate-safe totals and a deterministic bounded top-and-bottom segment summary; never raw fixture rows.","title":"Summarize current Studio result","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/studio","pages":["/studio","/"]},{"name":"configure_analysis","kind":"act","impl":"imperative","description":"Change one or more supplied analysis settings in the visible Studio workspace: metric, one demographic pivot, comparison, or compatible visualization. Use expectedRevision when refining a view you previously inspected.","title":"Configure Studio analysis","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"metric":{"type":"string","enum":["impressions","clicks","spend","conversions","ctr","cpm","cpc","cvr","cpa"]},"demographicDimension":{"description":"Select exactly one demographic pivot. A two-value array is accepted only so the capability can return the structured unsupported-intersection error.","oneOf":[{"type":"string","enum":["job_function","seniority","job_title","company","company_size","industry","country","region","county"]},{"type":"array","items":{"type":"string","enum":["job_function","seniority","job_title","company","company_size","industry","country","region","county"]},"minItems":2,"maxItems":2,"uniqueItems":true}]},"comparisonDimension":{"type":"string","enum":["none","product_ad_set","product_campaign","time"]},"visualization":{"type":"string","enum":["bar","heatmap","line"]},"expectedRevision":{"type":"integer","minimum":0,"description":"Optional optimistic concurrency guard. The mutation is rejected unless the workspace is still at this revision."}},"anyOf":[{"required":["metric"]},{"required":["demographicDimension"]},{"required":["comparisonDimension"]},{"required":["visualization"]}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/studio","pages":["/studio","/"]},{"name":"apply_filters","kind":"act","impl":"imperative","description":"Replace supplied Product Campaign, Product Ad Set, or date-range filters in the visible Studio workspace using only the listed demo-safe values. Unspecified filters remain unchanged except that replacing Product Campaign clears Product Ad Set unless both are supplied.","title":"Apply Studio filters","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"type":"string","const":"replace","description":"The workspace currently supports single-value filters, so supplied fields replace their current values."},"productCampaignId":{"type":"string","enum":["all","pc_demo_001","pc_demo_002"]},"productAdSetId":{"type":"string","enum":["all","pas_demo_001","pas_demo_002","pas_demo_003"]},"startDate":{"type":"string","enum":["2026-08-08","2026-08-09","2026-08-10","2026-08-11","2026-08-12","2026-08-13","2026-08-14","2026-08-15","2026-08-16","2026-08-17","2026-08-18","2026-08-19","2026-08-20","2026-08-21"]},"endDate":{"type":"string","enum":["2026-08-08","2026-08-09","2026-08-10","2026-08-11","2026-08-12","2026-08-13","2026-08-14","2026-08-15","2026-08-16","2026-08-17","2026-08-18","2026-08-19","2026-08-20","2026-08-21"]},"expectedRevision":{"type":"integer","minimum":0,"description":"Optional optimistic concurrency guard. The mutation is rejected unless the workspace is still at this revision."}},"anyOf":[{"required":["productCampaignId"]},{"required":["productAdSetId"]},{"required":["startDate"]},{"required":["endDate"]}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/studio","pages":["/studio","/"]},{"name":"set_animation","kind":"act","impl":"imperative","description":"Configure the visible Studio day-by-day animation using the supported time comparison, playback state, and report-date frame. Use mode day_by_day to show and animate the daily trend.","title":"Configure Studio animation","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["day_by_day","off"],"description":"day_by_day selects the supported time comparison and line visualization; off disables playback without changing the analytical selection."},"enabled":{"type":"boolean"},"playing":{"type":"boolean"},"currentFrame":{"type":"string","enum":["2026-08-08","2026-08-09","2026-08-10","2026-08-11","2026-08-12","2026-08-13","2026-08-14","2026-08-15","2026-08-16","2026-08-17","2026-08-18","2026-08-19","2026-08-20","2026-08-21"]},"expectedRevision":{"type":"integer","minimum":0,"description":"Optional optimistic concurrency guard. The mutation is rejected unless the workspace is still at this revision."}},"anyOf":[{"required":["mode"]},{"required":["enabled"]},{"required":["playing"]},{"required":["currentFrame"]}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/studio","pages":["/studio","/"]},{"name":"reset_view","kind":"act","impl":"imperative","description":"Reset the visible Studio analysis, filters, visualization, and animation to the default view while preserving the loaded Northstar dataset.","title":"Reset Studio analysis","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","additionalProperties":false,"properties":{"expectedRevision":{"type":"integer","minimum":0,"description":"Optional optimistic concurrency guard. The mutation is rejected unless the workspace is still at this revision."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/studio","pages":["/studio","/"]}],"category":"Productivity & Business","apiSurface":"spec","toolCount":7}}