@tinkerlandai/indiana-sdk 0.8.3 → 0.8.5

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 (48) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +73 -3
  3. package/README.zh-CN.md +40 -3
  4. package/dist/{ai-usage-BV-FlgWr.d.ts → ai-usage-DUlre7JC.d.ts} +1 -1
  5. package/dist/{api-B3FIE41b.d.ts → api-XDc4pRlN.d.ts} +63 -10
  6. package/dist/chunk-3KQHKRZJ.js +1 -0
  7. package/dist/chunk-6A5WWFNS.js +10 -0
  8. package/dist/{chunk-SHSNIJJM.js → chunk-A3XRIG53.js} +1 -1
  9. package/dist/chunk-BUDTHBFF.js +173 -0
  10. package/dist/{chunk-BNU6IG3F.js → chunk-FGIGKO7A.js} +1 -1
  11. package/dist/chunk-HEBQUICQ.js +4 -0
  12. package/dist/chunk-SSLZKIIU.js +1 -0
  13. package/dist/chunk-SUXAWRR6.js +1 -0
  14. package/dist/chunk-WWUUVURR.js +1 -0
  15. package/dist/{configuration-sync-DNvKXHk-.d.ts → configuration-sync-Ce3dShy7.d.ts} +6 -1
  16. package/dist/content-DDMDNRCV.js +1 -0
  17. package/dist/{customer-page-WUQVK_tp.d.ts → customer-page-9B97Qdt_.d.ts} +21 -1
  18. package/dist/{funnel-local-client-wbz-4gFx.d.ts → funnel-local-client-CUGavICI.d.ts} +43 -23
  19. package/dist/funnel-runtime-host-QK6WDRPS.js +1 -0
  20. package/dist/index.d.ts +76 -26
  21. package/dist/index.js +1 -1
  22. package/dist/native-shell.js +1 -1
  23. package/dist/openrouter.d.ts +2 -2
  24. package/dist/openrouter.js +1 -1
  25. package/dist/page.d.ts +1 -1
  26. package/dist/page.js +1 -1
  27. package/dist/paywall-4QT3JYD4.js +1 -0
  28. package/dist/popup.d.ts +14 -4
  29. package/dist/popup.js +1 -1
  30. package/dist/react-native.d.ts +1 -1
  31. package/dist/react-native.js +1 -1
  32. package/dist/screen-renderer-DLXDQQKK.js +1 -0
  33. package/dist/server.d.ts +13 -13
  34. package/dist/server.js +1 -1
  35. package/dist/src-EG7RWDDY.js +1 -0
  36. package/dist/visual.js +2 -2
  37. package/package.json +1 -1
  38. package/dist/chunk-2QPETWDX.js +0 -1
  39. package/dist/chunk-ANOOBDW5.js +0 -350
  40. package/dist/chunk-EXCPE2XH.js +0 -1
  41. package/dist/chunk-X747SY26.js +0 -4
  42. package/dist/chunk-Y32NPIYY.js +0 -1
  43. package/dist/chunk-ZT66RIFU.js +0 -10
  44. package/dist/content-J3FKZTGT.js +0 -1
  45. package/dist/funnel-runtime-host-C5P5JTV3.js +0 -1
  46. package/dist/paywall-3GIRKSHN.js +0 -1
  47. package/dist/screen-renderer-5FPYVSPW.js +0 -1
  48. package/dist/src-BMJCIMIF.js +0 -1
