@pyric/cli 0.1.0-alpha.21 → 0.1.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/assurance/.generated/conformance-verdicts.d.ts +170 -0
  2. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
  3. package/dist/assurance/.generated/conformance-verdicts.js +170 -0
  4. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
  5. package/dist/conformance/.generated/can-i-use-browser.d.ts +1 -1
  6. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
  7. package/dist/conformance/.generated/can-i-use-browser.js +1 -1
  8. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
  9. package/dist/conformance/.generated/can-i-use.d.ts +1 -1
  10. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
  11. package/dist/conformance/.generated/can-i-use.js +1 -1
  12. package/dist/conformance/.generated/can-i-use.js.map +1 -1
  13. package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -1
  14. package/dist/conformance/.generated/conformance-docs.js +1 -1
  15. package/dist/conformance/.generated/conformance-docs.js.map +1 -1
  16. package/dist/serve/site-ui/_astro/{app.DhAcImFD.js → app.CMmTxyhL.js} +1 -1
  17. package/dist/serve/site-ui/_astro/{app.BOr2kwae.js → app.DhALsVii.js} +12 -12
  18. package/dist/serve/site-ui/_astro/{seed.03a08f9t.js → seed.lywYbXZ0.js} +1 -1
  19. package/dist/serve/site-ui/auth/index.html +1 -1
  20. package/dist/serve/site-ui/docs/_rhythm/index.html +1 -1
  21. package/dist/serve/site-ui/docs/agent/set-up-your-agent/index.html +1 -1
  22. package/dist/serve/site-ui/docs/agent/watch-and-review/index.html +1 -1
  23. package/dist/serve/site-ui/docs/agent/work-with-an-agent/index.html +1 -1
  24. package/dist/serve/site-ui/docs/ai-compat/index.html +1 -1
  25. package/dist/serve/site-ui/docs/api-reference/index.html +1 -1
  26. package/dist/serve/site-ui/docs/app-compat/index.html +1 -1
  27. package/dist/serve/site-ui/docs/auth-compat/index.html +1 -1
  28. package/dist/serve/site-ui/docs/build/ai-logic/index.html +1 -1
  29. package/dist/serve/site-ui/docs/build/authentication/index.html +2 -2
  30. package/dist/serve/site-ui/docs/build/authentication.md +1 -1
  31. package/dist/serve/site-ui/docs/build/cloud-firestore/index.html +4 -2
  32. package/dist/serve/site-ui/docs/build/cloud-firestore.md +4 -0
  33. package/dist/serve/site-ui/docs/build/cloud-messaging/index.html +1 -1
  34. package/dist/serve/site-ui/docs/build/cloud-storage/index.html +1 -1
  35. package/dist/serve/site-ui/docs/build/realtime-database/index.html +1 -1
  36. package/dist/serve/site-ui/docs/conformance-scores/index.html +9 -1
  37. package/dist/serve/site-ui/docs/conformance-scores.md +8 -0
  38. package/dist/serve/site-ui/docs/create-pyric-reference-api/index.html +1 -1
  39. package/dist/serve/site-ui/docs/database-compat/index.html +1 -1
  40. package/dist/serve/site-ui/docs/examples/chess/index.html +1 -1
  41. package/dist/serve/site-ui/docs/examples/index.html +1 -1
  42. package/dist/serve/site-ui/docs/firestore-compat/index.html +1 -1
  43. package/dist/serve/site-ui/docs/firestore-flutter-compat/index.html +1 -1
  44. package/dist/serve/site-ui/docs/firestore-kotlin-compat/index.html +319 -0
  45. package/dist/serve/site-ui/docs/firestore-kotlin-compat.md +344 -0
  46. package/dist/serve/site-ui/docs/firestore-swift-compat/index.html +490 -0
  47. package/dist/serve/site-ui/docs/firestore-swift-compat.md +517 -0
  48. package/dist/serve/site-ui/docs/functions-rtdb-compat/index.html +1 -1
  49. package/dist/serve/site-ui/docs/get-started/backend-bundlers/index.html +1 -1
  50. package/dist/serve/site-ui/docs/get-started/flutter/index.html +98 -0
  51. package/dist/serve/site-ui/docs/get-started/flutter.md +105 -0
  52. package/dist/serve/site-ui/docs/get-started/how-the-swap-works/index.html +1 -1
  53. package/dist/serve/site-ui/docs/get-started/nextjs/index.html +1 -1
  54. package/dist/serve/site-ui/docs/get-started/start-building/index.html +1 -1
  55. package/dist/serve/site-ui/docs/get-started/vite/index.html +1 -1
  56. package/dist/serve/site-ui/docs/index.json +255 -0
  57. package/dist/serve/site-ui/docs/messaging-compat/index.html +1 -1
  58. package/dist/serve/site-ui/docs/observe/resolve-runtime-status/index.html +4 -3
  59. package/dist/serve/site-ui/docs/observe/resolve-runtime-status.md +3 -1
  60. package/dist/serve/site-ui/docs/observe/see-whats-happening/index.html +1 -1
  61. package/dist/serve/site-ui/docs/observe/shape-your-data/index.html +1 -1
  62. package/dist/serve/site-ui/docs/observe/switch-and-impersonate-identities/index.html +110 -0
  63. package/dist/serve/site-ui/docs/observe/switch-and-impersonate-identities.md +134 -0
  64. package/dist/serve/site-ui/docs/overview/index.html +1 -1
  65. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +1 -1
  66. package/dist/serve/site-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
  67. package/dist/serve/site-ui/docs/pyric-admin-database-reference-api/index.html +1 -1
  68. package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api/index.html +1 -1
  69. package/dist/serve/site-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
  70. package/dist/serve/site-ui/docs/pyric-admin-reference-api/index.html +1 -1
  71. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api/index.html +1 -1
  72. package/dist/serve/site-ui/docs/pyric-ai-reference-api/index.html +1 -1
  73. package/dist/serve/site-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
  74. package/dist/serve/site-ui/docs/pyric-analytics-reference-api/index.html +1 -1
  75. package/dist/serve/site-ui/docs/pyric-app-check-reference-api/index.html +1 -1
  76. package/dist/serve/site-ui/docs/pyric-app-reference-api/index.html +1 -1
  77. package/dist/serve/site-ui/docs/pyric-auth-reference-api/index.html +1 -1
  78. package/dist/serve/site-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
  79. package/dist/serve/site-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
  80. package/dist/serve/site-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
  81. package/dist/serve/site-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
  82. package/dist/serve/site-ui/docs/pyric-cli-bundler-reference-api/index.html +1 -1
  83. package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +3 -1
  84. package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api.md +2 -0
  85. package/dist/serve/site-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
  86. package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api/index.html +3 -1
  87. package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api.md +2 -0
  88. package/dist/serve/site-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
  89. package/dist/serve/site-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
  90. package/dist/serve/site-ui/docs/pyric-cli-next-reference-api/index.html +1 -1
  91. package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api/index.html +1 -1
  92. package/dist/serve/site-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
  93. package/dist/serve/site-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
  94. package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api/index.html +1 -1
  95. package/dist/serve/site-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
  96. package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api/index.html +1 -1
  97. package/dist/serve/site-ui/docs/pyric-database-reference-api/index.html +1 -1
  98. package/dist/serve/site-ui/docs/pyric-firestore-lite-reference-api/index.html +1 -1
  99. package/dist/serve/site-ui/docs/pyric-firestore-reference-api/index.html +1 -1
  100. package/dist/serve/site-ui/docs/pyric-functions-reference-api/index.html +1 -1
  101. package/dist/serve/site-ui/docs/pyric-messaging-reference-api/index.html +1 -1
  102. package/dist/serve/site-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
  103. package/dist/serve/site-ui/docs/pyric-performance-reference-api/index.html +1 -1
  104. package/dist/serve/site-ui/docs/pyric-remote-config-reference-api/index.html +1 -1
  105. package/dist/serve/site-ui/docs/pyric-rules-reference-api/index.html +1 -1
  106. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api/index.html +1 -1
  107. package/dist/serve/site-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
  108. package/dist/serve/site-ui/docs/pyric-sandbox-reference-api/index.html +1 -1
  109. package/dist/serve/site-ui/docs/pyric-storage-reference-api/index.html +2 -2
  110. package/dist/serve/site-ui/docs/pyric-storage-reference-api.md +1 -1
  111. package/dist/serve/site-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
  112. package/dist/serve/site-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
  113. package/dist/serve/site-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
  114. package/dist/serve/site-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
  115. package/dist/serve/site-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
  116. package/dist/serve/site-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
  117. package/dist/serve/site-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
  118. package/dist/serve/site-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
  119. package/dist/serve/site-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
  120. package/dist/serve/site-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
  121. package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api/index.html +1 -1
  122. package/dist/serve/site-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
  123. package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api/index.html +1 -1
  124. package/dist/serve/site-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
  125. package/dist/serve/site-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
  126. package/dist/serve/site-ui/docs/reference/cli/index.html +1 -1
  127. package/dist/serve/site-ui/docs/rules-compat/index.html +1 -1
  128. package/dist/serve/site-ui/docs/secure/audit-your-rules/index.html +1 -1
  129. package/dist/serve/site-ui/docs/secure/firestore-rules-limits/index.html +1 -1
  130. package/dist/serve/site-ui/docs/secure/read-a-denial/index.html +1 -1
  131. package/dist/serve/site-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
  132. package/dist/serve/site-ui/docs/secure/rules-standard-library/index.html +1 -1
  133. package/dist/serve/site-ui/docs/secure/secure-it-with-rules/index.html +1 -1
  134. package/dist/serve/site-ui/docs/secure/simulate-and-lint/index.html +1 -1
  135. package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
  136. package/dist/serve/site-ui/docs/ship/ship-to-production/index.html +1 -1
  137. package/dist/serve/site-ui/docs/ship/test-in-node/index.html +1 -1
  138. package/dist/serve/site-ui/docs/storage-compat/index.html +1 -1
  139. package/dist/serve/site-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
  140. package/dist/serve/site-ui/docs/trust/rules-standard-library/index.html +1 -1
  141. package/dist/serve/site-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
  142. package/dist/serve/site-ui/docs/tutorial/index.html +1 -1
  143. package/dist/serve/site-ui/firestore/index.html +1 -1
  144. package/dist/serve/site-ui/llms.txt +4 -0
  145. package/dist/serve/site-ui/rtdb/index.html +1 -1
  146. package/dist/serve/site-ui/settings/index.html +1 -1
  147. package/dist/serve/site-ui/storage/index.html +1 -1
  148. package/dist/serve/site-ui/studio/index.html +1 -1
  149. package/dist/serve/site-ui/traffic/index.html +1 -1
  150. package/package.json +4 -4
  151. package/src/assurance/.generated/conformance-verdicts.ts +170 -0
  152. package/src/conformance/.generated/can-i-use-browser.ts +2 -2
  153. package/src/conformance/.generated/can-i-use.ts +2 -2
  154. package/src/conformance/.generated/conformance-docs.ts +1 -1
