@tinkerlandai/indiana-sdk 0.8.5 → 0.9.2

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 (64) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +20 -41
  3. package/README.zh-CN.md +17 -17
  4. package/dist/{ai-usage-DUlre7JC.d.ts → ai-usage-DMNKvCiq.d.ts} +3 -3
  5. package/dist/{api-XDc4pRlN.d.ts → api--Zf0gxfj.d.ts} +128 -124
  6. package/dist/chunk-3PZ4Y6UD.js +17 -0
  7. package/dist/chunk-5O667MKA.js +1 -0
  8. package/dist/chunk-65TBYVCS.js +1 -0
  9. package/dist/chunk-67A7I6MB.js +1 -0
  10. package/dist/chunk-7DXL3LHT.js +1 -0
  11. package/dist/chunk-CCQHYQ4P.js +1 -0
  12. package/dist/chunk-CPLLMISZ.js +1 -0
  13. package/dist/chunk-G23YNWWI.js +1 -0
  14. package/dist/chunk-G56XGVMS.js +1 -0
  15. package/dist/chunk-L7LKE3MG.js +173 -0
  16. package/dist/chunk-NH2PTTNK.js +2 -0
  17. package/dist/chunk-PK5HYUHD.js +1 -0
  18. package/dist/chunk-SEW4YVR7.js +1 -0
  19. package/dist/chunk-UYSOTMY3.js +1 -0
  20. package/dist/{chunk-WWUUVURR.js → chunk-WSVH6IQA.js} +1 -1
  21. package/dist/chunk-YZSQDZXW.js +4 -0
  22. package/dist/{configuration-sync-Ce3dShy7.d.ts → configuration-sync-E98CqVwh.d.ts} +6 -5
  23. package/dist/content-3LOJVYQO.js +1 -0
  24. package/dist/{errors-C8lRYZ0n.d.ts → errors-0TSUIbUi.d.ts} +12 -1
  25. package/dist/{funnel-local-client-CUGavICI.d.ts → funnel-local-client-BjPwXlQb.d.ts} +550 -260
  26. package/dist/funnel-runtime-host-NYHKQT6T.js +1 -0
  27. package/dist/index.d.ts +689 -223
  28. package/dist/index.js +1 -1
  29. package/dist/native-shell.js +1 -1
  30. package/dist/openrouter.d.ts +3 -3
  31. package/dist/openrouter.js +1 -1
  32. package/dist/page.d.ts +6 -6
  33. package/dist/page.js +1 -1
  34. package/dist/paywall-ISCYOGPZ.js +1 -0
  35. package/dist/popup.d.ts +1 -1
  36. package/dist/popup.js +1 -1
  37. package/dist/react-native.d.ts +122 -99
  38. package/dist/react-native.js +1 -1
  39. package/dist/screen-renderer-A6VYE2QL.js +1 -0
  40. package/dist/server.d.ts +58 -58
  41. package/dist/server.js +1 -1
  42. package/dist/visual.d.ts +36 -1
  43. package/dist/visual.js +1 -2
  44. package/package.json +1 -1
  45. package/dist/chunk-3KQHKRZJ.js +0 -1
  46. package/dist/chunk-6A5WWFNS.js +0 -10
  47. package/dist/chunk-A3XRIG53.js +0 -1
  48. package/dist/chunk-BUDTHBFF.js +0 -173
  49. package/dist/chunk-FGIGKO7A.js +0 -1
  50. package/dist/chunk-GRLMT5PR.js +0 -1
  51. package/dist/chunk-HEBQUICQ.js +0 -4
  52. package/dist/chunk-KQCTDXVD.js +0 -17
  53. package/dist/chunk-LMR2TM3X.js +0 -1
  54. package/dist/chunk-OBYJWIRB.js +0 -1
  55. package/dist/chunk-RRII2DMC.js +0 -1
  56. package/dist/chunk-SOQO2RDZ.js +0 -1
  57. package/dist/chunk-SUXAWRR6.js +0 -1
  58. package/dist/chunk-VVV3JNS3.js +0 -1
  59. package/dist/content-DDMDNRCV.js +0 -1
  60. package/dist/funnel-runtime-host-QK6WDRPS.js +0 -1
  61. package/dist/paywall-4QT3JYD4.js +0 -1
  62. package/dist/screen-renderer-DLXDQQKK.js +0 -1
  63. package/dist/src-EG7RWDDY.js +0 -1
  64. package/dist/{screen-BpAejkn0.d.ts → screen-BITZ11jn.d.ts} +18 -18
