{"ok":true,"site":{"host":"livesignal-chi.vercel.app","url":"https://livesignal-chi.vercel.app/","type":"live","desc":"Ask a question, let ChatGPT find the useful parts of YouTube videos, then edit and share the visual guide it creates.","tools":[{"name":"identify_agent","kind":"act","impl":"imperative","description":"Optional connection handshake. Identify the client and its capabilities so the shared workspace can show which agent is present. Call once when opening LiveSignal and again when reconnecting.","inputSchema":{"type":"object","properties":{"client":{"type":"string","description":"Human-readable client name, for example ChatGPT or Claude Code."},"agentId":{"type":"string","description":"Optional client-local agent or session identifier."},"capabilities":{"type":"array","items":{"type":"string"},"description":"Optional capabilities this agent can perform in this workspace."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_workspace_state","kind":"answer","impl":"imperative","description":"Returns the current visible research brief, sources, timestamped evidence, evidence draft, visual canvas, and publication status.","hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"start_canvas_collaboration","kind":"act","impl":"imperative","description":"Starts or resumes a live human-agent canvas session. Call once after creating the canvas, then repeatedly call wait_for_collaboration_event until the human finishes the session.","hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"wait_for_collaboration_event","kind":"act","impl":"imperative","description":"Waits for the next saved canvas-change batch, actionable human comment, or session-finished signal. Re-call after handling each event or timeout while the session remains active.","inputSchema":{"type":"object","properties":{"sessionId":{"type":"string"},"afterSequence":{"type":"number","description":"Last handled canvas-change sequence. Use 0 for a new session."},"timeoutMs":{"type":"number","description":"Renewable wait duration, capped at 45000 ms."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"finish_canvas_collaboration","kind":"act","impl":"imperative","description":"Finishes the active canvas collaboration session when the human asks to close the case. Saved work remains on the page.","inputSchema":{"type":"object","properties":{"reason":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_human_revisions","kind":"answer","impl":"imperative","description":"Returns saved human edits that the agent has not yet acknowledged, plus unsaved-change count and the current shared artifact.","hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"acknowledge_human_revisions","kind":"act","impl":"imperative","description":"Marks human edits as seen after the agent has incorporated or responded to them.","inputSchema":{"type":"object","properties":{"all":{"type":"boolean"},"revisionIds":{"type":"array","items":{"type":"string"}}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"wait_for_research_request","kind":"act","impl":"imperative","description":"Waits for the human to submit a new one-line goal from LiveSignal's consumer entry screen. Use after opening a blank LiveSignal page and telling the human you are ready for their request.","inputSchema":{"type":"object","properties":{"timeoutMs":{"type":"number","description":"Wait duration in milliseconds, capped at 45000."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_agent_comments","kind":"answer","impl":"imperative","description":"Returns actionable comments the human attached to a canvas block or the whole artifact. Check for pending comments during active collaboration, then research and answer them with evidence-backed canvas updates.","inputSchema":{"type":"object","properties":{"status":{"type":"string","enum":["open","pending","researching","answered","all"]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"wait_for_agent_comment","kind":"act","impl":"imperative","description":"Waits briefly for the human's next canvas comment and returns it with block and evidence context as soon as it is sent. Use during an active co-creation session after telling the human you are listening.","inputSchema":{"type":"object","properties":{"timeoutMs":{"type":"number","description":"Wait duration in milliseconds, capped at 45000."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"claim_agent_comment","kind":"act","impl":"imperative","description":"Marks one human canvas comment as actively being researched and shows the agent's plan in the shared interface. Call before opening more videos or changing the canvas.","inputSchema":{"type":"object","properties":{"commentId":{"type":"string"},"plan":{"type":"string"}},"required":["commentId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"answer_agent_comment","kind":"act","impl":"imperative","description":"Closes one human canvas comment after the agent has researched it and made any scoped canvas change. Summarize what was learned and identify new evidence or updated blocks so the human can inspect the result.","inputSchema":{"type":"object","properties":{"commentId":{"type":"string"},"response":{"type":"string"},"addedEvidenceIds":{"type":"array","items":{"type":"string"}},"updatedBlockIds":{"type":"array","items":{"type":"string"}}},"required":["commentId","response"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"begin_research","kind":"act","impl":"imperative","description":"Start here for a new user request. Creates a clean LiveSignal project, records the agent-prepared brief, and returns the autonomous video-research workflow.","inputSchema":{"type":"object","properties":{"request":{"type":"string"},"mustCover":{"type":"string"},"constraints":{"type":"string"},"outputFormat":{"type":"string"}},"required":["request"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_research_brief","kind":"act","impl":"imperative","description":"Updates the visible must-cover points, constraints, and desired output format before or during research.","inputSchema":{"type":"object","properties":{"mustCover":{"type":"string"},"constraints":{"type":"string"},"outputFormat":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"open_youtube_search","kind":"act","impl":"imperative","description":"Opens YouTube search for any topic so the agent and human can choose real candidate videos together.","inputSchema":{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"ingest_youtube_video","kind":"act","impl":"imperative","description":"Imports a public YouTube video's metadata and timestamped captions into the visible workspace.","inputSchema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"record_video_evidence","kind":"act","impl":"imperative","description":"Writes a video and evidence researched in another browser tab back into LiveSignal. Use this when ChatGPT reads captions or source moments directly, especially when server transcript import is unavailable. Supply a timestamp or seconds whenever possible. Text is matched against imported transcript rows near that time; unmatched or untimed entries remain visibly labelled agent claims.","inputSchema":{"type":"object","properties":{"source":{"type":"object","properties":{"id":{"type":"string"},"videoId":{"type":"string"},"url":{"type":"string"},"title":{"type":"string"},"creator":{"type":"string"},"relevance":{"type":"string"}},"required":["url","title"]},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"timestamp":{"type":"string"},"seconds":{"type":"number"},"durationSeconds":{"type":"number"},"note":{"type":"string"}},"required":["text","timestamp","seconds"]}}},"required":["source","evidence"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_video_evidence","kind":"answer","impl":"imperative","description":"Searches all imported timestamped evidence for a topic, claim, name, or phrase.","inputSchema":{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"pin_evidence","kind":"act","impl":"imperative","description":"Pins or unpins a timestamped source moment for the shared report.","inputSchema":{"type":"object","properties":{"evidenceId":{"type":"string"}},"required":["evidenceId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_report_section","kind":"act","impl":"imperative","description":"Adds an editable, evidence-backed section to the visible report.","inputSchema":{"type":"object","properties":{"heading":{"type":"string"},"body":{"type":"string"},"evidenceIds":{"type":"array","items":{"type":"string"}}},"required":["heading","body"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_report_section","kind":"act","impl":"imperative","description":"Revises one visible report section while keeping its timestamp citations explicit.","inputSchema":{"type":"object","properties":{"sectionId":{"type":"string"},"heading":{"type":"string"},"body":{"type":"string"},"evidenceIds":{"type":"array","items":{"type":"string"}}},"required":["sectionId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_report_section","kind":"act","impl":"imperative","description":"Removes a report section at the user's editorial direction.","inputSchema":{"type":"object","properties":{"sectionId":{"type":"string"}},"required":["sectionId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reorder_report_sections","kind":"act","impl":"imperative","description":"Moves a report section up or down in the human-controlled editorial order.","inputSchema":{"type":"object","properties":{"sectionId":{"type":"string"},"direction":{"type":"string","enum":["up","down"]}},"required":["sectionId","direction"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"write_report","kind":"act","impl":"imperative","description":"Writes a complete editable report from researched evidence. Each section may cite evidence IDs recorded earlier in this workspace.","inputSchema":{"type":"object","properties":{"title":{"type":"string"},"overview":{"type":"string"},"sections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"heading":{"type":"string"},"body":{"type":"string"},"evidenceIds":{"type":"array","items":{"type":"string"}}},"required":["heading","body"]}}},"required":["title","overview","sections"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"revise_report","kind":"act","impl":"imperative","description":"Applies a requested revision to the report using replacement title, overview, or sections while preserving citations supplied by the agent.","inputSchema":{"type":"object","properties":{"instruction":{"type":"string"},"title":{"type":"string"},"overview":{"type":"string"},"sections":{"type":"array","items":{"type":"object"}}},"required":["instruction"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_canvas_state","kind":"answer","impl":"imperative","description":"Returns the current human-composed visual canvas, block order, theme, citations, and pending human revisions. Read this before reacting to a layout or copy change.","hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_canvas","kind":"act","impl":"imperative","description":"Creates or replaces the shareable visual canvas from evidence-backed blocks. Use once after research; do not overwrite later human composition unless explicitly asked.","inputSchema":{"type":"object","properties":{"theme":{"type":"string","enum":["notebook","editorial","field-notes"]},"blocks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["feature","steps","note","quote"]},"title":{"type":"string"},"body":{"type":"string"},"evidenceIds":{"type":"array","items":{"type":"string"}},"span":{"type":"string","enum":["half","wide"]},"accent":{"type":"string","enum":["coral","sage","gold","ink"]}},"required":["title","body"]}}},"required":["blocks"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_canvas_block","kind":"act","impl":"imperative","description":"Adds a new visual block without disturbing the human's existing canvas order.","inputSchema":{"type":"object","properties":{"kind":{"type":"string","enum":["feature","steps","note","quote"]},"title":{"type":"string"},"body":{"type":"string"},"evidenceIds":{"type":"array","items":{"type":"string"}},"span":{"type":"string","enum":["half","wide"]},"accent":{"type":"string","enum":["coral","sage","gold","ink"]}},"required":["title","body"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_canvas_block","kind":"act","impl":"imperative","description":"Reacts to human composition by rewriting, restyling, resizing, or re-citing one canvas block while preserving every other block.","inputSchema":{"type":"object","properties":{"blockId":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"},"kind":{"type":"string","enum":["feature","steps","note","quote"]},"span":{"type":"string","enum":["half","wide"]},"accent":{"type":"string","enum":["coral","sage","gold","ink"]},"evidenceIds":{"type":"array","items":{"type":"string"}},"reason":{"type":"string"}},"required":["blockId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"generate_canvas_image","kind":"act","impl":"imperative","description":"Generates or replaces one AI visual layer for a selected canvas card after the human asks. Inline illustrations and full-card backdrops are stored independently; generating either must preserve the card text, citations, source thumbnails, layout, and the other visual layer. Generated artwork is visibly labeled and never treated as source evidence.","inputSchema":{"type":"object","properties":{"blockId":{"type":"string"},"prompt":{"type":"string","description":"Art direction based on the human's comment, card meaning, and canvas mood. Do not ask for text inside the image."},"alt":{"type":"string","description":"Concise accessible description of the intended image."},"placement":{"type":"string","enum":["inline","background"],"description":"Use background only when the human explicitly requests a full-card backdrop; otherwise use inline."}},"required":["blockId","prompt"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_canvas_block","kind":"act","impl":"imperative","description":"Removes one canvas block when the human asks for a simpler composition.","inputSchema":{"type":"object","properties":{"blockId":{"type":"string"}},"required":["blockId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reorder_canvas_blocks","kind":"act","impl":"imperative","description":"Reorders one canvas block in response to human editorial direction without rewriting its content.","inputSchema":{"type":"object","properties":{"blockId":{"type":"string"},"targetIndex":{"type":"number"}},"required":["blockId","targetIndex"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_canvas_theme","kind":"act","impl":"imperative","description":"Changes the visual canvas theme while preserving human block order, copy, and citations.","inputSchema":{"type":"object","properties":{"theme":{"type":"string","enum":["notebook","editorial","field-notes"]}},"required":["theme"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"download_canvas_png","kind":"act","impl":"imperative","description":"Downloads the current human-and-agent visual canvas as a shareable high-resolution PNG.","hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"open_video_timestamp","kind":"act","impl":"imperative","description":"Opens the exact source video moment for cited evidence.","inputSchema":{"type":"object","properties":{"evidenceId":{"type":"string"}},"required":["evidenceId"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"publish_report","kind":"act","impl":"imperative","description":"Marks the human-reviewed report as published after its evidence and wording are approved.","hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"download_report","kind":"act","impl":"imperative","description":"Downloads the current human-reviewed report as Markdown with clickable timestamp citations.","hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","favicon":"/favicons/livesignal-chi.vercel.app.svg","apiSurface":"spec","toolCount":37}}