@@ -6,7 +6,7 @@
6
6
  </script><link rel="preconnect" href="https://use.typekit.net" crossorigin><link rel="stylesheet" href="https://use.typekit.net/jwb3ycu.css"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="/__pyric/ui/_astro/_studio_.BnfYCKoI.css">
7
7
  <style>html{scrollbar-gutter:stable}
8
8
  </style>
9
- <link rel="stylesheet" href="/__pyric/ui/_astro/app.pMSnN6Qw.css"></head> <body> <div id="root" data-astro-cid-w5sm6wlz> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b1btC" component-url="/__pyric/ui/_astro/app.DhAcImFD.js" component-export="StudioApp" renderer-url="/__pyric/ui/_astro/client.D2ORs4B-.js" props="{&quot;data-astro-cid-w5sm6wlz&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StudioApp&quot;,&quot;value&quot;:&quot;react&quot;}" await-children><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
9
+ <link rel="stylesheet" href="/__pyric/ui/_astro/app.pMSnN6Qw.css"></head> <body> <div id="root" data-astro-cid-w5sm6wlz> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b1btC" component-url="/__pyric/ui/_astro/app.CMmTxyhL.js" component-export="StudioApp" renderer-url="/__pyric/ui/_astro/client.D2ORs4B-.js" props="{&quot;data-astro-cid-w5sm6wlz&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StudioApp&quot;,&quot;value&quot;:&quot;react&quot;}" await-children><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
10
10
  Starting Pyric Studio…