@@ -0,0 +1,2 @@
1
+ async function Xe(e,t,r){let n=new URL(e,t.baseURI),i=t.defaultView?.location.origin,l=/^\/\.well-known\/indiana\/releases\/([a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12})\.json$/.exec(n.pathname)?.[1];if(!l||n.origin!==i||n.search||n.hash||n.username||n.password)throw Error("Invalid IAM release URL");let a=AbortSignal.any([r,AbortSignal.timeout(2e3)]),s=await fetch(n,{credentials:"omit",redirect:"error",cache:"force-cache",signal:a}),u=s.headers.get("content-length");if(!s.ok||!/^application\/json(?:;|$)/i.test(s.headers.get("content-type")??"")||u!==null&&(!/^\d+$/.test(u)||Number(u)>512))throw s.body?.cancel().catch(()=>{}),Error("IAM release is unavailable");let m=s.body?.getReader();if(!m)throw Error("IAM release is unavailable");let p=[],d=0,g=()=>{},E=new Promise((k,S)=>{g=()=>S(Error("IAM release timeout")),a.addEventListener("abort",g,{once:!0}),a.aborted&&g()}),y=!1;try{for(;;){let k=await Promise.race([m.read(),E]);if(k.done){y=!0;break}if(d+=k.value.length,d>512)throw Error("IAM release budget");p.push(k.value)}}finally{a.removeEventListener("abort",g),y||m.cancel().catch(()=>{}),m.releaseLock()}let v=new Uint8Array(d),A=0;for(let k of p)v.set(k,A),A+=k.length;let I=new TextDecoder("utf-8",{fatal:!0}).decode(v),M=JSON.parse(I);if(I.trim()!==JSON.stringify(M))throw Error("Noncanonical IAM release descriptor");if(!M||typeof M!="object"||Array.isArray(M)||Object.keys(M).sort().join(",")!=="format,manifestDigest,releaseId,schemaVersion"||Reflect.get(M,"format")!=="indiana-app-manifest-release"||Reflect.get(M,"schemaVersion")!==2||Reflect.get(M,"releaseId")!==l||!/^[a-f0-9]{64}$/.test(String(Reflect.get(M,"manifestDigest"))))throw Error("Invalid IAM release descriptor");return Reflect.get(M,"manifestDigest")}function j(e,t=()=>{}){let r=new WeakMap,n=0,i=l=>{let a=r.get(l);if(a!==void 0)return a;let s=[],u=l,m=!0;for(;u;){let p=r.get(u);if(p!==void 0){m=p;break}if(++n>8192||s.length>=256)throw Error("IAM render ancestry budget exceeded");if(s.push(u),t(),u.hasAttribute("hidden")||/(?:^|;)\s*display\s*:\s*none\s*(?:!\s*important\s*)?(?:;|$)/i.test(u.getAttribute("style")??"")){m=!1;break}u=u.parentElement}for(let p of s)r.set(p,m);return m};return l=>{let a=0,s=e.querySelectorAll(l);for(let u=0;u<s.length;u++){let m=s[u];if(!m)throw Error("IAM render selection changed");i(m)&&a++,t()}return a}}var Ae=e=>!!e&&typeof e=="object"&&!Array.isArray(e);function se(e){if(!Ae(e)||Object.keys(e).some(l=>!["schemaVersion","renderKey","routeTemplate","selectors","present","absent"].includes(l))||e.schemaVersion!==1||typeof e.renderKey!="string"||!e.renderKey||e.renderKey.length>256||typeof e.routeTemplate!="string"||!e.routeTemplate.startsWith("/")||e.routeTemplate.length>2048||!Array.isArray(e.selectors)||e.selectors.length>512||e.selectors.some(l=>typeof l!="string"||l.length>512||!/^[a-z][a-z0-9-]*\[(?:id|data-testid|data-test|data-qa|data-indiana-id)="(?:[^"\\\x00-\x1f\x7f]|\\["\\])*"\]$/.test(l))||!Array.isArray(e.present)||!Array.isArray(e.absent))throw new Error("Invalid IAM render guard");if(e.present.length===0)throw Error("IAM render needs positive source evidence");let t=e.selectors,r=e.present,n=e.absent,i=[...r,...n];if(new Set(t).size!==t.length||i.length!==t.length||new Set(i).size!==i.length||i.some(l=>typeof l!="number"||!Number.isInteger(l)||l<0||l>=t.length))throw new Error("Invalid IAM render signature");return{schemaVersion:1,renderKey:e.renderKey,routeTemplate:e.routeTemplate,selectors:e.selectors,present:e.present,absent:e.absent}}function Me(e,t){let r=e.split("/").filter(Boolean),n="";for(let i of r)/^\[\[\.\.\.[^\[\]]+\]\]$/.test(i)?n+="(?:/[^/]+)*":/^\[\.\.\.[^\[\]]+\]$/.test(i)?n+="(?:/[^/]+)+":/^\[[^\[\]]+\]$/.test(i)?n+="/[^/]+":n+="/"+i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+(n?n+"/?":"/")+"$").test(t)&&!/[\[\]]/.test(t)}function ae(e,t,r,n,i=j(t,n)){if(!Me(e.routeTemplate,r))return!1;let l=new Set(e.present),a=!0;for(let s=0;s<e.selectors.length;s++){let u=i(e.selectors[s]);if(l.has(s)&&u>1)throw new Error("IAM render anchor is ambiguous");(l.has(s)?u!==1:u!==0)&&(a=!1),n()}return a}var N=class extends Error{constructor(){super("IAM page check exceeded its work budget")}},Z=new WeakMap,Y=new WeakSet;function Q(e){Y.add(e)}function Se(e){let t=new Set,r=new Set,n,i=0,l=!1,a=0,s,u=()=>{t.size||i||(n?.disconnect(),s!==void 0&&cancelAnimationFrame(s),e.removeEventListener("visibilitychange",d),Z.delete(e))};function m(g){if(e.hidden)return;let E=performance.now(),y=new Map,v=new Map,A=()=>{if(performance.now()-E>8)throw new N},I=o=>{A();let c=y.get(o);return c||(c=e.querySelectorAll(o),y.set(o,c)),A(),c},M=j({querySelectorAll:I},A),k=o=>{let c=o.filter(w=>!y.has(w));if(!c.length)return;let f=new Map;for(let w of c){let b=/^([a-z][a-z0-9-]*)\[(id|data-testid|data-test|data-qa|data-indiana-id)="((?:[^"\\\x00-\x1f\x7f]|\\["\\])*)"\]$/.exec(w);if(!b)throw Error("Invalid IAM render selector");let[,V,x,R]=b,D=R.replace(/\\(["\\])/g,"$1"),C=f.get(V);C||f.set(V,C=new Map);let z=C.get(x);z||C.set(x,z=new Map);let $=z.get(D);$||z.set(D,$=[]),y.set(w,$)}A();let h=e.querySelectorAll(c.join(","));if(A(),h.length>8192)throw Error("IAM render selection budget exceeded");for(let w of h){let b=f.get(w.localName.toLowerCase());if(b)for(let[V,x]of b){let R=w.getAttribute(V);R!==null&&x.get(R)?.push(w)}A()}},S={query:I,checkpoint:A,matches(o,c){let f=v.get(c);if(!f){try{let h=!1;f={match:ae(o,e,location.pathname,A,w=>(h||(k(o.selectors),h=!0),M(w)))}}catch(h){f={error:h}}v.set(c,f)}if("error"in f)throw f.error;return f.match}},T=[],O=[],q=[];for(let o of g)if(t.has(o))try{T.push({job:o,commit:o.prepare(S)})}catch(c){if(c instanceof N)throw c;O.push({job:o,error:c})}A();for(let{job:o,error:c}of O)t.has(o)&&o.fail(c);for(let{job:o,commit:c}of T)if(t.has(o))try{A(),c(f=>q.push(f))}catch(f){if(f instanceof N)throw f;o.fail(f)}for(let o of q)o()}function p(g){if(!(s!==void 0||e.hidden))try{m(g),a=0}catch(E){if(!(E instanceof N))throw E;for(let y of[...t])y.suspend();if(a++>=2){for(let y of[...t])y.fail(E);return}s=requestAnimationFrame(()=>{s=void 0,p([...t])})}}function d(){l||!t.size||e.hidden||(l=!0,queueMicrotask(()=>{l=!1,p([...t])}))}return{begin(){i++},end(){--i===0&&(r.clear(),p([...t])),u()},add(g){return n||(n=new MutationObserver(E=>{let y=v=>Y.has(v)||!!(v.parentNode&&Y.has(v.parentNode));E.some(v=>!y(v.target)&&!(v.type==="childList"&&[...v.addedNodes,...v.removedNodes].length>0&&[...v.addedNodes,...v.removedNodes].every(y)))&&d()}),n.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","hidden","data-indiana-id","data-indiana-release","data-testid","id","name"]}),e.addEventListener("visibilitychange",d)),t.add(g),i?r.add(g):p([g]),()=>{t.delete(g),r.delete(g),u()}}}}function le(){let e=Z.get(document);return e||(e=Se(document),Z.set(document,e)),e}function ue(e){return le().add(e)}function it(e){let t=le();t.begin();try{e()}finally{t.end()}}var Ve=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,ee={revert:function(){}},H=new Map,te=new Set;function Re(e){return e==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}function U(e){var t=H.get(e);return t||(t={element:e,attributes:{}},H.set(e,t)),t}function F(e,t,r,n,i){var l=r(e),a={isDirty:!1,originalValue:l,virtualValue:l,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if(!We&&!(t==="position"&&a._positionTimeout)){t==="position"&&(a._positionTimeout=setTimeout(function(){a._positionTimeout=null},1e3));var s=r(e);t==="position"&&s.parentNode===a.virtualValue.parentNode&&s.insertBeforeNode===a.virtualValue.insertBeforeNode||s!==a.virtualValue&&(a.originalValue=s,i(a))}}),mutationRunner:i,setValue:n,getCurrentValue:r};return t==="position"&&e.parentNode?a.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):a.observer.observe(e,Re(t)),a}function W(e,t){var r=t.getCurrentValue(t.el);t.virtualValue=e,e&&typeof e!="string"?(!r||e.parentNode!==r.parentNode||e.insertBeforeNode!==r.insertBeforeNode)&&(t.isDirty=!0,ce()):e!==r&&(t.isDirty=!0,ce())}function ke(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),W(Je(t),e)}function Ie(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(r){return r.mutate(t)}),W(Array.from(t).filter(Boolean).join(" "),e)}function xe(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),W(t,e)}function Te(e){var t=e.parentSelector,r=e.insertBeforeSelector,n=document.querySelector(t);if(!n)return null;var i=r?document.querySelector(r):null;return r&&!i?null:{parentNode:n,insertBeforeNode:i}}function Ne(e){var t=e.originalValue;e.mutations.forEach(function(r){var n=r.mutate(),i=Te(n);t=i||t}),W(t,e)}var Le=function(t){return t.innerHTML},Oe=function(t,r){return t.innerHTML=r};function de(e){var t=U(e);return t.html||(t.html=F(e,"html",Le,Oe,ke)),t.html}var qe=function(t){return{parentNode:t.parentElement,insertBeforeNode:t.nextElementSibling}},De=function(t,r){r.insertBeforeNode&&!r.parentNode.contains(r.insertBeforeNode)||r.parentNode.insertBefore(t,r.insertBeforeNode)};function pe(e){var t=U(e);return t.position||(t.position=F(e,"position",qe,De,Ne)),t.position}var Be=function(t,r){return r?t.className=r:t.removeAttribute("class")},Ce=function(t){return t.className};function me(e){var t=U(e);return t.classes||(t.classes=F(e,"class",Ce,Be,Ie)),t.classes}var ze=function(t){return function(r){var n;return(n=r.getAttribute(t))!=null?n:null}},je=function(t){return function(r,n){return n!==null?r.setAttribute(t,n):r.removeAttribute(t)}};function he(e,t){var r=U(e);return r.attributes[t]||(r.attributes[t]=F(e,t,ze(t),je(t),xe)),r.attributes[t]}function Pe(e,t){var r=H.get(e);if(r)if(t==="html"){var n,i;(n=r.html)==null||(i=n.observer)==null||i.disconnect(),delete r.html}else if(t==="class"){var l,a;(l=r.classes)==null||(a=l.observer)==null||a.disconnect(),delete r.classes}else if(t==="position"){var s,u;(s=r.position)==null||(u=s.observer)==null||u.disconnect(),delete r.position}else{var m,p,d;(m=r.attributes)==null||(p=m[t])==null||(d=p.observer)==null||d.disconnect(),delete r.attributes[t]}}var P;function Je(e){return P||(P=document.createElement("div")),P.innerHTML=e,P.innerHTML}function J(e,t,r){if(r.isDirty){r.isDirty=!1;var n=r.virtualValue;r.mutations.length||Pe(e,t),r.setValue(e,n)}}function Ge(e,t){e.html&&J(t,"html",e.html),e.classes&&J(t,"class",e.classes),e.position&&J(t,"position",e.position),Object.keys(e.attributes).forEach(function(r){J(t,r,e.attributes[r])})}function ce(){H.forEach(Ge)}function He(e,t){var r=null;e.kind==="html"?r=de(t):e.kind==="class"?r=me(t):e.kind==="attribute"?r=he(t,e.attribute):e.kind==="position"&&(r=pe(t)),r&&(r.mutations.push(e),r.mutationRunner(r))}function Ue(e,t){var r=null;if(e.kind==="html"?r=de(t):e.kind==="class"?r=me(t):e.kind==="attribute"?r=he(t,e.attribute):e.kind==="position"&&(r=pe(t)),!!r){var n=r.mutations.indexOf(e);n!==-1&&r.mutations.splice(n,1),r.mutationRunner(r)}}function ge(e){if(!(e.kind==="position"&&e.elements.size===1)){var t=new Set(e.elements),r=document.querySelectorAll(e.selector);r.forEach(function(n){t.has(n)||(e.elements.add(n),He(e,n))})}}function Fe(e){e.elements.forEach(function(t){return Ue(e,t)}),e.elements.clear(),te.delete(e)}function fe(){te.forEach(ge)}var We=!1;var X;function Ke(){typeof document>"u"||(X||(X=new MutationObserver(function(){fe()})),fe(),X.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}Ke();function K(e){return typeof document>"u"?ee:(te.add(e),ge(e),{revert:function(){Fe(e)}})}function _(e,t){return K({kind:"html",elements:new Set,mutate:t,selector:e})}function be(e,t){return K({kind:"position",elements:new Set,mutate:t,selector:e})}function B(e,t){return K({kind:"class",elements:new Set,mutate:t,selector:e})}function G(e,t,r){return Ve.test(t)?t==="class"||t==="className"?B(e,function(n){var i=r(Array.from(n).join(" "));n.clear(),i&&i.split(/\s+/g).filter(Boolean).forEach(function(l){return n.add(l)})}):K({kind:"attribute",attribute:t,elements:new Set,mutate:r,selector:e}):ee}function $e(e){var t=e.selector,r=e.action,n=e.value,i=e.attribute,l=e.parentSelector,a=e.insertBeforeSelector;if(i==="html"){if(r==="append")return _(t,function(s){return s+(n??"")});if(r==="set")return _(t,function(){return n??""})}else if(i==="class"){if(r==="append")return B(t,function(s){n&&s.add(n)});if(r==="remove")return B(t,function(s){n&&s.delete(n)});if(r==="set")return B(t,function(s){s.clear(),n&&s.add(n)})}else if(i==="position"){if(r==="set"&&l)return be(t,function(){return{insertBeforeSelector:a,parentSelector:l}})}else{if(r==="append")return G(t,i,function(s){return s!==null?s+(n??""):n??""});if(r==="set")return G(t,i,function(){return n??""});if(r==="remove")return G(t,i,function(){return null})}return ee}var Ze={html:_,classes:B,attribute:G,position:be,declarative:$e},re=Ze;import Ye from"dompurify";var ne,ve;function we(e){return(!ne||ve!==window)&&(ne=Ye(window),ve=window),ne.sanitize(e,{USE_PROFILES:{html:!0},FORBID_TAGS:["form","input","textarea","select","button","style"]})}function ye(e){let t={...e};if(!["html","class","style","position","href","src","alt","title","id","role","hidden"].includes(t.attribute)&&!/^(aria|data)-[a-z0-9_-]+$/.test(t.attribute))throw new Error("Unsupported visual attribute");document.querySelector(t.selector);for(let r of document.querySelectorAll(t.selector))if(["SCRIPT","IFRAME","OBJECT","EMBED","HTML","HEAD"].includes(r.tagName)||r.tagName==="BODY"&&t.attribute==="html")throw new Error("Protected visual target");if(t.attribute==="html"&&(t.value=we(t.value??"")),["href","src"].includes(t.attribute)&&t.action!=="remove"){let r=new URL(t.value??"",location.href);if(!["https:","http:","mailto:","tel:"].includes(r.protocol)||t.attribute==="src"&&!["https:","http:"].includes(r.protocol))throw new Error("Unsafe visual URL")}return t.parentSelector&&document.querySelector(t.parentSelector),t.insertBeforeSelector&&document.querySelector(t.insertBeforeSelector),t}function dt(e,t={}){if(e.renderGuard&&!t.requireUniqueTargets)throw new Error("IAM render guard requires the source release fence");if(t.requireUniqueTargets)return Qe(e,t);let r=e.domMutations.map(ye),n=[],i=!1,l=!1,a,s=()=>{if(!i){i=!0,a?.disconnect();for(let m of n.reverse())m()}},u=()=>{i||l||(!r.length||e.css||t.allowJs&&e.js||r.some(m=>document.querySelector(m.selector)))&&(l=!0,t.onApplied?.())};try{if(e.css){let d=document.createElement("style");t.nonce&&(d.nonce=t.nonce),d.textContent=e.css,document.head.append(d),n.push(()=>d.remove())}for(let d of r){let g=re.declarative(d);n.push(()=>g.revert())}if(t.allowJs&&e.js){let d=document.createElement("script");t.nonce&&(d.nonce=t.nonce),d.textContent=e.js,document.head.append(d),n.push(()=>d.remove())}let m=performance.now(),p=new WeakMap;a=new MutationObserver(d=>{if(!i){performance.now()-m>1e3&&(m=performance.now(),p=new WeakMap);for(let g of d){let E=(p.get(g.target)??0)+1;if(p.set(g.target,E),E>40){s(),t.onError?.(new Error("Visual changes conflict with repeated page rendering"));return}}u()}}),a.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),u()}catch(m){throw s(),m}return{revert:s,inspect(){return{status:"unavailable",total:0,applied:0}},get applied(){return l}}}function Qe(e,t){let r=t?.boundVariations??[e],n=new Set,i=new Set,l=[],a=new Map,s=r.flatMap(o=>o.renderGuard?[se(o.renderGuard)]:[]),u=s[0];if(s.some(o=>JSON.stringify(o)!==JSON.stringify(u)))throw new Error("IAM variations use different render states");if(e.js||r.some(o=>o.js))throw Error("IAM scripts cannot execute");if(r.length>20||r.reduce((o,c)=>o+c.css.length,0)>262144)throw Error("IAM target budget");let m=(o,c)=>{for(let h of o.domMutations){if(h.action!=="set"||h.attribute!=="html")throw Error("Unsupported IAM mutation");n.add(h.selector),i.add(h.selector)}if(!o.css)return;let f=document.createElement("style");Q(f),f.media="not all",t?.nonce&&(f.nonce=t.nonce),f.textContent=o.css;try{if(document.head.append(f),!f.sheet)throw Error("IAM CSS is blocked");for(let h of f.sheet.cssRules){if(!("selectorText"in h)||typeof h.selectorText!="string")throw Error("Unsupported IAM style rule");n.add(h.selectorText),c&&l.push({selector:h.selectorText,css:h.cssText})}}finally{f.remove()}};for(let o of r)m(o,!1);if(m(e,!0),n.size>200)throw Error("IAM target budget");let p=e.domMutations.map(ye),d=!1,g=!1,E=!1,y=!1,v="",A=0,I=(o,c)=>{let f=`${o}:${c}`;if(f!==v&&(v=f,!(!t?.onTargetStatus||A>=32))){A++;try{t.onTargetStatus({status:o,total:n.size,matched:c})}catch{}}},M={},k=u?JSON.stringify(u):"",S,T="",O=()=>{if(!d){d=!0,M.unsubscribe?.();for(let o of a.values())o.revert();a.clear(),S?.remove(),S=void 0,g=!1}},q=()=>{for(let o of a.values())o.revert();a.clear(),S?.remove(),S=void 0,T="",g=!1};return M.unsubscribe=ue({suspend:q,fail(o){O(),t?.onError?.(o)},prepare(o){if(u&&!o.matches(u,k))return f=>{d||(q(),y=!1,f(()=>{d||I("inactive",null)}))};let c=new Map;for(let f of n){let h=o.query(f);if(h.length>1)throw Error("IAM target is ambiguous in this rendered state");if(h.length){if(i.has(f)&&h[0].children.length)throw Error("IAM text target is no longer a leaf");c.set(f,h[0])}o.checkpoint()}return f=>{if(d)return;for(let[b,V]of a)c.get(b)!==V.element&&(V.revert(),a.delete(b));for(let b of new Set(p.map(V=>V.selector))){let V=c.get(b);if(!V||a.has(b))continue;let x=p.filter(R=>R.selector===b).map(R=>re.declarative(R));a.set(b,{element:V,revert:()=>x.forEach(R=>R.revert())})}let h=l.filter(b=>c.has(b.selector)).map(b=>b.css).join(`
2
+ `);h!==T&&(T=h,h?(S||(S=document.createElement("style"),Q(S),t?.nonce&&(S.nonce=t.nonce),document.head.append(S)),S.textContent=h):(S?.remove(),S=void 0)),g=n.size===0||c.size>0;let w=c.size===n.size?"matched":c.size>0?"partial":y?"missing":"waiting";c.size&&(y=!0),f(()=>{d||I(w,c.size)}),g&&!E&&f(()=>{!d&&g&&!E&&(E=!0,t?.onApplied?.())})}}}),d&&M.unsubscribe(),{revert:O,inspect(){let o=p.length+l.reduce((w,b)=>w+(b.css.includes("font-size:")?1:0)+(b.css.includes("color:")?1:0),0);if(d)return{status:"error",total:o,applied:0};if(v.startsWith("inactive:"))return{status:"inactive",total:o,applied:0};if(!o)return{status:"no_changes",total:o,applied:0};let c=0,f=0;for(let w of p){let b=document.querySelectorAll(w.selector);b.length===1&&(f++,b[0].innerHTML===we(w.value??"")&&c++)}let h=document.createElement("span");for(let w of l){let b=document.querySelectorAll(w.selector),V=b.length===1?b[0]:void 0,x=w.css.slice(w.css.indexOf("{")+1,w.css.lastIndexOf("}"));h.style.cssText=x;for(let R of["font-size","color"]){let D=h.style.getPropertyValue(R);D&&V?.isConnected&&(f++,getComputedStyle(V).getPropertyValue(R)===D&&c++)}}return{status:c===o?"applied":f?c?"partial":"mismatch":"waiting",total:o,applied:c}},get applied(){return g}}}var oe=new WeakMap;function mt(e,t=document){if(!/^[a-f0-9]{64}$/.test(e))throw new Error("Invalid IAM manifest digest");let r="data-indiana-release",n=t.documentElement,i=()=>new Set((n.getAttribute(r)??"").split(/\s+/).filter(Boolean)),l=oe.get(t);if(!l){let p=new Map,d=new MutationObserver(()=>{let g=i(),E=!1;for(let[y,v]of p)v.count&&!g.has(y)&&(g.add(y),E=!0);E&&n.setAttribute(r,[...g].join(" "))});d.observe(n,{attributes:!0,attributeFilter:[r]}),l={releases:p,observer:d},oe.set(t,l)}let{releases:a,observer:s}=l,u=a.get(e);if(!u){let p=i();u={count:0,owned:!p.has(e)},a.set(e,u),p.add(e),n.setAttribute(r,[...p].join(" "))}u.count++;let m=!1;return{attributes:{indianaAppManifestRelease:e},destroy(){if(!m&&(m=!0,u.count--,!u.count&&(a.delete(e),a.size||(s.disconnect(),oe.delete(t)),u.owned))){let p=i();p.delete(e),p.size?n.setAttribute(r,[...p].join(" ")):n.removeAttribute(r)}}}}var L=new Map,ie=new Set,Ee=()=>{for(let e of[...ie])e()},gt=e=>L.has(e);function bt(e){return ie.add(e),()=>{ie.delete(e)}}function vt(e,t){if(L.has(e)&&L.get(e)!==t)throw new Error("A different Funnel owns this page experiment");return L.set(e,t),Ee(),()=>{L.get(e)===t&&(L.delete(e),Ee())}}export{se as a,ae as b,it as c,dt as d,Xe as e,mt as f,gt as g,bt as h,vt as i};