[{"data":1,"prerenderedAt":775},["ShallowReactive",2],{"navigation_docs_en":3,"dtpr-schemas-index":287,"-en-changelog":295,"-en-changelog-surround":772},[4,22,26,30,102,152,174,196,226,278,283],{"title":5,"path":6,"stem":7,"children":8},"Getting started","/en/getting-started","en/1.getting-started/0.index",[9,10,14,18],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"MCP quickstart","/en/getting-started/mcp-quickstart","en/1.getting-started/1.mcp-quickstart",{"title":15,"path":16,"stem":17},"REST quickstart","/en/getting-started/rest-quickstart","en/1.getting-started/2.rest-quickstart",{"title":19,"path":20,"stem":21},"UI quickstart","/en/getting-started/ui-quickstart","en/1.getting-started/3.ui-quickstart",{"title":23,"path":24,"stem":25},"Attribution","/en/attribution","en/10.attribution",{"title":27,"path":28,"stem":29},"Cite DTPR for AI","/en/cite","en/11.cite",{"title":31,"path":32,"stem":33,"children":34},"MCP server","/en/mcp","en/2.mcp/0.index",[35,36,40,44,48,98],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39},"Connecting","/en/mcp/connection","en/2.mcp/1.connection",{"title":41,"path":42,"stem":43},"Envelope","/en/mcp/envelope","en/2.mcp/2.envelope",{"title":45,"path":46,"stem":47},"Resources","/en/mcp/resources","en/2.mcp/3.resources",{"title":49,"path":50,"stem":51,"children":52},"Tools","/en/mcp/tools","en/2.mcp/4.tools/0.index",[53,54,58,62,66,70,74,78,82,86,90,94],{"title":49,"path":50,"stem":51},{"title":55,"path":56,"stem":57},"list_schema_versions","/en/mcp/tools/list-schema-versions","en/2.mcp/4.tools/1.list-schema-versions",{"title":59,"path":60,"stem":61},"MCP tool: resolve_datachain","/en/mcp/tools/resolve-datachain","en/2.mcp/4.tools/10.resolve-datachain",{"title":63,"path":64,"stem":65},"MCP tool: validate_resolved","/en/mcp/tools/validate-resolved","en/2.mcp/4.tools/11.validate-resolved",{"title":67,"path":68,"stem":69},"get_schema","/en/mcp/tools/get-schema","en/2.mcp/4.tools/2.get-schema",{"title":71,"path":72,"stem":73},"list_categories","/en/mcp/tools/list-categories","en/2.mcp/4.tools/3.list-categories",{"title":75,"path":76,"stem":77},"list_elements","/en/mcp/tools/list-elements","en/2.mcp/4.tools/4.list-elements",{"title":79,"path":80,"stem":81},"get_element","/en/mcp/tools/get-element","en/2.mcp/4.tools/5.get-element",{"title":83,"path":84,"stem":85},"get_elements","/en/mcp/tools/get-elements","en/2.mcp/4.tools/6.get-elements",{"title":87,"path":88,"stem":89},"validate_datachain","/en/mcp/tools/validate-datachain","en/2.mcp/4.tools/7.validate-datachain",{"title":91,"path":92,"stem":93},"render_datachain","/en/mcp/tools/render-datachain","en/2.mcp/4.tools/8.render-datachain",{"title":95,"path":96,"stem":97},"get_icon_url","/en/mcp/tools/get-icon-url","en/2.mcp/4.tools/9.get-icon-url",{"title":99,"path":100,"stem":101},"Prompts","/en/mcp/prompts","en/2.mcp/5.prompts",{"title":103,"path":104,"stem":105,"children":106},"REST API (v2)","/en/rest","en/3.rest/0.index",[107,108,112,116,120,124,128,132,136,140,144,148],{"title":103,"path":104,"stem":105},{"title":109,"path":110,"stem":111},"GET /schemas","/en/rest/schemas","en/3.rest/1.schemas",{"title":113,"path":114,"stem":115},"POST /schemas/:version/resolve","/en/rest/resolve","en/3.rest/10.resolve",{"title":117,"path":118,"stem":119},"POST /schemas/:version/validate_resolved","/en/rest/validate-resolved","en/3.rest/11.validate-resolved",{"title":121,"path":122,"stem":123},"GET /schemas/:version/manifest","/en/rest/manifest","en/3.rest/2.manifest",{"title":125,"path":126,"stem":127},"GET /schemas/:version/categories","/en/rest/categories","en/3.rest/3.categories",{"title":129,"path":130,"stem":131},"GET /schemas/:version/elements","/en/rest/elements-list","en/3.rest/4.elements-list",{"title":133,"path":134,"stem":135},"GET /schemas/:version/elements/:element_id","/en/rest/element-detail","en/3.rest/5.element-detail",{"title":137,"path":138,"stem":139},"POST /schemas/:version/validate","/en/rest/validate","en/3.rest/6.validate",{"title":141,"path":142,"stem":143},"Icon routes","/en/rest/icons","en/3.rest/7.icons",{"title":145,"path":146,"stem":147},"Pagination & fields","/en/rest/pagination-and-fields","en/3.rest/8.pagination-and-fields",{"title":149,"path":150,"stem":151},"Errors","/en/rest/errors","en/3.rest/9.errors",{"title":153,"path":154,"stem":155,"children":156},"Icon composition","/en/icons","en/4.icons/0.index",[157,158,162,166,170],{"title":153,"path":154,"stem":155},{"title":159,"path":160,"stem":161},"Shapes","/en/icons/shapes","en/4.icons/1.shapes",{"title":163,"path":164,"stem":165},"Symbols","/en/icons/symbols","en/4.icons/2.symbols",{"title":167,"path":168,"stem":169},"Composed variants","/en/icons/composed-variants","en/4.icons/3.composed-variants",{"title":171,"path":172,"stem":173},"URLs","/en/icons/urls","en/4.icons/4.urls",{"title":175,"path":176,"stem":177,"children":178},"@dtpr/ui","/en/ui","en/5.ui/0.index",[179,180,184,188,192],{"title":175,"path":176,"stem":177},{"title":181,"path":182,"stem":183},"@dtpr/ui/core","/en/ui/core","en/5.ui/1.core",{"title":185,"path":186,"stem":187},"@dtpr/ui/vue","/en/ui/vue","en/5.ui/2.vue",{"title":189,"path":190,"stem":191},"@dtpr/ui/html","/en/ui/html","en/5.ui/3.html",{"title":193,"path":194,"stem":195},"Theming","/en/ui/theming","en/5.ui/4.theming",{"title":197,"path":198,"stem":199,"children":200},"Concepts","/en/concepts","en/6.concepts/0.index",[201,202,206,210,214,218,222],{"title":197,"path":198,"stem":199},{"title":203,"path":204,"stem":205},"Datachains","/en/concepts/datachains","en/6.concepts/1.datachains",{"title":207,"path":208,"stem":209},"Elements & categories","/en/concepts/elements-categories","en/6.concepts/2.elements-categories",{"title":211,"path":212,"stem":213},"Versions & releases","/en/concepts/versions-and-releases","en/6.concepts/3.versions-and-releases",{"title":215,"path":216,"stem":217},"Content hash","/en/concepts/content-hash","en/6.concepts/4.content-hash",{"title":219,"path":220,"stem":221},"Shape contract","/en/concepts/shape-contract","en/6.concepts/5.shape-contract",{"title":223,"path":224,"stem":225},"Subchains","/en/concepts/subchains","en/6.concepts/6.subchains",{"title":227,"path":228,"stem":229,"children":230},"Claude plugin","/en/plugin","en/7.plugin/0.index",[231,232,236,270,274],{"title":227,"path":228,"stem":229},{"title":233,"path":234,"stem":235},"Install","/en/plugin/install","en/7.plugin/1.install",{"title":237,"path":238,"stem":239,"children":240},"Skills","/en/plugin/skills","en/7.plugin/2.skills/0.index",[241,242,246,250,254,258,262,266],{"title":237,"path":238,"stem":239},{"title":243,"path":244,"stem":245},"dtpr-describe-system","/en/plugin/skills/describe-system","en/7.plugin/2.skills/1.describe-system",{"title":247,"path":248,"stem":249},"dtpr-datachain-structure","/en/plugin/skills/datachain-structure","en/7.plugin/2.skills/2.datachain-structure",{"title":251,"path":252,"stem":253},"dtpr-category-audit","/en/plugin/skills/category-audit","en/7.plugin/2.skills/3.category-audit",{"title":255,"path":256,"stem":257},"dtpr-element-design","/en/plugin/skills/element-design","en/7.plugin/2.skills/4.element-design",{"title":259,"path":260,"stem":261},"dtpr-symbol-design","/en/plugin/skills/symbol-design","en/7.plugin/2.skills/5.symbol-design",{"title":263,"path":264,"stem":265},"dtpr-translate","/en/plugin/skills/translate","en/7.plugin/2.skills/6.translate",{"title":267,"path":268,"stem":269},"dtpr-comprehension-audit","/en/plugin/skills/comprehension-audit","en/7.plugin/2.skills/7.comprehension-audit",{"title":271,"path":272,"stem":273},"Research corpus","/en/plugin/research-corpus","en/7.plugin/3.research-corpus",{"title":275,"path":276,"stem":277},"Comprehension rubric","/en/plugin/comprehension-rubric","en/7.plugin/4.comprehension-rubric",{"title":49,"path":279,"stem":280,"children":281},"/en/tools","en/8.tools/0.index",[282],{"title":49,"path":279,"stem":280},{"title":284,"path":285,"stem":286},"Changelog","/en/changelog","en/9.changelog",{"ok":288,"versions":289},true,[290],{"id":291,"status":292,"created_at":293,"content_hash":294},"ai@2026-05-06-beta","beta","2026-05-06T20:23:42.963Z","sha256-2d208111b0c597ff2b38cb1c24168799b0a5ff9290203ebf46c4f7c16a0fcb24",{"id":296,"title":284,"body":297,"description":766,"extension":767,"links":768,"meta":769,"navigation":288,"path":285,"seo":770,"stem":286,"__hash__":771},"docs_en/en/9.changelog.md",{"type":298,"value":299,"toc":745},"minimark",[300,312,317,322,380,384,414,418,422,471,475,491,495,498,556,559,628,632,669,673,712,716,729,733],[301,302,303,304,311],"p",{},"Most recent first. Grouped by surface. See the ",[305,306,310],"a",{"href":307,"rel":308},"https://github.com/helpful-places/dtpr",[309],"nofollow","repository"," for the full commit history.",[313,314,316],"h2",{"id":315},"_2026-05-07","2026-05-07",[318,319,321],"h3",{"id":320},"mcp","MCP",[323,324,325],"ul",{},[326,327,328,336,337,340,341,344,345,348,349],"li",{},[329,330,331,335],"strong",{},[332,333,334],"code",{},"prompts/"," capability — Agent Skills served over MCP."," The MCP server now registers each of the seven DTPR Agent Skills (and the two shared reference documents) as named MCP prompts. Any MCP-aware client (Cursor, Continue, Cline, Claude Desktop, the Anthropic Agent SDK, custom clients) can list and load them via ",[332,338,339],{},"prompts/list"," + ",[332,342,343],{},"prompts/get"," without a Claude-specific install. Bundled at build time from ",[332,346,347],{},"plugin/dtpr/skills/"," — single source of truth shared with the Claude plugin install path.\n",[323,350,351,362,369],{},[326,352,353,354,357,358,361],{},"New CLI: ",[332,355,356],{},"pnpm --filter ./api bundle:skills"," regenerates ",[332,359,360],{},"api/src/mcp/prompts/skills.generated.ts",".",[326,363,364,365,368],{},"Drift detection: ",[332,366,367],{},"pnpm test:plugin"," fails if a skill or reference exists in the plugin tree but not in the API bundle (or vice versa).",[326,370,371,372,375,376,361],{},"References: ",[305,373,99],{"href":374},"/mcp/prompts",", ",[305,377,379],{"href":378},"/plugin#other-harnesses","Other harnesses",[318,381,383],{"id":382},"plugin","Plugin",[323,385,386],{},[326,387,388,391,392,394,395,397,398,400,401,375,404,375,409,361],{},[329,389,390],{},"Plugin v0.3.0 — symbol-design split + seven-skill studio."," Symbol drafting moves out of ",[332,393,255],{}," into a dedicated ",[332,396,259],{}," skill that proposes three SVG variants per round with a local HTML preview. The plugin docs also pick up the previously-undocumented ",[332,399,263],{}," skill from 0.2.1, so the public skill table now lists all seven peers. References: ",[305,402,237],{"href":403},"/plugin/skills",[305,405,407],{"href":406},"/plugin/skills/symbol-design",[332,408,259],{},[305,410,412],{"href":411},"/plugin/skills/translate",[332,413,263],{},[313,415,417],{"id":416},"_2026-04-18","2026-04-18",[318,419,421],{"id":420},"icons","Icons",[323,423,424],{},[326,425,426,429,430,435,436,439,440,443,444,447,448,375,451,375,454,457,458,463,464,375,467,361],{},[329,427,428],{},"Icon composition pipeline"," (",[305,431,434],{"href":432,"rel":433},"https://github.com/helpful-places/dtpr/pull/270",[309],"#270",")\nShape × symbol × variant composition with ",[332,437,438],{},"default"," / ",[332,441,442],{},"dark"," / context-colored variants and the WCAG ",[332,445,446],{},"innerColor"," rule. Adds pre-baked R2 point-read with on-the-fly fallback.\nNew REST routes: ",[332,449,450],{},"GET /api/v2/shapes/:shape.svg",[332,452,453],{},"GET /api/v2/schemas/:version/symbols/:symbol_id.svg",[332,455,456],{},"GET /api/v2/schemas/:version/elements/:element_id/icon[.\u003Cvariant>].svg",".\nNew MCP tool: ",[305,459,461],{"href":460},"/mcp/tools/get-icon-url",[332,462,95],{},".\nReferences: ",[305,465,153],{"href":466},"/icons",[305,468,470],{"href":469},"/rest/icons","REST icon routes",[318,472,474],{"id":473},"site","Site",[323,476,477],{},[326,478,479,429,485,490],{},[329,480,481,484],{},[332,482,483],{},"dtpr.ai"," microsite placeholder",[305,486,489],{"href":487,"rel":488},"https://github.com/helpful-places/dtpr/pull/271",[309],"#271",")\nDocus + Nuxt 4 skeleton deployed on Cloudflare Workers with a D1 binding for content queries. Minimal landing; no documentation yet.",[313,492,494],{"id":493},"_2026-04-17","2026-04-17",[318,496,175],{"id":497},"dtprui",[323,499,500],{},[326,501,502,429,508,513,514,516,517,519,520,522,523,526,527,530,531,536,537,540,541,375,545,375,549,375,553,361],{},[329,503,504,505,507],{},"Component library + ",[332,506,91],{}," MCP tool",[305,509,512],{"href":510,"rel":511},"https://github.com/helpful-places/dtpr/pull/267",[309],"#267",")\nThree subpath exports: ",[332,515,181],{}," (10 framework-neutral helpers), ",[332,518,185],{}," (6 Vue 3 SFCs), ",[332,521,189],{}," (SSR via ",[332,524,525],{},"renderDatachainDocument","). Default stylesheet wraps everything in ",[332,528,529],{},"@layer dtpr"," and exposes a full CSS custom-property token set.\nNew MCP tool: ",[305,532,534],{"href":533},"/mcp/tools/render-datachain",[332,535,91],{},". New MCP resource: ",[332,538,539],{},"ui://dtpr/datachain/view.html"," (MCP Apps iframe handoff).\nReferences: ",[305,542,544],{"href":543},"/ui/vue","Vue reference",[305,546,548],{"href":547},"/ui/core","Core reference",[305,550,552],{"href":551},"/ui/html","HTML SSR",[305,554,193],{"href":555},"/ui/theming",[318,557,321],{"id":558},"mcp-1",[323,560,561],{},[326,562,563,429,566,571,572,375,575,375,578,375,581,375,584,375,587,375,590,593,594,439,597,600,601,439,604,607,608,375,610,375,612,375,614,375,616,375,618,375,620,463,622,375,625,361],{},[329,564,565],{},"Read path on Cloudflare Workers",[305,567,570],{"href":568,"rel":569},"https://github.com/helpful-places/dtpr/pull/265",[309],"#265",")\nHand-rolled JSON-RPC over HTTP handler (workerd nodejs_compat can't load the SDK's CJS Ajv dep). Supported methods: ",[332,573,574],{},"initialize",[332,576,577],{},"notifications/initialized",[332,579,580],{},"tools/list",[332,582,583],{},"tools/call",[332,585,586],{},"resources/list",[332,588,589],{},"resources/read",[332,591,592],{},"ping",". Shared ",[332,595,596],{},"ok",[332,598,599],{},"err"," envelope with ",[332,602,603],{},"_meta.content_hash",[332,605,606],{},"_meta.version",".\nInitial tools: ",[332,609,55],{},[332,611,67],{},[332,613,71],{},[332,615,75],{},[332,617,79],{},[332,619,83],{},[332,621,87],{},[305,623,37],{"href":624},"/mcp/connection",[305,626,41],{"href":627},"/mcp/envelope",[318,629,631],{"id":630},"rest-v2","REST v2",[323,633,634],{},[326,635,636,429,642,645,646,649,650,340,653,656,657,659,660,375,663,375,666,361],{},[329,637,638,641],{},[332,639,640],{},"api.dtpr.io/api/v2"," read path",[305,643,570],{"href":568,"rel":644},[309],")\nPublic, read-only JSON + SVG. Opaque cursor pagination (",[332,647,648],{},"MAX_LIMIT = 200","), field/locale projection, ",[332,651,652],{},"DTPR-Content-Hash",[332,654,655],{},"Cache-Control"," on version-scoped responses, static CORS allow-list. ",[332,658,137],{}," runs shape + semantic validation and always returns HTTP 200.\nReferences: ",[305,661,631],{"href":662},"/rest",[305,664,145],{"href":665},"/rest/pagination-and-fields",[305,667,149],{"href":668},"/rest/errors",[318,670,672],{"id":671},"api-infrastructure","API infrastructure",[323,674,675,690,701],{},[326,676,677,429,680,685,686,689],{},[329,678,679],{},"Standalone API scaffold + AI content migration",[305,681,684],{"href":682,"rel":683},"https://github.com/helpful-places/dtpr/pull/262",[309],"#262",")\nExtracts DTPR content from the v1 site into a standalone API workspace. Establishes the schema authoring flow and migrates the ",[332,687,688],{},"ai"," datachain type.",[326,691,692,429,695,700],{},[329,693,694],{},"CI: build @dtpr/ui + api/schema before typecheck",[305,696,699],{"href":697,"rel":698},"https://github.com/helpful-places/dtpr/pull/268",[309],"#268",")\nOrders deploy workflows so generated types land before typecheck runs.",[326,702,703,429,706,711],{},[329,704,705],{},"Drafting CLI + preview deploys + Claude Code plugin",[305,707,710],{"href":708,"rel":709},"https://github.com/helpful-places/dtpr/pull/266",[309],"#266",")",[318,713,715],{"id":714},"docsdtprio","docs.dtpr.io",[323,717,718],{},[326,719,720,429,723,728],{},[329,721,722],{},"Nuxt Studio with Google + GitHub OAuth",[305,724,727],{"href":725,"rel":726},"https://github.com/helpful-places/dtpr/pull/269",[309],"#269",")\nEnables in-browser authoring for the existing v1 docs.",[313,730,732],{"id":731},"source-of-truth","Source of truth",[301,734,735,736,740,741,744],{},"Every entry maps to a pull request on ",[305,737,739],{"href":307,"rel":738},[309],"github.com/helpful-places/dtpr",". Commit history on ",[332,742,743],{},"main"," is authoritative if this changelog falls behind.",{"title":746,"searchDepth":747,"depth":747,"links":748},"",2,[749,754,758,765],{"id":315,"depth":747,"text":316,"children":750},[751,753],{"id":320,"depth":752,"text":321},3,{"id":382,"depth":752,"text":383},{"id":416,"depth":747,"text":417,"children":755},[756,757],{"id":420,"depth":752,"text":421},{"id":473,"depth":752,"text":474},{"id":493,"depth":747,"text":494,"children":759},[760,761,762,763,764],{"id":497,"depth":752,"text":175},{"id":558,"depth":752,"text":321},{"id":630,"depth":752,"text":631},{"id":671,"depth":752,"text":672},{"id":714,"depth":752,"text":715},{"id":731,"depth":747,"text":732},"What landed when — MCP, REST v2, icons, @dtpr/ui, and this microsite.","md",null,{},{"title":284,"description":766},"ocDC1-tQ9iMrUzyAS2GddbjmjnbiCOeBvouwny16eIA",[773,768],{"title":49,"path":279,"stem":280,"description":774,"children":-1},"Standalone tools for working with DTPR for AI datachains.",1779049686948]