11
11
  </p><template data-astro-template="fallback"><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
12
12
  Starting Pyric Studio…
@@ -6,7 +6,7 @@
6
6
  </script><link rel="preconnect" href="https://use.typekit.net" crossorigin><link rel="stylesheet" href="https://use.typekit.net/jwb3ycu.css"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="/__pyric/ui/_astro/_studio_.BnfYCKoI.css">
7
7
  <style>html{scrollbar-gutter:stable}
8
8
  </style>
9
- <link rel="stylesheet" href="/__pyric/ui/_astro/app.pMSnN6Qw.css"></head> <body> <div id="root" data-astro-cid-w5sm6wlz> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b1btC" component-url="/__pyric/ui/_astro/app.DhAcImFD.js" component-export="StudioApp" renderer-url="/__pyric/ui/_astro/client.D2ORs4B-.js" props="{&quot;data-astro-cid-w5sm6wlz&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StudioApp&quot;,&quot;value&quot;:&quot;react&quot;}" await-children><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
9
+ <link rel="stylesheet" href="/__pyric/ui/_astro/app.pMSnN6Qw.css"></head> <body> <div id="root" data-astro-cid-w5sm6wlz> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b1btC" component-url="/__pyric/ui/_astro/app.CMmTxyhL.js" component-export="StudioApp" renderer-url="/__pyric/ui/_astro/client.D2ORs4B-.js" props="{&quot;data-astro-cid-w5sm6wlz&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StudioApp&quot;,&quot;value&quot;:&quot;react&quot;}" await-children><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
10
10
  Starting Pyric Studio…
