[{"data":1,"prerenderedAt":1690},["ShallowReactive",2],{"navigation_docs":3,"-mcp-tools-render-datachain":194,"-mcp-tools-render-datachain-surround":1685},[4,22,82,124,146,168,190],{"title":5,"path":6,"stem":7,"children":8},"Getting started","/getting-started","1.getting-started/0.index",[9,10,14,18],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"MCP quickstart","/getting-started/mcp-quickstart","1.getting-started/1.mcp-quickstart",{"title":15,"path":16,"stem":17},"REST quickstart","/getting-started/rest-quickstart","1.getting-started/2.rest-quickstart",{"title":19,"path":20,"stem":21},"UI quickstart","/getting-started/ui-quickstart","1.getting-started/3.ui-quickstart",{"title":23,"path":24,"stem":25,"children":26},"MCP server","/mcp","2.mcp/0.index",[27,28,32,36,40],{"title":23,"path":24,"stem":25},{"title":29,"path":30,"stem":31},"Connecting","/mcp/connection","2.mcp/1.connection",{"title":33,"path":34,"stem":35},"Envelope","/mcp/envelope","2.mcp/2.envelope",{"title":37,"path":38,"stem":39},"Resources","/mcp/resources","2.mcp/3.resources",{"title":41,"path":42,"stem":43,"children":44},"Tools","/mcp/tools","2.mcp/4.tools/0.index",[45,46,50,54,58,62,66,70,74,78],{"title":41,"path":42,"stem":43},{"title":47,"path":48,"stem":49},"list_schema_versions","/mcp/tools/list-schema-versions","2.mcp/4.tools/1.list-schema-versions",{"title":51,"path":52,"stem":53},"get_schema","/mcp/tools/get-schema","2.mcp/4.tools/2.get-schema",{"title":55,"path":56,"stem":57},"list_categories","/mcp/tools/list-categories","2.mcp/4.tools/3.list-categories",{"title":59,"path":60,"stem":61},"list_elements","/mcp/tools/list-elements","2.mcp/4.tools/4.list-elements",{"title":63,"path":64,"stem":65},"get_element","/mcp/tools/get-element","2.mcp/4.tools/5.get-element",{"title":67,"path":68,"stem":69},"get_elements","/mcp/tools/get-elements","2.mcp/4.tools/6.get-elements",{"title":71,"path":72,"stem":73},"validate_datachain","/mcp/tools/validate-datachain","2.mcp/4.tools/7.validate-datachain",{"title":75,"path":76,"stem":77},"render_datachain","/mcp/tools/render-datachain","2.mcp/4.tools/8.render-datachain",{"title":79,"path":80,"stem":81},"get_icon_url","/mcp/tools/get-icon-url","2.mcp/4.tools/9.get-icon-url",{"title":83,"path":84,"stem":85,"children":86},"REST API (v2)","/rest","3.rest/0.index",[87,88,92,96,100,104,108,112,116,120],{"title":83,"path":84,"stem":85},{"title":89,"path":90,"stem":91},"GET /schemas","/rest/schemas","3.rest/1.schemas",{"title":93,"path":94,"stem":95},"GET /schemas/:version/manifest","/rest/manifest","3.rest/2.manifest",{"title":97,"path":98,"stem":99},"GET /schemas/:version/categories","/rest/categories","3.rest/3.categories",{"title":101,"path":102,"stem":103},"GET /schemas/:version/elements","/rest/elements-list","3.rest/4.elements-list",{"title":105,"path":106,"stem":107},"GET /schemas/:version/elements/:element_id","/rest/element-detail","3.rest/5.element-detail",{"title":109,"path":110,"stem":111},"POST /schemas/:version/validate","/rest/validate","3.rest/6.validate",{"title":113,"path":114,"stem":115},"Icon routes","/rest/icons","3.rest/7.icons",{"title":117,"path":118,"stem":119},"Pagination & fields","/rest/pagination-and-fields","3.rest/8.pagination-and-fields",{"title":121,"path":122,"stem":123},"Errors","/rest/errors","3.rest/9.errors",{"title":125,"path":126,"stem":127,"children":128},"Icon composition","/icons","4.icons/0.index",[129,130,134,138,142],{"title":125,"path":126,"stem":127},{"title":131,"path":132,"stem":133},"Shapes","/icons/shapes","4.icons/1.shapes",{"title":135,"path":136,"stem":137},"Symbols","/icons/symbols","4.icons/2.symbols",{"title":139,"path":140,"stem":141},"Composed variants","/icons/composed-variants","4.icons/3.composed-variants",{"title":143,"path":144,"stem":145},"URLs","/icons/urls","4.icons/4.urls",{"title":147,"path":148,"stem":149,"children":150},"@dtpr/ui","/ui","5.ui/0.index",[151,152,156,160,164],{"title":147,"path":148,"stem":149},{"title":153,"path":154,"stem":155},"@dtpr/ui/core","/ui/core","5.ui/1.core",{"title":157,"path":158,"stem":159},"@dtpr/ui/vue","/ui/vue","5.ui/2.vue",{"title":161,"path":162,"stem":163},"@dtpr/ui/html","/ui/html","5.ui/3.html",{"title":165,"path":166,"stem":167},"Theming","/ui/theming","5.ui/4.theming",{"title":169,"path":170,"stem":171,"children":172},"Concepts","/concepts","6.concepts/0.index",[173,174,178,182,186],{"title":169,"path":170,"stem":171},{"title":175,"path":176,"stem":177},"Datachains","/concepts/datachains","6.concepts/1.datachains",{"title":179,"path":180,"stem":181},"Elements & categories","/concepts/elements-categories","6.concepts/2.elements-categories",{"title":183,"path":184,"stem":185},"Versions & releases","/concepts/versions-and-releases","6.concepts/3.versions-and-releases",{"title":187,"path":188,"stem":189},"Content hash","/concepts/content-hash","6.concepts/4.content-hash",{"title":191,"path":192,"stem":193},"Changelog","/changelog","7.changelog",{"id":195,"title":75,"body":196,"description":1679,"extension":1680,"links":1681,"meta":1682,"navigation":1092,"path":76,"seo":1683,"stem":77,"__hash__":1684},"docs/2.mcp/4.tools/8.render-datachain.md",{"type":197,"value":198,"toc":1669},"minimark",[199,202,224,229,252,256,351,355,748,763,767,951,954,956,1034,1038,1045,1059,1063,1638,1642,1665],[200,201,75],"h1",{"id":75},[203,204,206,207,214,215,219,220,223],"callout",{"type":205},"info","This tool produces an ",[208,209,213],"a",{"href":210,"rel":211},"https://modelcontextprotocol.io",[212],"nofollow","MCP App"," — an HTML document an MCP client can embed in an iframe. The tool response carries a short text summary plus ",[216,217,218],"code",{},"_meta.ui.resourceUri","; the client follows with ",[216,221,222],{},"resources/read"," on the same session to fetch the HTML.",[225,226,228],"h2",{"id":227},"summary","Summary",[230,231,232,233,237,238,242,243,246,247,251],"p",{},"Runs the same semantic validation as ",[208,234,235],{"href":72},[216,236,71],{},". On success, renders the instance through ",[208,239,240],{"href":162},[216,241,161],{},"'s ",[216,244,245],{},"renderDatachainDocument"," and stores the result in the session's MCP App slot. On semantic failure, returns a soft-failure envelope ",[248,249,250],"strong",{},"without"," rendering.",[225,253,255],{"id":254},"input","Input",[257,258,259,281],"table",{},[260,261,262],"thead",{},[263,264,265,269,272,275,278],"tr",{},[266,267,268],"th",{},"Field",[266,270,271],{},"Type",[266,273,274],{},"Required",[266,276,277],{},"Default",[266,279,280],{},"Description",[282,283,284,310,329],"tbody",{},[263,285,286,292,297,300,303],{},[287,288,289],"td",{},[216,290,291],{},"version",[287,293,294],{},[216,295,296],{},"string",[287,298,299],{},"yes",[287,301,302],{},"—",[287,304,305,306,309],{},"Pinned schema version, e.g. ",[216,307,308],{},"\"ai@2026-04-16-beta\"",".",[263,311,312,317,322,324,326],{},[287,313,314],{},[216,315,316],{},"datachain",[287,318,319],{},[216,320,321],{},"object",[287,323,299],{},[287,325,302],{},[287,327,328],{},"Datachain instance JSON.",[263,330,331,336,340,343,348],{},[287,332,333],{},[216,334,335],{},"locale",[287,337,338],{},[216,339,296],{},[287,341,342],{},"no",[287,344,345],{},[216,346,347],{},"\"en\"",[287,349,350],{},"Locale used for rendered strings.",[225,352,354],{"id":353},"output-success","Output — success",[356,357,362],"pre",{"className":358,"code":359,"language":360,"meta":361,"style":361},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"structuredContent\": {\n    \"ok\": true,\n    \"data\": {\n      \"resource_uri\": \"ui://dtpr/datachain/view.html\",\n      \"section_count\": 4,\n      \"element_count\": 7,\n      \"warnings\": []\n    },\n    \"meta\": { \"content_hash\": \"sha256-…\", \"version\": \"ai@2026-04-16-beta\" }\n  },\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Rendered DTPR datachain with 4 categories and 7 total elements. UI available at ui://dtpr/datachain/view.html.\\n- Purpose (2 elements): …\"\n    }\n  ],\n  \"_meta\": {\n    \"ui\": {\n      \"resourceUri\": \"ui://dtpr/datachain/view.html\",\n      \"csp\": { \"resourceDomains\": [], \"connectDomains\": [] }\n    }\n  }\n}\n","json","",[216,363,364,373,392,409,423,449,466,483,498,504,556,562,577,583,604,630,636,642,656,670,690,731,736,742],{"__ignoreMap":361},[365,366,369],"span",{"class":367,"line":368},"line",1,[365,370,372],{"class":371},"sMK4o","{\n",[365,374,376,379,383,386,389],{"class":367,"line":375},2,[365,377,378],{"class":371},"  \"",[365,380,382],{"class":381},"spNyl","structuredContent",[365,384,385],{"class":371},"\"",[365,387,388],{"class":371},":",[365,390,391],{"class":371}," {\n",[365,393,395,398,402,404,406],{"class":367,"line":394},3,[365,396,397],{"class":371},"    \"",[365,399,401],{"class":400},"sBMFI","ok",[365,403,385],{"class":371},[365,405,388],{"class":371},[365,407,408],{"class":371}," true,\n",[365,410,412,414,417,419,421],{"class":367,"line":411},4,[365,413,397],{"class":371},[365,415,416],{"class":400},"data",[365,418,385],{"class":371},[365,420,388],{"class":371},[365,422,391],{"class":371},[365,424,426,429,433,435,437,440,444,446],{"class":367,"line":425},5,[365,427,428],{"class":371},"      \"",[365,430,432],{"class":431},"sbssI","resource_uri",[365,434,385],{"class":371},[365,436,388],{"class":371},[365,438,439],{"class":371}," \"",[365,441,443],{"class":442},"sfazB","ui://dtpr/datachain/view.html",[365,445,385],{"class":371},[365,447,448],{"class":371},",\n",[365,450,452,454,457,459,461,464],{"class":367,"line":451},6,[365,453,428],{"class":371},[365,455,456],{"class":431},"section_count",[365,458,385],{"class":371},[365,460,388],{"class":371},[365,462,463],{"class":431}," 4",[365,465,448],{"class":371},[365,467,469,471,474,476,478,481],{"class":367,"line":468},7,[365,470,428],{"class":371},[365,472,473],{"class":431},"element_count",[365,475,385],{"class":371},[365,477,388],{"class":371},[365,479,480],{"class":431}," 7",[365,482,448],{"class":371},[365,484,486,488,491,493,495],{"class":367,"line":485},8,[365,487,428],{"class":371},[365,489,490],{"class":431},"warnings",[365,492,385],{"class":371},[365,494,388],{"class":371},[365,496,497],{"class":371}," []\n",[365,499,501],{"class":367,"line":500},9,[365,502,503],{"class":371},"    },\n",[365,505,507,509,512,514,516,519,521,524,526,528,530,533,535,538,540,542,544,546,548,551,553],{"class":367,"line":506},10,[365,508,397],{"class":371},[365,510,511],{"class":400},"meta",[365,513,385],{"class":371},[365,515,388],{"class":371},[365,517,518],{"class":371}," {",[365,520,439],{"class":371},[365,522,523],{"class":431},"content_hash",[365,525,385],{"class":371},[365,527,388],{"class":371},[365,529,439],{"class":371},[365,531,532],{"class":442},"sha256-…",[365,534,385],{"class":371},[365,536,537],{"class":371},",",[365,539,439],{"class":371},[365,541,291],{"class":431},[365,543,385],{"class":371},[365,545,388],{"class":371},[365,547,439],{"class":371},[365,549,550],{"class":442},"ai@2026-04-16-beta",[365,552,385],{"class":371},[365,554,555],{"class":371}," }\n",[365,557,559],{"class":367,"line":558},11,[365,560,561],{"class":371},"  },\n",[365,563,565,567,570,572,574],{"class":367,"line":564},12,[365,566,378],{"class":371},[365,568,569],{"class":381},"content",[365,571,385],{"class":371},[365,573,388],{"class":371},[365,575,576],{"class":371}," [\n",[365,578,580],{"class":367,"line":579},13,[365,581,582],{"class":371},"    {\n",[365,584,586,588,591,593,595,597,600,602],{"class":367,"line":585},14,[365,587,428],{"class":371},[365,589,590],{"class":400},"type",[365,592,385],{"class":371},[365,594,388],{"class":371},[365,596,439],{"class":371},[365,598,599],{"class":442},"text",[365,601,385],{"class":371},[365,603,448],{"class":371},[365,605,607,609,611,613,615,617,620,624,627],{"class":367,"line":606},15,[365,608,428],{"class":371},[365,610,599],{"class":400},[365,612,385],{"class":371},[365,614,388],{"class":371},[365,616,439],{"class":371},[365,618,619],{"class":442},"Rendered DTPR datachain with 4 categories and 7 total elements. UI available at ui://dtpr/datachain/view.html.",[365,621,623],{"class":622},"sTEyZ","\\n",[365,625,626],{"class":442},"- Purpose (2 elements): …",[365,628,629],{"class":371},"\"\n",[365,631,633],{"class":367,"line":632},16,[365,634,635],{"class":371},"    }\n",[365,637,639],{"class":367,"line":638},17,[365,640,641],{"class":371},"  ],\n",[365,643,645,647,650,652,654],{"class":367,"line":644},18,[365,646,378],{"class":371},[365,648,649],{"class":381},"_meta",[365,651,385],{"class":371},[365,653,388],{"class":371},[365,655,391],{"class":371},[365,657,659,661,664,666,668],{"class":367,"line":658},19,[365,660,397],{"class":371},[365,662,663],{"class":400},"ui",[365,665,385],{"class":371},[365,667,388],{"class":371},[365,669,391],{"class":371},[365,671,673,675,678,680,682,684,686,688],{"class":367,"line":672},20,[365,674,428],{"class":371},[365,676,677],{"class":431},"resourceUri",[365,679,385],{"class":371},[365,681,388],{"class":371},[365,683,439],{"class":371},[365,685,443],{"class":442},[365,687,385],{"class":371},[365,689,448],{"class":371},[365,691,693,695,698,700,702,704,706,710,712,714,717,719,722,724,726,729],{"class":367,"line":692},21,[365,694,428],{"class":371},[365,696,697],{"class":431},"csp",[365,699,385],{"class":371},[365,701,388],{"class":371},[365,703,518],{"class":371},[365,705,439],{"class":371},[365,707,709],{"class":708},"swJcz","resourceDomains",[365,711,385],{"class":371},[365,713,388],{"class":371},[365,715,716],{"class":371}," [],",[365,718,439],{"class":371},[365,720,721],{"class":708},"connectDomains",[365,723,385],{"class":371},[365,725,388],{"class":371},[365,727,728],{"class":371}," []",[365,730,555],{"class":371},[365,732,734],{"class":367,"line":733},22,[365,735,635],{"class":371},[365,737,739],{"class":367,"line":738},23,[365,740,741],{"class":371},"  }\n",[365,743,745],{"class":367,"line":744},24,[365,746,747],{"class":371},"}\n",[230,749,750,752,753,755,756,762],{},[216,751,218],{}," is the MCP Apps pointer. Follow up with ",[216,754,222],{}," on the ",[248,757,758,759],{},"same ",[216,760,761],{},"mcp-session-id"," to fetch the HTML body.",[225,764,766],{"id":765},"output-semantic-failure-soft-failure","Output — semantic failure (soft-failure)",[356,768,770],{"className":358,"code":769,"language":360,"meta":361,"style":361},"{\n  \"ok\": false,\n  \"errors\": [\n    {\n      \"code\": \"element_required\",\n      \"message\": \"Category 'purpose' requires at least one element.\",\n      \"path\": \"elements\",\n      \"fix_hint\": \"Add an element with category_id='purpose'.\"\n    }\n  ],\n  \"meta\": { \"content_hash\": \"sha256-…\", \"version\": \"ai@2026-04-16-beta\", \"warnings\": [] }\n}\n",[216,771,772,776,789,802,806,825,845,865,883,887,891,947],{"__ignoreMap":361},[365,773,774],{"class":367,"line":368},[365,775,372],{"class":371},[365,777,778,780,782,784,786],{"class":367,"line":375},[365,779,378],{"class":371},[365,781,401],{"class":381},[365,783,385],{"class":371},[365,785,388],{"class":371},[365,787,788],{"class":371}," false,\n",[365,790,791,793,796,798,800],{"class":367,"line":394},[365,792,378],{"class":371},[365,794,795],{"class":381},"errors",[365,797,385],{"class":371},[365,799,388],{"class":371},[365,801,576],{"class":371},[365,803,804],{"class":367,"line":411},[365,805,582],{"class":371},[365,807,808,810,812,814,816,818,821,823],{"class":367,"line":425},[365,809,428],{"class":371},[365,811,216],{"class":400},[365,813,385],{"class":371},[365,815,388],{"class":371},[365,817,439],{"class":371},[365,819,820],{"class":442},"element_required",[365,822,385],{"class":371},[365,824,448],{"class":371},[365,826,827,829,832,834,836,838,841,843],{"class":367,"line":451},[365,828,428],{"class":371},[365,830,831],{"class":400},"message",[365,833,385],{"class":371},[365,835,388],{"class":371},[365,837,439],{"class":371},[365,839,840],{"class":442},"Category 'purpose' requires at least one element.",[365,842,385],{"class":371},[365,844,448],{"class":371},[365,846,847,849,852,854,856,858,861,863],{"class":367,"line":468},[365,848,428],{"class":371},[365,850,851],{"class":400},"path",[365,853,385],{"class":371},[365,855,388],{"class":371},[365,857,439],{"class":371},[365,859,860],{"class":442},"elements",[365,862,385],{"class":371},[365,864,448],{"class":371},[365,866,867,869,872,874,876,878,881],{"class":367,"line":485},[365,868,428],{"class":371},[365,870,871],{"class":400},"fix_hint",[365,873,385],{"class":371},[365,875,388],{"class":371},[365,877,439],{"class":371},[365,879,880],{"class":442},"Add an element with category_id='purpose'.",[365,882,629],{"class":371},[365,884,885],{"class":367,"line":500},[365,886,635],{"class":371},[365,888,889],{"class":367,"line":506},[365,890,641],{"class":371},[365,892,893,895,897,899,901,903,905,907,909,911,913,915,917,919,921,923,925,927,929,931,933,935,937,939,941,943,945],{"class":367,"line":558},[365,894,378],{"class":371},[365,896,511],{"class":381},[365,898,385],{"class":371},[365,900,388],{"class":371},[365,902,518],{"class":371},[365,904,439],{"class":371},[365,906,523],{"class":400},[365,908,385],{"class":371},[365,910,388],{"class":371},[365,912,439],{"class":371},[365,914,532],{"class":442},[365,916,385],{"class":371},[365,918,537],{"class":371},[365,920,439],{"class":371},[365,922,291],{"class":400},[365,924,385],{"class":371},[365,926,388],{"class":371},[365,928,439],{"class":371},[365,930,550],{"class":442},[365,932,385],{"class":371},[365,934,537],{"class":371},[365,936,439],{"class":371},[365,938,490],{"class":400},[365,940,385],{"class":371},[365,942,388],{"class":371},[365,944,728],{"class":371},[365,946,555],{"class":371},[365,948,949],{"class":367,"line":564},[365,950,747],{"class":371},[230,952,953],{},"No HTML is written when validation fails — the previous session's document (if any) remains untouched.",[225,955,121],{"id":795},[257,957,958,971],{},[260,959,960],{},[263,961,962,965,968],{},[266,963,964],{},"Code",[266,966,967],{},"Meaning",[266,969,970],{},"Fix",[282,972,973,991,1007,1022],{},[263,974,975,980,988],{},[287,976,977],{},[216,978,979],{},"invalid_arguments",[287,981,982,984,985,987],{},[216,983,291],{}," missing or ",[216,986,335],{}," invalid.",[287,989,990],{},"Fix the call.",[263,992,993,998,1001],{},[287,994,995],{},[216,996,997],{},"parse_error",[287,999,1000],{},"Datachain shape is malformed.",[287,1002,1003,1004,309],{},"Follow ",[216,1005,1006],{},"errors[].path",[263,1008,1009,1014,1017],{},[287,1010,1011],{},[216,1012,1013],{},"unknown_version",[287,1015,1016],{},"Version is not registered.",[287,1018,1019,1020,309],{},"Call ",[216,1021,47],{},[263,1023,1024,1027,1030],{},[287,1025,1026],{},"Semantic validator codes",[287,1028,1029],{},"Instance is shape-valid but semantically wrong.",[287,1031,1003,1032,309],{},[216,1033,871],{},[225,1035,1037],{"id":1036},"the-two-call-sequence","The two-call sequence",[356,1039,1043],{"className":1040,"code":1042,"language":599},[1041],"language-text","  ┌─ tools/call render_datachain ──┐         slot(session) ← HTML\n  │   mcp-session-id: S            │────────►┌──────────┐\n  │                                │         │ htmlSlots│\n  │                                ◄─────────│  per S   │\n  └────────────────────────────────┘         └──────────┘\n                                                   ▲\n  ┌─ resources/read ui://…────────┐                │\n  │   mcp-session-id: S           │────────────────┘\n  │                               ◄── text/html;profile=mcp-app\n  └───────────────────────────────┘\n",[216,1044,1042],{"__ignoreMap":361},[230,1046,1047,1048,1050,1051,1053,1054,1056,1057,309],{},"The ",[216,1049,761],{}," header must match on both calls. See ",[208,1052,37],{"href":38}," for what ",[216,1055,222],{}," returns when called before any ",[216,1058,75],{},[225,1060,1062],{"id":1061},"example","Example",[1064,1065,1066,1448],"code-group",{},[356,1067,1072],{"className":1068,"code":1069,"filename":1070,"language":1071,"meta":361,"style":361},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","SID=$(uuidgen)\n\n# render\ncurl -s https://api.dtpr.io/mcp \\\n  -H 'content-type: application/json' \\\n  -H \"mcp-session-id: $SID\" \\\n  --data \"{\n    \\\"jsonrpc\\\":\\\"2.0\\\",\\\"id\\\":1,\n    \\\"method\\\":\\\"tools/call\\\",\n    \\\"params\\\":{\n      \\\"name\\\":\\\"render_datachain\\\",\n      \\\"arguments\\\":{\n        \\\"version\\\":\\\"ai@2026-04-16-beta\\\",\n        \\\"datachain\\\":{\n          \\\"schema_version\\\":\\\"ai@2026-04-16-beta\\\",\n          \\\"elements\\\":[{\\\"element_id\\\":\\\"purpose.example\\\",\\\"category_id\\\":\\\"purpose\\\"}]\n        }\n      }\n    }\n  }\"\n\n# fetch rendered HTML\ncurl -s https://api.dtpr.io/mcp \\\n  -H 'content-type: application/json' \\\n  -H \"mcp-session-id: $SID\" \\\n  --data '{\n    \"jsonrpc\":\"2.0\",\"id\":2,\n    \"method\":\"resources/read\",\n    \"params\":{\"uri\":\"ui://dtpr/datachain/view.html\"}\n  }'\n","curl","bash",[216,1073,1074,1088,1094,1100,1113,1129,1145,1154,1186,1206,1218,1238,1249,1268,1278,1298,1346,1351,1356,1360,1367,1371,1376,1386,1398,1413,1422,1428,1434,1440],{"__ignoreMap":361},[365,1075,1076,1079,1082,1085],{"class":367,"line":368},[365,1077,1078],{"class":622},"SID",[365,1080,1081],{"class":371},"=$(",[365,1083,1084],{"class":400},"uuidgen",[365,1086,1087],{"class":371},")\n",[365,1089,1090],{"class":367,"line":375},[365,1091,1093],{"emptyLinePlaceholder":1092},true,"\n",[365,1095,1096],{"class":367,"line":394},[365,1097,1099],{"class":1098},"sHwdD","# render\n",[365,1101,1102,1104,1107,1110],{"class":367,"line":411},[365,1103,1070],{"class":400},[365,1105,1106],{"class":442}," -s",[365,1108,1109],{"class":442}," https://api.dtpr.io/mcp",[365,1111,1112],{"class":622}," \\\n",[365,1114,1115,1118,1121,1124,1127],{"class":367,"line":425},[365,1116,1117],{"class":442},"  -H",[365,1119,1120],{"class":371}," '",[365,1122,1123],{"class":442},"content-type: application/json",[365,1125,1126],{"class":371},"'",[365,1128,1112],{"class":622},[365,1130,1131,1133,1135,1138,1141,1143],{"class":367,"line":451},[365,1132,1117],{"class":442},[365,1134,439],{"class":371},[365,1136,1137],{"class":442},"mcp-session-id: ",[365,1139,1140],{"class":622},"$SID",[365,1142,385],{"class":371},[365,1144,1112],{"class":622},[365,1146,1147,1150,1152],{"class":367,"line":468},[365,1148,1149],{"class":442},"  --data",[365,1151,439],{"class":371},[365,1153,372],{"class":442},[365,1155,1156,1159,1162,1165,1167,1169,1172,1174,1176,1178,1181,1183],{"class":367,"line":485},[365,1157,1158],{"class":622},"    \\\"",[365,1160,1161],{"class":442},"jsonrpc",[365,1163,1164],{"class":622},"\\\"",[365,1166,388],{"class":442},[365,1168,1164],{"class":622},[365,1170,1171],{"class":442},"2.0",[365,1173,1164],{"class":622},[365,1175,537],{"class":442},[365,1177,1164],{"class":622},[365,1179,1180],{"class":442},"id",[365,1182,1164],{"class":622},[365,1184,1185],{"class":442},":1,\n",[365,1187,1188,1190,1193,1195,1197,1199,1202,1204],{"class":367,"line":500},[365,1189,1158],{"class":622},[365,1191,1192],{"class":442},"method",[365,1194,1164],{"class":622},[365,1196,388],{"class":442},[365,1198,1164],{"class":622},[365,1200,1201],{"class":442},"tools/call",[365,1203,1164],{"class":622},[365,1205,448],{"class":442},[365,1207,1208,1210,1213,1215],{"class":367,"line":506},[365,1209,1158],{"class":622},[365,1211,1212],{"class":442},"params",[365,1214,1164],{"class":622},[365,1216,1217],{"class":442},":{\n",[365,1219,1220,1223,1226,1228,1230,1232,1234,1236],{"class":367,"line":558},[365,1221,1222],{"class":622},"      \\\"",[365,1224,1225],{"class":442},"name",[365,1227,1164],{"class":622},[365,1229,388],{"class":442},[365,1231,1164],{"class":622},[365,1233,75],{"class":442},[365,1235,1164],{"class":622},[365,1237,448],{"class":442},[365,1239,1240,1242,1245,1247],{"class":367,"line":564},[365,1241,1222],{"class":622},[365,1243,1244],{"class":442},"arguments",[365,1246,1164],{"class":622},[365,1248,1217],{"class":442},[365,1250,1251,1254,1256,1258,1260,1262,1264,1266],{"class":367,"line":579},[365,1252,1253],{"class":622},"        \\\"",[365,1255,291],{"class":442},[365,1257,1164],{"class":622},[365,1259,388],{"class":442},[365,1261,1164],{"class":622},[365,1263,550],{"class":442},[365,1265,1164],{"class":622},[365,1267,448],{"class":442},[365,1269,1270,1272,1274,1276],{"class":367,"line":585},[365,1271,1253],{"class":622},[365,1273,316],{"class":442},[365,1275,1164],{"class":622},[365,1277,1217],{"class":442},[365,1279,1280,1283,1286,1288,1290,1292,1294,1296],{"class":367,"line":606},[365,1281,1282],{"class":622},"          \\\"",[365,1284,1285],{"class":442},"schema_version",[365,1287,1164],{"class":622},[365,1289,388],{"class":442},[365,1291,1164],{"class":622},[365,1293,550],{"class":442},[365,1295,1164],{"class":622},[365,1297,448],{"class":442},[365,1299,1300,1302,1304,1306,1309,1311,1314,1316,1318,1320,1323,1325,1327,1329,1332,1334,1336,1338,1341,1343],{"class":367,"line":632},[365,1301,1282],{"class":622},[365,1303,860],{"class":442},[365,1305,1164],{"class":622},[365,1307,1308],{"class":442},":[{",[365,1310,1164],{"class":622},[365,1312,1313],{"class":442},"element_id",[365,1315,1164],{"class":622},[365,1317,388],{"class":442},[365,1319,1164],{"class":622},[365,1321,1322],{"class":442},"purpose.example",[365,1324,1164],{"class":622},[365,1326,537],{"class":442},[365,1328,1164],{"class":622},[365,1330,1331],{"class":442},"category_id",[365,1333,1164],{"class":622},[365,1335,388],{"class":442},[365,1337,1164],{"class":622},[365,1339,1340],{"class":442},"purpose",[365,1342,1164],{"class":622},[365,1344,1345],{"class":442},"}]\n",[365,1347,1348],{"class":367,"line":638},[365,1349,1350],{"class":442},"        }\n",[365,1352,1353],{"class":367,"line":644},[365,1354,1355],{"class":442},"      }\n",[365,1357,1358],{"class":367,"line":658},[365,1359,635],{"class":442},[365,1361,1362,1365],{"class":367,"line":672},[365,1363,1364],{"class":442},"  }",[365,1366,629],{"class":371},[365,1368,1369],{"class":367,"line":692},[365,1370,1093],{"emptyLinePlaceholder":1092},[365,1372,1373],{"class":367,"line":733},[365,1374,1375],{"class":1098},"# fetch rendered HTML\n",[365,1377,1378,1380,1382,1384],{"class":367,"line":738},[365,1379,1070],{"class":400},[365,1381,1106],{"class":442},[365,1383,1109],{"class":442},[365,1385,1112],{"class":622},[365,1387,1388,1390,1392,1394,1396],{"class":367,"line":744},[365,1389,1117],{"class":442},[365,1391,1120],{"class":371},[365,1393,1123],{"class":442},[365,1395,1126],{"class":371},[365,1397,1112],{"class":622},[365,1399,1401,1403,1405,1407,1409,1411],{"class":367,"line":1400},25,[365,1402,1117],{"class":442},[365,1404,439],{"class":371},[365,1406,1137],{"class":442},[365,1408,1140],{"class":622},[365,1410,385],{"class":371},[365,1412,1112],{"class":622},[365,1414,1416,1418,1420],{"class":367,"line":1415},26,[365,1417,1149],{"class":442},[365,1419,1120],{"class":371},[365,1421,372],{"class":442},[365,1423,1425],{"class":367,"line":1424},27,[365,1426,1427],{"class":442},"    \"jsonrpc\":\"2.0\",\"id\":2,\n",[365,1429,1431],{"class":367,"line":1430},28,[365,1432,1433],{"class":442},"    \"method\":\"resources/read\",\n",[365,1435,1437],{"class":367,"line":1436},29,[365,1438,1439],{"class":442},"    \"params\":{\"uri\":\"ui://dtpr/datachain/view.html\"}\n",[365,1441,1443,1445],{"class":367,"line":1442},30,[365,1444,1364],{"class":442},[365,1446,1447],{"class":371},"'\n",[356,1449,1451],{"className":358,"code":1450,"filename":1201,"language":360,"meta":361,"style":361},"{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"render_datachain\",\n    \"arguments\": {\n      \"version\": \"ai@2026-04-16-beta\",\n      \"datachain\": { \"schema_version\": \"ai@2026-04-16-beta\", \"elements\": [] },\n      \"locale\": \"en\"\n    }\n  }\n}\n",[216,1452,1453,1457,1475,1490,1508,1520,1538,1550,1568,1609,1626,1630,1634],{"__ignoreMap":361},[365,1454,1455],{"class":367,"line":368},[365,1456,372],{"class":371},[365,1458,1459,1461,1463,1465,1467,1469,1471,1473],{"class":367,"line":375},[365,1460,378],{"class":371},[365,1462,1161],{"class":381},[365,1464,385],{"class":371},[365,1466,388],{"class":371},[365,1468,439],{"class":371},[365,1470,1171],{"class":442},[365,1472,385],{"class":371},[365,1474,448],{"class":371},[365,1476,1477,1479,1481,1483,1485,1488],{"class":367,"line":394},[365,1478,378],{"class":371},[365,1480,1180],{"class":381},[365,1482,385],{"class":371},[365,1484,388],{"class":371},[365,1486,1487],{"class":431}," 1",[365,1489,448],{"class":371},[365,1491,1492,1494,1496,1498,1500,1502,1504,1506],{"class":367,"line":411},[365,1493,378],{"class":371},[365,1495,1192],{"class":381},[365,1497,385],{"class":371},[365,1499,388],{"class":371},[365,1501,439],{"class":371},[365,1503,1201],{"class":442},[365,1505,385],{"class":371},[365,1507,448],{"class":371},[365,1509,1510,1512,1514,1516,1518],{"class":367,"line":425},[365,1511,378],{"class":371},[365,1513,1212],{"class":381},[365,1515,385],{"class":371},[365,1517,388],{"class":371},[365,1519,391],{"class":371},[365,1521,1522,1524,1526,1528,1530,1532,1534,1536],{"class":367,"line":451},[365,1523,397],{"class":371},[365,1525,1225],{"class":400},[365,1527,385],{"class":371},[365,1529,388],{"class":371},[365,1531,439],{"class":371},[365,1533,75],{"class":442},[365,1535,385],{"class":371},[365,1537,448],{"class":371},[365,1539,1540,1542,1544,1546,1548],{"class":367,"line":468},[365,1541,397],{"class":371},[365,1543,1244],{"class":400},[365,1545,385],{"class":371},[365,1547,388],{"class":371},[365,1549,391],{"class":371},[365,1551,1552,1554,1556,1558,1560,1562,1564,1566],{"class":367,"line":485},[365,1553,428],{"class":371},[365,1555,291],{"class":431},[365,1557,385],{"class":371},[365,1559,388],{"class":371},[365,1561,439],{"class":371},[365,1563,550],{"class":442},[365,1565,385],{"class":371},[365,1567,448],{"class":371},[365,1569,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606],{"class":367,"line":500},[365,1571,428],{"class":371},[365,1573,316],{"class":431},[365,1575,385],{"class":371},[365,1577,388],{"class":371},[365,1579,518],{"class":371},[365,1581,439],{"class":371},[365,1583,1285],{"class":708},[365,1585,385],{"class":371},[365,1587,388],{"class":371},[365,1589,439],{"class":371},[365,1591,550],{"class":442},[365,1593,385],{"class":371},[365,1595,537],{"class":371},[365,1597,439],{"class":371},[365,1599,860],{"class":708},[365,1601,385],{"class":371},[365,1603,388],{"class":371},[365,1605,728],{"class":371},[365,1607,1608],{"class":371}," },\n",[365,1610,1611,1613,1615,1617,1619,1621,1624],{"class":367,"line":506},[365,1612,428],{"class":371},[365,1614,335],{"class":431},[365,1616,385],{"class":371},[365,1618,388],{"class":371},[365,1620,439],{"class":371},[365,1622,1623],{"class":442},"en",[365,1625,629],{"class":371},[365,1627,1628],{"class":367,"line":558},[365,1629,635],{"class":371},[365,1631,1632],{"class":367,"line":564},[365,1633,741],{"class":371},[365,1635,1636],{"class":367,"line":579},[365,1637,747],{"class":371},[225,1639,1641],{"id":1640},"see-also","See also",[1643,1644,1645,1651,1658],"ul",{},[1646,1647,1648,1650],"li",{},[208,1649,37],{"href":38}," — session-scoped HTML slot.",[1646,1652,1653,1657],{},[208,1654,1655],{"href":162},[216,1656,161],{}," — the SSR renderer producing the HTML.",[1646,1659,1660,1664],{},[208,1661,1662],{"href":72},[216,1663,71],{}," — same validation, no rendering.",[1666,1667,1668],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":361,"searchDepth":375,"depth":375,"links":1670},[1671,1672,1673,1674,1675,1676,1677,1678],{"id":227,"depth":375,"text":228},{"id":254,"depth":375,"text":255},{"id":353,"depth":375,"text":354},{"id":765,"depth":375,"text":766},{"id":795,"depth":375,"text":121},{"id":1036,"depth":375,"text":1037},{"id":1061,"depth":375,"text":1062},{"id":1640,"depth":375,"text":1641},"Render a datachain instance as an MCP App HTML document served via resources/read.","md",null,{},{"title":75,"description":1679},"ut1jMhNETtf1TaetdMv8oHnATeGg247lFhrYh0VeZ8g",[1686,1688],{"title":71,"path":72,"stem":73,"description":1687,"children":-1},"Validate a datachain instance against a schema version — always isError:false.",{"title":79,"path":80,"stem":81,"description":1689,"children":-1},"Resolve a composed-icon URL for an element + optional variant.",1776525924967]