@@ -0,0 +1 @@
1
+ import{$ as Ha,$a as lc,$b as td,$c as lg,$d as lh,$e as ri,$f as xj,$g as xk,$h as xl,$i as xm,$j as yn,A as Y,Aa as Hb,Ab as Mc,Ac as ce,Ad as Mg,Ae as Mh,Af as Yi,Ag as Yj,Ah as Yk,Ai as Yl,Aj as Ym,Ak as co,B as Z,Ba as Ib,Bb as Nc,Bc as Nf,Bd as Ng,Be as Nh,Bf as Zi,Bg as Zj,Bh as Zk,Bi as Zl,Bj as Zm,Bk as eo,C as _,Ca as Jb,Cb as Oc,Cc as Of,Cd as Og,Ce as Oh,Cf as _i,Cg as _j,Ch as _k,Ci as _l,Cj as _m,Ck as fo,D as $,Da as Kb,Db as Pc,Dc as Pf,Dd as Pg,De as Ph,Df as $i,Dg as $j,Dh as $k,Di as $l,Dj as $m,E as aa,Ea as Lb,Eb as Qc,Ec as Qf,Ed as Qg,Ee as Qh,Ef as aj,Eg as ak,Eh as al,Ei as am,Ej as an,F as ba,Fa as Mb,Fb as Rc,Fc as Rf,Fd as Rg,Fe as Rh,Ff as bj,Fg as bk,Fh as bl,Fi as bm,Fj as bn,G as ma,Ga as Nb,Gb as Sc,Gc as Sf,Gd as Sg,Ge as Sh,Gf as cj,Gg as ck,Gh as cl,Gi as cm,Gj as cn,H as na,Ha as Tb,Hb as Tc,Hc as Tf,Hd as Tg,He as Th,Hf as dj,Hg as dk,Hh as dl,Hi as dm,Hj as dn,I as oa,Ia as Ub,Ib as Uc,Ic as Uf,Id as Ug,Ie as Uh,If as ej,Ig as ek,Ih as el,Ii as em,Ij as en,J as pa,Ja as Vb,Jb as Vc,Jc as Vf,Jd as Vg,Je as Vh,Jf as fj,Jg as fk,Jh as fl,Ji as fm,Jj as fn,K as qa,Ka as Wb,Kb as Wc,Kc as Wf,Kd as Wg,Ke as Wh,Kf as gj,Kg as gk,Kh as gl,Ki as gm,Kj as gn,L as ra,La as Xb,Lb as Xc,Lc as Xf,Ld as Xg,Le as Xh,Lf as hj,Lg as hk,Lh as hl,Li as hm,Lj as hn,M as sa,Ma as Yb,Mb as Yc,Mc as Yf,Md as Yg,Me as Yh,Mf as ij,Mg as ik,Mh as il,Mi as im,Mj as jn,N as ta,Na as Zb,Nb as Zc,Nc as Zf,Nd as Zg,Ne as Zh,Nf as jj,Ng as jk,Nh as jl,Ni as jm,Nj as kn,O as ua,Oa as _b,Ob as _c,Oc as _f,Od as _g,Oe as _h,Of as kj,Og as kk,Oh as kl,Oi as km,Oj as ln,P as va,Pa as $b,Pb as $c,Pc as $f,Pd as $g,Pe as $h,Pf as lj,Pg as lk,Ph as ll,Pi as lm,Pj as mn,Q as wa,Qa as ac,Qb as ad,Qc as ag,Qd as ah,Qe as ai,Qf as mj,Qg as mk,Qh as ml,Qi as mm,Qj as nn,R as xa,Ra as bc,Rb as bd,Rc as bg,Rd as bh,Re as bi,Rf as nj,Rg as nk,Rh as nl,Ri as nm,Rj as on,S as ya,Sa as cc,Sb as cd,Sc as cg,Sd as ch,Se as ci,Sf as oj,Sg as ok,Sh as ol,Si as om,Sj as pn,T as za,Ta as dc,Tb as dd,Tc as dg,Td as dh,Te as di,Tf as pj,Tg as pk,Th as pl,Ti as pm,Tj as qn,U as Aa,Ua as ec,Ub as ed,Uc as eg,Ud as eh,Ue as ei,Uf as qj,Ug as qk,Uh as ql,Ui as qm,Uj as rn,V as Ba,Va as fc,Vb as fd,Vc as fg,Vd as fh,Ve as fi,Vf as rj,Vg as rk,Vh as rl,Vi as rm,Vj as sn,W as Ca,Wa as gc,Wb as gd,Wc as gg,Wd as gh,We as gi,Wf as sj,Wg as sk,Wh as sl,Wi as sm,Wj as tn,X as Da,Xa as hc,Xb as hd,Xc as hg,Xd as hh,Xe as hi,Xf as tj,Xg as tk,Xh as tl,Xi as tm,Xj as un,Y as Ea,Ya as ic,Yb as qd,Yc as ig,Yd as ih,Ye as ii,Yf as uj,Yg as uk,Yh as ul,Yi as um,Yj as vn,Z as Fa,Za as jc,Zb as rd,Zc as jg,Zd as jh,Ze as ji,Zf as vj,Zg as vk,Zh as vl,Zi as vm,Zj as wn,_ as Ga,_a as kc,_b as sd,_c as kg,_d as kh,_e as ki,_f as wj,_g as wk,_h as wl,_i as wm,_j as xn,a as c,aa as Ia,ab as mc,ac as ud,ad as mg,ae as mh,af as si,ag as yj,ah as yk,ai as yl,aj as ym,ak as zn,b as d,ba as Ja,bb as nc,bc as vd,bd as ng,be as nh,bf as ti,bg as zj,bh as zk,bi as zl,bj as zm,bk as An,c as e,ca as Ka,cb as oc,cc as wd,cd as og,ce as oh,cf as ui,cg as Aj,ch as Ak,ci as Al,cj as Am,ck as Bn,d as f,da as La,db as pc,dc as xd,dd as pg,de as ph,df as vi,dg as Bj,dh as Bk,di as Bl,dj as Bm,dk as Cn,e as g,ea as Ma,eb as qc,ec as yd,ed as qg,ee as qh,ef as wi,eg as Cj,eh as Ck,ei as Cl,ej as Cm,ek as Dn,f as h,fa as Na,fb as rc,fc as zd,fd as rg,fe as rh,ff as xi,fg as Dj,fh as Dk,fi as Dl,fj as Dm,fk as En,g as i,ga as Oa,gb as sc,gc as Kd,gd as sg,ge as sh,gf as yi,gg as Ej,gh as Ek,gi as El,gj as Em,gk as Fn,h as j,ha as Pa,hb as tc,hc as Ld,hd as tg,he as th,hf as zi,hg as Fj,hh as Fk,hi as Fl,hj as Fm,hk as Gn,i as k,ia as Qa,ib as uc,ic as Md,id as ug,ie as uh,if as Ai,ig as Gj,ih as Gk,ii as Gl,ij as Gm,ik as Hn,j as l,ja as Ra,jb as vc,jc as Nd,jd as vg,je as vh,jf as Bi,jg as Hj,jh as Hk,ji as Hl,jj as Hm,jk as In,k as m,ka as Sa,kb as wc,kc as Od,kd as wg,ke as wh,kf as Ci,kg as Ij,kh as Ik,ki as Il,kj as Im,kk as Jn,l as n,la as Ta,lb as xc,lc as Pd,ld as xg,le as xh,lf as Di,lg as Jj,lh as Jk,li as Jl,lj as Jm,lk as Kn,m as o,ma as Ua,mb as yc,mc as Qd,md as yg,me as yh,mf as Ki,mg as Kj,mh as Kk,mi as Kl,mj as Km,mk as Ln,n as p,na as Va,nb as zc,nc as Rd,nd as zg,ne as zh,nf as Li,ng as Lj,nh as Lk,ni as Ll,nj as Lm,nk as Rn,o as G,oa as Wa,ob as Ac,oc as Sd,od as Ag,oe as Ah,of as Mi,og as Mj,oh as Mk,oi as Ml,oj as Mm,ok as Sn,p as H,pa as Xa,pb as Bc,pc as Td,pd as Bg,pe as Bh,pf as Ni,pg as Nj,ph as Nk,pi as Nl,pj as Nm,pk as Tn,q as I,qa as Ya,qb as Cc,qc as Ud,qd as Cg,qe as Ch,qf as Oi,qg as Oj,qh as Ok,qi as Ol,qj as Om,qk as Un,r as J,ra as Za,rb as Dc,rc as Vd,rd as Dg,re as Dh,rf as Pi,rg as Pj,rh as Pk,ri as Pl,rj as Pm,rk as Vn,s as K,sa as _a,sb as Ec,sc as Wd,sd as Eg,se as Eh,sf as Qi,sg as Qj,sh as Qk,si as Ql,sj as Qm,sk as Wn,t as L,ta as Ab,tb as Fc,tc as Xd,td as Fg,te as Fh,tf as Ri,tg as Rj,th as Rk,ti as Rl,tj as Rm,tk as Xn,u as M,ua as Bb,ub as Gc,uc as Yd,ud as Gg,ue as Gh,uf as Si,ug as Sj,uh as Sk,ui as Sl,uj as Sm,uk as Yn,v as N,va as Cb,vb as Hc,vc as Zd,vd as Hg,ve as Hh,vf as Ti,vg as Tj,vh as Tk,vi as Tl,vj as Tm,vk as Zn,w as O,wa as Db,wb as Ic,wc as _d,wd as Ig,we as Ih,wf as Ui,wg as Uj,wh as Uk,wi as Ul,wj as Um,wk as _n,x as P,xa as Eb,xb as Jc,xc as $d,xd as Jg,xe as Jh,xf as Vi,xg as Vj,xh as Vk,xi as Vl,xj as Vm,xk as $n,y as Q,ya as Fb,yb as Kc,yc as ae,yd as Kg,ye as Kh,yf as Wi,yg as Wj,yh as Wk,yi as Wl,yj as Wm,yk as ao,z as R,za as Gb,zb as Lc,zc as be,zd as Lg,ze as Lh,zf as Xi,zg as Xj,zh as Xk,zi as Xl,zj as Xm,zk as bo}from"./chunk-6A5WWFNS.js";import{$ as Id,$a as bf,A as ga,Aa as Ce,Ab as Df,B as ha,Ba as De,Bb as Ef,C as ia,Ca as Ee,Cb as Ff,D as ja,Da as Fe,Db as Gf,E as ka,Ea as Ge,Eb as Hf,F as la,Fa as He,Fb as If,G as Ob,Ga as Ie,Gb as Jf,H as Pb,Ha as Je,Hb as Kf,I as Qb,Ia as Ke,Ib as Lf,J as Rb,Ja as Le,Jb as Mf,K as Sb,Ka as Me,Kb as Ei,L as id,La as Ne,Lb as Fi,M as jd,Ma as Oe,Mb as Gi,N as kd,Na as Pe,Nb as Hi,O as ld,Oa as Qe,Ob as Ii,P as md,Pa as Re,Pb as Ji,Q as nd,Qa as Se,R as od,Ra as Te,S as pd,Sa as Ue,T as Ad,Ta as Ve,U as Bd,Ua as We,V as Cd,Va as Xe,W as Dd,Wa as Ye,X as Ed,Xa as Ze,Y as Fd,Ya as _e,Z as Gd,Za as $e,_ as Hd,_a as af,a as q,aa as Jd,ab as cf,b as r,ba as de,bb as df,c as s,ca as ee,cb as ef,d as t,da as fe,db as ff,e as u,ea as ge,eb as gf,f as v,fa as he,fb as hf,g as w,ga as ie,gb as jf,h as x,ha as je,hb as kf,i as y,ia as ke,ib as lf,j as z,ja as le,jb as mf,k as A,ka as me,kb as nf,l as B,la as ne,lb as of,m as C,ma as oe,mb as pf,n as D,na as pe,nb as qf,o as E,oa as qe,ob as rf,p as F,pa as re,pb as sf,q as S,qa as se,qb as tf,r as T,ra as te,rb as uf,s as U,sa as ue,sb as vf,t as V,ta as ve,tb as wf,u as W,ua as we,ub as xf,v as X,va as xe,vb as yf,w as ca,wa as ye,wb as zf,x as da,xa as ze,xb as Af,y as ea,ya as Ae,yb as Bf,z as fa,za as Be,zb as Cf}from"./chunk-LMR2TM3X.js";import{a,b,c as li,d as mi,e as ni,f as oi,g as pi,h as qi,j as Mn,k as Nn,l as On,m as Pn,n as Qn}from"./chunk-OBYJWIRB.js";import{a as hb,b as ib,c as jb,d as kb,e as lb,f as mb,g as nb,h as ob,i as pb,j as qb,k as rb,l as sb,m as tb,n as ub,o as vb,p as wb,q as xb,r as yb,s as zb}from"./chunk-RRII2DMC.js";import{c as $a,d as ab,e as bb,h as cb,i as db,j as eb,k as fb,l as gb}from"./chunk-KQCTDXVD.js";export{Ml as CODE_REFERENCE_LIMITS,Rb as COMMON_LOCALES,Ek as CONFIGURATION_POLICY,fg as CONTENT_DOCUMENT_BYTES,Tb as COUPON_TERM_LOCALES,Be as CUSTOMER_DATA_SOURCES,Cg as CreateInvoiceParamsSchema,Bg as CreateInvoicePreviewSchema,Pi as DEFAULT_FUNNEL_EXECUTION_POLICY,Jj as FUNNEL_API_CAPABILITIES,Wj as FUNNEL_EXECUTION_LIMITS,Xi as FUNNEL_LIMITS,Xj as FUNNEL_RECORDING_LIMITS,Tn as FUNNEL_SEGMENT_BYTES,Sn as FUNNEL_SEGMENT_LIMIT,Mm as FUNNEL_SERVER_KEY_HEADER,Zj as FUNNEL_TRANSITION_BUDGET_MESSAGE,Am as FunnelCalculationError,$n as FunnelLocalCalculationError,zg as InvoiceModeParamsSchema,Ag as InvoiceTemplateSchema,Sd as MSG_CHANNEL_METERS,Pd as MSG_CHANNEL_PROVIDERS,Bh as OFFERING_MAX_DEPTH,Dh as OFFERING_MAX_ITEMS,Ch as OFFERING_MAX_PRODUCTS,wf as POPUP_WIDTHS,vk as PUBLIC_PAYWALL_UNSUPPORTED_NODES,yg as ReissueInvoiceParamsSchema,Me as SCREEN_LIMITS,Le as SCREEN_SCHEMA_VERSION,G as SDK_PROTOCOL_HEADER,I as SDK_SUPPORT_HEADER,J as SDK_SUPPORT_POLICY,H as SDK_VERSION_HEADER,uf as SURFACE_PATHS,oe as SURFACE_VARIABLES,P as SdkProtocolError,Yi as UNBOUND_PRODUCT_VERSION_ID,N as addSupportMonths,Ra as aiCreditSystemConfigSchema,$k as aiMarkupSchema,_k as aiModelIdSchema,al as aiModelRatesSchema,bl as aiPricingConfigurationSchema,Zk as aiTokenPools,V as amountToMinor,ii as analyticsConfigSchema,ki as analyticsEventEnabled,v as apiErrorCatalog,w as apiErrorCodeForStatus,q as apiErrorCodeSchema,um as apiOperations,nm as apiPermissionSchema,zm as archiveSurfaceTemplateSchema,tc as autoTopupPurchaseLimitSchema,Fc as autoTopupStateSchema,Jn as autumnAmountToMinor,hn as autumnCustomerAutoTopupSchema,nn as autumnCustomerControlsSchema,pn as autumnCustomerMetadataSchema,mn as autumnCustomerOverageAllowedSchema,rn as autumnCustomerProductSummarySchema,qn as autumnCustomerProfileRecordSchema,jn as autumnCustomerSpendLimitSchema,ln as autumnCustomerUsageAlertSchema,kn as autumnCustomerUsageLimitSchema,on as autumnEntityControlsSchema,Kn as autumnMinorToAmount,Ln as autumnUsageUnitAmountDecimal,Uk as balanceAdjustmentCommandSchema,Vk as balanceAdjustmentStateSchema,md as balanceAllocationSchema,jd as balanceCommandSchema,rd as balanceGrantCommandSchema,qd as balanceGrantCreateSchema,ud as balanceGrantPageSchema,td as balanceGrantReadSchema,sd as balanceGrantSchema,pd as balanceOperationSchema,kd as balancePricingSegmentSchema,od as balanceQuoteSchema,ld as balanceReceiptUnitsSchema,nd as balanceRejectionReasonSchema,Wk as balanceSourceStateSchema,_m as bannerVersionReferenceSchema,mc as billingAccruedMinorSchema,lc as billingAmountMinorSchema,wc as billingAuthorizationSchema,vc as billingAuthorizationTermsSchema,nc as billingBudgetMinorSchema,Gc as billingControlInputSchema,Hc as billingControlsSchema,Pc as billingCouponsSchema,Y as billingCurrencies,Ic as billingInvoiceLineSchema,Jc as billingInvoiceSchema,Mc as billingInvoicesSchema,Ac as billingLimitSchema,aa as billingSettingsMutationSchema,_ as billingSettingsSchema,$ as billingSettingsScopeSchema,Ec as billingUsageWindowSchema,_e as borderSchema,ef as buttonNodeSchema,Bm as calculateFunnelNode,co as calculateLocalFunnelEvaluation,eo as calculateLocalFunnelSegment,Pb as canonicalLocale,pe as capabilityBindingSchema,rc as cashPriceSchema,pc as cashPricingSchema,oc as cashPricingTiersSchema,kc as cashUnitAmountMinorSchema,Cl as claimRewardProductRequestSchema,Pl as codeReferenceBranchSchema,Vl as codeReferenceConfigRequestSchema,Ul as codeReferenceConfigureSchema,$l as codeReferenceFeatureSummarySchema,Nl as codeReferenceKeySchema,Ql as codeReferencePathSchema,Yl as codeReferenceReceiptSchema,Ol as codeReferenceRepoSchema,Xl as codeReferenceReportSchema,Sl as codeReferenceRepositoryInputSchema,Tl as codeReferenceRepositorySchema,Wl as codeReferenceScanConfigSchema,Zl as codeReferenceScanSchema,_l as codeReferenceSettingsSchema,am as codeReferenceSummarySchema,fe as commerceAccessSchema,he as commerceContextSchema,mh as commerceCursorSchema,nh as commerceListQuerySchema,ge as commerceMoneySchema,An as commerceProductKind,ee as commerceProductKindSchema,de as commerceProviderSchema,sb as compileGrowthFeatures,Jb as conditionUsesMerchandise,Hk as configurationArtifactSchema,Nk as configurationDependencies,Gk as configurationDependenciesSchema,Lk as configurationDigest,Ik as configurationFunnelSchema,Mk as configurationGeneration,Kk as configurationJson,Dk as configurationPaywallSchema,Fk as configurationScopeSchema,Kc as confirmBillingAdjustmentInputSchema,yc as confirmBillingAuthorizationInputSchema,s as consoleErrorCodeSchema,E as consoleErrorResponseSchema,Yg as consoleRefundRequestSchema,ng as contentCollectionSchema,hg as contentContractSchema,ig as contentDocumentDraftSchema,kg as contentDocumentSchema,eg as contentKindSchema,mg as contentRecordSchema,lg as contentSummarySchema,jg as contentValueMatches,gg as contentValueSchema,og as contentVersionSchema,pg as contentVersionSummarySchema,qg as contentWriteSchema,mf as countdownNodeSchema,_b as couponAppliesToSchema,ec as couponChangeErrors,lf as couponCodeNodeSchema,gi as couponContentDigestSchema,Yb as couponDiscountSchema,tk as couponDisplaySchema,Zb as couponDurationSchema,ac as couponEligibilitySchema,bc as couponInputSchema,Lb as couponMerchandiseCondition,Mb as couponMerchandiseScope,$b as couponPublicAppliesToSchema,bm as couponRedemptionCommandSchema,cm as couponRedemptionReceiptSchema,Xb as couponStatusSchema,hc as couponWindow,qm as createCustomerRequestSchema,rm as createCustomerResponseSchema,El as createReferralCodeRequestSchema,ca as creditAmountSchema,el as creditAnalyticsFilterSchema,gl as creditAnalyticsPageSchema,fl as creditAnalyticsQuerySchema,cl as creditAnalyticsRangeSchema,dl as creditAnalyticsTimezoneSchema,ia as creditDimensionSchema,ja as creditMultiplierSchema,ea as creditPriceAdjustmentSchema,ka as creditPricingSchema,ga as creditPropertiesSchema,da as creditQuantitySchema,la as creditRateSchema,Rc as creditResetCountSchema,Qc as creditResetSchema,fa as creditResourceKeySchema,Sc as creditRolloverSchema,Ka as creditSchemaItemSchema,yd as creditStatementInputSchema,zd as creditStatementSchema,Qa as creditSystemConfigSchema,ha as creditTiersSchema,S as currencies,Z as currencyAmountOptionsSchema,U as currencyDecimals,T as currencySchema,vm as currentApiOperations,jf as customHtmlNodeSchema,Ha as customerActivitySchema,fj as customerAttributesSchema,De as customerDataConfigSchema,Ge as customerDataIntentSchema,gf as customerDataNodeSchema,lj as customerDataReferenceMessage,kj as customerDataReferenced,jj as customerDataSchema,Ce as customerDataSourceSchema,tm as customerEntitlementsSchema,sj as customerFiltersSchema,gj as customerFingerprintSchema,qj as customerGetSchema,Ed as customerHoldingsSchema,hj as customerInputSchema,Id as customerLedgerEntrySchema,Jd as customerLedgerPageSchema,Hd as customerLedgerQuerySchema,oj as customerLookupSchema,nj as customerMutationSchema,Fe as customerPageDataSchema,Ee as customerPageNodeStateSchema,tj as customerPageSchema,pj as customerPatchSchema,Ga as customerPlanSchema,mj as customerProfileSchema,ij as customerReferenceSchema,ej as customerTagsSchema,rj as customerUpdateRequestSchema,Rl as defaultCodeReferenceMethods,Lm as deliveredFunnelResponse,Sk as deliveredPaywall,zi as deliveredScreenDocument,Nb as deriveSavedGroupSubjects,fc as describeCoupon,bd as diffProductVariant,ff as dividerNodeSchema,He as emptyCustomerPageNode,je as entitlementCheckInputSchema,ke as entitlementCheckReasonSchema,me as entitlementCheckResultSchema,ie as entitlementRequirementSchema,Da as entitlementSnapshotSchema,sm as entitlementStatusSchema,a as environmentSchema,z as errorCodeMatchesStatus,F as errorMetadata,B as errorMetadataSchema,y as errorPolicy,u as errorReasonSchema,t as errorRecoverySchema,C as errorResponseSchema,Je as escapeHtmlText,fn as estimateMsgSmsSegments,db as evalCondition,gb as evalFeature,ti as evaluateFeaturesRequestSchema,vi as evaluateFeaturesResultSchema,bo as evaluateLocalFunnelNode,Hm as executionSourceSchema,_n as expandFunnelSegment,rb as experimentConfigurationSchema,qb as experimentPhaseSchema,vb as experimentSnapshotSchema,Va as featureCollectionSchema,Oa as featureConfigOverrideSchema,Sa as featureDefinitionSchema,ri as featureDeliveryPayloadSchema,Ia as featureIdSchema,wa as featureInputSchema,Na as featureMarkupsOverrideSchema,Wa as featureOptionsSchema,qi as featurePayloadSchema,Ua as featureRecordSchema,xa as featureSchema,Ta as featureUpdateRulesSchema,Ad as featureUsageReadSchema,Bd as featureUsageSetSchema,Cd as featureUsageStateSchema,Ja as featureUsageTypeSchema,Xa as featureWriteSchema,Cf as fieldValue,Ye as fillSchema,Dd as financialAmountSchema,Gd as financialCursorSchema,Fd as financialEntryTypeSchema,Kf as findDocumentNode,Jf as findNode,en as formatCouponConditions,Vb as formatCouponDiscount,Ub as formatCouponMoney,Wb as formatCouponTerms,X as formatCurrencyMinor,Dn as formatProductBillingPeriod,gc as formatUsd,Kj as funnelApiBindingSchema,Hj as funnelApiProjectionSchema,an as funnelAuthorDraftSchema,Aj as funnelBundleDefinitionSchema,Ej as funnelBundleLiterals,Dj as funnelBundleResultSchema,Bj as funnelBundleSelectionSchema,Qm as funnelCampaignCommandSchema,Sm as funnelCampaignStartDeliverySchema,Rm as funnelCampaignStartResponseSchema,Lj as funnelCapabilitySchema,rk as funnelCommandSchema,Um as funnelConfigurationSchema,$j as funnelConsumedVariables,$m as funnelContentDraftSchema,bn as funnelContentPublishedSchema,Zm as funnelContentReferenceSchema,Zn as funnelContextDelta,Nm as funnelCredentialCommandSchema,Pm as funnelCredentialDeliverySchema,Om as funnelCredentialResponseSchema,qk as funnelDataQueriesSchema,wj as funnelDecideShape,xj as funnelDecisionCommandSchema,aj as funnelDecisionEvaluationSchema,uj as funnelDecisionOutputSchema,yj as funnelDecisionResponseSchema,vj as funnelDecisionSchema,dj as funnelDecisionSegmentEvaluationSchema,zj as funnelDecisionUsedResponseSchema,ik as funnelDocumentDraftSchema,mk as funnelDocumentSchema,Ci as funnelEvaluationAttributes,$i as funnelEvaluationInstructionSchema,Zi as funnelEvaluationModeSchema,_i as funnelEvaluationResultSchema,Oi as funnelExecutionPolicySchema,fk as funnelExecutionStateSchema,Nj as funnelExternalPageUrlSchema,Ni as funnelExternalTaskSchema,Qj as funnelGraphDraftSchema,Pj as funnelGraphNodeSchema,Rj as funnelGraphSchema,Sj as funnelGraphTargets,Gm as funnelInstructionSchema,Cm as funnelInvocationId,Vm as funnelLocalConfigurationSchema,Dm as funnelLocalScreenCommandSchema,Em as funnelLocalScreenResponseSchema,cj as funnelLocalSegmentStepSchema,dk as funnelNodeInputSchema,bk as funnelNodeKindSchema,Tf as funnelNodeProjections,ek as funnelNodeResultSchema,_j as funnelNodeVisitAllowed,Qf as funnelNodeWritesSchema,Oj as funnelOpenInSchema,Ti as funnelOrchestrationCommandSchema,Hi as funnelParametersFromUrl,pk as funnelPresentationSubmissionSchema,Fj as funnelProjectionFilterValueSchema,Gj as funnelProjectionWhereSchema,ok as funnelPublicationDraftSchema,kk as funnelPublicationRules,nk as funnelPublicationSchema,lk as funnelPublishableDraftSchema,Un as funnelPureNode,ck as funnelResourceReferenceSchema,sn as funnelResultsCursorSchema,tn as funnelResultsQuerySchema,Wi as funnelResultsResponseSchema,un as funnelResultsSchema,Im as funnelRunViewSchema,Km as funnelRuntimeDeliverySchema,Jm as funnelRuntimeResponseSchema,Fm as funnelRuntimeStatusSchema,ag as funnelScreenReads,$f as funnelScreenTokens,bg as funnelScreenValues,fo as funnelSegmentConfigurationSchema,bj as funnelSegmentEvaluationInstructionSchema,Vn as funnelSegmentPositionSchema,Xn as funnelSegmentSchema,Wn as funnelSegmentStepSchema,Ui as funnelSignalResponseSchema,Yn as funnelStepId,Mi as funnelTaskBindingSchema,Ki as funnelTaskDataSchema,Li as funnelTaskOutputsSchema,Qi as funnelTaskResponseSchema,Vi as funnelTaskResultsSchema,Wm as funnelTopology,Tm as funnelTopologySchema,gk as funnelTraceEventSchema,Wf as funnelValueBindingSchema,Nf as funnelValueDeclarationSchema,Rf as funnelValueMatches,Vf as funnelValuePathSchema,Bi as funnelValueSchema,Of as funnelVariableDeclarationSchema,Pf as funnelVariableDeclarationsSchema,_f as funnelVariableRead,Sf as funnelVariableValues,Yj as funnelVisitAllowed,ak as funnelWaitKindSchema,mi as gbRuntimeExperimentResultSchema,li as gbRuntimeExperimentSchema,ni as gbRuntimeFeatureRuleSchema,oi as gbRuntimeFeatureSchema,pi as gbRuntimeSavedGroupsSchema,$a as getQueryStringOverride,eb as getStickyBucketAttributes,ib as growthAttributesSchema,lb as growthConditionGroupIds,Ab as growthConditionPaths,jb as growthConditionSchema,tb as growthExperimentStop,ub as growthFeatureExpiry,nb as growthFeatureRuleSchema,ob as growthFeatureSchema,pb as growthFeaturesSchema,kb as growthGroupSchema,yb as growthRuleContextSchema,mb as growthSavedGroupsSchema,wb as growthSnapshotSchema,zb as growthSplitResultSchema,Kb as guardMerchandiseCondition,Ie as htmlVariableErrors,Tk as hydratePaywall,Oe as identifierSchema,df as imageNodeSchema,Xe as imagePositionSchema,Ve as insetsSchema,hm as invoiceCommandSchema,vd as invoiceDetailInputSchema,xd as invoiceDetailSchema,km as invoiceOperationSchema,wd as invoiceProductItemSchema,Xg as invoiceRefundsSchema,gm as invoiceTemplateCommandSchema,fm as invoiceTemplatePageSchema,dm as invoiceTemplateValuesSchema,sc as isInvoiceCreditPrice,Ib as isMerchandiseAttribute,we as isProductGroup,zn as isRecurringMembership,Lf as isRtlLocale,M as isStableSdkProtocol,bb as isURLTargeted,qc as itemBillingCycleSchema,dg as jsonStorageBytes,hb as jsonValueSchema,ba as licenseOfferSchema,Lc as listBillingInvoicesInputSchema,x as localErrorRecovery,Sb as localeLabel,Ob as localeSchema,Df as localeStatuses,If as localizeScreen,Cc as manageBillingLimitsInputSchema,Bc as manageOveragePolicyInputSchema,jm as managedInvoiceDetailSchema,lm as managedInvoicePageSchema,im as managedInvoiceSchema,em as managedInvoiceTemplateSchema,r as managementErrorCodeSchema,D as managementErrorResponseSchema,We as marginSchema,Qb as matchLocale,Di as matchesGrowthCondition,cn as materializeFunnelContent,qa as membershipActionSchema,Bn as membershipBillingCount,ra as membershipChangeSchema,sa as membershipHoldingSchema,oa as membershipRulesSchema,ta as membershipStateSchema,pa as membershipTimingSchema,Cb as merchandiseInputSchema,Eb as merchandiseReferenceSchema,Db as merchandiseSchema,Bb as merchandiseStatusSchema,n as messagingPreferenceSchema,o as messagingPreferenceSetSchema,va as metadataSchema,Pa as meteredConfigSchema,W as minorToAmount,Ma as modelMarkupsSchema,Zd as msgAudienceSchema,_d as msgBroadcastDraftSchema,Nd as msgChannelSchema,Xd as msgContentSchema,ae as msgDispatchStateSchema,Td as msgEmailContentSchema,Rd as msgMeterSchema,Qd as msgPhoneSchema,$d as msgPreferenceInputSchema,Od as msgProviderSchema,Wd as msgPushContentSchema,be as msgReceiptKindSchema,Yd as msgSendInputSchema,Ud as msgSmsContentSchema,ce as msgUsageSummarySchema,gn as msgVoiceBillableSeconds,Vd as msgVoiceContentSchema,wn as nativeCompletionSchema,rg as nativeCouponStoreOfferLinkWriteSchema,sg as nativeCouponStoreOfferLinksSchema,vn as nativeProofSchema,xg as nativePurchaseInstructionSchema,xn as nativeReceiptCommandSchema,yn as nativeReceiptResponseSchema,xh as nativeRestoreCommandSchema,yh as nativeRestoreResultSchema,vg as nativeStoreOfferForProduct,tg as nativeStoreOfferSelectionSchema,ug as nativeStoreOfferSelectionsSchema,wg as nativeStoreSelectionMatches,Pg as nativeSubscriptionUpdatePreviewSchema,Qg as nativeSubscriptionUpdateResultSchema,dc as newCouponInput,ji as newEnvironmentAnalyticsConfig,Ne as nodeIdSchema,jk as offerCopyUnscoped,ic as offerSchema,jc as offerUnavailableReasonSchema,Mh as offeringCollectionSchema,Ih as offeringDocumentSchema,Eh as offeringItemSchema,Fh as offeringItemsSchema,Ah as offeringMetadataSchema,Jh as offeringProductEvidenceSchema,zh as offeringProductIdSchema,Gh as offeringProductIds,Qh as offeringProductOptionSchema,Hh as offeringProductPaths,Sh as offeringPublicationIssues,Kh as offeringRecordSchema,Ph as offeringSelectorSchema,Th as offeringValueSchema,Lh as offeringVersionSchema,Rh as offeringWorkspaceSchema,Oh as offeringWriteResultSchema,Nh as offeringWriteSchema,id as overageBehaviorSchema,Dc as overagePolicySchema,hk as ownedFunnelScreenSchema,Gn as pageExperimentEventSchema,Hn as pageExperimentEventsRequestSchema,In as pageExperimentEventsResponseSchema,Fn as pageExperimentPayloadSchema,En as pageExperimentSchema,Te as paintColorSchema,Ok as parsePublicFunnel,A as parseRetryAfter,gh as paymentSetupCommandSchema,hh as paymentSetupReadSchema,jh as paymentSetupSchema,le as paywallCandidateSchema,Yh as paywallClientActionSchema,ci as paywallCollectionSchema,Rk as paywallDeliverySchema,Zh as paywallDocumentDraftSchema,_h as paywallDocumentSchema,ai as paywallFlowIssues,fi as paywallLibrarySchema,$h as paywallProductIssues,Uh as paywallProductsSchema,bi as paywallRecordSchema,ne as paywallRequestSchema,Qk as paywallResolutionSchema,Pk as paywallResolveInputSchema,di as paywallSummarySchema,ei as paywallWriteSchema,Aa as planConfigSchema,Ba as planInputSchema,za as planItemSchema,nf as planPickerNodeSchema,Ca as planSchema,Ea as planVersionSchema,gd as prepaidAllowanceAmount,Za as prepaidPriceAmount,_a as prepaidQuantityAmount,hd as prepaidQuantitySchema,Ya as prepaidTierPricingSchema,uc as prepareBillingAuthorizationInputSchema,ao as prepareLocalFunnelNodes,cb as prepareSavedGroups,xc as preparedBillingAuthorizationSchema,vf as presentationSchema,kf as priceNodeSchema,ya as priceSchema,Vc as productAllowanceSchema,ed as productCollectionSchema,Yc as productConfigurationSchema,$c as productDefinitionSchema,fd as productEditorOptionsSchema,Ae as productGroupingMatches,ze as productGroupingSchema,Xc as productLicenseSchema,cd as productOptionsSchema,Uc as productPrepaidPriceSchema,Tc as productPricesSchema,dd as productRecordSchema,Wh as productSelectionSchema,Wc as productTrialSchema,Zc as productVariantOverridesSchema,_c as productVariantSchema,Ij as projectFunnelApiOutputs,Xm as projectFunnelConfiguration,Ym as projectFunnelLocalConfiguration,cc as promotionCodeInputSchema,L as protocolForSdkVersion,La as providerMarkupsSchema,hi as publicCouponScreenDataSchema,si as publicFeatureConfigurationSchema,Rn as publicFunnelDocument,xk as publicPaywallBenefitSchema,Bk as publicPaywallButtonSchema,yk as publicPaywallChannelsSchema,Ak as publicPaywallCouponSchema,wk as publicPaywallPriceSchema,zk as publicPaywallProductSchema,Ck as publicPaywallSchema,Ai as publicScreenDocument,yi as publicScreenIssues,Ef as publishChecks,ph as purchaseListItemSchema,vh as purchaseListPageSchema,i as pushAddressRequestSchema,f as pushBindRequestSchema,h as pushDetachRequestSchema,e as pushInstallationProofSchema,m as pushInstallationStateSchema,c as pushPermissionSchema,d as pushPlatformSchema,p as pushProofPayload,g as pushReadRequestSchema,k as pushRecoveryConfirmSchema,j as pushRecoveryRequestSchema,l as pushRecoveryRequestedSchema,Qe as radiusSchema,Xf as readFunnelValuePath,Bl as redeemRewardRequestSchema,Fl as referralCodeSchema,Hl as referralProgramCollectionSchema,ul as referralProgramInputSchema,wl as referralProgramRecordSchema,zl as referralProgramWriteSchema,ui as remoteFeatureResultSchema,cg as renameFunnelScreenVariable,yf as replaceFirstPageRoot,uk as resolveCouponDisplay,Cj as resolveFunnelBundle,Mj as resolveFunnelCapabilityInputs,Si as resolveFunnelTaskInputs,Yf as resolveFunnelValueBinding,Zf as resolveFunnelValueBindings,ad as resolveProductVariant,Hf as resolveScreenLocale,Q as resolveSdkProtocol,pm as responseMetaSchema,zc as revokeBillingAuthorizationInputSchema,Jl as rewardActivityRedemptionSchema,Kl as rewardActivitySchema,tl as rewardCodeInputSchema,Il as rewardCodeSchema,Ll as rewardCodeWriteSchema,Gl as rewardCollectionSchema,ql as rewardConfigurationSchema,ol as rewardGrantExpirySchema,pl as rewardGrantSchema,sl as rewardInputSchema,rl as rewardKeySchema,xl as rewardOptionSchema,Dl as rewardProductCheckoutSchema,vl as rewardRecordSchema,Al as rewardRedemptionSchema,nl as rewardStatusSchema,ml as rewardTypeSchema,yl as rewardWriteSchema,fb as runExperiment,Cn as sameMembershipBillingCycle,ym as saveSurfaceTemplateSchema,b as scopeSchema,rf as screenActionSchema,Fi as screenAnswersSchema,Ei as screenDataCursorSchema,zf as screenDocumentSchema,Re as screenImageSourceSchema,Ii as screenInputBindingsSchema,qf as screenNodeSchema,Gi as screenParametersSchema,Xh as screenPresentationSchema,xe as screenProductScopes,ye as screenProductSelections,Ji as screenRendererInputSchema,Mf as screenSelections,sf as screenStringsSchema,Jk as sdkConfigurationManifestSchema,K as sdkProtocolRegistry,R as sdkProtocolResponseHeaders,Ld as seatCommandSchema,Kd as seatReadSchema,Md as seatsStateSchema,Uj as selectFunnelCondition,Vh as selectedPaywallProduct,ve as selectedSurfaceValue,Gf as servableLocales,Oc as setBillingCouponsInputSchema,$e as shadowSchema,Ze as shapeSchema,Ue as sizeSchema,Pe as spaceSchema,hf as spacerNodeSchema,ua as stableKeySchema,of as stackInteractionSchema,pf as stackNodeSchema,xb as stickyAssignmentDocumentSchema,Gg as stripeAppendContextSchema,Fg as stripeCouponTermsSchema,Hg as stripePurchaseExecutionSchema,Ug as stripeRefundExecutionSchema,ih as stripeSetupExecutionSchema,Mg as stripeSubscriptionUpdateExecutionSchema,Ng as stripeSubscriptionUpdatePreviewSchema,Og as stripeSubscriptionUpdateResultSchema,dh as stripeTrialExecutionSchema,bf as styleSchema,Dg as subscriptionAttachCommandSchema,Ig as subscriptionAttachQuoteSchema,Zg as subscriptionBatchCommandSchema,$g as subscriptionBatchGroupSchema,_g as subscriptionBatchReadSchema,ah as subscriptionBatchSchema,Kg as subscriptionCarryOptionsSchema,wh as subscriptionConflictPageSchema,rh as subscriptionConflictQuerySchema,th as subscriptionConflictRetryResultSchema,sh as subscriptionConflictRetrySchema,qh as subscriptionConflictSchema,Nc as subscriptionCouponExecutionSchema,mm as subscriptionInvoiceModeSchema,oh as subscriptionListItemSchema,uh as subscriptionListPageSchema,Eg as subscriptionOperationInputSchema,Jg as subscriptionOperationSchema,Tg as subscriptionRefundCommandSchema,Vg as subscriptionRefundPreviewSchema,Wg as subscriptionRefundResultSchema,bh as subscriptionTrialCommandSchema,fh as subscriptionTrialPolicySchema,ch as subscriptionTrialReadSchema,eh as subscriptionTrialResultSchema,Lg as subscriptionUpdateCommandSchema,Rg as subscriptionUpdatePreviewSchema,Sg as subscriptionUpdateResultSchema,kh as subscriptionVerificationInputSchema,lh as subscriptionVerificationSchema,Ke as substituteHtmlVariables,ue as substituteSurfaceVariables,re as surfaceDataSchema,tf as surfaceSchema,xm as surfaceTemplateSchema,qe as surfaceValueSchema,se as surfaceVariableNames,Gb as targetingAttributeSourceSchema,Fb as targetingEntitySchema,Hb as targetingSubjectSchema,Ff as templateChecks,wm as templateCoverImageSchema,cf as textNodeSchema,af as textStyleSchema,Se as themeSchema,ab as toAttributeString,wi as trackEventsRequestSchema,xi as trackEventsResultSchema,Vj as transitionFunnelGraph,Bf as translatableFields,ma as trialPolicySchema,na as trialRecordSchema,te as unknownSurfaceVariables,il as usageAnalyticsPageSchema,hl as usageAnalyticsQuerySchema,ll as usageBatchPageSchema,kl as usageBatchReadSchema,jl as usageBatchSubmitSchema,Xk as usageEntityCommandSchema,Yk as usageEntitySchema,dn as validateFunnelContentPublication,Tj as validateFunnelGraph,Uf as validateFunnelProjections,Ri as validateFunnelTaskData,sk as validateScreenAnswers,O as validateSdkProtocolRegistry,Fa as validitySchema,om as verifiedPrincipalSchema,Nn as visualChangeSchema,Qn as visualExperimentPayloadSchema,Pn as visualExperimentSchema,Mn as visualMutationSchema,On as visualVariationSchema,xf as walkDocument,Af as walkScreen};
package/dist/visual.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as pe,b as me,c as he,d as ge,f as be}from"./chunk-X747SY26.js";import"./chunk-OBYJWIRB.js";import"./chunk-EXCPE2XH.js";import"./chunk-RRII2DMC.js";import{h as de,k as fe,m as D}from"./chunk-KQCTDXVD.js";async function ye(e,t,r,n={}){let o=n.message??"Invalid SDK JSON response",a=e.headers.get("content-length");if(!e.ok||!/^application\/json(?:;|$)/i.test(e.headers.get("content-type")??"")||a!==null&&(!/^\d+$/.test(a)||Number(a)>t)||!e.body)throw e.body?.cancel().catch(()=>{}),Error(o);let i=e.body.getReader(),s=[],l=0,u=!1,p=()=>{},d=new Promise((f,y)=>{p=()=>y(Error(o)),r.addEventListener("abort",p,{once:!0}),r.aborted&&p()});try{for(;;){let w=await Promise.race([i.read(),d]);if(w.done){u=!0;break}if(l+=w.value.byteLength,l>t)throw Error(o);s.push(w.value)}let f=new Uint8Array(l),y=0;for(let w of s)f.set(w,y),y+=w.length;return JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(f))}finally{r.removeEventListener("abort",p),u||i.cancel().catch(()=>{}),i.releaseLock()}}async function ve(e,t){let r=e?.body;if(!r)return;let n=r.getReader(),o=0,a=!1,i,s=new Promise((p,d)=>{i=setTimeout(()=>d(Error("Exposure response timeout")),2e3)}),l=()=>{},u=new Promise((p,d)=>{l=()=>d(t?.reason),t?.addEventListener("abort",l,{once:!0}),t?.aborted&&l()});try{for(;;){let p=await Promise.race([n.read(),s,u]);if(p.done){a=!0;return}if(o+=p.value.byteLength,o>16384)throw Error("Exposure response budget")}}finally{clearTimeout(i),t?.removeEventListener("abort",l),a||n.cancel().catch(()=>{}),n.releaseLock()}}var we=2*1024*1024,Rt=256*1024;async function Ee(e,t,r,n){let o=()=>{},a=new Promise((i,s)=>{o=()=>s(n.reason),n.addEventListener("abort",o,{once:!0}),n.aborted&&o()});try{let i=e(t,{...r,signal:n});return i.then(s=>{n.aborted&&s.body?.cancel().catch(()=>{})},()=>{}),await Promise.race([i,a])}finally{n.removeEventListener("abort",o)}}async function Ae(e,t,r,n=!1){if(new TextEncoder().encode(r).byteLength>65536)throw Error("Exposure request budget");let o=new AbortController,a=setTimeout(()=>o.abort(Error("Exposure request timeout")),5e3);try{let i=await Ee(e,t,{method:"POST",headers:{"Content-Type":"text/plain"},body:r,credentials:"omit",keepalive:n,redirect:"error"},o.signal);await ve(i,o.signal)}finally{clearTimeout(a)}}function Me(e){let t,r=!1;return{async read(n,o){if(r)throw Error("Experiment client stopped");t?.abort(Error("Experiment request superseded"));let a=new AbortController;t=a;let{signal:i}=a,s=setTimeout(()=>a.abort(Error("Experiment request timeout")),5e3);try{let l=await Ee(e,n,{cache:"no-cache",credentials:"omit",redirect:"error"},i),u=await ye(l,o,i);return i.throwIfAborted(),u}finally{clearTimeout(s),t===a&&(t=void 0)}},destroy(){r=!0,t?.abort(Error("Experiment client stopped")),t=void 0}}}function C(e,t=()=>{}){let r=new WeakMap,n=0,o=a=>{let i=r.get(a);if(i!==void 0)return i;let s=[],l=a,u=!0;for(;l;){let p=r.get(l);if(p!==void 0){u=p;break}if(++n>8192||s.length>=256)throw Error("IAM render ancestry budget exceeded");if(s.push(l),t(),l.hasAttribute("hidden")||/(?:^|;)\s*display\s*:\s*none\s*(?:!\s*important\s*)?(?:;|$)/i.test(l.getAttribute("style")??"")){u=!1;break}l=l.parentElement}for(let p of s)r.set(p,u);return u};return a=>{let i=0,s=e.querySelectorAll(a);for(let l=0;l<s.length;l++){let u=s[l];if(!u)throw Error("IAM render selection changed");o(u)&&i++,t()}return i}}var ze=e=>!!e&&typeof e=="object"&&!Array.isArray(e);function J(e){if(!ze(e)||Object.keys(e).some(a=>!["schemaVersion","renderKey","routeTemplate","selectors","present","absent"].includes(a))||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(a=>typeof a!="string"||a.length>512||!/^[a-z][a-z0-9-]*\[(?:id|data-testid|data-test|data-qa|data-indiana-id)="(?:[^"\\\x00-\x1f\x7f]|\\["\\])*"\]$/.test(a))||!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,o=[...r,...n];if(new Set(t).size!==t.length||o.length!==t.length||new Set(o).size!==o.length||o.some(a=>typeof a!="number"||!Number.isInteger(a)||a<0||a>=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 He(e,t){let r=e.split("/").filter(Boolean),n="";for(let o of r)/^\[\[\.\.\.[^\[\]]+\]\]$/.test(o)?n+="(?:/[^/]+)*":/^\[\.\.\.[^\[\]]+\]$/.test(o)?n+="(?:/[^/]+)+":/^\[[^\[\]]+\]$/.test(o)?n+="/[^/]+":n+="/"+o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+(n?n+"/?":"/")+"$").test(t)&&!/[\[\]]/.test(t)}function Ve(e,t,r,n,o=C(t,n)){if(!He(e.routeTemplate,r))return!1;let a=new Set(e.present),i=!0;for(let s=0;s<e.selectors.length;s++){let l=o(e.selectors[s]);if(a.has(s)&&l>1)throw new Error("IAM render anchor is ambiguous");(a.has(s)?l!==1:l!==0)&&(i=!1),n()}return i}var Y=new WeakMap,Z=new WeakSet;function Q(e){Z.add(e)}function $e(e){let t=new Set,r=new Set,n,o=0,a=!1,i=()=>{t.size||o||(n?.disconnect(),e.removeEventListener("visibilitychange",l),Y.delete(e))};function s(u){if(e.hidden)return;let p=performance.now(),d=new Map,f=new Map,y=()=>{if(performance.now()-p>8)throw Error("IAM page check exceeded its work budget")},w=c=>{y();let h=d.get(c);return h||(h=e.querySelectorAll(c),d.set(c,h)),y(),h},R=C({querySelectorAll:w},y),b={query:w,checkpoint:y,matches(c,h){let m=f.get(h);if(!m){try{m={match:Ve(c,e,location.pathname,y,R)}}catch(g){m={error:g}}f.set(h,m)}if("error"in m)throw m.error;return m.match}},k=[],v=[],M=[];for(let c of u)if(t.has(c))try{k.push({job:c,commit:c.prepare(b)})}catch(h){v.push({job:c,error:h})}try{y()}catch(c){for(let h of[...t])h.fail(c);return}for(let{job:c,error:h}of v)t.has(c)&&c.fail(h);for(let{job:c,commit:h}of k)if(t.has(c))try{y(),h(m=>M.push(m))}catch(m){c.fail(m)}for(let c of M)c()}function l(){a||!t.size||e.hidden||(a=!0,queueMicrotask(()=>{a=!1,s([...t])}))}return{begin(){o++},end(){--o===0&&(r.clear(),s([...t])),i()},add(u){return n||(n=new MutationObserver(p=>{let d=f=>Z.has(f)||!!(f.parentNode&&Z.has(f.parentNode));p.some(f=>!d(f.target)&&!(f.type==="childList"&&[...f.addedNodes,...f.removedNodes].length>0&&[...f.addedNodes,...f.removedNodes].every(d)))&&l()}),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",l)),t.add(u),o?r.add(u):s([u]),()=>{t.delete(u),r.delete(u),i()}}}}function Se(){let e=Y.get(document);return e||(e=$e(document),Y.set(document,e)),e}function ke(e){return Se().add(e)}function Re(e){let t=Se();t.begin();try{e()}finally{t.end()}}async function We(e,t,r){let n=new URL(e,t.baseURI),o=t.defaultView?.location.origin,a=/^\/\.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(!a||n.origin!==o||n.search||n.hash||n.username||n.password)throw Error("Invalid IAM release URL");let i=AbortSignal.any([r,AbortSignal.timeout(2e3)]),s=await fetch(n,{credentials:"omit",redirect:"error",cache:"force-cache",signal:i}),l=s.headers.get("content-length");if(!s.ok||!/^application\/json(?:;|$)/i.test(s.headers.get("content-type")??"")||l!==null&&(!/^\d+$/.test(l)||Number(l)>512))throw s.body?.cancel().catch(()=>{}),Error("IAM release is unavailable");let u=s.body?.getReader();if(!u)throw Error("IAM release is unavailable");let p=[],d=0,f=()=>{},y=new Promise((M,c)=>{f=()=>c(Error("IAM release timeout")),i.addEventListener("abort",f,{once:!0}),i.aborted&&f()}),w=!1;try{for(;;){let M=await Promise.race([u.read(),y]);if(M.done){w=!0;break}if(d+=M.value.length,d>512)throw Error("IAM release budget");p.push(M.value)}}finally{i.removeEventListener("abort",f),w||u.cancel().catch(()=>{}),u.releaseLock()}let R=new Uint8Array(d),b=0;for(let M of p)R.set(M,b),b+=M.length;let k=new TextDecoder("utf-8",{fatal:!0}).decode(R),v=JSON.parse(k);if(k.trim()!==JSON.stringify(v))throw Error("Noncanonical IAM release descriptor");if(!v||typeof v!="object"||Array.isArray(v)||Object.keys(v).sort().join(",")!=="format,manifestDigest,releaseId,schemaVersion"||Reflect.get(v,"format")!=="indiana-app-manifest-release"||Reflect.get(v,"schemaVersion")!==2||Reflect.get(v,"releaseId")!==a||!/^[a-f0-9]{64}$/.test(String(Reflect.get(v,"manifestDigest"))))throw Error("Invalid IAM release descriptor");return Reflect.get(v,"manifestDigest")}var xe=new WeakMap;function Ie(e,t=document){if(!/^[a-f0-9]{64}$/.test(e))throw new Error("Invalid IAM manifest digest");let r=xe.get(t);r||(r=new Map,xe.set(t,r));let n="data-indiana-release",o=t.documentElement,a=()=>new Set((o.getAttribute(n)??"").split(/\s+/).filter(Boolean)),i=r.get(e);if(!i){let l=a();i={count:0,owned:!l.has(e)},r.set(e,i),l.add(e),o.setAttribute(n,[...l].join(" "))}i.count++;let s=!1;return{attributes:{indianaAppManifestRelease:e},destroy(){if(!s&&(s=!0,i.count--,!i.count&&(r.delete(e),i.owned))){let l=a();l.delete(e),l.size?o.setAttribute(n,[...l].join(" ")):o.removeAttribute(n)}}}}var Fe=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,te={revert:function(){}},H=new Map,re=new Set;function Ke(e){return e==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}function $(e){var t=H.get(e);return t||(t={element:e,attributes:{}},H.set(e,t)),t}function W(e,t,r,n,o){var a=r(e),i={isDirty:!1,originalValue:a,virtualValue:a,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if(!mt&&!(t==="position"&&i._positionTimeout)){t==="position"&&(i._positionTimeout=setTimeout(function(){i._positionTimeout=null},1e3));var s=r(e);t==="position"&&s.parentNode===i.virtualValue.parentNode&&s.insertBeforeNode===i.virtualValue.insertBeforeNode||s!==i.virtualValue&&(i.originalValue=s,o(i))}}),mutationRunner:o,setValue:n,getCurrentValue:r};return t==="position"&&e.parentNode?i.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):i.observer.observe(e,Ke(t)),i}function F(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,Te()):e!==r&&(t.isDirty=!0,Te())}function _e(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),F(ut(t),e)}function Ye(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(r){return r.mutate(t)}),F(Array.from(t).filter(Boolean).join(" "),e)}function Ze(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),F(t,e)}function Qe(e){var t=e.parentSelector,r=e.insertBeforeSelector,n=document.querySelector(t);if(!n)return null;var o=r?document.querySelector(r):null;return r&&!o?null:{parentNode:n,insertBeforeNode:o}}function Xe(e){var t=e.originalValue;e.mutations.forEach(function(r){var n=r.mutate(),o=Qe(n);t=o||t}),F(t,e)}var et=function(t){return t.innerHTML},tt=function(t,r){return t.innerHTML=r};function Ne(e){var t=$(e);return t.html||(t.html=W(e,"html",et,tt,_e)),t.html}var rt=function(t){return{parentNode:t.parentElement,insertBeforeNode:t.nextElementSibling}},nt=function(t,r){r.insertBeforeNode&&!r.parentNode.contains(r.insertBeforeNode)||r.parentNode.insertBefore(t,r.insertBeforeNode)};function Pe(e){var t=$(e);return t.position||(t.position=W(e,"position",rt,nt,Xe)),t.position}var ot=function(t,r){return r?t.className=r:t.removeAttribute("class")},it=function(t){return t.className};function Oe(e){var t=$(e);return t.classes||(t.classes=W(e,"class",it,ot,Ye)),t.classes}var st=function(t){return function(r){var n;return(n=r.getAttribute(t))!=null?n:null}},at=function(t){return function(r,n){return n!==null?r.setAttribute(t,n):r.removeAttribute(t)}};function De(e,t){var r=$(e);return r.attributes[t]||(r.attributes[t]=W(e,t,st(t),at(t),Ze)),r.attributes[t]}function lt(e,t){var r=H.get(e);if(r)if(t==="html"){var n,o;(n=r.html)==null||(o=n.observer)==null||o.disconnect(),delete r.html}else if(t==="class"){var a,i;(a=r.classes)==null||(i=a.observer)==null||i.disconnect(),delete r.classes}else if(t==="position"){var s,l;(s=r.position)==null||(l=s.observer)==null||l.disconnect(),delete r.position}else{var u,p,d;(u=r.attributes)==null||(p=u[t])==null||(d=p.observer)==null||d.disconnect(),delete r.attributes[t]}}var U;function ut(e){return U||(U=document.createElement("div")),U.innerHTML=e,U.innerHTML}function G(e,t,r){if(r.isDirty){r.isDirty=!1;var n=r.virtualValue;r.mutations.length||lt(e,t),r.setValue(e,n)}}function ct(e,t){e.html&&G(t,"html",e.html),e.classes&&G(t,"class",e.classes),e.position&&G(t,"position",e.position),Object.keys(e.attributes).forEach(function(r){G(t,r,e.attributes[r])})}function Te(){H.forEach(ct)}function dt(e,t){var r=null;e.kind==="html"?r=Ne(t):e.kind==="class"?r=Oe(t):e.kind==="attribute"?r=De(t,e.attribute):e.kind==="position"&&(r=Pe(t)),r&&(r.mutations.push(e),r.mutationRunner(r))}function ft(e,t){var r=null;if(e.kind==="html"?r=Ne(t):e.kind==="class"?r=Oe(t):e.kind==="attribute"?r=De(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 qe(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),dt(e,n))})}}function pt(e){e.elements.forEach(function(t){return ft(e,t)}),e.elements.clear(),re.delete(e)}function Le(){re.forEach(qe)}var mt=!1;var X;function ht(){typeof document>"u"||(X||(X=new MutationObserver(function(){Le()})),Le(),X.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}ht();function K(e){return typeof document>"u"?te:(re.add(e),qe(e),{revert:function(){pt(e)}})}function ee(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 q(e,t){return K({kind:"class",elements:new Set,mutate:t,selector:e})}function z(e,t,r){return Fe.test(t)?t==="class"||t==="className"?q(e,function(n){var o=r(Array.from(n).join(" "));n.clear(),o&&o.split(/\s+/g).filter(Boolean).forEach(function(a){return n.add(a)})}):K({kind:"attribute",attribute:t,elements:new Set,mutate:r,selector:e}):te}function gt(e){var t=e.selector,r=e.action,n=e.value,o=e.attribute,a=e.parentSelector,i=e.insertBeforeSelector;if(o==="html"){if(r==="append")return ee(t,function(s){return s+(n??"")});if(r==="set")return ee(t,function(){return n??""})}else if(o==="class"){if(r==="append")return q(t,function(s){n&&s.add(n)});if(r==="remove")return q(t,function(s){n&&s.delete(n)});if(r==="set")return q(t,function(s){s.clear(),n&&s.add(n)})}else if(o==="position"){if(r==="set"&&a)return Be(t,function(){return{insertBeforeSelector:i,parentSelector:a}})}else{if(r==="append")return z(t,o,function(s){return s!==null?s+(n??""):n??""});if(r==="set")return z(t,o,function(){return n??""});if(r==="remove")return z(t,o,function(){return null})}return te}var bt={html:ee,classes:q,attribute:z,position:Be,declarative:gt},ne=bt;import yt from"dompurify";var oe,je;function vt(e){return(!oe||je!==window)&&(oe=yt(window),je=window),oe.sanitize(e,{USE_PROFILES:{html:!0},FORBID_TAGS:["form","input","textarea","select","button","style"]})}function Ce(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=vt(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 Je(e,t={}){if(e.renderGuard&&!t.requireUniqueTargets)throw new Error("IAM render guard requires the source release fence");if(t.requireUniqueTargets)return wt(e,t);let r=e.domMutations.map(Ce),n=[],o=!1,a=!1,i,s=()=>{if(!o){o=!0,i?.disconnect();for(let u of n.reverse())u()}},l=()=>{o||a||(!r.length||e.css||t.allowJs&&e.js||r.some(u=>document.querySelector(u.selector)))&&(a=!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 f=ne.declarative(d);n.push(()=>f.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 u=performance.now(),p=new WeakMap;i=new MutationObserver(d=>{if(!o){performance.now()-u>1e3&&(u=performance.now(),p=new WeakMap);for(let f of d){let y=(p.get(f.target)??0)+1;if(p.set(f.target,y),y>40){s(),t.onError?.(new Error("Visual changes conflict with repeated page rendering"));return}}l()}}),i.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),l()}catch(u){throw s(),u}return{revert:s,get applied(){return a}}}function wt(e,t){let r=t?.boundVariations??[e],n=new Set,o=new Set,a=[],i=new Map,s=r.flatMap(c=>c.renderGuard?[J(c.renderGuard)]:[]),l=s[0];if(s.some(c=>JSON.stringify(c)!==JSON.stringify(l)))throw new Error("IAM variations use different render states");if(e.js||r.some(c=>c.js))throw Error("IAM scripts cannot execute");if(r.length>20||r.reduce((c,h)=>c+h.css.length,0)>262144)throw Error("IAM target budget");let u=(c,h)=>{for(let g of c.domMutations){if(g.action!=="set"||g.attribute!=="html")throw Error("Unsupported IAM mutation");n.add(g.selector),o.add(g.selector)}if(!c.css)return;let m=document.createElement("style");Q(m),m.media="not all",t?.nonce&&(m.nonce=t.nonce),m.textContent=c.css;try{if(document.head.append(m),!m.sheet)throw Error("IAM CSS is blocked");for(let g of m.sheet.cssRules){if(!("selectorText"in g)||typeof g.selectorText!="string")throw Error("Unsupported IAM style rule");n.add(g.selectorText),h&&a.push({selector:g.selectorText,css:g.cssText})}}finally{m.remove()}};for(let c of r)u(c,!1);if(u(e,!0),n.size>200)throw Error("IAM target budget");let p=e.domMutations.map(Ce),d=!1,f=!1,y=!1,w={},R=l?JSON.stringify(l):"",b,k="",v=()=>{if(!d){d=!0,w.unsubscribe?.();for(let c of i.values())c.revert();i.clear(),b?.remove(),b=void 0,f=!1}},M=()=>{for(let c of i.values())c.revert();i.clear(),b?.remove(),b=void 0,k="",f=!1};return w.unsubscribe=ke({fail(c){v(),t?.onError?.(c)},prepare(c){if(l&&!c.matches(l,R))return()=>{d||M()};let h=new Map;for(let m of n){let g=c.query(m);if(g.length>1)throw Error("IAM target is ambiguous in this rendered state");if(g.length){if(o.has(m)&&g[0].children.length)throw Error("IAM text target is no longer a leaf");h.set(m,g[0])}c.checkpoint()}return m=>{if(d)return;for(let[E,I]of i)h.get(E)!==I.element&&(I.revert(),i.delete(E));for(let E of new Set(p.map(I=>I.selector))){let I=h.get(E);if(!I||i.has(E))continue;let _=p.filter(T=>T.selector===E).map(T=>ne.declarative(T));i.set(E,{element:I,revert:()=>_.forEach(T=>T.revert())})}let g=a.filter(E=>h.has(E.selector)).map(E=>E.css).join(`
2
- `);g!==k&&(k=g,g?(b||(b=document.createElement("style"),Q(b),t?.nonce&&(b.nonce=t.nonce),document.head.append(b)),b.textContent=g):(b?.remove(),b=void 0)),f=n.size===0||h.size>0,f&&!y&&(y=!0,m(()=>{d||t?.onApplied?.()}))}}}),d&&w.unsubscribe(),{revert:v,get applied(){return f}}}var B=e=>!!e&&typeof e=="object"&&!Array.isArray(e),O=(e,t)=>typeof e=="string"&&e.length<=t,Et=e=>typeof e=="string"&&(["html","class","style","position","href","src","alt","title","id","role","hidden"].includes(e)||/^(aria|data)-[a-z0-9_-]+$/.test(e));function At(e){if(!B(e)||!O(e.css??"",1e5)||!O(e.js??"",1e5)||!Array.isArray(e.domMutations??[])||Array.isArray(e.domMutations)&&e.domMutations.length>200)throw new Error("Invalid visual variation");let t=e.domMutations??[];for(let r of t)if(!B(r)||!O(r.selector,2048)||!r.selector||!Et(r.attribute)||!["set","append","remove"].includes(String(r.action))||r.value!==void 0&&!O(r.value,5e4)||r.parentSelector!==void 0&&!O(r.parentSelector,2048)||r.insertBeforeSelector!==void 0&&!O(r.insertBeforeSelector,2048))throw new Error("Invalid visual mutation");return{css:e.css??"",js:e.js??"",domMutations:t,...e.renderGuard===void 0?{}:{renderGuard:J(e.renderGuard)}}}function Ue(e){if(!B(e)||typeof e.environmentId!="string"||typeof e.trackExposures!="boolean"||!/^[-a-f0-9]{36}$/i.test(e.environmentId)||typeof e.generation!="string"||!/^[a-f0-9]{64}$/.test(e.generation)||!Array.isArray(e.experiments)||e.experiments.length>100||!B(e.savedGroups))throw new Error("Invalid visual experiment payload");let t=e.experiments.map(r=>{if(!B(r)||!["key","changeId"].every(n=>typeof r[n]=="string"&&r[n])||!/^[a-f0-9]{64}$/.test(String(r.changeId))||["namespace","status","groups","url"].some(n=>Object.hasOwn(r,n))||r.hashVersion!==void 0&&r.hashVersion!==2||!Array.isArray(r.variations)||r.variations.length<2||r.variations.length>20||r.urlPatterns!==void 0&&!Array.isArray(r.urlPatterns))throw new Error("Invalid visual experiment");return{...r,variations:r.variations.map(At)}});return{...e,experiments:t}}function Xt(e){let t=he(e.baseUrl);if(e.appManifestRelease!==void 0&&!/^[a-f0-9]{64}$/.test(e.appManifestRelease))throw new Error("Invalid IAM manifest digest");if(!/^[0-9a-f-]{36}$/i.test(e.environmentId))throw new Error("Invalid App environment ID");let r=e.fetch??globalThis.fetch.bind(globalThis),n=Me(r),o=`${t}/api/v1/visual-experiments/${e.environmentId}`,a=e.appManifestRelease?`${o}?iam=${e.appManifestRelease}`:o,i=pe(e.deviceIdCookie??"indiana_did"),s=me(),l=null,u=!1,p=!1,d="",f={...e.attributes??{}},y,w,R=0,b=new Map,k=new Map,v=new Set,M=[],c,h,m;function g(){clearTimeout(h),m?.remove(),m=void 0}function E(V=!1){clearTimeout(c),c=void 0;let S=M.splice(0,20);return S.length?Ae(r,`${o}/events`,JSON.stringify({events:S}),V).catch(L=>e.log?.("Visual exposure not sent",{error:L})):Promise.resolve()}function I(V,S){let L=D(V,S);v.has(L)||e.trackExposures===!1||l?.trackExposures===!1||u||(v.add(L),M.push({eventUuid:crypto.randomUUID(),timestamp:new Date().toISOString(),deviceId:i,...s?{sessionId:s}:{},url:location.href,pageTitle:document.title.slice(0,512),experimentKey:V.key,variationKey:S.key}),M.length>=20?E():c??=setTimeout(()=>{E()},1e3))}function _(V){if(!l||u)return;let S=new Set,L={onExperimentViewed:(A,N)=>{S.add(D(A,N))},url:location.href,attributes:{...be(i,location),...f,indianaAppManifestRelease:e.appManifestRelease??null},savedGroups:de(l.savedGroups),log:e.log},j=new Set;for(let A of l.experiments){let N=A;try{let x=fe(N,L);if(k.set(A.changeId,x),!x.inExperiment)continue;j.add(A.changeId);let le=JSON.stringify([x.key,x.value]),ue=b.get(A.changeId);if(ue?.signature===le){S.has(D(N,x))&&V.push(()=>{ue.applied()&&I(N,x)});continue}b.get(A.changeId)?.revert(),b.delete(A.changeId);let ce=Je(x.value,{requireUniqueTargets:!!e.appManifestRelease&&Array.isArray(A.condition?.$and)&&A.condition.$and.some(P=>P!==null&&typeof P=="object"&&!Array.isArray(P)&&P.indianaAppManifestRelease===e.appManifestRelease),boundVariations:A.variations,allowJs:e.disableJsInjection===!1,nonce:e.nonce,onApplied:()=>{S.has(D(N,x))&&I(N,x)},onError:P=>e.log?.("Visual experiment stopped",{experiment:A.key,error:String(P)})});b.set(A.changeId,{signature:le,revert:ce.revert,applied:()=>ce.applied})}catch(x){e.log?.("Skipping visual experiment",{experiment:A.key,error:String(x)})}}for(let[A,N]of b)j.has(A)||(N.revert(),b.delete(A));g()}let T=()=>{let V=[];Re(()=>_(V));for(let S of V)S()};async function ie(){let V=++R,S;try{S=await n.read(a,we)}catch(j){if(u||V!==R)return!1;throw j}let L=Ue(S);if(L.environmentId.toLowerCase()!==e.environmentId.toLowerCase())throw new Error("Visual payload scope changed");return u||V!==R?!1:(l=L,!0)}let Ge=()=>{d!==location.href&&(d=location.href,T())},se=()=>{E(!0)},ae=()=>{y||u||(y=ge(Ge),addEventListener("pagehide",se),d=location.href)};return{async start(){if(!(p||u)){p=!0,e.appManifestRelease&&(w=Ie(e.appManifestRelease)),e.antiFlicker&&(m=document.createElement("style"),e.nonce&&(m.nonce=e.nonce),m.textContent="body { visibility: hidden !important }",document.head.append(m),h=setTimeout(g,Math.min(3e3,Math.max(0,e.antiFlickerTimeout??1e3))));try{if(!await ie()||u)return;ae(),T()}finally{g()}}},async refresh(){u||await ie()&&(p&&ae(),T())},setAttributes(V){f={...V},T()},flush:()=>E(),getResults(){return new Map(k)},get generation(){return l?.generation??null},destroy(){u=!0,R++,n.destroy(),y?.(),w?.destroy(),removeEventListener("pagehide",se),g();for(let V of b.values())V.revert();b.clear(),E(!0),l=null,k.clear(),v.clear(),f={}}}}export{Xt as createVisualExperiments,We as loadAppManifestRelease};
1
+ import{a as he,b as be,c as ve,d as ye,e as we,f as Ee,g as Me,i as Ae}from"./chunk-HEBQUICQ.js";import"./chunk-DSPLGTQI.js";import"./chunk-OBYJWIRB.js";import"./chunk-WWUUVURR.js";import"./chunk-RRII2DMC.js";import{h as me,k as ge,m as G}from"./chunk-KQCTDXVD.js";function H(e,t=()=>{}){let r=new WeakMap,n=0,i=l=>{let a=r.get(l);if(a!==void 0)return a;let o=[],u=l,c=!0;for(;u;){let m=r.get(u);if(m!==void 0){c=m;break}if(++n>8192||o.length>=256)throw Error("IAM render ancestry budget exceeded");if(o.push(u),t(),u.hasAttribute("hidden")||/(?:^|;)\s*display\s*:\s*none\s*(?:!\s*important\s*)?(?:;|$)/i.test(u.getAttribute("style")??"")){c=!1;break}u=u.parentElement}for(let m of o)r.set(m,c);return c};return l=>{let a=0,o=e.querySelectorAll(l);for(let u=0;u<o.length;u++){let c=o[u];if(!c)throw Error("IAM render selection changed");i(c)&&a++,t()}return a}}var Je=e=>!!e&&typeof e=="object"&&!Array.isArray(e);function F(e){if(!Je(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 Ge(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 Ve(e,t,r,n,i=H(t,n)){if(!Ge(e.routeTemplate,r))return!1;let l=new Set(e.present),a=!0;for(let o=0;o<e.selectors.length;o++){let u=i(e.selectors[o]);if(l.has(o)&&u>1)throw new Error("IAM render anchor is ambiguous");(l.has(o)?u!==1:u!==0)&&(a=!1),n()}return a}var z=class extends Error{constructor(){super("IAM page check exceeded its work budget")}},te=new WeakMap,re=new WeakSet;function ne(e){re.add(e)}function Ue(e){let t=new Set,r=new Set,n,i=0,l=!1,a=0,o,u=()=>{t.size||i||(n?.disconnect(),o!==void 0&&cancelAnimationFrame(o),e.removeEventListener("visibilitychange",d),te.delete(e))};function c(g){if(e.hidden)return;let M=performance.now(),w=new Map,v=new Map,y=()=>{if(performance.now()-M>8)throw new z},L=s=>{y();let p=w.get(s);return p||(p=e.querySelectorAll(s),w.set(s,p)),y(),p},A=H({querySelectorAll:L},y),I=s=>{let p=s.filter(R=>!w.has(R));if(!p.length)return;let f=new Map;for(let R of p){let S=/^([a-z][a-z0-9-]*)\[(id|data-testid|data-test|data-qa|data-indiana-id)="((?:[^"\\\x00-\x1f\x7f]|\\["\\])*)"\]$/.exec(R);if(!S)throw Error("Invalid IAM render selector");let[,x,B,b]=S,k=b.replace(/\\(["\\])/g,"$1"),T=f.get(x);T||f.set(x,T=new Map);let j=T.get(B);j||T.set(B,j=new Map);let E=j.get(k);E||j.set(k,E=[]),w.set(R,E)}y();let h=e.querySelectorAll(p.join(","));if(y(),h.length>8192)throw Error("IAM render selection budget exceeded");for(let R of h){let S=f.get(R.localName.toLowerCase());if(S)for(let[x,B]of S){let b=R.getAttribute(x);b!==null&&B.get(b)?.push(R)}y()}},V={query:L,checkpoint:y,matches(s,p){let f=v.get(p);if(!f){try{let h=!1;f={match:Ve(s,e,location.pathname,y,R=>(h||(I(s.selectors),h=!0),A(R)))}}catch(h){f={error:h}}v.set(p,f)}if("error"in f)throw f.error;return f.match}},q=[],O=[],D=[];for(let s of g)if(t.has(s))try{q.push({job:s,commit:s.prepare(V)})}catch(p){if(p instanceof z)throw p;O.push({job:s,error:p})}y();for(let{job:s,error:p}of O)t.has(s)&&s.fail(p);for(let{job:s,commit:p}of q)if(t.has(s))try{y(),p(f=>D.push(f))}catch(f){if(f instanceof z)throw f;s.fail(f)}for(let s of D)s()}function m(g){if(!(o!==void 0||e.hidden))try{c(g),a=0}catch(M){if(!(M instanceof z))throw M;for(let w of[...t])w.suspend();if(a++>=2){for(let w of[...t])w.fail(M);return}o=requestAnimationFrame(()=>{o=void 0,m([...t])})}}function d(){l||!t.size||e.hidden||(l=!0,queueMicrotask(()=>{l=!1,m([...t])}))}return{begin(){i++},end(){--i===0&&(r.clear(),m([...t])),u()},add(g){return n||(n=new MutationObserver(M=>{let w=v=>re.has(v)||!!(v.parentNode&&re.has(v.parentNode));M.some(v=>!w(v.target)&&!(v.type==="childList"&&[...v.addedNodes,...v.removedNodes].length>0&&[...v.addedNodes,...v.removedNodes].every(w)))&&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):m([g]),()=>{t.delete(g),r.delete(g),u()}}}}function Se(){let e=te.get(document);return e||(e=Ue(document),te.set(document,e)),e}function ke(e){return Se().add(e)}function Ie(e){let t=Se();t.begin();try{e()}finally{t.end()}}async function $e(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)]),o=await fetch(n,{credentials:"omit",redirect:"error",cache:"force-cache",signal:a}),u=o.headers.get("content-length");if(!o.ok||!/^application\/json(?:;|$)/i.test(o.headers.get("content-type")??"")||u!==null&&(!/^\d+$/.test(u)||Number(u)>512))throw o.body?.cancel().catch(()=>{}),Error("IAM release is unavailable");let c=o.body?.getReader();if(!c)throw Error("IAM release is unavailable");let m=[],d=0,g=()=>{},M=new Promise((I,V)=>{g=()=>V(Error("IAM release timeout")),a.addEventListener("abort",g,{once:!0}),a.aborted&&g()}),w=!1;try{for(;;){let I=await Promise.race([c.read(),M]);if(I.done){w=!0;break}if(d+=I.value.length,d>512)throw Error("IAM release budget");m.push(I.value)}}finally{a.removeEventListener("abort",g),w||c.cancel().catch(()=>{}),c.releaseLock()}let v=new Uint8Array(d),y=0;for(let I of m)v.set(I,y),y+=I.length;let L=new TextDecoder("utf-8",{fatal:!0}).decode(v),A=JSON.parse(L);if(L.trim()!==JSON.stringify(A))throw Error("Noncanonical IAM release descriptor");if(!A||typeof A!="object"||Array.isArray(A)||Object.keys(A).sort().join(",")!=="format,manifestDigest,releaseId,schemaVersion"||Reflect.get(A,"format")!=="indiana-app-manifest-release"||Reflect.get(A,"schemaVersion")!==2||Reflect.get(A,"releaseId")!==l||!/^[a-f0-9]{64}$/.test(String(Reflect.get(A,"manifestDigest"))))throw Error("Invalid IAM release descriptor");return Reflect.get(A,"manifestDigest")}var ie=new WeakMap;function Re(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=ie.get(t);if(!l){let m=new Map,d=new MutationObserver(()=>{let g=i(),M=!1;for(let[w,v]of m)v.count&&!g.has(w)&&(g.add(w),M=!0);M&&n.setAttribute(r,[...g].join(" "))});d.observe(n,{attributes:!0,attributeFilter:[r]}),l={releases:m,observer:d},ie.set(t,l)}let{releases:a,observer:o}=l,u=a.get(e);if(!u){let m=i();u={count:0,owned:!m.has(e)},a.set(e,u),m.add(e),n.setAttribute(r,[...m].join(" "))}u.count++;let c=!1;return{attributes:{indianaAppManifestRelease:e},destroy(){if(!c&&(c=!0,u.count--,!u.count&&(a.delete(e),a.size||(o.disconnect(),ie.delete(t)),u.owned))){let m=i();m.delete(e),m.size?n.setAttribute(r,[...m].join(" ")):n.removeAttribute(r)}}}}var He=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,ae={revert:function(){}},Z=new Map,le=new Set;function Fe(e){return e==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}function _(e){var t=Z.get(e);return t||(t={element:e,attributes:{}},Z.set(e,t)),t}function Q(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(!ft&&!(t==="position"&&a._positionTimeout)){t==="position"&&(a._positionTimeout=setTimeout(function(){a._positionTimeout=null},1e3));var o=r(e);t==="position"&&o.parentNode===a.virtualValue.parentNode&&o.insertBeforeNode===a.virtualValue.insertBeforeNode||o!==a.virtualValue&&(a.originalValue=o,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,Fe(t)),a}function X(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,xe()):e!==r&&(t.isDirty=!0,xe())}function We(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),X(at(t),e)}function Ke(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(r){return r.mutate(t)}),X(Array.from(t).filter(Boolean).join(" "),e)}function Ye(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),X(t,e)}function Ze(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 _e(e){var t=e.originalValue;e.mutations.forEach(function(r){var n=r.mutate(),i=Ze(n);t=i||t}),X(t,e)}var Qe=function(t){return t.innerHTML},Xe=function(t,r){return t.innerHTML=r};function Ne(e){var t=_(e);return t.html||(t.html=Q(e,"html",Qe,Xe,We)),t.html}var et=function(t){return{parentNode:t.parentElement,insertBeforeNode:t.nextElementSibling}},tt=function(t,r){r.insertBeforeNode&&!r.parentNode.contains(r.insertBeforeNode)||r.parentNode.insertBefore(t,r.insertBeforeNode)};function Le(e){var t=_(e);return t.position||(t.position=Q(e,"position",et,tt,_e)),t.position}var rt=function(t,r){return r?t.className=r:t.removeAttribute("class")},nt=function(t){return t.className};function Oe(e){var t=_(e);return t.classes||(t.classes=Q(e,"class",nt,rt,Ke)),t.classes}var it=function(t){return function(r){var n;return(n=r.getAttribute(t))!=null?n:null}},ot=function(t){return function(r,n){return n!==null?r.setAttribute(t,n):r.removeAttribute(t)}};function De(e,t){var r=_(e);return r.attributes[t]||(r.attributes[t]=Q(e,t,it(t),ot(t),Ye)),r.attributes[t]}function st(e,t){var r=Z.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 o,u;(o=r.position)==null||(u=o.observer)==null||u.disconnect(),delete r.position}else{var c,m,d;(c=r.attributes)==null||(m=c[t])==null||(d=m.observer)==null||d.disconnect(),delete r.attributes[t]}}var W;function at(e){return W||(W=document.createElement("div")),W.innerHTML=e,W.innerHTML}function K(e,t,r){if(r.isDirty){r.isDirty=!1;var n=r.virtualValue;r.mutations.length||st(e,t),r.setValue(e,n)}}function lt(e,t){e.html&&K(t,"html",e.html),e.classes&&K(t,"class",e.classes),e.position&&K(t,"position",e.position),Object.keys(e.attributes).forEach(function(r){K(t,r,e.attributes[r])})}function xe(){Z.forEach(lt)}function ut(e,t){var r=null;e.kind==="html"?r=Ne(t):e.kind==="class"?r=Oe(t):e.kind==="attribute"?r=De(t,e.attribute):e.kind==="position"&&(r=Le(t)),r&&(r.mutations.push(e),r.mutationRunner(r))}function ct(e,t){var r=null;if(e.kind==="html"?r=Ne(t):e.kind==="class"?r=Oe(t):e.kind==="attribute"?r=De(t,e.attribute):e.kind==="position"&&(r=Le(t)),!!r){var n=r.mutations.indexOf(e);n!==-1&&r.mutations.splice(n,1),r.mutationRunner(r)}}function qe(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),ut(e,n))})}}function dt(e){e.elements.forEach(function(t){return ct(e,t)}),e.elements.clear(),le.delete(e)}function Te(){le.forEach(qe)}var ft=!1;var oe;function pt(){typeof document>"u"||(oe||(oe=new MutationObserver(function(){Te()})),Te(),oe.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}pt();function ee(e){return typeof document>"u"?ae:(le.add(e),qe(e),{revert:function(){dt(e)}})}function se(e,t){return ee({kind:"html",elements:new Set,mutate:t,selector:e})}function Be(e,t){return ee({kind:"position",elements:new Set,mutate:t,selector:e})}function U(e,t){return ee({kind:"class",elements:new Set,mutate:t,selector:e})}function Y(e,t,r){return He.test(t)?t==="class"||t==="className"?U(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)})}):ee({kind:"attribute",attribute:t,elements:new Set,mutate:r,selector:e}):ae}function mt(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 se(t,function(o){return o+(n??"")});if(r==="set")return se(t,function(){return n??""})}else if(i==="class"){if(r==="append")return U(t,function(o){n&&o.add(n)});if(r==="remove")return U(t,function(o){n&&o.delete(n)});if(r==="set")return U(t,function(o){o.clear(),n&&o.add(n)})}else if(i==="position"){if(r==="set"&&l)return Be(t,function(){return{insertBeforeSelector:a,parentSelector:l}})}else{if(r==="append")return Y(t,i,function(o){return o!==null?o+(n??""):n??""});if(r==="set")return Y(t,i,function(){return n??""});if(r==="remove")return Y(t,i,function(){return null})}return ae}var gt={html:se,classes:U,attribute:Y,position:Be,declarative:mt},ue=gt;import ht from"dompurify";var ce,je;function bt(e){return(!ce||je!==window)&&(ce=ht(window),je=window),ce.sanitize(e,{USE_PROFILES:{html:!0},FORBID_TAGS:["form","input","textarea","select","button","style"]})}function Pe(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=bt(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 Ce(e,t={}){if(e.renderGuard&&!t.requireUniqueTargets)throw new Error("IAM render guard requires the source release fence");if(t.requireUniqueTargets)return vt(e,t);let r=e.domMutations.map(Pe),n=[],i=!1,l=!1,a,o=()=>{if(!i){i=!0,a?.disconnect();for(let c of n.reverse())c()}},u=()=>{i||l||(!r.length||e.css||t.allowJs&&e.js||r.some(c=>document.querySelector(c.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=ue.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 c=performance.now(),m=new WeakMap;a=new MutationObserver(d=>{if(!i){performance.now()-c>1e3&&(c=performance.now(),m=new WeakMap);for(let g of d){let M=(m.get(g.target)??0)+1;if(m.set(g.target,M),M>40){o(),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(c){throw o(),c}return{revert:o,get applied(){return l}}}function vt(e,t){let r=t?.boundVariations??[e],n=new Set,i=new Set,l=[],a=new Map,o=r.flatMap(s=>s.renderGuard?[F(s.renderGuard)]:[]),u=o[0];if(o.some(s=>JSON.stringify(s)!==JSON.stringify(u)))throw new Error("IAM variations use different render states");if(e.js||r.some(s=>s.js))throw Error("IAM scripts cannot execute");if(r.length>20||r.reduce((s,p)=>s+p.css.length,0)>262144)throw Error("IAM target budget");let c=(s,p)=>{for(let h of s.domMutations){if(h.action!=="set"||h.attribute!=="html")throw Error("Unsupported IAM mutation");n.add(h.selector),i.add(h.selector)}if(!s.css)return;let f=document.createElement("style");ne(f),f.media="not all",t?.nonce&&(f.nonce=t.nonce),f.textContent=s.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),p&&l.push({selector:h.selectorText,css:h.cssText})}}finally{f.remove()}};for(let s of r)c(s,!1);if(c(e,!0),n.size>200)throw Error("IAM target budget");let m=e.domMutations.map(Pe),d=!1,g=!1,M=!1,w=!1,v="",y=0,L=(s,p)=>{let f=`${s}:${p}`;if(!(!t?.onTargetStatus||f===v||y>=32)){v=f,y++;try{t.onTargetStatus({status:s,total:n.size,matched:p})}catch{}}},A={},I=u?JSON.stringify(u):"",V,q="",O=()=>{if(!d){d=!0,A.unsubscribe?.();for(let s of a.values())s.revert();a.clear(),V?.remove(),V=void 0,g=!1}},D=()=>{for(let s of a.values())s.revert();a.clear(),V?.remove(),V=void 0,q="",g=!1};return A.unsubscribe=ke({suspend:D,fail(s){O(),t?.onError?.(s)},prepare(s){if(u&&!s.matches(u,I))return f=>{d||(D(),w=!1,f(()=>{d||L("inactive",null)}))};let p=new Map;for(let f of n){let h=s.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");p.set(f,h[0])}s.checkpoint()}return f=>{if(d)return;for(let[S,x]of a)p.get(S)!==x.element&&(x.revert(),a.delete(S));for(let S of new Set(m.map(x=>x.selector))){let x=p.get(S);if(!x||a.has(S))continue;let B=m.filter(b=>b.selector===S).map(b=>ue.declarative(b));a.set(S,{element:x,revert:()=>B.forEach(b=>b.revert())})}let h=l.filter(S=>p.has(S.selector)).map(S=>S.css).join(`
2
+ `);h!==q&&(q=h,h?(V||(V=document.createElement("style"),ne(V),t?.nonce&&(V.nonce=t.nonce),document.head.append(V)),V.textContent=h):(V?.remove(),V=void 0)),g=n.size===0||p.size>0;let R=p.size===n.size?"matched":p.size>0?"partial":w?"missing":"waiting";p.size&&(w=!0),f(()=>{d||L(R,p.size)}),g&&!M&&f(()=>{!d&&g&&!M&&(M=!0,t?.onApplied?.())})}}}),d&&A.unsubscribe(),{revert:O,get applied(){return g}}}var $=e=>!!e&&typeof e=="object"&&!Array.isArray(e),J=(e,t)=>typeof e=="string"&&e.length<=t,yt=e=>typeof e=="string"&&(["html","class","style","position","href","src","alt","title","id","role","hidden"].includes(e)||/^(aria|data)-[a-z0-9_-]+$/.test(e));function wt(e){if(!$(e)||!J(e.css??"",1e5)||!J(e.js??"",1e5)||!Array.isArray(e.domMutations??[])||Array.isArray(e.domMutations)&&e.domMutations.length>200)throw new Error("Invalid visual variation");let t=e.domMutations??[];for(let r of t)if(!$(r)||!J(r.selector,2048)||!r.selector||!yt(r.attribute)||!["set","append","remove"].includes(String(r.action))||r.value!==void 0&&!J(r.value,5e4)||r.parentSelector!==void 0&&!J(r.parentSelector,2048)||r.insertBeforeSelector!==void 0&&!J(r.insertBeforeSelector,2048))throw new Error("Invalid visual mutation");return{css:e.css??"",js:e.js??"",domMutations:t,...e.renderGuard===void 0?{}:{renderGuard:F(e.renderGuard)}}}function ze(e){if(!$(e)||typeof e.environmentId!="string"||typeof e.trackExposures!="boolean"||!/^[-a-f0-9]{36}$/i.test(e.environmentId)||typeof e.generation!="string"||!/^[a-f0-9]{64}$/.test(e.generation)||!Array.isArray(e.experiments)||e.experiments.length>100||!$(e.savedGroups))throw new Error("Invalid visual experiment payload");let t=e.experiments.map(r=>{if(!$(r)||!["key","changeId"].every(n=>typeof r[n]=="string"&&r[n])||!/^[a-f0-9]{64}$/.test(String(r.changeId))||["namespace","status","groups","url"].some(n=>Object.hasOwn(r,n))||r.hashVersion!==void 0&&r.hashVersion!==2||!Array.isArray(r.variations)||r.variations.length<2||r.variations.length>20||r.urlPatterns!==void 0&&!Array.isArray(r.urlPatterns))throw new Error("Invalid visual experiment");return{...r,variations:r.variations.map(wt)}});return{...e,experiments:t}}function Ht(e){let t=ve(e.baseUrl);if(e.appManifestRelease!==void 0&&!/^[a-f0-9]{64}$/.test(e.appManifestRelease))throw new Error("Invalid IAM manifest digest");if(!/^[0-9a-f-]{36}$/i.test(e.environmentId))throw new Error("Invalid App environment ID");let r=e.fetch??globalThis.fetch.bind(globalThis),n=Me(r),i=`${t}/api/v1/visual-experiments/${e.environmentId}`,l=e.appManifestRelease?`${i}?iam=${e.appManifestRelease}`:i,a=he(e.deviceIdCookie??"indiana_did"),o=be(),u=null,c=!1,m=!1,d="",g={...e.attributes??{}},M,w,v=0,y=new Map,L=new Map,A=new Set,I=[],V,q,O;function D(){clearTimeout(q),O?.remove(),O=void 0}function s(b=!1){clearTimeout(V),V=void 0;let k=I.splice(0,20);return k.length?Ee(r,`${i}/events`,JSON.stringify({events:k}),b).catch(T=>e.log?.("Visual exposure not sent",{error:T})):Promise.resolve()}function p(b,k){let T=G(b,k);A.has(T)||e.trackExposures===!1||u?.trackExposures===!1||c||(A.add(T),I.push({eventUuid:crypto.randomUUID(),timestamp:new Date().toISOString(),deviceId:a,...o?{sessionId:o}:{},url:location.href,pageTitle:document.title.slice(0,512),experimentKey:b.key,variationKey:k.key}),I.length>=20?s():V??=setTimeout(()=>{s()},1e3))}function f(b){if(!u||c)return;let k=new Set,T={onExperimentViewed:(E,P)=>{k.add(G(E,P))},url:location.href,attributes:{...Ae(a,location),...g,indianaAppManifestRelease:e.appManifestRelease??null},savedGroups:me(u.savedGroups),log:e.log},j=new Set;for(let E of u.experiments){let P=E;try{let N=ge(P,T);if(L.set(E.changeId,N),!N.inExperiment)continue;j.add(E.changeId);let de=JSON.stringify([N.key,N.value]),fe=y.get(E.changeId);if(fe?.signature===de){k.has(G(P,N))&&b.push(()=>{fe.applied()&&p(P,N)});continue}y.get(E.changeId)?.revert(),y.delete(E.changeId);let pe=Ce(N.value,{requireUniqueTargets:!!e.appManifestRelease&&Array.isArray(E.condition?.$and)&&E.condition.$and.some(C=>C!==null&&typeof C=="object"&&!Array.isArray(C)&&C.indianaAppManifestRelease===e.appManifestRelease),boundVariations:E.variations,allowJs:e.disableJsInjection===!1,nonce:e.nonce,onApplied:()=>{k.has(G(P,N))&&p(P,N)},onError:C=>e.log?.("Visual experiment stopped",{experiment:E.key,changeId:E.changeId,variation:N.key,error:String(C)}),onTargetStatus:e.log?C=>e.log?.("Visual target status changed",{experiment:E.key,changeId:E.changeId,variation:N.key,...C}):void 0});y.set(E.changeId,{signature:de,revert:pe.revert,applied:()=>pe.applied})}catch(N){e.log?.("Skipping visual experiment",{experiment:E.key,error:String(N)})}}for(let[E,P]of y)j.has(E)||(P.revert(),y.delete(E));D()}let h=()=>{let b=[];Ie(()=>f(b));for(let k of b)k()};async function R(){let b=++v,k;try{k=await n.read(l,we)}catch(j){if(c||b!==v)return!1;throw j}let T=ze(k);if(T.environmentId.toLowerCase()!==e.environmentId.toLowerCase())throw new Error("Visual payload scope changed");return c||b!==v?!1:(u=T,!0)}let S=()=>{d!==location.href&&(d=location.href,h())},x=()=>{s(!0)},B=()=>{M||c||(M=ye(S),addEventListener("pagehide",x),d=location.href)};return{async start(){if(!(m||c)){m=!0,e.appManifestRelease&&(w=Re(e.appManifestRelease)),e.antiFlicker&&(O=document.createElement("style"),e.nonce&&(O.nonce=e.nonce),O.textContent="body { visibility: hidden !important }",document.head.append(O),q=setTimeout(D,Math.min(3e3,Math.max(0,e.antiFlickerTimeout??1e3))));try{if(!await R()||c)return;B(),h()}finally{D()}}},async refresh(){c||await R()&&(m&&B(),h())},setAttributes(b){g={...b},h()},flush:()=>s(),getResults(){return new Map(L)},get generation(){return u?.generation??null},destroy(){c=!0,v++,n.destroy(),M?.(),w?.destroy(),removeEventListener("pagehide",x),D();for(let b of y.values())b.revert();y.clear(),s(!0),u=null,L.clear(),A.clear(),g={}}}}export{Ht as createVisualExperiments,$e as loadAppManifestRelease};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinkerlandai/indiana-sdk",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "description": "Framework-independent Indiana SDK for customer identity, entitlements, credits, offers and growth surfaces.",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- import{o as v,p as k,s as S}from"./chunk-ZT66RIFU.js";import{a as e}from"./chunk-SOQO2RDZ.js";import{a as C,j,m as _,p as P}from"./chunk-LMR2TM3X.js";import{b}from"./chunk-OBYJWIRB.js";import{a as L}from"./chunk-EXCPE2XH.js";var M={name:"@tinkerlandai/indiana-sdk",version:"0.8.3",description:"Framework-independent Indiana SDK for customer identity, entitlements, credits, offers and growth surfaces.",license:"UNLICENSED",repository:{type:"git",url:"git+https://github.com/tinkerlandai/Indiana.git",directory:"packages/sdk"},engines:{node:">=22"},publishConfig:{access:"public",tag:"beta"},type:"module",sideEffects:!1,files:["dist","README.md","README.zh-CN.md","CHANGELOG.md","THIRD_PARTY_NOTICES.md"],exports:{"./react-native":{types:"./dist/react-native.d.ts","react-native":"./dist/react-native.js",import:"./dist/react-native.js",default:"./dist/react-native.js"},".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./popup":{types:"./dist/popup.d.ts",import:"./dist/popup.js"},"./server":{types:"./dist/server.d.ts",import:"./dist/server.js"},"./openrouter":{types:"./dist/openrouter.d.ts",import:"./dist/openrouter.js"},"./native-shell":{types:"./dist/native-shell.d.ts",import:"./dist/native-shell.js"},"./page":{types:"./dist/page.d.ts",import:"./dist/page.js"},"./visual":{types:"./dist/visual.d.ts",import:"./dist/visual.js"}},scripts:{build:"tsup",prepack:"pnpm run build",typecheck:"tsc --noEmit",lint:"node ../../scripts/ci/lint.mjs --workspace packages/sdk"},dependencies:{"@ai-sdk/provider":"4.0.26","@types/json-schema":"7.0.15","css-tree":"^3.2.1","dom-mutator":"0.7.0",dompurify:"^3.4.15",zod:"4.6.6"},devDependencies:{"@indiana/contracts":"workspace:*","@openrouter/sdk":"^1.4.25","@types/css-tree":"^3.2.0",ai:"7.0.136",tsup:"^8.5.1",typescript:"^5.9.3","whatwg-url-minimum":"0.2.0"},peerDependencies:{"@openrouter/sdk":"^1.4.25"},peerDependenciesMeta:{"@openrouter/sdk":{optional:!0}}};var U=Symbol("IndianaNoContent");function Z(p,H,q=URL){let l=p.configuration?.scope,R=p.scope??(l&&{projectId:l.projectId,environment:l.environment}),s=R?b.parse(R):void 0;if(s&&l&&(s.projectId!==l.projectId||s.environment!==l.environment))throw new e("SCOPE_MISMATCH","Configuration belongs to another App/environment");let a=new q(p.baseUrl??L);if(a.username||a.password||a.search||a.hash)throw new e("INVALID_URL","baseUrl must not contain credentials, query, or fragment");if(a.protocol!=="https:"&&!(a.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(a.hostname)))throw new e("INVALID_URL","Use HTTPS, or HTTP on localhost during development");let V=p.fetch??globalThis.fetch.bind(globalThis),f=p.timeoutMs??1e4;if(!Number.isFinite(f)||f<1||f>12e4)throw new e("INVALID_TIMEOUT","timeoutMs must be between 1 and 120000");let h=null,u=0,m=null,g=new Set;function A(){u+=1,h=null,m=null;for(let i of g)i.abort();g.clear()}async function x(i,K={},I="POST",D={}){let d=D.installationDetach===!0;if(d&&(i!=="push/installations/detach"||I!=="POST"))throw new e("INVALID_REQUEST","Installation authority only detaches this installation");if(!h&&!d)throw new e("NOT_IDENTIFIED","Call identify with a server-issued customer token first");let E=u,o=new AbortController;d||g.add(o);let w=()=>!d&&E!==u?new e("IDENTITY_CHANGED","Customer identity changed while the request was in flight"):new e("TIMEOUT","Indiana request timed out"),T,F=new Promise((n,r)=>{T=()=>r(w()),o.signal.addEventListener("abort",T,{once:!0})}),G=setTimeout(()=>o.abort(),f),X=async()=>{let n=await V(`${a.href.replace(/\/$/,"")}/api/v1/${i}`,{method:I,headers:{"Content-Type":"application/json",...d?{}:{Authorization:`Bearer ${h}`},[v]:S.current,[k]:M.version,...s?{"X-Indiana-Project":s.projectId,"X-Indiana-Environment":s.environment}:{}},body:I==="POST"?JSON.stringify(K):void 0,signal:o.signal,credentials:"omit",cache:"no-store",redirect:"error",...D.keepalive?{keepalive:!0}:{}});if(o.signal.aborted)throw w();let r;try{r=n.status===204?U:await n.json()}catch{throw o.signal.aborted?w():new e(n.ok?"INVALID_RESPONSE":"HTTP_ERROR","The gateway returned an unreadable response",n.status,n.headers.get("X-Request-Id")??void 0)}if(o.signal.aborted)throw w();if(!d&&E!==u)throw new e("IDENTITY_CHANGED","Customer identity changed while the request was in flight");if(!n.ok){let t=_.safeParse(r),c=t.success&&(!C.safeParse(t.data.error.code).success||j(t.data.error.code,n.status)),N=c?t.data.error.code:"HTTP_ERROR",O=P(N,n.status,{retryAfter:n.headers.get("Retry-After"),recovery:c?t.data.error.recovery:void 0,reason:c?t.data.error.reason:void 0});throw new e(N,c?t.data.error.message:"Indiana request failed",n.status,n.headers.get("X-Request-Id")??(t.success?t.data.requestId:void 0),{...O,...t.success&&t.data.error.retryable===!1?{retryable:!1}:{},...O.retryAfterSeconds===void 0&&t.success&&t.data.error.retryAfterSeconds!==void 0?{retryAfterSeconds:t.data.error.retryAfterSeconds}:{}})}if(n.headers.get(v)!==S.current)throw new e("PROTOCOL_MISMATCH","Response protocol does not match this SDK");if(s&&r!==U){let t=r&&typeof r=="object"&&"scope"in r?r:r&&typeof r=="object"&&"configuration"in r?r.configuration:null;if(!t||typeof t!="object"||!("scope"in t))throw new e("INVALID_RESPONSE","Response is missing its App/environment scope");let c=b.safeParse(t.scope);if(!c.success||c.data.projectId!==s.projectId||c.data.environment!==s.environment)throw new e("SCOPE_MISMATCH","Response scope does not match this SDK instance")}let y=n.headers.get("X-Indiana-Telemetry-Subject");if(y){if(!/^[a-f0-9]{64}$/.test(y))throw new e("INVALID_RESPONSE","Invalid telemetry identity");m!==y&&(m=y,H?.(m))}return r};try{return await Promise.race([X(),F])}catch(n){throw!d&&E!==u?new e("IDENTITY_CHANGED","Customer identity changed while the request was in flight"):n instanceof e?n:new e(o.signal.aborted?"TIMEOUT":"NETWORK_ERROR",o.signal.aborted?"Indiana request timed out":"Unable to read the Indiana response")}finally{clearTimeout(G),o.signal.removeEventListener("abort",T),g.delete(o)}}return{subjectKey:()=>m,identify(i){if(!i.trim()||/\s/.test(i)||i.length>4096)throw new e("INVALID_TOKEN","A nonempty server-issued token is required");A(),h=i},reset:A,request:x}}export{Z as a};