11
11
  </p><template data-astro-template="fallback"><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
12
12
  Starting Pyric Studio…
@@ -6,7 +6,7 @@
6
6
  </script><link rel="preconnect" href="https://use.typekit.net" crossorigin><link rel="stylesheet" href="https://use.typekit.net/jwb3ycu.css"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="/__pyric/ui/_astro/_studio_.BnfYCKoI.css">
7
7
  <style>html{scrollbar-gutter:stable}
8
8
  </style>
9
- <link rel="stylesheet" href="/__pyric/ui/_astro/app.pMSnN6Qw.css"></head> <body> <div id="root" data-astro-cid-w5sm6wlz> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b1btC" component-url="/__pyric/ui/_astro/app.DhAcImFD.js" component-export="StudioApp" renderer-url="/__pyric/ui/_astro/client.D2ORs4B-.js" props="{&quot;data-astro-cid-w5sm6wlz&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StudioApp&quot;,&quot;value&quot;:&quot;react&quot;}" await-children><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
9
+ <link rel="stylesheet" href="/__pyric/ui/_astro/app.pMSnN6Qw.css"></head> <body> <div id="root" data-astro-cid-w5sm6wlz> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b1btC" component-url="/__pyric/ui/_astro/app.CMmTxyhL.js" component-export="StudioApp" renderer-url="/__pyric/ui/_astro/client.D2ORs4B-.js" props="{&quot;data-astro-cid-w5sm6wlz&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StudioApp&quot;,&quot;value&quot;:&quot;react&quot;}" await-children><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
10
10
  Starting Pyric Studio…
11
11
  </p><template data-astro-template="fallback"><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
12
12
  Starting Pyric Studio…
