[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-vss-generate-video-report":3,"mdc-d51d17-key":34,"related-org-nvidia-vss-generate-video-report":6064,"related-repo-nvidia-vss-generate-video-report":6225},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"vss-generate-video-report","generate VSS video analysis reports","Use this skill when producing a VSS analysis report — Mode A per-clip VLM, Mode B incident-range via video-analytics. Not for standalone video summarization, real-time alerts or ad-hoc Q&A.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,17,20],{"name":13,"slug":14,"type":15},"Reporting","reporting","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Analytics","analytics",{"name":21,"slug":22,"type":15},"Video","video",2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-17T05:29:00.937654","Apache-2.0",281,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fvss-generate-video-report","---\nname: vss-generate-video-report\ndescription: Use this skill when producing a VSS analysis report — Mode A per-clip VLM, Mode B incident-range via video-analytics. Not for standalone video summarization, real-time alerts or ad-hoc Q&A.\nlicense: Apache-2.0\nmetadata:\n  version: \"3.2.0\"\n  author: \"NVIDIA Video Search and Summarization team\"\n  github-url: \"https:\u002F\u002Fgithub.com\u002FNVIDIA-AI-Blueprints\u002Fvideo-search-and-summarization\"\n  tags: \"nvidia blueprint operational\"\n---\n\n# Report\n\nGenerate a video analysis report by routing to one of two backends — **never via** `POST \u002Fgenerate` on the VSS agent.\n\n| Mode | Backend |\n|---|---|\n| **A. Video clip** | `\u002Fvss-manage-video-io-storage` → clip URL → **VLM chat\u002Fcompletions** |\n| **B. Incident range** | `\u002Fvss-query-analytics` → incident list → narrative report |\n\nIf the request is ambiguous (e.g. \"report on `\u003Csensor>`\" with no time range and no incident wording), default to **Mode A**. Ask only if the user mentions both a sensor and a time range. See **Examples** below for the request phrasings that route to each mode.\n\n---\n\n## Instructions\n\n1. **Pick the mode** — Mode A for a single recorded clip\u002Fsensor video, Mode B when the request names a time range or incidents\u002Falerts (match against *Examples*).\n2. **Verify the deployment profile** for that mode under *Deployment prerequisite*; hand off to `\u002Fvss-deploy-profile` if its probe fails.\n3. **Run that mode's numbered steps** — *Mode A* or *Mode B* below.\n4. **Rewrite every user-facing clip URL** with the `$VSS_PUBLIC_HOST:$VSS_PUBLIC_PORT` one-liner (*Browser-playable clip URL*) before embedding it in the report.\n5. **Return the rendered report markdown** to the user.\n\nOutput contract for evaluators:\n- Mode A top title MUST be exactly `# Video Analysis Report`.\n- Mode B top title MUST be exactly `# Incident Range Report` (never `# Incident Report` or sensor-named variants).\n- Mode B MUST include `## Basic Information` with the exact required rows from the template (Report Identifier, Range, Scope, Total Incidents, Confirmed \u002F Rejected \u002F Unverified).\n\n---\n\n## Examples\n\n- \"Generate a report for this video\" \u002F \"report on `\u003Csensor-id>`\" → **Mode A**\n- \"Analyze warehouse_01.mp4\" \u002F \"create an analysis report on the uploaded video\" → **Mode A**\n- \"Report on incidents from 12:31Z to 12:32Z\" → **Mode B**\n- \"Report on alerts today\" \u002F \"what incidents happened on `\u003Csensor>` last hour\" → **Mode B**\n- \"Summarize alerts on `\u003Csensor>` between `\u003Ct1>` and `\u003Ct2>`\" → **Mode B**\n\n---\n\n## Negative Triggers\n\nDo **not** use this skill when the request is one of the following:\n\n- Ad-hoc visual Q&A on a clip that do not ask explicitly for a report (\"what color is the truck?\", \"what happens at 00:12?\") → use `\u002Fvss-ask-video`.\n- Archive\u002Fsemantic similarity retrieval (\"find forklifts\", \"search all videos for tailgating\") → use `\u002Fvss-search-archive`.\n- Read-only incident\u002Fmetrics lookup without report rendering needs → use `\u002Fvss-query-analytics`.\n- Deploy\u002Fteardown\u002Fprofile changes (\"deploy alerts\", \"switch profile\", \"bring up base\") → use `\u002Fvss-deploy-profile`.\n- Real-time alert\u002Frule management requests → use `\u002Fvss-manage-alerts`.\n\nNever route reports through VSS-agent `POST \u002Fgenerate`.\n\n---\n\n## Deployment prerequisite\n\n**Mode A** needs the VSS **base** profile (VST + VLM NIM).\n**Mode B** needs the VSS **alerts** profile (VA-MCP + Elasticsearch).\n\nProbe:\n\n```bash\n# Mode A — VST + VLM reachability\ncurl -sf --max-time 5 \"http:\u002F\u002F${HOST_IP}:30888\u002Fvst\u002Fapi\u002Fv1\u002Fsensor\u002Fversion\" >\u002Fdev\u002Fnull\n\n# Mode B — VA-MCP\ncurl -sf --max-time 5 \"http:\u002F\u002F${HOST_IP}:9901\u002F\" >\u002Fdev\u002Fnull\n```\n\nIf the probe fails, hand off to `\u002Fvss-deploy-profile` with `-p base` (Mode A) or `-p alerts` (Mode B). **Always** confirm the deploy with the user first.\n\n---\n\n## Clip URLs: VLM input vs browser report link\n\nVST returns clip URLs using the agent-internal `${HOST_IP}:30888` host:port.\nKeep that original URL as `VIDEO_URL` for local \u002F in-cluster VLM frame pulls.\nDo **not** rewrite the VLM input URL just to make it browser-playable.\n\nOnly create `BROWSER_CLIP_URL` for URLs shown in the rendered report. The\ndeploy layer exports the browser-facing host:port as `$VSS_PUBLIC_HOST` \u002F\n`$VSS_PUBLIC_PORT` (and scheme as `$VSS_PUBLIC_HTTP_PROTOCOL`) in every\nprofile `.env` — Brev or bare-metal — so the report-link rewrite is:\n\n```bash\n: \"${VSS_PUBLIC_HOST:?Set VSS_PUBLIC_HOST before rewriting clip URLs}\"\n: \"${VSS_PUBLIC_PORT:?Set VSS_PUBLIC_PORT before rewriting clip URLs}\"\nVSS_PUBLIC_HTTP_PROTOCOL=\"${VSS_PUBLIC_HTTP_PROTOCOL:-http}\"\nBROWSER_CLIP_URL=$(echo \"$RAW_URL\" | sed -E \"s|^https?:\u002F\u002F[^\u002F]+|${VSS_PUBLIC_HTTP_PROTOCOL}:\u002F\u002F${VSS_PUBLIC_HOST}:${VSS_PUBLIC_PORT}|\")\n```\n\nIf either required public host value is missing, omit the report-facing clip\nlink and call out that a browser-playable URL could not be produced; do not\nblock the local VLM analysis path. Apply the rewrite to **every clip URL\nsurfaced in the rendered report** (Mode A Step 4 Clip URL row; Mode B\nper-incident clip sub-bullet). Leave the VLM `video_url` content block in Mode A\nStep 3 on the original internal URL when the VLM is local \u002F in-cluster.\n\n---\n\n## Mode A — Report on a recorded video clip\n\n**If the VSS `lvs` profile is deployed** — `curl -sf --max-time 5 \"http:\u002F\u002F${HOST_IP}:38111\u002Fv1\u002Fready\"` returns HTTP 200 — run `\u002Fvss-summarize-video` to produce the summary, then paste its output into the report template in Step 4 and skip Steps 1–3 (the VLM-direct path). Run Steps 1–3 only when `\u002Fv1\u002Fready` is non-200.\n\n### Step 1 — Resolve the clip URL\n\nHand off to `\u002Fvss-manage-video-io-storage` to:\n\n1. List sensors and confirm the named `\u003Csensor-id>` exists (upload first if not).\n2. Fetch `\u002Fstorage\u002F\u003CstreamId>\u002Ftimelines` for the recorded range when the user did not supply `startTime` \u002F `endTime`.\n3. Request a clip URL:\n\n   ```bash\n   curl -s \"http:\u002F\u002F${HOST_IP}:30888\u002Fvst\u002Fapi\u002Fv1\u002Fstorage\u002Ffile\u002F\u003CstreamId>\u002Furl?startTime=\u003CstartTime>&endTime=\u003CendTime>&container=mp4&disableAudio=true\" | jq -r .videoUrl\n   ```\n\n   That gives a direct `mp4` URL that the local \u002F in-cluster VLM can pull frames from. Bind it to `VIDEO_URL` (used by the VLM in Step 3) and set `RAW_URL=\"$VIDEO_URL\"` before applying the report-link rewrite to produce `BROWSER_CLIP_URL` for Step 4 — the user's browser cannot reach `$VIDEO_URL` directly.\n   Mode A requires the selected VLM endpoint to be able to fetch `VIDEO_URL`.\n   Local NIM\u002FRT-VLM deployments normally can; remote endpoints generally cannot\n   fetch `localhost`, private `HOST_IP`, or VST-internal URLs. If the live\n   `VLM_ENDPOINT` is remote, surface that reachability requirement instead of\n   making a chat request that will fail after `\u002Fv1\u002Fmodels` succeeds.\n\n### Step 2 — Resolve VLM endpoint and model\n\nThe deploy may serve the VLM through either of two stacks. Both expose an OpenAI-compatible `chat\u002Fcompletions` API — pick whichever is live:\n\n| Backend | Env vars | Typical host endpoint | Picked when |\n|---|---|---|---|\n| **NIM Cosmos** | `VLM_BASE_URL`, `VLM_NAME`, `VLM_MODE`, `VLM_MODEL_TYPE` | `${VLM_BASE_URL}\u002Fv1` (no trailing `\u002Fv1` on the env var; the agent appends it) | `VLM_MODEL_TYPE != rtvi` **and** `VLM_MODE` ∈ {`local`, `local_shared`, `remote`} **and** `VLM_BASE_URL` is non-empty |\n| **RT-VLM Cosmos** | `RTVI_VLM_BASE_URL`, `RTVI_VLM_MODEL_TO_USE`, `VLM_MODEL_TYPE` | `${RTVI_VLM_BASE_URL}\u002Fv1` — if unset, derive from `${HOST_IP}` (`http:\u002F\u002F${HOST_IP}:8018\u002Fv1` for alerts, `http:\u002F\u002F${HOST_IP}:30082\u002Fv1` for base) | `VLM_MODEL_TYPE = rtvi`, or `VLM_MODE=none`, or `VLM_BASE_URL` empty; also the only path for `warehouse` |\n\nRead the live values off the running agent container — do not guess:\n\n```bash\ndocker exec vss-agent sh -lc '\nfor k in HOST_IP VLM_MODE VLM_MODEL_TYPE VLM_BASE_URL VLM_NAME RTVI_VLM_BASE_URL RTVI_VLM_MODEL_TO_USE; do\n  v=\"$(printenv \"$k\")\"\n  [ -n \"$v\" ] && printf \"%s=%s\\n\" \"$k\" \"$v\"\ndone\n'\n```\n\nDo not require `RTVI_VLM_ENDPOINT` from `vss-agent` env; several profiles do not inject it.\n\nSelection rule:\n\n```bash\nif [ \"${VLM_MODEL_TYPE:-}\" = \"rtvi\" ]; then\n  VLM_BACKEND=\"rtvlm\"\n  VLM_ENDPOINT=\"${RTVI_VLM_BASE_URL:+${RTVI_VLM_BASE_URL%\u002F}\u002Fv1}\"\n  [ -z \"${VLM_ENDPOINT}\" ] && VLM_ENDPOINT=\"http:\u002F\u002F${HOST_IP}:8018\u002Fv1\"   # alerts default\n  VLM_MODEL=\"${RTVI_VLM_MODEL_TO_USE}\"\nelif [ -n \"${VLM_BASE_URL}\" ] && [ \"${VLM_MODE}\" != \"none\" ]; then\n  VLM_BACKEND=\"nim_cosmos\"\n  VLM_ENDPOINT=\"${VLM_BASE_URL%\u002F}\u002Fv1\"\n  VLM_MODEL=\"${VLM_NAME}\"\nelse\n  VLM_BACKEND=\"rtvlm\"\n  VLM_ENDPOINT=\"${RTVI_VLM_BASE_URL:+${RTVI_VLM_BASE_URL%\u002F}\u002Fv1}\"\n  [ -z \"${VLM_ENDPOINT}\" ] && VLM_ENDPOINT=\"http:\u002F\u002F${HOST_IP}:30082\u002Fv1\"  # base default\n  VLM_MODEL=\"${RTVI_VLM_MODEL_TO_USE}\"\nfi\n```\n\nProbe `\u002Fv1\u002Fmodels` before sending a chat request to confirm the chosen endpoint is alive and the model is loaded:\n\n```bash\ncurl -sf --max-time 5 \"${VLM_ENDPOINT}\u002Fmodels\" | jq -r '.data[].id'\n```\n\nIf the probe fails or the listed ids don't include `${VLM_MODEL}`, fall back to the other backend (or surface the error — never silently pick a model that isn't on the server).\n\n### Step 3 — Call the VLM directly\n\nUse the OpenAI-compatible `chat\u002Fcompletions` endpoint with a `video_url` content block — the same payload shape **and multimodal settings** `video_understanding` builds in `src\u002Fvss_agents\u002Ftools\u002Fvideo_understanding.py` (`_build_vlm_messages` + the Cosmos `base_vlm.bind(...)` call).\n\nThe frame sampling and visual-token (pixel) budget must mirror the **live** `video_understanding` settings for the active profile. **Send `mm_processor_kwargs` and `media_io_kwargs`** so the direct call uses the same frame sampling and pixel budget as the in-agent `video_understanding` tool — omitting them lets the VLM apply its own defaults, so the output diverges from the agent path.\n\n```bash\nPROMPT='Describe in detail what happens in the video, with timestamps (start–end in seconds from clip start) for each segment or event. Cover scenes, objects, people, vehicles, and notable actions.'\n\n# Reasoning is OFF by default — matches the base-profile video_understanding config (`reasoning: false`).\n# video_understanding.py uses config.reasoning unless the caller overrides it, so default to non-reasoning.\n# Append the Cosmos Reason 2 reasoning suffix ONLY when the user explicitly asks for reasoning\n# (drop it for non-cosmos-reason2 VLMs). With reasoning off, the response has no \u003Cthink> block.\nif [ \"${REASONING:-false}\" = \"true\" ]; then\nPROMPT=\"${PROMPT}\n\nAnswer the question using the following format:\n\n\u003Cthink>\nYour reasoning.\n\u003C\u002Fthink>\n\nWrite your final answer immediately after the \u003C\u002Fthink> tag.\"\nfi\n\n# If Step 3 is run standalone, derive missing backend from current env\u002Fmodel.\n[ -z \"${VLM_BACKEND:-}\" ] && {\n  if [ \"${VLM_MODEL_TYPE:-}\" = \"rtvi\" ]; then\n    VLM_BACKEND=\"rtvlm\"\n  elif [[ \"${VLM_MODEL:-}\" == nvidia\u002Fcosmos* ]]; then\n    VLM_BACKEND=\"nim_cosmos\"\n  else\n    VLM_BACKEND=\"rtvlm\"\n  fi\n}\n\n# Multimodal settings — resolve from the live agent config file path, not hardcoded candidates.\nCFG_JSON=$(\ndocker exec vss-agent python3 -c '\nimport json, os, yaml\np = os.getenv(\"VSS_AGENT_CONFIG_FILE\")\nif not p:\n    raise SystemExit(\"VSS_AGENT_CONFIG_FILE is not set in vss-agent\")\nif not os.path.isabs(p):\n    p = os.path.join(\"\u002Fvss-agent\", p.lstrip(\".\u002F\"))\nwith open(p, encoding=\"utf-8\") as f:\n    cfg = yaml.safe_load(f) or {}\nvu = (cfg.get(\"functions\", {}) or {}).get(\"video_understanding\", {}) or {}\nprint(json.dumps({\n    \"max_fps\": int(vu.get(\"max_fps\", 2)),\n    \"max_frames\": int(vu.get(\"max_frames\", 30)),\n    \"min_pixels\": int(vu.get(\"min_pixels\", 3136)),\n    \"max_pixels\": int(vu.get(\"max_pixels\", 8388608)),\n}))\n')\n)\n[ -n \"${CFG_JSON}\" ] || { echo \"Failed to read video_understanding config from vss-agent\"; exit 1; }\nprintf '%s' \"${CFG_JSON}\" | jq -e . >\u002Fdev\u002Fnull || { echo \"Invalid config JSON from vss-agent\"; exit 1; }\nMAX_FPS=\"$(printf '%s' \"${CFG_JSON}\" | jq -r '.max_fps')\"\nMAX_FRAMES=\"$(printf '%s' \"${CFG_JSON}\" | jq -r '.max_frames')\"\nMIN_PIXELS=\"$(printf '%s' \"${CFG_JSON}\" | jq -r '.min_pixels')\"\nMAX_PIXELS=\"$(printf '%s' \"${CFG_JSON}\" | jq -r '.max_pixels')\"\n\n# num_frames = min(int(clip_seconds) * max_fps, max_frames), min 1 — matches video_understanding.py.\n# clip_seconds (Step 1 endTime-startTime) may be fractional; truncate to integer seconds — bash $((...))\n# is integer-only and errors on \"15.0\"\u002F\"1.5\". Default 15s -> caps at MAX_FRAMES.\nCLIP_SECONDS=$(awk -v s=\"${CLIP_SECONDS:-15}\" 'BEGIN{printf \"%d\", s}')\nNUM_FRAMES=$(( CLIP_SECONDS * MAX_FPS ))\n[ \"$NUM_FRAMES\" -gt \"$MAX_FRAMES\" ] && NUM_FRAMES=$MAX_FRAMES\n[ \"$NUM_FRAMES\" -lt 1 ] && NUM_FRAMES=1\n\n# Only apply Cosmos mm\u002Fmedia kwargs on the NIM Cosmos path.\n# RT-VLM mode uses its own server-side preprocessing and should not receive these kwargs.\nMM_KWARGS=\"\"\nif [ \"${VLM_BACKEND}\" = \"nim_cosmos\" ]; then\n  case \"$VLM_MODEL\" in\n    *cosmos-reason2*) MM_KWARGS=\", \\\"mm_processor_kwargs\\\": {\\\"size\\\": {\\\"shortest_edge\\\": ${MIN_PIXELS}, \\\"longest_edge\\\": ${MAX_PIXELS}}}, \\\"media_io_kwargs\\\": {\\\"video\\\": {\\\"num_frames\\\": ${NUM_FRAMES}}}\" ;;\n    *cosmos*)         MM_KWARGS=\", \\\"mm_processor_kwargs\\\": {\\\"videos_kwargs\\\": {\\\"min_pixels\\\": ${MIN_PIXELS}, \\\"max_pixels\\\": ${MAX_PIXELS}}}, \\\"media_io_kwargs\\\": {\\\"video\\\": {\\\"num_frames\\\": ${NUM_FRAMES}}}\" ;;\n    *)                      MM_KWARGS=\"\" ;;\n  esac\nfi\n\ncurl -s --connect-timeout 5 --max-time 120 -X POST \"${VLM_ENDPOINT}\u002Fchat\u002Fcompletions\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d @- \u003C\u003CEOF | jq -r '.choices[0].message.content'\n{\n  \"model\": $(printf '%s' \"${VLM_MODEL}\" | jq -Rs .),\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": [\n        {\"type\": \"text\", \"text\": $(printf '%s' \"${PROMPT}\" | jq -Rs .)},\n        {\"type\": \"video_url\", \"video_url\": {\"url\": $(printf '%s' \"${VIDEO_URL}\" | jq -Rs .)}}\n      ]\n    }\n  ],\n  \"max_tokens\": 1024,\n  \"temperature\": 0.0${MM_KWARGS}\n}\nEOF\n```\n\n> The kwargs block is backend-aware: on `nim_cosmos`, Reason2 variants (`nvidia\u002Fcosmos-reason2*`) use `mm_processor_kwargs.size{shortest_edge,longest_edge}` and other NIM Cosmos variants (`nvidia\u002Fcosmos*`) use `mm_processor_kwargs.videos_kwargs{min_pixels,max_pixels}`; both also send `media_io_kwargs.video.num_frames`. On `rtvlm`, no Cosmos kwargs are sent.\n\nIf the VLM returns a `\u003Cthink>…\u003C\u002Fthink>` block (Cosmos Reason reasoning mode), keep only the text after `\u003C\u002Fthink>` as the report body.\n\n### Step 4 — Fill the Video Analysis Report template\n\nCopy [`assets\u002Fvideo-analysis-report.md`](assets\u002Fvideo-analysis-report.md), fill every placeholder, and return the rendered markdown to the user. Keep the source asset unchanged. Before rendering, verify `BROWSER_CLIP_URL` is set and non-empty, then replace `\u003CBROWSER_CLIP_URL>` with that exact value in the `Clip URL` row. Never leave the placeholder in the output, never include template instructions in a filled cell, and never use the raw `HOST_IP:30888` URL.\n\n---\n\n## Mode B — Report on incidents in a time range\n\n### Step 1 — Resolve the time range and (optionally) sensor\n\n- `start_time` \u002F `end_time` must be ISO 8601 UTC (`YYYY-MM-DDTHH:MM:SS.sssZ`). Resolve relative phrases (\"last hour\", \"today\") against the current host clock.\n- If the user names a sensor, capture it as `source` + `source_type=sensor`. Otherwise leave both unset for an all-sensors query.\n\n### Step 2 — Fetch incidents via `\u002Fvss-query-analytics`\n\nHand off to `\u002Fvss-query-analytics` (initialize → `tools\u002Fcall`) with:\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"tools\u002Fcall\",\n  \"params\": {\n    \"name\": \"video_analytics__get_incidents\",\n    \"arguments\": {\n      \"source\": \"\u003Csensor-id-or-omit>\",\n      \"source_type\": \"sensor\",\n      \"start_time\": \"\u003CISO>\",\n      \"end_time\": \"\u003CISO>\",\n      \"max_count\": 100,\n      \"includes\": [\"objectIds\", \"info\"]\n    }\n  },\n  \"id\": 1\n}\n```\n\nRead-only boundary (mandatory):\n- Mode B is strictly read-only analytics retrieval. Never write, seed, backfill, or mutate Elasticsearch\u002FVA data.\n- Forbidden examples: indexing synthetic incidents, replaying fixture payloads into ES, calling write\u002Fupdate\u002Fdelete APIs to \"make data available\" for the report.\n- If no incidents exist for the requested range\u002Fscope, handle as empty results (see below); do not fabricate data.\n\nFor each incident keep: `id`, `sensorId`, `timestamp`, `end`, `category`, `place.name`, `info.verdict`, `info.reasoning`, `objectIds`, and the clip URL (commonly `info.clip_url`, `clip_url`, or whichever clip-pointer field the response carries). **Apply the `$VSS_PUBLIC_HOST:$VSS_PUBLIC_PORT` rewrite (see *Browser-playable clip URL* above) to every clip URL before pasting it into the report** — the raw value is a `HOST_IP:30888` URL the user's browser cannot reach.\n\n### Step 3 — Fill the Incident Range Report template\n\nCopy [`assets\u002Fincident-range-report.md`](assets\u002Fincident-range-report.md), then group by sensor (or by category if no sensor scope), tally verdicts, and list each incident with timestamp \u002F category \u002F verdict \u002F reasoning. Keep the source asset unchanged. Every incident clip value must be a rewritten browser-playable URL; omit the clip line when the incident carries no clip URL. Never include template instructions in a filled cell.\n\nIf `get_incidents` returns zero results, STOP and return exactly a one-line empty-range statement naming the requested range and scope. Do not render the full Incident Range template, do not invent incidents, do not seed test data, and do not fall back to Mode A.\n\n---\n\n## Error Handling\n\n- If a probe, `curl`, VLM call, or `\u002Fvss-query-analytics` request fails, stop the workflow and report the failing endpoint, HTTP status or command error, and the next useful recovery step. Do not fabricate a report from partial or missing data.\n- If the VLM response is empty, malformed, or contains only a reasoning block, surface that response problem and suggest checking model readiness\u002Flogs before retrying.\n- If a clip URL cannot be rewritten to the public host\u002Fport, omit it from the rendered report and call out that the browser-playable URL could not be produced.\n- For Mode B, treat missing optional incident fields (`info.reasoning`, `objectIds`, clip URL) as omissions in the report, but treat missing `id`, `timestamp`, or `category` as a data-quality error that should be reported.\n\n---\n\n## Cross-Reference\n\n- **`\u002Fvss-manage-video-io-storage`** — sensor list, timelines, and clip URL for Mode A Step 1.\n- **`\u002Fvss-query-analytics`** — incident retrieval (and verdict \u002F reasoning enrichment) for Mode B Step 2.\n- **`\u002Fvss-ask-video`** — ad-hoc VLM Q&A on a single clip (not a structured report).\n- **`\u002Fvss-summarize-video`** — used by Mode A to produce the summary body when the `lvs` profile is deployed; the report template (Step 4) is still filled here.\n\n",{"data":35,"body":41},{"name":4,"description":6,"license":26,"metadata":36},{"version":37,"author":38,"github-url":39,"tags":40},"3.2.0","NVIDIA Video Search and Summarization team","https:\u002F\u002Fgithub.com\u002FNVIDIA-AI-Blueprints\u002Fvideo-search-and-summarization","nvidia blueprint operational",{"type":42,"children":43},"root",[44,53,76,153,180,184,191,296,301,352,355,360,445,448,454,466,527,538,541,546,574,579,752,787,790,796,823,868,1132,1152,1155,1161,1202,1209,1221,1418,1424,1437,1685,1690,1771,1792,1797,2388,2400,2473,2486,2492,2548,2593,5053,5115,5136,5142,5190,5193,5199,5205,5255,5266,5285,5743,5748,5766,5875,5881,5896,5909,5912,5918,5987,5990,5996,6058],{"type":45,"tag":46,"props":47,"children":49},"element","h1",{"id":48},"report",[50],{"type":51,"value":52},"text","Report",{"type":45,"tag":54,"props":55,"children":56},"p",{},[57,59,65,67,74],{"type":51,"value":58},"Generate a video analysis report by routing to one of two backends — ",{"type":45,"tag":60,"props":61,"children":62},"strong",{},[63],{"type":51,"value":64},"never via",{"type":51,"value":66}," ",{"type":45,"tag":68,"props":69,"children":71},"code",{"className":70},[],[72],{"type":51,"value":73},"POST \u002Fgenerate",{"type":51,"value":75}," on the VSS agent.",{"type":45,"tag":77,"props":78,"children":79},"table",{},[80,99],{"type":45,"tag":81,"props":82,"children":83},"thead",{},[84],{"type":45,"tag":85,"props":86,"children":87},"tr",{},[88,94],{"type":45,"tag":89,"props":90,"children":91},"th",{},[92],{"type":51,"value":93},"Mode",{"type":45,"tag":89,"props":95,"children":96},{},[97],{"type":51,"value":98},"Backend",{"type":45,"tag":100,"props":101,"children":102},"tbody",{},[103,131],{"type":45,"tag":85,"props":104,"children":105},{},[106,115],{"type":45,"tag":107,"props":108,"children":109},"td",{},[110],{"type":45,"tag":60,"props":111,"children":112},{},[113],{"type":51,"value":114},"A. Video clip",{"type":45,"tag":107,"props":116,"children":117},{},[118,124,126],{"type":45,"tag":68,"props":119,"children":121},{"className":120},[],[122],{"type":51,"value":123},"\u002Fvss-manage-video-io-storage",{"type":51,"value":125}," → clip URL → ",{"type":45,"tag":60,"props":127,"children":128},{},[129],{"type":51,"value":130},"VLM chat\u002Fcompletions",{"type":45,"tag":85,"props":132,"children":133},{},[134,142],{"type":45,"tag":107,"props":135,"children":136},{},[137],{"type":45,"tag":60,"props":138,"children":139},{},[140],{"type":51,"value":141},"B. Incident range",{"type":45,"tag":107,"props":143,"children":144},{},[145,151],{"type":45,"tag":68,"props":146,"children":148},{"className":147},[],[149],{"type":51,"value":150},"\u002Fvss-query-analytics",{"type":51,"value":152}," → incident list → narrative report",{"type":45,"tag":54,"props":154,"children":155},{},[156,158,164,166,171,173,178],{"type":51,"value":157},"If the request is ambiguous (e.g. \"report on ",{"type":45,"tag":68,"props":159,"children":161},{"className":160},[],[162],{"type":51,"value":163},"\u003Csensor>",{"type":51,"value":165},"\" with no time range and no incident wording), default to ",{"type":45,"tag":60,"props":167,"children":168},{},[169],{"type":51,"value":170},"Mode A",{"type":51,"value":172},". Ask only if the user mentions both a sensor and a time range. See ",{"type":45,"tag":60,"props":174,"children":175},{},[176],{"type":51,"value":177},"Examples",{"type":51,"value":179}," below for the request phrasings that route to each mode.",{"type":45,"tag":181,"props":182,"children":183},"hr",{},[],{"type":45,"tag":185,"props":186,"children":188},"h2",{"id":187},"instructions",[189],{"type":51,"value":190},"Instructions",{"type":45,"tag":192,"props":193,"children":194},"ol",{},[195,213,238,261,286],{"type":45,"tag":196,"props":197,"children":198},"li",{},[199,204,206,211],{"type":45,"tag":60,"props":200,"children":201},{},[202],{"type":51,"value":203},"Pick the mode",{"type":51,"value":205}," — Mode A for a single recorded clip\u002Fsensor video, Mode B when the request names a time range or incidents\u002Falerts (match against ",{"type":45,"tag":207,"props":208,"children":209},"em",{},[210],{"type":51,"value":177},{"type":51,"value":212},").",{"type":45,"tag":196,"props":214,"children":215},{},[216,221,223,228,230,236],{"type":45,"tag":60,"props":217,"children":218},{},[219],{"type":51,"value":220},"Verify the deployment profile",{"type":51,"value":222}," for that mode under ",{"type":45,"tag":207,"props":224,"children":225},{},[226],{"type":51,"value":227},"Deployment prerequisite",{"type":51,"value":229},"; hand off to ",{"type":45,"tag":68,"props":231,"children":233},{"className":232},[],[234],{"type":51,"value":235},"\u002Fvss-deploy-profile",{"type":51,"value":237}," if its probe fails.",{"type":45,"tag":196,"props":239,"children":240},{},[241,246,248,252,254,259],{"type":45,"tag":60,"props":242,"children":243},{},[244],{"type":51,"value":245},"Run that mode's numbered steps",{"type":51,"value":247}," — ",{"type":45,"tag":207,"props":249,"children":250},{},[251],{"type":51,"value":170},{"type":51,"value":253}," or ",{"type":45,"tag":207,"props":255,"children":256},{},[257],{"type":51,"value":258},"Mode B",{"type":51,"value":260}," below.",{"type":45,"tag":196,"props":262,"children":263},{},[264,269,271,277,279,284],{"type":45,"tag":60,"props":265,"children":266},{},[267],{"type":51,"value":268},"Rewrite every user-facing clip URL",{"type":51,"value":270}," with the ",{"type":45,"tag":68,"props":272,"children":274},{"className":273},[],[275],{"type":51,"value":276},"$VSS_PUBLIC_HOST:$VSS_PUBLIC_PORT",{"type":51,"value":278}," one-liner (",{"type":45,"tag":207,"props":280,"children":281},{},[282],{"type":51,"value":283},"Browser-playable clip URL",{"type":51,"value":285},") before embedding it in the report.",{"type":45,"tag":196,"props":287,"children":288},{},[289,294],{"type":45,"tag":60,"props":290,"children":291},{},[292],{"type":51,"value":293},"Return the rendered report markdown",{"type":51,"value":295}," to the user.",{"type":45,"tag":54,"props":297,"children":298},{},[299],{"type":51,"value":300},"Output contract for evaluators:",{"type":45,"tag":302,"props":303,"children":304},"ul",{},[305,318,339],{"type":45,"tag":196,"props":306,"children":307},{},[308,310,316],{"type":51,"value":309},"Mode A top title MUST be exactly ",{"type":45,"tag":68,"props":311,"children":313},{"className":312},[],[314],{"type":51,"value":315},"# Video Analysis Report",{"type":51,"value":317},".",{"type":45,"tag":196,"props":319,"children":320},{},[321,323,329,331,337],{"type":51,"value":322},"Mode B top title MUST be exactly ",{"type":45,"tag":68,"props":324,"children":326},{"className":325},[],[327],{"type":51,"value":328},"# Incident Range Report",{"type":51,"value":330}," (never ",{"type":45,"tag":68,"props":332,"children":334},{"className":333},[],[335],{"type":51,"value":336},"# Incident Report",{"type":51,"value":338}," or sensor-named variants).",{"type":45,"tag":196,"props":340,"children":341},{},[342,344,350],{"type":51,"value":343},"Mode B MUST include ",{"type":45,"tag":68,"props":345,"children":347},{"className":346},[],[348],{"type":51,"value":349},"## Basic Information",{"type":51,"value":351}," with the exact required rows from the template (Report Identifier, Range, Scope, Total Incidents, Confirmed \u002F Rejected \u002F Unverified).",{"type":45,"tag":181,"props":353,"children":354},{},[],{"type":45,"tag":185,"props":356,"children":358},{"id":357},"examples",[359],{"type":51,"value":177},{"type":45,"tag":302,"props":361,"children":362},{},[363,380,389,398,414],{"type":45,"tag":196,"props":364,"children":365},{},[366,368,374,376],{"type":51,"value":367},"\"Generate a report for this video\" \u002F \"report on ",{"type":45,"tag":68,"props":369,"children":371},{"className":370},[],[372],{"type":51,"value":373},"\u003Csensor-id>",{"type":51,"value":375},"\" → ",{"type":45,"tag":60,"props":377,"children":378},{},[379],{"type":51,"value":170},{"type":45,"tag":196,"props":381,"children":382},{},[383,385],{"type":51,"value":384},"\"Analyze warehouse_01.mp4\" \u002F \"create an analysis report on the uploaded video\" → ",{"type":45,"tag":60,"props":386,"children":387},{},[388],{"type":51,"value":170},{"type":45,"tag":196,"props":390,"children":391},{},[392,394],{"type":51,"value":393},"\"Report on incidents from 12:31Z to 12:32Z\" → ",{"type":45,"tag":60,"props":395,"children":396},{},[397],{"type":51,"value":258},{"type":45,"tag":196,"props":399,"children":400},{},[401,403,408,410],{"type":51,"value":402},"\"Report on alerts today\" \u002F \"what incidents happened on ",{"type":45,"tag":68,"props":404,"children":406},{"className":405},[],[407],{"type":51,"value":163},{"type":51,"value":409}," last hour\" → ",{"type":45,"tag":60,"props":411,"children":412},{},[413],{"type":51,"value":258},{"type":45,"tag":196,"props":415,"children":416},{},[417,419,424,426,432,434,440,441],{"type":51,"value":418},"\"Summarize alerts on ",{"type":45,"tag":68,"props":420,"children":422},{"className":421},[],[423],{"type":51,"value":163},{"type":51,"value":425}," between ",{"type":45,"tag":68,"props":427,"children":429},{"className":428},[],[430],{"type":51,"value":431},"\u003Ct1>",{"type":51,"value":433}," and ",{"type":45,"tag":68,"props":435,"children":437},{"className":436},[],[438],{"type":51,"value":439},"\u003Ct2>",{"type":51,"value":375},{"type":45,"tag":60,"props":442,"children":443},{},[444],{"type":51,"value":258},{"type":45,"tag":181,"props":446,"children":447},{},[],{"type":45,"tag":185,"props":449,"children":451},{"id":450},"negative-triggers",[452],{"type":51,"value":453},"Negative Triggers",{"type":45,"tag":54,"props":455,"children":456},{},[457,459,464],{"type":51,"value":458},"Do ",{"type":45,"tag":60,"props":460,"children":461},{},[462],{"type":51,"value":463},"not",{"type":51,"value":465}," use this skill when the request is one of the following:",{"type":45,"tag":302,"props":467,"children":468},{},[469,481,493,504,515],{"type":45,"tag":196,"props":470,"children":471},{},[472,474,480],{"type":51,"value":473},"Ad-hoc visual Q&A on a clip that do not ask explicitly for a report (\"what color is the truck?\", \"what happens at 00:12?\") → use ",{"type":45,"tag":68,"props":475,"children":477},{"className":476},[],[478],{"type":51,"value":479},"\u002Fvss-ask-video",{"type":51,"value":317},{"type":45,"tag":196,"props":482,"children":483},{},[484,486,492],{"type":51,"value":485},"Archive\u002Fsemantic similarity retrieval (\"find forklifts\", \"search all videos for tailgating\") → use ",{"type":45,"tag":68,"props":487,"children":489},{"className":488},[],[490],{"type":51,"value":491},"\u002Fvss-search-archive",{"type":51,"value":317},{"type":45,"tag":196,"props":494,"children":495},{},[496,498,503],{"type":51,"value":497},"Read-only incident\u002Fmetrics lookup without report rendering needs → use ",{"type":45,"tag":68,"props":499,"children":501},{"className":500},[],[502],{"type":51,"value":150},{"type":51,"value":317},{"type":45,"tag":196,"props":505,"children":506},{},[507,509,514],{"type":51,"value":508},"Deploy\u002Fteardown\u002Fprofile changes (\"deploy alerts\", \"switch profile\", \"bring up base\") → use ",{"type":45,"tag":68,"props":510,"children":512},{"className":511},[],[513],{"type":51,"value":235},{"type":51,"value":317},{"type":45,"tag":196,"props":516,"children":517},{},[518,520,526],{"type":51,"value":519},"Real-time alert\u002Frule management requests → use ",{"type":45,"tag":68,"props":521,"children":523},{"className":522},[],[524],{"type":51,"value":525},"\u002Fvss-manage-alerts",{"type":51,"value":317},{"type":45,"tag":54,"props":528,"children":529},{},[530,532,537],{"type":51,"value":531},"Never route reports through VSS-agent ",{"type":45,"tag":68,"props":533,"children":535},{"className":534},[],[536],{"type":51,"value":73},{"type":51,"value":317},{"type":45,"tag":181,"props":539,"children":540},{},[],{"type":45,"tag":185,"props":542,"children":544},{"id":543},"deployment-prerequisite",[545],{"type":51,"value":227},{"type":45,"tag":54,"props":547,"children":548},{},[549,553,555,560,562,566,567,572],{"type":45,"tag":60,"props":550,"children":551},{},[552],{"type":51,"value":170},{"type":51,"value":554}," needs the VSS ",{"type":45,"tag":60,"props":556,"children":557},{},[558],{"type":51,"value":559},"base",{"type":51,"value":561}," profile (VST + VLM NIM).\n",{"type":45,"tag":60,"props":563,"children":564},{},[565],{"type":51,"value":258},{"type":51,"value":554},{"type":45,"tag":60,"props":568,"children":569},{},[570],{"type":51,"value":571},"alerts",{"type":51,"value":573}," profile (VA-MCP + Elasticsearch).",{"type":45,"tag":54,"props":575,"children":576},{},[577],{"type":51,"value":578},"Probe:",{"type":45,"tag":580,"props":581,"children":586},"pre",{"className":582,"code":583,"language":584,"meta":585,"style":585},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Mode A — VST + VLM reachability\ncurl -sf --max-time 5 \"http:\u002F\u002F${HOST_IP}:30888\u002Fvst\u002Fapi\u002Fv1\u002Fsensor\u002Fversion\" >\u002Fdev\u002Fnull\n\n# Mode B — VA-MCP\ncurl -sf --max-time 5 \"http:\u002F\u002F${HOST_IP}:9901\u002F\" >\u002Fdev\u002Fnull\n","bash","",[587],{"type":45,"tag":68,"props":588,"children":589},{"__ignoreMap":585},[590,602,676,686,695],{"type":45,"tag":591,"props":592,"children":595},"span",{"class":593,"line":594},"line",1,[596],{"type":45,"tag":591,"props":597,"children":599},{"style":598},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[600],{"type":51,"value":601},"# Mode A — VST + VLM reachability\n",{"type":45,"tag":591,"props":603,"children":605},{"class":593,"line":604},2,[606,612,618,623,629,635,640,645,651,656,661,666,671],{"type":45,"tag":591,"props":607,"children":609},{"style":608},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[610],{"type":51,"value":611},"curl",{"type":45,"tag":591,"props":613,"children":615},{"style":614},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[616],{"type":51,"value":617}," -sf",{"type":45,"tag":591,"props":619,"children":620},{"style":614},[621],{"type":51,"value":622}," --max-time",{"type":45,"tag":591,"props":624,"children":626},{"style":625},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[627],{"type":51,"value":628}," 5",{"type":45,"tag":591,"props":630,"children":632},{"style":631},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[633],{"type":51,"value":634}," \"",{"type":45,"tag":591,"props":636,"children":637},{"style":614},[638],{"type":51,"value":639},"http:\u002F\u002F",{"type":45,"tag":591,"props":641,"children":642},{"style":631},[643],{"type":51,"value":644},"${",{"type":45,"tag":591,"props":646,"children":648},{"style":647},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[649],{"type":51,"value":650},"HOST_IP",{"type":45,"tag":591,"props":652,"children":653},{"style":631},[654],{"type":51,"value":655},"}",{"type":45,"tag":591,"props":657,"children":658},{"style":614},[659],{"type":51,"value":660},":30888\u002Fvst\u002Fapi\u002Fv1\u002Fsensor\u002Fversion",{"type":45,"tag":591,"props":662,"children":663},{"style":631},[664],{"type":51,"value":665},"\"",{"type":45,"tag":591,"props":667,"children":668},{"style":631},[669],{"type":51,"value":670}," >",{"type":45,"tag":591,"props":672,"children":673},{"style":614},[674],{"type":51,"value":675},"\u002Fdev\u002Fnull\n",{"type":45,"tag":591,"props":677,"children":679},{"class":593,"line":678},3,[680],{"type":45,"tag":591,"props":681,"children":683},{"emptyLinePlaceholder":682},true,[684],{"type":51,"value":685},"\n",{"type":45,"tag":591,"props":687,"children":689},{"class":593,"line":688},4,[690],{"type":45,"tag":591,"props":691,"children":692},{"style":598},[693],{"type":51,"value":694},"# Mode B — VA-MCP\n",{"type":45,"tag":591,"props":696,"children":698},{"class":593,"line":697},5,[699,703,707,711,715,719,723,727,731,735,740,744,748],{"type":45,"tag":591,"props":700,"children":701},{"style":608},[702],{"type":51,"value":611},{"type":45,"tag":591,"props":704,"children":705},{"style":614},[706],{"type":51,"value":617},{"type":45,"tag":591,"props":708,"children":709},{"style":614},[710],{"type":51,"value":622},{"type":45,"tag":591,"props":712,"children":713},{"style":625},[714],{"type":51,"value":628},{"type":45,"tag":591,"props":716,"children":717},{"style":631},[718],{"type":51,"value":634},{"type":45,"tag":591,"props":720,"children":721},{"style":614},[722],{"type":51,"value":639},{"type":45,"tag":591,"props":724,"children":725},{"style":631},[726],{"type":51,"value":644},{"type":45,"tag":591,"props":728,"children":729},{"style":647},[730],{"type":51,"value":650},{"type":45,"tag":591,"props":732,"children":733},{"style":631},[734],{"type":51,"value":655},{"type":45,"tag":591,"props":736,"children":737},{"style":614},[738],{"type":51,"value":739},":9901\u002F",{"type":45,"tag":591,"props":741,"children":742},{"style":631},[743],{"type":51,"value":665},{"type":45,"tag":591,"props":745,"children":746},{"style":631},[747],{"type":51,"value":670},{"type":45,"tag":591,"props":749,"children":750},{"style":614},[751],{"type":51,"value":675},{"type":45,"tag":54,"props":753,"children":754},{},[755,757,762,764,770,772,778,780,785],{"type":51,"value":756},"If the probe fails, hand off to ",{"type":45,"tag":68,"props":758,"children":760},{"className":759},[],[761],{"type":51,"value":235},{"type":51,"value":763}," with ",{"type":45,"tag":68,"props":765,"children":767},{"className":766},[],[768],{"type":51,"value":769},"-p base",{"type":51,"value":771}," (Mode A) or ",{"type":45,"tag":68,"props":773,"children":775},{"className":774},[],[776],{"type":51,"value":777},"-p alerts",{"type":51,"value":779}," (Mode B). ",{"type":45,"tag":60,"props":781,"children":782},{},[783],{"type":51,"value":784},"Always",{"type":51,"value":786}," confirm the deploy with the user first.",{"type":45,"tag":181,"props":788,"children":789},{},[],{"type":45,"tag":185,"props":791,"children":793},{"id":792},"clip-urls-vlm-input-vs-browser-report-link",[794],{"type":51,"value":795},"Clip URLs: VLM input vs browser report link",{"type":45,"tag":54,"props":797,"children":798},{},[799,801,807,809,815,817,821],{"type":51,"value":800},"VST returns clip URLs using the agent-internal ",{"type":45,"tag":68,"props":802,"children":804},{"className":803},[],[805],{"type":51,"value":806},"${HOST_IP}:30888",{"type":51,"value":808}," host:port.\nKeep that original URL as ",{"type":45,"tag":68,"props":810,"children":812},{"className":811},[],[813],{"type":51,"value":814},"VIDEO_URL",{"type":51,"value":816}," for local \u002F in-cluster VLM frame pulls.\nDo ",{"type":45,"tag":60,"props":818,"children":819},{},[820],{"type":51,"value":463},{"type":51,"value":822}," rewrite the VLM input URL just to make it browser-playable.",{"type":45,"tag":54,"props":824,"children":825},{},[826,828,834,836,842,844,850,852,858,860,866],{"type":51,"value":827},"Only create ",{"type":45,"tag":68,"props":829,"children":831},{"className":830},[],[832],{"type":51,"value":833},"BROWSER_CLIP_URL",{"type":51,"value":835}," for URLs shown in the rendered report. The\ndeploy layer exports the browser-facing host:port as ",{"type":45,"tag":68,"props":837,"children":839},{"className":838},[],[840],{"type":51,"value":841},"$VSS_PUBLIC_HOST",{"type":51,"value":843}," \u002F\n",{"type":45,"tag":68,"props":845,"children":847},{"className":846},[],[848],{"type":51,"value":849},"$VSS_PUBLIC_PORT",{"type":51,"value":851}," (and scheme as ",{"type":45,"tag":68,"props":853,"children":855},{"className":854},[],[856],{"type":51,"value":857},"$VSS_PUBLIC_HTTP_PROTOCOL",{"type":51,"value":859},") in every\nprofile ",{"type":45,"tag":68,"props":861,"children":863},{"className":862},[],[864],{"type":51,"value":865},".env",{"type":51,"value":867}," — Brev or bare-metal — so the report-link rewrite is:",{"type":45,"tag":580,"props":869,"children":871},{"className":582,"code":870,"language":584,"meta":585,"style":585},": \"${VSS_PUBLIC_HOST:?Set VSS_PUBLIC_HOST before rewriting clip URLs}\"\n: \"${VSS_PUBLIC_PORT:?Set VSS_PUBLIC_PORT before rewriting clip URLs}\"\nVSS_PUBLIC_HTTP_PROTOCOL=\"${VSS_PUBLIC_HTTP_PROTOCOL:-http}\"\nBROWSER_CLIP_URL=$(echo \"$RAW_URL\" | sed -E \"s|^https?:\u002F\u002F[^\u002F]+|${VSS_PUBLIC_HTTP_PROTOCOL}:\u002F\u002F${VSS_PUBLIC_HOST}:${VSS_PUBLIC_PORT}|\")\n",[872],{"type":45,"tag":68,"props":873,"children":874},{"__ignoreMap":585},[875,934,983,1019],{"type":45,"tag":591,"props":876,"children":877},{"class":593,"line":594},[878,884,889,894,899,904,909,914,919,924,929],{"type":45,"tag":591,"props":879,"children":881},{"style":880},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[882],{"type":51,"value":883},":",{"type":45,"tag":591,"props":885,"children":886},{"style":631},[887],{"type":51,"value":888}," \"${",{"type":45,"tag":591,"props":890,"children":891},{"style":647},[892],{"type":51,"value":893},"VSS_PUBLIC_HOST",{"type":45,"tag":591,"props":895,"children":896},{"style":631},[897],{"type":51,"value":898},":?",{"type":45,"tag":591,"props":900,"children":901},{"style":647},[902],{"type":51,"value":903},"Set",{"type":45,"tag":591,"props":905,"children":906},{"style":647},[907],{"type":51,"value":908}," VSS_PUBLIC_HOST",{"type":45,"tag":591,"props":910,"children":911},{"style":647},[912],{"type":51,"value":913}," before",{"type":45,"tag":591,"props":915,"children":916},{"style":647},[917],{"type":51,"value":918}," rewriting",{"type":45,"tag":591,"props":920,"children":921},{"style":647},[922],{"type":51,"value":923}," clip",{"type":45,"tag":591,"props":925,"children":926},{"style":647},[927],{"type":51,"value":928}," URLs",{"type":45,"tag":591,"props":930,"children":931},{"style":631},[932],{"type":51,"value":933},"}\"\n",{"type":45,"tag":591,"props":935,"children":936},{"class":593,"line":604},[937,941,945,950,954,958,963,967,971,975,979],{"type":45,"tag":591,"props":938,"children":939},{"style":880},[940],{"type":51,"value":883},{"type":45,"tag":591,"props":942,"children":943},{"style":631},[944],{"type":51,"value":888},{"type":45,"tag":591,"props":946,"children":947},{"style":647},[948],{"type":51,"value":949},"VSS_PUBLIC_PORT",{"type":45,"tag":591,"props":951,"children":952},{"style":631},[953],{"type":51,"value":898},{"type":45,"tag":591,"props":955,"children":956},{"style":647},[957],{"type":51,"value":903},{"type":45,"tag":591,"props":959,"children":960},{"style":647},[961],{"type":51,"value":962}," VSS_PUBLIC_PORT",{"type":45,"tag":591,"props":964,"children":965},{"style":647},[966],{"type":51,"value":913},{"type":45,"tag":591,"props":968,"children":969},{"style":647},[970],{"type":51,"value":918},{"type":45,"tag":591,"props":972,"children":973},{"style":647},[974],{"type":51,"value":923},{"type":45,"tag":591,"props":976,"children":977},{"style":647},[978],{"type":51,"value":928},{"type":45,"tag":591,"props":980,"children":981},{"style":631},[982],{"type":51,"value":933},{"type":45,"tag":591,"props":984,"children":985},{"class":593,"line":678},[986,991,996,1001,1005,1010,1015],{"type":45,"tag":591,"props":987,"children":988},{"style":647},[989],{"type":51,"value":990},"VSS_PUBLIC_HTTP_PROTOCOL",{"type":45,"tag":591,"props":992,"children":993},{"style":631},[994],{"type":51,"value":995},"=",{"type":45,"tag":591,"props":997,"children":998},{"style":631},[999],{"type":51,"value":1000},"\"${",{"type":45,"tag":591,"props":1002,"children":1003},{"style":647},[1004],{"type":51,"value":990},{"type":45,"tag":591,"props":1006,"children":1007},{"style":631},[1008],{"type":51,"value":1009},":-",{"type":45,"tag":591,"props":1011,"children":1012},{"style":647},[1013],{"type":51,"value":1014},"http",{"type":45,"tag":591,"props":1016,"children":1017},{"style":631},[1018],{"type":51,"value":933},{"type":45,"tag":591,"props":1020,"children":1021},{"class":593,"line":688},[1022,1026,1031,1036,1040,1045,1049,1054,1059,1064,1068,1073,1077,1081,1085,1090,1094,1098,1102,1106,1110,1114,1118,1123,1127],{"type":45,"tag":591,"props":1023,"children":1024},{"style":647},[1025],{"type":51,"value":833},{"type":45,"tag":591,"props":1027,"children":1028},{"style":631},[1029],{"type":51,"value":1030},"=$(",{"type":45,"tag":591,"props":1032,"children":1033},{"style":880},[1034],{"type":51,"value":1035},"echo",{"type":45,"tag":591,"props":1037,"children":1038},{"style":631},[1039],{"type":51,"value":634},{"type":45,"tag":591,"props":1041,"children":1042},{"style":647},[1043],{"type":51,"value":1044},"$RAW_URL",{"type":45,"tag":591,"props":1046,"children":1047},{"style":631},[1048],{"type":51,"value":665},{"type":45,"tag":591,"props":1050,"children":1051},{"style":631},[1052],{"type":51,"value":1053}," |",{"type":45,"tag":591,"props":1055,"children":1056},{"style":608},[1057],{"type":51,"value":1058}," sed",{"type":45,"tag":591,"props":1060,"children":1061},{"style":614},[1062],{"type":51,"value":1063}," -E",{"type":45,"tag":591,"props":1065,"children":1066},{"style":631},[1067],{"type":51,"value":634},{"type":45,"tag":591,"props":1069,"children":1070},{"style":614},[1071],{"type":51,"value":1072},"s|^https?:\u002F\u002F[^\u002F]+|",{"type":45,"tag":591,"props":1074,"children":1075},{"style":631},[1076],{"type":51,"value":644},{"type":45,"tag":591,"props":1078,"children":1079},{"style":647},[1080],{"type":51,"value":990},{"type":45,"tag":591,"props":1082,"children":1083},{"style":631},[1084],{"type":51,"value":655},{"type":45,"tag":591,"props":1086,"children":1087},{"style":614},[1088],{"type":51,"value":1089},":\u002F\u002F",{"type":45,"tag":591,"props":1091,"children":1092},{"style":631},[1093],{"type":51,"value":644},{"type":45,"tag":591,"props":1095,"children":1096},{"style":647},[1097],{"type":51,"value":893},{"type":45,"tag":591,"props":1099,"children":1100},{"style":631},[1101],{"type":51,"value":655},{"type":45,"tag":591,"props":1103,"children":1104},{"style":614},[1105],{"type":51,"value":883},{"type":45,"tag":591,"props":1107,"children":1108},{"style":631},[1109],{"type":51,"value":644},{"type":45,"tag":591,"props":1111,"children":1112},{"style":647},[1113],{"type":51,"value":949},{"type":45,"tag":591,"props":1115,"children":1116},{"style":631},[1117],{"type":51,"value":655},{"type":45,"tag":591,"props":1119,"children":1120},{"style":614},[1121],{"type":51,"value":1122},"|",{"type":45,"tag":591,"props":1124,"children":1125},{"style":631},[1126],{"type":51,"value":665},{"type":45,"tag":591,"props":1128,"children":1129},{"style":631},[1130],{"type":51,"value":1131},")\n",{"type":45,"tag":54,"props":1133,"children":1134},{},[1135,1137,1142,1144,1150],{"type":51,"value":1136},"If either required public host value is missing, omit the report-facing clip\nlink and call out that a browser-playable URL could not be produced; do not\nblock the local VLM analysis path. Apply the rewrite to ",{"type":45,"tag":60,"props":1138,"children":1139},{},[1140],{"type":51,"value":1141},"every clip URL\nsurfaced in the rendered report",{"type":51,"value":1143}," (Mode A Step 4 Clip URL row; Mode B\nper-incident clip sub-bullet). Leave the VLM ",{"type":45,"tag":68,"props":1145,"children":1147},{"className":1146},[],[1148],{"type":51,"value":1149},"video_url",{"type":51,"value":1151}," content block in Mode A\nStep 3 on the original internal URL when the VLM is local \u002F in-cluster.",{"type":45,"tag":181,"props":1153,"children":1154},{},[],{"type":45,"tag":185,"props":1156,"children":1158},{"id":1157},"mode-a-report-on-a-recorded-video-clip",[1159],{"type":51,"value":1160},"Mode A — Report on a recorded video clip",{"type":45,"tag":54,"props":1162,"children":1163},{},[1164,1177,1178,1184,1186,1192,1194,1200],{"type":45,"tag":60,"props":1165,"children":1166},{},[1167,1169,1175],{"type":51,"value":1168},"If the VSS ",{"type":45,"tag":68,"props":1170,"children":1172},{"className":1171},[],[1173],{"type":51,"value":1174},"lvs",{"type":51,"value":1176}," profile is deployed",{"type":51,"value":247},{"type":45,"tag":68,"props":1179,"children":1181},{"className":1180},[],[1182],{"type":51,"value":1183},"curl -sf --max-time 5 \"http:\u002F\u002F${HOST_IP}:38111\u002Fv1\u002Fready\"",{"type":51,"value":1185}," returns HTTP 200 — run ",{"type":45,"tag":68,"props":1187,"children":1189},{"className":1188},[],[1190],{"type":51,"value":1191},"\u002Fvss-summarize-video",{"type":51,"value":1193}," to produce the summary, then paste its output into the report template in Step 4 and skip Steps 1–3 (the VLM-direct path). Run Steps 1–3 only when ",{"type":45,"tag":68,"props":1195,"children":1197},{"className":1196},[],[1198],{"type":51,"value":1199},"\u002Fv1\u002Fready",{"type":51,"value":1201}," is non-200.",{"type":45,"tag":1203,"props":1204,"children":1206},"h3",{"id":1205},"step-1-resolve-the-clip-url",[1207],{"type":51,"value":1208},"Step 1 — Resolve the clip URL",{"type":45,"tag":54,"props":1210,"children":1211},{},[1212,1214,1219],{"type":51,"value":1213},"Hand off to ",{"type":45,"tag":68,"props":1215,"children":1217},{"className":1216},[],[1218],{"type":51,"value":123},{"type":51,"value":1220}," to:",{"type":45,"tag":192,"props":1222,"children":1223},{},[1224,1236,1264],{"type":45,"tag":196,"props":1225,"children":1226},{},[1227,1229,1234],{"type":51,"value":1228},"List sensors and confirm the named ",{"type":45,"tag":68,"props":1230,"children":1232},{"className":1231},[],[1233],{"type":51,"value":373},{"type":51,"value":1235}," exists (upload first if not).",{"type":45,"tag":196,"props":1237,"children":1238},{},[1239,1241,1247,1249,1255,1257,1263],{"type":51,"value":1240},"Fetch ",{"type":45,"tag":68,"props":1242,"children":1244},{"className":1243},[],[1245],{"type":51,"value":1246},"\u002Fstorage\u002F\u003CstreamId>\u002Ftimelines",{"type":51,"value":1248}," for the recorded range when the user did not supply ",{"type":45,"tag":68,"props":1250,"children":1252},{"className":1251},[],[1253],{"type":51,"value":1254},"startTime",{"type":51,"value":1256}," \u002F ",{"type":45,"tag":68,"props":1258,"children":1260},{"className":1259},[],[1261],{"type":51,"value":1262},"endTime",{"type":51,"value":317},{"type":45,"tag":196,"props":1265,"children":1266},{},[1267,1269,1336,1340,1342,1348,1350,1355,1357,1363,1365,1370,1372,1378,1380,1385,1387,1393,1395,1400,1402,1408,1410,1416],{"type":51,"value":1268},"Request a clip URL:",{"type":45,"tag":580,"props":1270,"children":1272},{"className":582,"code":1271,"language":584,"meta":585,"style":585},"curl -s \"http:\u002F\u002F${HOST_IP}:30888\u002Fvst\u002Fapi\u002Fv1\u002Fstorage\u002Ffile\u002F\u003CstreamId>\u002Furl?startTime=\u003CstartTime>&endTime=\u003CendTime>&container=mp4&disableAudio=true\" | jq -r .videoUrl\n",[1273],{"type":45,"tag":68,"props":1274,"children":1275},{"__ignoreMap":585},[1276],{"type":45,"tag":591,"props":1277,"children":1278},{"class":593,"line":594},[1279,1283,1288,1292,1296,1300,1304,1308,1313,1317,1321,1326,1331],{"type":45,"tag":591,"props":1280,"children":1281},{"style":608},[1282],{"type":51,"value":611},{"type":45,"tag":591,"props":1284,"children":1285},{"style":614},[1286],{"type":51,"value":1287}," -s",{"type":45,"tag":591,"props":1289,"children":1290},{"style":631},[1291],{"type":51,"value":634},{"type":45,"tag":591,"props":1293,"children":1294},{"style":614},[1295],{"type":51,"value":639},{"type":45,"tag":591,"props":1297,"children":1298},{"style":631},[1299],{"type":51,"value":644},{"type":45,"tag":591,"props":1301,"children":1302},{"style":647},[1303],{"type":51,"value":650},{"type":45,"tag":591,"props":1305,"children":1306},{"style":631},[1307],{"type":51,"value":655},{"type":45,"tag":591,"props":1309,"children":1310},{"style":614},[1311],{"type":51,"value":1312},":30888\u002Fvst\u002Fapi\u002Fv1\u002Fstorage\u002Ffile\u002F\u003CstreamId>\u002Furl?startTime=\u003CstartTime>&endTime=\u003CendTime>&container=mp4&disableAudio=true",{"type":45,"tag":591,"props":1314,"children":1315},{"style":631},[1316],{"type":51,"value":665},{"type":45,"tag":591,"props":1318,"children":1319},{"style":631},[1320],{"type":51,"value":1053},{"type":45,"tag":591,"props":1322,"children":1323},{"style":608},[1324],{"type":51,"value":1325}," jq",{"type":45,"tag":591,"props":1327,"children":1328},{"style":614},[1329],{"type":51,"value":1330}," -r",{"type":45,"tag":591,"props":1332,"children":1333},{"style":614},[1334],{"type":51,"value":1335}," .videoUrl\n",{"type":45,"tag":1337,"props":1338,"children":1339},"br",{},[],{"type":51,"value":1341},"That gives a direct ",{"type":45,"tag":68,"props":1343,"children":1345},{"className":1344},[],[1346],{"type":51,"value":1347},"mp4",{"type":51,"value":1349}," URL that the local \u002F in-cluster VLM can pull frames from. Bind it to ",{"type":45,"tag":68,"props":1351,"children":1353},{"className":1352},[],[1354],{"type":51,"value":814},{"type":51,"value":1356}," (used by the VLM in Step 3) and set ",{"type":45,"tag":68,"props":1358,"children":1360},{"className":1359},[],[1361],{"type":51,"value":1362},"RAW_URL=\"$VIDEO_URL\"",{"type":51,"value":1364}," before applying the report-link rewrite to produce ",{"type":45,"tag":68,"props":1366,"children":1368},{"className":1367},[],[1369],{"type":51,"value":833},{"type":51,"value":1371}," for Step 4 — the user's browser cannot reach ",{"type":45,"tag":68,"props":1373,"children":1375},{"className":1374},[],[1376],{"type":51,"value":1377},"$VIDEO_URL",{"type":51,"value":1379}," directly.\nMode A requires the selected VLM endpoint to be able to fetch ",{"type":45,"tag":68,"props":1381,"children":1383},{"className":1382},[],[1384],{"type":51,"value":814},{"type":51,"value":1386},".\nLocal NIM\u002FRT-VLM deployments normally can; remote endpoints generally cannot\nfetch ",{"type":45,"tag":68,"props":1388,"children":1390},{"className":1389},[],[1391],{"type":51,"value":1392},"localhost",{"type":51,"value":1394},", private ",{"type":45,"tag":68,"props":1396,"children":1398},{"className":1397},[],[1399],{"type":51,"value":650},{"type":51,"value":1401},", or VST-internal URLs. If the live\n",{"type":45,"tag":68,"props":1403,"children":1405},{"className":1404},[],[1406],{"type":51,"value":1407},"VLM_ENDPOINT",{"type":51,"value":1409}," is remote, surface that reachability requirement instead of\nmaking a chat request that will fail after ",{"type":45,"tag":68,"props":1411,"children":1413},{"className":1412},[],[1414],{"type":51,"value":1415},"\u002Fv1\u002Fmodels",{"type":51,"value":1417}," succeeds.",{"type":45,"tag":1203,"props":1419,"children":1421},{"id":1420},"step-2-resolve-vlm-endpoint-and-model",[1422],{"type":51,"value":1423},"Step 2 — Resolve VLM endpoint and model",{"type":45,"tag":54,"props":1425,"children":1426},{},[1427,1429,1435],{"type":51,"value":1428},"The deploy may serve the VLM through either of two stacks. Both expose an OpenAI-compatible ",{"type":45,"tag":68,"props":1430,"children":1432},{"className":1431},[],[1433],{"type":51,"value":1434},"chat\u002Fcompletions",{"type":51,"value":1436}," API — pick whichever is live:",{"type":45,"tag":77,"props":1438,"children":1439},{},[1440,1465],{"type":45,"tag":81,"props":1441,"children":1442},{},[1443],{"type":45,"tag":85,"props":1444,"children":1445},{},[1446,1450,1455,1460],{"type":45,"tag":89,"props":1447,"children":1448},{},[1449],{"type":51,"value":98},{"type":45,"tag":89,"props":1451,"children":1452},{},[1453],{"type":51,"value":1454},"Env vars",{"type":45,"tag":89,"props":1456,"children":1457},{},[1458],{"type":51,"value":1459},"Typical host endpoint",{"type":45,"tag":89,"props":1461,"children":1462},{},[1463],{"type":51,"value":1464},"Picked when",{"type":45,"tag":100,"props":1466,"children":1467},{},[1468,1586],{"type":45,"tag":85,"props":1469,"children":1470},{},[1471,1479,1510,1529],{"type":45,"tag":107,"props":1472,"children":1473},{},[1474],{"type":45,"tag":60,"props":1475,"children":1476},{},[1477],{"type":51,"value":1478},"NIM Cosmos",{"type":45,"tag":107,"props":1480,"children":1481},{},[1482,1488,1490,1496,1497,1503,1504],{"type":45,"tag":68,"props":1483,"children":1485},{"className":1484},[],[1486],{"type":51,"value":1487},"VLM_BASE_URL",{"type":51,"value":1489},", ",{"type":45,"tag":68,"props":1491,"children":1493},{"className":1492},[],[1494],{"type":51,"value":1495},"VLM_NAME",{"type":51,"value":1489},{"type":45,"tag":68,"props":1498,"children":1500},{"className":1499},[],[1501],{"type":51,"value":1502},"VLM_MODE",{"type":51,"value":1489},{"type":45,"tag":68,"props":1505,"children":1507},{"className":1506},[],[1508],{"type":51,"value":1509},"VLM_MODEL_TYPE",{"type":45,"tag":107,"props":1511,"children":1512},{},[1513,1519,1521,1527],{"type":45,"tag":68,"props":1514,"children":1516},{"className":1515},[],[1517],{"type":51,"value":1518},"${VLM_BASE_URL}\u002Fv1",{"type":51,"value":1520}," (no trailing ",{"type":45,"tag":68,"props":1522,"children":1524},{"className":1523},[],[1525],{"type":51,"value":1526},"\u002Fv1",{"type":51,"value":1528}," on the env var; the agent appends it)",{"type":45,"tag":107,"props":1530,"children":1531},{},[1532,1538,1539,1544,1545,1550,1552,1558,1559,1565,1566,1572,1574,1578,1579,1584],{"type":45,"tag":68,"props":1533,"children":1535},{"className":1534},[],[1536],{"type":51,"value":1537},"VLM_MODEL_TYPE != rtvi",{"type":51,"value":66},{"type":45,"tag":60,"props":1540,"children":1541},{},[1542],{"type":51,"value":1543},"and",{"type":51,"value":66},{"type":45,"tag":68,"props":1546,"children":1548},{"className":1547},[],[1549],{"type":51,"value":1502},{"type":51,"value":1551}," ∈ {",{"type":45,"tag":68,"props":1553,"children":1555},{"className":1554},[],[1556],{"type":51,"value":1557},"local",{"type":51,"value":1489},{"type":45,"tag":68,"props":1560,"children":1562},{"className":1561},[],[1563],{"type":51,"value":1564},"local_shared",{"type":51,"value":1489},{"type":45,"tag":68,"props":1567,"children":1569},{"className":1568},[],[1570],{"type":51,"value":1571},"remote",{"type":51,"value":1573},"} ",{"type":45,"tag":60,"props":1575,"children":1576},{},[1577],{"type":51,"value":1543},{"type":51,"value":66},{"type":45,"tag":68,"props":1580,"children":1582},{"className":1581},[],[1583],{"type":51,"value":1487},{"type":51,"value":1585}," is non-empty",{"type":45,"tag":85,"props":1587,"children":1588},{},[1589,1597,1619,1654],{"type":45,"tag":107,"props":1590,"children":1591},{},[1592],{"type":45,"tag":60,"props":1593,"children":1594},{},[1595],{"type":51,"value":1596},"RT-VLM Cosmos",{"type":45,"tag":107,"props":1598,"children":1599},{},[1600,1606,1607,1613,1614],{"type":45,"tag":68,"props":1601,"children":1603},{"className":1602},[],[1604],{"type":51,"value":1605},"RTVI_VLM_BASE_URL",{"type":51,"value":1489},{"type":45,"tag":68,"props":1608,"children":1610},{"className":1609},[],[1611],{"type":51,"value":1612},"RTVI_VLM_MODEL_TO_USE",{"type":51,"value":1489},{"type":45,"tag":68,"props":1615,"children":1617},{"className":1616},[],[1618],{"type":51,"value":1509},{"type":45,"tag":107,"props":1620,"children":1621},{},[1622,1628,1630,1636,1638,1644,1646,1652],{"type":45,"tag":68,"props":1623,"children":1625},{"className":1624},[],[1626],{"type":51,"value":1627},"${RTVI_VLM_BASE_URL}\u002Fv1",{"type":51,"value":1629}," — if unset, derive from ",{"type":45,"tag":68,"props":1631,"children":1633},{"className":1632},[],[1634],{"type":51,"value":1635},"${HOST_IP}",{"type":51,"value":1637}," (",{"type":45,"tag":68,"props":1639,"children":1641},{"className":1640},[],[1642],{"type":51,"value":1643},"http:\u002F\u002F${HOST_IP}:8018\u002Fv1",{"type":51,"value":1645}," for alerts, ",{"type":45,"tag":68,"props":1647,"children":1649},{"className":1648},[],[1650],{"type":51,"value":1651},"http:\u002F\u002F${HOST_IP}:30082\u002Fv1",{"type":51,"value":1653}," for base)",{"type":45,"tag":107,"props":1655,"children":1656},{},[1657,1663,1665,1671,1672,1677,1679],{"type":45,"tag":68,"props":1658,"children":1660},{"className":1659},[],[1661],{"type":51,"value":1662},"VLM_MODEL_TYPE = rtvi",{"type":51,"value":1664},", or ",{"type":45,"tag":68,"props":1666,"children":1668},{"className":1667},[],[1669],{"type":51,"value":1670},"VLM_MODE=none",{"type":51,"value":1664},{"type":45,"tag":68,"props":1673,"children":1675},{"className":1674},[],[1676],{"type":51,"value":1487},{"type":51,"value":1678}," empty; also the only path for ",{"type":45,"tag":68,"props":1680,"children":1682},{"className":1681},[],[1683],{"type":51,"value":1684},"warehouse",{"type":45,"tag":54,"props":1686,"children":1687},{},[1688],{"type":51,"value":1689},"Read the live values off the running agent container — do not guess:",{"type":45,"tag":580,"props":1691,"children":1693},{"className":582,"code":1692,"language":584,"meta":585,"style":585},"docker exec vss-agent sh -lc '\nfor k in HOST_IP VLM_MODE VLM_MODEL_TYPE VLM_BASE_URL VLM_NAME RTVI_VLM_BASE_URL RTVI_VLM_MODEL_TO_USE; do\n  v=\"$(printenv \"$k\")\"\n  [ -n \"$v\" ] && printf \"%s=%s\\n\" \"$k\" \"$v\"\ndone\n'\n",[1694],{"type":45,"tag":68,"props":1695,"children":1696},{"__ignoreMap":585},[1697,1730,1738,1746,1754,1762],{"type":45,"tag":591,"props":1698,"children":1699},{"class":593,"line":594},[1700,1705,1710,1715,1720,1725],{"type":45,"tag":591,"props":1701,"children":1702},{"style":608},[1703],{"type":51,"value":1704},"docker",{"type":45,"tag":591,"props":1706,"children":1707},{"style":614},[1708],{"type":51,"value":1709}," exec",{"type":45,"tag":591,"props":1711,"children":1712},{"style":614},[1713],{"type":51,"value":1714}," vss-agent",{"type":45,"tag":591,"props":1716,"children":1717},{"style":614},[1718],{"type":51,"value":1719}," sh",{"type":45,"tag":591,"props":1721,"children":1722},{"style":614},[1723],{"type":51,"value":1724}," -lc",{"type":45,"tag":591,"props":1726,"children":1727},{"style":631},[1728],{"type":51,"value":1729}," '\n",{"type":45,"tag":591,"props":1731,"children":1732},{"class":593,"line":604},[1733],{"type":45,"tag":591,"props":1734,"children":1735},{"style":614},[1736],{"type":51,"value":1737},"for k in HOST_IP VLM_MODE VLM_MODEL_TYPE VLM_BASE_URL VLM_NAME RTVI_VLM_BASE_URL RTVI_VLM_MODEL_TO_USE; do\n",{"type":45,"tag":591,"props":1739,"children":1740},{"class":593,"line":678},[1741],{"type":45,"tag":591,"props":1742,"children":1743},{"style":614},[1744],{"type":51,"value":1745},"  v=\"$(printenv \"$k\")\"\n",{"type":45,"tag":591,"props":1747,"children":1748},{"class":593,"line":688},[1749],{"type":45,"tag":591,"props":1750,"children":1751},{"style":614},[1752],{"type":51,"value":1753},"  [ -n \"$v\" ] && printf \"%s=%s\\n\" \"$k\" \"$v\"\n",{"type":45,"tag":591,"props":1755,"children":1756},{"class":593,"line":697},[1757],{"type":45,"tag":591,"props":1758,"children":1759},{"style":614},[1760],{"type":51,"value":1761},"done\n",{"type":45,"tag":591,"props":1763,"children":1765},{"class":593,"line":1764},6,[1766],{"type":45,"tag":591,"props":1767,"children":1768},{"style":631},[1769],{"type":51,"value":1770},"'\n",{"type":45,"tag":54,"props":1772,"children":1773},{},[1774,1776,1782,1784,1790],{"type":51,"value":1775},"Do not require ",{"type":45,"tag":68,"props":1777,"children":1779},{"className":1778},[],[1780],{"type":51,"value":1781},"RTVI_VLM_ENDPOINT",{"type":51,"value":1783}," from ",{"type":45,"tag":68,"props":1785,"children":1787},{"className":1786},[],[1788],{"type":51,"value":1789},"vss-agent",{"type":51,"value":1791}," env; several profiles do not inject it.",{"type":45,"tag":54,"props":1793,"children":1794},{},[1795],{"type":51,"value":1796},"Selection rule:",{"type":45,"tag":580,"props":1798,"children":1800},{"className":582,"code":1799,"language":584,"meta":585,"style":585},"if [ \"${VLM_MODEL_TYPE:-}\" = \"rtvi\" ]; then\n  VLM_BACKEND=\"rtvlm\"\n  VLM_ENDPOINT=\"${RTVI_VLM_BASE_URL:+${RTVI_VLM_BASE_URL%\u002F}\u002Fv1}\"\n  [ -z \"${VLM_ENDPOINT}\" ] && VLM_ENDPOINT=\"http:\u002F\u002F${HOST_IP}:8018\u002Fv1\"   # alerts default\n  VLM_MODEL=\"${RTVI_VLM_MODEL_TO_USE}\"\nelif [ -n \"${VLM_BASE_URL}\" ] && [ \"${VLM_MODE}\" != \"none\" ]; then\n  VLM_BACKEND=\"nim_cosmos\"\n  VLM_ENDPOINT=\"${VLM_BASE_URL%\u002F}\u002Fv1\"\n  VLM_MODEL=\"${VLM_NAME}\"\nelse\n  VLM_BACKEND=\"rtvlm\"\n  VLM_ENDPOINT=\"${RTVI_VLM_BASE_URL:+${RTVI_VLM_BASE_URL%\u002F}\u002Fv1}\"\n  [ -z \"${VLM_ENDPOINT}\" ] && VLM_ENDPOINT=\"http:\u002F\u002F${HOST_IP}:30082\u002Fv1\"  # base default\n  VLM_MODEL=\"${RTVI_VLM_MODEL_TO_USE}\"\nfi\n",[1801],{"type":45,"tag":68,"props":1802,"children":1803},{"__ignoreMap":585},[1804,1859,1885,1936,2015,2039,2118,2143,2176,2200,2209,2233,2281,2355,2379],{"type":45,"tag":591,"props":1805,"children":1806},{"class":593,"line":594},[1807,1813,1818,1822,1826,1831,1836,1840,1845,1849,1854],{"type":45,"tag":591,"props":1808,"children":1810},{"style":1809},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1811],{"type":51,"value":1812},"if",{"type":45,"tag":591,"props":1814,"children":1815},{"style":631},[1816],{"type":51,"value":1817}," [",{"type":45,"tag":591,"props":1819,"children":1820},{"style":631},[1821],{"type":51,"value":888},{"type":45,"tag":591,"props":1823,"children":1824},{"style":647},[1825],{"type":51,"value":1509},{"type":45,"tag":591,"props":1827,"children":1828},{"style":631},[1829],{"type":51,"value":1830},":-}\"",{"type":45,"tag":591,"props":1832,"children":1833},{"style":631},[1834],{"type":51,"value":1835}," =",{"type":45,"tag":591,"props":1837,"children":1838},{"style":631},[1839],{"type":51,"value":634},{"type":45,"tag":591,"props":1841,"children":1842},{"style":614},[1843],{"type":51,"value":1844},"rtvi",{"type":45,"tag":591,"props":1846,"children":1847},{"style":631},[1848],{"type":51,"value":665},{"type":45,"tag":591,"props":1850,"children":1851},{"style":631},[1852],{"type":51,"value":1853}," ];",{"type":45,"tag":591,"props":1855,"children":1856},{"style":1809},[1857],{"type":51,"value":1858}," then\n",{"type":45,"tag":591,"props":1860,"children":1861},{"class":593,"line":604},[1862,1867,1871,1875,1880],{"type":45,"tag":591,"props":1863,"children":1864},{"style":647},[1865],{"type":51,"value":1866},"  VLM_BACKEND",{"type":45,"tag":591,"props":1868,"children":1869},{"style":631},[1870],{"type":51,"value":995},{"type":45,"tag":591,"props":1872,"children":1873},{"style":631},[1874],{"type":51,"value":665},{"type":45,"tag":591,"props":1876,"children":1877},{"style":614},[1878],{"type":51,"value":1879},"rtvlm",{"type":45,"tag":591,"props":1881,"children":1882},{"style":631},[1883],{"type":51,"value":1884},"\"\n",{"type":45,"tag":591,"props":1886,"children":1887},{"class":593,"line":678},[1888,1893,1897,1901,1905,1909,1914,1918,1922,1927,1932],{"type":45,"tag":591,"props":1889,"children":1890},{"style":647},[1891],{"type":51,"value":1892},"  VLM_ENDPOINT",{"type":45,"tag":591,"props":1894,"children":1895},{"style":631},[1896],{"type":51,"value":995},{"type":45,"tag":591,"props":1898,"children":1899},{"style":631},[1900],{"type":51,"value":1000},{"type":45,"tag":591,"props":1902,"children":1903},{"style":647},[1904],{"type":51,"value":1605},{"type":45,"tag":591,"props":1906,"children":1907},{"style":631},[1908],{"type":51,"value":883},{"type":45,"tag":591,"props":1910,"children":1911},{"style":614},[1912],{"type":51,"value":1913},"+",{"type":45,"tag":591,"props":1915,"children":1916},{"style":631},[1917],{"type":51,"value":644},{"type":45,"tag":591,"props":1919,"children":1920},{"style":647},[1921],{"type":51,"value":1605},{"type":45,"tag":591,"props":1923,"children":1924},{"style":631},[1925],{"type":51,"value":1926},"%\u002F}\u002F",{"type":45,"tag":591,"props":1928,"children":1929},{"style":647},[1930],{"type":51,"value":1931},"v1",{"type":45,"tag":591,"props":1933,"children":1934},{"style":631},[1935],{"type":51,"value":933},{"type":45,"tag":591,"props":1937,"children":1938},{"class":593,"line":688},[1939,1944,1949,1953,1957,1962,1967,1972,1977,1981,1985,1989,1993,1997,2001,2006,2010],{"type":45,"tag":591,"props":1940,"children":1941},{"style":631},[1942],{"type":51,"value":1943},"  [",{"type":45,"tag":591,"props":1945,"children":1946},{"style":631},[1947],{"type":51,"value":1948}," -z",{"type":45,"tag":591,"props":1950,"children":1951},{"style":631},[1952],{"type":51,"value":888},{"type":45,"tag":591,"props":1954,"children":1955},{"style":647},[1956],{"type":51,"value":1407},{"type":45,"tag":591,"props":1958,"children":1959},{"style":631},[1960],{"type":51,"value":1961},"}\"",{"type":45,"tag":591,"props":1963,"children":1964},{"style":631},[1965],{"type":51,"value":1966}," ]",{"type":45,"tag":591,"props":1968,"children":1969},{"style":631},[1970],{"type":51,"value":1971}," &&",{"type":45,"tag":591,"props":1973,"children":1974},{"style":647},[1975],{"type":51,"value":1976}," VLM_ENDPOINT",{"type":45,"tag":591,"props":1978,"children":1979},{"style":631},[1980],{"type":51,"value":995},{"type":45,"tag":591,"props":1982,"children":1983},{"style":631},[1984],{"type":51,"value":665},{"type":45,"tag":591,"props":1986,"children":1987},{"style":614},[1988],{"type":51,"value":639},{"type":45,"tag":591,"props":1990,"children":1991},{"style":631},[1992],{"type":51,"value":644},{"type":45,"tag":591,"props":1994,"children":1995},{"style":647},[1996],{"type":51,"value":650},{"type":45,"tag":591,"props":1998,"children":1999},{"style":631},[2000],{"type":51,"value":655},{"type":45,"tag":591,"props":2002,"children":2003},{"style":614},[2004],{"type":51,"value":2005},":8018\u002Fv1",{"type":45,"tag":591,"props":2007,"children":2008},{"style":631},[2009],{"type":51,"value":665},{"type":45,"tag":591,"props":2011,"children":2012},{"style":598},[2013],{"type":51,"value":2014},"   # alerts default\n",{"type":45,"tag":591,"props":2016,"children":2017},{"class":593,"line":697},[2018,2023,2027,2031,2035],{"type":45,"tag":591,"props":2019,"children":2020},{"style":647},[2021],{"type":51,"value":2022},"  VLM_MODEL",{"type":45,"tag":591,"props":2024,"children":2025},{"style":631},[2026],{"type":51,"value":995},{"type":45,"tag":591,"props":2028,"children":2029},{"style":631},[2030],{"type":51,"value":1000},{"type":45,"tag":591,"props":2032,"children":2033},{"style":647},[2034],{"type":51,"value":1612},{"type":45,"tag":591,"props":2036,"children":2037},{"style":631},[2038],{"type":51,"value":933},{"type":45,"tag":591,"props":2040,"children":2041},{"class":593,"line":1764},[2042,2047,2051,2056,2060,2064,2068,2072,2076,2080,2084,2088,2092,2097,2101,2106,2110,2114],{"type":45,"tag":591,"props":2043,"children":2044},{"style":1809},[2045],{"type":51,"value":2046},"elif",{"type":45,"tag":591,"props":2048,"children":2049},{"style":631},[2050],{"type":51,"value":1817},{"type":45,"tag":591,"props":2052,"children":2053},{"style":631},[2054],{"type":51,"value":2055}," -n",{"type":45,"tag":591,"props":2057,"children":2058},{"style":631},[2059],{"type":51,"value":888},{"type":45,"tag":591,"props":2061,"children":2062},{"style":647},[2063],{"type":51,"value":1487},{"type":45,"tag":591,"props":2065,"children":2066},{"style":631},[2067],{"type":51,"value":1961},{"type":45,"tag":591,"props":2069,"children":2070},{"style":631},[2071],{"type":51,"value":1966},{"type":45,"tag":591,"props":2073,"children":2074},{"style":631},[2075],{"type":51,"value":1971},{"type":45,"tag":591,"props":2077,"children":2078},{"style":631},[2079],{"type":51,"value":1817},{"type":45,"tag":591,"props":2081,"children":2082},{"style":631},[2083],{"type":51,"value":888},{"type":45,"tag":591,"props":2085,"children":2086},{"style":647},[2087],{"type":51,"value":1502},{"type":45,"tag":591,"props":2089,"children":2090},{"style":631},[2091],{"type":51,"value":1961},{"type":45,"tag":591,"props":2093,"children":2094},{"style":631},[2095],{"type":51,"value":2096}," !=",{"type":45,"tag":591,"props":2098,"children":2099},{"style":631},[2100],{"type":51,"value":634},{"type":45,"tag":591,"props":2102,"children":2103},{"style":614},[2104],{"type":51,"value":2105},"none",{"type":45,"tag":591,"props":2107,"children":2108},{"style":631},[2109],{"type":51,"value":665},{"type":45,"tag":591,"props":2111,"children":2112},{"style":631},[2113],{"type":51,"value":1853},{"type":45,"tag":591,"props":2115,"children":2116},{"style":1809},[2117],{"type":51,"value":1858},{"type":45,"tag":591,"props":2119,"children":2121},{"class":593,"line":2120},7,[2122,2126,2130,2134,2139],{"type":45,"tag":591,"props":2123,"children":2124},{"style":647},[2125],{"type":51,"value":1866},{"type":45,"tag":591,"props":2127,"children":2128},{"style":631},[2129],{"type":51,"value":995},{"type":45,"tag":591,"props":2131,"children":2132},{"style":631},[2133],{"type":51,"value":665},{"type":45,"tag":591,"props":2135,"children":2136},{"style":614},[2137],{"type":51,"value":2138},"nim_cosmos",{"type":45,"tag":591,"props":2140,"children":2141},{"style":631},[2142],{"type":51,"value":1884},{"type":45,"tag":591,"props":2144,"children":2146},{"class":593,"line":2145},8,[2147,2151,2155,2159,2163,2168,2172],{"type":45,"tag":591,"props":2148,"children":2149},{"style":647},[2150],{"type":51,"value":1892},{"type":45,"tag":591,"props":2152,"children":2153},{"style":631},[2154],{"type":51,"value":995},{"type":45,"tag":591,"props":2156,"children":2157},{"style":631},[2158],{"type":51,"value":1000},{"type":45,"tag":591,"props":2160,"children":2161},{"style":647},[2162],{"type":51,"value":1487},{"type":45,"tag":591,"props":2164,"children":2165},{"style":631},[2166],{"type":51,"value":2167},"%\u002F}",{"type":45,"tag":591,"props":2169,"children":2170},{"style":614},[2171],{"type":51,"value":1526},{"type":45,"tag":591,"props":2173,"children":2174},{"style":631},[2175],{"type":51,"value":1884},{"type":45,"tag":591,"props":2177,"children":2179},{"class":593,"line":2178},9,[2180,2184,2188,2192,2196],{"type":45,"tag":591,"props":2181,"children":2182},{"style":647},[2183],{"type":51,"value":2022},{"type":45,"tag":591,"props":2185,"children":2186},{"style":631},[2187],{"type":51,"value":995},{"type":45,"tag":591,"props":2189,"children":2190},{"style":631},[2191],{"type":51,"value":1000},{"type":45,"tag":591,"props":2193,"children":2194},{"style":647},[2195],{"type":51,"value":1495},{"type":45,"tag":591,"props":2197,"children":2198},{"style":631},[2199],{"type":51,"value":933},{"type":45,"tag":591,"props":2201,"children":2203},{"class":593,"line":2202},10,[2204],{"type":45,"tag":591,"props":2205,"children":2206},{"style":1809},[2207],{"type":51,"value":2208},"else\n",{"type":45,"tag":591,"props":2210,"children":2212},{"class":593,"line":2211},11,[2213,2217,2221,2225,2229],{"type":45,"tag":591,"props":2214,"children":2215},{"style":647},[2216],{"type":51,"value":1866},{"type":45,"tag":591,"props":2218,"children":2219},{"style":631},[2220],{"type":51,"value":995},{"type":45,"tag":591,"props":2222,"children":2223},{"style":631},[2224],{"type":51,"value":665},{"type":45,"tag":591,"props":2226,"children":2227},{"style":614},[2228],{"type":51,"value":1879},{"type":45,"tag":591,"props":2230,"children":2231},{"style":631},[2232],{"type":51,"value":1884},{"type":45,"tag":591,"props":2234,"children":2236},{"class":593,"line":2235},12,[2237,2241,2245,2249,2253,2257,2261,2265,2269,2273,2277],{"type":45,"tag":591,"props":2238,"children":2239},{"style":647},[2240],{"type":51,"value":1892},{"type":45,"tag":591,"props":2242,"children":2243},{"style":631},[2244],{"type":51,"value":995},{"type":45,"tag":591,"props":2246,"children":2247},{"style":631},[2248],{"type":51,"value":1000},{"type":45,"tag":591,"props":2250,"children":2251},{"style":647},[2252],{"type":51,"value":1605},{"type":45,"tag":591,"props":2254,"children":2255},{"style":631},[2256],{"type":51,"value":883},{"type":45,"tag":591,"props":2258,"children":2259},{"style":614},[2260],{"type":51,"value":1913},{"type":45,"tag":591,"props":2262,"children":2263},{"style":631},[2264],{"type":51,"value":644},{"type":45,"tag":591,"props":2266,"children":2267},{"style":647},[2268],{"type":51,"value":1605},{"type":45,"tag":591,"props":2270,"children":2271},{"style":631},[2272],{"type":51,"value":1926},{"type":45,"tag":591,"props":2274,"children":2275},{"style":647},[2276],{"type":51,"value":1931},{"type":45,"tag":591,"props":2278,"children":2279},{"style":631},[2280],{"type":51,"value":933},{"type":45,"tag":591,"props":2282,"children":2284},{"class":593,"line":2283},13,[2285,2289,2293,2297,2301,2305,2309,2313,2317,2321,2325,2329,2333,2337,2341,2346,2350],{"type":45,"tag":591,"props":2286,"children":2287},{"style":631},[2288],{"type":51,"value":1943},{"type":45,"tag":591,"props":2290,"children":2291},{"style":631},[2292],{"type":51,"value":1948},{"type":45,"tag":591,"props":2294,"children":2295},{"style":631},[2296],{"type":51,"value":888},{"type":45,"tag":591,"props":2298,"children":2299},{"style":647},[2300],{"type":51,"value":1407},{"type":45,"tag":591,"props":2302,"children":2303},{"style":631},[2304],{"type":51,"value":1961},{"type":45,"tag":591,"props":2306,"children":2307},{"style":631},[2308],{"type":51,"value":1966},{"type":45,"tag":591,"props":2310,"children":2311},{"style":631},[2312],{"type":51,"value":1971},{"type":45,"tag":591,"props":2314,"children":2315},{"style":647},[2316],{"type":51,"value":1976},{"type":45,"tag":591,"props":2318,"children":2319},{"style":631},[2320],{"type":51,"value":995},{"type":45,"tag":591,"props":2322,"children":2323},{"style":631},[2324],{"type":51,"value":665},{"type":45,"tag":591,"props":2326,"children":2327},{"style":614},[2328],{"type":51,"value":639},{"type":45,"tag":591,"props":2330,"children":2331},{"style":631},[2332],{"type":51,"value":644},{"type":45,"tag":591,"props":2334,"children":2335},{"style":647},[2336],{"type":51,"value":650},{"type":45,"tag":591,"props":2338,"children":2339},{"style":631},[2340],{"type":51,"value":655},{"type":45,"tag":591,"props":2342,"children":2343},{"style":614},[2344],{"type":51,"value":2345},":30082\u002Fv1",{"type":45,"tag":591,"props":2347,"children":2348},{"style":631},[2349],{"type":51,"value":665},{"type":45,"tag":591,"props":2351,"children":2352},{"style":598},[2353],{"type":51,"value":2354},"  # base default\n",{"type":45,"tag":591,"props":2356,"children":2358},{"class":593,"line":2357},14,[2359,2363,2367,2371,2375],{"type":45,"tag":591,"props":2360,"children":2361},{"style":647},[2362],{"type":51,"value":2022},{"type":45,"tag":591,"props":2364,"children":2365},{"style":631},[2366],{"type":51,"value":995},{"type":45,"tag":591,"props":2368,"children":2369},{"style":631},[2370],{"type":51,"value":1000},{"type":45,"tag":591,"props":2372,"children":2373},{"style":647},[2374],{"type":51,"value":1612},{"type":45,"tag":591,"props":2376,"children":2377},{"style":631},[2378],{"type":51,"value":933},{"type":45,"tag":591,"props":2380,"children":2382},{"class":593,"line":2381},15,[2383],{"type":45,"tag":591,"props":2384,"children":2385},{"style":1809},[2386],{"type":51,"value":2387},"fi\n",{"type":45,"tag":54,"props":2389,"children":2390},{},[2391,2393,2398],{"type":51,"value":2392},"Probe ",{"type":45,"tag":68,"props":2394,"children":2396},{"className":2395},[],[2397],{"type":51,"value":1415},{"type":51,"value":2399}," before sending a chat request to confirm the chosen endpoint is alive and the model is loaded:",{"type":45,"tag":580,"props":2401,"children":2403},{"className":582,"code":2402,"language":584,"meta":585,"style":585},"curl -sf --max-time 5 \"${VLM_ENDPOINT}\u002Fmodels\" | jq -r '.data[].id'\n",[2404],{"type":45,"tag":68,"props":2405,"children":2406},{"__ignoreMap":585},[2407],{"type":45,"tag":591,"props":2408,"children":2409},{"class":593,"line":594},[2410,2414,2418,2422,2426,2430,2434,2438,2443,2447,2451,2455,2459,2464,2469],{"type":45,"tag":591,"props":2411,"children":2412},{"style":608},[2413],{"type":51,"value":611},{"type":45,"tag":591,"props":2415,"children":2416},{"style":614},[2417],{"type":51,"value":617},{"type":45,"tag":591,"props":2419,"children":2420},{"style":614},[2421],{"type":51,"value":622},{"type":45,"tag":591,"props":2423,"children":2424},{"style":625},[2425],{"type":51,"value":628},{"type":45,"tag":591,"props":2427,"children":2428},{"style":631},[2429],{"type":51,"value":888},{"type":45,"tag":591,"props":2431,"children":2432},{"style":647},[2433],{"type":51,"value":1407},{"type":45,"tag":591,"props":2435,"children":2436},{"style":631},[2437],{"type":51,"value":655},{"type":45,"tag":591,"props":2439,"children":2440},{"style":614},[2441],{"type":51,"value":2442},"\u002Fmodels",{"type":45,"tag":591,"props":2444,"children":2445},{"style":631},[2446],{"type":51,"value":665},{"type":45,"tag":591,"props":2448,"children":2449},{"style":631},[2450],{"type":51,"value":1053},{"type":45,"tag":591,"props":2452,"children":2453},{"style":608},[2454],{"type":51,"value":1325},{"type":45,"tag":591,"props":2456,"children":2457},{"style":614},[2458],{"type":51,"value":1330},{"type":45,"tag":591,"props":2460,"children":2461},{"style":631},[2462],{"type":51,"value":2463}," '",{"type":45,"tag":591,"props":2465,"children":2466},{"style":614},[2467],{"type":51,"value":2468},".data[].id",{"type":45,"tag":591,"props":2470,"children":2471},{"style":631},[2472],{"type":51,"value":1770},{"type":45,"tag":54,"props":2474,"children":2475},{},[2476,2478,2484],{"type":51,"value":2477},"If the probe fails or the listed ids don't include ",{"type":45,"tag":68,"props":2479,"children":2481},{"className":2480},[],[2482],{"type":51,"value":2483},"${VLM_MODEL}",{"type":51,"value":2485},", fall back to the other backend (or surface the error — never silently pick a model that isn't on the server).",{"type":45,"tag":1203,"props":2487,"children":2489},{"id":2488},"step-3-call-the-vlm-directly",[2490],{"type":51,"value":2491},"Step 3 — Call the VLM directly",{"type":45,"tag":54,"props":2493,"children":2494},{},[2495,2497,2502,2504,2509,2511,2516,2517,2523,2525,2531,2532,2538,2540,2546],{"type":51,"value":2496},"Use the OpenAI-compatible ",{"type":45,"tag":68,"props":2498,"children":2500},{"className":2499},[],[2501],{"type":51,"value":1434},{"type":51,"value":2503}," endpoint with a ",{"type":45,"tag":68,"props":2505,"children":2507},{"className":2506},[],[2508],{"type":51,"value":1149},{"type":51,"value":2510}," content block — the same payload shape ",{"type":45,"tag":60,"props":2512,"children":2513},{},[2514],{"type":51,"value":2515},"and multimodal settings",{"type":51,"value":66},{"type":45,"tag":68,"props":2518,"children":2520},{"className":2519},[],[2521],{"type":51,"value":2522},"video_understanding",{"type":51,"value":2524}," builds in ",{"type":45,"tag":68,"props":2526,"children":2528},{"className":2527},[],[2529],{"type":51,"value":2530},"src\u002Fvss_agents\u002Ftools\u002Fvideo_understanding.py",{"type":51,"value":1637},{"type":45,"tag":68,"props":2533,"children":2535},{"className":2534},[],[2536],{"type":51,"value":2537},"_build_vlm_messages",{"type":51,"value":2539}," + the Cosmos ",{"type":45,"tag":68,"props":2541,"children":2543},{"className":2542},[],[2544],{"type":51,"value":2545},"base_vlm.bind(...)",{"type":51,"value":2547}," call).",{"type":45,"tag":54,"props":2549,"children":2550},{},[2551,2553,2558,2559,2564,2566,2584,2586,2591],{"type":51,"value":2552},"The frame sampling and visual-token (pixel) budget must mirror the ",{"type":45,"tag":60,"props":2554,"children":2555},{},[2556],{"type":51,"value":2557},"live",{"type":51,"value":66},{"type":45,"tag":68,"props":2560,"children":2562},{"className":2561},[],[2563],{"type":51,"value":2522},{"type":51,"value":2565}," settings for the active profile. ",{"type":45,"tag":60,"props":2567,"children":2568},{},[2569,2571,2577,2578],{"type":51,"value":2570},"Send ",{"type":45,"tag":68,"props":2572,"children":2574},{"className":2573},[],[2575],{"type":51,"value":2576},"mm_processor_kwargs",{"type":51,"value":433},{"type":45,"tag":68,"props":2579,"children":2581},{"className":2580},[],[2582],{"type":51,"value":2583},"media_io_kwargs",{"type":51,"value":2585}," so the direct call uses the same frame sampling and pixel budget as the in-agent ",{"type":45,"tag":68,"props":2587,"children":2589},{"className":2588},[],[2590],{"type":51,"value":2522},{"type":51,"value":2592}," tool — omitting them lets the VLM apply its own defaults, so the output diverges from the agent path.",{"type":45,"tag":580,"props":2594,"children":2596},{"className":582,"code":2595,"language":584,"meta":585,"style":585},"PROMPT='Describe in detail what happens in the video, with timestamps (start–end in seconds from clip start) for each segment or event. Cover scenes, objects, people, vehicles, and notable actions.'\n\n# Reasoning is OFF by default — matches the base-profile video_understanding config (`reasoning: false`).\n# video_understanding.py uses config.reasoning unless the caller overrides it, so default to non-reasoning.\n# Append the Cosmos Reason 2 reasoning suffix ONLY when the user explicitly asks for reasoning\n# (drop it for non-cosmos-reason2 VLMs). With reasoning off, the response has no \u003Cthink> block.\nif [ \"${REASONING:-false}\" = \"true\" ]; then\nPROMPT=\"${PROMPT}\n\nAnswer the question using the following format:\n\n\u003Cthink>\nYour reasoning.\n\u003C\u002Fthink>\n\nWrite your final answer immediately after the \u003C\u002Fthink> tag.\"\nfi\n\n# If Step 3 is run standalone, derive missing backend from current env\u002Fmodel.\n[ -z \"${VLM_BACKEND:-}\" ] && {\n  if [ \"${VLM_MODEL_TYPE:-}\" = \"rtvi\" ]; then\n    VLM_BACKEND=\"rtvlm\"\n  elif [[ \"${VLM_MODEL:-}\" == nvidia\u002Fcosmos* ]]; then\n    VLM_BACKEND=\"nim_cosmos\"\n  else\n    VLM_BACKEND=\"rtvlm\"\n  fi\n}\n\n# Multimodal settings — resolve from the live agent config file path, not hardcoded candidates.\nCFG_JSON=$(\ndocker exec vss-agent python3 -c '\nimport json, os, yaml\np = os.getenv(\"VSS_AGENT_CONFIG_FILE\")\nif not p:\n    raise SystemExit(\"VSS_AGENT_CONFIG_FILE is not set in vss-agent\")\nif not os.path.isabs(p):\n    p = os.path.join(\"\u002Fvss-agent\", p.lstrip(\".\u002F\"))\nwith open(p, encoding=\"utf-8\") as f:\n    cfg = yaml.safe_load(f) or {}\nvu = (cfg.get(\"functions\", {}) or {}).get(\"video_understanding\", {}) or {}\nprint(json.dumps({\n    \"max_fps\": int(vu.get(\"max_fps\", 2)),\n    \"max_frames\": int(vu.get(\"max_frames\", 30)),\n    \"min_pixels\": int(vu.get(\"min_pixels\", 3136)),\n    \"max_pixels\": int(vu.get(\"max_pixels\", 8388608)),\n}))\n')\n)\n[ -n \"${CFG_JSON}\" ] || { echo \"Failed to read video_understanding config from vss-agent\"; exit 1; }\nprintf '%s' \"${CFG_JSON}\" | jq -e . >\u002Fdev\u002Fnull || { echo \"Invalid config JSON from vss-agent\"; exit 1; }\nMAX_FPS=\"$(printf '%s' \"${CFG_JSON}\" | jq -r '.max_fps')\"\nMAX_FRAMES=\"$(printf '%s' \"${CFG_JSON}\" | jq -r '.max_frames')\"\nMIN_PIXELS=\"$(printf '%s' \"${CFG_JSON}\" | jq -r '.min_pixels')\"\nMAX_PIXELS=\"$(printf '%s' \"${CFG_JSON}\" | jq -r '.max_pixels')\"\n\n# num_frames = min(int(clip_seconds) * max_fps, max_frames), min 1 — matches video_understanding.py.\n# clip_seconds (Step 1 endTime-startTime) may be fractional; truncate to integer seconds — bash $((...))\n# is integer-only and errors on \"15.0\"\u002F\"1.5\". Default 15s -> caps at MAX_FRAMES.\nCLIP_SECONDS=$(awk -v s=\"${CLIP_SECONDS:-15}\" 'BEGIN{printf \"%d\", s}')\nNUM_FRAMES=$(( CLIP_SECONDS * MAX_FPS ))\n[ \"$NUM_FRAMES\" -gt \"$MAX_FRAMES\" ] && NUM_FRAMES=$MAX_FRAMES\n[ \"$NUM_FRAMES\" -lt 1 ] && NUM_FRAMES=1\n\n# Only apply Cosmos mm\u002Fmedia kwargs on the NIM Cosmos path.\n# RT-VLM mode uses its own server-side preprocessing and should not receive these kwargs.\nMM_KWARGS=\"\"\nif [ \"${VLM_BACKEND}\" = \"nim_cosmos\" ]; then\n  case \"$VLM_MODEL\" in\n    *cosmos-reason2*) MM_KWARGS=\", \\\"mm_processor_kwargs\\\": {\\\"size\\\": {\\\"shortest_edge\\\": ${MIN_PIXELS}, \\\"longest_edge\\\": ${MAX_PIXELS}}}, \\\"media_io_kwargs\\\": {\\\"video\\\": {\\\"num_frames\\\": ${NUM_FRAMES}}}\" ;;\n    *cosmos*)         MM_KWARGS=\", \\\"mm_processor_kwargs\\\": {\\\"videos_kwargs\\\": {\\\"min_pixels\\\": ${MIN_PIXELS}, \\\"max_pixels\\\": ${MAX_PIXELS}}}, \\\"media_io_kwargs\\\": {\\\"video\\\": {\\\"num_frames\\\": ${NUM_FRAMES}}}\" ;;\n    *)                      MM_KWARGS=\"\" ;;\n  esac\nfi\n\ncurl -s --connect-timeout 5 --max-time 120 -X POST \"${VLM_ENDPOINT}\u002Fchat\u002Fcompletions\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d @- \u003C\u003CEOF | jq -r '.choices[0].message.content'\n{\n  \"model\": $(printf '%s' \"${VLM_MODEL}\" | jq -Rs .),\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": [\n        {\"type\": \"text\", \"text\": $(printf '%s' \"${PROMPT}\" | jq -Rs .)},\n        {\"type\": \"video_url\", \"video_url\": {\"url\": $(printf '%s' \"${VIDEO_URL}\" | jq -Rs .)}}\n      ]\n    }\n  ],\n  \"max_tokens\": 1024,\n  \"temperature\": 0.0${MM_KWARGS}\n}\nEOF\n",[2597],{"type":45,"tag":68,"props":2598,"children":2599},{"__ignoreMap":585},[2600,2626,2633,2641,2649,2657,2665,2723,2747,2754,2762,2769,2777,2785,2793,2800,2813,2821,2829,2838,2877,2926,2951,3002,3026,3035,3059,3068,3076,3084,3093,3107,3137,3146,3155,3164,3173,3182,3191,3200,3209,3218,3227,3236,3245,3254,3263,3272,3284,3292,3372,3478,3551,3621,3691,3761,3769,3778,3787,3796,3862,3896,3957,4007,4015,4024,4033,4051,4099,4126,4344,4553,4580,4589,4597,4605,4671,4697,4746,4755,4819,4828,4837,4846,4855,4917,4979,4988,4997,5006,5015,5036,5044],{"type":45,"tag":591,"props":2601,"children":2602},{"class":593,"line":594},[2603,2608,2612,2617,2622],{"type":45,"tag":591,"props":2604,"children":2605},{"style":647},[2606],{"type":51,"value":2607},"PROMPT",{"type":45,"tag":591,"props":2609,"children":2610},{"style":631},[2611],{"type":51,"value":995},{"type":45,"tag":591,"props":2613,"children":2614},{"style":631},[2615],{"type":51,"value":2616},"'",{"type":45,"tag":591,"props":2618,"children":2619},{"style":614},[2620],{"type":51,"value":2621},"Describe in detail what happens in the video, with timestamps (start–end in seconds from clip start) for each segment or event. Cover scenes, objects, people, vehicles, and notable actions.",{"type":45,"tag":591,"props":2623,"children":2624},{"style":631},[2625],{"type":51,"value":1770},{"type":45,"tag":591,"props":2627,"children":2628},{"class":593,"line":604},[2629],{"type":45,"tag":591,"props":2630,"children":2631},{"emptyLinePlaceholder":682},[2632],{"type":51,"value":685},{"type":45,"tag":591,"props":2634,"children":2635},{"class":593,"line":678},[2636],{"type":45,"tag":591,"props":2637,"children":2638},{"style":598},[2639],{"type":51,"value":2640},"# Reasoning is OFF by default — matches the base-profile video_understanding config (`reasoning: false`).\n",{"type":45,"tag":591,"props":2642,"children":2643},{"class":593,"line":688},[2644],{"type":45,"tag":591,"props":2645,"children":2646},{"style":598},[2647],{"type":51,"value":2648},"# video_understanding.py uses config.reasoning unless the caller overrides it, so default to non-reasoning.\n",{"type":45,"tag":591,"props":2650,"children":2651},{"class":593,"line":697},[2652],{"type":45,"tag":591,"props":2653,"children":2654},{"style":598},[2655],{"type":51,"value":2656},"# Append the Cosmos Reason 2 reasoning suffix ONLY when the user explicitly asks for reasoning\n",{"type":45,"tag":591,"props":2658,"children":2659},{"class":593,"line":1764},[2660],{"type":45,"tag":591,"props":2661,"children":2662},{"style":598},[2663],{"type":51,"value":2664},"# (drop it for non-cosmos-reason2 VLMs). With reasoning off, the response has no \u003Cthink> block.\n",{"type":45,"tag":591,"props":2666,"children":2667},{"class":593,"line":2120},[2668,2672,2676,2680,2685,2689,2694,2698,2702,2706,2711,2715,2719],{"type":45,"tag":591,"props":2669,"children":2670},{"style":1809},[2671],{"type":51,"value":1812},{"type":45,"tag":591,"props":2673,"children":2674},{"style":631},[2675],{"type":51,"value":1817},{"type":45,"tag":591,"props":2677,"children":2678},{"style":631},[2679],{"type":51,"value":888},{"type":45,"tag":591,"props":2681,"children":2682},{"style":647},[2683],{"type":51,"value":2684},"REASONING",{"type":45,"tag":591,"props":2686,"children":2687},{"style":631},[2688],{"type":51,"value":1009},{"type":45,"tag":591,"props":2690,"children":2691},{"style":647},[2692],{"type":51,"value":2693},"false",{"type":45,"tag":591,"props":2695,"children":2696},{"style":631},[2697],{"type":51,"value":1961},{"type":45,"tag":591,"props":2699,"children":2700},{"style":631},[2701],{"type":51,"value":1835},{"type":45,"tag":591,"props":2703,"children":2704},{"style":631},[2705],{"type":51,"value":634},{"type":45,"tag":591,"props":2707,"children":2708},{"style":614},[2709],{"type":51,"value":2710},"true",{"type":45,"tag":591,"props":2712,"children":2713},{"style":631},[2714],{"type":51,"value":665},{"type":45,"tag":591,"props":2716,"children":2717},{"style":631},[2718],{"type":51,"value":1853},{"type":45,"tag":591,"props":2720,"children":2721},{"style":1809},[2722],{"type":51,"value":1858},{"type":45,"tag":591,"props":2724,"children":2725},{"class":593,"line":2145},[2726,2730,2734,2738,2742],{"type":45,"tag":591,"props":2727,"children":2728},{"style":647},[2729],{"type":51,"value":2607},{"type":45,"tag":591,"props":2731,"children":2732},{"style":631},[2733],{"type":51,"value":995},{"type":45,"tag":591,"props":2735,"children":2736},{"style":631},[2737],{"type":51,"value":1000},{"type":45,"tag":591,"props":2739,"children":2740},{"style":647},[2741],{"type":51,"value":2607},{"type":45,"tag":591,"props":2743,"children":2744},{"style":631},[2745],{"type":51,"value":2746},"}\n",{"type":45,"tag":591,"props":2748,"children":2749},{"class":593,"line":2178},[2750],{"type":45,"tag":591,"props":2751,"children":2752},{"emptyLinePlaceholder":682},[2753],{"type":51,"value":685},{"type":45,"tag":591,"props":2755,"children":2756},{"class":593,"line":2202},[2757],{"type":45,"tag":591,"props":2758,"children":2759},{"style":614},[2760],{"type":51,"value":2761},"Answer the question using the following format:\n",{"type":45,"tag":591,"props":2763,"children":2764},{"class":593,"line":2211},[2765],{"type":45,"tag":591,"props":2766,"children":2767},{"emptyLinePlaceholder":682},[2768],{"type":51,"value":685},{"type":45,"tag":591,"props":2770,"children":2771},{"class":593,"line":2235},[2772],{"type":45,"tag":591,"props":2773,"children":2774},{"style":614},[2775],{"type":51,"value":2776},"\u003Cthink>\n",{"type":45,"tag":591,"props":2778,"children":2779},{"class":593,"line":2283},[2780],{"type":45,"tag":591,"props":2781,"children":2782},{"style":614},[2783],{"type":51,"value":2784},"Your reasoning.\n",{"type":45,"tag":591,"props":2786,"children":2787},{"class":593,"line":2357},[2788],{"type":45,"tag":591,"props":2789,"children":2790},{"style":614},[2791],{"type":51,"value":2792},"\u003C\u002Fthink>\n",{"type":45,"tag":591,"props":2794,"children":2795},{"class":593,"line":2381},[2796],{"type":45,"tag":591,"props":2797,"children":2798},{"emptyLinePlaceholder":682},[2799],{"type":51,"value":685},{"type":45,"tag":591,"props":2801,"children":2803},{"class":593,"line":2802},16,[2804,2809],{"type":45,"tag":591,"props":2805,"children":2806},{"style":614},[2807],{"type":51,"value":2808},"Write your final answer immediately after the \u003C\u002Fthink> tag.",{"type":45,"tag":591,"props":2810,"children":2811},{"style":631},[2812],{"type":51,"value":1884},{"type":45,"tag":591,"props":2814,"children":2816},{"class":593,"line":2815},17,[2817],{"type":45,"tag":591,"props":2818,"children":2819},{"style":1809},[2820],{"type":51,"value":2387},{"type":45,"tag":591,"props":2822,"children":2824},{"class":593,"line":2823},18,[2825],{"type":45,"tag":591,"props":2826,"children":2827},{"emptyLinePlaceholder":682},[2828],{"type":51,"value":685},{"type":45,"tag":591,"props":2830,"children":2832},{"class":593,"line":2831},19,[2833],{"type":45,"tag":591,"props":2834,"children":2835},{"style":598},[2836],{"type":51,"value":2837},"# If Step 3 is run standalone, derive missing backend from current env\u002Fmodel.\n",{"type":45,"tag":591,"props":2839,"children":2841},{"class":593,"line":2840},20,[2842,2847,2851,2855,2860,2864,2868,2872],{"type":45,"tag":591,"props":2843,"children":2844},{"style":631},[2845],{"type":51,"value":2846},"[",{"type":45,"tag":591,"props":2848,"children":2849},{"style":631},[2850],{"type":51,"value":1948},{"type":45,"tag":591,"props":2852,"children":2853},{"style":631},[2854],{"type":51,"value":888},{"type":45,"tag":591,"props":2856,"children":2857},{"style":647},[2858],{"type":51,"value":2859},"VLM_BACKEND",{"type":45,"tag":591,"props":2861,"children":2862},{"style":631},[2863],{"type":51,"value":1830},{"type":45,"tag":591,"props":2865,"children":2866},{"style":631},[2867],{"type":51,"value":1966},{"type":45,"tag":591,"props":2869,"children":2870},{"style":631},[2871],{"type":51,"value":1971},{"type":45,"tag":591,"props":2873,"children":2874},{"style":631},[2875],{"type":51,"value":2876}," {\n",{"type":45,"tag":591,"props":2878,"children":2880},{"class":593,"line":2879},21,[2881,2886,2890,2894,2898,2902,2906,2910,2914,2918,2922],{"type":45,"tag":591,"props":2882,"children":2883},{"style":1809},[2884],{"type":51,"value":2885},"  if",{"type":45,"tag":591,"props":2887,"children":2888},{"style":631},[2889],{"type":51,"value":1817},{"type":45,"tag":591,"props":2891,"children":2892},{"style":631},[2893],{"type":51,"value":888},{"type":45,"tag":591,"props":2895,"children":2896},{"style":647},[2897],{"type":51,"value":1509},{"type":45,"tag":591,"props":2899,"children":2900},{"style":631},[2901],{"type":51,"value":1830},{"type":45,"tag":591,"props":2903,"children":2904},{"style":631},[2905],{"type":51,"value":1835},{"type":45,"tag":591,"props":2907,"children":2908},{"style":631},[2909],{"type":51,"value":634},{"type":45,"tag":591,"props":2911,"children":2912},{"style":614},[2913],{"type":51,"value":1844},{"type":45,"tag":591,"props":2915,"children":2916},{"style":631},[2917],{"type":51,"value":665},{"type":45,"tag":591,"props":2919,"children":2920},{"style":631},[2921],{"type":51,"value":1853},{"type":45,"tag":591,"props":2923,"children":2924},{"style":1809},[2925],{"type":51,"value":1858},{"type":45,"tag":591,"props":2927,"children":2929},{"class":593,"line":2928},22,[2930,2935,2939,2943,2947],{"type":45,"tag":591,"props":2931,"children":2932},{"style":647},[2933],{"type":51,"value":2934},"    VLM_BACKEND",{"type":45,"tag":591,"props":2936,"children":2937},{"style":631},[2938],{"type":51,"value":995},{"type":45,"tag":591,"props":2940,"children":2941},{"style":631},[2942],{"type":51,"value":665},{"type":45,"tag":591,"props":2944,"children":2945},{"style":614},[2946],{"type":51,"value":1879},{"type":45,"tag":591,"props":2948,"children":2949},{"style":631},[2950],{"type":51,"value":1884},{"type":45,"tag":591,"props":2952,"children":2954},{"class":593,"line":2953},23,[2955,2960,2965,2969,2974,2978,2983,2988,2993,2998],{"type":45,"tag":591,"props":2956,"children":2957},{"style":1809},[2958],{"type":51,"value":2959},"  elif",{"type":45,"tag":591,"props":2961,"children":2962},{"style":631},[2963],{"type":51,"value":2964}," [[",{"type":45,"tag":591,"props":2966,"children":2967},{"style":631},[2968],{"type":51,"value":888},{"type":45,"tag":591,"props":2970,"children":2971},{"style":647},[2972],{"type":51,"value":2973},"VLM_MODEL",{"type":45,"tag":591,"props":2975,"children":2976},{"style":631},[2977],{"type":51,"value":1830},{"type":45,"tag":591,"props":2979,"children":2980},{"style":631},[2981],{"type":51,"value":2982}," ==",{"type":45,"tag":591,"props":2984,"children":2985},{"style":647},[2986],{"type":51,"value":2987}," nvidia\u002Fcosmos",{"type":45,"tag":591,"props":2989,"children":2990},{"style":631},[2991],{"type":51,"value":2992},"*",{"type":45,"tag":591,"props":2994,"children":2995},{"style":631},[2996],{"type":51,"value":2997}," ]];",{"type":45,"tag":591,"props":2999,"children":3000},{"style":1809},[3001],{"type":51,"value":1858},{"type":45,"tag":591,"props":3003,"children":3005},{"class":593,"line":3004},24,[3006,3010,3014,3018,3022],{"type":45,"tag":591,"props":3007,"children":3008},{"style":647},[3009],{"type":51,"value":2934},{"type":45,"tag":591,"props":3011,"children":3012},{"style":631},[3013],{"type":51,"value":995},{"type":45,"tag":591,"props":3015,"children":3016},{"style":631},[3017],{"type":51,"value":665},{"type":45,"tag":591,"props":3019,"children":3020},{"style":614},[3021],{"type":51,"value":2138},{"type":45,"tag":591,"props":3023,"children":3024},{"style":631},[3025],{"type":51,"value":1884},{"type":45,"tag":591,"props":3027,"children":3029},{"class":593,"line":3028},25,[3030],{"type":45,"tag":591,"props":3031,"children":3032},{"style":1809},[3033],{"type":51,"value":3034},"  else\n",{"type":45,"tag":591,"props":3036,"children":3038},{"class":593,"line":3037},26,[3039,3043,3047,3051,3055],{"type":45,"tag":591,"props":3040,"children":3041},{"style":647},[3042],{"type":51,"value":2934},{"type":45,"tag":591,"props":3044,"children":3045},{"style":631},[3046],{"type":51,"value":995},{"type":45,"tag":591,"props":3048,"children":3049},{"style":631},[3050],{"type":51,"value":665},{"type":45,"tag":591,"props":3052,"children":3053},{"style":614},[3054],{"type":51,"value":1879},{"type":45,"tag":591,"props":3056,"children":3057},{"style":631},[3058],{"type":51,"value":1884},{"type":45,"tag":591,"props":3060,"children":3062},{"class":593,"line":3061},27,[3063],{"type":45,"tag":591,"props":3064,"children":3065},{"style":1809},[3066],{"type":51,"value":3067},"  fi\n",{"type":45,"tag":591,"props":3069,"children":3071},{"class":593,"line":3070},28,[3072],{"type":45,"tag":591,"props":3073,"children":3074},{"style":631},[3075],{"type":51,"value":2746},{"type":45,"tag":591,"props":3077,"children":3079},{"class":593,"line":3078},29,[3080],{"type":45,"tag":591,"props":3081,"children":3082},{"emptyLinePlaceholder":682},[3083],{"type":51,"value":685},{"type":45,"tag":591,"props":3085,"children":3087},{"class":593,"line":3086},30,[3088],{"type":45,"tag":591,"props":3089,"children":3090},{"style":598},[3091],{"type":51,"value":3092},"# Multimodal settings — resolve from the live agent config file path, not hardcoded candidates.\n",{"type":45,"tag":591,"props":3094,"children":3096},{"class":593,"line":3095},31,[3097,3102],{"type":45,"tag":591,"props":3098,"children":3099},{"style":647},[3100],{"type":51,"value":3101},"CFG_JSON",{"type":45,"tag":591,"props":3103,"children":3104},{"style":631},[3105],{"type":51,"value":3106},"=$(\n",{"type":45,"tag":591,"props":3108,"children":3110},{"class":593,"line":3109},32,[3111,3115,3119,3123,3128,3133],{"type":45,"tag":591,"props":3112,"children":3113},{"style":608},[3114],{"type":51,"value":1704},{"type":45,"tag":591,"props":3116,"children":3117},{"style":614},[3118],{"type":51,"value":1709},{"type":45,"tag":591,"props":3120,"children":3121},{"style":614},[3122],{"type":51,"value":1714},{"type":45,"tag":591,"props":3124,"children":3125},{"style":614},[3126],{"type":51,"value":3127}," python3",{"type":45,"tag":591,"props":3129,"children":3130},{"style":614},[3131],{"type":51,"value":3132}," -c",{"type":45,"tag":591,"props":3134,"children":3135},{"style":631},[3136],{"type":51,"value":1729},{"type":45,"tag":591,"props":3138,"children":3140},{"class":593,"line":3139},33,[3141],{"type":45,"tag":591,"props":3142,"children":3143},{"style":614},[3144],{"type":51,"value":3145},"import json, os, yaml\n",{"type":45,"tag":591,"props":3147,"children":3149},{"class":593,"line":3148},34,[3150],{"type":45,"tag":591,"props":3151,"children":3152},{"style":614},[3153],{"type":51,"value":3154},"p = os.getenv(\"VSS_AGENT_CONFIG_FILE\")\n",{"type":45,"tag":591,"props":3156,"children":3158},{"class":593,"line":3157},35,[3159],{"type":45,"tag":591,"props":3160,"children":3161},{"style":614},[3162],{"type":51,"value":3163},"if not p:\n",{"type":45,"tag":591,"props":3165,"children":3167},{"class":593,"line":3166},36,[3168],{"type":45,"tag":591,"props":3169,"children":3170},{"style":614},[3171],{"type":51,"value":3172},"    raise SystemExit(\"VSS_AGENT_CONFIG_FILE is not set in vss-agent\")\n",{"type":45,"tag":591,"props":3174,"children":3176},{"class":593,"line":3175},37,[3177],{"type":45,"tag":591,"props":3178,"children":3179},{"style":614},[3180],{"type":51,"value":3181},"if not os.path.isabs(p):\n",{"type":45,"tag":591,"props":3183,"children":3185},{"class":593,"line":3184},38,[3186],{"type":45,"tag":591,"props":3187,"children":3188},{"style":614},[3189],{"type":51,"value":3190},"    p = os.path.join(\"\u002Fvss-agent\", p.lstrip(\".\u002F\"))\n",{"type":45,"tag":591,"props":3192,"children":3194},{"class":593,"line":3193},39,[3195],{"type":45,"tag":591,"props":3196,"children":3197},{"style":614},[3198],{"type":51,"value":3199},"with open(p, encoding=\"utf-8\") as f:\n",{"type":45,"tag":591,"props":3201,"children":3203},{"class":593,"line":3202},40,[3204],{"type":45,"tag":591,"props":3205,"children":3206},{"style":614},[3207],{"type":51,"value":3208},"    cfg = yaml.safe_load(f) or {}\n",{"type":45,"tag":591,"props":3210,"children":3212},{"class":593,"line":3211},41,[3213],{"type":45,"tag":591,"props":3214,"children":3215},{"style":614},[3216],{"type":51,"value":3217},"vu = (cfg.get(\"functions\", {}) or {}).get(\"video_understanding\", {}) or {}\n",{"type":45,"tag":591,"props":3219,"children":3221},{"class":593,"line":3220},42,[3222],{"type":45,"tag":591,"props":3223,"children":3224},{"style":614},[3225],{"type":51,"value":3226},"print(json.dumps({\n",{"type":45,"tag":591,"props":3228,"children":3230},{"class":593,"line":3229},43,[3231],{"type":45,"tag":591,"props":3232,"children":3233},{"style":614},[3234],{"type":51,"value":3235},"    \"max_fps\": int(vu.get(\"max_fps\", 2)),\n",{"type":45,"tag":591,"props":3237,"children":3239},{"class":593,"line":3238},44,[3240],{"type":45,"tag":591,"props":3241,"children":3242},{"style":614},[3243],{"type":51,"value":3244},"    \"max_frames\": int(vu.get(\"max_frames\", 30)),\n",{"type":45,"tag":591,"props":3246,"children":3248},{"class":593,"line":3247},45,[3249],{"type":45,"tag":591,"props":3250,"children":3251},{"style":614},[3252],{"type":51,"value":3253},"    \"min_pixels\": int(vu.get(\"min_pixels\", 3136)),\n",{"type":45,"tag":591,"props":3255,"children":3257},{"class":593,"line":3256},46,[3258],{"type":45,"tag":591,"props":3259,"children":3260},{"style":614},[3261],{"type":51,"value":3262},"    \"max_pixels\": int(vu.get(\"max_pixels\", 8388608)),\n",{"type":45,"tag":591,"props":3264,"children":3266},{"class":593,"line":3265},47,[3267],{"type":45,"tag":591,"props":3268,"children":3269},{"style":614},[3270],{"type":51,"value":3271},"}))\n",{"type":45,"tag":591,"props":3273,"children":3275},{"class":593,"line":3274},48,[3276,3280],{"type":45,"tag":591,"props":3277,"children":3278},{"style":631},[3279],{"type":51,"value":2616},{"type":45,"tag":591,"props":3281,"children":3282},{"style":631},[3283],{"type":51,"value":1131},{"type":45,"tag":591,"props":3285,"children":3287},{"class":593,"line":3286},49,[3288],{"type":45,"tag":591,"props":3289,"children":3290},{"style":647},[3291],{"type":51,"value":1131},{"type":45,"tag":591,"props":3293,"children":3295},{"class":593,"line":3294},50,[3296,3300,3304,3308,3312,3316,3320,3325,3330,3335,3339,3344,3348,3353,3358,3363,3367],{"type":45,"tag":591,"props":3297,"children":3298},{"style":631},[3299],{"type":51,"value":2846},{"type":45,"tag":591,"props":3301,"children":3302},{"style":631},[3303],{"type":51,"value":2055},{"type":45,"tag":591,"props":3305,"children":3306},{"style":631},[3307],{"type":51,"value":888},{"type":45,"tag":591,"props":3309,"children":3310},{"style":647},[3311],{"type":51,"value":3101},{"type":45,"tag":591,"props":3313,"children":3314},{"style":631},[3315],{"type":51,"value":1961},{"type":45,"tag":591,"props":3317,"children":3318},{"style":631},[3319],{"type":51,"value":1966},{"type":45,"tag":591,"props":3321,"children":3322},{"style":631},[3323],{"type":51,"value":3324}," ||",{"type":45,"tag":591,"props":3326,"children":3327},{"style":631},[3328],{"type":51,"value":3329}," {",{"type":45,"tag":591,"props":3331,"children":3332},{"style":880},[3333],{"type":51,"value":3334}," echo",{"type":45,"tag":591,"props":3336,"children":3337},{"style":631},[3338],{"type":51,"value":634},{"type":45,"tag":591,"props":3340,"children":3341},{"style":614},[3342],{"type":51,"value":3343},"Failed to read video_understanding config from vss-agent",{"type":45,"tag":591,"props":3345,"children":3346},{"style":631},[3347],{"type":51,"value":665},{"type":45,"tag":591,"props":3349,"children":3350},{"style":631},[3351],{"type":51,"value":3352},";",{"type":45,"tag":591,"props":3354,"children":3355},{"style":880},[3356],{"type":51,"value":3357}," exit",{"type":45,"tag":591,"props":3359,"children":3360},{"style":625},[3361],{"type":51,"value":3362}," 1",{"type":45,"tag":591,"props":3364,"children":3365},{"style":631},[3366],{"type":51,"value":3352},{"type":45,"tag":591,"props":3368,"children":3369},{"style":631},[3370],{"type":51,"value":3371}," }\n",{"type":45,"tag":591,"props":3373,"children":3375},{"class":593,"line":3374},51,[3376,3381,3385,3390,3394,3398,3402,3406,3410,3414,3419,3424,3428,3433,3437,3441,3445,3449,3454,3458,3462,3466,3470,3474],{"type":45,"tag":591,"props":3377,"children":3378},{"style":880},[3379],{"type":51,"value":3380},"printf",{"type":45,"tag":591,"props":3382,"children":3383},{"style":631},[3384],{"type":51,"value":2463},{"type":45,"tag":591,"props":3386,"children":3387},{"style":614},[3388],{"type":51,"value":3389},"%s",{"type":45,"tag":591,"props":3391,"children":3392},{"style":631},[3393],{"type":51,"value":2616},{"type":45,"tag":591,"props":3395,"children":3396},{"style":631},[3397],{"type":51,"value":888},{"type":45,"tag":591,"props":3399,"children":3400},{"style":647},[3401],{"type":51,"value":3101},{"type":45,"tag":591,"props":3403,"children":3404},{"style":631},[3405],{"type":51,"value":1961},{"type":45,"tag":591,"props":3407,"children":3408},{"style":631},[3409],{"type":51,"value":1053},{"type":45,"tag":591,"props":3411,"children":3412},{"style":608},[3413],{"type":51,"value":1325},{"type":45,"tag":591,"props":3415,"children":3416},{"style":614},[3417],{"type":51,"value":3418}," -e",{"type":45,"tag":591,"props":3420,"children":3421},{"style":614},[3422],{"type":51,"value":3423}," .",{"type":45,"tag":591,"props":3425,"children":3426},{"style":631},[3427],{"type":51,"value":670},{"type":45,"tag":591,"props":3429,"children":3430},{"style":614},[3431],{"type":51,"value":3432},"\u002Fdev\u002Fnull",{"type":45,"tag":591,"props":3434,"children":3435},{"style":631},[3436],{"type":51,"value":3324},{"type":45,"tag":591,"props":3438,"children":3439},{"style":631},[3440],{"type":51,"value":3329},{"type":45,"tag":591,"props":3442,"children":3443},{"style":880},[3444],{"type":51,"value":3334},{"type":45,"tag":591,"props":3446,"children":3447},{"style":631},[3448],{"type":51,"value":634},{"type":45,"tag":591,"props":3450,"children":3451},{"style":614},[3452],{"type":51,"value":3453},"Invalid config JSON from vss-agent",{"type":45,"tag":591,"props":3455,"children":3456},{"style":631},[3457],{"type":51,"value":665},{"type":45,"tag":591,"props":3459,"children":3460},{"style":631},[3461],{"type":51,"value":3352},{"type":45,"tag":591,"props":3463,"children":3464},{"style":880},[3465],{"type":51,"value":3357},{"type":45,"tag":591,"props":3467,"children":3468},{"style":625},[3469],{"type":51,"value":3362},{"type":45,"tag":591,"props":3471,"children":3472},{"style":631},[3473],{"type":51,"value":3352},{"type":45,"tag":591,"props":3475,"children":3476},{"style":631},[3477],{"type":51,"value":3371},{"type":45,"tag":591,"props":3479,"children":3481},{"class":593,"line":3480},52,[3482,3487,3491,3496,3500,3504,3508,3512,3516,3520,3524,3528,3532,3537,3541,3546],{"type":45,"tag":591,"props":3483,"children":3484},{"style":647},[3485],{"type":51,"value":3486},"MAX_FPS",{"type":45,"tag":591,"props":3488,"children":3489},{"style":631},[3490],{"type":51,"value":995},{"type":45,"tag":591,"props":3492,"children":3493},{"style":631},[3494],{"type":51,"value":3495},"\"$(",{"type":45,"tag":591,"props":3497,"children":3498},{"style":880},[3499],{"type":51,"value":3380},{"type":45,"tag":591,"props":3501,"children":3502},{"style":631},[3503],{"type":51,"value":2463},{"type":45,"tag":591,"props":3505,"children":3506},{"style":614},[3507],{"type":51,"value":3389},{"type":45,"tag":591,"props":3509,"children":3510},{"style":631},[3511],{"type":51,"value":2616},{"type":45,"tag":591,"props":3513,"children":3514},{"style":631},[3515],{"type":51,"value":888},{"type":45,"tag":591,"props":3517,"children":3518},{"style":647},[3519],{"type":51,"value":3101},{"type":45,"tag":591,"props":3521,"children":3522},{"style":631},[3523],{"type":51,"value":1961},{"type":45,"tag":591,"props":3525,"children":3526},{"style":631},[3527],{"type":51,"value":1053},{"type":45,"tag":591,"props":3529,"children":3530},{"style":608},[3531],{"type":51,"value":1325},{"type":45,"tag":591,"props":3533,"children":3534},{"style":614},[3535],{"type":51,"value":3536}," -r ",{"type":45,"tag":591,"props":3538,"children":3539},{"style":631},[3540],{"type":51,"value":2616},{"type":45,"tag":591,"props":3542,"children":3543},{"style":614},[3544],{"type":51,"value":3545},".max_fps",{"type":45,"tag":591,"props":3547,"children":3548},{"style":631},[3549],{"type":51,"value":3550},"')\"\n",{"type":45,"tag":591,"props":3552,"children":3554},{"class":593,"line":3553},53,[3555,3560,3564,3568,3572,3576,3580,3584,3588,3592,3596,3600,3604,3608,3612,3617],{"type":45,"tag":591,"props":3556,"children":3557},{"style":647},[3558],{"type":51,"value":3559},"MAX_FRAMES",{"type":45,"tag":591,"props":3561,"children":3562},{"style":631},[3563],{"type":51,"value":995},{"type":45,"tag":591,"props":3565,"children":3566},{"style":631},[3567],{"type":51,"value":3495},{"type":45,"tag":591,"props":3569,"children":3570},{"style":880},[3571],{"type":51,"value":3380},{"type":45,"tag":591,"props":3573,"children":3574},{"style":631},[3575],{"type":51,"value":2463},{"type":45,"tag":591,"props":3577,"children":3578},{"style":614},[3579],{"type":51,"value":3389},{"type":45,"tag":591,"props":3581,"children":3582},{"style":631},[3583],{"type":51,"value":2616},{"type":45,"tag":591,"props":3585,"children":3586},{"style":631},[3587],{"type":51,"value":888},{"type":45,"tag":591,"props":3589,"children":3590},{"style":647},[3591],{"type":51,"value":3101},{"type":45,"tag":591,"props":3593,"children":3594},{"style":631},[3595],{"type":51,"value":1961},{"type":45,"tag":591,"props":3597,"children":3598},{"style":631},[3599],{"type":51,"value":1053},{"type":45,"tag":591,"props":3601,"children":3602},{"style":608},[3603],{"type":51,"value":1325},{"type":45,"tag":591,"props":3605,"children":3606},{"style":614},[3607],{"type":51,"value":3536},{"type":45,"tag":591,"props":3609,"children":3610},{"style":631},[3611],{"type":51,"value":2616},{"type":45,"tag":591,"props":3613,"children":3614},{"style":614},[3615],{"type":51,"value":3616},".max_frames",{"type":45,"tag":591,"props":3618,"children":3619},{"style":631},[3620],{"type":51,"value":3550},{"type":45,"tag":591,"props":3622,"children":3624},{"class":593,"line":3623},54,[3625,3630,3634,3638,3642,3646,3650,3654,3658,3662,3666,3670,3674,3678,3682,3687],{"type":45,"tag":591,"props":3626,"children":3627},{"style":647},[3628],{"type":51,"value":3629},"MIN_PIXELS",{"type":45,"tag":591,"props":3631,"children":3632},{"style":631},[3633],{"type":51,"value":995},{"type":45,"tag":591,"props":3635,"children":3636},{"style":631},[3637],{"type":51,"value":3495},{"type":45,"tag":591,"props":3639,"children":3640},{"style":880},[3641],{"type":51,"value":3380},{"type":45,"tag":591,"props":3643,"children":3644},{"style":631},[3645],{"type":51,"value":2463},{"type":45,"tag":591,"props":3647,"children":3648},{"style":614},[3649],{"type":51,"value":3389},{"type":45,"tag":591,"props":3651,"children":3652},{"style":631},[3653],{"type":51,"value":2616},{"type":45,"tag":591,"props":3655,"children":3656},{"style":631},[3657],{"type":51,"value":888},{"type":45,"tag":591,"props":3659,"children":3660},{"style":647},[3661],{"type":51,"value":3101},{"type":45,"tag":591,"props":3663,"children":3664},{"style":631},[3665],{"type":51,"value":1961},{"type":45,"tag":591,"props":3667,"children":3668},{"style":631},[3669],{"type":51,"value":1053},{"type":45,"tag":591,"props":3671,"children":3672},{"style":608},[3673],{"type":51,"value":1325},{"type":45,"tag":591,"props":3675,"children":3676},{"style":614},[3677],{"type":51,"value":3536},{"type":45,"tag":591,"props":3679,"children":3680},{"style":631},[3681],{"type":51,"value":2616},{"type":45,"tag":591,"props":3683,"children":3684},{"style":614},[3685],{"type":51,"value":3686},".min_pixels",{"type":45,"tag":591,"props":3688,"children":3689},{"style":631},[3690],{"type":51,"value":3550},{"type":45,"tag":591,"props":3692,"children":3694},{"class":593,"line":3693},55,[3695,3700,3704,3708,3712,3716,3720,3724,3728,3732,3736,3740,3744,3748,3752,3757],{"type":45,"tag":591,"props":3696,"children":3697},{"style":647},[3698],{"type":51,"value":3699},"MAX_PIXELS",{"type":45,"tag":591,"props":3701,"children":3702},{"style":631},[3703],{"type":51,"value":995},{"type":45,"tag":591,"props":3705,"children":3706},{"style":631},[3707],{"type":51,"value":3495},{"type":45,"tag":591,"props":3709,"children":3710},{"style":880},[3711],{"type":51,"value":3380},{"type":45,"tag":591,"props":3713,"children":3714},{"style":631},[3715],{"type":51,"value":2463},{"type":45,"tag":591,"props":3717,"children":3718},{"style":614},[3719],{"type":51,"value":3389},{"type":45,"tag":591,"props":3721,"children":3722},{"style":631},[3723],{"type":51,"value":2616},{"type":45,"tag":591,"props":3725,"children":3726},{"style":631},[3727],{"type":51,"value":888},{"type":45,"tag":591,"props":3729,"children":3730},{"style":647},[3731],{"type":51,"value":3101},{"type":45,"tag":591,"props":3733,"children":3734},{"style":631},[3735],{"type":51,"value":1961},{"type":45,"tag":591,"props":3737,"children":3738},{"style":631},[3739],{"type":51,"value":1053},{"type":45,"tag":591,"props":3741,"children":3742},{"style":608},[3743],{"type":51,"value":1325},{"type":45,"tag":591,"props":3745,"children":3746},{"style":614},[3747],{"type":51,"value":3536},{"type":45,"tag":591,"props":3749,"children":3750},{"style":631},[3751],{"type":51,"value":2616},{"type":45,"tag":591,"props":3753,"children":3754},{"style":614},[3755],{"type":51,"value":3756},".max_pixels",{"type":45,"tag":591,"props":3758,"children":3759},{"style":631},[3760],{"type":51,"value":3550},{"type":45,"tag":591,"props":3762,"children":3764},{"class":593,"line":3763},56,[3765],{"type":45,"tag":591,"props":3766,"children":3767},{"emptyLinePlaceholder":682},[3768],{"type":51,"value":685},{"type":45,"tag":591,"props":3770,"children":3772},{"class":593,"line":3771},57,[3773],{"type":45,"tag":591,"props":3774,"children":3775},{"style":598},[3776],{"type":51,"value":3777},"# num_frames = min(int(clip_seconds) * max_fps, max_frames), min 1 — matches video_understanding.py.\n",{"type":45,"tag":591,"props":3779,"children":3781},{"class":593,"line":3780},58,[3782],{"type":45,"tag":591,"props":3783,"children":3784},{"style":598},[3785],{"type":51,"value":3786},"# clip_seconds (Step 1 endTime-startTime) may be fractional; truncate to integer seconds — bash $((...))\n",{"type":45,"tag":591,"props":3788,"children":3790},{"class":593,"line":3789},59,[3791],{"type":45,"tag":591,"props":3792,"children":3793},{"style":598},[3794],{"type":51,"value":3795},"# is integer-only and errors on \"15.0\"\u002F\"1.5\". Default 15s -> caps at MAX_FRAMES.\n",{"type":45,"tag":591,"props":3797,"children":3799},{"class":593,"line":3798},60,[3800,3805,3809,3814,3819,3824,3828,3832,3836,3841,3845,3849,3854,3858],{"type":45,"tag":591,"props":3801,"children":3802},{"style":647},[3803],{"type":51,"value":3804},"CLIP_SECONDS",{"type":45,"tag":591,"props":3806,"children":3807},{"style":631},[3808],{"type":51,"value":1030},{"type":45,"tag":591,"props":3810,"children":3811},{"style":608},[3812],{"type":51,"value":3813},"awk",{"type":45,"tag":591,"props":3815,"children":3816},{"style":614},[3817],{"type":51,"value":3818}," -v",{"type":45,"tag":591,"props":3820,"children":3821},{"style":614},[3822],{"type":51,"value":3823}," s=",{"type":45,"tag":591,"props":3825,"children":3826},{"style":631},[3827],{"type":51,"value":1000},{"type":45,"tag":591,"props":3829,"children":3830},{"style":647},[3831],{"type":51,"value":3804},{"type":45,"tag":591,"props":3833,"children":3834},{"style":631},[3835],{"type":51,"value":1009},{"type":45,"tag":591,"props":3837,"children":3838},{"style":647},[3839],{"type":51,"value":3840},"15",{"type":45,"tag":591,"props":3842,"children":3843},{"style":631},[3844],{"type":51,"value":1961},{"type":45,"tag":591,"props":3846,"children":3847},{"style":631},[3848],{"type":51,"value":2463},{"type":45,"tag":591,"props":3850,"children":3851},{"style":614},[3852],{"type":51,"value":3853},"BEGIN{printf \"%d\", s}",{"type":45,"tag":591,"props":3855,"children":3856},{"style":631},[3857],{"type":51,"value":2616},{"type":45,"tag":591,"props":3859,"children":3860},{"style":631},[3861],{"type":51,"value":1131},{"type":45,"tag":591,"props":3863,"children":3865},{"class":593,"line":3864},61,[3866,3871,3876,3881,3886,3891],{"type":45,"tag":591,"props":3867,"children":3868},{"style":647},[3869],{"type":51,"value":3870},"NUM_FRAMES",{"type":45,"tag":591,"props":3872,"children":3873},{"style":631},[3874],{"type":51,"value":3875},"=$((",{"type":45,"tag":591,"props":3877,"children":3878},{"style":608},[3879],{"type":51,"value":3880}," CLIP_SECONDS",{"type":45,"tag":591,"props":3882,"children":3883},{"style":647},[3884],{"type":51,"value":3885}," *",{"type":45,"tag":591,"props":3887,"children":3888},{"style":614},[3889],{"type":51,"value":3890}," MAX_FPS",{"type":45,"tag":591,"props":3892,"children":3893},{"style":631},[3894],{"type":51,"value":3895}," ))\n",{"type":45,"tag":591,"props":3897,"children":3899},{"class":593,"line":3898},62,[3900,3904,3908,3913,3917,3922,3926,3931,3935,3939,3943,3948,3952],{"type":45,"tag":591,"props":3901,"children":3902},{"style":631},[3903],{"type":51,"value":2846},{"type":45,"tag":591,"props":3905,"children":3906},{"style":631},[3907],{"type":51,"value":634},{"type":45,"tag":591,"props":3909,"children":3910},{"style":647},[3911],{"type":51,"value":3912},"$NUM_FRAMES",{"type":45,"tag":591,"props":3914,"children":3915},{"style":631},[3916],{"type":51,"value":665},{"type":45,"tag":591,"props":3918,"children":3919},{"style":631},[3920],{"type":51,"value":3921}," -gt",{"type":45,"tag":591,"props":3923,"children":3924},{"style":631},[3925],{"type":51,"value":634},{"type":45,"tag":591,"props":3927,"children":3928},{"style":647},[3929],{"type":51,"value":3930},"$MAX_FRAMES",{"type":45,"tag":591,"props":3932,"children":3933},{"style":631},[3934],{"type":51,"value":665},{"type":45,"tag":591,"props":3936,"children":3937},{"style":631},[3938],{"type":51,"value":1966},{"type":45,"tag":591,"props":3940,"children":3941},{"style":631},[3942],{"type":51,"value":1971},{"type":45,"tag":591,"props":3944,"children":3945},{"style":647},[3946],{"type":51,"value":3947}," NUM_FRAMES",{"type":45,"tag":591,"props":3949,"children":3950},{"style":631},[3951],{"type":51,"value":995},{"type":45,"tag":591,"props":3953,"children":3954},{"style":647},[3955],{"type":51,"value":3956},"$MAX_FRAMES\n",{"type":45,"tag":591,"props":3958,"children":3960},{"class":593,"line":3959},63,[3961,3965,3969,3973,3977,3982,3986,3990,3994,3998,4002],{"type":45,"tag":591,"props":3962,"children":3963},{"style":631},[3964],{"type":51,"value":2846},{"type":45,"tag":591,"props":3966,"children":3967},{"style":631},[3968],{"type":51,"value":634},{"type":45,"tag":591,"props":3970,"children":3971},{"style":647},[3972],{"type":51,"value":3912},{"type":45,"tag":591,"props":3974,"children":3975},{"style":631},[3976],{"type":51,"value":665},{"type":45,"tag":591,"props":3978,"children":3979},{"style":631},[3980],{"type":51,"value":3981}," -lt",{"type":45,"tag":591,"props":3983,"children":3984},{"style":625},[3985],{"type":51,"value":3362},{"type":45,"tag":591,"props":3987,"children":3988},{"style":631},[3989],{"type":51,"value":1966},{"type":45,"tag":591,"props":3991,"children":3992},{"style":631},[3993],{"type":51,"value":1971},{"type":45,"tag":591,"props":3995,"children":3996},{"style":647},[3997],{"type":51,"value":3947},{"type":45,"tag":591,"props":3999,"children":4000},{"style":631},[4001],{"type":51,"value":995},{"type":45,"tag":591,"props":4003,"children":4004},{"style":614},[4005],{"type":51,"value":4006},"1\n",{"type":45,"tag":591,"props":4008,"children":4010},{"class":593,"line":4009},64,[4011],{"type":45,"tag":591,"props":4012,"children":4013},{"emptyLinePlaceholder":682},[4014],{"type":51,"value":685},{"type":45,"tag":591,"props":4016,"children":4018},{"class":593,"line":4017},65,[4019],{"type":45,"tag":591,"props":4020,"children":4021},{"style":598},[4022],{"type":51,"value":4023},"# Only apply Cosmos mm\u002Fmedia kwargs on the NIM Cosmos path.\n",{"type":45,"tag":591,"props":4025,"children":4027},{"class":593,"line":4026},66,[4028],{"type":45,"tag":591,"props":4029,"children":4030},{"style":598},[4031],{"type":51,"value":4032},"# RT-VLM mode uses its own server-side preprocessing and should not receive these kwargs.\n",{"type":45,"tag":591,"props":4034,"children":4036},{"class":593,"line":4035},67,[4037,4042,4046],{"type":45,"tag":591,"props":4038,"children":4039},{"style":647},[4040],{"type":51,"value":4041},"MM_KWARGS",{"type":45,"tag":591,"props":4043,"children":4044},{"style":631},[4045],{"type":51,"value":995},{"type":45,"tag":591,"props":4047,"children":4048},{"style":631},[4049],{"type":51,"value":4050},"\"\"\n",{"type":45,"tag":591,"props":4052,"children":4054},{"class":593,"line":4053},68,[4055,4059,4063,4067,4071,4075,4079,4083,4087,4091,4095],{"type":45,"tag":591,"props":4056,"children":4057},{"style":1809},[4058],{"type":51,"value":1812},{"type":45,"tag":591,"props":4060,"children":4061},{"style":631},[4062],{"type":51,"value":1817},{"type":45,"tag":591,"props":4064,"children":4065},{"style":631},[4066],{"type":51,"value":888},{"type":45,"tag":591,"props":4068,"children":4069},{"style":647},[4070],{"type":51,"value":2859},{"type":45,"tag":591,"props":4072,"children":4073},{"style":631},[4074],{"type":51,"value":1961},{"type":45,"tag":591,"props":4076,"children":4077},{"style":631},[4078],{"type":51,"value":1835},{"type":45,"tag":591,"props":4080,"children":4081},{"style":631},[4082],{"type":51,"value":634},{"type":45,"tag":591,"props":4084,"children":4085},{"style":614},[4086],{"type":51,"value":2138},{"type":45,"tag":591,"props":4088,"children":4089},{"style":631},[4090],{"type":51,"value":665},{"type":45,"tag":591,"props":4092,"children":4093},{"style":631},[4094],{"type":51,"value":1853},{"type":45,"tag":591,"props":4096,"children":4097},{"style":1809},[4098],{"type":51,"value":1858},{"type":45,"tag":591,"props":4100,"children":4102},{"class":593,"line":4101},69,[4103,4108,4112,4117,4121],{"type":45,"tag":591,"props":4104,"children":4105},{"style":1809},[4106],{"type":51,"value":4107},"  case",{"type":45,"tag":591,"props":4109,"children":4110},{"style":631},[4111],{"type":51,"value":634},{"type":45,"tag":591,"props":4113,"children":4114},{"style":647},[4115],{"type":51,"value":4116},"$VLM_MODEL",{"type":45,"tag":591,"props":4118,"children":4119},{"style":631},[4120],{"type":51,"value":665},{"type":45,"tag":591,"props":4122,"children":4123},{"style":1809},[4124],{"type":51,"value":4125}," in\n",{"type":45,"tag":591,"props":4127,"children":4129},{"class":593,"line":4128},70,[4130,4135,4140,4144,4149,4154,4158,4162,4166,4171,4175,4179,4184,4188,4193,4197,4201,4205,4210,4214,4219,4223,4227,4231,4235,4239,4244,4248,4252,4256,4260,4264,4269,4273,4277,4281,4285,4289,4293,4297,4301,4305,4310,4314,4318,4322,4326,4330,4335,4339],{"type":45,"tag":591,"props":4131,"children":4132},{"style":631},[4133],{"type":51,"value":4134},"    *",{"type":45,"tag":591,"props":4136,"children":4137},{"style":614},[4138],{"type":51,"value":4139},"cosmos-reason2",{"type":45,"tag":591,"props":4141,"children":4142},{"style":631},[4143],{"type":51,"value":2992},{"type":45,"tag":591,"props":4145,"children":4146},{"style":631},[4147],{"type":51,"value":4148},")",{"type":45,"tag":591,"props":4150,"children":4151},{"style":647},[4152],{"type":51,"value":4153}," MM_KWARGS",{"type":45,"tag":591,"props":4155,"children":4156},{"style":631},[4157],{"type":51,"value":995},{"type":45,"tag":591,"props":4159,"children":4160},{"style":631},[4161],{"type":51,"value":665},{"type":45,"tag":591,"props":4163,"children":4164},{"style":614},[4165],{"type":51,"value":1489},{"type":45,"tag":591,"props":4167,"children":4168},{"style":647},[4169],{"type":51,"value":4170},"\\\"",{"type":45,"tag":591,"props":4172,"children":4173},{"style":614},[4174],{"type":51,"value":2576},{"type":45,"tag":591,"props":4176,"children":4177},{"style":647},[4178],{"type":51,"value":4170},{"type":45,"tag":591,"props":4180,"children":4181},{"style":614},[4182],{"type":51,"value":4183},": {",{"type":45,"tag":591,"props":4185,"children":4186},{"style":647},[4187],{"type":51,"value":4170},{"type":45,"tag":591,"props":4189,"children":4190},{"style":614},[4191],{"type":51,"value":4192},"size",{"type":45,"tag":591,"props":4194,"children":4195},{"style":647},[4196],{"type":51,"value":4170},{"type":45,"tag":591,"props":4198,"children":4199},{"style":614},[4200],{"type":51,"value":4183},{"type":45,"tag":591,"props":4202,"children":4203},{"style":647},[4204],{"type":51,"value":4170},{"type":45,"tag":591,"props":4206,"children":4207},{"style":614},[4208],{"type":51,"value":4209},"shortest_edge",{"type":45,"tag":591,"props":4211,"children":4212},{"style":647},[4213],{"type":51,"value":4170},{"type":45,"tag":591,"props":4215,"children":4216},{"style":614},[4217],{"type":51,"value":4218},": ",{"type":45,"tag":591,"props":4220,"children":4221},{"style":631},[4222],{"type":51,"value":644},{"type":45,"tag":591,"props":4224,"children":4225},{"style":647},[4226],{"type":51,"value":3629},{"type":45,"tag":591,"props":4228,"children":4229},{"style":631},[4230],{"type":51,"value":655},{"type":45,"tag":591,"props":4232,"children":4233},{"style":614},[4234],{"type":51,"value":1489},{"type":45,"tag":591,"props":4236,"children":4237},{"style":647},[4238],{"type":51,"value":4170},{"type":45,"tag":591,"props":4240,"children":4241},{"style":614},[4242],{"type":51,"value":4243},"longest_edge",{"type":45,"tag":591,"props":4245,"children":4246},{"style":647},[4247],{"type":51,"value":4170},{"type":45,"tag":591,"props":4249,"children":4250},{"style":614},[4251],{"type":51,"value":4218},{"type":45,"tag":591,"props":4253,"children":4254},{"style":631},[4255],{"type":51,"value":644},{"type":45,"tag":591,"props":4257,"children":4258},{"style":647},[4259],{"type":51,"value":3699},{"type":45,"tag":591,"props":4261,"children":4262},{"style":631},[4263],{"type":51,"value":655},{"type":45,"tag":591,"props":4265,"children":4266},{"style":614},[4267],{"type":51,"value":4268},"}}, ",{"type":45,"tag":591,"props":4270,"children":4271},{"style":647},[4272],{"type":51,"value":4170},{"type":45,"tag":591,"props":4274,"children":4275},{"style":614},[4276],{"type":51,"value":2583},{"type":45,"tag":591,"props":4278,"children":4279},{"style":647},[4280],{"type":51,"value":4170},{"type":45,"tag":591,"props":4282,"children":4283},{"style":614},[4284],{"type":51,"value":4183},{"type":45,"tag":591,"props":4286,"children":4287},{"style":647},[4288],{"type":51,"value":4170},{"type":45,"tag":591,"props":4290,"children":4291},{"style":614},[4292],{"type":51,"value":22},{"type":45,"tag":591,"props":4294,"children":4295},{"style":647},[4296],{"type":51,"value":4170},{"type":45,"tag":591,"props":4298,"children":4299},{"style":614},[4300],{"type":51,"value":4183},{"type":45,"tag":591,"props":4302,"children":4303},{"style":647},[4304],{"type":51,"value":4170},{"type":45,"tag":591,"props":4306,"children":4307},{"style":614},[4308],{"type":51,"value":4309},"num_frames",{"type":45,"tag":591,"props":4311,"children":4312},{"style":647},[4313],{"type":51,"value":4170},{"type":45,"tag":591,"props":4315,"children":4316},{"style":614},[4317],{"type":51,"value":4218},{"type":45,"tag":591,"props":4319,"children":4320},{"style":631},[4321],{"type":51,"value":644},{"type":45,"tag":591,"props":4323,"children":4324},{"style":647},[4325],{"type":51,"value":3870},{"type":45,"tag":591,"props":4327,"children":4328},{"style":631},[4329],{"type":51,"value":655},{"type":45,"tag":591,"props":4331,"children":4332},{"style":614},[4333],{"type":51,"value":4334},"}}",{"type":45,"tag":591,"props":4336,"children":4337},{"style":631},[4338],{"type":51,"value":665},{"type":45,"tag":591,"props":4340,"children":4341},{"style":631},[4342],{"type":51,"value":4343}," ;;\n",{"type":45,"tag":591,"props":4345,"children":4347},{"class":593,"line":4346},71,[4348,4352,4357,4361,4365,4370,4374,4378,4382,4386,4390,4394,4398,4402,4407,4411,4415,4419,4424,4428,4432,4436,4440,4444,4448,4452,4457,4461,4465,4469,4473,4477,4481,4485,4489,4493,4497,4501,4505,4509,4513,4517,4521,4525,4529,4533,4537,4541,4545,4549],{"type":45,"tag":591,"props":4349,"children":4350},{"style":631},[4351],{"type":51,"value":4134},{"type":45,"tag":591,"props":4353,"children":4354},{"style":614},[4355],{"type":51,"value":4356},"cosmos",{"type":45,"tag":591,"props":4358,"children":4359},{"style":631},[4360],{"type":51,"value":2992},{"type":45,"tag":591,"props":4362,"children":4363},{"style":631},[4364],{"type":51,"value":4148},{"type":45,"tag":591,"props":4366,"children":4367},{"style":647},[4368],{"type":51,"value":4369},"         MM_KWARGS",{"type":45,"tag":591,"props":4371,"children":4372},{"style":631},[4373],{"type":51,"value":995},{"type":45,"tag":591,"props":4375,"children":4376},{"style":631},[4377],{"type":51,"value":665},{"type":45,"tag":591,"props":4379,"children":4380},{"style":614},[4381],{"type":51,"value":1489},{"type":45,"tag":591,"props":4383,"children":4384},{"style":647},[4385],{"type":51,"value":4170},{"type":45,"tag":591,"props":4387,"children":4388},{"style":614},[4389],{"type":51,"value":2576},{"type":45,"tag":591,"props":4391,"children":4392},{"style":647},[4393],{"type":51,"value":4170},{"type":45,"tag":591,"props":4395,"children":4396},{"style":614},[4397],{"type":51,"value":4183},{"type":45,"tag":591,"props":4399,"children":4400},{"style":647},[4401],{"type":51,"value":4170},{"type":45,"tag":591,"props":4403,"children":4404},{"style":614},[4405],{"type":51,"value":4406},"videos_kwargs",{"type":45,"tag":591,"props":4408,"children":4409},{"style":647},[4410],{"type":51,"value":4170},{"type":45,"tag":591,"props":4412,"children":4413},{"style":614},[4414],{"type":51,"value":4183},{"type":45,"tag":591,"props":4416,"children":4417},{"style":647},[4418],{"type":51,"value":4170},{"type":45,"tag":591,"props":4420,"children":4421},{"style":614},[4422],{"type":51,"value":4423},"min_pixels",{"type":45,"tag":591,"props":4425,"children":4426},{"style":647},[4427],{"type":51,"value":4170},{"type":45,"tag":591,"props":4429,"children":4430},{"style":614},[4431],{"type":51,"value":4218},{"type":45,"tag":591,"props":4433,"children":4434},{"style":631},[4435],{"type":51,"value":644},{"type":45,"tag":591,"props":4437,"children":4438},{"style":647},[4439],{"type":51,"value":3629},{"type":45,"tag":591,"props":4441,"children":4442},{"style":631},[4443],{"type":51,"value":655},{"type":45,"tag":591,"props":4445,"children":4446},{"style":614},[4447],{"type":51,"value":1489},{"type":45,"tag":591,"props":4449,"children":4450},{"style":647},[4451],{"type":51,"value":4170},{"type":45,"tag":591,"props":4453,"children":4454},{"style":614},[4455],{"type":51,"value":4456},"max_pixels",{"type":45,"tag":591,"props":4458,"children":4459},{"style":647},[4460],{"type":51,"value":4170},{"type":45,"tag":591,"props":4462,"children":4463},{"style":614},[4464],{"type":51,"value":4218},{"type":45,"tag":591,"props":4466,"children":4467},{"style":631},[4468],{"type":51,"value":644},{"type":45,"tag":591,"props":4470,"children":4471},{"style":647},[4472],{"type":51,"value":3699},{"type":45,"tag":591,"props":4474,"children":4475},{"style":631},[4476],{"type":51,"value":655},{"type":45,"tag":591,"props":4478,"children":4479},{"style":614},[4480],{"type":51,"value":4268},{"type":45,"tag":591,"props":4482,"children":4483},{"style":647},[4484],{"type":51,"value":4170},{"type":45,"tag":591,"props":4486,"children":4487},{"style":614},[4488],{"type":51,"value":2583},{"type":45,"tag":591,"props":4490,"children":4491},{"style":647},[4492],{"type":51,"value":4170},{"type":45,"tag":591,"props":4494,"children":4495},{"style":614},[4496],{"type":51,"value":4183},{"type":45,"tag":591,"props":4498,"children":4499},{"style":647},[4500],{"type":51,"value":4170},{"type":45,"tag":591,"props":4502,"children":4503},{"style":614},[4504],{"type":51,"value":22},{"type":45,"tag":591,"props":4506,"children":4507},{"style":647},[4508],{"type":51,"value":4170},{"type":45,"tag":591,"props":4510,"children":4511},{"style":614},[4512],{"type":51,"value":4183},{"type":45,"tag":591,"props":4514,"children":4515},{"style":647},[4516],{"type":51,"value":4170},{"type":45,"tag":591,"props":4518,"children":4519},{"style":614},[4520],{"type":51,"value":4309},{"type":45,"tag":591,"props":4522,"children":4523},{"style":647},[4524],{"type":51,"value":4170},{"type":45,"tag":591,"props":4526,"children":4527},{"style":614},[4528],{"type":51,"value":4218},{"type":45,"tag":591,"props":4530,"children":4531},{"style":631},[4532],{"type":51,"value":644},{"type":45,"tag":591,"props":4534,"children":4535},{"style":647},[4536],{"type":51,"value":3870},{"type":45,"tag":591,"props":4538,"children":4539},{"style":631},[4540],{"type":51,"value":655},{"type":45,"tag":591,"props":4542,"children":4543},{"style":614},[4544],{"type":51,"value":4334},{"type":45,"tag":591,"props":4546,"children":4547},{"style":631},[4548],{"type":51,"value":665},{"type":45,"tag":591,"props":4550,"children":4551},{"style":631},[4552],{"type":51,"value":4343},{"type":45,"tag":591,"props":4554,"children":4556},{"class":593,"line":4555},72,[4557,4562,4567,4571,4576],{"type":45,"tag":591,"props":4558,"children":4559},{"style":631},[4560],{"type":51,"value":4561},"    *)",{"type":45,"tag":591,"props":4563,"children":4564},{"style":647},[4565],{"type":51,"value":4566},"                      MM_KWARGS",{"type":45,"tag":591,"props":4568,"children":4569},{"style":631},[4570],{"type":51,"value":995},{"type":45,"tag":591,"props":4572,"children":4573},{"style":631},[4574],{"type":51,"value":4575},"\"\"",{"type":45,"tag":591,"props":4577,"children":4578},{"style":631},[4579],{"type":51,"value":4343},{"type":45,"tag":591,"props":4581,"children":4583},{"class":593,"line":4582},73,[4584],{"type":45,"tag":591,"props":4585,"children":4586},{"style":1809},[4587],{"type":51,"value":4588},"  esac\n",{"type":45,"tag":591,"props":4590,"children":4592},{"class":593,"line":4591},74,[4593],{"type":45,"tag":591,"props":4594,"children":4595},{"style":1809},[4596],{"type":51,"value":2387},{"type":45,"tag":591,"props":4598,"children":4600},{"class":593,"line":4599},75,[4601],{"type":45,"tag":591,"props":4602,"children":4603},{"emptyLinePlaceholder":682},[4604],{"type":51,"value":685},{"type":45,"tag":591,"props":4606,"children":4608},{"class":593,"line":4607},76,[4609,4613,4617,4622,4626,4630,4635,4640,4645,4649,4653,4657,4662,4666],{"type":45,"tag":591,"props":4610,"children":4611},{"style":608},[4612],{"type":51,"value":611},{"type":45,"tag":591,"props":4614,"children":4615},{"style":614},[4616],{"type":51,"value":1287},{"type":45,"tag":591,"props":4618,"children":4619},{"style":614},[4620],{"type":51,"value":4621}," --connect-timeout",{"type":45,"tag":591,"props":4623,"children":4624},{"style":625},[4625],{"type":51,"value":628},{"type":45,"tag":591,"props":4627,"children":4628},{"style":614},[4629],{"type":51,"value":622},{"type":45,"tag":591,"props":4631,"children":4632},{"style":625},[4633],{"type":51,"value":4634}," 120",{"type":45,"tag":591,"props":4636,"children":4637},{"style":614},[4638],{"type":51,"value":4639}," -X",{"type":45,"tag":591,"props":4641,"children":4642},{"style":614},[4643],{"type":51,"value":4644}," POST",{"type":45,"tag":591,"props":4646,"children":4647},{"style":631},[4648],{"type":51,"value":888},{"type":45,"tag":591,"props":4650,"children":4651},{"style":647},[4652],{"type":51,"value":1407},{"type":45,"tag":591,"props":4654,"children":4655},{"style":631},[4656],{"type":51,"value":655},{"type":45,"tag":591,"props":4658,"children":4659},{"style":614},[4660],{"type":51,"value":4661},"\u002Fchat\u002Fcompletions",{"type":45,"tag":591,"props":4663,"children":4664},{"style":631},[4665],{"type":51,"value":665},{"type":45,"tag":591,"props":4667,"children":4668},{"style":647},[4669],{"type":51,"value":4670}," \\\n",{"type":45,"tag":591,"props":4672,"children":4674},{"class":593,"line":4673},77,[4675,4680,4684,4689,4693],{"type":45,"tag":591,"props":4676,"children":4677},{"style":614},[4678],{"type":51,"value":4679},"  -H",{"type":45,"tag":591,"props":4681,"children":4682},{"style":631},[4683],{"type":51,"value":634},{"type":45,"tag":591,"props":4685,"children":4686},{"style":614},[4687],{"type":51,"value":4688},"Content-Type: application\u002Fjson",{"type":45,"tag":591,"props":4690,"children":4691},{"style":631},[4692],{"type":51,"value":665},{"type":45,"tag":591,"props":4694,"children":4695},{"style":647},[4696],{"type":51,"value":4670},{"type":45,"tag":591,"props":4698,"children":4700},{"class":593,"line":4699},78,[4701,4706,4711,4716,4721,4725,4729,4733,4737,4742],{"type":45,"tag":591,"props":4702,"children":4703},{"style":614},[4704],{"type":51,"value":4705},"  -d",{"type":45,"tag":591,"props":4707,"children":4708},{"style":614},[4709],{"type":51,"value":4710}," @-",{"type":45,"tag":591,"props":4712,"children":4713},{"style":631},[4714],{"type":51,"value":4715}," \u003C\u003C",{"type":45,"tag":591,"props":4717,"children":4718},{"style":631},[4719],{"type":51,"value":4720},"EOF",{"type":45,"tag":591,"props":4722,"children":4723},{"style":631},[4724],{"type":51,"value":1053},{"type":45,"tag":591,"props":4726,"children":4727},{"style":608},[4728],{"type":51,"value":1325},{"type":45,"tag":591,"props":4730,"children":4731},{"style":614},[4732],{"type":51,"value":1330},{"type":45,"tag":591,"props":4734,"children":4735},{"style":631},[4736],{"type":51,"value":2463},{"type":45,"tag":591,"props":4738,"children":4739},{"style":614},[4740],{"type":51,"value":4741},".choices[0].message.content",{"type":45,"tag":591,"props":4743,"children":4744},{"style":631},[4745],{"type":51,"value":1770},{"type":45,"tag":591,"props":4747,"children":4749},{"class":593,"line":4748},79,[4750],{"type":45,"tag":591,"props":4751,"children":4752},{"style":614},[4753],{"type":51,"value":4754},"{\n",{"type":45,"tag":591,"props":4756,"children":4758},{"class":593,"line":4757},80,[4759,4764,4769,4773,4777,4781,4785,4789,4793,4797,4801,4805,4810,4814],{"type":45,"tag":591,"props":4760,"children":4761},{"style":614},[4762],{"type":51,"value":4763},"  \"model\": ",{"type":45,"tag":591,"props":4765,"children":4766},{"style":631},[4767],{"type":51,"value":4768},"$(",{"type":45,"tag":591,"props":4770,"children":4771},{"style":880},[4772],{"type":51,"value":3380},{"type":45,"tag":591,"props":4774,"children":4775},{"style":631},[4776],{"type":51,"value":2463},{"type":45,"tag":591,"props":4778,"children":4779},{"style":614},[4780],{"type":51,"value":3389},{"type":45,"tag":591,"props":4782,"children":4783},{"style":631},[4784],{"type":51,"value":2616},{"type":45,"tag":591,"props":4786,"children":4787},{"style":631},[4788],{"type":51,"value":888},{"type":45,"tag":591,"props":4790,"children":4791},{"style":647},[4792],{"type":51,"value":2973},{"type":45,"tag":591,"props":4794,"children":4795},{"style":631},[4796],{"type":51,"value":1961},{"type":45,"tag":591,"props":4798,"children":4799},{"style":631},[4800],{"type":51,"value":1053},{"type":45,"tag":591,"props":4802,"children":4803},{"style":608},[4804],{"type":51,"value":1325},{"type":45,"tag":591,"props":4806,"children":4807},{"style":614},[4808],{"type":51,"value":4809}," -Rs .",{"type":45,"tag":591,"props":4811,"children":4812},{"style":631},[4813],{"type":51,"value":4148},{"type":45,"tag":591,"props":4815,"children":4816},{"style":614},[4817],{"type":51,"value":4818},",\n",{"type":45,"tag":591,"props":4820,"children":4822},{"class":593,"line":4821},81,[4823],{"type":45,"tag":591,"props":4824,"children":4825},{"style":614},[4826],{"type":51,"value":4827},"  \"messages\": [\n",{"type":45,"tag":591,"props":4829,"children":4831},{"class":593,"line":4830},82,[4832],{"type":45,"tag":591,"props":4833,"children":4834},{"style":614},[4835],{"type":51,"value":4836},"    {\n",{"type":45,"tag":591,"props":4838,"children":4840},{"class":593,"line":4839},83,[4841],{"type":45,"tag":591,"props":4842,"children":4843},{"style":614},[4844],{"type":51,"value":4845},"      \"role\": \"user\",\n",{"type":45,"tag":591,"props":4847,"children":4849},{"class":593,"line":4848},84,[4850],{"type":45,"tag":591,"props":4851,"children":4852},{"style":614},[4853],{"type":51,"value":4854},"      \"content\": [\n",{"type":45,"tag":591,"props":4856,"children":4858},{"class":593,"line":4857},85,[4859,4864,4868,4872,4876,4880,4884,4888,4892,4896,4900,4904,4908,4912],{"type":45,"tag":591,"props":4860,"children":4861},{"style":614},[4862],{"type":51,"value":4863},"        {\"type\": \"text\", \"text\": ",{"type":45,"tag":591,"props":4865,"children":4866},{"style":631},[4867],{"type":51,"value":4768},{"type":45,"tag":591,"props":4869,"children":4870},{"style":880},[4871],{"type":51,"value":3380},{"type":45,"tag":591,"props":4873,"children":4874},{"style":631},[4875],{"type":51,"value":2463},{"type":45,"tag":591,"props":4877,"children":4878},{"style":614},[4879],{"type":51,"value":3389},{"type":45,"tag":591,"props":4881,"children":4882},{"style":631},[4883],{"type":51,"value":2616},{"type":45,"tag":591,"props":4885,"children":4886},{"style":631},[4887],{"type":51,"value":888},{"type":45,"tag":591,"props":4889,"children":4890},{"style":647},[4891],{"type":51,"value":2607},{"type":45,"tag":591,"props":4893,"children":4894},{"style":631},[4895],{"type":51,"value":1961},{"type":45,"tag":591,"props":4897,"children":4898},{"style":631},[4899],{"type":51,"value":1053},{"type":45,"tag":591,"props":4901,"children":4902},{"style":608},[4903],{"type":51,"value":1325},{"type":45,"tag":591,"props":4905,"children":4906},{"style":614},[4907],{"type":51,"value":4809},{"type":45,"tag":591,"props":4909,"children":4910},{"style":631},[4911],{"type":51,"value":4148},{"type":45,"tag":591,"props":4913,"children":4914},{"style":614},[4915],{"type":51,"value":4916},"},\n",{"type":45,"tag":591,"props":4918,"children":4920},{"class":593,"line":4919},86,[4921,4926,4930,4934,4938,4942,4946,4950,4954,4958,4962,4966,4970,4974],{"type":45,"tag":591,"props":4922,"children":4923},{"style":614},[4924],{"type":51,"value":4925},"        {\"type\": \"video_url\", \"video_url\": {\"url\": ",{"type":45,"tag":591,"props":4927,"children":4928},{"style":631},[4929],{"type":51,"value":4768},{"type":45,"tag":591,"props":4931,"children":4932},{"style":880},[4933],{"type":51,"value":3380},{"type":45,"tag":591,"props":4935,"children":4936},{"style":631},[4937],{"type":51,"value":2463},{"type":45,"tag":591,"props":4939,"children":4940},{"style":614},[4941],{"type":51,"value":3389},{"type":45,"tag":591,"props":4943,"children":4944},{"style":631},[4945],{"type":51,"value":2616},{"type":45,"tag":591,"props":4947,"children":4948},{"style":631},[4949],{"type":51,"value":888},{"type":45,"tag":591,"props":4951,"children":4952},{"style":647},[4953],{"type":51,"value":814},{"type":45,"tag":591,"props":4955,"children":4956},{"style":631},[4957],{"type":51,"value":1961},{"type":45,"tag":591,"props":4959,"children":4960},{"style":631},[4961],{"type":51,"value":1053},{"type":45,"tag":591,"props":4963,"children":4964},{"style":608},[4965],{"type":51,"value":1325},{"type":45,"tag":591,"props":4967,"children":4968},{"style":614},[4969],{"type":51,"value":4809},{"type":45,"tag":591,"props":4971,"children":4972},{"style":631},[4973],{"type":51,"value":4148},{"type":45,"tag":591,"props":4975,"children":4976},{"style":614},[4977],{"type":51,"value":4978},"}}\n",{"type":45,"tag":591,"props":4980,"children":4982},{"class":593,"line":4981},87,[4983],{"type":45,"tag":591,"props":4984,"children":4985},{"style":614},[4986],{"type":51,"value":4987},"      ]\n",{"type":45,"tag":591,"props":4989,"children":4991},{"class":593,"line":4990},88,[4992],{"type":45,"tag":591,"props":4993,"children":4994},{"style":614},[4995],{"type":51,"value":4996},"    }\n",{"type":45,"tag":591,"props":4998,"children":5000},{"class":593,"line":4999},89,[5001],{"type":45,"tag":591,"props":5002,"children":5003},{"style":614},[5004],{"type":51,"value":5005},"  ],\n",{"type":45,"tag":591,"props":5007,"children":5009},{"class":593,"line":5008},90,[5010],{"type":45,"tag":591,"props":5011,"children":5012},{"style":614},[5013],{"type":51,"value":5014},"  \"max_tokens\": 1024,\n",{"type":45,"tag":591,"props":5016,"children":5018},{"class":593,"line":5017},91,[5019,5024,5028,5032],{"type":45,"tag":591,"props":5020,"children":5021},{"style":614},[5022],{"type":51,"value":5023},"  \"temperature\": 0.0",{"type":45,"tag":591,"props":5025,"children":5026},{"style":631},[5027],{"type":51,"value":644},{"type":45,"tag":591,"props":5029,"children":5030},{"style":647},[5031],{"type":51,"value":4041},{"type":45,"tag":591,"props":5033,"children":5034},{"style":631},[5035],{"type":51,"value":2746},{"type":45,"tag":591,"props":5037,"children":5039},{"class":593,"line":5038},92,[5040],{"type":45,"tag":591,"props":5041,"children":5042},{"style":614},[5043],{"type":51,"value":2746},{"type":45,"tag":591,"props":5045,"children":5047},{"class":593,"line":5046},93,[5048],{"type":45,"tag":591,"props":5049,"children":5050},{"style":631},[5051],{"type":51,"value":5052},"EOF\n",{"type":45,"tag":5054,"props":5055,"children":5056},"blockquote",{},[5057],{"type":45,"tag":54,"props":5058,"children":5059},{},[5060,5062,5067,5069,5075,5077,5083,5085,5091,5092,5098,5100,5106,5108,5113],{"type":51,"value":5061},"The kwargs block is backend-aware: on ",{"type":45,"tag":68,"props":5063,"children":5065},{"className":5064},[],[5066],{"type":51,"value":2138},{"type":51,"value":5068},", Reason2 variants (",{"type":45,"tag":68,"props":5070,"children":5072},{"className":5071},[],[5073],{"type":51,"value":5074},"nvidia\u002Fcosmos-reason2*",{"type":51,"value":5076},") use ",{"type":45,"tag":68,"props":5078,"children":5080},{"className":5079},[],[5081],{"type":51,"value":5082},"mm_processor_kwargs.size{shortest_edge,longest_edge}",{"type":51,"value":5084}," and other NIM Cosmos variants (",{"type":45,"tag":68,"props":5086,"children":5088},{"className":5087},[],[5089],{"type":51,"value":5090},"nvidia\u002Fcosmos*",{"type":51,"value":5076},{"type":45,"tag":68,"props":5093,"children":5095},{"className":5094},[],[5096],{"type":51,"value":5097},"mm_processor_kwargs.videos_kwargs{min_pixels,max_pixels}",{"type":51,"value":5099},"; both also send ",{"type":45,"tag":68,"props":5101,"children":5103},{"className":5102},[],[5104],{"type":51,"value":5105},"media_io_kwargs.video.num_frames",{"type":51,"value":5107},". On ",{"type":45,"tag":68,"props":5109,"children":5111},{"className":5110},[],[5112],{"type":51,"value":1879},{"type":51,"value":5114},", no Cosmos kwargs are sent.",{"type":45,"tag":54,"props":5116,"children":5117},{},[5118,5120,5126,5128,5134],{"type":51,"value":5119},"If the VLM returns a ",{"type":45,"tag":68,"props":5121,"children":5123},{"className":5122},[],[5124],{"type":51,"value":5125},"\u003Cthink>…\u003C\u002Fthink>",{"type":51,"value":5127}," block (Cosmos Reason reasoning mode), keep only the text after ",{"type":45,"tag":68,"props":5129,"children":5131},{"className":5130},[],[5132],{"type":51,"value":5133},"\u003C\u002Fthink>",{"type":51,"value":5135}," as the report body.",{"type":45,"tag":1203,"props":5137,"children":5139},{"id":5138},"step-4-fill-the-video-analysis-report-template",[5140],{"type":51,"value":5141},"Step 4 — Fill the Video Analysis Report template",{"type":45,"tag":54,"props":5143,"children":5144},{},[5145,5147,5157,5159,5164,5166,5172,5174,5180,5182,5188],{"type":51,"value":5146},"Copy ",{"type":45,"tag":5148,"props":5149,"children":5151},"a",{"href":5150},"assets\u002Fvideo-analysis-report.md",[5152],{"type":45,"tag":68,"props":5153,"children":5155},{"className":5154},[],[5156],{"type":51,"value":5150},{"type":51,"value":5158},", fill every placeholder, and return the rendered markdown to the user. Keep the source asset unchanged. Before rendering, verify ",{"type":45,"tag":68,"props":5160,"children":5162},{"className":5161},[],[5163],{"type":51,"value":833},{"type":51,"value":5165}," is set and non-empty, then replace ",{"type":45,"tag":68,"props":5167,"children":5169},{"className":5168},[],[5170],{"type":51,"value":5171},"\u003CBROWSER_CLIP_URL>",{"type":51,"value":5173}," with that exact value in the ",{"type":45,"tag":68,"props":5175,"children":5177},{"className":5176},[],[5178],{"type":51,"value":5179},"Clip URL",{"type":51,"value":5181}," row. Never leave the placeholder in the output, never include template instructions in a filled cell, and never use the raw ",{"type":45,"tag":68,"props":5183,"children":5185},{"className":5184},[],[5186],{"type":51,"value":5187},"HOST_IP:30888",{"type":51,"value":5189}," URL.",{"type":45,"tag":181,"props":5191,"children":5192},{},[],{"type":45,"tag":185,"props":5194,"children":5196},{"id":5195},"mode-b-report-on-incidents-in-a-time-range",[5197],{"type":51,"value":5198},"Mode B — Report on incidents in a time range",{"type":45,"tag":1203,"props":5200,"children":5202},{"id":5201},"step-1-resolve-the-time-range-and-optionally-sensor",[5203],{"type":51,"value":5204},"Step 1 — Resolve the time range and (optionally) sensor",{"type":45,"tag":302,"props":5206,"children":5207},{},[5208,5234],{"type":45,"tag":196,"props":5209,"children":5210},{},[5211,5217,5218,5224,5226,5232],{"type":45,"tag":68,"props":5212,"children":5214},{"className":5213},[],[5215],{"type":51,"value":5216},"start_time",{"type":51,"value":1256},{"type":45,"tag":68,"props":5219,"children":5221},{"className":5220},[],[5222],{"type":51,"value":5223},"end_time",{"type":51,"value":5225}," must be ISO 8601 UTC (",{"type":45,"tag":68,"props":5227,"children":5229},{"className":5228},[],[5230],{"type":51,"value":5231},"YYYY-MM-DDTHH:MM:SS.sssZ",{"type":51,"value":5233},"). Resolve relative phrases (\"last hour\", \"today\") against the current host clock.",{"type":45,"tag":196,"props":5235,"children":5236},{},[5237,5239,5245,5247,5253],{"type":51,"value":5238},"If the user names a sensor, capture it as ",{"type":45,"tag":68,"props":5240,"children":5242},{"className":5241},[],[5243],{"type":51,"value":5244},"source",{"type":51,"value":5246}," + ",{"type":45,"tag":68,"props":5248,"children":5250},{"className":5249},[],[5251],{"type":51,"value":5252},"source_type=sensor",{"type":51,"value":5254},". Otherwise leave both unset for an all-sensors query.",{"type":45,"tag":1203,"props":5256,"children":5258},{"id":5257},"step-2-fetch-incidents-via-vss-query-analytics",[5259,5261],{"type":51,"value":5260},"Step 2 — Fetch incidents via ",{"type":45,"tag":68,"props":5262,"children":5264},{"className":5263},[],[5265],{"type":51,"value":150},{"type":45,"tag":54,"props":5267,"children":5268},{},[5269,5270,5275,5277,5283],{"type":51,"value":1213},{"type":45,"tag":68,"props":5271,"children":5273},{"className":5272},[],[5274],{"type":51,"value":150},{"type":51,"value":5276}," (initialize → ",{"type":45,"tag":68,"props":5278,"children":5280},{"className":5279},[],[5281],{"type":51,"value":5282},"tools\u002Fcall",{"type":51,"value":5284},") with:",{"type":45,"tag":580,"props":5286,"children":5290},{"className":5287,"code":5288,"language":5289,"meta":585,"style":585},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"tools\u002Fcall\",\n  \"params\": {\n    \"name\": \"video_analytics__get_incidents\",\n    \"arguments\": {\n      \"source\": \"\u003Csensor-id-or-omit>\",\n      \"source_type\": \"sensor\",\n      \"start_time\": \"\u003CISO>\",\n      \"end_time\": \"\u003CISO>\",\n      \"max_count\": 100,\n      \"includes\": [\"objectIds\", \"info\"]\n    }\n  },\n  \"id\": 1\n}\n","json",[5291],{"type":45,"tag":68,"props":5292,"children":5293},{"__ignoreMap":585},[5294,5301,5340,5376,5400,5438,5462,5499,5536,5572,5607,5636,5696,5703,5711,5736],{"type":45,"tag":591,"props":5295,"children":5296},{"class":593,"line":594},[5297],{"type":45,"tag":591,"props":5298,"children":5299},{"style":631},[5300],{"type":51,"value":4754},{"type":45,"tag":591,"props":5302,"children":5303},{"class":593,"line":604},[5304,5309,5315,5319,5323,5327,5332,5336],{"type":45,"tag":591,"props":5305,"children":5306},{"style":631},[5307],{"type":51,"value":5308},"  \"",{"type":45,"tag":591,"props":5310,"children":5312},{"style":5311},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[5313],{"type":51,"value":5314},"jsonrpc",{"type":45,"tag":591,"props":5316,"children":5317},{"style":631},[5318],{"type":51,"value":665},{"type":45,"tag":591,"props":5320,"children":5321},{"style":631},[5322],{"type":51,"value":883},{"type":45,"tag":591,"props":5324,"children":5325},{"style":631},[5326],{"type":51,"value":634},{"type":45,"tag":591,"props":5328,"children":5329},{"style":614},[5330],{"type":51,"value":5331},"2.0",{"type":45,"tag":591,"props":5333,"children":5334},{"style":631},[5335],{"type":51,"value":665},{"type":45,"tag":591,"props":5337,"children":5338},{"style":631},[5339],{"type":51,"value":4818},{"type":45,"tag":591,"props":5341,"children":5342},{"class":593,"line":678},[5343,5347,5352,5356,5360,5364,5368,5372],{"type":45,"tag":591,"props":5344,"children":5345},{"style":631},[5346],{"type":51,"value":5308},{"type":45,"tag":591,"props":5348,"children":5349},{"style":5311},[5350],{"type":51,"value":5351},"method",{"type":45,"tag":591,"props":5353,"children":5354},{"style":631},[5355],{"type":51,"value":665},{"type":45,"tag":591,"props":5357,"children":5358},{"style":631},[5359],{"type":51,"value":883},{"type":45,"tag":591,"props":5361,"children":5362},{"style":631},[5363],{"type":51,"value":634},{"type":45,"tag":591,"props":5365,"children":5366},{"style":614},[5367],{"type":51,"value":5282},{"type":45,"tag":591,"props":5369,"children":5370},{"style":631},[5371],{"type":51,"value":665},{"type":45,"tag":591,"props":5373,"children":5374},{"style":631},[5375],{"type":51,"value":4818},{"type":45,"tag":591,"props":5377,"children":5378},{"class":593,"line":688},[5379,5383,5388,5392,5396],{"type":45,"tag":591,"props":5380,"children":5381},{"style":631},[5382],{"type":51,"value":5308},{"type":45,"tag":591,"props":5384,"children":5385},{"style":5311},[5386],{"type":51,"value":5387},"params",{"type":45,"tag":591,"props":5389,"children":5390},{"style":631},[5391],{"type":51,"value":665},{"type":45,"tag":591,"props":5393,"children":5394},{"style":631},[5395],{"type":51,"value":883},{"type":45,"tag":591,"props":5397,"children":5398},{"style":631},[5399],{"type":51,"value":2876},{"type":45,"tag":591,"props":5401,"children":5402},{"class":593,"line":697},[5403,5408,5413,5417,5421,5425,5430,5434],{"type":45,"tag":591,"props":5404,"children":5405},{"style":631},[5406],{"type":51,"value":5407},"    \"",{"type":45,"tag":591,"props":5409,"children":5410},{"style":608},[5411],{"type":51,"value":5412},"name",{"type":45,"tag":591,"props":5414,"children":5415},{"style":631},[5416],{"type":51,"value":665},{"type":45,"tag":591,"props":5418,"children":5419},{"style":631},[5420],{"type":51,"value":883},{"type":45,"tag":591,"props":5422,"children":5423},{"style":631},[5424],{"type":51,"value":634},{"type":45,"tag":591,"props":5426,"children":5427},{"style":614},[5428],{"type":51,"value":5429},"video_analytics__get_incidents",{"type":45,"tag":591,"props":5431,"children":5432},{"style":631},[5433],{"type":51,"value":665},{"type":45,"tag":591,"props":5435,"children":5436},{"style":631},[5437],{"type":51,"value":4818},{"type":45,"tag":591,"props":5439,"children":5440},{"class":593,"line":1764},[5441,5445,5450,5454,5458],{"type":45,"tag":591,"props":5442,"children":5443},{"style":631},[5444],{"type":51,"value":5407},{"type":45,"tag":591,"props":5446,"children":5447},{"style":608},[5448],{"type":51,"value":5449},"arguments",{"type":45,"tag":591,"props":5451,"children":5452},{"style":631},[5453],{"type":51,"value":665},{"type":45,"tag":591,"props":5455,"children":5456},{"style":631},[5457],{"type":51,"value":883},{"type":45,"tag":591,"props":5459,"children":5460},{"style":631},[5461],{"type":51,"value":2876},{"type":45,"tag":591,"props":5463,"children":5464},{"class":593,"line":2120},[5465,5470,5474,5478,5482,5486,5491,5495],{"type":45,"tag":591,"props":5466,"children":5467},{"style":631},[5468],{"type":51,"value":5469},"      \"",{"type":45,"tag":591,"props":5471,"children":5472},{"style":625},[5473],{"type":51,"value":5244},{"type":45,"tag":591,"props":5475,"children":5476},{"style":631},[5477],{"type":51,"value":665},{"type":45,"tag":591,"props":5479,"children":5480},{"style":631},[5481],{"type":51,"value":883},{"type":45,"tag":591,"props":5483,"children":5484},{"style":631},[5485],{"type":51,"value":634},{"type":45,"tag":591,"props":5487,"children":5488},{"style":614},[5489],{"type":51,"value":5490},"\u003Csensor-id-or-omit>",{"type":45,"tag":591,"props":5492,"children":5493},{"style":631},[5494],{"type":51,"value":665},{"type":45,"tag":591,"props":5496,"children":5497},{"style":631},[5498],{"type":51,"value":4818},{"type":45,"tag":591,"props":5500,"children":5501},{"class":593,"line":2145},[5502,5506,5511,5515,5519,5523,5528,5532],{"type":45,"tag":591,"props":5503,"children":5504},{"style":631},[5505],{"type":51,"value":5469},{"type":45,"tag":591,"props":5507,"children":5508},{"style":625},[5509],{"type":51,"value":5510},"source_type",{"type":45,"tag":591,"props":5512,"children":5513},{"style":631},[5514],{"type":51,"value":665},{"type":45,"tag":591,"props":5516,"children":5517},{"style":631},[5518],{"type":51,"value":883},{"type":45,"tag":591,"props":5520,"children":5521},{"style":631},[5522],{"type":51,"value":634},{"type":45,"tag":591,"props":5524,"children":5525},{"style":614},[5526],{"type":51,"value":5527},"sensor",{"type":45,"tag":591,"props":5529,"children":5530},{"style":631},[5531],{"type":51,"value":665},{"type":45,"tag":591,"props":5533,"children":5534},{"style":631},[5535],{"type":51,"value":4818},{"type":45,"tag":591,"props":5537,"children":5538},{"class":593,"line":2178},[5539,5543,5547,5551,5555,5559,5564,5568],{"type":45,"tag":591,"props":5540,"children":5541},{"style":631},[5542],{"type":51,"value":5469},{"type":45,"tag":591,"props":5544,"children":5545},{"style":625},[5546],{"type":51,"value":5216},{"type":45,"tag":591,"props":5548,"children":5549},{"style":631},[5550],{"type":51,"value":665},{"type":45,"tag":591,"props":5552,"children":5553},{"style":631},[5554],{"type":51,"value":883},{"type":45,"tag":591,"props":5556,"children":5557},{"style":631},[5558],{"type":51,"value":634},{"type":45,"tag":591,"props":5560,"children":5561},{"style":614},[5562],{"type":51,"value":5563},"\u003CISO>",{"type":45,"tag":591,"props":5565,"children":5566},{"style":631},[5567],{"type":51,"value":665},{"type":45,"tag":591,"props":5569,"children":5570},{"style":631},[5571],{"type":51,"value":4818},{"type":45,"tag":591,"props":5573,"children":5574},{"class":593,"line":2202},[5575,5579,5583,5587,5591,5595,5599,5603],{"type":45,"tag":591,"props":5576,"children":5577},{"style":631},[5578],{"type":51,"value":5469},{"type":45,"tag":591,"props":5580,"children":5581},{"style":625},[5582],{"type":51,"value":5223},{"type":45,"tag":591,"props":5584,"children":5585},{"style":631},[5586],{"type":51,"value":665},{"type":45,"tag":591,"props":5588,"children":5589},{"style":631},[5590],{"type":51,"value":883},{"type":45,"tag":591,"props":5592,"children":5593},{"style":631},[5594],{"type":51,"value":634},{"type":45,"tag":591,"props":5596,"children":5597},{"style":614},[5598],{"type":51,"value":5563},{"type":45,"tag":591,"props":5600,"children":5601},{"style":631},[5602],{"type":51,"value":665},{"type":45,"tag":591,"props":5604,"children":5605},{"style":631},[5606],{"type":51,"value":4818},{"type":45,"tag":591,"props":5608,"children":5609},{"class":593,"line":2211},[5610,5614,5619,5623,5627,5632],{"type":45,"tag":591,"props":5611,"children":5612},{"style":631},[5613],{"type":51,"value":5469},{"type":45,"tag":591,"props":5615,"children":5616},{"style":625},[5617],{"type":51,"value":5618},"max_count",{"type":45,"tag":591,"props":5620,"children":5621},{"style":631},[5622],{"type":51,"value":665},{"type":45,"tag":591,"props":5624,"children":5625},{"style":631},[5626],{"type":51,"value":883},{"type":45,"tag":591,"props":5628,"children":5629},{"style":625},[5630],{"type":51,"value":5631}," 100",{"type":45,"tag":591,"props":5633,"children":5634},{"style":631},[5635],{"type":51,"value":4818},{"type":45,"tag":591,"props":5637,"children":5638},{"class":593,"line":2235},[5639,5643,5648,5652,5656,5660,5664,5669,5673,5678,5682,5687,5691],{"type":45,"tag":591,"props":5640,"children":5641},{"style":631},[5642],{"type":51,"value":5469},{"type":45,"tag":591,"props":5644,"children":5645},{"style":625},[5646],{"type":51,"value":5647},"includes",{"type":45,"tag":591,"props":5649,"children":5650},{"style":631},[5651],{"type":51,"value":665},{"type":45,"tag":591,"props":5653,"children":5654},{"style":631},[5655],{"type":51,"value":883},{"type":45,"tag":591,"props":5657,"children":5658},{"style":631},[5659],{"type":51,"value":1817},{"type":45,"tag":591,"props":5661,"children":5662},{"style":631},[5663],{"type":51,"value":665},{"type":45,"tag":591,"props":5665,"children":5666},{"style":614},[5667],{"type":51,"value":5668},"objectIds",{"type":45,"tag":591,"props":5670,"children":5671},{"style":631},[5672],{"type":51,"value":665},{"type":45,"tag":591,"props":5674,"children":5675},{"style":631},[5676],{"type":51,"value":5677},",",{"type":45,"tag":591,"props":5679,"children":5680},{"style":631},[5681],{"type":51,"value":634},{"type":45,"tag":591,"props":5683,"children":5684},{"style":614},[5685],{"type":51,"value":5686},"info",{"type":45,"tag":591,"props":5688,"children":5689},{"style":631},[5690],{"type":51,"value":665},{"type":45,"tag":591,"props":5692,"children":5693},{"style":631},[5694],{"type":51,"value":5695},"]\n",{"type":45,"tag":591,"props":5697,"children":5698},{"class":593,"line":2283},[5699],{"type":45,"tag":591,"props":5700,"children":5701},{"style":631},[5702],{"type":51,"value":4996},{"type":45,"tag":591,"props":5704,"children":5705},{"class":593,"line":2357},[5706],{"type":45,"tag":591,"props":5707,"children":5708},{"style":631},[5709],{"type":51,"value":5710},"  },\n",{"type":45,"tag":591,"props":5712,"children":5713},{"class":593,"line":2381},[5714,5718,5723,5727,5731],{"type":45,"tag":591,"props":5715,"children":5716},{"style":631},[5717],{"type":51,"value":5308},{"type":45,"tag":591,"props":5719,"children":5720},{"style":5311},[5721],{"type":51,"value":5722},"id",{"type":45,"tag":591,"props":5724,"children":5725},{"style":631},[5726],{"type":51,"value":665},{"type":45,"tag":591,"props":5728,"children":5729},{"style":631},[5730],{"type":51,"value":883},{"type":45,"tag":591,"props":5732,"children":5733},{"style":625},[5734],{"type":51,"value":5735}," 1\n",{"type":45,"tag":591,"props":5737,"children":5738},{"class":593,"line":2802},[5739],{"type":45,"tag":591,"props":5740,"children":5741},{"style":631},[5742],{"type":51,"value":2746},{"type":45,"tag":54,"props":5744,"children":5745},{},[5746],{"type":51,"value":5747},"Read-only boundary (mandatory):",{"type":45,"tag":302,"props":5749,"children":5750},{},[5751,5756,5761],{"type":45,"tag":196,"props":5752,"children":5753},{},[5754],{"type":51,"value":5755},"Mode B is strictly read-only analytics retrieval. Never write, seed, backfill, or mutate Elasticsearch\u002FVA data.",{"type":45,"tag":196,"props":5757,"children":5758},{},[5759],{"type":51,"value":5760},"Forbidden examples: indexing synthetic incidents, replaying fixture payloads into ES, calling write\u002Fupdate\u002Fdelete APIs to \"make data available\" for the report.",{"type":45,"tag":196,"props":5762,"children":5763},{},[5764],{"type":51,"value":5765},"If no incidents exist for the requested range\u002Fscope, handle as empty results (see below); do not fabricate data.",{"type":45,"tag":54,"props":5767,"children":5768},{},[5769,5771,5776,5777,5783,5784,5790,5791,5797,5798,5804,5805,5811,5812,5818,5819,5825,5826,5831,5833,5839,5840,5846,5848,5866,5868,5873],{"type":51,"value":5770},"For each incident keep: ",{"type":45,"tag":68,"props":5772,"children":5774},{"className":5773},[],[5775],{"type":51,"value":5722},{"type":51,"value":1489},{"type":45,"tag":68,"props":5778,"children":5780},{"className":5779},[],[5781],{"type":51,"value":5782},"sensorId",{"type":51,"value":1489},{"type":45,"tag":68,"props":5785,"children":5787},{"className":5786},[],[5788],{"type":51,"value":5789},"timestamp",{"type":51,"value":1489},{"type":45,"tag":68,"props":5792,"children":5794},{"className":5793},[],[5795],{"type":51,"value":5796},"end",{"type":51,"value":1489},{"type":45,"tag":68,"props":5799,"children":5801},{"className":5800},[],[5802],{"type":51,"value":5803},"category",{"type":51,"value":1489},{"type":45,"tag":68,"props":5806,"children":5808},{"className":5807},[],[5809],{"type":51,"value":5810},"place.name",{"type":51,"value":1489},{"type":45,"tag":68,"props":5813,"children":5815},{"className":5814},[],[5816],{"type":51,"value":5817},"info.verdict",{"type":51,"value":1489},{"type":45,"tag":68,"props":5820,"children":5822},{"className":5821},[],[5823],{"type":51,"value":5824},"info.reasoning",{"type":51,"value":1489},{"type":45,"tag":68,"props":5827,"children":5829},{"className":5828},[],[5830],{"type":51,"value":5668},{"type":51,"value":5832},", and the clip URL (commonly ",{"type":45,"tag":68,"props":5834,"children":5836},{"className":5835},[],[5837],{"type":51,"value":5838},"info.clip_url",{"type":51,"value":1489},{"type":45,"tag":68,"props":5841,"children":5843},{"className":5842},[],[5844],{"type":51,"value":5845},"clip_url",{"type":51,"value":5847},", or whichever clip-pointer field the response carries). ",{"type":45,"tag":60,"props":5849,"children":5850},{},[5851,5853,5858,5860,5864],{"type":51,"value":5852},"Apply the ",{"type":45,"tag":68,"props":5854,"children":5856},{"className":5855},[],[5857],{"type":51,"value":276},{"type":51,"value":5859}," rewrite (see ",{"type":45,"tag":207,"props":5861,"children":5862},{},[5863],{"type":51,"value":283},{"type":51,"value":5865}," above) to every clip URL before pasting it into the report",{"type":51,"value":5867}," — the raw value is a ",{"type":45,"tag":68,"props":5869,"children":5871},{"className":5870},[],[5872],{"type":51,"value":5187},{"type":51,"value":5874}," URL the user's browser cannot reach.",{"type":45,"tag":1203,"props":5876,"children":5878},{"id":5877},"step-3-fill-the-incident-range-report-template",[5879],{"type":51,"value":5880},"Step 3 — Fill the Incident Range Report template",{"type":45,"tag":54,"props":5882,"children":5883},{},[5884,5885,5894],{"type":51,"value":5146},{"type":45,"tag":5148,"props":5886,"children":5888},{"href":5887},"assets\u002Fincident-range-report.md",[5889],{"type":45,"tag":68,"props":5890,"children":5892},{"className":5891},[],[5893],{"type":51,"value":5887},{"type":51,"value":5895},", then group by sensor (or by category if no sensor scope), tally verdicts, and list each incident with timestamp \u002F category \u002F verdict \u002F reasoning. Keep the source asset unchanged. Every incident clip value must be a rewritten browser-playable URL; omit the clip line when the incident carries no clip URL. Never include template instructions in a filled cell.",{"type":45,"tag":54,"props":5897,"children":5898},{},[5899,5901,5907],{"type":51,"value":5900},"If ",{"type":45,"tag":68,"props":5902,"children":5904},{"className":5903},[],[5905],{"type":51,"value":5906},"get_incidents",{"type":51,"value":5908}," returns zero results, STOP and return exactly a one-line empty-range statement naming the requested range and scope. Do not render the full Incident Range template, do not invent incidents, do not seed test data, and do not fall back to Mode A.",{"type":45,"tag":181,"props":5910,"children":5911},{},[],{"type":45,"tag":185,"props":5913,"children":5915},{"id":5914},"error-handling",[5916],{"type":51,"value":5917},"Error Handling",{"type":45,"tag":302,"props":5919,"children":5920},{},[5921,5940,5945,5950],{"type":45,"tag":196,"props":5922,"children":5923},{},[5924,5926,5931,5933,5938],{"type":51,"value":5925},"If a probe, ",{"type":45,"tag":68,"props":5927,"children":5929},{"className":5928},[],[5930],{"type":51,"value":611},{"type":51,"value":5932},", VLM call, or ",{"type":45,"tag":68,"props":5934,"children":5936},{"className":5935},[],[5937],{"type":51,"value":150},{"type":51,"value":5939}," request fails, stop the workflow and report the failing endpoint, HTTP status or command error, and the next useful recovery step. Do not fabricate a report from partial or missing data.",{"type":45,"tag":196,"props":5941,"children":5942},{},[5943],{"type":51,"value":5944},"If the VLM response is empty, malformed, or contains only a reasoning block, surface that response problem and suggest checking model readiness\u002Flogs before retrying.",{"type":45,"tag":196,"props":5946,"children":5947},{},[5948],{"type":51,"value":5949},"If a clip URL cannot be rewritten to the public host\u002Fport, omit it from the rendered report and call out that the browser-playable URL could not be produced.",{"type":45,"tag":196,"props":5951,"children":5952},{},[5953,5955,5960,5961,5966,5968,5973,5974,5979,5980,5985],{"type":51,"value":5954},"For Mode B, treat missing optional incident fields (",{"type":45,"tag":68,"props":5956,"children":5958},{"className":5957},[],[5959],{"type":51,"value":5824},{"type":51,"value":1489},{"type":45,"tag":68,"props":5962,"children":5964},{"className":5963},[],[5965],{"type":51,"value":5668},{"type":51,"value":5967},", clip URL) as omissions in the report, but treat missing ",{"type":45,"tag":68,"props":5969,"children":5971},{"className":5970},[],[5972],{"type":51,"value":5722},{"type":51,"value":1489},{"type":45,"tag":68,"props":5975,"children":5977},{"className":5976},[],[5978],{"type":51,"value":5789},{"type":51,"value":1664},{"type":45,"tag":68,"props":5981,"children":5983},{"className":5982},[],[5984],{"type":51,"value":5803},{"type":51,"value":5986}," as a data-quality error that should be reported.",{"type":45,"tag":181,"props":5988,"children":5989},{},[],{"type":45,"tag":185,"props":5991,"children":5993},{"id":5992},"cross-reference",[5994],{"type":51,"value":5995},"Cross-Reference",{"type":45,"tag":302,"props":5997,"children":5998},{},[5999,6012,6025,6038],{"type":45,"tag":196,"props":6000,"children":6001},{},[6002,6010],{"type":45,"tag":60,"props":6003,"children":6004},{},[6005],{"type":45,"tag":68,"props":6006,"children":6008},{"className":6007},[],[6009],{"type":51,"value":123},{"type":51,"value":6011}," — sensor list, timelines, and clip URL for Mode A Step 1.",{"type":45,"tag":196,"props":6013,"children":6014},{},[6015,6023],{"type":45,"tag":60,"props":6016,"children":6017},{},[6018],{"type":45,"tag":68,"props":6019,"children":6021},{"className":6020},[],[6022],{"type":51,"value":150},{"type":51,"value":6024}," — incident retrieval (and verdict \u002F reasoning enrichment) for Mode B Step 2.",{"type":45,"tag":196,"props":6026,"children":6027},{},[6028,6036],{"type":45,"tag":60,"props":6029,"children":6030},{},[6031],{"type":45,"tag":68,"props":6032,"children":6034},{"className":6033},[],[6035],{"type":51,"value":479},{"type":51,"value":6037}," — ad-hoc VLM Q&A on a single clip (not a structured report).",{"type":45,"tag":196,"props":6039,"children":6040},{},[6041,6049,6051,6056],{"type":45,"tag":60,"props":6042,"children":6043},{},[6044],{"type":45,"tag":68,"props":6045,"children":6047},{"className":6046},[],[6048],{"type":51,"value":1191},{"type":51,"value":6050}," — used by Mode A to produce the summary body when the ",{"type":45,"tag":68,"props":6052,"children":6054},{"className":6053},[],[6055],{"type":51,"value":1174},{"type":51,"value":6057}," profile is deployed; the report template (Step 4) is still filled here.",{"type":45,"tag":6059,"props":6060,"children":6061},"style",{},[6062],{"type":51,"value":6063},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":6065,"total":6224},[6066,6084,6102,6113,6125,6139,6152,6166,6179,6190,6204,6213],{"slug":6067,"name":6067,"fn":6068,"description":6069,"org":6070,"tags":6071,"stars":6081,"repoUrl":6082,"updatedAt":6083},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6072,6075,6078],{"name":6073,"slug":6074,"type":15},"Documentation","documentation",{"name":6076,"slug":6077,"type":15},"MCP","mcp",{"name":6079,"slug":6080,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":6085,"name":6085,"fn":6086,"description":6087,"org":6088,"tags":6089,"stars":6099,"repoUrl":6100,"updatedAt":6101},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6090,6093,6096],{"name":6091,"slug":6092,"type":15},"Containers","containers",{"name":6094,"slug":6095,"type":15},"Deployment","deployment",{"name":6097,"slug":6098,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":6103,"name":6103,"fn":6104,"description":6105,"org":6106,"tags":6107,"stars":6099,"repoUrl":6100,"updatedAt":6112},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6108,6111],{"name":6109,"slug":6110,"type":15},"CI\u002FCD","ci-cd",{"name":6094,"slug":6095,"type":15},"2026-07-14T05:25:59.97109",{"slug":6114,"name":6114,"fn":6115,"description":6116,"org":6117,"tags":6118,"stars":6099,"repoUrl":6100,"updatedAt":6124},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6119,6120,6121],{"name":6109,"slug":6110,"type":15},{"name":6094,"slug":6095,"type":15},{"name":6122,"slug":6123,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":6126,"name":6126,"fn":6127,"description":6128,"org":6129,"tags":6130,"stars":6099,"repoUrl":6100,"updatedAt":6138},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6131,6134,6135],{"name":6132,"slug":6133,"type":15},"Debugging","debugging",{"name":6122,"slug":6123,"type":15},{"name":6136,"slug":6137,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":6140,"name":6140,"fn":6141,"description":6142,"org":6143,"tags":6144,"stars":6099,"repoUrl":6100,"updatedAt":6151},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6145,6148],{"name":6146,"slug":6147,"type":15},"Best Practices","best-practices",{"name":6149,"slug":6150,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":6153,"name":6153,"fn":6154,"description":6155,"org":6156,"tags":6157,"stars":6099,"repoUrl":6100,"updatedAt":6165},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6158,6161,6164],{"name":6159,"slug":6160,"type":15},"Machine Learning","machine-learning",{"name":6162,"slug":6163,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":6167,"name":6167,"fn":6168,"description":6169,"org":6170,"tags":6171,"stars":6099,"repoUrl":6100,"updatedAt":6178},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6172,6175],{"name":6173,"slug":6174,"type":15},"QA","qa",{"name":6176,"slug":6177,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":6180,"name":6180,"fn":6181,"description":6182,"org":6183,"tags":6184,"stars":6099,"repoUrl":6100,"updatedAt":6189},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6185,6186],{"name":6094,"slug":6095,"type":15},{"name":6187,"slug":6188,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":6191,"name":6191,"fn":6192,"description":6193,"org":6194,"tags":6195,"stars":6099,"repoUrl":6100,"updatedAt":6203},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6196,6199,6200],{"name":6197,"slug":6198,"type":15},"Code Review","code-review",{"name":6122,"slug":6123,"type":15},{"name":6201,"slug":6202,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":6205,"name":6205,"fn":6206,"description":6207,"org":6208,"tags":6209,"stars":6099,"repoUrl":6100,"updatedAt":6212},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6210,6211],{"name":6173,"slug":6174,"type":15},{"name":6176,"slug":6177,"type":15},"2026-07-14T05:25:54.928983",{"slug":6214,"name":6214,"fn":6215,"description":6216,"org":6217,"tags":6218,"stars":6099,"repoUrl":6100,"updatedAt":6223},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6219,6222],{"name":6220,"slug":6221,"type":15},"Automation","automation",{"name":6109,"slug":6110,"type":15},"2026-07-30T05:29:03.275638",496,{"items":6226,"total":6319},[6227,6244,6254,6268,6278,6291,6305],{"slug":6228,"name":6228,"fn":6229,"description":6230,"org":6231,"tags":6232,"stars":23,"repoUrl":24,"updatedAt":6243},"accelerated-computing-cudf","accelerate data processing with cuDF","Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV\u002FParquet I\u002FO, nullable semantics, and multi-GPU DataFrame workloads.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6233,6236,6239,6240],{"name":6234,"slug":6235,"type":15},"Data Analysis","data-analysis",{"name":6237,"slug":6238,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":6241,"slug":6242,"type":15},"Performance","performance","2026-07-14T05:28:43.176466",{"slug":6245,"name":6245,"fn":6246,"description":6247,"org":6248,"tags":6249,"stars":23,"repoUrl":24,"updatedAt":6253},"aiq-deploy","deploy and manage NVIDIA AI-Q infrastructure","Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6250,6251,6252],{"name":6094,"slug":6095,"type":15},{"name":6187,"slug":6188,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":6255,"name":6255,"fn":6256,"description":6257,"org":6258,"tags":6259,"stars":23,"repoUrl":24,"updatedAt":6267},"aiq-research","conduct deep research with AI-Q","Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6260,6263,6264],{"name":6261,"slug":6262,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":6265,"slug":6266,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":6269,"name":6269,"fn":6270,"description":6271,"org":6272,"tags":6273,"stars":23,"repoUrl":24,"updatedAt":6277},"amc-run-sample-calibration","run AMC sample dataset calibration","Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6274,6275,6276],{"name":6234,"slug":6235,"type":15},{"name":9,"slug":8,"type":15},{"name":6176,"slug":6177,"type":15},"2026-07-17T05:29:03.913266",{"slug":6279,"name":6279,"fn":6280,"description":6281,"org":6282,"tags":6283,"stars":23,"repoUrl":24,"updatedAt":6290},"amc-run-video-calibration","calibrate video datasets with AutoMagicCalib","Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP\u002Flive streams, use amc-run-rtsp-calibration instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6284,6285,6288,6289],{"name":6220,"slug":6221,"type":15},{"name":6286,"slug":6287,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"2026-07-17T05:28:53.905004",{"slug":6292,"name":6292,"fn":6293,"description":6294,"org":6295,"tags":6296,"stars":23,"repoUrl":24,"updatedAt":6304},"amc-setup-calibration-stack","deploy AutoMagicCalib microservice with Docker","Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6297,6298,6300,6301],{"name":6094,"slug":6095,"type":15},{"name":6299,"slug":1704,"type":15},"Docker",{"name":9,"slug":8,"type":15},{"name":6302,"slug":6303,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":6306,"name":6306,"fn":6307,"description":6308,"org":6309,"tags":6310,"stars":23,"repoUrl":24,"updatedAt":6318},"cudaq-guide","develop quantum applications with CUDA-Q","CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[6311,6312,6315],{"name":9,"slug":8,"type":15},{"name":6313,"slug":6314,"type":15},"Quantum Computing","quantum-computing",{"name":6316,"slug":6317,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",305]