@@ -6,7 +6,7 @@
6
6
  </script><link rel="preconnect" href="https://use.typekit.net" crossorigin><link rel="stylesheet" href="https://use.typekit.net/jwb3ycu.css"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="/__pyric/ui/_astro/_studio_.BnfYCKoI.css">
7
7
  <style>html{scrollbar-gutter:stable}
8
8
  </style>
9
- <link rel="stylesheet" href="/__pyric/ui/_astro/app.pMSnN6Qw.css"></head> <body> <div id="root" data-astro-cid-w5sm6wlz> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b1btC" component-url="/__pyric/ui/_astro/app.DhAcImFD.js" component-export="StudioApp" renderer-url="/__pyric/ui/_astro/client.D2ORs4B-.js" props="{&quot;data-astro-cid-w5sm6wlz&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StudioApp&quot;,&quot;value&quot;:&quot;react&quot;}" await-children><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
9
+ <link rel="stylesheet" href="/__pyric/ui/_astro/app.pMSnN6Qw.css"></head> <body> <div id="root" data-astro-cid-w5sm6wlz> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="b1btC" component-url="/__pyric/ui/_astro/app.CMmTxyhL.js" component-export="StudioApp" renderer-url="/__pyric/ui/_astro/client.D2ORs4B-.js" props="{&quot;data-astro-cid-w5sm6wlz&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StudioApp&quot;,&quot;value&quot;:&quot;react&quot;}" await-children><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
10
10
  Starting Pyric Studio…
11
11
  </p><template data-astro-template="fallback"><p class="studio-loading" aria-live="polite" data-astro-cid-w5sm6wlz>
12
12
  Starting Pyric Studio…
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pyric/cli",
3
- "version": "0.1.0-alpha.21",
3
+ "version": "0.1.0-alpha.22",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://pyric.dev",
6
6
  "repository": {
@@ -138,11 +138,11 @@
138
138
  "dependencies": {
139
139
  "@inbrowser/agent": "0.4.2",
140
140
  "@modelcontextprotocol/sdk": "^1.0.0",
141
- "create-pyric": "^0.1.0-alpha.21",
141
+ "create-pyric": "^0.1.0-alpha.22",
142
142
  "esbuild": "^0.28.0",
143
143
  "fake-indexeddb": "^6.0.0",
144
- "pyric": "^0.1.0-alpha.21",
145
- "pyric-admin": "^0.1.0-alpha.21",
144
+ "pyric": "^0.1.0-alpha.22",
145
+ "pyric-admin": "^0.1.0-alpha.22",
146
146
  "ws": "^8.18.0",
147
147
  "zod": "^3.23.0"
148
148
  },
@@ -462,6 +462,71 @@ export const CONFORMANCE_VERDICTS = {
462
462
  "firestore-flutter#7": "supported",
463
463
  "firestore-flutter#8": "supported",
464
464
  "firestore-flutter#9": "qualified",
465
+ "firestore-kotlin#1": "supported",
466
+ "firestore-kotlin#10": "qualified",
467
+ "firestore-kotlin#11": "supported",
468
+ "firestore-kotlin#12": "qualified",
469
+ "firestore-kotlin#13": "qualified",
470
+ "firestore-kotlin#14": "supported",
471
+ "firestore-kotlin#15": "supported",
472
+ "firestore-kotlin#16": "supported",
473
+ "firestore-kotlin#17": "supported",
474
+ "firestore-kotlin#18": "supported",
475
+ "firestore-kotlin#19": "supported",
476
+ "firestore-kotlin#2": "supported",
477
+ "firestore-kotlin#20": "supported",
478
+ "firestore-kotlin#21": "supported",
479
+ "firestore-kotlin#22": "supported",
480
+ "firestore-kotlin#23": "supported",
481
+ "firestore-kotlin#24": "supported",
482
+ "firestore-kotlin#25": "supported",
483
+ "firestore-kotlin#26": "supported",
484
+ "firestore-kotlin#27": "supported",
485
+ "firestore-kotlin#28": "supported",
486
+ "firestore-kotlin#29": "supported",
487
+ "firestore-kotlin#3": "supported",
488
+ "firestore-kotlin#30": "supported",
489
+ "firestore-kotlin#31": "supported",
490
+ "firestore-kotlin#32": "supported",
491
+ "firestore-kotlin#33": "supported",
492
+ "firestore-kotlin#34": "supported",
493
+ "firestore-kotlin#35": "supported",
494
+ "firestore-kotlin#36": "supported",
495
+ "firestore-kotlin#37": "supported",
496
+ "firestore-kotlin#38": "supported",
497
+ "firestore-kotlin#39": "supported",
498
+ "firestore-kotlin#4": "supported",
499
+ "firestore-kotlin#40": "supported",
500
+ "firestore-kotlin#41": "supported",
501
+ "firestore-kotlin#42": "supported",
502
+ "firestore-kotlin#43": "supported",
503
+ "firestore-kotlin#44": "supported",
504
+ "firestore-kotlin#45": "supported",
505
+ "firestore-kotlin#46": "supported",
506
+ "firestore-kotlin#47": "supported",
507
+ "firestore-kotlin#48": "supported",
508
+ "firestore-kotlin#49": "supported",
509
+ "firestore-kotlin#5": "supported",
510
+ "firestore-kotlin#50": "supported",
511
+ "firestore-kotlin#51": "supported",
512
+ "firestore-kotlin#52": "supported",
513
+ "firestore-kotlin#53": "qualified",
514
+ "firestore-kotlin#54": "supported",
515
+ "firestore-kotlin#55": "supported",
516
+ "firestore-kotlin#56": "supported",
517
+ "firestore-kotlin#57": "supported",
518
+ "firestore-kotlin#58": "supported",
519
+ "firestore-kotlin#59": "supported",
520
+ "firestore-kotlin#6": "supported",
521
+ "firestore-kotlin#60": "supported",
522
+ "firestore-kotlin#61": "supported",
523
+ "firestore-kotlin#62": "supported",
524
+ "firestore-kotlin#63": "supported",
525
+ "firestore-kotlin#64": "supported",
526
+ "firestore-kotlin#65": "supported",
527
+ "firestore-kotlin#7": "supported",
528
+ "firestore-kotlin#8": "supported",
529
+ "firestore-kotlin#9": "qualified",
465
530
  "firestore-rules#160": "supported",
466
531
  "firestore-rules#161": "supported",
467
532
  "firestore-rules#162": "supported",
@@ -494,6 +559,111 @@ export const CONFORMANCE_VERDICTS = {
494
559
  "firestore-rules#189": "supported",
495
560
  "firestore-rules#190": "supported",
496
561
  "firestore-rules#191": "supported",
562
+ "firestore-swift#1": "supported",
563
+ "firestore-swift#10": "supported",
564
+ "firestore-swift#100": "supported",
565
+ "firestore-swift#101": "supported",
566
+ "firestore-swift#102": "supported",
567
+ "firestore-swift#103": "qualified",
568
+ "firestore-swift#104": "qualified",
569
+ "firestore-swift#105": "qualified",
570
+ "firestore-swift#11": "supported",
571
+ "firestore-swift#12": "supported",
572
+ "firestore-swift#13": "supported",
573
+ "firestore-swift#14": "supported",
574
+ "firestore-swift#15": "qualified",
575
+ "firestore-swift#16": "qualified",
576
+ "firestore-swift#17": "supported",
577
+ "firestore-swift#18": "qualified",
578
+ "firestore-swift#19": "qualified",
579
+ "firestore-swift#2": "supported",
580
+ "firestore-swift#20": "qualified",
581
+ "firestore-swift#21": "qualified",
582
+ "firestore-swift#22": "supported",
583
+ "firestore-swift#23": "supported",
584
+ "firestore-swift#24": "supported",
585
+ "firestore-swift#25": "supported",
586
+ "firestore-swift#26": "supported",
587
+ "firestore-swift#27": "supported",
588
+ "firestore-swift#28": "supported",
589
+ "firestore-swift#29": "supported",
590
+ "firestore-swift#3": "supported",
591
+ "firestore-swift#30": "supported",
592
+ "firestore-swift#31": "supported",
593
+ "firestore-swift#32": "supported",
594
+ "firestore-swift#33": "supported",
595
+ "firestore-swift#34": "supported",
596
+ "firestore-swift#35": "supported",
597
+ "firestore-swift#36": "supported",
598
+ "firestore-swift#37": "supported",
599
+ "firestore-swift#38": "supported",
600
+ "firestore-swift#39": "supported",
601
+ "firestore-swift#4": "supported",
602
+ "firestore-swift#40": "supported",
603
+ "firestore-swift#41": "supported",
604
+ "firestore-swift#42": "supported",
605
+ "firestore-swift#43": "supported",
606
+ "firestore-swift#44": "supported",
607
+ "firestore-swift#45": "supported",
608
+ "firestore-swift#46": "supported",
609
+ "firestore-swift#47": "supported",
610
+ "firestore-swift#48": "supported",
611
+ "firestore-swift#49": "supported",
612
+ "firestore-swift#5": "supported",
613
+ "firestore-swift#50": "supported",
614
+ "firestore-swift#51": "supported",
615
+ "firestore-swift#52": "supported",
616
+ "firestore-swift#53": "supported",
617
+ "firestore-swift#54": "supported",
618
+ "firestore-swift#55": "supported",
619
+ "firestore-swift#56": "supported",
620
+ "firestore-swift#57": "supported",
621
+ "firestore-swift#58": "supported",
622
+ "firestore-swift#59": "supported",
623
+ "firestore-swift#6": "supported",
624
+ "firestore-swift#60": "supported",
625
+ "firestore-swift#61": "supported",
626
+ "firestore-swift#62": "supported",
627
+ "firestore-swift#63": "supported",
628
+ "firestore-swift#64": "supported",
629
+ "firestore-swift#65": "supported",
630
+ "firestore-swift#66": "supported",
631
+ "firestore-swift#67": "supported",
632
+ "firestore-swift#68": "supported",
633
+ "firestore-swift#69": "supported",
634
+ "firestore-swift#7": "supported",
635
+ "firestore-swift#70": "supported",
636
+ "firestore-swift#71": "supported",
637
+ "firestore-swift#72": "supported",
638
+ "firestore-swift#73": "supported",
639
+ "firestore-swift#74": "supported",
640
+ "firestore-swift#75": "supported",
641
+ "firestore-swift#76": "supported",
642
+ "firestore-swift#77": "supported",
643
+ "firestore-swift#78": "supported",
644
+ "firestore-swift#79": "supported",
645
+ "firestore-swift#8": "supported",
646
+ "firestore-swift#80": "supported",
647
+ "firestore-swift#81": "supported",
648
+ "firestore-swift#82": "supported",
649
+ "firestore-swift#83": "supported",
650
+ "firestore-swift#84": "supported",
651
+ "firestore-swift#85": "supported",
652
+ "firestore-swift#86": "supported",
653
+ "firestore-swift#87": "supported",
654
+ "firestore-swift#88": "supported",
655
+ "firestore-swift#89": "supported",
656
+ "firestore-swift#9": "supported",
657
+ "firestore-swift#90": "supported",
658
+ "firestore-swift#91": "supported",
659
+ "firestore-swift#92": "supported",
660
+ "firestore-swift#93": "supported",
661
+ "firestore-swift#94": "supported",
662
+ "firestore-swift#95": "supported",
663
+ "firestore-swift#96": "supported",
664
+ "firestore-swift#97": "supported",
665
+ "firestore-swift#98": "supported",
666
+ "firestore-swift#99": "supported",
497
667
  "firestore.binding.path-variable": "supported",
498
668
  "firestore.binding.request": "supported",
499
669
  "firestore.binding.request.auth": "supported",