sliccy 5.73.4 → 5.75.0

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 (157) hide show
  1. package/README.md +2 -1
  2. package/dist/node-server/_shared/index.d.ts +2 -0
  3. package/dist/node-server/_shared/index.d.ts.map +1 -1
  4. package/dist/node-server/_shared/index.js +2 -0
  5. package/dist/node-server/_shared/index.js.map +1 -1
  6. package/dist/node-server/_shared/secrets-pipeline.d.ts +22 -0
  7. package/dist/node-server/_shared/secrets-pipeline.d.ts.map +1 -1
  8. package/dist/node-server/_shared/secrets-pipeline.js +50 -0
  9. package/dist/node-server/_shared/secrets-pipeline.js.map +1 -1
  10. package/dist/node-server/_shared/transcript-export.d.ts +161 -0
  11. package/dist/node-server/_shared/transcript-export.d.ts.map +1 -0
  12. package/dist/node-server/_shared/transcript-export.js +804 -0
  13. package/dist/node-server/_shared/transcript-export.js.map +1 -0
  14. package/dist/node-server/_shared/transcript-redaction.d.ts +25 -0
  15. package/dist/node-server/_shared/transcript-redaction.d.ts.map +1 -0
  16. package/dist/node-server/_shared/transcript-redaction.js +107 -0
  17. package/dist/node-server/_shared/transcript-redaction.js.map +1 -0
  18. package/dist/node-server/_shared/tray-sync-protocol.d.ts +56 -1
  19. package/dist/node-server/_shared/tray-sync-protocol.d.ts.map +1 -1
  20. package/dist/node-server/_shared/tray-sync-protocol.js +1 -1
  21. package/dist/node-server/_shared/tray-sync-protocol.js.map +1 -1
  22. package/dist/node-server/routes/secrets.js +52 -22
  23. package/dist/ui/assets/{account-store-DwSzwLW8.js → account-store-Bl8i_M1G.js} +3 -3
  24. package/dist/ui/assets/{account-store-DzwZMcTg.js → account-store-D1yHSv41.js} +2 -2
  25. package/dist/ui/assets/{adobe-h2gWq2z2.js → adobe-Dj6ICUFy.js} +2 -2
  26. package/dist/ui/assets/{adobe-ChyPg00A.js → adobe-spCgooV8.js} +1 -1
  27. package/dist/ui/assets/{apps-C86xnKLs.js → apps-DYGU4Hk4.js} +1 -1
  28. package/dist/ui/assets/{azure-openai-DMNa-Eup.js → azure-openai-BWxnsgoz.js} +1 -1
  29. package/dist/ui/assets/{azure-openai-CjkdyGG4.js → azure-openai-HviLHIe2.js} +1 -1
  30. package/dist/ui/assets/{bridge-launch-params-jegYRGJ6.js → bridge-launch-params-QY3l_LbM.js} +1 -1
  31. package/dist/ui/assets/{cdp-7evcrxxP.js → cdp-D9eDDEuA.js} +1 -1
  32. package/dist/ui/assets/{cerebras-CvSC_Q2O.js → cerebras-BZ84V5eM.js} +1 -1
  33. package/dist/ui/assets/{cerebras-B0gvSD27.js → cerebras-TQl2NG86.js} +1 -1
  34. package/dist/ui/assets/{client-BliYDaDA.js → client-BxYB_ioq.js} +1 -1
  35. package/dist/ui/assets/{composer-speech-BSy_wbJC.js → composer-speech-FeteaFpi.js} +1 -1
  36. package/dist/ui/assets/{connect-surface-3UvT0SF3.js → connect-surface-7HJhV-kA.js} +1 -1
  37. package/dist/ui/assets/{discovery-preference-CUhsI-AU.js → discovery-preference-C0L_79z7.js} +1 -1
  38. package/dist/ui/assets/{ensure-speech-assets-8cWrra0n.js → ensure-speech-assets-DGq5bX3t.js} +1 -1
  39. package/dist/ui/assets/export-provider-B6K_eHX_.js +1 -0
  40. package/dist/ui/assets/export-spool-DCxGPg43.js +1 -0
  41. package/dist/ui/assets/{follower-navigate-watcher-UN0jo7Ge.js → follower-navigate-watcher-DgusZOpY.js} +1 -1
  42. package/dist/ui/assets/{fs-DgMOH-Zj.js → fs-BS22sTLO.js} +1 -1
  43. package/dist/ui/assets/{fs-DC3MEAD4.js → fs-CnmmspRj.js} +2 -2
  44. package/dist/ui/assets/{github-HKW-k0Oh.js → github-CDEISDAs.js} +1 -1
  45. package/dist/ui/assets/{github-mH266f8L.js → github-CRxngoj0.js} +2 -2
  46. package/dist/ui/assets/{github-copilot-CBv0T4_S.js → github-copilot-BJqTbNKn.js} +1 -1
  47. package/dist/ui/assets/{github-copilot-C7lsRXxS.js → github-copilot-BzQ18OiN.js} +1 -1
  48. package/dist/ui/assets/{handoff-link-CfgH86mb.js → handoff-link-Dmaaww5x.js} +1 -1
  49. package/dist/ui/assets/{hear-B5lURJtR.js → hear-CRBq5mEX.js} +1 -1
  50. package/dist/ui/assets/{hear-DI5vlKdf.js → hear-v5qXSZw8.js} +1 -1
  51. package/dist/ui/assets/{kernel-worker-CHs5yDJo.js → kernel-worker-C1-PDfKp.js} +728 -594
  52. package/dist/ui/assets/{kokoro-engine-DX7VicqD.js → kokoro-engine-CogHLlSk.js} +1 -1
  53. package/dist/ui/assets/{lick-manager-Ct3WOtut.js → lick-manager-wU1FKkH8.js} +1 -1
  54. package/dist/ui/assets/{lick-ws-bridge-D5zKuunw.js → lick-ws-bridge-CFKIh9aE.js} +1 -1
  55. package/dist/ui/assets/lick-ws-bridge-yMljNHwr.js +1 -0
  56. package/dist/ui/assets/{local-llm-DcKgaorK.js → local-llm-BGgEn1af.js} +1 -1
  57. package/dist/ui/assets/{local-llm-DpBDM1Dm.js → local-llm-DkpJTY09.js} +1 -1
  58. package/dist/ui/assets/main-cherry-D_hgi0by.js +1 -0
  59. package/dist/ui/assets/main-hPxGMX9p.js +22 -0
  60. package/dist/ui/assets/{mount-BRSg0FIY.js → mount-DerCullm.js} +2 -2
  61. package/dist/ui/assets/{mount-BHqxxbwU.js → mount-YAzoDR12.js} +1 -1
  62. package/dist/ui/assets/{mount-bridge-client-DHGevTQu.js → mount-bridge-client-BWPRzAQ5.js} +1 -1
  63. package/dist/ui/assets/{mount-recovery-Beig7gzz.js → mount-recovery-F-Ikaxyf.js} +1 -1
  64. package/dist/ui/assets/{navigation-watcher-BoJS9hdc.js → navigation-watcher-DkN9hU8i.js} +1 -1
  65. package/dist/ui/assets/new-session-1cUlwvcQ.js +2 -0
  66. package/dist/ui/assets/{oauth-bootstrap-DUaR-il_.js → oauth-bootstrap-CxYyki5j.js} +2 -2
  67. package/dist/ui/assets/{oauth-service-foejPYvF.js → oauth-service-BuEH8BXq.js} +1 -1
  68. package/dist/ui/assets/{oauth-service-lE9AyywH.js → oauth-service-Dk3L2UWh.js} +1 -1
  69. package/dist/ui/assets/{openai-codex-CZit4W_R.js → openai-codex-BOOXWh0-.js} +1 -1
  70. package/dist/ui/assets/{openai-codex-D0W343kX.js → openai-codex-Z87rB7hH.js} +1 -1
  71. package/dist/ui/assets/{openrouter-D4iz9RSI.js → openrouter-ChLya5Rz.js} +1 -1
  72. package/dist/ui/assets/{openrouter-XorTuzAh.js → openrouter-DqBzxuS4.js} +1 -1
  73. package/dist/ui/assets/{openrouter-oauth-BGOdgzqm.js → openrouter-oauth-B2EeoFim.js} +1 -1
  74. package/dist/ui/assets/{openrouter-oauth-BLGBWXoP.js → openrouter-oauth-BfBNSDL4.js} +1 -1
  75. package/dist/ui/assets/page-follower-tray-M061L6UY.js +5 -0
  76. package/dist/ui/assets/{panel-rpc-handlers-BPMsj1iE.js → panel-rpc-handlers-lhPUi07r.js} +2 -2
  77. package/dist/ui/assets/{port-bridge-client-CoFZLSYm.js → port-bridge-client-DdolH4cw.js} +1 -1
  78. package/dist/ui/assets/{port-bridge-client-BC810skI.js → port-bridge-client-f_6YKEkm.js} +1 -1
  79. package/dist/ui/assets/{provider-DZ7x1aM4.js → provider-C7Q4UCkY.js} +1 -1
  80. package/dist/ui/assets/{provider-YxK-lzhm.js → provider-DxymVAbc.js} +2 -2
  81. package/dist/ui/assets/{provider-settings-D6FC6-Ws.js → provider-settings-B10nWNyQ.js} +2 -2
  82. package/dist/ui/assets/{provider-settings-CmJnFmK2.js → provider-settings-LbMzjgqW.js} +1 -1
  83. package/dist/ui/assets/provider-store-access-Dd3tkLn0.js +1 -0
  84. package/dist/ui/assets/{provider-store-access-Bqa_EvEK.js → provider-store-access-btCSTQlh.js} +2 -2
  85. package/dist/ui/assets/{providers-Bklgdp4G.js → providers-9ptDFUER.js} +2 -2
  86. package/dist/ui/assets/{providers-7r6dA4ra.js → providers-SLMbNokZ.js} +1 -1
  87. package/dist/ui/assets/{proxied-fetch-D5h5REZy.js → proxied-fetch-CfcFb0B0.js} +1 -1
  88. package/dist/ui/assets/{proxied-fetch-ldIfAeIb.js → proxied-fetch-D8ebvbVd.js} +1 -1
  89. package/dist/ui/assets/{quick-llm-BHegEzYY.js → quick-llm-OrtNrFVG.js} +1 -1
  90. package/dist/ui/assets/{remote-cdp-transport-DOoXIxy3.js → remote-cdp-transport-Dmg2NdTA.js} +1 -1
  91. package/dist/ui/assets/{runtime-mode-BVHOImD_.js → runtime-mode-B8Tqab3Z.js} +1 -1
  92. package/dist/ui/assets/runtime-mode-BweZnYql.js +1 -0
  93. package/dist/ui/assets/{secret-env-dQA8rL_1.js → secret-env-Cn-GSA1R.js} +1 -1
  94. package/dist/ui/assets/{secret-topology-CptRwAX3.js → secret-topology-Baeul5rD.js} +1 -1
  95. package/dist/ui/assets/{secrets-bridge-client-D6nwnBvr.js → secrets-bridge-client-CLRo0NLf.js} +1 -1
  96. package/dist/ui/assets/session-freezer-Cff7tz-G.js +21 -0
  97. package/dist/ui/assets/session-store-DQztDoVa.js +1 -0
  98. package/dist/ui/assets/setup-standalone-prelude-DMI8rzSo.js +2 -0
  99. package/dist/ui/assets/{setup-sudo-DGrMEyR3.js → setup-sudo-dy3HgBdZ.js} +2 -2
  100. package/dist/ui/assets/sha256-DmK25X5D.js +1 -0
  101. package/dist/ui/assets/{silent-renew-backoff-DyzFsWYC.js → silent-renew-backoff-Chq7fPuc.js} +1 -1
  102. package/dist/ui/assets/{silent-renew-backoff-Dzkpjjro.js → silent-renew-backoff-CqD4WRin.js} +1 -1
  103. package/dist/ui/assets/{skills-DkHenAsV.js → skills-YAG8gCqO.js} +1 -1
  104. package/dist/ui/assets/{speak-aEIq7SEP.js → speak-DZhfxcQp.js} +1 -1
  105. package/dist/ui/assets/{speak-B4wyr-p6.js → speak-wEvzUJ_4.js} +1 -1
  106. package/dist/ui/assets/{sprinkle-manager-354rS3Fe.js → sprinkle-manager-BYlc7AHg.js} +1 -1
  107. package/dist/ui/assets/src-BcePBv4G.js +1 -0
  108. package/dist/ui/assets/src-C9oNvq2b2.js +2 -0
  109. package/dist/ui/assets/src-DoFhVmQT.js +1 -0
  110. package/dist/ui/assets/{store-DICK08O4.js → store-CWIEXi1n.js} +1 -1
  111. package/dist/ui/assets/{sudo-9mYhdwPD.js → sudo-Bvn2VGB-.js} +1 -1
  112. package/dist/ui/assets/{telemetry-C8rZr13D.js → telemetry-Dxrv_mDE.js} +1 -1
  113. package/dist/ui/assets/{transformers-env-DZtq7i0I.js → transformers-env-Cr03eE3X.js} +1 -1
  114. package/dist/ui/assets/{transformers-env-CeJN6XlP.js → transformers-env-DKadceXA.js} +1 -1
  115. package/dist/ui/assets/{tray-leader-DicSB8Dn.js → tray-leader-BDMuV-1a.js} +1 -1
  116. package/dist/ui/assets/{tray-leave-runtime-BI5IM82V.js → tray-leave-runtime-DuZ41JQ-.js} +1 -1
  117. package/dist/ui/assets/{tray-runtime-config-DquE2Rx9.js → tray-runtime-config-9kTxza5l.js} +1 -1
  118. package/dist/ui/assets/{tray-runtime-config-8-BCHO27.js → tray-runtime-config-GgP0BHji.js} +1 -1
  119. package/dist/ui/assets/{tray-sync-protocol-CVdiCvfU.js → tray-sync-protocol-CxWJ329c.js} +1 -1
  120. package/dist/ui/assets/{upgrade-detection-B8LfSgMb.js → upgrade-detection-B8gNzBbn.js} +1 -1
  121. package/dist/ui/assets/{voice-reply-6cMxpz9H.js → voice-reply-CkYr1oSF.js} +1 -1
  122. package/dist/ui/assets/{wc-attach-DU0svqb7.js → wc-attach-CYMk5mBA.js} +1 -1
  123. package/dist/ui/assets/wc-extension-Toc5AmFR.js +2 -0
  124. package/dist/ui/assets/{wc-float-label-2tniyRvt.js → wc-float-label-yV3hzRXJ.js} +1 -1
  125. package/dist/ui/assets/wc-follower-OxUb51ep.js +17 -0
  126. package/dist/ui/assets/wc-live-za8yDeaP.js +8 -0
  127. package/dist/ui/assets/wc-nav-ppYEG0RH.js +2 -0
  128. package/dist/ui/assets/{wc-onboarding-t5pRxVjL.js → wc-onboarding-DfIJGC-J.js} +2 -2
  129. package/dist/ui/assets/{wc-placeholder-XW-qi_GD.js → wc-placeholder-3E3MxTwO.js} +2 -2
  130. package/dist/ui/assets/{wc-settings-7Jj2UM15.js → wc-settings-O4nxw4gF.js} +3 -3
  131. package/dist/ui/assets/{wc-shell-CoYCAmK-.js → wc-shell-B25uXa4K.js} +3 -3
  132. package/dist/ui/assets/{wc-sprinkles-CFaUt2sb.js → wc-sprinkles-CD1WpjET.js} +2 -2
  133. package/dist/ui/assets/wc-transcript-export-5Pmfejur.js +2 -0
  134. package/dist/ui/assets/wc-tray-BO2UoOrE.js +2 -0
  135. package/dist/ui/assets/{whisper-engine-G1YfvaDM.js → whisper-engine-CHKYCaAu.js} +1 -1
  136. package/dist/ui/assets/{whisper-session-Ds5v74N9.js → whisper-session-W-6_Qa-h.js} +2 -2
  137. package/dist/ui/assets/{xai-grok-CrEqywR8.js → xai-grok-Dq34m_Xp.js} +1 -1
  138. package/dist/ui/assets/{xai-grok-QulUPZS-.js → xai-grok-FRt_Qr4y.js} +1 -1
  139. package/dist/ui/index.html +15 -13
  140. package/dist/ui/llm-proxy-sw.js +1 -1
  141. package/dist/ui/packages/webapp/index.html +15 -13
  142. package/package.json +1 -1
  143. package/dist/ui/assets/lick-ws-bridge-DbbdXQSp.js +0 -1
  144. package/dist/ui/assets/main-CBUfGcTh.js +0 -22
  145. package/dist/ui/assets/main-cherry-9qp2ecC4.js +0 -1
  146. package/dist/ui/assets/new-session-UPnjrqyz.js +0 -2
  147. package/dist/ui/assets/page-follower-tray-Cm9cuA-m.js +0 -5
  148. package/dist/ui/assets/provider-store-access-Dw2dlNIf.js +0 -1
  149. package/dist/ui/assets/session-freezer-oYKtZTY0.js +0 -21
  150. package/dist/ui/assets/session-store-DAM8GRJ0.js +0 -1
  151. package/dist/ui/assets/src-CS5gSDhT.js +0 -1
  152. package/dist/ui/assets/src-Dk1QVJRd.js +0 -1
  153. package/dist/ui/assets/wc-extension-grYSDyJN.js +0 -2
  154. package/dist/ui/assets/wc-follower-B6JesvuH.js +0 -17
  155. package/dist/ui/assets/wc-live-OHBNpb_A.js +0 -8
  156. package/dist/ui/assets/wc-nav-DcxqwpAS.js +0 -2
  157. package/dist/ui/assets/wc-tray-C_yJiqov.js +0 -2
@@ -1,4 +1,4 @@
1
- import{n as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{t as n}from"./logger-LESFN7Hj.js";import{n as r,r as i}from"./panel-rpc-CjFVE0nK.js";import{n as a,o,t as s}from"./providers-7r6dA4ra.js";import{r as c,s as l,t as u}from"./proxied-fetch-ldIfAeIb.js";import"./src-Dk1QVJRd.js";import{t as d}from"./runtime-env-byAg9ij-.js";import{i as f,r as p}from"./tool-ui-t6ocn6AG.js";import{t as m}from"./port-bridge-client-BC810skI.js";import{d as h,f as g,l as ee,r as _,t as te,u as ne}from"./bedrock-camp-BO4bvAKs.js";const re=`slicc_oauth_extra_domains`;function ie(e){try{let t=e.getItem(re);if(!t)return{};let n=JSON.parse(t);if(typeof n!=`object`||!n||Array.isArray(n))return{};let r={};for(let[e,t]of Object.entries(n)){if(typeof e!=`string`||!Array.isArray(t))continue;let n=t.filter(e=>typeof e==`string`&&e.length>0);n.length>0&&(r[e]=n)}return r}catch{return{}}}function ae(e,t){try{e.setItem(re,JSON.stringify(t))}catch(e){throw Error(`Failed to persist OAuth extras (localStorage quota exceeded?): ${e instanceof Error?e.message:String(e)}`)}}function oe(){return d()?`extension-direct`:c()?`extension-delegate`:globalThis.__slicc_connect_mode?`connect`:`node-rest`}function se(){return oe()===`node-rest`}const ce={assign:0,create:0,clone:0,discard:0,update:0};function v(e,t){return ce.assign+=1,{...e,...t}}function le(e,t,n){return e>=t&&e<=n}function ue(e){return le(e,127462,127487)}function de(e){return le(e,65024,65039)}function fe(e){return le(e,768,879)||le(e,6832,6911)||le(e,7616,7679)||le(e,65056,65071)}function pe(e){return e>65535?2:1}function me(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(fe(n)||de(n))t+=pe(n);else break}return t}function he(e,t){let n=e.codePointAt(t),r=t+pe(n);for(r=me(e,r);r<e.length-1&&e[r]===`‍`;){let t=e.codePointAt(r+1);r+=1+pe(t),r=me(e,r)}return ue(n)&&r<e.length&&ue(e.codePointAt(r))&&(r+=pe(e.codePointAt(r))),r}function ge(e){return le(e,55296,56319)||le(e,768,879)||e===8205}function _e(e){let t=0,n=0;for(;n<e.length;)n=he(e,n),t++;return t}function ve(e,t){if(t===0)return!0;let n=0,r=0;for(;r<e.length;)if(r=he(e,r),n++,n>=t)return!0;return!1}function ye(e,t){let n=0,r=0;for(;r<e.length;)if(r=he(e,r),n++,n>t)return!1;return!0}function be(e,t){if(t===0)return!0;let n=0;for(;n<e.length;){if(ge(e.charCodeAt(n)))return ve(e,t);if(n++,n>=t)return!0}return!1}function xe(e,t){let n=0;for(;n<e.length;){if(ge(e.charCodeAt(n)))return ye(e,t);if(n++,n>t)return!1}return!0}var Se=e({Entries:()=>Xe,EntriesRegExp:()=>Ye,Every:()=>Ke,EveryAll:()=>qe,GraphemeCount:()=>Ue,HasPropertyKey:()=>C,IsArray:()=>Ce,IsAsyncIterator:()=>we,IsBigInt:()=>Te,IsBoolean:()=>Ee,IsClassInstance:()=>Ve,IsConstructor:()=>De,IsDeepEqual:()=>tt,IsEqual:()=>x,IsFunction:()=>Oe,IsGreaterEqualThan:()=>ze,IsGreaterThan:()=>Ie,IsInteger:()=>ke,IsIterator:()=>Ae,IsLessEqualThan:()=>Re,IsLessThan:()=>Le,IsMaxLength:()=>We,IsMinLength:()=>Ge,IsMultipleOf:()=>Be,IsNull:()=>je,IsNumber:()=>Me,IsObject:()=>y,IsObjectNotArray:()=>Ne,IsString:()=>b,IsSymbol:()=>Pe,IsUndefined:()=>Fe,IsUnsafePropertyKey:()=>Je,IsValueLike:()=>He,Keys:()=>w,Symbols:()=>Ze,TakeLeft:()=>S,Values:()=>Qe});function Ce(e){return Array.isArray(e)}function we(e){return y(e)&&Symbol.asyncIterator in e}function Te(e){return x(typeof e,`bigint`)}function Ee(e){return x(typeof e,`boolean`)}function De(e){if(Fe(e)||!Oe(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function Oe(e){return x(typeof e,`function`)}function ke(e){return Number.isInteger(e)}function Ae(e){return y(e)&&Symbol.iterator in e}function je(e){return x(e,null)}function Me(e){return Number.isFinite(e)}function Ne(e){return y(e)&&!Ce(e)}function y(e){return x(typeof e,`object`)&&!je(e)}function b(e){return x(typeof e,`string`)}function Pe(e){return x(typeof e,`symbol`)}function Fe(e){return x(e,void 0)}function x(e,t){return e===t}function Ie(e,t){return e>t}function Le(e,t){return e<t}function Re(e,t){return e<=t}function ze(e,t){return e>=t}function Be(e,t){if(Te(e)||Te(t))return BigInt(e)%BigInt(t)===0n;if(!Me(e)||ke(e)&&1/t%1==0)return!0;let n=e%t;return Math.min(Math.abs(n),Math.abs(n-t))<1e-10}function Ve(e){if(!y(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return!je(t)&&x(typeof t.constructor,`function`)&&!(x(t.constructor,globalThis.Object)||x(t.constructor.name,`Object`))}function He(e){return Te(e)||Ee(e)||je(e)||Me(e)||b(e)||Fe(e)}function Ue(e){return _e(e)}function We(e,t){return xe(e,t)}function Ge(e,t){return be(e,t)}function Ke(e,t,n){for(let r=t;r<e.length;r++)if(!n(e[r],r))return!1;return!0}function qe(e,t,n){let r=!0;for(let i=t;i<e.length;i++)n(e[i],i)||(r=!1);return r}function S(e,t,n){return x(e.length,0)?n():t(e[0],e.slice(1))}function Je(e){return x(e,`__proto__`)||x(e,`constructor`)||x(e,`prototype`)}function C(e,t){return Je(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function Ye(e){return w(e).map(t=>[RegExp(`^${t}$`),e[t]])}function Xe(e){return Object.entries(e)}function w(e){return Object.getOwnPropertyNames(e)}function Ze(e){return Object.getOwnPropertySymbols(e)}function Qe(e){return Object.values(e)}function $e(e,t){if(!y(t))return!1;let n=w(e);return x(n.length,w(t).length)&&n.every(n=>tt(e[n],t[n]))}function et(e,t){return Ce(t)&&x(e.length,t.length)&&e.every((n,r)=>tt(e[r],t[r]))}function tt(e,t){return Ce(e)?et(e,t):y(e)?$e(e,t):x(e,t)}function nt(e){return e instanceof Boolean}function rt(e){return e instanceof Number}function it(e){return e instanceof String}function at(e){return globalThis.ArrayBuffer.isView(e)}function ot(e){return e instanceof globalThis.RegExp}function st(e){return e instanceof globalThis.Date}function ct(e){return e instanceof globalThis.Set}function lt(e){return e instanceof globalThis.Map}function ut(e){return y(e)&&C(e,`~guard`)}function dt(e){return e}function ft(e){return e.map(e=>gt(e))}function pt(e){let t={},n=Object.getOwnPropertyDescriptors(e);for(let e of Object.keys(n)){let r=n[e];C(r,`value`)&&Object.defineProperty(t,e,{...r,value:gt(r.value)})}return t}function mt(e){return new RegExp(e.source,e.flags)}function ht(e){return e}function gt(e){return e instanceof RegExp?mt(e):ut(e)?dt(e):Ce(e)?ft(e):y(e)?pt(e):ht(e)}function _t(e){return ce.clone+=1,gt(e)}const vt={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1};function yt(){return vt}function bt(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function xt(e,t){return{...e,...t}}function T(e,t,n={}){ce.create+=1;let r=yt(),i=xt(t,n),a=r.enumerableKind?xt(i,e):bt(i,e);return r.immutableTypes?Object.freeze(a):a}function St(e,t){ce.discard+=1;let n={},r=Object.getOwnPropertyDescriptors(_t(e)),i=new Set(t);for(let e of Object.keys(r))i.has(e)||Object.defineProperty(n,e,r[e]);return n}function E(e,t,n){ce.update+=1;let r=yt(),i=_t(e);for(let e of Object.keys(t))Object.defineProperty(i,e,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[e]});for(let e of Object.keys(n))Object.defineProperty(i,e,{configurable:!0,enumerable:!0,writable:!0,value:n[e]});return i}function D(e,t){return y(e)&&C(e,`~kind`)&&x(e[`~kind`],t)}function Ct(e){return y(e)}function wt(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`OptionalAddAction`)&&Ct(e.type)}function Tt(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`OptionalRemoveAction`)&&Ct(e.type)}function Et(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`ReadonlyAddAction`)&&Ct(e.type)}function Dt(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`ReadonlyRemoveAction`)&&Ct(e.type)}function O(e,t,n){return T({"~kind":`Deferred`},{action:e,parameters:t,options:n},{})}function Ot(e){return D(e,`Deferred`)}function kt(e,t){return T({"~kind":`Promise`},{type:`promise`,item:e},t)}function At(e){return D(e,`Promise`)}function jt(e){return St(e,[`~kind`,`type`,`item`])}function Mt(e){return E(e,{"~immutable":!0},{})}function Nt(e){return Mt(e)}function Pt(e){return Ct(e)&&C(e,`~immutable`)}function Ft(e){return St(e,[`~optional`])}function It(e){return E(e,{"~optional":!0},{})}function Lt(e){return It(e)}function Rt(e){return Ct(e)&&C(e,`~optional`)}function zt(e){return St(e,[`~readonly`])}function Bt(e){return E(e,{"~readonly":!0},{})}function Vt(e){return Bt(e)}function Ht(e){return Ct(e)&&C(e,`~readonly`)}function Ut(e){return{enumerable:yt().enumerableKind,writable:!1,configurable:!1,value:e}}var Wt=class{constructor(){globalThis.Object.defineProperty(this,`~kind`,Ut(`Base`)),globalThis.Object.defineProperty(this,`~guard`,Ut({check:e=>this.Check(e),errors:e=>this.Errors(e)}))}Check(e){return!0}Errors(e){return[]}Convert(e){return e}Clean(e){return e}Default(e){return e}Create(){throw Error(`Create not implemented`)}Clone(){throw Error(`Clone not implemented`)}};function Gt(e){return D(e,`Base`)}function Kt(e,t){return T({"~kind":`Array`},{type:`array`,items:e},t)}function qt(e){return D(e,`Array`)}function Jt(e){return St(e,[`~kind`,`type`,`items`])}function Yt(e,t){return T({"~kind":`AsyncIterator`},{type:`asyncIterator`,iteratorItems:e},t)}function Xt(e){return D(e,`AsyncIterator`)}function Zt(e){return St(e,[`~kind`,`type`,`iteratorItems`])}function Qt(e,t,n={}){return T({"~kind":`Constructor`},{type:`constructor`,parameters:e,instanceType:t},n)}function $t(e){return D(e,`Constructor`)}function en(e){return St(e,[`~kind`,`type`,`parameters`,`instanceType`])}function tn(e,t,n={}){return T({"~kind":`Function`},{type:`function`,parameters:e,returnType:t},n)}function nn(e){return D(e,`Function`)}function rn(e){return St(e,[`~kind`,`type`,`parameters`,`returnType`])}function an(e,t){return T({"~kind":`Ref`},{$ref:e},t)}function on(e){return D(e,`Ref`)}function sn(e,t){return T({"~kind":`Generic`},{type:`generic`,parameters:e,expression:t})}function cn(e){return D(e,`Generic`)}function ln(e){return T({"~kind":`Any`},{},e)}function un(e){return D(e,`Any`)}function k(e){return T({"~kind":`Never`},{not:{}},e)}function dn(e){return D(e,`Never`)}function fn(e){return w(e).filter(t=>!Rt(e[t]))}function pn(e){return w(e)}function mn(e){return Qe(e)}function A(e,t={}){let n=fn(e);return T({"~kind":`Object`},{type:`object`,...n.length>0?{required:n}:{},properties:e},t)}function j(e){return D(e,`Object`)}function hn(e){return St(e,[`~kind`,`type`,`properties`,`required`])}function M(e,t={}){return T({"~kind":`Union`},{anyOf:e},t)}function N(e){return D(e,`Union`)}function gn(e){return St(e,[`~kind`,`anyOf`])}function _n(e){return T({"~kind":`Unknown`},{},e)}function vn(e){return D(e,`Unknown`)}function yn(e,t,n){return T({"~kind":`Cyclic`},{$defs:w(e).reduce((t,n)=>({...t,[n]:E(e[n],{},{$id:n})}),{}),$ref:t},n)}function bn(e){return D(e,`Cyclic`)}function xn(e){return Ne(e)&&C(e,`~unsafe`)&&je(e[`~unsafe`])}function Sn(e){return D(e,`Infer`)}function Cn(e){return D(e,`Enum`)}function wn(e,t={}){return T({"~kind":`Intersect`},{allOf:e},t)}function P(e){return D(e,`Intersect`)}function Tn(e){return St(e,[`~kind`,`allOf`])}function En(){throw Error(`Unreachable`)}var Dn=e({Hash:()=>er,HashCode:()=>$n});function On(e){let t=new Set,n=e;for(;n&&n!==Object.prototype;){for(let e of Reflect.ownKeys(n))e!==`constructor`&&typeof e!=`symbol`&&t.add(e);n=Object.getPrototypeOf(n)}return[...t]}function kn(e){return typeof e==`number`}var F;(function(e){e[e.Array=0]=`Array`,e[e.BigInt=1]=`BigInt`,e[e.Boolean=2]=`Boolean`,e[e.Date=3]=`Date`,e[e.Constructor=4]=`Constructor`,e[e.Function=5]=`Function`,e[e.Null=6]=`Null`,e[e.Number=7]=`Number`,e[e.Object=8]=`Object`,e[e.RegExp=9]=`RegExp`,e[e.String=10]=`String`,e[e.Symbol=11]=`Symbol`,e[e.TypeArray=12]=`TypeArray`,e[e.Undefined=13]=`Undefined`})(F||={});let An=BigInt(`14695981039346656037`);const[jn,Mn]=[BigInt(`1099511628211`),BigInt(`18446744073709551616`)],Nn=Array.from({length:256}).map((e,t)=>BigInt(t)),Pn=new Float64Array(1),Fn=new DataView(Pn.buffer),In=new Uint8Array(Pn.buffer);function I(e){An^=Nn[e],An=An*jn%Mn}function Ln(e){I(F.Array);for(let t of e)Qn(t)}function Rn(e){I(F.BigInt),Fn.setBigInt64(0,e);for(let e of In)I(e)}function zn(e){I(F.Boolean),I(+!!e)}function Bn(e){I(F.Constructor),Qn(e.toString())}function Vn(e){I(F.Date),Qn(e.getTime())}function Hn(e){I(F.Function),Qn(e.toString())}function Un(e){I(F.Null)}function Wn(e){I(F.Number),Fn.setFloat64(0,e,!0);for(let e of In)I(e)}function Gn(e){I(F.Object);for(let t of On(e).sort())Qn(t),Qn(e[t])}function Kn(e){I(F.RegExp),Jn(e.toString())}const qn=new TextEncoder;function Jn(e){I(F.String);for(let t of qn.encode(e))I(t)}function Yn(e){I(F.Symbol),Qn(e.toString())}function Xn(e){I(F.TypeArray);let t=new Uint8Array(e.buffer);for(let e=0;e<t.length;e++)I(t[e])}function Zn(e){return I(F.Undefined)}function Qn(e){return at(e)?Xn(e):st(e)?Vn(e):ot(e)?Kn(e):nt(e)?zn(e.valueOf()):it(e)?Jn(e.valueOf()):rt(e)?Wn(e.valueOf()):kn(e)?Wn(e):Ce(e)?Ln(e):Ee(e)?zn(e):Te(e)?Rn(e):De(e)?Bn(e):je(e)?Un(e):y(e)?Gn(e):b(e)?Jn(e):Pe(e)?Yn(e):Fe(e)?Zn(e):Oe(e)?Hn(e):En()}function $n(e){return An=BigInt(`14695981039346656037`),Qn(e),An}function er(e){return $n(e).toString(16).padStart(16,`0`)}function tr(e){return Ct(e)&&C(e,`~codec`)&&y(e[`~codec`])&&C(e[`~codec`],`encode`)&&C(e[`~codec`],`decode`)}function nr(e){return T({"~kind":`BigInt`},{type:`bigint`},e)}function rr(e){return D(e,`BigInt`)}function ir(e){return D(e,`Boolean`)}const ar=`-?(?:0|[1-9][0-9]*)`;function or(e){return T({"~kind":`Integer`},{type:`integer`},e)}function sr(e){return D(e,`Integer`)}function cr(e,t){return T({"~kind":`Iterator`},{type:`iterator`,iteratorItems:e},t)}function lr(e){return D(e,`Iterator`)}function ur(e){return St(e,[`~kind`,`type`,`iteratorItems`])}var dr=class extends Error{constructor(e){super(`Invalid Literal value`),Object.defineProperty(this,"cause",{value:{value:e},writable:!1,configurable:!1,enumerable:!1})}};function fr(e){return Te(e)?`bigint`:Ee(e)?`boolean`:Me(e)?`number`:b(e)?`string`:(()=>{throw new dr(e)})()}function L(e,t){return T({"~kind":`Literal`},{type:fr(e),const:e},t)}function pr(e){return Te(e)||Ee(e)||Me(e)||b(e)}function mr(e){return R(e)&&Te(e.const)}function hr(e){return R(e)&&Ee(e.const)}function gr(e){return R(e)&&Me(e.const)}function _r(e){return R(e)&&b(e.const)}function R(e){return D(e,`Literal`)}function vr(e){return T({"~kind":`Null`},{type:`null`},e)}function yr(e){return D(e,`Null`)}const br=`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`;function xr(e){return T({"~kind":`Number`},{type:`number`},e)}function Sr(e){return D(e,`Number`)}function Cr(e){return T({"~kind":`Symbol`},{type:`symbol`},e)}function wr(e){return D(e,`Symbol`)}function Tr(e){return T({"~kind":`String`},{type:`string`},e)}function Er(e){return D(e,`String`)}function Dr(e){let t=za(e);return x(t.length,2)?t[0]:[]}function Or(e){return!0}function kr(e){return S(e,(e,t)=>jr(e)?kr(t):!1,()=>!0)}function Ar(e){return!x(e.length,0)&&kr(e)}function jr(e){return N(e)?Ar(e.anyOf):R(e)?Or(e.const):!1}function Mr(e){return Ar(e)}function Nr(e){return T({"~kind":`TemplateLiteral`},{type:`string`,pattern:e},{})}function Pr(e,t,n=[]){return S(e,(e,r)=>Pr(r,t,[...n,`${e}${t}`]),()=>n)}function Fr(e,t){return x(e.length,0)?[`${t}`]:Pr(e,t)}function Ir(e,t,n=[]){return S(t,(t,r)=>Ir(e,r,[...n,...Lr(e,t)]),()=>n)}function Lr(e,t){return N(t)?Ir(e,t.anyOf):R(t)?Fr(e,t.const):En()}function Rr(e,t){return S(t,(t,n)=>Rr(Lr(e,t),n),()=>e)}function zr(e){return e.map(e=>L(e))}function Br(e){return M(zr(Rr([],e)))}function Vr(e){return x(e.length,0)?En():x(e.length,1)&&R(e[0])?e[0]:Br(e)}function Hr(e){let t=Dr(e);return x(t.length,0)?Tr():Mr(t)?Vr(t):Nr(e)}function Ur(e){let t=Hr(e);return oo(t)?Tr():t}function Wr(e,t){return T({"~kind":`Record`},{type:`object`,patternProperties:{[e]:t}})}function Gr(e){return Wr(Ri,e)}function Kr(e){return A({true:e,false:e})}function qr(e){return b(e)||Me(e)?L(e):je(e)?vr():k()}function Jr(e){return e.map(e=>qr(e))}function Yr(e){return M(Jr(e))}function Xr(e){return Yr(e.enum)}function Zr(e,t){return Ni(Yr(e),t)}function Qr(e,t){return Wr(Ii,t)}function $r(e,t={}){let[n,r,i]=[e,e.length,!1];return T({"~kind":`Tuple`},{type:`array`,additionalItems:i,items:n,minItems:r},t)}function z(e){return D(e,`Tuple`)}function ei(e){return St(e,[`~kind`,`type`,`items`,`minItems`,`additionalItems`])}function ti(e){return e.reduceRight((e,t,n)=>({[n]:t,...e}),{})}function ni(e){return A(ti(e.items))}function ri(e,t){return Ht(e)?!!Ht(t):!1}function ii(e,t){return Rt(e)?!!Rt(t):!1}function ai(e,t){let n=ri(e,t),r=ii(e,t),i=zt(Ft(_i([e,t])));return n&&r?Bt(It(i)):n&&!r?Bt(i):!n&&r?It(i):i}function oi(e,t,n){return n in e?n in t?ai(e[n],t[n]):e[n]:n in t?t[n]:k()}function si(e,t){return[...new Set([...w(t),...w(e)])].reduce((n,r)=>({...n,[r]:oi(e,t,r)}),{})}function ci(e){return j(e)?e.properties:z(e)?ti(e.items):En()}function li(e,t){return A(si(ci(e),ci(t)))}function ui(e,t){let n=nc(e,t);return x(n,`left-inside`)?e:x(n,`right-inside`)||x(n,`equal`)?t:k()}function di(e){return j(e)||z(e)}function fi(e,t){let n=N(e),r=N(t);return n||r}function pi(e,t){let n=yi(e),r=yi(t),i=fi(n,r),a=di(n),o=di(r);return i?_i([n,r]):a&&o?li(n,r):a&&!o?n:!a&&o?r:ui(n,r)}function mi(e,t,n=[]){return S(t,(t,r)=>mi(e,r,[...n,pi(e,t)]),()=>x(n.length,0)?[e]:n)}function hi(e,t,n=[]){return S(e,(e,r)=>hi(r,t,[...n,...gi([e],t)]),()=>n)}function gi(e,t=[]){return S(e,(e,n)=>N(e)?gi(n,hi(e.anyOf,t)):gi(n,mi(e,t)),()=>t)}function _i(e){return sc(gi(e))}function vi(e){return sc(e)}function yi(e){return P(e)?_i(e.allOf):N(e)?vi(e.anyOf):e}function bi(e){return x(e.length,1)?e[0]:x(e.length,0)?k():M(e)}function xi(e,t){return Ni(_i(e),t)}function Si(e,t){return b(e)||Me(e)?A({[e]:t}):x(e,!1)?A({false:t}):x(e,!0)?A({true:t}):A({})}function Ci(e,t){return Wr(Li,t)}function wi(e,t){return C(e,`pattern`)&&(b(e.pattern)||e.pattern instanceof RegExp)?Wr(e.pattern.toString(),t):Wr(Ri,t)}function Ti(e,t){return Mr(Dr(e))?Ni(Ur(e),t):Wr(e,t)}function Ei(e){return N(e)?Di(e.anyOf):[e]}function Di(e){return e.reduce((e,t)=>[...e,...Ei(t)],[])}function Oi(e){return e.some(e=>Er(e)||Sr(e)||sr(e))}function ki(e,t){return x(Oi(e),!0)?Wr(Ri,t):void 0}function Ai(e,t){return e.reduce((e,n)=>R(n)&&(b(n.const)||Me(n.const))?{...e,[n.const]:t}:e,{})}function ji(e,t){return A(Ai(e,t))}function Mi(e,t){let n=Di(e),r=ki(n,t);return Ct(r)?r:ji(n,t)}function Ni(e,t){return un(e)?Gr(t):ir(e)?Kr(t):Cn(e)?Zr(e.enum,t):sr(e)?Qr(e,t):P(e)?xi(e.allOf,t):R(e)?Si(e.const,t):Sr(e)?Ci(e,t):N(e)?Mi(e.anyOf,t):Er(e)?wi(e,t):oo(e)?Ti(e.pattern,t):A({})}function Pi(e,t,n){return G([e])?E(Ni(e,t),{},n):zi(e,t,n)}function Fi(e,t,n,r,i){return Pi(K(e,t,n),K(e,t,r),i)}const Ii=`^${ar}$`,Li=`^${br}$`,Ri=`^.*$`;function zi(e,t,n={}){return O(`Record`,[e,t],n)}function Bi(e,t,n={}){return Pi(e,t,n)}function Vi(e,t){return Wr(e,t)}function Hi(e){return w(e.patternProperties)[0]}function Ui(e){let t=Hi(e);return x(t,Ri)?Tr():x(t,Ii)?or():x(t,Li)?xr():Hr(t)}function Wi(e){return e.patternProperties[Hi(e)]}function Gi(e){return D(e,`Record`)}function Ki(e){return T({"~kind":`Rest`},{type:`rest`,items:e},{})}function qi(e){return D(e,`Rest`)}function Ji(e){return D(e,`This`)}function Yi(e){return T({"~kind":`Undefined`},{type:`undefined`},e)}function Xi(e){return D(e,`Undefined`)}function Zi(e){return D(e,`Void`)}function Qi(e){return nr()}function $i(e){return Tr()}function ea(e){return xr()}function ta(e){return or()}function na(e){return k()}function ra(e){return L(e)}function ia(e){return e}function aa(e){return M(e[1])}function oa(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function sa(e){return[e[0],...e[1]]}function ca(e){return e}function la(e){return e[1]}function ua(e){return x(e.length,2)}function da(e,t,n){return ua(e)?t(e[0],e[1]):n()}function fa(e,t){return x(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function pa(e,t){for(let n=0;n<e.length;n++){let r=fa(e[n],t);if(ua(r))return r}return[]}function ma(e,t){return Array.from({length:t-e+1},(t,n)=>String.fromCharCode(e+n))}const ha=[...ma(97,122),...ma(65,90)],ga=[`0`,...ma(49,57)];function _a(e){let t=e.indexOf(`*/`);return x(t,-1)?``:e.slice(t+2)}function va(e){let t=e.indexOf(`
1
+ import{n as e,t}from"./rolldown-runtime-aKtaBQYM.js";import{t as n}from"./logger-LESFN7Hj.js";import{n as r,r as i}from"./panel-rpc-CjFVE0nK.js";import{n as a,o,t as s}from"./providers-SLMbNokZ.js";import{r as c,s as l,t as u}from"./proxied-fetch-D8ebvbVd.js";import"./src-BcePBv4G.js";import{t as d}from"./runtime-env-byAg9ij-.js";import{i as f,r as p}from"./tool-ui-t6ocn6AG.js";import{t as m}from"./port-bridge-client-f_6YKEkm.js";import{d as h,f as g,l as ee,r as _,t as te,u as ne}from"./bedrock-camp-BO4bvAKs.js";const re=`slicc_oauth_extra_domains`;function ie(e){try{let t=e.getItem(re);if(!t)return{};let n=JSON.parse(t);if(typeof n!=`object`||!n||Array.isArray(n))return{};let r={};for(let[e,t]of Object.entries(n)){if(typeof e!=`string`||!Array.isArray(t))continue;let n=t.filter(e=>typeof e==`string`&&e.length>0);n.length>0&&(r[e]=n)}return r}catch{return{}}}function ae(e,t){try{e.setItem(re,JSON.stringify(t))}catch(e){throw Error(`Failed to persist OAuth extras (localStorage quota exceeded?): ${e instanceof Error?e.message:String(e)}`)}}function oe(){return d()?`extension-direct`:c()?`extension-delegate`:globalThis.__slicc_connect_mode?`connect`:`node-rest`}function se(){return oe()===`node-rest`}const ce={assign:0,create:0,clone:0,discard:0,update:0};function v(e,t){return ce.assign+=1,{...e,...t}}function le(e,t,n){return e>=t&&e<=n}function ue(e){return le(e,127462,127487)}function de(e){return le(e,65024,65039)}function fe(e){return le(e,768,879)||le(e,6832,6911)||le(e,7616,7679)||le(e,65056,65071)}function pe(e){return e>65535?2:1}function me(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(fe(n)||de(n))t+=pe(n);else break}return t}function he(e,t){let n=e.codePointAt(t),r=t+pe(n);for(r=me(e,r);r<e.length-1&&e[r]===`‍`;){let t=e.codePointAt(r+1);r+=1+pe(t),r=me(e,r)}return ue(n)&&r<e.length&&ue(e.codePointAt(r))&&(r+=pe(e.codePointAt(r))),r}function ge(e){return le(e,55296,56319)||le(e,768,879)||e===8205}function _e(e){let t=0,n=0;for(;n<e.length;)n=he(e,n),t++;return t}function ve(e,t){if(t===0)return!0;let n=0,r=0;for(;r<e.length;)if(r=he(e,r),n++,n>=t)return!0;return!1}function ye(e,t){let n=0,r=0;for(;r<e.length;)if(r=he(e,r),n++,n>t)return!1;return!0}function be(e,t){if(t===0)return!0;let n=0;for(;n<e.length;){if(ge(e.charCodeAt(n)))return ve(e,t);if(n++,n>=t)return!0}return!1}function xe(e,t){let n=0;for(;n<e.length;){if(ge(e.charCodeAt(n)))return ye(e,t);if(n++,n>t)return!1}return!0}var Se=e({Entries:()=>Xe,EntriesRegExp:()=>Ye,Every:()=>Ke,EveryAll:()=>qe,GraphemeCount:()=>Ue,HasPropertyKey:()=>C,IsArray:()=>Ce,IsAsyncIterator:()=>we,IsBigInt:()=>Te,IsBoolean:()=>Ee,IsClassInstance:()=>Ve,IsConstructor:()=>De,IsDeepEqual:()=>tt,IsEqual:()=>x,IsFunction:()=>Oe,IsGreaterEqualThan:()=>ze,IsGreaterThan:()=>Ie,IsInteger:()=>ke,IsIterator:()=>Ae,IsLessEqualThan:()=>Re,IsLessThan:()=>Le,IsMaxLength:()=>We,IsMinLength:()=>Ge,IsMultipleOf:()=>Be,IsNull:()=>je,IsNumber:()=>Me,IsObject:()=>y,IsObjectNotArray:()=>Ne,IsString:()=>b,IsSymbol:()=>Pe,IsUndefined:()=>Fe,IsUnsafePropertyKey:()=>Je,IsValueLike:()=>He,Keys:()=>w,Symbols:()=>Ze,TakeLeft:()=>S,Values:()=>Qe});function Ce(e){return Array.isArray(e)}function we(e){return y(e)&&Symbol.asyncIterator in e}function Te(e){return x(typeof e,`bigint`)}function Ee(e){return x(typeof e,`boolean`)}function De(e){if(Fe(e)||!Oe(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function Oe(e){return x(typeof e,`function`)}function ke(e){return Number.isInteger(e)}function Ae(e){return y(e)&&Symbol.iterator in e}function je(e){return x(e,null)}function Me(e){return Number.isFinite(e)}function Ne(e){return y(e)&&!Ce(e)}function y(e){return x(typeof e,`object`)&&!je(e)}function b(e){return x(typeof e,`string`)}function Pe(e){return x(typeof e,`symbol`)}function Fe(e){return x(e,void 0)}function x(e,t){return e===t}function Ie(e,t){return e>t}function Le(e,t){return e<t}function Re(e,t){return e<=t}function ze(e,t){return e>=t}function Be(e,t){if(Te(e)||Te(t))return BigInt(e)%BigInt(t)===0n;if(!Me(e)||ke(e)&&1/t%1==0)return!0;let n=e%t;return Math.min(Math.abs(n),Math.abs(n-t))<1e-10}function Ve(e){if(!y(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return!je(t)&&x(typeof t.constructor,`function`)&&!(x(t.constructor,globalThis.Object)||x(t.constructor.name,`Object`))}function He(e){return Te(e)||Ee(e)||je(e)||Me(e)||b(e)||Fe(e)}function Ue(e){return _e(e)}function We(e,t){return xe(e,t)}function Ge(e,t){return be(e,t)}function Ke(e,t,n){for(let r=t;r<e.length;r++)if(!n(e[r],r))return!1;return!0}function qe(e,t,n){let r=!0;for(let i=t;i<e.length;i++)n(e[i],i)||(r=!1);return r}function S(e,t,n){return x(e.length,0)?n():t(e[0],e.slice(1))}function Je(e){return x(e,`__proto__`)||x(e,`constructor`)||x(e,`prototype`)}function C(e,t){return Je(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function Ye(e){return w(e).map(t=>[RegExp(`^${t}$`),e[t]])}function Xe(e){return Object.entries(e)}function w(e){return Object.getOwnPropertyNames(e)}function Ze(e){return Object.getOwnPropertySymbols(e)}function Qe(e){return Object.values(e)}function $e(e,t){if(!y(t))return!1;let n=w(e);return x(n.length,w(t).length)&&n.every(n=>tt(e[n],t[n]))}function et(e,t){return Ce(t)&&x(e.length,t.length)&&e.every((n,r)=>tt(e[r],t[r]))}function tt(e,t){return Ce(e)?et(e,t):y(e)?$e(e,t):x(e,t)}function nt(e){return e instanceof Boolean}function rt(e){return e instanceof Number}function it(e){return e instanceof String}function at(e){return globalThis.ArrayBuffer.isView(e)}function ot(e){return e instanceof globalThis.RegExp}function st(e){return e instanceof globalThis.Date}function ct(e){return e instanceof globalThis.Set}function lt(e){return e instanceof globalThis.Map}function ut(e){return y(e)&&C(e,`~guard`)}function dt(e){return e}function ft(e){return e.map(e=>gt(e))}function pt(e){let t={},n=Object.getOwnPropertyDescriptors(e);for(let e of Object.keys(n)){let r=n[e];C(r,`value`)&&Object.defineProperty(t,e,{...r,value:gt(r.value)})}return t}function mt(e){return new RegExp(e.source,e.flags)}function ht(e){return e}function gt(e){return e instanceof RegExp?mt(e):ut(e)?dt(e):Ce(e)?ft(e):y(e)?pt(e):ht(e)}function _t(e){return ce.clone+=1,gt(e)}const vt={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1};function yt(){return vt}function bt(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function xt(e,t){return{...e,...t}}function T(e,t,n={}){ce.create+=1;let r=yt(),i=xt(t,n),a=r.enumerableKind?xt(i,e):bt(i,e);return r.immutableTypes?Object.freeze(a):a}function St(e,t){ce.discard+=1;let n={},r=Object.getOwnPropertyDescriptors(_t(e)),i=new Set(t);for(let e of Object.keys(r))i.has(e)||Object.defineProperty(n,e,r[e]);return n}function E(e,t,n){ce.update+=1;let r=yt(),i=_t(e);for(let e of Object.keys(t))Object.defineProperty(i,e,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[e]});for(let e of Object.keys(n))Object.defineProperty(i,e,{configurable:!0,enumerable:!0,writable:!0,value:n[e]});return i}function D(e,t){return y(e)&&C(e,`~kind`)&&x(e[`~kind`],t)}function Ct(e){return y(e)}function wt(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`OptionalAddAction`)&&Ct(e.type)}function Tt(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`OptionalRemoveAction`)&&Ct(e.type)}function Et(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`ReadonlyAddAction`)&&Ct(e.type)}function Dt(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`ReadonlyRemoveAction`)&&Ct(e.type)}function O(e,t,n){return T({"~kind":`Deferred`},{action:e,parameters:t,options:n},{})}function Ot(e){return D(e,`Deferred`)}function kt(e,t){return T({"~kind":`Promise`},{type:`promise`,item:e},t)}function At(e){return D(e,`Promise`)}function jt(e){return St(e,[`~kind`,`type`,`item`])}function Mt(e){return E(e,{"~immutable":!0},{})}function Nt(e){return Mt(e)}function Pt(e){return Ct(e)&&C(e,`~immutable`)}function Ft(e){return St(e,[`~optional`])}function It(e){return E(e,{"~optional":!0},{})}function Lt(e){return It(e)}function Rt(e){return Ct(e)&&C(e,`~optional`)}function zt(e){return St(e,[`~readonly`])}function Bt(e){return E(e,{"~readonly":!0},{})}function Vt(e){return Bt(e)}function Ht(e){return Ct(e)&&C(e,`~readonly`)}function Ut(e){return{enumerable:yt().enumerableKind,writable:!1,configurable:!1,value:e}}var Wt=class{constructor(){globalThis.Object.defineProperty(this,`~kind`,Ut(`Base`)),globalThis.Object.defineProperty(this,`~guard`,Ut({check:e=>this.Check(e),errors:e=>this.Errors(e)}))}Check(e){return!0}Errors(e){return[]}Convert(e){return e}Clean(e){return e}Default(e){return e}Create(){throw Error(`Create not implemented`)}Clone(){throw Error(`Clone not implemented`)}};function Gt(e){return D(e,`Base`)}function Kt(e,t){return T({"~kind":`Array`},{type:`array`,items:e},t)}function qt(e){return D(e,`Array`)}function Jt(e){return St(e,[`~kind`,`type`,`items`])}function Yt(e,t){return T({"~kind":`AsyncIterator`},{type:`asyncIterator`,iteratorItems:e},t)}function Xt(e){return D(e,`AsyncIterator`)}function Zt(e){return St(e,[`~kind`,`type`,`iteratorItems`])}function Qt(e,t,n={}){return T({"~kind":`Constructor`},{type:`constructor`,parameters:e,instanceType:t},n)}function $t(e){return D(e,`Constructor`)}function en(e){return St(e,[`~kind`,`type`,`parameters`,`instanceType`])}function tn(e,t,n={}){return T({"~kind":`Function`},{type:`function`,parameters:e,returnType:t},n)}function nn(e){return D(e,`Function`)}function rn(e){return St(e,[`~kind`,`type`,`parameters`,`returnType`])}function an(e,t){return T({"~kind":`Ref`},{$ref:e},t)}function on(e){return D(e,`Ref`)}function sn(e,t){return T({"~kind":`Generic`},{type:`generic`,parameters:e,expression:t})}function cn(e){return D(e,`Generic`)}function ln(e){return T({"~kind":`Any`},{},e)}function un(e){return D(e,`Any`)}function k(e){return T({"~kind":`Never`},{not:{}},e)}function dn(e){return D(e,`Never`)}function fn(e){return w(e).filter(t=>!Rt(e[t]))}function pn(e){return w(e)}function mn(e){return Qe(e)}function A(e,t={}){let n=fn(e);return T({"~kind":`Object`},{type:`object`,...n.length>0?{required:n}:{},properties:e},t)}function j(e){return D(e,`Object`)}function hn(e){return St(e,[`~kind`,`type`,`properties`,`required`])}function M(e,t={}){return T({"~kind":`Union`},{anyOf:e},t)}function N(e){return D(e,`Union`)}function gn(e){return St(e,[`~kind`,`anyOf`])}function _n(e){return T({"~kind":`Unknown`},{},e)}function vn(e){return D(e,`Unknown`)}function yn(e,t,n){return T({"~kind":`Cyclic`},{$defs:w(e).reduce((t,n)=>({...t,[n]:E(e[n],{},{$id:n})}),{}),$ref:t},n)}function bn(e){return D(e,`Cyclic`)}function xn(e){return Ne(e)&&C(e,`~unsafe`)&&je(e[`~unsafe`])}function Sn(e){return D(e,`Infer`)}function Cn(e){return D(e,`Enum`)}function wn(e,t={}){return T({"~kind":`Intersect`},{allOf:e},t)}function P(e){return D(e,`Intersect`)}function Tn(e){return St(e,[`~kind`,`allOf`])}function En(){throw Error(`Unreachable`)}var Dn=e({Hash:()=>er,HashCode:()=>$n});function On(e){let t=new Set,n=e;for(;n&&n!==Object.prototype;){for(let e of Reflect.ownKeys(n))e!==`constructor`&&typeof e!=`symbol`&&t.add(e);n=Object.getPrototypeOf(n)}return[...t]}function kn(e){return typeof e==`number`}var F;(function(e){e[e.Array=0]=`Array`,e[e.BigInt=1]=`BigInt`,e[e.Boolean=2]=`Boolean`,e[e.Date=3]=`Date`,e[e.Constructor=4]=`Constructor`,e[e.Function=5]=`Function`,e[e.Null=6]=`Null`,e[e.Number=7]=`Number`,e[e.Object=8]=`Object`,e[e.RegExp=9]=`RegExp`,e[e.String=10]=`String`,e[e.Symbol=11]=`Symbol`,e[e.TypeArray=12]=`TypeArray`,e[e.Undefined=13]=`Undefined`})(F||={});let An=BigInt(`14695981039346656037`);const[jn,Mn]=[BigInt(`1099511628211`),BigInt(`18446744073709551616`)],Nn=Array.from({length:256}).map((e,t)=>BigInt(t)),Pn=new Float64Array(1),Fn=new DataView(Pn.buffer),In=new Uint8Array(Pn.buffer);function I(e){An^=Nn[e],An=An*jn%Mn}function Ln(e){I(F.Array);for(let t of e)Qn(t)}function Rn(e){I(F.BigInt),Fn.setBigInt64(0,e);for(let e of In)I(e)}function zn(e){I(F.Boolean),I(+!!e)}function Bn(e){I(F.Constructor),Qn(e.toString())}function Vn(e){I(F.Date),Qn(e.getTime())}function Hn(e){I(F.Function),Qn(e.toString())}function Un(e){I(F.Null)}function Wn(e){I(F.Number),Fn.setFloat64(0,e,!0);for(let e of In)I(e)}function Gn(e){I(F.Object);for(let t of On(e).sort())Qn(t),Qn(e[t])}function Kn(e){I(F.RegExp),Jn(e.toString())}const qn=new TextEncoder;function Jn(e){I(F.String);for(let t of qn.encode(e))I(t)}function Yn(e){I(F.Symbol),Qn(e.toString())}function Xn(e){I(F.TypeArray);let t=new Uint8Array(e.buffer);for(let e=0;e<t.length;e++)I(t[e])}function Zn(e){return I(F.Undefined)}function Qn(e){return at(e)?Xn(e):st(e)?Vn(e):ot(e)?Kn(e):nt(e)?zn(e.valueOf()):it(e)?Jn(e.valueOf()):rt(e)?Wn(e.valueOf()):kn(e)?Wn(e):Ce(e)?Ln(e):Ee(e)?zn(e):Te(e)?Rn(e):De(e)?Bn(e):je(e)?Un(e):y(e)?Gn(e):b(e)?Jn(e):Pe(e)?Yn(e):Fe(e)?Zn(e):Oe(e)?Hn(e):En()}function $n(e){return An=BigInt(`14695981039346656037`),Qn(e),An}function er(e){return $n(e).toString(16).padStart(16,`0`)}function tr(e){return Ct(e)&&C(e,`~codec`)&&y(e[`~codec`])&&C(e[`~codec`],`encode`)&&C(e[`~codec`],`decode`)}function nr(e){return T({"~kind":`BigInt`},{type:`bigint`},e)}function rr(e){return D(e,`BigInt`)}function ir(e){return D(e,`Boolean`)}const ar=`-?(?:0|[1-9][0-9]*)`;function or(e){return T({"~kind":`Integer`},{type:`integer`},e)}function sr(e){return D(e,`Integer`)}function cr(e,t){return T({"~kind":`Iterator`},{type:`iterator`,iteratorItems:e},t)}function lr(e){return D(e,`Iterator`)}function ur(e){return St(e,[`~kind`,`type`,`iteratorItems`])}var dr=class extends Error{constructor(e){super(`Invalid Literal value`),Object.defineProperty(this,"cause",{value:{value:e},writable:!1,configurable:!1,enumerable:!1})}};function fr(e){return Te(e)?`bigint`:Ee(e)?`boolean`:Me(e)?`number`:b(e)?`string`:(()=>{throw new dr(e)})()}function L(e,t){return T({"~kind":`Literal`},{type:fr(e),const:e},t)}function pr(e){return Te(e)||Ee(e)||Me(e)||b(e)}function mr(e){return R(e)&&Te(e.const)}function hr(e){return R(e)&&Ee(e.const)}function gr(e){return R(e)&&Me(e.const)}function _r(e){return R(e)&&b(e.const)}function R(e){return D(e,`Literal`)}function vr(e){return T({"~kind":`Null`},{type:`null`},e)}function yr(e){return D(e,`Null`)}const br=`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`;function xr(e){return T({"~kind":`Number`},{type:`number`},e)}function Sr(e){return D(e,`Number`)}function Cr(e){return T({"~kind":`Symbol`},{type:`symbol`},e)}function wr(e){return D(e,`Symbol`)}function Tr(e){return T({"~kind":`String`},{type:`string`},e)}function Er(e){return D(e,`String`)}function Dr(e){let t=za(e);return x(t.length,2)?t[0]:[]}function Or(e){return!0}function kr(e){return S(e,(e,t)=>jr(e)?kr(t):!1,()=>!0)}function Ar(e){return!x(e.length,0)&&kr(e)}function jr(e){return N(e)?Ar(e.anyOf):R(e)?Or(e.const):!1}function Mr(e){return Ar(e)}function Nr(e){return T({"~kind":`TemplateLiteral`},{type:`string`,pattern:e},{})}function Pr(e,t,n=[]){return S(e,(e,r)=>Pr(r,t,[...n,`${e}${t}`]),()=>n)}function Fr(e,t){return x(e.length,0)?[`${t}`]:Pr(e,t)}function Ir(e,t,n=[]){return S(t,(t,r)=>Ir(e,r,[...n,...Lr(e,t)]),()=>n)}function Lr(e,t){return N(t)?Ir(e,t.anyOf):R(t)?Fr(e,t.const):En()}function Rr(e,t){return S(t,(t,n)=>Rr(Lr(e,t),n),()=>e)}function zr(e){return e.map(e=>L(e))}function Br(e){return M(zr(Rr([],e)))}function Vr(e){return x(e.length,0)?En():x(e.length,1)&&R(e[0])?e[0]:Br(e)}function Hr(e){let t=Dr(e);return x(t.length,0)?Tr():Mr(t)?Vr(t):Nr(e)}function Ur(e){let t=Hr(e);return oo(t)?Tr():t}function Wr(e,t){return T({"~kind":`Record`},{type:`object`,patternProperties:{[e]:t}})}function Gr(e){return Wr(Ri,e)}function Kr(e){return A({true:e,false:e})}function qr(e){return b(e)||Me(e)?L(e):je(e)?vr():k()}function Jr(e){return e.map(e=>qr(e))}function Yr(e){return M(Jr(e))}function Xr(e){return Yr(e.enum)}function Zr(e,t){return Ni(Yr(e),t)}function Qr(e,t){return Wr(Ii,t)}function $r(e,t={}){let[n,r,i]=[e,e.length,!1];return T({"~kind":`Tuple`},{type:`array`,additionalItems:i,items:n,minItems:r},t)}function z(e){return D(e,`Tuple`)}function ei(e){return St(e,[`~kind`,`type`,`items`,`minItems`,`additionalItems`])}function ti(e){return e.reduceRight((e,t,n)=>({[n]:t,...e}),{})}function ni(e){return A(ti(e.items))}function ri(e,t){return Ht(e)?!!Ht(t):!1}function ii(e,t){return Rt(e)?!!Rt(t):!1}function ai(e,t){let n=ri(e,t),r=ii(e,t),i=zt(Ft(_i([e,t])));return n&&r?Bt(It(i)):n&&!r?Bt(i):!n&&r?It(i):i}function oi(e,t,n){return n in e?n in t?ai(e[n],t[n]):e[n]:n in t?t[n]:k()}function si(e,t){return[...new Set([...w(t),...w(e)])].reduce((n,r)=>({...n,[r]:oi(e,t,r)}),{})}function ci(e){return j(e)?e.properties:z(e)?ti(e.items):En()}function li(e,t){return A(si(ci(e),ci(t)))}function ui(e,t){let n=nc(e,t);return x(n,`left-inside`)?e:x(n,`right-inside`)||x(n,`equal`)?t:k()}function di(e){return j(e)||z(e)}function fi(e,t){let n=N(e),r=N(t);return n||r}function pi(e,t){let n=yi(e),r=yi(t),i=fi(n,r),a=di(n),o=di(r);return i?_i([n,r]):a&&o?li(n,r):a&&!o?n:!a&&o?r:ui(n,r)}function mi(e,t,n=[]){return S(t,(t,r)=>mi(e,r,[...n,pi(e,t)]),()=>x(n.length,0)?[e]:n)}function hi(e,t,n=[]){return S(e,(e,r)=>hi(r,t,[...n,...gi([e],t)]),()=>n)}function gi(e,t=[]){return S(e,(e,n)=>N(e)?gi(n,hi(e.anyOf,t)):gi(n,mi(e,t)),()=>t)}function _i(e){return sc(gi(e))}function vi(e){return sc(e)}function yi(e){return P(e)?_i(e.allOf):N(e)?vi(e.anyOf):e}function bi(e){return x(e.length,1)?e[0]:x(e.length,0)?k():M(e)}function xi(e,t){return Ni(_i(e),t)}function Si(e,t){return b(e)||Me(e)?A({[e]:t}):x(e,!1)?A({false:t}):x(e,!0)?A({true:t}):A({})}function Ci(e,t){return Wr(Li,t)}function wi(e,t){return C(e,`pattern`)&&(b(e.pattern)||e.pattern instanceof RegExp)?Wr(e.pattern.toString(),t):Wr(Ri,t)}function Ti(e,t){return Mr(Dr(e))?Ni(Ur(e),t):Wr(e,t)}function Ei(e){return N(e)?Di(e.anyOf):[e]}function Di(e){return e.reduce((e,t)=>[...e,...Ei(t)],[])}function Oi(e){return e.some(e=>Er(e)||Sr(e)||sr(e))}function ki(e,t){return x(Oi(e),!0)?Wr(Ri,t):void 0}function Ai(e,t){return e.reduce((e,n)=>R(n)&&(b(n.const)||Me(n.const))?{...e,[n.const]:t}:e,{})}function ji(e,t){return A(Ai(e,t))}function Mi(e,t){let n=Di(e),r=ki(n,t);return Ct(r)?r:ji(n,t)}function Ni(e,t){return un(e)?Gr(t):ir(e)?Kr(t):Cn(e)?Zr(e.enum,t):sr(e)?Qr(e,t):P(e)?xi(e.allOf,t):R(e)?Si(e.const,t):Sr(e)?Ci(e,t):N(e)?Mi(e.anyOf,t):Er(e)?wi(e,t):oo(e)?Ti(e.pattern,t):A({})}function Pi(e,t,n){return G([e])?E(Ni(e,t),{},n):zi(e,t,n)}function Fi(e,t,n,r,i){return Pi(K(e,t,n),K(e,t,r),i)}const Ii=`^${ar}$`,Li=`^${br}$`,Ri=`^.*$`;function zi(e,t,n={}){return O(`Record`,[e,t],n)}function Bi(e,t,n={}){return Pi(e,t,n)}function Vi(e,t){return Wr(e,t)}function Hi(e){return w(e.patternProperties)[0]}function Ui(e){let t=Hi(e);return x(t,Ri)?Tr():x(t,Ii)?or():x(t,Li)?xr():Hr(t)}function Wi(e){return e.patternProperties[Hi(e)]}function Gi(e){return D(e,`Record`)}function Ki(e){return T({"~kind":`Rest`},{type:`rest`,items:e},{})}function qi(e){return D(e,`Rest`)}function Ji(e){return D(e,`This`)}function Yi(e){return T({"~kind":`Undefined`},{type:`undefined`},e)}function Xi(e){return D(e,`Undefined`)}function Zi(e){return D(e,`Void`)}function Qi(e){return nr()}function $i(e){return Tr()}function ea(e){return xr()}function ta(e){return or()}function na(e){return k()}function ra(e){return L(e)}function ia(e){return e}function aa(e){return M(e[1])}function oa(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function sa(e){return[e[0],...e[1]]}function ca(e){return e}function la(e){return e[1]}function ua(e){return x(e.length,2)}function da(e,t,n){return ua(e)?t(e[0],e[1]):n()}function fa(e,t){return x(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function pa(e,t){for(let n=0;n<e.length;n++){let r=fa(e[n],t);if(ua(r))return r}return[]}function ma(e,t){return Array.from({length:t-e+1},(t,n)=>String.fromCharCode(e+n))}const ha=[...ma(97,122),...ma(65,90)],ga=[`0`,...ma(49,57)];function _a(e){let t=e.indexOf(`*/`);return x(t,-1)?``:e.slice(t+2)}function va(e){let t=e.indexOf(`
2
2
  `);return x(t,-1)?``:e.slice(t)}function ya(e){return e.replace(/^[ \t\r\f\v]+/,``)}function ba(e){let t=ya(e);return t.startsWith(`/*`)?ba(_a(t.slice(2))):t.startsWith(`//`)?ba(va(t.slice(2))):t}function xa(e){let t=e.trimStart();return t.startsWith(`/*`)?xa(_a(t.slice(2))):t.startsWith(`//`)?xa(va(t.slice(2))):t}[...ga];function Sa(e,t){return pa([e],t)}function Ca(e,t){return x(e,``)?[``,t]:e.startsWith(`
3
3
  `)?Sa(e,ba(t)):e.startsWith(` `)?Sa(e,t):Sa(e,xa(t))}[...ha,...ga],[...ga];function wa(e){return x(e,``)?[]:[e.slice(0,1),e.slice(1)]}function Ta(e,t){return S(e,(e,n)=>t.startsWith(e)?!0:Ta(n,t),()=>!1)}function Ea(e,t,n=``){return da(wa(t),(r,i)=>Ta(e,t)?[n,t]:Ea(e,i,`${n}${r}`),()=>[])}function Da(e,t){return da(Ea(e,t),(e,t)=>x(e,``)?[]:[e,t],()=>[])}const B=(e,t,n=()=>[])=>e.length===2?t(e):n(),Oa=e=>B(Ca(`-?(?:0|[1-9][0-9]*)n`,e),([e,t])=>[Qi(e),t]),ka=e=>B(Ca(`.*`,e),([e,t])=>[$i(e),t]),Aa=e=>B(Ca(`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`,e),([e,t])=>[ea(e),t]),ja=e=>B(Ca(`-?(?:0|[1-9][0-9]*)`,e),([e,t])=>[ta(e),t]),Ma=e=>B(Ca(`(?!)`,e),([e,t])=>[na(e),t]),Na=e=>B(Da([`-?(?:0|[1-9][0-9]*)n`,`.*`,`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`,`-?(?:0|[1-9][0-9]*)`,`(?!)`,`(`,`)`,`$`,`|`],e),([e,t])=>[ra(e),t]),Pa=e=>B(B(Oa(e),([e,t])=>[e,t],()=>B(ka(e),([e,t])=>[e,t],()=>B(Aa(e),([e,t])=>[e,t],()=>B(ja(e),([e,t])=>[e,t],()=>B(Ma(e),([e,t])=>[e,t],()=>B(Fa(e),([e,t])=>[e,t],()=>B(Na(e),([e,t])=>[e,t],()=>[]))))))),([e,t])=>[ia(e),t]),Fa=e=>B(B(Ca(`(`,e),([e,t])=>B(Ra(t),([t,n])=>B(Ca(`)`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[aa(e),t]),Ia=e=>B(B(B(La(e),([e,t])=>B(Ca(`|`,t),([t,n])=>B(Ia(n),([n,r])=>[[e,t,n],r]))),([e,t])=>[e,t],()=>B(B(La(e),([e,t])=>[[e],t]),([e,t])=>[e,t],()=>B([[],e],([e,t])=>[e,t],()=>[]))),([e,t])=>[oa(e),t]),La=e=>B(B(Pa(e),([e,t])=>B(Ra(t),([t,n])=>[[e,t],n])),([e,t])=>[sa(e),t]),Ra=e=>B(B(Ia(e),([e,t])=>[e,t],()=>B(La(e),([e,t])=>[e,t],()=>[])),([e,t])=>[ca(e),t]),za=e=>B(B(Ca(`^`,e),([e,t])=>B(Ra(t),([t,n])=>B(Ca(`$`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[la(e),t]);function Ba(e){return e.join(`|`)}function Va(e){return e.slice(1,e.length-1)}function Ha(e,t,n){return $a(t,`${n}${e}`)}function Ua(e,t){return $a(e,`${t}-?(?:0|[1-9][0-9]*)n`)}function Wa(e,t){return $a(e,`${t}${ar}`)}function Ga(e,t){return $a(e,`${t}${br}`)}function Ka(e,t){return Qa(M([L(`false`),L(`true`)]),e,t)}function qa(e,t){return $a(e,`${t}.*`)}function Ja(e,t,n){return $a(t,`${n}${Va(e)}`)}function Ya(e,t,n){return Qa(no(e,{}),t,n)}function Xa(e,t,n){return Za(Jr(e),t,n)}function Za(e,t,n,r=[]){return S(e,(e,i)=>Za(i,t,n,[...r,Qa(e,[],``)]),()=>$a(t,`${n}(${Ba(r)})`))}function Qa(e,t,n){return Cn(e)?Xa(e.enum,t,n):sr(e)?Wa(t,n):R(e)?Ha(e.const,t,n):rr(e)?Ua(t,n):ir(e)?Ka(t,n):Sr(e)?Ga(t,n):Er(e)?qa(t,n):oo(e)?Ja(e.pattern,t,n):ao(e)?Ya(e.parameters[0],t,n):N(e)?Za(e.anyOf,t,n):`(?!)`}function $a(e,t){return S(e,(e,n)=>Qa(e,n,t),()=>t)}function eo(e){return`^${$a(e,``)}$`}function to(e){return Nr(eo(e))}function no(e,t){return G(e)?E(to(e),{},t):io(e,t)}function ro(e,t,n,r){return no(tf(e,t,n),r)}function io(e,t={}){return O(`TemplateLiteral`,[e],t)}function ao(e){return Ct(e)&&C(e,`action`)&&x(e.action,`TemplateLiteral`)}function oo(e){return D(e,`TemplateLiteral`)}function so(e){return T({"~kind":`ExtendsUnion`},{inferred:e})}function co(e){return y(e)&&C(e,`~kind`)&&C(e,`inferred`)&&x(e[`~kind`],`ExtendsUnion`)&&y(e.inferred)}function V(e){return T({"~kind":`ExtendsTrue`},{inferred:e})}function lo(e){return y(e)&&C(e,`~kind`)&&C(e,`inferred`)&&x(e[`~kind`],`ExtendsTrue`)&&y(e.inferred)}function H(){return T({"~kind":`ExtendsFalse`},{})}function uo(e){return y(e)&&C(e,`~kind`)&&x(e[`~kind`],`ExtendsFalse`)}function fo(e){return co(e)||lo(e)}function po(e,t,n){return fo(e)?t(e.inferred):n()}function mo(e,t,n,r){return po(W(e,n,r),r=>V(v(v(e,r),{[t]:n})),()=>H())}function ho(e,t){return V(e)}function go(e,t,n){return W(e,t,Yr(n))}function _o(e,t,n){return S(n,(n,r)=>po(W(e,t,n),e=>_o(e,t,r),()=>H()),()=>V(e))}function vo(e,t,n){return W(e,t,Ur(n))}function yo(e,t,n){return S(n,(n,r)=>po(W(e,t,n),e=>V(e),()=>yo(e,t,r)),()=>H())}function U(e,t,n){return un(n)?ho(e,t):Cn(n)?go(e,t,n.enum):Sn(n)?mo(e,n.name,t,n.extends):P(n)?_o(e,t,n.allOf):oo(n)?vo(e,t,n.pattern):N(n)?yo(e,t,n.anyOf):vn(n)?V(e):H()}function bo(e,t,n){return Sn(n)?U(e,t,n):un(n)||vn(n)?V(e):so(e)}function xo(e,t){let n=Pt(e),r=Pt(t);return n&&r||!n&&r?!0:!(n&&!r)}function So(e,t,n,r){return qt(r)?xo(t,r)?W(e,n,r.items):H():U(e,t,r)}function Co(e,t,n){return Xt(n)?W(e,t,n.iteratorItems):U(e,Yt(t),n)}function wo(e,t,n){return rr(n)?V(e):U(e,t,n)}function To(e,t,n){return ir(n)?V(e):U(e,t,n)}function Eo(e,t,n,r,i){let a=Sn(r)?t:r,o=Sn(r)?r:t,s=Rt(t),c=Rt(r);return!s&&c?H():po(W(e,a,o),e=>ko(e,n,i),()=>H())}function Do(e,t,n,r){return S(r,(r,i)=>Eo(e,t,n,r,i),()=>Rt(t)?V(e):H())}function Oo(e,t,n){return S(t,(t,r)=>Do(e,t,r,n),()=>V(e))}function ko(e,t,n){return Oo(e,t,n)}function Ao(e,t,n){return Zi(n)?V(e):W(e,t,n)}function jo(e,t,n,r){return un(r)||vn(r)?V(e):$t(r)?po(ko(e,t,r.parameters),e=>Ao(e,n,r.instanceType),()=>H()):H()}function Mo(e,t,n){return W(e,Xr(t),n)}function No(e,t,n,r){return un(r)||vn(r)?V(e):nn(r)?po(ko(e,t,r.parameters),e=>Ao(e,n,r.returnType),()=>H()):H()}function Po(e,t,n){return sr(n)||Sr(n)?V(e):U(e,t,n)}function Fo(e,t,n){return W(e,_i(t),n)}function Io(e,t,n){return lr(n)?W(e,t,n.iteratorItems):U(e,cr(t),n)}function Lo(e,t,n){return t===n?V(e):H()}function Ro(e,t,n){return R(n)?Lo(e,t,n.const):rr(n)?V(e):U(e,L(t),n)}function zo(e,t,n){return R(n)?Lo(e,t,n.const):ir(n)?V(e):U(e,L(t),n)}function Bo(e,t,n){return R(n)?Lo(e,t,n.const):Sr(n)?V(e):U(e,L(t),n)}function Vo(e,t,n){return R(n)?Lo(e,t,n.const):Er(n)?V(e):U(e,L(t),n)}function Ho(e,t,n){return Te(t.const)?Ro(e,t.const,n):Ee(t.const)?zo(e,t.const,n):Me(t.const)?Bo(e,t.const,n):b(t.const)?Vo(e,t.const,n):En()}function Uo(e,t,n){return Sn(n)?U(e,t,n):V(e)}function Wo(e,t,n){return yr(n)?V(e):U(e,t,n)}function Go(e,t,n){return Sr(n)?V(e):U(e,t,n)}function Ko(e,t,n){return Rt(t)?Rt(n)?V(e):H():V(e)}function qo(e,t,n){return Sn(n)&&dn(n.extends)?H():po(W(e,t,n),e=>Ko(e,t,n),()=>H())}function Jo(e,t){return e.reduce((e,n)=>n in t&&fo(t[n])?{...e,...t[n].inferred}:En(),{})}function Yo(e,t,n){let r={};for(let i of w(n))r[i]=i in t?qo({},t[i],n[i]):Rt(n[i])?Sn(n[i])?V(v(e,{[n[i].name]:n[i].extends})):V(e):H();let i=Qe(r).every(e=>fo(e)),a=i?Jo(w(r),r):{};return i?V(a):H()}function Xo(e,t,n){let r=Yo(e,t,n);return fo(r)?V(v(e,r.inferred)):H()}function Zo(e,t,n){return Xo(e,t,n)}function Qo(e,t,n){return j(n)?Zo(e,t,n.properties):U(e,A(t),n)}function $o(e,t,n){return At(n)?W(e,t,n.item):U(e,kt(t),n)}function es(e,t,n){return Er(n)?V(e):U(e,t,n)}function ts(e,t,n){return wr(n)?V(e):U(e,t,n)}function ns(e,t,n){return W(e,Ur(t),n)}function rs(e,t){return T({"~kind":`Inferrable`},{name:e,type:t},{})}function is(e){return y(e)&&C(e,`~kind`)&&C(e,`name`)&&C(e,`type`)&&x(e[`~kind`],`Inferrable`)&&b(e.name)&&y(e.type)}function as(e){return qi(e)?Sn(e.items)?qt(e.items.extends)?rs(e.items.name,e.items.extends.items):vn(e.items.extends)?rs(e.items.name,e.items.extends):void 0:En():void 0}function os(e){return Sn(e)?rs(e.name,e.extends):void 0}function ss(e,t,n=[]){return S(e,(e,r)=>po(W({},e,t),()=>ss(r,t,[...n,e]),()=>void 0),()=>n)}function cs(e,t,n,r){let i=ss(n,r);return Ce(i)?V(v(e,{[t]:$r(i)})):H()}function ls(e,t,n,r){let i=ss(n,r);return Ce(i)?V(v(e,{[t]:M(i)})):H()}function us(e){return[...e].reverse()}function ds(e,t){return t?us(e):e}function fs(e){let t=e.length>0?e[0]:void 0;return Ct(Ct(t)?as(t):void 0)}function ps(e,t,n,r,i,a){return po(W(e,n,i),e=>gs(e,t,r,a),()=>H())}function ms(e,t,n,r,i){let a=as(r);return is(a)?cs(e,a.name,ds(n,t),a.type):S(n,(n,a)=>ps(e,t,n,a,r,i),()=>H())}function hs(e,t,n,r){return S(r,(r,i)=>ms(e,t,n,r,i),()=>x(n.length,0)?V(e):H())}function gs(e,t,n,r){return hs(e,t,n,r)}function _s(e,t,n){let r=ef(e,{callstack:[]},n),i=fs(r);return gs(e,i,ds(t,i),ds(r,i))}function vs(e,t,n){let r=os(n);return is(r)?ls(e,r.name,t,r.type):S(t,(t,r)=>po(W(e,t,n),e=>vs(e,r,n),()=>H()),()=>V(e))}function ys(e,t,n){let r=ef(e,{callstack:[]},t);return z(n)?_s(e,r,n.items):qt(n)?vs(e,r,n.items):U(e,$r(r),n)}function bs(e,t,n){return Zi(n)||Xi(n)?V(e):U(e,t,n)}function xs(e,t,n){return S(n,(n,r)=>po(W(e,t,n),e=>V(e),()=>xs(e,t,r)),()=>H())}function Ss(e,t,n){return S(t,(t,r)=>po(xs(e,t,n),e=>Ss(e,r,n),()=>H()),()=>V(e))}function Cs(e,t,n){let r=os(n);return is(r)?ls(e,r.name,t,r.type):N(n)?Ss(e,t,n.anyOf):Ss(e,t,[n])}function ws(e,t,n){return Sn(n)?U(e,t,n):un(n)||vn(n)?V(e):H()}function Ts(e,t,n){return Zi(n)?V(e):U(e,t,n)}function W(e,t,n){return un(t)?bo(e,t,n):qt(t)?So(e,t,t.items,n):Xt(t)?Co(e,t.iteratorItems,n):rr(t)?wo(e,t,n):ir(t)?To(e,t,n):$t(t)?jo(e,t.parameters,t.instanceType,n):Cn(t)?Mo(e,t,n):nn(t)?No(e,t.parameters,t.returnType,n):sr(t)?Po(e,t,n):P(t)?Fo(e,t.allOf,n):lr(t)?Io(e,t.iteratorItems,n):R(t)?Ho(e,t,n):dn(t)?Uo(e,t,n):yr(t)?Wo(e,t,n):Sr(t)?Go(e,t,n):j(t)?Qo(e,t.properties,n):At(t)?$o(e,t.item,n):Er(t)?es(e,t,n):wr(t)?ts(e,t,n):oo(t)?ns(e,t.pattern,n):z(t)?ys(e,t.items,n):Xi(t)?bs(e,t,n):N(t)?Cs(e,t.anyOf,n):vn(t)?ws(e,t,n):Zi(t)?Ts(e,t,n):H()}function Es(e,t){return _i([...e,A(t)])}function Ds(e,t,n){return G(e)?E(Es(e,t),{},n):ks(e,t,n)}function Os(e,t,n,r,i){return Ds(tf(e,t,n),$d(e,t,r),i)}function ks(e,t,n={}){return O(`Interface`,[e,t],n)}function As(e){return Ct(e)&&C(e,`action`)&&x(e.action,`Interface`)}function js(e,t,n){return e.includes(n)?!0:Ps([...e,n],t,t[n])}function Ms(e,t,n){return Ns(e,t,mn(n))}function Ns(e,t,n){return S(n,(n,r)=>Ps(e,t,n)?!0:Ns(e,t,r),()=>!1)}function Ps(e,t,n){return on(n)?js(e,t,n.$ref):qt(n)?Ps(e,t,n.items):Xt(n)?Ps(e,t,n.iteratorItems):$t(n)?Ns(e,t,[...n.parameters,n.instanceType]):nn(n)?Ns(e,t,[...n.parameters,n.returnType]):As(n)?Ms(e,t,n.parameters[1]):P(n)?Ns(e,t,n.allOf):lr(n)?Ps(e,t,n.iteratorItems):j(n)?Ms(e,t,n.properties):At(n)?Ps(e,t,n.item):N(n)?Ns(e,t,n.anyOf):z(n)?Ns(e,t,n.items):Gi(n)?Ps(e,t,Wi(n)):!1}function Fs(e,t,n){return Ps(e,t,n)}function Is(e,t){return t.reduce((t,n)=>n in e?Fs([n],e,e[n])?[...t,n]:t:En(),[])}function Ls(e){return Is(e,pn(e))}function Rs(e,t,n){return n.includes(t)?n:t in e?Vs(e,e[t],[...n,t]):En()}function zs(e,t,n){return Bs(e,mn(t),n)}function Bs(e,t,n){return t.reduce((t,n)=>Vs(e,n,t),n)}function Vs(e,t,n){return on(t)?Rs(e,t.$ref,n):qt(t)?Vs(e,t.items,n):Xt(t)?Vs(e,t.iteratorItems,n):$t(t)?Bs(e,[...t.parameters,t.instanceType],n):nn(t)?Bs(e,[...t.parameters,t.returnType],n):As(t)?zs(e,t.parameters[1],n):P(t)?Bs(e,t.allOf,n):lr(t)?Vs(e,t.iteratorItems,n):j(t)?zs(e,t.properties,n):At(t)?Vs(e,t.item,n):N(t)?Bs(e,t.anyOf,n):z(t)?Bs(e,t.items,n):Gi(t)?Vs(e,Wi(t),n):n}function Hs(e,t,n){return Vs(e,n,[t])}function Us(e){return ln()}function Ws(e){return w(e).reduce((t,n)=>({...t,[n]:Ks(e[n])}),{})}function Gs(e){return e.reduce((e,t)=>[...e,Ks(t)],[])}function Ks(e){return on(e)?Us(e.$ref):qt(e)?Kt(Ks(e.items),Jt(e)):Xt(e)?Yt(Ks(e.iteratorItems)):$t(e)?Qt(Gs(e.parameters),Ks(e.instanceType)):nn(e)?tn(Gs(e.parameters),Ks(e.returnType)):P(e)?wn(Gs(e.allOf)):lr(e)?cr(Ks(e.iteratorItems)):j(e)?A(Ws(e.properties)):At(e)?kt(Ks(e.item)):Gi(e)?Bi(Ui(e),Ks(Wi(e))):N(e)?M(Gs(e.anyOf)):z(e)?$r(Gs(e.items)):e}function qs(e,t){return t in e?Ks(e[t]):_n()}function Js(e){return qs(e.$defs,e.$ref)}function Ys(e,t,n){let r=tf(e,{callstack:[]},t),i=$d({},{callstack:[]},n);return _i([...r,A(i)])}function Xs(e,t){return w(e).filter(e=>t.includes(e)).reduce((t,n)=>{let r=e[n],i=As(r)?Ys(e,r.parameters[0],r.parameters[1]):r;return{...t,[n]:i}},{})}function Zs(e,t,n){return yn(Xs(e,Hs(e,t,n)),t)}function Qs(e,t){return t in e?on(e[t])?Qs(e,e[t].$ref):e[t]:k()}function $s(e,t){return Qs(e,t)}function ec(e){return bn(e)?Js(e):xn(e)?_n():e}function tc(e,t,n){return W(e,ec(t),ec(n))}function nc(e,t){let n=[vn(e)?H():tc({},e,t),vn(e)?V({}):tc({},t,e)];return fo(n[0])&&fo(n[1])?`equal`:fo(n[0])&&uo(n[1])?`left-inside`:uo(n[0])&&fo(n[1])?`right-inside`:`disjoint`}function rc(e,t){return t.filter(t=>nc(e,t)!==`right-inside`)}function ic(e,t){return x(t.some(t=>{let n=nc(e,t);return x(n,`left-inside`)||x(n,`equal`)}),!1)}function ac(e,t){let n=yi(e);return un(n)?[n]:ic(n,t)?[...rc(n,t),n]:t}function oc(e){return e.reduce((e,t)=>j(t)?[...e,t]:dn(t)?e:ac(t,e),[])}function sc(e){let t=Di(oc(e));return t.length===0?k():t.length===1?t[0]:M(t)}function cc(e,t){return E(yi(e),{},t)}function lc(e,t,n,r){return cc(K(e,t,n),r)}function uc(e,t=[]){return Ot(e)&&x(e.action,`Conditional`)?on(e.parameters[0])?uc(e.parameters[2],uc(e.parameters[3],[...t,e.parameters[0].$ref])):uc(e.parameters[2],uc(e.parameters[3],t)):Ot(e)&&x(e.action,`Mapped`)&&Ot(e.parameters[1])&&x(e.parameters[1].action,`KeyOf`)&&on(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function dc(e,t){return e.reduce((e,n)=>[...e,t.includes(n.name)],[])}function fc(e,t,n=[]){return S(e,(e,r)=>S(t,(t,i)=>fc(r,i,[...n,[t,e]]),()=>n),()=>n)}function pc(e){return N(e)?[...e.anyOf]:[e]}function mc(e,t){return e.reduce((e,n)=>[...e,[...n,t]],[])}function hc(e,t){return t.reduce((t,n)=>[...t,...mc(e,n)],[])}function gc(e){return e.reduce((e,t)=>x(t[0],!0)?hc(e,pc(t[1])):hc(e,[t[1]]),[[]])}function _c(e,t,n){let r=fc(t,dc(e,uc(n)));return Ot(n)&&x(n.action,`Conditional`)||Ot(n)&&x(n.action,`Mapped`)?gc(r):[t]}function vc(){return[`(not-resolvable)`,k()]}function yc(){return[`(not-generic)`,k()]}function bc(e,t,n){return[e,sn(t,n)]}function xc(e,t,n){return t in e?Sc(e,t,e[t],n):vc()}function Sc(e,t,n,r){return cn(n)?bc(t,n.parameters,n.expression):on(n)?xc(e,n.$ref,r):yc()}function Cc(e,t,n){return Sc(e,`(anonymous)`,t,n)}function wc(e,t,n){if(Sn(t)||Ic(t)||fo(tc({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function Tc(e,t,n,r,i){let a=K(e,t,i);return wc(n,a,r),v(e,{[n]:a})}function Ec(e,t,n,r,i){let a=K(e,t,n.extends),o=K(e,t,n.equals);return S(i,(i,o)=>Dc(Tc(e,t,n.name,a,i),t,r,o),()=>Dc(Tc(e,t,n.name,a,o),t,r,[]))}function Dc(e,t,n,r){return S(n,(n,i)=>Ec(e,t,n,i,r),()=>e)}function Oc(e,t,n,r){return Dc(e,t,n,r)}function kc(e){return Ie(e.callstack.length,0)?e.callstack[e.callstack.length-1]:``}function Ac(e,t){return x(kc(e),t)}function jc(e,t,n,r,i,a){return K(e,t,K(Oc(e,t,r,a),{callstack:[...t.callstack,n.$ref]},i))}function Mc(e,t,n,r,i,a){return a.reduce((a,o)=>[...a,jc(e,t,n,r,i,o)],[])}function Nc(e,t,n,r,i,a){let o=Mc(e,t,n,r,i,_c(r,a,i));return x(o.length,1)?o[0]:vi(o)}function Pc(e,t,n,r){let i=tf(e,t,r),a=Cc(e,n,r),o=a[0],s=a[1];return cn(s)?Ac(t,o)?Fc(an(o),i):Nc(e,t,an(o),s.parameters,s.expression,i):Fc(n,i)}function Fc(e,t){return T({"~kind":`Call`},{target:e,arguments:t},{})}function Ic(e){return D(e,`Call`)}function Lc(e,t){return e(t)}function Rc(e,t){return b(t)?L(Lc(e,t)):L(t)}function zc(e,t){return Vc(e,Ur(t))}function Bc(e,t){return M(t.map(t=>Vc(e,t)))}function Vc(e,t){return R(t)?Rc(e,t.const):oo(t)?zc(e,t.pattern):N(t)?Bc(e,t.anyOf):t}function Hc(e,t={}){return O(`Capitalize`,[e],t)}function Uc(e,t={}){return O(`Lowercase`,[e],t)}function Wc(e,t={}){return O(`Uncapitalize`,[e],t)}function Gc(e,t={}){return O(`Uppercase`,[e],t)}const Kc=e=>e[0].toUpperCase()+e.slice(1),qc=e=>e.toLowerCase(),Jc=e=>e[0].toLowerCase()+e.slice(1),Yc=e=>e.toUpperCase();function Xc(e,t){return G([e])?E(Vc(Kc,e),{},t):Hc(e,t)}function Zc(e,t){return G([e])?E(Vc(qc,e),{},t):Uc(e,t)}function Qc(e,t){return G([e])?E(Vc(Jc,e),{},t):Wc(e,t)}function $c(e,t){return G([e])?E(Vc(Yc,e),{},t):Gc(e,t)}function el(e,t,n,r){return Xc(K(e,t,n),r)}function tl(e,t,n,r){return Zc(K(e,t,n),r)}function nl(e,t,n,r){return Qc(K(e,t,n),r)}function rl(e,t,n,r){return $c(K(e,t,n),r)}function il(e,t,n,r,i={}){return O(`Conditional`,[e,t,n,r],i)}function al(e,t,n,r,i,a){let o=tc(e,n,r);return co(o)?M([K(o.inferred,t,i),K(e,t,a)]):lo(o)?K(o.inferred,t,i):K(e,t,a)}function ol(e,t,n,r,i,a,o){return G([n,r])?E(al(e,t,n,r,i,a),{},o):il(n,r,i,a,o)}function sl(e,t,n,r,i,a,o){return ol(e,t,K(e,t,n),K(e,t,r),i,a,o)}function cl(e,t={}){return O(`ConstructorParameters`,[e],t)}function ll(e){return $r(ef({},{callstack:[]},$t(e)?e.parameters:[]))}function ul(e,t){return G([e])?E(ll(e),{},t):cl(e,t)}function dl(e,t,n,r){return ul(K(e,t,n),r)}function fl(e,t,n={}){return O(`Exclude`,[e,t],n)}function pl(e,t){return e.reduce((e,n)=>[...e,...ml(n,t)],[])}function ml(e,t){return fo(tc({},e,t))?[]:[e]}function hl(e,t){return vi(Cn(e)?pl(Jr(e.enum),t):N(e)?pl(Di(e.anyOf),t):ml(e,t))}function gl(e,t,n){return G([e,t])?E(hl(e,t),{},n):fl(e,t,n)}function _l(e,t,n,r,i){return gl(K(e,t,n),K(e,t,r),i)}function vl(e,t,n={}){return O(`Extract`,[e,t],n)}function yl(e,t){return e.reduce((e,n)=>[...e,...bl(n,t)],[])}function bl(e,t){return fo(tc({},e,t))?[e]:[]}function xl(e,t){return vi(Cn(e)?yl(Jr(e.enum),t):N(e)?yl(Di(e.anyOf),t):bl(e,t))}function Sl(e,t,n){return G([e,t])?E(xl(e,t),{},n):vl(e,t,n)}function Cl(e,t,n,r,i){return Sl(K(e,t,n),K(e,t,r),i)}function wl(e,t,n={}){return O(`Index`,[e,t],n)}function Tl(e,t){return Nl($s(e,t))}function El(e,t){let n=w(e).filter(e=>!C(t,e)),r=w(t).filter(t=>!C(e,t)),i=w(e).filter(e=>C(t,e)),a=n.reduce((t,n)=>({...t,[n]:e[n]}),{}),o=r.reduce((e,n)=>({...e,[n]:t[n]}),{}),s=i.reduce((n,r)=>({...n,[r]:_i([e[r],t[r]])}),{});return v(v(a,o),s)}function Dl(e){return e.reduce((e,t)=>El(e,Nl(t)),{})}function Ol(e){return e}function kl(e){return Nl(ni($r(e)))}function Al(e,t){return w(e).filter(e=>e in t).reduce((n,r)=>({...n,[r]:vi([e[r],t[r]])}),{})}function jl(e,t){return S(e,(e,n)=>jl(n,Al(t,Nl(e))),()=>t)}function Ml(e){return S(e,(e,t)=>jl(t,Nl(e)),()=>En())}function Nl(e){return bn(e)?Tl(e.$defs,e.$ref):P(e)?Dl(e.allOf):N(e)?Ml(e.anyOf):z(e)?kl(e.items):j(e)?Ol(e.properties):{}}function Pl(e){return A(Nl(e))}const Fl=RegExp(`^(?:0|[1-9][0-9]*)$`);function Il(e){let t=`${e}`;return Fl.test(t)?parseInt(t):e}function Ll(e){return L(Il(e))}function Rl(e){return e.map(e=>zl(e))}function zl(e){return P(e)?wn(Rl(e.allOf)):N(e)?M(Rl(e.anyOf)):R(e)?Ll(e.const):e}function Bl(e,t){return fo(tc({},zl(t),xr()))?e:R(t)&&x(t.const,`length`)?xr():k()}function Vl(e,t){return ql($s(e,t))}function Hl(e){return e.reduce((e,t)=>[...e,...ql(t)],[])}function Ul(e){return Hl(Jr(e))}function Wl(e){return ql(_i(e))}function Gl(e){return[`${e}`]}function Kl(e){return ql(Ur(e))}function ql(e){return bn(e)?Vl(e.$defs,e.$ref):Cn(e)?Ul(e.enum):P(e)?Wl(e.allOf):R(e)?Gl(e.const):oo(e)?Kl(e.pattern):N(e)?Hl(e.anyOf):[]}function Jl(e){return ql(e)}function Yl(e,t){return t.map(t=>Xl(e,t))}function Xl(e,t){return qt(t)?Kt(Xl(e,t.items)):Xt(t)?Yt(Xl(e,t.iteratorItems)):$t(t)?Qt(Yl(e,t.parameters),Xl(e,t.instanceType)):nn(t)?tn(Yl(e,t.parameters),Xl(e,t.returnType)):lr(t)?cr(Xl(e,t.iteratorItems)):At(t)?kt(Xl(e,t.item)):z(t)?$r(Yl(e,t.items)):N(t)?M(Yl(e,t.anyOf)):P(t)?wn(Yl(e,t.allOf)):Ji(t)?A(e):t}function Zl(e,t){return Xl(e,t)}function Ql(e,t){return Zl(e,t in e?e[t]:k())}function $l(e,t){return t.reduce((t,n)=>[...t,Ql(e,n)],[])}function eu(e,t){return vi($l(e,Jl(t)))}const tu=new RegExp(Ii);function nu(e){return e.filter(e=>tu.test(e))}function ru(e){return vi($l(e,nu(pn(e))))}function iu(e,t){return Sr(t)?ru(e):eu(e,t)}function au(e){return L(Il(e))}function ou(e){return e.map(e=>su(e))}function su(e){return P(e)?wn(ou(e.allOf)):N(e)?M(ou(e.anyOf)):R(e)?au(e.const):e}function cu(e,t){return e.reduceRight((e,n,r)=>fo(tc({},L(r),t))?[n,...e]:e,[])}function lu(e,t){return bi(cu(e,su(t)))}function uu(e){return bi(e)}function du(e,t){return R(t)&&x(t.const,`length`)?L(e.length):Sr(t)||sr(t)?uu(e):lu(e,t)}function fu(e,t){return qt(e)?Bl(e.items,t):j(e)?iu(e.properties,t):z(e)?du(e.items,t):k()}function pu(e){return bn(e)||P(e)||N(e)?Pl(e):e}function mu(e,t,n){return G([e,t])?E(fu(pu(e),t),{},n):wl(e,t,n)}function hu(e,t,n,r,i){return mu(K(e,t,n),K(e,t,r),i)}function gu(e,t={}){return O(`InstanceType`,[e],t)}function _u(e){return $t(e)?e.instanceType:k()}function vu(e,t){return G([e])?E(_u(e),{},t):gu(e,t)}function yu(e,t,n,r={}){return vu(K(e,t,n),r)}function bu(e,t={}){return O(`KeyOf`,[e],t)}function xu(){return M([xr(),Tr(),Cr()])}function Su(e){return xr()}function Cu(e){return e.reduce((e,t)=>pr(t)?[...e,L(Il(t))]:En(),[])}function wu(e){return bi(Cu(w(e)))}function Tu(e){return Ui(e)}function Eu(e){return bi(e.map((e,t)=>L(t)))}function Du(e){return un(e)?xu():qt(e)?Su(e.items):j(e)?wu(e.properties):Gi(e)?Tu(e):z(e)?Eu(e.items):k()}function Ou(e){return bn(e)||P(e)||N(e)?Pl(e):e}function ku(e,t){return G([e])?E(Du(Ou(e)),{},t):bu(e,t)}function Au(e,t,n,r){return ku(K(e,t,n),r)}function ju(e,t,n,r,i={}){return O(`Mapped`,[e,t,n,r],i)}function Mu(e){return Fu(Ur(e))}function Nu(e){return e.reduce((e,t)=>[...e,...Fu(t)],[])}function Pu(e){return Me(e)?[L(`${e}`)]:[L(e)]}function Fu(e){return Cn(e)?Nu(Jr(e.enum)):R(e)?Pu(e.const):oo(e)?Mu(e.pattern):N(e)?Nu(e.anyOf):[e]}function Iu(e){return Fu(e)}function Lu(e){return oo(e)?Ur(e.pattern):e}function Ru(e,t,n,r,i,a){let o=v(e,{[n.name]:r}),s=Lu(K(o,t,i)),c=K(o,t,a);return gr(s)||_r(s)?{[s.const]:c}:{}}function zu(e,t,n,r,i,a){return r.reduce((r,o)=>[...r,Ru(e,t,n,o,i,a)],[])}function Bu(e){return e.reduce((e,t)=>[...e,A(t)],[])}function Vu(e,t,n,r,i,a){return _i(Bu(zu(e,t,n,Iu(r),i,a)))}function Hu(e,t,n,r,i,a,o){return G([r])?E(Vu(e,t,n,r,i,a),{},o):ju(n,r,i,a,o)}function Uu(e,t,n,r,i,a,o){return Hu(e,t,n,K(e,t,r),i,a,o)}function Wu(e,t){return w(e).filter(e=>t.includes(e)).reduce((t,n)=>({...t,[n]:Zs(e,n,e[n])}),{})}function Gu(e,t){return w(e).filter(e=>!t.includes(e)).reduce((t,n)=>({...t,[n]:K(e,{callstack:[]},e[n])}),{})}function Ku(e,t){let n=Ls(e),r=Wu(e,n),i=Gu(e,n);return E({...r,...i},{},t)}function qu(e,t,n,r){return Ku(v(e,n),r)}function Ju(e,t={}){return O(`NonNullable`,[e],t)}function Yu(e){return gl(e,M([vr(),Yi()]),{})}function Xu(e,t){return G([e])?E(Yu(e),{},t):Ju(e,t)}function Zu(e,t,n,r){return Xu(K(e,t,n),r)}function Qu(e,t,n={}){return O(`Omit`,[e,t],n)}function $u(e){let t=Pl(e);return j(t)?t.properties:En()}function ed(e,t){return w(e).reduce((n,r)=>t.includes(r)?n:{...n,[r]:e[r]},{})}function td(e,t){return A(ed($u(e),Jl(t)))}function nd(e,t,n){return G([e,t])?E(td(e,t),{},n):Qu(e,t,n)}function rd(e,t,n,r,i){return nd(K(e,t,n),K(e,t,r),i)}function id(e,t){return O(`Options`,[e,t],{})}function ad(e,t){return od(e,t)}function od(e,t){return G([e])?E(e,{},t):id(e,t)}function sd(e,t,n,r){return od(K(e,t,n),r)}function cd(e,t={}){return O(`Parameters`,[e],t)}function ld(e){return $r(ef({},{callstack:[]},nn(e)?e.parameters:[]))}function ud(e,t){return G([e])?E(ld(e),{},t):cd(e,t)}function dd(e,t,n,r){return ud(K(e,t,n),r)}function fd(e,t={}){return O(`Partial`,[e],t)}function pd(e,t){let n=_d($s(e,t));return yn(v(e,{[t]:n}),t)}function md(e){return _i(e.map(e=>_d(e)))}function hd(e){return M(e.map(e=>_d(e)))}function gd(e){return A(w(e).reduce((t,n)=>({...t,[n]:Lt(e[n])}),{}))}function _d(e){return bn(e)?pd(e.$defs,e.$ref):P(e)?md(e.allOf):N(e)?hd(e.anyOf):j(e)?gd(e.properties):A({})}function vd(e,t){return G([e])?E(_d(e),{},t):fd(e,t)}function yd(e,t,n,r){return vd(K(e,t,n),r)}function bd(e,t,n={}){return O(`Pick`,[e,t],n)}function xd(e,t){return w(e).reduce((n,r)=>t.includes(r)?v(n,{[r]:e[r]}):n,{})}function Sd(e,t){return A(xd($u(e),Jl(t)))}function Cd(e,t,n){return G([e,t])?E(Sd(e,t),{},n):bd(e,t,n)}function wd(e,t,n,r,i){return Cd(K(e,t,n),K(e,t,r),i)}function Td(e,t={}){return O(`ReadonlyObject`,[e],t)}function Ed(e){return Nt(Kt(e))}function Dd(e,t){let n=Md($s(e,t));return yn(v(e,{[t]:n}),t)}function Od(e){return _i(e.map(e=>Md(e)))}function kd(e){return A(w(e).reduce((t,n)=>({...t,[n]:Vt(e[n])}),{}))}function Ad(e){return Nt($r(e))}function jd(e){return M(e.map(e=>Md(e)))}function Md(e){return qt(e)?Ed(e.items):bn(e)?Dd(e.$defs,e.$ref):P(e)?Od(e.allOf):j(e)?kd(e.properties):z(e)?Ad(e.items):N(e)?jd(e.anyOf):e}function Nd(e,t){return G([e])?E(Md(e),{},t):Td(e)}function Pd(e,t,n,r){return Nd(K(e,t,n),r)}function Fd(e,t,n,r){return r in e?Fs([r],e,e[r])?n:K(e,t,e[r]):n}function Id(e,t){let n=Bd($s(e,t));return yn(v(e,{[t]:n}),t)}function Ld(e){return _i(e.map(e=>Bd(e)))}function Rd(e){return M(e.map(e=>Bd(e)))}function zd(e){return A(w(e).reduce((t,n)=>({...t,[n]:Ft(e[n])}),{}))}function Bd(e){return bn(e)?Id(e.$defs,e.$ref):P(e)?Ld(e.allOf):N(e)?Rd(e.anyOf):j(e)?zd(e.properties):A({})}function Vd(e,t={}){return O(`Required`,[e],t)}function Hd(e,t){return G([e])?E(Bd(e),{},t):Vd(e,t)}function Ud(e,t,n,r){return Hd(K(e,t,n),r)}function Wd(e,t={}){return O(`ReturnType`,[e],t)}function Gd(e){return nn(e)?e.returnType:k()}function Kd(e,t){return G([e])?E(Gd(e),{},t):Wd(e,t)}function qd(e,t,n,r={}){return Kd(K(e,t,n),r)}function Jd(e){return qi(e)?z(e.items)?Yd(e.items.items):Sn(e.items)||on(e.items)?[e]:[k()]:[e]}function Yd(e){return e.reduce((e,t)=>[...e,...Jd(t)],[])}function G(e){return S(e,(e,t)=>!on(e)&&G(t),()=>!0)}function Xd(e,t,n){return Dt(e)?Xd(e.type,`remove`,n):Tt(e)?Xd(e.type,t,`remove`):Et(e)?Xd(e.type,`add`,n):wt(e)?Xd(e.type,t,`add`):[e,t,n]}function Zd(e,t){return x(e,`remove`)?zt(t):x(e,`add`)?Bt(t):t}function Qd(e,t){return x(e,`remove`)?Ft(t):x(e,`add`)?It(t):t}function $d(e,t,n){return w(n).reduce((r,i)=>({...r,[i]:K(e,t,n[i])}),{})}function ef(e,t,n){return Yd(tf(e,t,n))}function tf(e,t,n){return n.map(n=>K(e,t,n))}function nf(e,t,n,r,i){return x(n,`Awaited`)?sf(e,t,r[0],i):x(n,`Capitalize`)?el(e,t,r[0],i):x(n,`Conditional`)?sl(e,t,r[0],r[1],r[2],r[3],i):x(n,`ConstructorParameters`)?dl(e,t,r[0],i):x(n,`Evaluate`)?lc(e,t,r[0],i):x(n,`Exclude`)?_l(e,t,r[0],r[1],i):x(n,`Extract`)?Cl(e,t,r[0],r[1],i):x(n,`Index`)?hu(e,t,r[0],r[1],i):x(n,`InstanceType`)?yu(e,t,r[0],i):x(n,`Interface`)?Os(e,t,r[0],r[1],i):x(n,`KeyOf`)?Au(e,t,r[0],i):x(n,`Lowercase`)?tl(e,t,r[0],i):x(n,`Mapped`)?Uu(e,t,r[0],r[1],r[2],r[3],i):x(n,`Module`)?qu(e,t,r[0],i):x(n,`NonNullable`)?Zu(e,t,r[0],i):x(n,`Pick`)?wd(e,t,r[0],r[1],i):x(n,`Options`)?sd(e,t,r[0],r[1]):x(n,`Parameters`)?dd(e,t,r[0],i):x(n,`Partial`)?yd(e,t,r[0],i):x(n,`Omit`)?rd(e,t,r[0],r[1],i):x(n,`ReadonlyObject`)?Pd(e,t,r[0],i):x(n,`Record`)?Fi(e,t,r[0],r[1],i):x(n,`Required`)?Ud(e,t,r[0],i):x(n,`ReturnType`)?qd(e,t,r[0],i):x(n,`TemplateLiteral`)?ro(e,t,r[0],i):x(n,`Uncapitalize`)?nl(e,t,r[0],i):x(n,`Uppercase`)?rl(e,t,r[0],i):O(n,r,i)}function K(e,t,n){let r=Pt(n),i=Xd(n,Ht(n)?`add`:`none`,Rt(n)?`add`:`none`),a=Gt(i[0])?i[0].Clone():i[0],o=on(a)?Fd(e,t,a,a.$ref):qt(a)?Kt(K(e,t,a.items),Jt(a)):Xt(a)?Yt(K(e,t,a.iteratorItems),Zt(a)):Ic(a)?Pc(e,t,a.target,a.arguments):$t(a)?Qt(tf(e,t,a.parameters),K(e,t,a.instanceType),en(a)):Ot(a)?nf(e,t,a.action,a.parameters,a.options):nn(a)?tn(tf(e,t,a.parameters),K(e,t,a.returnType),rn(a)):P(a)?wn(tf(e,t,a.allOf),Tn(a)):lr(a)?cr(K(e,t,a.iteratorItems),ur(a)):j(a)?A($d(e,t,a.properties),hn(a)):At(a)?kt(K(e,t,a.item),jt(a)):Gi(a)?Vi(Hi(a),K(e,t,Wi(a))):qi(a)?Ki(K(e,t,a.items)):z(a)?$r(ef(e,t,a.items),ei(a)):N(a)?M(tf(e,t,a.anyOf),gn(a)):a,s=r?Nt(o):o;return Zd(i[1],Qd(i[2],s))}function rf(e,t){return K(e,{callstack:[]},t)}function af(e){return At(e)?af(e.item):e}function of(e,t){return G([e])?E(af(e),{},t):cf(e,t)}function sf(e,t,n,r){return of(K(e,t,n),r)}function cf(e,t={}){return O(`Awaited`,[e],t)}function lf(e,t={}){return cc(e,t)}const uf=Symbol.for(`yaml.alias`),df=Symbol.for(`yaml.document`),ff=Symbol.for(`yaml.map`),pf=Symbol.for(`yaml.pair`),mf=Symbol.for(`yaml.scalar`),hf=Symbol.for(`yaml.seq`),gf=Symbol.for(`yaml.node.type`),_f=e=>!!e&&typeof e==`object`&&e[gf]===uf,vf=e=>!!e&&typeof e==`object`&&e[gf]===df,yf=e=>!!e&&typeof e==`object`&&e[gf]===ff,q=e=>!!e&&typeof e==`object`&&e[gf]===pf,J=e=>!!e&&typeof e==`object`&&e[gf]===mf,bf=e=>!!e&&typeof e==`object`&&e[gf]===hf;function Y(e){if(e&&typeof e==`object`)switch(e[gf]){case ff:case hf:return!0}return!1}function X(e){if(e&&typeof e==`object`)switch(e[gf]){case uf:case ff:case mf:case hf:return!0}return!1}const xf=e=>(J(e)||Y(e))&&!!e.anchor,Sf=Symbol(`break visit`),Cf=Symbol(`skip children`),wf=Symbol(`remove node`);function Tf(e,t){let n=kf(t);vf(e)?Ef(null,e.contents,n,Object.freeze([e]))===wf&&(e.contents=null):Ef(null,e,n,Object.freeze([]))}Tf.BREAK=Sf,Tf.SKIP=Cf,Tf.REMOVE=wf;function Ef(e,t,n,r){let i=Af(e,t,n,r);if(X(i)||q(i))return jf(e,r,i),Ef(e,i,n,r);if(typeof i!=`symbol`){if(Y(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=Ef(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===Sf)return Sf;else i===wf&&(t.items.splice(e,1),--e)}}else if(q(t)){r=Object.freeze(r.concat(t));let e=Ef(`key`,t.key,n,r);if(e===Sf)return Sf;e===wf&&(t.key=null);let i=Ef(`value`,t.value,n,r);if(i===Sf)return Sf;i===wf&&(t.value=null)}}return i}async function Df(e,t){let n=kf(t);vf(e)?await Of(null,e.contents,n,Object.freeze([e]))===wf&&(e.contents=null):await Of(null,e,n,Object.freeze([]))}Df.BREAK=Sf,Df.SKIP=Cf,Df.REMOVE=wf;async function Of(e,t,n,r){let i=await Af(e,t,n,r);if(X(i)||q(i))return jf(e,r,i),Of(e,i,n,r);if(typeof i!=`symbol`){if(Y(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=await Of(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===Sf)return Sf;else i===wf&&(t.items.splice(e,1),--e)}}else if(q(t)){r=Object.freeze(r.concat(t));let e=await Of(`key`,t.key,n,r);if(e===Sf)return Sf;e===wf&&(t.key=null);let i=await Of(`value`,t.value,n,r);if(i===Sf)return Sf;i===wf&&(t.value=null)}}return i}function kf(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function Af(e,t,n,r){if(typeof n==`function`)return n(e,t,r);if(yf(t))return n.Map?.(e,t,r);if(bf(t))return n.Seq?.(e,t,r);if(q(t))return n.Pair?.(e,t,r);if(J(t))return n.Scalar?.(e,t,r);if(_f(t))return n.Alias?.(e,t,r)}function jf(e,t,n){let r=t[t.length-1];if(Y(r))r.items[e]=n;else if(q(r))e===`key`?r.key=n:r.value=n;else if(vf(r))r.contents=n;else{let e=_f(r)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}const Mf={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},Nf=e=>e.replace(/[!,[\]{}]/g,e=>Mf[e]);var Pf=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+Nf(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],n=Object.entries(this.tags),r;if(e&&n.length>0&&X(e.contents)){let t={};Tf(e.contents,(e,n)=>{X(n)&&n.tag&&(t[n.tag]=!0)}),r=Object.keys(t)}else r=[];for(let[i,a]of n)i===`!!`&&a===`tag:yaml.org,2002:`||(!e||r.some(e=>e.startsWith(a)))&&t.push(`%TAG ${i} ${a}`);return t.join(`
4
4
  `)}};Pf.defaultYaml={explicit:!1,version:`1.2`},Pf.defaultTags={"!!":`tag:yaml.org,2002:`};function Ff(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(t)}return!0}function If(e,t,n,r){if(r&&typeof r==`object`)if(Array.isArray(r))for(let t=0,n=r.length;t<n;++t){let n=r[t],i=If(e,r,String(t),n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}else if(r instanceof Map)for(let t of Array.from(r.keys())){let n=r.get(t),i=If(e,r,t,n);i===void 0?r.delete(t):i!==n&&r.set(t,i)}else if(r instanceof Set)for(let t of Array.from(r)){let n=If(e,r,t,t);n===void 0?r.delete(t):n!==t&&(r.delete(t),r.add(n))}else for(let[t,n]of Object.entries(r)){let i=If(e,r,t,n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function Lf(e,t,n){if(Array.isArray(e))return e.map((e,t)=>Lf(e,String(t),n));if(e&&typeof e.toJSON==`function`){if(!n||!xf(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=e=>{r.res=e,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e==`bigint`&&!n?.keep?Number(e):e}var Rf=class{constructor(e){Object.defineProperty(this,gf,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:i}={}){if(!vf(e))throw TypeError(`A document argument is required`);let a={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n==`number`?n:100},o=Lf(this,``,a);if(typeof r==`function`)for(let{count:e,res:t}of a.anchors.values())r(t,e);return typeof i==`function`?If(i,{"":o},``,o):o}},zf=class extends Rf{constructor(e){super(uf),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error(`Alias nodes cannot have tags`)}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError(`Alias resolution is disabled`);let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],Tf(e,{Node:(e,t)=>{(_f(t)||xf(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n));let r;for(let e of n){if(e===this)break;e.anchor===this.source&&(r=e)}return r}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,a=this.resolve(r,t);if(!a){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(e)}let o=n.get(a);if(o||=(Lf(a,null,t),n.get(a)),o?.res===void 0)throw ReferenceError(`This should not happen: Alias anchor was not resolved?`);if(i>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=Bf(r,a,n)),o.count*o.aliasCount>i))throw ReferenceError(`Excessive alias count indicates a resource exhaustion attack`);return o.res}toString(e,t,n){let r=`*${this.source}`;if(e){if(Ff(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(e)}if(e.implicitKey)return`${r} `}return r}};function Bf(e,t,n){if(_f(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}else if(Y(t)){let r=0;for(let i of t.items){let t=Bf(e,i,n);t>r&&(r=t)}return r}else if(q(t)){let r=Bf(e,t.key,n),i=Bf(e,t.value,n);return Math.max(r,i)}return 1}const Vf=e=>!e||typeof e!=`function`&&typeof e!=`object`;var Z=class extends Rf{constructor(e){super(mf),this.value=e}toJSON(e,t){return t?.keep?this.value:Lf(this.value,e,t)}toString(){return String(this.value)}};Z.BLOCK_FOLDED=`BLOCK_FOLDED`,Z.BLOCK_LITERAL=`BLOCK_LITERAL`,Z.PLAIN=`PLAIN`,Z.QUOTE_DOUBLE=`QUOTE_DOUBLE`,Z.QUOTE_SINGLE=`QUOTE_SINGLE`;function Hf(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}function Uf(e,t,n){if(vf(e)&&(e=e.contents),X(e))return e;if(q(e)){let t=n.schema[ff].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<`u`&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:r,onAnchor:i,onTagObj:a,schema:o,sourceObjects:s}=n,c;if(r&&e&&typeof e==`object`){if(c=s.get(e),c)return c.anchor??=i(e),new zf(c.anchor);c={anchor:null,node:null},s.set(e,c)}t?.startsWith(`!!`)&&(t=`tag:yaml.org,2002:`+t.slice(2));let l=Hf(e,t,o.tags);if(!l){if(e&&typeof e.toJSON==`function`&&(e=e.toJSON()),!e||typeof e!=`object`){let t=new Z(e);return c&&(c.node=t),t}l=e instanceof Map?o[ff]:Symbol.iterator in Object(e)?o[hf]:o[ff]}a&&(a(l),delete n.onTagObj);let u=l?.createNode?l.createNode(n.schema,e,n):typeof l?.nodeClass?.from==`function`?l.nodeClass.from(n.schema,e,n):new Z(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}function Wf(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if(typeof n==`number`&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return Uf(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}const Gf=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done;var Kf=class extends Rf{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>X(t)||q(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(Gf(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(Y(i))i.addIn(r,t);else if(i===void 0&&this.schema)this.set(n,Wf(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let r=this.get(t,!0);if(Y(r))return r.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...r]=e,i=this.get(n,!0);return r.length===0?!t&&J(i)?i.value:i:Y(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!q(t))return!1;let n=t.value;return n==null||e&&J(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let r=this.get(t,!0);return Y(r)?r.hasIn(n):!1}setIn(e,t){let[n,...r]=e;if(r.length===0)this.set(n,t);else{let e=this.get(n,!0);if(Y(e))e.setIn(r,t);else if(e===void 0&&this.schema)this.set(n,Wf(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}};const qf=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function Jf(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const Yf=(e,t,n)=>e.endsWith(`
@@ -98,4 +98,4 @@ Use this EXACT format:
98
98
  - [Any data, examples, or references needed to continue]
99
99
  - [Or "(none)" if not applicable]
100
100
 
101
- Keep each section concise. Preserve exact file paths, function names, and error messages. Output ONLY the summary, with no preamble or follow-up.`,c,e.headers,o),u={role:`user`,content:[{type:`text`,text:`<context-summary>\n${l}\n</context-summary>`}],timestamp:Date.now()};return hm.info(`LLM summarization successful`,{originalMessages:a,compactedMessages:1+r.length,summaryLength:l.length}),await km(e,t,s,o),Em(e,`idle`),[u,...r]}catch(e){return hm.warn(`LLM summarization failed, falling back to naive drop`,{error:e instanceof Error?e.message:String(e)}),null}}function jm(e){let t=e.contextWindow??2e5,n=e.reserveTokens??dm.reserveTokens,r=e.keepRecentTokens??dm.keepRecentTokens,i=e.hopelessMultiplier??4,a={enabled:!0,reserveTokens:n,keepRecentTokens:r};return async(o,s)=>{if(o.length===0)return o;let c=Tm(o);if(!fm(c,t,a))return o;let l=Dm(o,c,t,n,i,a);if(l.earlyReturn)return l.earlyReturn;let u=l.messages,d=l.isHopeless;hm.info(`Context compaction triggered`,{totalTokens:c,contextWindow:t,threshold:t-n,messageCount:u.length});let f=Om(u,r);if(!f)return u;let{messagesToSummarize:p,messagesToKeep:m}=f;hm.info(`Compaction cut point`,{summarizing:p.length,keeping:m.length});let h=d?void 0:e.getApiKey();if(h){let t=await Am(e,h,p,m,n,o.length,s);if(t)return t}else d||hm.warn(`No API key available for LLM summarization, falling back to naive drop`);Em(e,`idle`);let g={role:`user`,content:[{type:`text`,text:`[Earlier conversation messages were compacted to save context space]`}],timestamp:Date.now()};return hm.info(`Naive compaction applied`,{originalMessages:o.length,compactedMessages:1+m.length}),[g,...m]}}const Mm=m({portName:`secrets.crud`,panelRpcOp:`secrets-bridge`,timeoutMs:1e4,onUnavailable:`resolve-undefined`,makeError:e=>Error(e),logNamespace:`secrets-bridge`,toPortMessage:({type:e,payload:t})=>({type:e,...t}),toPanelRpcPayload:({type:e,payload:t})=>({type:e,payload:t})});function Nm(e,t){return Mm({type:e,payload:t})}const Pm=n(`secret-scrub`),Fm=async e=>e;function Im(){let e=oe();return e===`extension-direct`?async e=>{if(!e)return e;try{let t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.scrub-tool-result`,text:e},e=>t(e??{}))});return t.error?(Pm.debug(`SW scrub-tool-result returned error`,{error:t.error}),e):typeof t.text==`string`?t.text:e}catch(t){return Pm.debug(`SW scrub-tool-result failed`,{error:t instanceof Error?t.message:String(t)}),e}}:e===`extension-delegate`?async e=>{if(!e)return e;try{let t=await Nm(`secrets.scrub-tool-result`,{text:e});return t?.error?(Pm.debug(`Bridge scrub-tool-result returned error`,{error:t.error}),e):typeof t?.text==`string`?t.text:e}catch(t){return Pm.debug(`Bridge scrub-tool-result failed`,{error:t instanceof Error?t.message:String(t)}),e}}:e===`connect`?Fm:async e=>{if(!e)return e;try{let t=await fetch(l(`/api/secrets/scrub`),{method:`POST`,headers:u({"content-type":`application/json`}),body:JSON.stringify({text:e})});if(!t.ok)return Pm.debug(`Server scrub-tool-result returned non-ok`,{status:t.status}),e;let n=await t.json();return typeof n.text==`string`?n.text:e}catch(t){return Pm.debug(`Server scrub-tool-result failed`,{error:t instanceof Error?t.message:String(t)}),e}}}const Lm=n(`image-processor`),Rm=3932160,zm=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function Bm(e){return zm.has(e)}function Vm(e,t){try{if(t===`image/png`){if(e.length<32)return null;let t=atob(e.slice(0,32)),n=t.charCodeAt(16)<<24|t.charCodeAt(17)<<16|t.charCodeAt(18)<<8|t.charCodeAt(19),r=t.charCodeAt(20)<<24|t.charCodeAt(21)<<16|t.charCodeAt(22)<<8|t.charCodeAt(23);return n>0&&r>0?{width:n,height:r}:null}if(t===`image/gif`){if(e.length<16)return null;let t=atob(e.slice(0,16)),n=t.charCodeAt(6)|t.charCodeAt(7)<<8,r=t.charCodeAt(8)|t.charCodeAt(9)<<8;return n>0&&r>0?{width:n,height:r}:null}if(t===`image/jpeg`){let t=Math.min(21846*4,e.length),n=atob(e.slice(0,t));for(let e=0;e<n.length-8;e++)if(n.charCodeAt(e)===255){let t=n.charCodeAt(e+1);if(t===192||t===194){let t=n.charCodeAt(e+5)<<8|n.charCodeAt(e+6),r=n.charCodeAt(e+7)<<8|n.charCodeAt(e+8);return r>0&&t>0?{width:r,height:t}:null}}}}catch{}return null}async function Hm(e){if(!Bm(e.mimeType))return Lm.warn(`Unsupported image format`,{mimeType:e.mimeType}),{type:`text`,text:`[Image removed: unsupported format "${e.mimeType}". Supported: JPEG, PNG, GIF, WebP]`};let t=e.data.length,n=Vm(e.data,e.mimeType);if(!(t>5242880||n!==null&&(n.width>8e3||n.height>8e3)||n!==null&&Math.max(n.width,n.height)>1568))return e;Lm.info(`Image needs processing`,{base64Size:t,dimensions:n?`${n.width}x${n.height}`:`unknown`,reason:t>5242880?`size`:`dimensions`});let r,i;try{let e=await import(`./magick-wasm-Daq1kpb4.js`).then(e=>e.n);r=e.getMagick,i=e.MIME_TO_MAGICK_FORMAT}catch(e){return Lm.error(`ImageMagick WASM module unavailable`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (ImageMagick WASM could not be loaded)]`}}let a;try{a=await r()}catch(e){return Lm.error(`ImageMagick WASM initialization failed`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (WASM init failed)]`}}try{let n=atob(e.data),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);let o={data:null,mime:e.mimeType};if(await a.ImageMagick.read(r,async t=>{let n=t.width,r=t.height,a=Math.max(n,r);if(a>1568){let e=1568/a,i=Math.round(n*e),o=Math.round(r*e);t.resize(i,o),Lm.info(`Resized image`,{from:`${n}x${r}`,to:`${i}x${o}`})}let s=i[e.mimeType]||`JPEG`;t.write(s,e=>{o.data=new Uint8Array(e)}),o.data&&o.data.length>Rm&&s!==`JPEG`?(Lm.info(`Still over 5MB, compressing to JPEG q80`),t.quality=80,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}),o.mime=`image/jpeg`):o.data&&o.data.length>Rm&&(Lm.info(`Still over 5MB as JPEG, reducing quality to 60`),t.quality=60,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}))}),!o.data)return Lm.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(o.data.length>Rm)return Lm.warn(`Image still over 5MB after resize+compress`,{size:o.data.length}),{type:`text`,text:`[Image removed: still ${Math.round(o.data.length/1024/1024*10)/10}MB after resize and compression, exceeds 5MB API limit]`};let s=``;for(let e=0;e<o.data.length;e++)s+=String.fromCharCode(o.data[e]);let c=btoa(s);return Lm.info(`Image processed successfully`,{originalBase64:t,newBase64:c.length,mimeType:o.mime}),{type:`image`,data:c,mimeType:o.mime}}catch(n){return Lm.error(`Image data processing failed (corrupt or unreadable)`,{mimeType:e.mimeType,estimatedBytes:t,error:n instanceof Error?n.message:String(n)}),{type:`text`,text:`[Image removed: image data could not be processed (${n instanceof Error?n.message:`corrupt or unreadable`})]`}}}const Um=n(`tool-adapter`),Wm=/<img:(data:(image\/[^;]+);base64,([^>]+))>/g;function Gm(e){let t=[],n=0;for(let r of e.matchAll(Wm)){let i=e.slice(n,r.index);i.trim()&&t.push({type:`text`,text:i.trimEnd()}),t.push({type:`image`,mimeType:r[2],data:r[3]}),n=r.index+r[0].length}let r=e.slice(n);return(r.trim()||t.length===0)&&t.push({type:`text`,text:r||e}),t}async function Km(e){let t=Gm(e),n=[];for(let e of t)e.type===`image`?n.push(await Hm(e)):n.push(e);return n}function qm(e,t,n){return{name:e.name,label:e.name,description:e.description,parameters:e.inputSchema,async execute(r,i,a,o){let s;o&&(s=f({onUpdate:o,toolName:e.name,toolCallId:r}));let c=t?t.processManager.spawn({kind:`tool`,argv:[e.name,...Ym(i)],owner:t.owner,ppid:t.getParentPid?.()}):null,l=null;c&&t&&a&&(a.aborted?t.processManager.signal(c.pid,`SIGINT`):a.addEventListener(`abort`,()=>t.processManager.signal(c.pid,`SIGINT`),{once:!0})),c&&t&&(l=t.processManager.onSignal((e,n)=>{e.pid!==c.pid||n!==`SIGKILL`||t.processManager.exit(c.pid,null)}));let u=c?c.abort.signal:a;try{let r=await e.execute(i??{},u),a=r.content;if(n&&typeof a==`string`&&a.length>0)try{a=await n.scrubToolResult(a)}catch(t){Um.warn(`Tool-result scrub failed, falling back to unscrubbed content`,{tool:e.name,error:t instanceof Error?t.message:String(t)}),a=r.content}let o;try{o=await Km(a)}catch(t){Um.warn(`Image processing failed, falling back to raw content`,{tool:e.name,error:t instanceof Error?t.message:String(t)}),o=Gm(a)}return c&&t&&t.processManager.exit(c.pid,+!!r.isError),{content:o,details:{isError:r.isError}}}catch(e){throw c&&t&&t.processManager.exit(c.pid,c.abort.signal.aborted?null:1),e}finally{s&&p(s),l?.()}}}}function Jm(e,t,n){return e.map(e=>qm(e,t,n))}function Ym(e){if(typeof e!=`object`||!e)return[];let t=e;for(let e of[`command`,`file_path`,`path`,`pattern`,`url`,`key`,`name`,`query`,`message`]){let n=t[e];if(typeof n==`string`&&n.length>0)return[n]}for(let e of Object.values(t))if(typeof e==`string`&&e.length>0)return[e];return[]}var Xm=e({ACCOUNTS_KEY:()=>$m,__test__:()=>ch,addAccount:()=>Oh,applyProviderDefaults:()=>_h,clearAllSettings:()=>$h,clearApiKey:()=>Jh,clearBaseUrl:()=>Zh,clearSelectedProvider:()=>Gh,exportProviders:()=>Qh,getAccounts:()=>$,getAllAvailableModels:()=>xh,getAllExtraOAuthDomains:()=>Th,getApiKey:()=>Kh,getApiKeyForProvider:()=>Ih,getApiVersionForProvider:()=>zh,getAvailableProviders:()=>lh,getBaseUrl:()=>Yh,getBaseUrlForProvider:()=>Lh,getDeploymentForProvider:()=>Rh,getExtraOAuthDomains:()=>Sh,getOAuthAccountInfo:()=>hh,getProviderConfig:()=>fh,getProviderModels:()=>mh,getRawApiKeyForProvider:()=>Fh,getSelectedModelId:()=>Bh,getSelectedProvider:()=>Uh,isModelHiddenFromPicker:()=>yh,logoutOAuthAccount:()=>jh,maskOAuthTokenWithRetry:()=>Mh,migrateLegacyAuthOnlySelection:()=>oh,persistOAuthMaskViaServiceWorker:()=>Nh,providerOffersLlmModels:()=>uh,removeAccount:()=>Ah,resolveCurrentModel:()=>ig,resolveModelById:()=>rg,resolveModelByShorthand:()=>ag,saveOAuthAccount:()=>Ph,setApiKey:()=>qh,setBaseUrl:()=>Xh,setExtraOAuthDomains:()=>Ch,setExtraOAuthDomainsAsync:()=>wh,setSelectedModelId:()=>Vh,setSelectedProvider:()=>Wh});const Zm=ne,Qm=h,$m=`slicc_accounts`,eh=`selected-model`,th=[`slicc_provider`,`slicc_api_key`,`slicc_base_url`,`anthropic_api_key`,`api_provider`,`azure_resource`,`bedrock_region`],nh=new Set([`github`]);function rh(e){let t;try{t=g()}catch{return!1}return t.includes(e)&&!o(e)}let ih=!1;function ah(){if(!ih){ih=!0;for(let e of th)try{localStorage.removeItem(e)}catch{}oh()}}function oh(){try{let e=localStorage.getItem(eh);if(e){let t=e.indexOf(`:`);if(t>0){let n=e.slice(0,t);(nh.has(n)||rh(n))&&localStorage.removeItem(eh)}}}catch{}try{let e=localStorage.getItem($m);if(!e)return;let t=JSON.parse(e);if(!Array.isArray(t))return;let n=t.filter(e=>!(typeof e==`object`&&e&&typeof e.providerId==`string`&&rh(e.providerId)));n.length!==t.length&&localStorage.setItem($m,JSON.stringify(n))}catch{}}function sh(){ih=!1}const ch={_resetLegacyCleanup:sh};function lh(){let e=g().filter(o),t=a();return[...new Set([...e,...t])].filter(e=>!s(e)?.hidden)}function uh(e){try{if(mh(e).length>0)return!0}catch{}try{if(h(e).length>0)return!0}catch{}let t=s(e);return!!(t?.modelOverrides&&Object.keys(t.modelOverrides).length>0)}function dh(e,t){try{if(mh(e).some(e=>e.id===t))return!0}catch{}try{if(h(e).some(e=>e.id===t))return!0}catch{}let n=s(e);return!!(n?.modelOverrides&&Object.hasOwn(n.modelOverrides,t))}function fh(e){return s(e)||{id:e,name:e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),description:`${e} provider`,requiresApiKey:!0,requiresBaseUrl:!1}}function ph(e,t){t.context_window!==void 0&&(e.contextWindow=t.context_window),t.max_tokens!==void 0&&(e.maxTokens=t.max_tokens),t.reasoning!==void 0&&(e.reasoning=t.reasoning),t.input!==void 0&&(e.input=t.input),t.compat!==void 0&&(e.compat={...e.compat??{},...t.compat}),t.thinkingLevelMap!==void 0&&(e.thinkingLevelMap={...e.thinkingLevelMap??{},...t.thinkingLevelMap})}function mh(e){try{if(e===`bedrock-camp`){let e=te(Lh(`bedrock-camp`));return Qm(`amazon-bedrock`).filter(t=>_(t,e)).map(e=>({...e,api:`bedrock-camp-converse`,provider:`bedrock-camp`}))}let t=fh(e);if(t.getModelIds){let n;try{n=t.getModelIds()}catch(t){return Q.error(`Provider getModelIds callback failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}let r=new Map;for(let e of g())try{for(let t of Qm(e))r.set(t.id,t)}catch{}return n.map(n=>{let i=`${e}-${n.api===`openai`?`openai`:`anthropic`}`,a=r.get(n.id),o;a?o={...a,api:i,provider:e}:(o=tg(e,n.id,``,i),n.name&&(o.name=n.name));let s=t.modelOverrides?.[n.id];return s&&ph(o,s),ph(o,n),o})}if(t.isOAuth){let n=Qm(`anthropic`),r=`${e}-anthropic`;return n.map(n=>{let i={...n,api:r,provider:e},a=t.modelOverrides?.[n.id];return a&&ph(i,a),i})}return Qm(e===`azure-ai-foundry`?`anthropic`:e)}catch(t){return Q.error(`Failed to load models`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}}function hh(e){let t=$().find(t=>t.providerId===e);if(!t?.accessToken)return null;let n=!!t.tokenExpiresAt&&Date.now()>t.tokenExpiresAt-6e4;return{token:t.accessToken,maskedValue:t.maskedValue,expiresAt:t.tokenExpiresAt,userName:t.userName,userAvatar:t.userAvatar,expired:n}}const gh=Object.assign({})[`/packages/webapp/providers.json`]??[],Q=n(`provider-settings`);function _h(e=gh){if(e.length===0||$().length>0)return;let t=new Set(lh());for(let n of e)if(!(!n.providerId||!n.apiKey)){if(!t.has(n.providerId)){Q.warn(`Unknown provider "${n.providerId}" in providers.json — skipping`);continue}Oh(n.providerId,n.apiKey,n.baseUrl)}let n=e.find(e=>e.providerId&&e.apiKey&&t.has(e.providerId));n?.model&&!localStorage.getItem(eh)&&localStorage.setItem(eh,`${n.providerId}:${n.model}`)}const vh=[/haiku/i];function yh(e){return vh.some(t=>t.test(e))}function bh(e){return e.filter(e=>!yh(e.id))}function xh(){let e=$();if(e.length===0)return[];let t=new Map;for(let n of e){if(t.has(n.providerId))continue;let e=fh(n.providerId);if(e.hidden||rh(n.providerId))continue;let r=bh(mh(n.providerId));if(r.length===0)continue;let i={providerId:n.providerId,providerName:e.name,models:r};t.set(n.providerId,i)}return[...t.values()]}function $(){ah();let e=localStorage.getItem($m);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.providerId==`string`&&typeof e.apiKey==`string`):[]}catch{return[]}}function Sh(e){return ie(localStorage)[e]??[]}function Ch(e,t){let n=ie(localStorage),r=t.map(e=>e.trim()).filter(e=>e.length>0);r.length===0?delete n[e]:n[e]=r,ae(localStorage,n)}async function wh(e,t){if(i()){Ch(e,t);return}let n=r();if(!n)throw Error(`setExtraOAuthDomainsAsync: no DOM and no panel-rpc client — cannot persist to page localStorage`);let{storeAfter:a}=await n.call(`oauth-extras-set`,{providerId:e,domains:t});try{ae(localStorage,a)}catch(t){Q.warn(`worker-shim mirror failed after successful page write — reload to refresh`,{providerId:e,error:t instanceof Error?t.message:String(t)})}}function Th(){return ie(localStorage)}function Eh(e){localStorage.setItem($m,JSON.stringify(e))}async function Dh(e){if(i()){Eh(e);return}let t=r();if(!t)throw Error(`saveAccountsAsync: no DOM and no panel-rpc client — cannot persist to page localStorage`);let n=JSON.stringify(e),{storedJson:a}=await t.call(`save-oauth-accounts`,{accountsJson:n});try{localStorage.setItem($m,a)}catch(e){Q.warn(`worker-shim mirror failed after successful page write — reload to refresh`,{error:e instanceof Error?e.message:String(e)})}}function Oh(e,t,n,r,i){let a=$().filter(t=>t.providerId!==e),o={providerId:e,apiKey:t};n&&(o.baseUrl=n),r&&(o.deployment=r),i&&(o.apiVersion=i),a.push(o),Eh(a)}async function kh(e){let t=oe();try{if(t===`extension-direct`){let t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.delete`,name:`oauth.${e}.token`},n=>{chrome.runtime.lastError&&Q.error(`SW secrets.delete transport failed`,{providerId:e,error:chrome.runtime.lastError.message}),t(n??{})})});t.error&&Q.error(`SW secrets.delete returned error`,{providerId:e,error:t.error})}else if(t===`extension-delegate`){let t=await Nm(`secrets.delete`,{name:`oauth.${e}.token`});t?.error&&Q.error(`Bridge secrets.delete returned error`,{providerId:e,error:t.error})}else if(t!==`connect`){let t=await fetch(l(`/api/secrets/oauth/${e}`),{method:`DELETE`,headers:u()});!t.ok&&t.status!==404&&Q.warn(`OAuth replica DELETE non-ok`,{providerId:e,status:t.status})}}catch(n){Q.error(`OAuth replica removal failed`,{providerId:e,topology:t,error:n instanceof Error?n.message:String(n)})}}async function Ah(e){let t=$().find(t=>t.providerId===e),n=fh(e);t&&n?.isOAuth&&await jh(e),await kh(e),await Dh($().filter(t=>t.providerId!==e));let r=localStorage.getItem(eh)??``,i=r.indexOf(`:`);i>0&&r.slice(0,i)===e&&localStorage.removeItem(eh)}async function jh(e){let t=$().find(t=>t.providerId===e);if(!t)return;let n=fh(e);if(n?.isOAuth){if(n.onOAuthLogout)try{await n.onOAuthLogout()}catch(t){Q.warn(`onOAuthLogout failed`,{providerId:e,error:t instanceof Error?t.message:String(t)})}if(n.getOAuthLogoutUrl){let r=n.getOAuthLogoutUrl(t);if(r){let{openIdpLogoutUrl:t}=await import(`./oauth-service-foejPYvF.js`);await t(r).catch(t=>{Q.warn(`IdP logout popup failed`,{providerId:e,error:t instanceof Error?t.message:String(t)})})}}await Dh($().map(t=>t.providerId===e?{providerId:t.providerId,apiKey:``,baseUrl:t.baseUrl,userName:t.userName,userAvatar:t.userAvatar,loggedOut:!0}:t)),await kh(e)}}async function Mh(e,t={}){let n=Math.max(1,t.attempts??3),r=t.delayMs??150,i=t.sleep??(e=>new Promise(t=>setTimeout(t,e))),a;for(let t=0;t<n;t++){let o=await e();if(o.maskedValue)return{maskedValue:o.maskedValue};o.error&&(a=o.error),t<n-1&&await i(r)}return{lastError:a}}async function Nh(e,t,n){let r={providerId:e.providerId,accessToken:e.accessToken,domains:e.domains.join(`,`)},{maskedValue:i,lastError:a}=await Mh(()=>t.sendMaskRequest(r),n);if(!i){Q.error(`OAuth mask give-up: no masked value after retries`,{providerId:e.providerId,reason:a??`no error reported (cold SW or empty reply)`});return}let o=t.getAccounts(),s=o.find(t=>t.providerId===e.providerId);s&&(s.maskedValue=i,await t.saveAccounts(o))}async function Ph(e){let t=$().find(t=>t.providerId===e.providerId),n=$().filter(t=>t.providerId!==e.providerId);n.push({providerId:e.providerId,apiKey:``,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenExpiresAt:e.tokenExpiresAt,userName:e.userName,userAvatar:e.userAvatar,baseUrl:e.baseUrl??t?.baseUrl}),await Dh(n);let r=fh(e.providerId)?.oauthTokenDomains??[],i=Sh(e.providerId),a=new Set,o=[];for(let e of[...r,...i]){let t=e.toLowerCase();a.has(t)||(a.add(t),o.push(e))}if(o.length===0)return;let s=oe();try{if(s===`extension-direct`)await Nh({providerId:e.providerId,accessToken:e.accessToken,domains:o},{sendMaskRequest:t=>new Promise(n=>{chrome.runtime.sendMessage({type:`secrets.mask-oauth-token`,...t},t=>{chrome.runtime.lastError&&Q.error(`SW mask-oauth-token transport failed`,{providerId:e.providerId,error:chrome.runtime.lastError.message});let r=typeof t==`object`&&t?t:void 0;r?.error&&Q.warn(`SW mask-oauth-token returned error`,{providerId:e.providerId,error:r.error}),n(r??{})})}),getAccounts:$,saveAccounts:Dh});else if(s===`extension-delegate`)await Nh({providerId:e.providerId,accessToken:e.accessToken,domains:o},{sendMaskRequest:t=>Nm(`secrets.mask-oauth-token`,t).then(t=>(t?.error&&Q.warn(`Bridge mask-oauth-token returned error`,{providerId:e.providerId,error:t.error}),t??{})).catch(t=>(Q.error(`Bridge mask-oauth-token transport failed`,{providerId:e.providerId,error:t instanceof Error?t.message:String(t)}),{})),getAccounts:$,saveAccounts:Dh});else if(s!==`connect`){let t=await fetch(l(`/api/secrets/oauth-update`),{method:`POST`,headers:u({"Content-Type":`application/json`}),body:JSON.stringify({providerId:e.providerId,accessToken:e.accessToken,domains:o})});if(t.ok){let n=await t.json();if(typeof n.maskedValue==`string`){let t=$(),r=t.find(t=>t.providerId===e.providerId);r&&(r.maskedValue=n.maskedValue,await Dh(t))}else Q.warn(`OAuth replica POST ok but missing maskedValue`,{providerId:e.providerId})}else Q.warn(`OAuth replica POST non-ok`,{providerId:e.providerId,status:t.status})}}catch(t){Q.error(`OAuth replica sync failed`,{providerId:e.providerId,topology:s,error:t instanceof Error?t.message:String(t)})}}function Fh(e){let t=$().find(t=>t.providerId===e);return t&&(t.accessToken||t.apiKey)||null}function Ih(e){let t=$().find(t=>t.providerId===e);return t?t.accessToken||t.apiKey||(fh(e).optionalApiKey?`local`:null):null}function Lh(e){return $().find(t=>t.providerId===e)?.baseUrl??null}function Rh(e){return $().find(t=>t.providerId===e)?.deployment??null}function zh(e){return $().find(t=>t.providerId===e)?.apiVersion??null}function Bh(){let e=localStorage.getItem(eh)||``,t=e.indexOf(`:`);return t>=0?e.slice(t+1):e}function Vh(e){let t=e.indexOf(`:`);if(t>0){let n=e.slice(0,t),r=new Set([...a(),...lh()]),i=n.includes(`.`);if(r.has(n)||!i){localStorage.setItem(eh,e);return}}let n=Uh();localStorage.setItem(eh,`${n}:${e}`)}function Hh(){return localStorage.getItem(eh)||``}function Uh(){let e=Hh(),t=e.indexOf(`:`);if(t>0)return e.slice(0,t);let n=$(),r=Bh();if(r){let e=n.find(e=>uh(e.providerId)&&dh(e.providerId,r));if(e)return e.providerId}let i=n.find(e=>uh(e.providerId));return i?i.providerId:n.length>0?n[0].providerId:`anthropic`}function Wh(e){let t=Bh();localStorage.setItem(eh,`${e}:${t}`)}function Gh(){let e=Bh();localStorage.setItem(eh,e)}function Kh(){return Ih(Uh())}function qh(e){let t=Uh();Oh(t,e,Lh(t)??void 0)}async function Jh(){await Ah(Uh())}function Yh(){return Lh(Uh())}function Xh(e){let t=Uh(),n=Fh(t);n&&Oh(t,n,e||void 0)}function Zh(){let e=Uh(),t=Fh(e);t&&Oh(e,t)}function Qh(){let e=$(),t=Uh(),n=Bh();return e.map(e=>{let r={providerId:e.providerId,apiKey:e.apiKey};return e.baseUrl&&(r.baseUrl=e.baseUrl),e.providerId===t&&n&&(r.model=n),r})}async function $h(){let e=$();await Promise.allSettled(e.map(e=>Ah(e.providerId))),localStorage.removeItem($m),localStorage.removeItem(eh);for(let e of th)localStorage.removeItem(e)}function eg(e){return/^(?:gpt[-.]?|o[0-9]|chatgpt)/i.test(e)?`openai`:`anthropic`}function tg(e,t,n,r){return{id:t,name:t,provider:e,api:r??`${e}-${eg(t)}`,baseUrl:n??``,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},reasoning:!0}}function ng(e,t){return t.isOAuth||e===`azure-ai-foundry`?`anthropic`:e===`bedrock-camp`?`amazon-bedrock`:e}function rg(e){if(!e)return ig();let t=Uh(),n=Lh(t),r=fh(t);try{let i=ng(t,r),a=Zm(i,e);if(!a?.id)throw Error(`Model ${e} not found`);let o=a;return r.isOAuth?o=mh(t).find(t=>t.id===e)||{...o,api:`${t}-anthropic`,provider:t}:t===`bedrock-camp`&&(o={...o,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(o={...o,baseUrl:n}),o}catch(i){if(Q.debug(`resolveModelById: pi-ai lookup miss, using provider fallback`,{providerId:t,modelId:e,error:i instanceof Error?i.message:String(i)}),r.isOAuth){let r=mh(t).find(t=>t.id===e);return r?n?{...r,baseUrl:n}:r:tg(t,e,n)}return ig()}}function ig(){let e=Uh(),t=Bh(),n=Lh(e),r=mh(e),i=fh(e),a=i.defaultModelId?r.find(e=>e.id.toLowerCase().includes(i.defaultModelId.toLowerCase()))?.id:void 0,o=t||a||r[0]?.id||`claude-sonnet-4-6`;try{let t=ng(e,i),a=Zm(t,o);if(!a?.id)throw Error(`Model ${o} not found in ${t} registry`);let s=a;return i.isOAuth?s=r.find(e=>e.id===o)||{...s,api:`${e}-anthropic`,provider:e}:e===`bedrock-camp`&&(s={...s,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(s={...s,baseUrl:n}),s}catch(t){Q.debug(`resolveCurrentModel: pi-ai lookup miss, using provider fallback`,{providerId:e,effectiveModelId:o,error:t instanceof Error?t.message:String(t)});let a=r.find(e=>e.id===o);return a?n?{...a,baseUrl:n}:a:i.isOAuth?tg(e,o,n):Zm(`anthropic`,`claude-sonnet-4-0`)}}function ag(e){let t=e.toLowerCase();if(!t)return null;let n=null,r=-1;for(let e of $())for(let i of mh(e.providerId)){let e=i.id.toLowerCase(),a=(i.name??``).toLowerCase();if(!e.includes(t)&&!a.includes(t))continue;let o=i.contextWindow??0;(o>r||o===r&&og(i.id,n??``)>0)&&(r=o,n=i.id)}return n}function og(e,t){let n=e.match(/\d+/g)?.map(Number)??[],r=t.match(/\d+/g)?.map(Number)??[],i=Math.max(n.length,r.length);for(let e=0;e<i;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t}return 0}export{nc as $,Ye as $t,Mh as A,w as An,bn as At,Xh as B,$t as Bt,fh as C,y as Cn,rr as Ct,Uh as D,Fe as Dn,En as Dt,Bh as E,Pe as En,Dn as Et,ig as F,A as Ft,Jm as G,Rt as Gt,wh as H,qt as Ht,rg as I,dn as It,jm as J,yt as Jt,Im as K,At as Kt,ag as L,on as Lt,Nh as M,Se as Mn,N as Mt,uh as N,se as Nn,M as Nt,yh as O,Je as On,P as Ot,Ah as P,oe as Pn,j as Pt,ad as Q,Xe as Qt,Ph as R,an as Rt,hh as S,Me as Sn,ir as St,Fh as T,b as Tn,er as Tt,Vh as U,Wt as Ut,Ch as V,Xt as Vt,Wh as W,Gt as Wt,lf as X,ct as Xt,_m as Y,lt as Yt,rf as Z,at as Zt,lh as _,Le as _n,gr as _t,_h as a,Te as an,Wi as at,Rh as b,Be as bn,lr as bt,Zh as c,De as cn,Ur as ct,$ as d,Oe as dn,wr as dt,Ke as en,oo as et,xh as f,ze as fn,Sr as ft,zh as g,Re as gn,hr as gt,Ih as h,Ae as hn,mr as ht,Oh as i,we as in,Hi as it,oh as j,Ze as jn,_n as jt,jh as k,He as kn,Cn as kt,Gh as l,tt as ln,Er as lt,Kh as m,ke as mn,R as mt,ch as n,C as nn,Xi as nt,$h as o,Ee as on,z as ot,Th as p,Ie as pn,yr as pt,Nm as q,Ct as qt,Xm as r,Ce as rn,Gi as rt,Jh as s,Ve as sn,Xr as st,$m as t,qe as tn,Zi as tt,Qh as u,x as un,Tr as ut,Yh as v,We as vn,_r as vt,mh as w,Ne as wn,tr as wt,Sh as x,je as xn,sr as xt,Lh as y,Ge as yn,L as yt,qh as z,nn as zt};
101
+ Keep each section concise. Preserve exact file paths, function names, and error messages. Output ONLY the summary, with no preamble or follow-up.`,c,e.headers,o),u={role:`user`,content:[{type:`text`,text:`<context-summary>\n${l}\n</context-summary>`}],timestamp:Date.now()};return hm.info(`LLM summarization successful`,{originalMessages:a,compactedMessages:1+r.length,summaryLength:l.length}),await km(e,t,s,o),Em(e,`idle`),[u,...r]}catch(e){return hm.warn(`LLM summarization failed, falling back to naive drop`,{error:e instanceof Error?e.message:String(e)}),null}}function jm(e){let t=e.contextWindow??2e5,n=e.reserveTokens??dm.reserveTokens,r=e.keepRecentTokens??dm.keepRecentTokens,i=e.hopelessMultiplier??4,a={enabled:!0,reserveTokens:n,keepRecentTokens:r};return async(o,s)=>{if(o.length===0)return o;let c=Tm(o);if(!fm(c,t,a))return o;let l=Dm(o,c,t,n,i,a);if(l.earlyReturn)return l.earlyReturn;let u=l.messages,d=l.isHopeless;hm.info(`Context compaction triggered`,{totalTokens:c,contextWindow:t,threshold:t-n,messageCount:u.length});let f=Om(u,r);if(!f)return u;let{messagesToSummarize:p,messagesToKeep:m}=f;hm.info(`Compaction cut point`,{summarizing:p.length,keeping:m.length});let h=d?void 0:e.getApiKey();if(h){let t=await Am(e,h,p,m,n,o.length,s);if(t)return t}else d||hm.warn(`No API key available for LLM summarization, falling back to naive drop`);Em(e,`idle`);let g={role:`user`,content:[{type:`text`,text:`[Earlier conversation messages were compacted to save context space]`}],timestamp:Date.now()};return hm.info(`Naive compaction applied`,{originalMessages:o.length,compactedMessages:1+m.length}),[g,...m]}}const Mm=m({portName:`secrets.crud`,panelRpcOp:`secrets-bridge`,timeoutMs:1e4,onUnavailable:`resolve-undefined`,makeError:e=>Error(e),logNamespace:`secrets-bridge`,toPortMessage:({type:e,payload:t})=>({type:e,...t}),toPanelRpcPayload:({type:e,payload:t})=>({type:e,payload:t})});function Nm(e,t){return Mm({type:e,payload:t})}const Pm=n(`secret-scrub`),Fm=async e=>e;function Im(){let e=oe();return e===`extension-direct`?async e=>{if(!e)return e;try{let t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.scrub-tool-result`,text:e},e=>t(e??{}))});return t.error?(Pm.debug(`SW scrub-tool-result returned error`,{error:t.error}),e):typeof t.text==`string`?t.text:e}catch(t){return Pm.debug(`SW scrub-tool-result failed`,{error:t instanceof Error?t.message:String(t)}),e}}:e===`extension-delegate`?async e=>{if(!e)return e;try{let t=await Nm(`secrets.scrub-tool-result`,{text:e});return t?.error?(Pm.debug(`Bridge scrub-tool-result returned error`,{error:t.error}),e):typeof t?.text==`string`?t.text:e}catch(t){return Pm.debug(`Bridge scrub-tool-result failed`,{error:t instanceof Error?t.message:String(t)}),e}}:e===`connect`?Fm:async e=>{if(!e)return e;try{let t=await fetch(l(`/api/secrets/scrub`),{method:`POST`,headers:u({"content-type":`application/json`}),body:JSON.stringify({text:e})});if(!t.ok)return Pm.debug(`Server scrub-tool-result returned non-ok`,{status:t.status}),e;let n=await t.json();return typeof n.text==`string`?n.text:e}catch(t){return Pm.debug(`Server scrub-tool-result failed`,{error:t instanceof Error?t.message:String(t)}),e}}}const Lm=n(`image-processor`),Rm=3932160,zm=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function Bm(e){return zm.has(e)}function Vm(e,t){try{if(t===`image/png`){if(e.length<32)return null;let t=atob(e.slice(0,32)),n=t.charCodeAt(16)<<24|t.charCodeAt(17)<<16|t.charCodeAt(18)<<8|t.charCodeAt(19),r=t.charCodeAt(20)<<24|t.charCodeAt(21)<<16|t.charCodeAt(22)<<8|t.charCodeAt(23);return n>0&&r>0?{width:n,height:r}:null}if(t===`image/gif`){if(e.length<16)return null;let t=atob(e.slice(0,16)),n=t.charCodeAt(6)|t.charCodeAt(7)<<8,r=t.charCodeAt(8)|t.charCodeAt(9)<<8;return n>0&&r>0?{width:n,height:r}:null}if(t===`image/jpeg`){let t=Math.min(21846*4,e.length),n=atob(e.slice(0,t));for(let e=0;e<n.length-8;e++)if(n.charCodeAt(e)===255){let t=n.charCodeAt(e+1);if(t===192||t===194){let t=n.charCodeAt(e+5)<<8|n.charCodeAt(e+6),r=n.charCodeAt(e+7)<<8|n.charCodeAt(e+8);return r>0&&t>0?{width:r,height:t}:null}}}}catch{}return null}async function Hm(e){if(!Bm(e.mimeType))return Lm.warn(`Unsupported image format`,{mimeType:e.mimeType}),{type:`text`,text:`[Image removed: unsupported format "${e.mimeType}". Supported: JPEG, PNG, GIF, WebP]`};let t=e.data.length,n=Vm(e.data,e.mimeType);if(!(t>5242880||n!==null&&(n.width>8e3||n.height>8e3)||n!==null&&Math.max(n.width,n.height)>1568))return e;Lm.info(`Image needs processing`,{base64Size:t,dimensions:n?`${n.width}x${n.height}`:`unknown`,reason:t>5242880?`size`:`dimensions`});let r,i;try{let e=await import(`./magick-wasm-Daq1kpb4.js`).then(e=>e.n);r=e.getMagick,i=e.MIME_TO_MAGICK_FORMAT}catch(e){return Lm.error(`ImageMagick WASM module unavailable`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (ImageMagick WASM could not be loaded)]`}}let a;try{a=await r()}catch(e){return Lm.error(`ImageMagick WASM initialization failed`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (WASM init failed)]`}}try{let n=atob(e.data),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);let o={data:null,mime:e.mimeType};if(await a.ImageMagick.read(r,async t=>{let n=t.width,r=t.height,a=Math.max(n,r);if(a>1568){let e=1568/a,i=Math.round(n*e),o=Math.round(r*e);t.resize(i,o),Lm.info(`Resized image`,{from:`${n}x${r}`,to:`${i}x${o}`})}let s=i[e.mimeType]||`JPEG`;t.write(s,e=>{o.data=new Uint8Array(e)}),o.data&&o.data.length>Rm&&s!==`JPEG`?(Lm.info(`Still over 5MB, compressing to JPEG q80`),t.quality=80,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}),o.mime=`image/jpeg`):o.data&&o.data.length>Rm&&(Lm.info(`Still over 5MB as JPEG, reducing quality to 60`),t.quality=60,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}))}),!o.data)return Lm.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(o.data.length>Rm)return Lm.warn(`Image still over 5MB after resize+compress`,{size:o.data.length}),{type:`text`,text:`[Image removed: still ${Math.round(o.data.length/1024/1024*10)/10}MB after resize and compression, exceeds 5MB API limit]`};let s=``;for(let e=0;e<o.data.length;e++)s+=String.fromCharCode(o.data[e]);let c=btoa(s);return Lm.info(`Image processed successfully`,{originalBase64:t,newBase64:c.length,mimeType:o.mime}),{type:`image`,data:c,mimeType:o.mime}}catch(n){return Lm.error(`Image data processing failed (corrupt or unreadable)`,{mimeType:e.mimeType,estimatedBytes:t,error:n instanceof Error?n.message:String(n)}),{type:`text`,text:`[Image removed: image data could not be processed (${n instanceof Error?n.message:`corrupt or unreadable`})]`}}}const Um=n(`tool-adapter`),Wm=/<img:(data:(image\/[^;]+);base64,([^>]+))>/g;function Gm(e){let t=[],n=0;for(let r of e.matchAll(Wm)){let i=e.slice(n,r.index);i.trim()&&t.push({type:`text`,text:i.trimEnd()}),t.push({type:`image`,mimeType:r[2],data:r[3]}),n=r.index+r[0].length}let r=e.slice(n);return(r.trim()||t.length===0)&&t.push({type:`text`,text:r||e}),t}async function Km(e){let t=Gm(e),n=[];for(let e of t)e.type===`image`?n.push(await Hm(e)):n.push(e);return n}function qm(e,t,n){return{name:e.name,label:e.name,description:e.description,parameters:e.inputSchema,async execute(r,i,a,o){let s;o&&(s=f({onUpdate:o,toolName:e.name,toolCallId:r}));let c=t?t.processManager.spawn({kind:`tool`,argv:[e.name,...Ym(i)],owner:t.owner,ppid:t.getParentPid?.()}):null,l=null;c&&t&&a&&(a.aborted?t.processManager.signal(c.pid,`SIGINT`):a.addEventListener(`abort`,()=>t.processManager.signal(c.pid,`SIGINT`),{once:!0})),c&&t&&(l=t.processManager.onSignal((e,n)=>{e.pid!==c.pid||n!==`SIGKILL`||t.processManager.exit(c.pid,null)}));let u=c?c.abort.signal:a;try{let r=await e.execute(i??{},u),a=r.content;if(n&&typeof a==`string`&&a.length>0)try{a=await n.scrubToolResult(a)}catch(t){Um.warn(`Tool-result scrub failed, falling back to unscrubbed content`,{tool:e.name,error:t instanceof Error?t.message:String(t)}),a=r.content}let o;try{o=await Km(a)}catch(t){Um.warn(`Image processing failed, falling back to raw content`,{tool:e.name,error:t instanceof Error?t.message:String(t)}),o=Gm(a)}return c&&t&&t.processManager.exit(c.pid,+!!r.isError),{content:o,details:{isError:r.isError}}}catch(e){throw c&&t&&t.processManager.exit(c.pid,c.abort.signal.aborted?null:1),e}finally{s&&p(s),l?.()}}}}function Jm(e,t,n){return e.map(e=>qm(e,t,n))}function Ym(e){if(typeof e!=`object`||!e)return[];let t=e;for(let e of[`command`,`file_path`,`path`,`pattern`,`url`,`key`,`name`,`query`,`message`]){let n=t[e];if(typeof n==`string`&&n.length>0)return[n]}for(let e of Object.values(t))if(typeof e==`string`&&e.length>0)return[e];return[]}var Xm=e({ACCOUNTS_KEY:()=>$m,__test__:()=>ch,addAccount:()=>Oh,applyProviderDefaults:()=>_h,clearAllSettings:()=>$h,clearApiKey:()=>Jh,clearBaseUrl:()=>Zh,clearSelectedProvider:()=>Gh,exportProviders:()=>Qh,getAccounts:()=>$,getAllAvailableModels:()=>xh,getAllExtraOAuthDomains:()=>Th,getApiKey:()=>Kh,getApiKeyForProvider:()=>Ih,getApiVersionForProvider:()=>zh,getAvailableProviders:()=>lh,getBaseUrl:()=>Yh,getBaseUrlForProvider:()=>Lh,getDeploymentForProvider:()=>Rh,getExtraOAuthDomains:()=>Sh,getOAuthAccountInfo:()=>hh,getProviderConfig:()=>fh,getProviderModels:()=>mh,getRawApiKeyForProvider:()=>Fh,getSelectedModelId:()=>Bh,getSelectedProvider:()=>Uh,isModelHiddenFromPicker:()=>yh,logoutOAuthAccount:()=>jh,maskOAuthTokenWithRetry:()=>Mh,migrateLegacyAuthOnlySelection:()=>oh,persistOAuthMaskViaServiceWorker:()=>Nh,providerOffersLlmModels:()=>uh,removeAccount:()=>Ah,resolveCurrentModel:()=>ig,resolveModelById:()=>rg,resolveModelByShorthand:()=>ag,saveOAuthAccount:()=>Ph,setApiKey:()=>qh,setBaseUrl:()=>Xh,setExtraOAuthDomains:()=>Ch,setExtraOAuthDomainsAsync:()=>wh,setSelectedModelId:()=>Vh,setSelectedProvider:()=>Wh});const Zm=ne,Qm=h,$m=`slicc_accounts`,eh=`selected-model`,th=[`slicc_provider`,`slicc_api_key`,`slicc_base_url`,`anthropic_api_key`,`api_provider`,`azure_resource`,`bedrock_region`],nh=new Set([`github`]);function rh(e){let t;try{t=g()}catch{return!1}return t.includes(e)&&!o(e)}let ih=!1;function ah(){if(!ih){ih=!0;for(let e of th)try{localStorage.removeItem(e)}catch{}oh()}}function oh(){try{let e=localStorage.getItem(eh);if(e){let t=e.indexOf(`:`);if(t>0){let n=e.slice(0,t);(nh.has(n)||rh(n))&&localStorage.removeItem(eh)}}}catch{}try{let e=localStorage.getItem($m);if(!e)return;let t=JSON.parse(e);if(!Array.isArray(t))return;let n=t.filter(e=>!(typeof e==`object`&&e&&typeof e.providerId==`string`&&rh(e.providerId)));n.length!==t.length&&localStorage.setItem($m,JSON.stringify(n))}catch{}}function sh(){ih=!1}const ch={_resetLegacyCleanup:sh};function lh(){let e=g().filter(o),t=a();return[...new Set([...e,...t])].filter(e=>!s(e)?.hidden)}function uh(e){try{if(mh(e).length>0)return!0}catch{}try{if(h(e).length>0)return!0}catch{}let t=s(e);return!!(t?.modelOverrides&&Object.keys(t.modelOverrides).length>0)}function dh(e,t){try{if(mh(e).some(e=>e.id===t))return!0}catch{}try{if(h(e).some(e=>e.id===t))return!0}catch{}let n=s(e);return!!(n?.modelOverrides&&Object.hasOwn(n.modelOverrides,t))}function fh(e){return s(e)||{id:e,name:e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),description:`${e} provider`,requiresApiKey:!0,requiresBaseUrl:!1}}function ph(e,t){t.context_window!==void 0&&(e.contextWindow=t.context_window),t.max_tokens!==void 0&&(e.maxTokens=t.max_tokens),t.reasoning!==void 0&&(e.reasoning=t.reasoning),t.input!==void 0&&(e.input=t.input),t.compat!==void 0&&(e.compat={...e.compat??{},...t.compat}),t.thinkingLevelMap!==void 0&&(e.thinkingLevelMap={...e.thinkingLevelMap??{},...t.thinkingLevelMap})}function mh(e){try{if(e===`bedrock-camp`){let e=te(Lh(`bedrock-camp`));return Qm(`amazon-bedrock`).filter(t=>_(t,e)).map(e=>({...e,api:`bedrock-camp-converse`,provider:`bedrock-camp`}))}let t=fh(e);if(t.getModelIds){let n;try{n=t.getModelIds()}catch(t){return Q.error(`Provider getModelIds callback failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}let r=new Map;for(let e of g())try{for(let t of Qm(e))r.set(t.id,t)}catch{}return n.map(n=>{let i=`${e}-${n.api===`openai`?`openai`:`anthropic`}`,a=r.get(n.id),o;a?o={...a,api:i,provider:e}:(o=tg(e,n.id,``,i),n.name&&(o.name=n.name));let s=t.modelOverrides?.[n.id];return s&&ph(o,s),ph(o,n),o})}if(t.isOAuth){let n=Qm(`anthropic`),r=`${e}-anthropic`;return n.map(n=>{let i={...n,api:r,provider:e},a=t.modelOverrides?.[n.id];return a&&ph(i,a),i})}return Qm(e===`azure-ai-foundry`?`anthropic`:e)}catch(t){return Q.error(`Failed to load models`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}}function hh(e){let t=$().find(t=>t.providerId===e);if(!t?.accessToken)return null;let n=!!t.tokenExpiresAt&&Date.now()>t.tokenExpiresAt-6e4;return{token:t.accessToken,maskedValue:t.maskedValue,expiresAt:t.tokenExpiresAt,userName:t.userName,userAvatar:t.userAvatar,expired:n}}const gh=Object.assign({})[`/packages/webapp/providers.json`]??[],Q=n(`provider-settings`);function _h(e=gh){if(e.length===0||$().length>0)return;let t=new Set(lh());for(let n of e)if(!(!n.providerId||!n.apiKey)){if(!t.has(n.providerId)){Q.warn(`Unknown provider "${n.providerId}" in providers.json — skipping`);continue}Oh(n.providerId,n.apiKey,n.baseUrl)}let n=e.find(e=>e.providerId&&e.apiKey&&t.has(e.providerId));n?.model&&!localStorage.getItem(eh)&&localStorage.setItem(eh,`${n.providerId}:${n.model}`)}const vh=[/haiku/i];function yh(e){return vh.some(t=>t.test(e))}function bh(e){return e.filter(e=>!yh(e.id))}function xh(){let e=$();if(e.length===0)return[];let t=new Map;for(let n of e){if(t.has(n.providerId))continue;let e=fh(n.providerId);if(e.hidden||rh(n.providerId))continue;let r=bh(mh(n.providerId));if(r.length===0)continue;let i={providerId:n.providerId,providerName:e.name,models:r};t.set(n.providerId,i)}return[...t.values()]}function $(){ah();let e=localStorage.getItem($m);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.providerId==`string`&&typeof e.apiKey==`string`):[]}catch{return[]}}function Sh(e){return ie(localStorage)[e]??[]}function Ch(e,t){let n=ie(localStorage),r=t.map(e=>e.trim()).filter(e=>e.length>0);r.length===0?delete n[e]:n[e]=r,ae(localStorage,n)}async function wh(e,t){if(i()){Ch(e,t);return}let n=r();if(!n)throw Error(`setExtraOAuthDomainsAsync: no DOM and no panel-rpc client — cannot persist to page localStorage`);let{storeAfter:a}=await n.call(`oauth-extras-set`,{providerId:e,domains:t});try{ae(localStorage,a)}catch(t){Q.warn(`worker-shim mirror failed after successful page write — reload to refresh`,{providerId:e,error:t instanceof Error?t.message:String(t)})}}function Th(){return ie(localStorage)}function Eh(e){localStorage.setItem($m,JSON.stringify(e))}async function Dh(e){if(i()){Eh(e);return}let t=r();if(!t)throw Error(`saveAccountsAsync: no DOM and no panel-rpc client — cannot persist to page localStorage`);let n=JSON.stringify(e),{storedJson:a}=await t.call(`save-oauth-accounts`,{accountsJson:n});try{localStorage.setItem($m,a)}catch(e){Q.warn(`worker-shim mirror failed after successful page write — reload to refresh`,{error:e instanceof Error?e.message:String(e)})}}function Oh(e,t,n,r,i){let a=$().filter(t=>t.providerId!==e),o={providerId:e,apiKey:t};n&&(o.baseUrl=n),r&&(o.deployment=r),i&&(o.apiVersion=i),a.push(o),Eh(a)}async function kh(e){let t=oe();try{if(t===`extension-direct`){let t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.delete`,name:`oauth.${e}.token`},n=>{chrome.runtime.lastError&&Q.error(`SW secrets.delete transport failed`,{providerId:e,error:chrome.runtime.lastError.message}),t(n??{})})});t.error&&Q.error(`SW secrets.delete returned error`,{providerId:e,error:t.error})}else if(t===`extension-delegate`){let t=await Nm(`secrets.delete`,{name:`oauth.${e}.token`});t?.error&&Q.error(`Bridge secrets.delete returned error`,{providerId:e,error:t.error})}else if(t!==`connect`){let t=await fetch(l(`/api/secrets/oauth/${e}`),{method:`DELETE`,headers:u()});!t.ok&&t.status!==404&&Q.warn(`OAuth replica DELETE non-ok`,{providerId:e,status:t.status})}}catch(n){Q.error(`OAuth replica removal failed`,{providerId:e,topology:t,error:n instanceof Error?n.message:String(n)})}}async function Ah(e){let t=$().find(t=>t.providerId===e),n=fh(e);t&&n?.isOAuth&&await jh(e),await kh(e),await Dh($().filter(t=>t.providerId!==e));let r=localStorage.getItem(eh)??``,i=r.indexOf(`:`);i>0&&r.slice(0,i)===e&&localStorage.removeItem(eh)}async function jh(e){let t=$().find(t=>t.providerId===e);if(!t)return;let n=fh(e);if(n?.isOAuth){if(n.onOAuthLogout)try{await n.onOAuthLogout()}catch(t){Q.warn(`onOAuthLogout failed`,{providerId:e,error:t instanceof Error?t.message:String(t)})}if(n.getOAuthLogoutUrl){let r=n.getOAuthLogoutUrl(t);if(r){let{openIdpLogoutUrl:t}=await import(`./oauth-service-BuEH8BXq.js`);await t(r).catch(t=>{Q.warn(`IdP logout popup failed`,{providerId:e,error:t instanceof Error?t.message:String(t)})})}}await Dh($().map(t=>t.providerId===e?{providerId:t.providerId,apiKey:``,baseUrl:t.baseUrl,userName:t.userName,userAvatar:t.userAvatar,loggedOut:!0}:t)),await kh(e)}}async function Mh(e,t={}){let n=Math.max(1,t.attempts??3),r=t.delayMs??150,i=t.sleep??(e=>new Promise(t=>setTimeout(t,e))),a;for(let t=0;t<n;t++){let o=await e();if(o.maskedValue)return{maskedValue:o.maskedValue};o.error&&(a=o.error),t<n-1&&await i(r)}return{lastError:a}}async function Nh(e,t,n){let r={providerId:e.providerId,accessToken:e.accessToken,domains:e.domains.join(`,`)},{maskedValue:i,lastError:a}=await Mh(()=>t.sendMaskRequest(r),n);if(!i){Q.error(`OAuth mask give-up: no masked value after retries`,{providerId:e.providerId,reason:a??`no error reported (cold SW or empty reply)`});return}let o=t.getAccounts(),s=o.find(t=>t.providerId===e.providerId);s&&(s.maskedValue=i,await t.saveAccounts(o))}async function Ph(e){let t=$().find(t=>t.providerId===e.providerId),n=$().filter(t=>t.providerId!==e.providerId);n.push({providerId:e.providerId,apiKey:``,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenExpiresAt:e.tokenExpiresAt,userName:e.userName,userAvatar:e.userAvatar,baseUrl:e.baseUrl??t?.baseUrl}),await Dh(n);let r=fh(e.providerId)?.oauthTokenDomains??[],i=Sh(e.providerId),a=new Set,o=[];for(let e of[...r,...i]){let t=e.toLowerCase();a.has(t)||(a.add(t),o.push(e))}if(o.length===0)return;let s=oe();try{if(s===`extension-direct`)await Nh({providerId:e.providerId,accessToken:e.accessToken,domains:o},{sendMaskRequest:t=>new Promise(n=>{chrome.runtime.sendMessage({type:`secrets.mask-oauth-token`,...t},t=>{chrome.runtime.lastError&&Q.error(`SW mask-oauth-token transport failed`,{providerId:e.providerId,error:chrome.runtime.lastError.message});let r=typeof t==`object`&&t?t:void 0;r?.error&&Q.warn(`SW mask-oauth-token returned error`,{providerId:e.providerId,error:r.error}),n(r??{})})}),getAccounts:$,saveAccounts:Dh});else if(s===`extension-delegate`)await Nh({providerId:e.providerId,accessToken:e.accessToken,domains:o},{sendMaskRequest:t=>Nm(`secrets.mask-oauth-token`,t).then(t=>(t?.error&&Q.warn(`Bridge mask-oauth-token returned error`,{providerId:e.providerId,error:t.error}),t??{})).catch(t=>(Q.error(`Bridge mask-oauth-token transport failed`,{providerId:e.providerId,error:t instanceof Error?t.message:String(t)}),{})),getAccounts:$,saveAccounts:Dh});else if(s!==`connect`){let t=await fetch(l(`/api/secrets/oauth-update`),{method:`POST`,headers:u({"Content-Type":`application/json`}),body:JSON.stringify({providerId:e.providerId,accessToken:e.accessToken,domains:o})});if(t.ok){let n=await t.json();if(typeof n.maskedValue==`string`){let t=$(),r=t.find(t=>t.providerId===e.providerId);r&&(r.maskedValue=n.maskedValue,await Dh(t))}else Q.warn(`OAuth replica POST ok but missing maskedValue`,{providerId:e.providerId})}else Q.warn(`OAuth replica POST non-ok`,{providerId:e.providerId,status:t.status})}}catch(t){Q.error(`OAuth replica sync failed`,{providerId:e.providerId,topology:s,error:t instanceof Error?t.message:String(t)})}}function Fh(e){let t=$().find(t=>t.providerId===e);return t&&(t.accessToken||t.apiKey)||null}function Ih(e){let t=$().find(t=>t.providerId===e);return t?t.accessToken||t.apiKey||(fh(e).optionalApiKey?`local`:null):null}function Lh(e){return $().find(t=>t.providerId===e)?.baseUrl??null}function Rh(e){return $().find(t=>t.providerId===e)?.deployment??null}function zh(e){return $().find(t=>t.providerId===e)?.apiVersion??null}function Bh(){let e=localStorage.getItem(eh)||``,t=e.indexOf(`:`);return t>=0?e.slice(t+1):e}function Vh(e){let t=e.indexOf(`:`);if(t>0){let n=e.slice(0,t),r=new Set([...a(),...lh()]),i=n.includes(`.`);if(r.has(n)||!i){localStorage.setItem(eh,e);return}}let n=Uh();localStorage.setItem(eh,`${n}:${e}`)}function Hh(){return localStorage.getItem(eh)||``}function Uh(){let e=Hh(),t=e.indexOf(`:`);if(t>0)return e.slice(0,t);let n=$(),r=Bh();if(r){let e=n.find(e=>uh(e.providerId)&&dh(e.providerId,r));if(e)return e.providerId}let i=n.find(e=>uh(e.providerId));return i?i.providerId:n.length>0?n[0].providerId:`anthropic`}function Wh(e){let t=Bh();localStorage.setItem(eh,`${e}:${t}`)}function Gh(){let e=Bh();localStorage.setItem(eh,e)}function Kh(){return Ih(Uh())}function qh(e){let t=Uh();Oh(t,e,Lh(t)??void 0)}async function Jh(){await Ah(Uh())}function Yh(){return Lh(Uh())}function Xh(e){let t=Uh(),n=Fh(t);n&&Oh(t,n,e||void 0)}function Zh(){let e=Uh(),t=Fh(e);t&&Oh(e,t)}function Qh(){let e=$(),t=Uh(),n=Bh();return e.map(e=>{let r={providerId:e.providerId,apiKey:e.apiKey};return e.baseUrl&&(r.baseUrl=e.baseUrl),e.providerId===t&&n&&(r.model=n),r})}async function $h(){let e=$();await Promise.allSettled(e.map(e=>Ah(e.providerId))),localStorage.removeItem($m),localStorage.removeItem(eh);for(let e of th)localStorage.removeItem(e)}function eg(e){return/^(?:gpt[-.]?|o[0-9]|chatgpt)/i.test(e)?`openai`:`anthropic`}function tg(e,t,n,r){return{id:t,name:t,provider:e,api:r??`${e}-${eg(t)}`,baseUrl:n??``,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},reasoning:!0}}function ng(e,t){return t.isOAuth||e===`azure-ai-foundry`?`anthropic`:e===`bedrock-camp`?`amazon-bedrock`:e}function rg(e){if(!e)return ig();let t=Uh(),n=Lh(t),r=fh(t);try{let i=ng(t,r),a=Zm(i,e);if(!a?.id)throw Error(`Model ${e} not found`);let o=a;return r.isOAuth?o=mh(t).find(t=>t.id===e)||{...o,api:`${t}-anthropic`,provider:t}:t===`bedrock-camp`&&(o={...o,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(o={...o,baseUrl:n}),o}catch(i){if(Q.debug(`resolveModelById: pi-ai lookup miss, using provider fallback`,{providerId:t,modelId:e,error:i instanceof Error?i.message:String(i)}),r.isOAuth){let r=mh(t).find(t=>t.id===e);return r?n?{...r,baseUrl:n}:r:tg(t,e,n)}return ig()}}function ig(){let e=Uh(),t=Bh(),n=Lh(e),r=mh(e),i=fh(e),a=i.defaultModelId?r.find(e=>e.id.toLowerCase().includes(i.defaultModelId.toLowerCase()))?.id:void 0,o=t||a||r[0]?.id||`claude-sonnet-4-6`;try{let t=ng(e,i),a=Zm(t,o);if(!a?.id)throw Error(`Model ${o} not found in ${t} registry`);let s=a;return i.isOAuth?s=r.find(e=>e.id===o)||{...s,api:`${e}-anthropic`,provider:e}:e===`bedrock-camp`&&(s={...s,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(s={...s,baseUrl:n}),s}catch(t){Q.debug(`resolveCurrentModel: pi-ai lookup miss, using provider fallback`,{providerId:e,effectiveModelId:o,error:t instanceof Error?t.message:String(t)});let a=r.find(e=>e.id===o);return a?n?{...a,baseUrl:n}:a:i.isOAuth?tg(e,o,n):Zm(`anthropic`,`claude-sonnet-4-0`)}}function ag(e){let t=e.toLowerCase();if(!t)return null;let n=null,r=-1;for(let e of $())for(let i of mh(e.providerId)){let e=i.id.toLowerCase(),a=(i.name??``).toLowerCase();if(!e.includes(t)&&!a.includes(t))continue;let o=i.contextWindow??0;(o>r||o===r&&og(i.id,n??``)>0)&&(r=o,n=i.id)}return n}function og(e,t){let n=e.match(/\d+/g)?.map(Number)??[],r=t.match(/\d+/g)?.map(Number)??[],i=Math.max(n.length,r.length);for(let e=0;e<i;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t}return 0}export{nc as $,Ye as $t,Mh as A,w as An,bn as At,Xh as B,$t as Bt,fh as C,y as Cn,rr as Ct,Uh as D,Fe as Dn,En as Dt,Bh as E,Pe as En,Dn as Et,ig as F,A as Ft,Jm as G,Rt as Gt,wh as H,qt as Ht,rg as I,dn as It,jm as J,yt as Jt,Im as K,At as Kt,ag as L,on as Lt,Nh as M,Se as Mn,N as Mt,uh as N,se as Nn,M as Nt,yh as O,Je as On,P as Ot,Ah as P,oe as Pn,j as Pt,ad as Q,Xe as Qt,Ph as R,an as Rt,hh as S,Me as Sn,ir as St,Fh as T,b as Tn,er as Tt,Vh as U,Wt as Ut,Ch as V,Xt as Vt,Wh as W,Gt as Wt,lf as X,ct as Xt,_m as Y,lt as Yt,rf as Z,at as Zt,lh as _,Le as _n,gr as _t,_h as a,Te as an,Wi as at,Rh as b,Be as bn,lr as bt,Zh as c,De as cn,Ur as ct,$ as d,Oe as dn,wr as dt,Ke as en,oo as et,xh as f,ze as fn,Sr as ft,zh as g,Re as gn,hr as gt,Ih as h,Ae as hn,mr as ht,Oh as i,we as in,Hi as it,oh as j,Ze as jn,_n as jt,jh as k,He as kn,Cn as kt,Gh as l,tt as ln,Er as lt,Kh as m,ke as mn,R as mt,ch as n,C as nn,Xi as nt,$h as o,Ee as on,z as ot,Th as p,Ie as pn,yr as pt,Nm as q,Ct as qt,Xm as r,Ce as rn,Gi as rt,Jh as s,Ve as sn,Xr as st,$m as t,qe as tn,Zi as tt,Qh as u,x as un,Tr as ut,Yh as v,We as vn,_r as vt,mh as w,Ne as wn,tr as wt,Sh as x,je as xn,sr as xt,Lh as y,Ge as yn,L as yt,qh as z,nn as zt};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-lE9AyywH.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-D5h5REZy.js","assets/rolldown-runtime-aKtaBQYM.js","assets/base64-DpPqYZJF.js","assets/src-CS5gSDhT.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DmJSNs0I.js","assets/wc-permissions-registry-Blyunq37.js"])))=>i.map(i=>d[i]);
2
- import{R as e,d as t,y as n}from"./account-store-DwSzwLW8.js";import{n as r}from"./event-stream-qbAZIAKV.js";import{t as i}from"./preload-helper-Czpn1I53.js";import{a,i as o,r as s}from"./compat-aVSWLlYQ.js";import{a as c,r as l,s as u,t as d}from"./legacy-api-aliases-IllWZ-uu.js";import{t as f}from"./panel-rpc-DmJSNs0I.js";import{a as p,c as m,i as h,o as g,s as _}from"./bedrock-camp-CVignIdH.js";import"./provider-settings-D6FC6-Ws.js";import{n as v,t as ee}from"./silent-renew-backoff-Dzkpjjro.js";import{getOAuthPageOrigin as te}from"./oauth-service-lE9AyywH.js";import{t as ne}from"./llm-session-id-bZQs6gBN.js";var re={proxyEndpoint:`https://adobe-llm-proxy.paolo-moz.workers.dev`,redirectUri:`https://www.sliccy.ai/auth/callback`,extensionRedirectUri:`https://akjjllgokmbgpbdbmafpiefnhidlmbgf.chromiumapp.org/adobe`};function y(e,t){return p(e,t)}function b(e,t,n){return e!==`xhigh`||!t?e:_(t,n)?`xhigh`:g(t,n)?`max`:`high`}function ie(e,t){let n=e?t?.thinkingLevelMap?.[e]:void 0;return b((()=>{if(typeof n==`string`)return n;switch(e){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`xhigh`:return`xhigh`;default:return`high`}})(),t?.id,t?.name)}function ae(e,t){return async(n,r)=>{let i=t?await t(n,r)??n:n,a=i.thinking;return a&&a.type===`enabled`&&(i.thinking={type:`adaptive`,...a.display===void 0?{}:{display:a.display}},i.output_config={...i.output_config??{},effort:e}),i}}function x(e,t){if(!y(e.id,e.name))return t;let n=t,r=b(n.effort??ie(n.reasoning,e),e.id,e.name);return{...t,onPayload:ae(r,n.onPayload)}}function oe(e,t){let n={id:e.id,name:e.name??e.id},r=t?.api??e.api,i=t?.context_window??e.context_window,a=t?.max_tokens??e.max_tokens,o=t?.reasoning??e.reasoning,s=t?.input??e.input;r&&(n.api=r),i!==void 0&&(n.context_window=i),a!==void 0&&(n.max_tokens=a),o!==void 0&&(n.reasoning=o),s&&(n.input=s);let c=t?.cost??e.cost;return c&&(n.cost=c),/haiku/i.test(e.id)&&(n.compat={supportsEagerToolInputStreaming:!1}),/sonnet-5\b/i.test(e.id)&&!n.thinkingLevelMap&&(n.thinkingLevelMap={xhigh:`xhigh`}),n}var S=Object.assign({"/packages/webapp/providers/adobe-config.json":re})[`/packages/webapp/providers/adobe-config.json`]??{clientId:``,proxyEndpoint:``,scopes:`openid,profile,email`};function C(){let e=n(`adobe`);if(e)return e.replace(/\/$/,``);if(S.proxyEndpoint)return S.proxyEndpoint.replace(/\/$/,``);throw Error(`Adobe proxy endpoint not configured — set it in Settings or adobe-config.json`)}var w=new Map,T=new Map,E=`slicc-adobe-models`;function D(e){try{localStorage.setItem(E,JSON.stringify(e))}catch{}}async function O(e){let t=w.get(e);if(t)return t;try{let t=await fetch(`${e}/v1/config`,{headers:{[W]:`5.73.4`}});if(t.ok){let n=await t.json();return w.set(e,n),n}console.warn(`[adobe] Proxy /v1/config returned ${t.status}, falling back to build-time config`)}catch(e){console.warn(`[adobe] Failed to fetch proxy config:`,e instanceof Error?e.message:String(e))}return{}}function k(e){let t=e.clientId||S.clientId;if(!t)throw Error(`Could not determine IMS client ID — proxy /v1/config did not return one and adobe-config.json is empty`);return t}function A(e){return e.scopes||S.scopes}function j(e){return e.imsEnvironment||S.imsEnvironment||`prod`}var M={prod:`https://ims-na1.adobelogin.com`,stg1:`https://ims-na1-stg1.adobelogin.com`};function N(e){return M[e??S.imsEnvironment??`prod`]??M.prod}var P=typeof chrome<`u`&&!!chrome?.runtime?.id;function F(){return t().find(e=>e.providerId===`adobe`)}async function se(e,t){try{let n=await fetch(`${N(t)}/ims/userinfo/v2`,{headers:{Authorization:`Bearer ${e}`}});if(n.ok){let e=await n.json();return{name:e.displayName||e.name||e.email,avatar:e.picture||e.avatar_url}}console.warn(`[adobe] User profile fetch returned ${n.status}, account will have no display name`)}catch(e){console.warn(`[adobe] Failed to fetch user profile:`,e instanceof Error?e.message:String(e))}return{}}function I(e){let t=e.indexOf(`#`);if(t<0)return null;let n=new URLSearchParams(e.slice(t+1)),r=n.get(`access_token`);return r?{accessToken:r,expiresIn:parseInt(n.get(`expires_in`)??`86400`,10)}:null}var L={id:`adobe`,name:`Adobe`,description:`Claude via Adobe — login with your Adobe ID`,requiresApiKey:!1,requiresBaseUrl:!S.proxyEndpoint,baseUrlPlaceholder:`https://your-proxy.example.com`,baseUrlDescription:`Anthropic-compatible proxy endpoint`,isOAuth:!0,defaultModelId:`sonnet`,oauthTokenDomains:[`ims-na1.adobelogin.com`,`ims-na1-stg1.adobelogin.com`,`*.adobelogin.com`,`*.adobe.io`,`firefall.adobe.io`,`admin.hlx.page`,`admin.hlx.live`,`admin.aem.page`,`admin.aem.live`],getModelIds:()=>{let e=e=>oe(e,T.get(e.id));for(let t of Q.values())if(t.length){let n=t.map(t=>e({id:t.id,name:t.name??t.id,reasoning:t.reasoning,input:t.input,cost:t.cost}));return D(n),n}for(let t of w.values())if(t.models?.length)return t.models.map(t=>e(t));try{let e=localStorage.getItem(E);if(e){let t=JSON.parse(e);if(t.length)return t}}catch{}return[{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`}]},onOAuthLogin:async(t,n,r)=>{let i=C(),a=await O(i),o=k(a),s=A(a),c=j(a),l=P?null:await te(),u=P?null:v({pageHref:l.href,pageOrigin:l.origin,configuredRedirectUri:S.redirectUri},()=>crypto.randomUUID()),d=P?S.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:u.redirectUri,f=u?.oauthState,p=u?.expectedNonce??null,m=new URLSearchParams({client_id:o,scope:s,response_type:`token`,redirect_uri:d});f&&m.set(`state`,f),r?.forceReauth&&m.set(`prompt`,`login`);let h=await t(`${N(c)}/ims/authorize/v2?${m}`);if(!h)return;if(p&&h)try{if(new URL(h).searchParams.get(`nonce`)!==p){console.error(`[adobe] OAuth nonce mismatch — possible CSRF`);return}}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}let g=I(h);if(!g){console.error(`[adobe] Could not extract token from redirect URL`);return}let _=await se(g.accessToken,c);await e({providerId:`adobe`,accessToken:g.accessToken,tokenExpiresAt:Date.now()+g.expiresIn*1e3,userName:_.name,userAvatar:_.avatar,baseUrl:S.proxyEndpoint?void 0:i}),await $().catch(e=>console.warn(`[adobe] Failed to fetch models after login:`,e instanceof Error?e.message:String(e))),n()},onOAuthLogout:async()=>{let t=F();if(t?.accessToken)try{let e=w.values().next().value??{},n=e.clientId||S.clientId,r=j(e);if(n){let e=await fetch(`${N(r)}/ims/revoke`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:new URLSearchParams({token:t.accessToken,token_type_hint:`access_token`,client_id:n})});e.ok||console.warn(`[adobe] Token revocation returned ${e.status}, token may still be valid server-side`)}}catch(e){console.warn(`[adobe] Failed to revoke token:`,e instanceof Error?e.message:String(e))}await e({providerId:`adobe`,accessToken:``})},onSilentRenew:async()=>F()?.accessToken?B():null,refreshModels:async e=>{await $(e);let t=L.getModelIds?.();t?.length&&D(t)}},R=null,ce=ee();async function z(){let e=F();if(!e?.accessToken)throw Error(`Not logged in to Adobe — please log in first`);if((e.tokenExpiresAt??0)-Date.now()>6e4)return e.accessToken;console.log(`[adobe] Token expired or expiring soon, attempting silent renewal...`);let t=await ce.run(()=>B());if(t)return t;let n=F();if((n?.tokenExpiresAt??0)-Date.now()>0&&n?.accessToken)return n.accessToken;throw Error(`Adobe session expired — please log in again`)}function le(){let e=F();return!e?.tokenExpiresAt||Date.now()>e.tokenExpiresAt-6e4}async function B(){if(typeof window>`u`){let e=f();if(!e)return null;try{let{accessToken:t}=await e.call(`silent-renew`,{providerId:`adobe`},{timeoutMs:13e4});return t}catch(e){return console.warn(`[adobe] worker→page silent-renew bridge failed:`,e instanceof Error?e.message:String(e)),null}}return R||(R=ue().finally(()=>{R=null}),R)}function V(e,t){let n=k(t),r=A(t),i=j(t),a=P?null:v({pageHref:window.location.href,pageOrigin:window.location.origin,configuredRedirectUri:S.redirectUri},()=>crypto.randomUUID()),o=P?S.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:a.redirectUri,s=a?.oauthState,c=a?.expectedNonce??null,l=new URLSearchParams({client_id:n,scope:r,response_type:`token`,redirect_uri:o,prompt:`none`});return s&&l.set(`state`,s),{authorizeUrl:`${N(i)}/ims/authorize/v2?${l}`,expectedNonce:c,proxyEndpoint:e}}function H(e,t){if(!t)return!0;try{if(new URL(e).searchParams.get(`nonce`)!==t)return console.error(`[adobe] OAuth nonce mismatch — possible CSRF`),!1}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}return!0}async function U(t,n){let r=F();await e({providerId:`adobe`,accessToken:t.accessToken,tokenExpiresAt:Date.now()+t.expiresIn*1e3,userName:r?.userName,userAvatar:r?.userAvatar,baseUrl:S.proxyEndpoint?void 0:n})}async function ue(){try{let e=C(),{authorizeUrl:t,expectedNonce:n}=V(e,await O(e)),{createOAuthLauncher:r}=await i(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-lE9AyywH.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),a=await r()(t,{interactive:!1});if(!a||!H(a,n))return null;let o=I(a);return o?(await U(o,e),console.log(`[adobe] Token renewed silently`),await $().catch(e=>console.warn(`[adobe] Failed to refresh models after silent renewal:`,e instanceof Error?e.message:String(e))),o.accessToken):null}catch(e){return console.warn(`[adobe] Silent renewal error:`,e instanceof Error?e.message:String(e)),null}}var W=`X-Slicc-Version`;function G(e){let t={},n=W.toLowerCase();if(e.headers)for(let[r,i]of Object.entries(e.headers))r.toLowerCase()!==n&&(t[r]=i);return t[W]=`5.73.4`,{...e,headers:t}}var de=`adobe-provider-fallback`,K=new Set;function q(e,t){if(e.headers){for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()===`x-session-id`&&n!=null)return e}return K.has(t)||(K.add(t),console.warn(`[adobe] Missing X-Session-Id from ${t} — using daily fallback. Attach an X-Session-Id header at the call site (see scoop-context.ts streamWithSessionId or docs/pitfalls.md).`)),{...e,headers:{...e.headers??{},"X-Session-Id":ne(de)}}}function fe(){K.clear()}function J(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:`adobe-anthropic`,provider:`adobe`,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}var Y=(e,t,n={})=>{let i=r();return(async()=>{try{let r=await z();if(String(e.api).includes(`openai`)){let a=l({...e,baseUrl:`${C()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,G(q({...n,apiKey:r},`streamAdobe[openai]`)));for await(let e of a)i.push(e)}else{let a=d({...e,baseUrl:C(),api:`anthropic-messages`},t,G(q(x(e,h(e.id,e.name,{...n,apiKey:r})),`streamAdobe[anthropic]`)));for await(let e of a)i.push(e)}i.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),i.push(J(e,t)),i.end()}})(),i},X=(e,t,n)=>{let i=r();return(async()=>{try{let r=await z();if(String(e.api).includes(`openai`)){let a=u({...e,baseUrl:`${C()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,G(q({...n,apiKey:r},`streamSimpleAdobe[openai]`)));for await(let e of a)i.push(e)}else{let a=c({...e,baseUrl:C(),api:`anthropic-messages`},t,G(q(x(e,h(e.id,e.name,{...n,apiKey:r})),`streamSimpleAdobe[anthropic]`)));for await(let e of a)i.push(e)}i.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),i.push(J(e,t)),i.end()}})(),i};function pe(e){let t={id:e.id,name:e.name};return e.api!==void 0&&(t.api=e.api),e.context_window!==void 0&&(t.context_window=e.context_window),e.max_tokens!==void 0&&(t.max_tokens=e.max_tokens),e.reasoning!==void 0&&(t.reasoning=e.reasoning),e.input!==void 0&&(t.input=e.input),t}function me(){let e=new Map;for(let t of o())try{for(let n of s(t))e.set(n.id,n)}catch{}return e}function he(e,t){let n={input:0,output:0,cacheRead:0,cacheWrite:0},r=m(e);if(!r)return n;let i;for(let e of t.values()){let t=m(e.id);!t||t.family!==r.family||(!i||t.major>i.major||t.major===i.major&&t.minor>i.minor)&&(i={major:t.major,minor:t.minor,cost:e.cost})}return i?.cost??n}function ge(e,t,n){let r=`adobe-${e.api===`openai`?`openai`:`anthropic`}`,i=n.get(e.id);if(i)return{...i,provider:`adobe`,api:r};let a=he(e.id,n);return{id:e.id,name:e.name??e.id,provider:`adobe`,api:r,baseUrl:t,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:a,inputCost:a.input,outputCost:a.output,cacheReadCost:a.cacheRead,cacheWriteCost:a.cacheWrite,reasoning:!0}}function Z(e,t){for(let t of e)T.set(t.id,pe(t));let n=me();return e.map(e=>ge(e,t,n))}async function _e(e){try{let t=e??await z(),n=C(),r=await fetch(`${n}/v1/models`,{headers:{Authorization:`Bearer ${t}`,[W]:`5.73.4`}});if(!r.ok)console.warn(`[adobe] Proxy /v1/models returned ${r.status}, falling back to Anthropic models`);else{let e=await r.json();if(e.data?.length)return Z(e.data,n)}}catch(e){console.warn(`[adobe] Failed to fetch proxy models:`,e instanceof Error?e.message:String(e))}return null}var Q=new Map;function ve(){return s(`anthropic`).map(e=>({...e,provider:`adobe`,api:`adobe-anthropic`}))}async function $(e){let t=C(),n=Q.get(t);if(n)return n;let r=await _e(e);return r?(Q.set(t,r),r):ve()}function ye(){a({api:`adobe-anthropic`,stream:Y,streamSimple:X}),a({api:`adobe-openai`,stream:Y,streamSimple:X})}export{fe as __resetAdobeSessionIdWarningCacheForTests,L as config,$ as getAdobeModels,z as getValidAccessToken,le as isTokenExpired,ye as register};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-Dk3L2UWh.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-CfcFb0B0.js","assets/rolldown-runtime-aKtaBQYM.js","assets/base64-DpPqYZJF.js","assets/src-DoFhVmQT.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DmJSNs0I.js","assets/wc-permissions-registry-Blyunq37.js"])))=>i.map(i=>d[i]);
2
+ import{R as e,d as t,y as n}from"./account-store-Bl8i_M1G.js";import{n as r}from"./event-stream-qbAZIAKV.js";import{t as i}from"./preload-helper-Czpn1I53.js";import{a,i as o,r as s}from"./compat-aVSWLlYQ.js";import{a as c,r as l,s as u,t as d}from"./legacy-api-aliases-IllWZ-uu.js";import{t as f}from"./panel-rpc-DmJSNs0I.js";import{a as p,c as m,i as h,o as g,s as _}from"./bedrock-camp-CVignIdH.js";import"./provider-settings-B10nWNyQ.js";import{n as v,t as ee}from"./silent-renew-backoff-CqD4WRin.js";import{getOAuthPageOrigin as te}from"./oauth-service-Dk3L2UWh.js";import{t as ne}from"./llm-session-id-bZQs6gBN.js";var re={proxyEndpoint:`https://adobe-llm-proxy.paolo-moz.workers.dev`,redirectUri:`https://www.sliccy.ai/auth/callback`,extensionRedirectUri:`https://akjjllgokmbgpbdbmafpiefnhidlmbgf.chromiumapp.org/adobe`};function y(e,t){return p(e,t)}function b(e,t,n){return e!==`xhigh`||!t?e:_(t,n)?`xhigh`:g(t,n)?`max`:`high`}function ie(e,t){let n=e?t?.thinkingLevelMap?.[e]:void 0;return b((()=>{if(typeof n==`string`)return n;switch(e){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`xhigh`:return`xhigh`;default:return`high`}})(),t?.id,t?.name)}function ae(e,t){return async(n,r)=>{let i=t?await t(n,r)??n:n,a=i.thinking;return a&&a.type===`enabled`&&(i.thinking={type:`adaptive`,...a.display===void 0?{}:{display:a.display}},i.output_config={...i.output_config??{},effort:e}),i}}function x(e,t){if(!y(e.id,e.name))return t;let n=t,r=b(n.effort??ie(n.reasoning,e),e.id,e.name);return{...t,onPayload:ae(r,n.onPayload)}}function oe(e,t){let n={id:e.id,name:e.name??e.id},r=t?.api??e.api,i=t?.context_window??e.context_window,a=t?.max_tokens??e.max_tokens,o=t?.reasoning??e.reasoning,s=t?.input??e.input;r&&(n.api=r),i!==void 0&&(n.context_window=i),a!==void 0&&(n.max_tokens=a),o!==void 0&&(n.reasoning=o),s&&(n.input=s);let c=t?.cost??e.cost;return c&&(n.cost=c),/haiku/i.test(e.id)&&(n.compat={supportsEagerToolInputStreaming:!1}),/sonnet-5\b/i.test(e.id)&&!n.thinkingLevelMap&&(n.thinkingLevelMap={xhigh:`xhigh`}),n}var S=Object.assign({"/packages/webapp/providers/adobe-config.json":re})[`/packages/webapp/providers/adobe-config.json`]??{clientId:``,proxyEndpoint:``,scopes:`openid,profile,email`};function C(){let e=n(`adobe`);if(e)return e.replace(/\/$/,``);if(S.proxyEndpoint)return S.proxyEndpoint.replace(/\/$/,``);throw Error(`Adobe proxy endpoint not configured — set it in Settings or adobe-config.json`)}var w=new Map,T=new Map,E=`slicc-adobe-models`;function D(e){try{localStorage.setItem(E,JSON.stringify(e))}catch{}}async function O(e){let t=w.get(e);if(t)return t;try{let t=await fetch(`${e}/v1/config`,{headers:{[W]:`5.75.0`}});if(t.ok){let n=await t.json();return w.set(e,n),n}console.warn(`[adobe] Proxy /v1/config returned ${t.status}, falling back to build-time config`)}catch(e){console.warn(`[adobe] Failed to fetch proxy config:`,e instanceof Error?e.message:String(e))}return{}}function k(e){let t=e.clientId||S.clientId;if(!t)throw Error(`Could not determine IMS client ID — proxy /v1/config did not return one and adobe-config.json is empty`);return t}function A(e){return e.scopes||S.scopes}function j(e){return e.imsEnvironment||S.imsEnvironment||`prod`}var M={prod:`https://ims-na1.adobelogin.com`,stg1:`https://ims-na1-stg1.adobelogin.com`};function N(e){return M[e??S.imsEnvironment??`prod`]??M.prod}var P=typeof chrome<`u`&&!!chrome?.runtime?.id;function F(){return t().find(e=>e.providerId===`adobe`)}async function se(e,t){try{let n=await fetch(`${N(t)}/ims/userinfo/v2`,{headers:{Authorization:`Bearer ${e}`}});if(n.ok){let e=await n.json();return{name:e.displayName||e.name||e.email,avatar:e.picture||e.avatar_url}}console.warn(`[adobe] User profile fetch returned ${n.status}, account will have no display name`)}catch(e){console.warn(`[adobe] Failed to fetch user profile:`,e instanceof Error?e.message:String(e))}return{}}function I(e){let t=e.indexOf(`#`);if(t<0)return null;let n=new URLSearchParams(e.slice(t+1)),r=n.get(`access_token`);return r?{accessToken:r,expiresIn:parseInt(n.get(`expires_in`)??`86400`,10)}:null}var L={id:`adobe`,name:`Adobe`,description:`Claude via Adobe — login with your Adobe ID`,requiresApiKey:!1,requiresBaseUrl:!S.proxyEndpoint,baseUrlPlaceholder:`https://your-proxy.example.com`,baseUrlDescription:`Anthropic-compatible proxy endpoint`,isOAuth:!0,defaultModelId:`sonnet`,oauthTokenDomains:[`ims-na1.adobelogin.com`,`ims-na1-stg1.adobelogin.com`,`*.adobelogin.com`,`*.adobe.io`,`firefall.adobe.io`,`admin.hlx.page`,`admin.hlx.live`,`admin.aem.page`,`admin.aem.live`],getModelIds:()=>{let e=e=>oe(e,T.get(e.id));for(let t of Q.values())if(t.length){let n=t.map(t=>e({id:t.id,name:t.name??t.id,reasoning:t.reasoning,input:t.input,cost:t.cost}));return D(n),n}for(let t of w.values())if(t.models?.length)return t.models.map(t=>e(t));try{let e=localStorage.getItem(E);if(e){let t=JSON.parse(e);if(t.length)return t}}catch{}return[{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`}]},onOAuthLogin:async(t,n,r)=>{let i=C(),a=await O(i),o=k(a),s=A(a),c=j(a),l=P?null:await te(),u=P?null:v({pageHref:l.href,pageOrigin:l.origin,configuredRedirectUri:S.redirectUri},()=>crypto.randomUUID()),d=P?S.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:u.redirectUri,f=u?.oauthState,p=u?.expectedNonce??null,m=new URLSearchParams({client_id:o,scope:s,response_type:`token`,redirect_uri:d});f&&m.set(`state`,f),r?.forceReauth&&m.set(`prompt`,`login`);let h=await t(`${N(c)}/ims/authorize/v2?${m}`);if(!h)return;if(p&&h)try{if(new URL(h).searchParams.get(`nonce`)!==p){console.error(`[adobe] OAuth nonce mismatch — possible CSRF`);return}}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}let g=I(h);if(!g){console.error(`[adobe] Could not extract token from redirect URL`);return}let _=await se(g.accessToken,c);await e({providerId:`adobe`,accessToken:g.accessToken,tokenExpiresAt:Date.now()+g.expiresIn*1e3,userName:_.name,userAvatar:_.avatar,baseUrl:S.proxyEndpoint?void 0:i}),await $().catch(e=>console.warn(`[adobe] Failed to fetch models after login:`,e instanceof Error?e.message:String(e))),n()},onOAuthLogout:async()=>{let t=F();if(t?.accessToken)try{let e=w.values().next().value??{},n=e.clientId||S.clientId,r=j(e);if(n){let e=await fetch(`${N(r)}/ims/revoke`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:new URLSearchParams({token:t.accessToken,token_type_hint:`access_token`,client_id:n})});e.ok||console.warn(`[adobe] Token revocation returned ${e.status}, token may still be valid server-side`)}}catch(e){console.warn(`[adobe] Failed to revoke token:`,e instanceof Error?e.message:String(e))}await e({providerId:`adobe`,accessToken:``})},onSilentRenew:async()=>F()?.accessToken?B():null,refreshModels:async e=>{await $(e);let t=L.getModelIds?.();t?.length&&D(t)}},R=null,ce=ee();async function z(){let e=F();if(!e?.accessToken)throw Error(`Not logged in to Adobe — please log in first`);if((e.tokenExpiresAt??0)-Date.now()>6e4)return e.accessToken;console.log(`[adobe] Token expired or expiring soon, attempting silent renewal...`);let t=await ce.run(()=>B());if(t)return t;let n=F();if((n?.tokenExpiresAt??0)-Date.now()>0&&n?.accessToken)return n.accessToken;throw Error(`Adobe session expired — please log in again`)}function le(){let e=F();return!e?.tokenExpiresAt||Date.now()>e.tokenExpiresAt-6e4}async function B(){if(typeof window>`u`){let e=f();if(!e)return null;try{let{accessToken:t}=await e.call(`silent-renew`,{providerId:`adobe`},{timeoutMs:13e4});return t}catch(e){return console.warn(`[adobe] worker→page silent-renew bridge failed:`,e instanceof Error?e.message:String(e)),null}}return R||(R=ue().finally(()=>{R=null}),R)}function V(e,t){let n=k(t),r=A(t),i=j(t),a=P?null:v({pageHref:window.location.href,pageOrigin:window.location.origin,configuredRedirectUri:S.redirectUri},()=>crypto.randomUUID()),o=P?S.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:a.redirectUri,s=a?.oauthState,c=a?.expectedNonce??null,l=new URLSearchParams({client_id:n,scope:r,response_type:`token`,redirect_uri:o,prompt:`none`});return s&&l.set(`state`,s),{authorizeUrl:`${N(i)}/ims/authorize/v2?${l}`,expectedNonce:c,proxyEndpoint:e}}function H(e,t){if(!t)return!0;try{if(new URL(e).searchParams.get(`nonce`)!==t)return console.error(`[adobe] OAuth nonce mismatch — possible CSRF`),!1}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}return!0}async function U(t,n){let r=F();await e({providerId:`adobe`,accessToken:t.accessToken,tokenExpiresAt:Date.now()+t.expiresIn*1e3,userName:r?.userName,userAvatar:r?.userAvatar,baseUrl:S.proxyEndpoint?void 0:n})}async function ue(){try{let e=C(),{authorizeUrl:t,expectedNonce:n}=V(e,await O(e)),{createOAuthLauncher:r}=await i(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-Dk3L2UWh.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),a=await r()(t,{interactive:!1});if(!a||!H(a,n))return null;let o=I(a);return o?(await U(o,e),console.log(`[adobe] Token renewed silently`),await $().catch(e=>console.warn(`[adobe] Failed to refresh models after silent renewal:`,e instanceof Error?e.message:String(e))),o.accessToken):null}catch(e){return console.warn(`[adobe] Silent renewal error:`,e instanceof Error?e.message:String(e)),null}}var W=`X-Slicc-Version`;function G(e){let t={},n=W.toLowerCase();if(e.headers)for(let[r,i]of Object.entries(e.headers))r.toLowerCase()!==n&&(t[r]=i);return t[W]=`5.75.0`,{...e,headers:t}}var de=`adobe-provider-fallback`,K=new Set;function q(e,t){if(e.headers){for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()===`x-session-id`&&n!=null)return e}return K.has(t)||(K.add(t),console.warn(`[adobe] Missing X-Session-Id from ${t} — using daily fallback. Attach an X-Session-Id header at the call site (see scoop-context.ts streamWithSessionId or docs/pitfalls.md).`)),{...e,headers:{...e.headers??{},"X-Session-Id":ne(de)}}}function fe(){K.clear()}function J(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:`adobe-anthropic`,provider:`adobe`,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}var Y=(e,t,n={})=>{let i=r();return(async()=>{try{let r=await z();if(String(e.api).includes(`openai`)){let a=l({...e,baseUrl:`${C()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,G(q({...n,apiKey:r},`streamAdobe[openai]`)));for await(let e of a)i.push(e)}else{let a=d({...e,baseUrl:C(),api:`anthropic-messages`},t,G(q(x(e,h(e.id,e.name,{...n,apiKey:r})),`streamAdobe[anthropic]`)));for await(let e of a)i.push(e)}i.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),i.push(J(e,t)),i.end()}})(),i},X=(e,t,n)=>{let i=r();return(async()=>{try{let r=await z();if(String(e.api).includes(`openai`)){let a=u({...e,baseUrl:`${C()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,G(q({...n,apiKey:r},`streamSimpleAdobe[openai]`)));for await(let e of a)i.push(e)}else{let a=c({...e,baseUrl:C(),api:`anthropic-messages`},t,G(q(x(e,h(e.id,e.name,{...n,apiKey:r})),`streamSimpleAdobe[anthropic]`)));for await(let e of a)i.push(e)}i.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),i.push(J(e,t)),i.end()}})(),i};function pe(e){let t={id:e.id,name:e.name};return e.api!==void 0&&(t.api=e.api),e.context_window!==void 0&&(t.context_window=e.context_window),e.max_tokens!==void 0&&(t.max_tokens=e.max_tokens),e.reasoning!==void 0&&(t.reasoning=e.reasoning),e.input!==void 0&&(t.input=e.input),t}function me(){let e=new Map;for(let t of o())try{for(let n of s(t))e.set(n.id,n)}catch{}return e}function he(e,t){let n={input:0,output:0,cacheRead:0,cacheWrite:0},r=m(e);if(!r)return n;let i;for(let e of t.values()){let t=m(e.id);!t||t.family!==r.family||(!i||t.major>i.major||t.major===i.major&&t.minor>i.minor)&&(i={major:t.major,minor:t.minor,cost:e.cost})}return i?.cost??n}function ge(e,t,n){let r=`adobe-${e.api===`openai`?`openai`:`anthropic`}`,i=n.get(e.id);if(i)return{...i,provider:`adobe`,api:r};let a=he(e.id,n);return{id:e.id,name:e.name??e.id,provider:`adobe`,api:r,baseUrl:t,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:a,inputCost:a.input,outputCost:a.output,cacheReadCost:a.cacheRead,cacheWriteCost:a.cacheWrite,reasoning:!0}}function Z(e,t){for(let t of e)T.set(t.id,pe(t));let n=me();return e.map(e=>ge(e,t,n))}async function _e(e){try{let t=e??await z(),n=C(),r=await fetch(`${n}/v1/models`,{headers:{Authorization:`Bearer ${t}`,[W]:`5.75.0`}});if(!r.ok)console.warn(`[adobe] Proxy /v1/models returned ${r.status}, falling back to Anthropic models`);else{let e=await r.json();if(e.data?.length)return Z(e.data,n)}}catch(e){console.warn(`[adobe] Failed to fetch proxy models:`,e instanceof Error?e.message:String(e))}return null}var Q=new Map;function ve(){return s(`anthropic`).map(e=>({...e,provider:`adobe`,api:`adobe-anthropic`}))}async function $(e){let t=C(),n=Q.get(t);if(n)return n;let r=await _e(e);return r?(Q.set(t,r),r):ve()}function ye(){a({api:`adobe-anthropic`,stream:Y,streamSimple:X}),a({api:`adobe-openai`,stream:Y,streamSimple:X})}export{fe as __resetAdobeSessionIdWarningCacheForTests,L as config,$ as getAdobeModels,z as getValidAccessToken,le as isTokenExpired,ye as register};
@@ -1 +1 @@
1
- import{n as e}from"./panel-rpc-CjFVE0nK.js";import{R as t,d as n,y as r}from"./account-store-DzwZMcTg.js";import{n as i}from"./event-stream-qbAZIAKV.js";import{a,c as o,d as s,f as c,i as l,o as u,p as d,s as f}from"./bedrock-camp-BO4bvAKs.js";import{a as p,r as m,s as h,t as g}from"./legacy-api-aliases-sqlB2uHc.js";import{n as _}from"./llm-session-id-ZObKEXzb.js";import{n as v,t as ee}from"./silent-renew-backoff-DyzFsWYC.js";import{getOAuthPageOrigin as te}from"./oauth-service-foejPYvF.js";import"./provider-settings-CmJnFmK2.js";var ne={proxyEndpoint:`https://adobe-llm-proxy.paolo-moz.workers.dev`,redirectUri:`https://www.sliccy.ai/auth/callback`,extensionRedirectUri:`https://akjjllgokmbgpbdbmafpiefnhidlmbgf.chromiumapp.org/adobe`};function re(e,t){return a(e,t)}function y(e,t,n){return e!==`xhigh`||!t?e:f(t,n)?`xhigh`:u(t,n)?`max`:`high`}function ie(e,t){let n=e?t?.thinkingLevelMap?.[e]:void 0;return y((()=>{if(typeof n==`string`)return n;switch(e){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`xhigh`:return`xhigh`;default:return`high`}})(),t?.id,t?.name)}function ae(e,t){return async(n,r)=>{let i=t?await t(n,r)??n:n,a=i.thinking;return a&&a.type===`enabled`&&(i.thinking={type:`adaptive`,...a.display===void 0?{}:{display:a.display}},i.output_config={...i.output_config??{},effort:e}),i}}function b(e,t){if(!re(e.id,e.name))return t;let n=t,r=y(n.effort??ie(n.reasoning,e),e.id,e.name);return{...t,onPayload:ae(r,n.onPayload)}}function oe(e,t){let n={id:e.id,name:e.name??e.id},r=t?.api??e.api,i=t?.context_window??e.context_window,a=t?.max_tokens??e.max_tokens,o=t?.reasoning??e.reasoning,s=t?.input??e.input;r&&(n.api=r),i!==void 0&&(n.context_window=i),a!==void 0&&(n.max_tokens=a),o!==void 0&&(n.reasoning=o),s&&(n.input=s);let c=t?.cost??e.cost;return c&&(n.cost=c),/haiku/i.test(e.id)&&(n.compat={supportsEagerToolInputStreaming:!1}),/sonnet-5\b/i.test(e.id)&&!n.thinkingLevelMap&&(n.thinkingLevelMap={xhigh:`xhigh`}),n}const x=Object.assign({"/packages/webapp/providers/adobe-config.json":ne})[`/packages/webapp/providers/adobe-config.json`]??{clientId:``,proxyEndpoint:``,scopes:`openid,profile,email`};function S(){let e=r(`adobe`);if(e)return e.replace(/\/$/,``);if(x.proxyEndpoint)return x.proxyEndpoint.replace(/\/$/,``);throw Error(`Adobe proxy endpoint not configured — set it in Settings or adobe-config.json`)}const C=new Map,w=new Map,T=`slicc-adobe-models`;function E(e){try{localStorage.setItem(T,JSON.stringify(e))}catch{}}async function D(e){let t=C.get(e);if(t)return t;try{let t=await fetch(`${e}/v1/config`,{headers:{[W]:`5.73.4`}});if(t.ok){let n=await t.json();return C.set(e,n),n}console.warn(`[adobe] Proxy /v1/config returned ${t.status}, falling back to build-time config`)}catch(e){console.warn(`[adobe] Failed to fetch proxy config:`,e instanceof Error?e.message:String(e))}return{}}function O(e){let t=e.clientId||x.clientId;if(!t)throw Error(`Could not determine IMS client ID — proxy /v1/config did not return one and adobe-config.json is empty`);return t}function k(e){return e.scopes||x.scopes}function A(e){return e.imsEnvironment||x.imsEnvironment||`prod`}const j={prod:`https://ims-na1.adobelogin.com`,stg1:`https://ims-na1-stg1.adobelogin.com`};function M(e){return j[e??x.imsEnvironment??`prod`]??j.prod}const N=typeof chrome<`u`&&!!chrome?.runtime?.id;function P(){return n().find(e=>e.providerId===`adobe`)}async function se(e,t){try{let n=await fetch(`${M(t)}/ims/userinfo/v2`,{headers:{Authorization:`Bearer ${e}`}});if(n.ok){let e=await n.json();return{name:e.displayName||e.name||e.email,avatar:e.picture||e.avatar_url}}console.warn(`[adobe] User profile fetch returned ${n.status}, account will have no display name`)}catch(e){console.warn(`[adobe] Failed to fetch user profile:`,e instanceof Error?e.message:String(e))}return{}}function F(e){let t=e.indexOf(`#`);if(t<0)return null;let n=new URLSearchParams(e.slice(t+1)),r=n.get(`access_token`);return r?{accessToken:r,expiresIn:parseInt(n.get(`expires_in`)??`86400`,10)}:null}const I={id:`adobe`,name:`Adobe`,description:`Claude via Adobe — login with your Adobe ID`,requiresApiKey:!1,requiresBaseUrl:!x.proxyEndpoint,baseUrlPlaceholder:`https://your-proxy.example.com`,baseUrlDescription:`Anthropic-compatible proxy endpoint`,isOAuth:!0,defaultModelId:`sonnet`,oauthTokenDomains:[`ims-na1.adobelogin.com`,`ims-na1-stg1.adobelogin.com`,`*.adobelogin.com`,`*.adobe.io`,`firefall.adobe.io`,`admin.hlx.page`,`admin.hlx.live`,`admin.aem.page`,`admin.aem.live`],getModelIds:()=>{let e=e=>oe(e,w.get(e.id));for(let t of Q.values())if(t.length){let n=t.map(t=>e({id:t.id,name:t.name??t.id,reasoning:t.reasoning,input:t.input,cost:t.cost}));return E(n),n}for(let t of C.values())if(t.models?.length)return t.models.map(t=>e(t));try{let e=localStorage.getItem(T);if(e){let t=JSON.parse(e);if(t.length)return t}}catch{}return[{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`}]},onOAuthLogin:async(e,n,r)=>{let i=S(),a=await D(i),o=O(a),s=k(a),c=A(a),l=N?null:await te(),u=N?null:v({pageHref:l.href,pageOrigin:l.origin,configuredRedirectUri:x.redirectUri},()=>crypto.randomUUID()),d=N?x.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:u.redirectUri,f=u?.oauthState,p=u?.expectedNonce??null,m=new URLSearchParams({client_id:o,scope:s,response_type:`token`,redirect_uri:d});f&&m.set(`state`,f),r?.forceReauth&&m.set(`prompt`,`login`);let h=await e(`${M(c)}/ims/authorize/v2?${m}`);if(!h)return;if(p&&h)try{if(new URL(h).searchParams.get(`nonce`)!==p){console.error(`[adobe] OAuth nonce mismatch — possible CSRF`);return}}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}let g=F(h);if(!g){console.error(`[adobe] Could not extract token from redirect URL`);return}let _=await se(g.accessToken,c);await t({providerId:`adobe`,accessToken:g.accessToken,tokenExpiresAt:Date.now()+g.expiresIn*1e3,userName:_.name,userAvatar:_.avatar,baseUrl:x.proxyEndpoint?void 0:i}),await $().catch(e=>console.warn(`[adobe] Failed to fetch models after login:`,e instanceof Error?e.message:String(e))),n()},onOAuthLogout:async()=>{let e=P();if(e?.accessToken)try{let t=C.values().next().value??{},n=t.clientId||x.clientId,r=A(t);if(n){let t=await fetch(`${M(r)}/ims/revoke`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:new URLSearchParams({token:e.accessToken,token_type_hint:`access_token`,client_id:n})});t.ok||console.warn(`[adobe] Token revocation returned ${t.status}, token may still be valid server-side`)}}catch(e){console.warn(`[adobe] Failed to revoke token:`,e instanceof Error?e.message:String(e))}await t({providerId:`adobe`,accessToken:``})},onSilentRenew:async()=>P()?.accessToken?z():null,refreshModels:async e=>{await $(e);let t=I.getModelIds?.();t?.length&&E(t)}};let L=null;const ce=ee();async function R(){let e=P();if(!e?.accessToken)throw Error(`Not logged in to Adobe — please log in first`);if((e.tokenExpiresAt??0)-Date.now()>6e4)return e.accessToken;console.log(`[adobe] Token expired or expiring soon, attempting silent renewal...`);let t=await ce.run(()=>z());if(t)return t;let n=P();if((n?.tokenExpiresAt??0)-Date.now()>0&&n?.accessToken)return n.accessToken;throw Error(`Adobe session expired — please log in again`)}function le(){let e=P();return!e?.tokenExpiresAt||Date.now()>e.tokenExpiresAt-6e4}async function z(){if(typeof window>`u`){let t=e();if(!t)return null;try{let{accessToken:e}=await t.call(`silent-renew`,{providerId:`adobe`},{timeoutMs:13e4});return e}catch(e){return console.warn(`[adobe] worker→page silent-renew bridge failed:`,e instanceof Error?e.message:String(e)),null}}return L||(L=U().finally(()=>{L=null}),L)}function B(e,t){let n=O(t),r=k(t),i=A(t),a=N?null:v({pageHref:window.location.href,pageOrigin:window.location.origin,configuredRedirectUri:x.redirectUri},()=>crypto.randomUUID()),o=N?x.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:a.redirectUri,s=a?.oauthState,c=a?.expectedNonce??null,l=new URLSearchParams({client_id:n,scope:r,response_type:`token`,redirect_uri:o,prompt:`none`});return s&&l.set(`state`,s),{authorizeUrl:`${M(i)}/ims/authorize/v2?${l}`,expectedNonce:c,proxyEndpoint:e}}function V(e,t){if(!t)return!0;try{if(new URL(e).searchParams.get(`nonce`)!==t)return console.error(`[adobe] OAuth nonce mismatch — possible CSRF`),!1}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}return!0}async function H(e,n){let r=P();await t({providerId:`adobe`,accessToken:e.accessToken,tokenExpiresAt:Date.now()+e.expiresIn*1e3,userName:r?.userName,userAvatar:r?.userAvatar,baseUrl:x.proxyEndpoint?void 0:n})}async function U(){try{let e=S(),{authorizeUrl:t,expectedNonce:n}=B(e,await D(e)),{createOAuthLauncher:r}=await import(`./oauth-service-foejPYvF.js`),i=await r()(t,{interactive:!1});if(!i||!V(i,n))return null;let a=F(i);return a?(await H(a,e),console.log(`[adobe] Token renewed silently`),await $().catch(e=>console.warn(`[adobe] Failed to refresh models after silent renewal:`,e instanceof Error?e.message:String(e))),a.accessToken):null}catch(e){return console.warn(`[adobe] Silent renewal error:`,e instanceof Error?e.message:String(e)),null}}const W=`X-Slicc-Version`;function G(e){let t={};if(e.headers)for(let[n,r]of Object.entries(e.headers))n.toLowerCase()!==`x-slicc-version`&&(t[n]=r);return t[W]=`5.73.4`,{...e,headers:t}}const K=new Set;function q(e,t){if(e.headers){for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()===`x-session-id`&&n!=null)return e}return K.has(t)||(K.add(t),console.warn(`[adobe] Missing X-Session-Id from ${t} — using daily fallback. Attach an X-Session-Id header at the call site (see scoop-context.ts streamWithSessionId or docs/pitfalls.md).`)),{...e,headers:{...e.headers??{},"X-Session-Id":_(`adobe-provider-fallback`)}}}function ue(){K.clear()}function J(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:`adobe-anthropic`,provider:`adobe`,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}const Y=(e,t,n={})=>{let r=i();return(async()=>{try{let i=await R();if(String(e.api).includes(`openai`)){let a=m({...e,baseUrl:`${S()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,G(q({...n,apiKey:i},`streamAdobe[openai]`)));for await(let e of a)r.push(e)}else{let a=g({...e,baseUrl:S(),api:`anthropic-messages`},t,G(q(b(e,l(e.id,e.name,{...n,apiKey:i})),`streamAdobe[anthropic]`)));for await(let e of a)r.push(e)}r.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),r.push(J(e,t)),r.end()}})(),r},X=(e,t,n)=>{let r=i();return(async()=>{try{let i=await R();if(String(e.api).includes(`openai`)){let a=h({...e,baseUrl:`${S()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,G(q({...n,apiKey:i},`streamSimpleAdobe[openai]`)));for await(let e of a)r.push(e)}else{let a=p({...e,baseUrl:S(),api:`anthropic-messages`},t,G(q(b(e,l(e.id,e.name,{...n,apiKey:i})),`streamSimpleAdobe[anthropic]`)));for await(let e of a)r.push(e)}r.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),r.push(J(e,t)),r.end()}})(),r};function Z(e){let t={id:e.id,name:e.name};return e.api!==void 0&&(t.api=e.api),e.context_window!==void 0&&(t.context_window=e.context_window),e.max_tokens!==void 0&&(t.max_tokens=e.max_tokens),e.reasoning!==void 0&&(t.reasoning=e.reasoning),e.input!==void 0&&(t.input=e.input),t}function de(){let e=new Map;for(let t of c())try{for(let n of s(t))e.set(n.id,n)}catch{}return e}function fe(e,t){let n={input:0,output:0,cacheRead:0,cacheWrite:0},r=o(e);if(!r)return n;let i;for(let e of t.values()){let t=o(e.id);!t||t.family!==r.family||(!i||t.major>i.major||t.major===i.major&&t.minor>i.minor)&&(i={major:t.major,minor:t.minor,cost:e.cost})}return i?.cost??n}function pe(e,t,n){let r=`adobe-${e.api===`openai`?`openai`:`anthropic`}`,i=n.get(e.id);if(i)return{...i,provider:`adobe`,api:r};let a=fe(e.id,n);return{id:e.id,name:e.name??e.id,provider:`adobe`,api:r,baseUrl:t,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:a,inputCost:a.input,outputCost:a.output,cacheReadCost:a.cacheRead,cacheWriteCost:a.cacheWrite,reasoning:!0}}function me(e,t){for(let t of e)w.set(t.id,Z(t));let n=de();return e.map(e=>pe(e,t,n))}async function he(e){try{let t=e??await R(),n=S(),r=await fetch(`${n}/v1/models`,{headers:{Authorization:`Bearer ${t}`,[W]:`5.73.4`}});if(!r.ok)console.warn(`[adobe] Proxy /v1/models returned ${r.status}, falling back to Anthropic models`);else{let e=await r.json();if(e.data?.length)return me(e.data,n)}}catch(e){console.warn(`[adobe] Failed to fetch proxy models:`,e instanceof Error?e.message:String(e))}return null}const Q=new Map;function ge(){return s(`anthropic`).map(e=>({...e,provider:`adobe`,api:`adobe-anthropic`}))}async function $(e){let t=S(),n=Q.get(t);if(n)return n;let r=await he(e);return r?(Q.set(t,r),r):ge()}function _e(){d({api:`adobe-anthropic`,stream:Y,streamSimple:X}),d({api:`adobe-openai`,stream:Y,streamSimple:X})}export{ue as __resetAdobeSessionIdWarningCacheForTests,I as config,$ as getAdobeModels,R as getValidAccessToken,le as isTokenExpired,_e as register};
1
+ import{n as e}from"./panel-rpc-CjFVE0nK.js";import{R as t,d as n,y as r}from"./account-store-D1yHSv41.js";import{n as i}from"./event-stream-qbAZIAKV.js";import{a,c as o,d as s,f as c,i as l,o as u,p as d,s as f}from"./bedrock-camp-BO4bvAKs.js";import{a as p,r as m,s as h,t as g}from"./legacy-api-aliases-sqlB2uHc.js";import{n as _}from"./llm-session-id-ZObKEXzb.js";import{n as v,t as ee}from"./silent-renew-backoff-Chq7fPuc.js";import{getOAuthPageOrigin as te}from"./oauth-service-BuEH8BXq.js";import"./provider-settings-LbMzjgqW.js";var ne={proxyEndpoint:`https://adobe-llm-proxy.paolo-moz.workers.dev`,redirectUri:`https://www.sliccy.ai/auth/callback`,extensionRedirectUri:`https://akjjllgokmbgpbdbmafpiefnhidlmbgf.chromiumapp.org/adobe`};function re(e,t){return a(e,t)}function y(e,t,n){return e!==`xhigh`||!t?e:f(t,n)?`xhigh`:u(t,n)?`max`:`high`}function ie(e,t){let n=e?t?.thinkingLevelMap?.[e]:void 0;return y((()=>{if(typeof n==`string`)return n;switch(e){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`xhigh`:return`xhigh`;default:return`high`}})(),t?.id,t?.name)}function ae(e,t){return async(n,r)=>{let i=t?await t(n,r)??n:n,a=i.thinking;return a&&a.type===`enabled`&&(i.thinking={type:`adaptive`,...a.display===void 0?{}:{display:a.display}},i.output_config={...i.output_config??{},effort:e}),i}}function b(e,t){if(!re(e.id,e.name))return t;let n=t,r=y(n.effort??ie(n.reasoning,e),e.id,e.name);return{...t,onPayload:ae(r,n.onPayload)}}function oe(e,t){let n={id:e.id,name:e.name??e.id},r=t?.api??e.api,i=t?.context_window??e.context_window,a=t?.max_tokens??e.max_tokens,o=t?.reasoning??e.reasoning,s=t?.input??e.input;r&&(n.api=r),i!==void 0&&(n.context_window=i),a!==void 0&&(n.max_tokens=a),o!==void 0&&(n.reasoning=o),s&&(n.input=s);let c=t?.cost??e.cost;return c&&(n.cost=c),/haiku/i.test(e.id)&&(n.compat={supportsEagerToolInputStreaming:!1}),/sonnet-5\b/i.test(e.id)&&!n.thinkingLevelMap&&(n.thinkingLevelMap={xhigh:`xhigh`}),n}const x=Object.assign({"/packages/webapp/providers/adobe-config.json":ne})[`/packages/webapp/providers/adobe-config.json`]??{clientId:``,proxyEndpoint:``,scopes:`openid,profile,email`};function S(){let e=r(`adobe`);if(e)return e.replace(/\/$/,``);if(x.proxyEndpoint)return x.proxyEndpoint.replace(/\/$/,``);throw Error(`Adobe proxy endpoint not configured — set it in Settings or adobe-config.json`)}const C=new Map,w=new Map,T=`slicc-adobe-models`;function E(e){try{localStorage.setItem(T,JSON.stringify(e))}catch{}}async function D(e){let t=C.get(e);if(t)return t;try{let t=await fetch(`${e}/v1/config`,{headers:{[W]:`5.75.0`}});if(t.ok){let n=await t.json();return C.set(e,n),n}console.warn(`[adobe] Proxy /v1/config returned ${t.status}, falling back to build-time config`)}catch(e){console.warn(`[adobe] Failed to fetch proxy config:`,e instanceof Error?e.message:String(e))}return{}}function O(e){let t=e.clientId||x.clientId;if(!t)throw Error(`Could not determine IMS client ID — proxy /v1/config did not return one and adobe-config.json is empty`);return t}function k(e){return e.scopes||x.scopes}function A(e){return e.imsEnvironment||x.imsEnvironment||`prod`}const j={prod:`https://ims-na1.adobelogin.com`,stg1:`https://ims-na1-stg1.adobelogin.com`};function M(e){return j[e??x.imsEnvironment??`prod`]??j.prod}const N=typeof chrome<`u`&&!!chrome?.runtime?.id;function P(){return n().find(e=>e.providerId===`adobe`)}async function se(e,t){try{let n=await fetch(`${M(t)}/ims/userinfo/v2`,{headers:{Authorization:`Bearer ${e}`}});if(n.ok){let e=await n.json();return{name:e.displayName||e.name||e.email,avatar:e.picture||e.avatar_url}}console.warn(`[adobe] User profile fetch returned ${n.status}, account will have no display name`)}catch(e){console.warn(`[adobe] Failed to fetch user profile:`,e instanceof Error?e.message:String(e))}return{}}function F(e){let t=e.indexOf(`#`);if(t<0)return null;let n=new URLSearchParams(e.slice(t+1)),r=n.get(`access_token`);return r?{accessToken:r,expiresIn:parseInt(n.get(`expires_in`)??`86400`,10)}:null}const I={id:`adobe`,name:`Adobe`,description:`Claude via Adobe — login with your Adobe ID`,requiresApiKey:!1,requiresBaseUrl:!x.proxyEndpoint,baseUrlPlaceholder:`https://your-proxy.example.com`,baseUrlDescription:`Anthropic-compatible proxy endpoint`,isOAuth:!0,defaultModelId:`sonnet`,oauthTokenDomains:[`ims-na1.adobelogin.com`,`ims-na1-stg1.adobelogin.com`,`*.adobelogin.com`,`*.adobe.io`,`firefall.adobe.io`,`admin.hlx.page`,`admin.hlx.live`,`admin.aem.page`,`admin.aem.live`],getModelIds:()=>{let e=e=>oe(e,w.get(e.id));for(let t of Q.values())if(t.length){let n=t.map(t=>e({id:t.id,name:t.name??t.id,reasoning:t.reasoning,input:t.input,cost:t.cost}));return E(n),n}for(let t of C.values())if(t.models?.length)return t.models.map(t=>e(t));try{let e=localStorage.getItem(T);if(e){let t=JSON.parse(e);if(t.length)return t}}catch{}return[{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`}]},onOAuthLogin:async(e,n,r)=>{let i=S(),a=await D(i),o=O(a),s=k(a),c=A(a),l=N?null:await te(),u=N?null:v({pageHref:l.href,pageOrigin:l.origin,configuredRedirectUri:x.redirectUri},()=>crypto.randomUUID()),d=N?x.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:u.redirectUri,f=u?.oauthState,p=u?.expectedNonce??null,m=new URLSearchParams({client_id:o,scope:s,response_type:`token`,redirect_uri:d});f&&m.set(`state`,f),r?.forceReauth&&m.set(`prompt`,`login`);let h=await e(`${M(c)}/ims/authorize/v2?${m}`);if(!h)return;if(p&&h)try{if(new URL(h).searchParams.get(`nonce`)!==p){console.error(`[adobe] OAuth nonce mismatch — possible CSRF`);return}}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}let g=F(h);if(!g){console.error(`[adobe] Could not extract token from redirect URL`);return}let _=await se(g.accessToken,c);await t({providerId:`adobe`,accessToken:g.accessToken,tokenExpiresAt:Date.now()+g.expiresIn*1e3,userName:_.name,userAvatar:_.avatar,baseUrl:x.proxyEndpoint?void 0:i}),await $().catch(e=>console.warn(`[adobe] Failed to fetch models after login:`,e instanceof Error?e.message:String(e))),n()},onOAuthLogout:async()=>{let e=P();if(e?.accessToken)try{let t=C.values().next().value??{},n=t.clientId||x.clientId,r=A(t);if(n){let t=await fetch(`${M(r)}/ims/revoke`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:new URLSearchParams({token:e.accessToken,token_type_hint:`access_token`,client_id:n})});t.ok||console.warn(`[adobe] Token revocation returned ${t.status}, token may still be valid server-side`)}}catch(e){console.warn(`[adobe] Failed to revoke token:`,e instanceof Error?e.message:String(e))}await t({providerId:`adobe`,accessToken:``})},onSilentRenew:async()=>P()?.accessToken?z():null,refreshModels:async e=>{await $(e);let t=I.getModelIds?.();t?.length&&E(t)}};let L=null;const ce=ee();async function R(){let e=P();if(!e?.accessToken)throw Error(`Not logged in to Adobe — please log in first`);if((e.tokenExpiresAt??0)-Date.now()>6e4)return e.accessToken;console.log(`[adobe] Token expired or expiring soon, attempting silent renewal...`);let t=await ce.run(()=>z());if(t)return t;let n=P();if((n?.tokenExpiresAt??0)-Date.now()>0&&n?.accessToken)return n.accessToken;throw Error(`Adobe session expired — please log in again`)}function le(){let e=P();return!e?.tokenExpiresAt||Date.now()>e.tokenExpiresAt-6e4}async function z(){if(typeof window>`u`){let t=e();if(!t)return null;try{let{accessToken:e}=await t.call(`silent-renew`,{providerId:`adobe`},{timeoutMs:13e4});return e}catch(e){return console.warn(`[adobe] worker→page silent-renew bridge failed:`,e instanceof Error?e.message:String(e)),null}}return L||(L=U().finally(()=>{L=null}),L)}function B(e,t){let n=O(t),r=k(t),i=A(t),a=N?null:v({pageHref:window.location.href,pageOrigin:window.location.origin,configuredRedirectUri:x.redirectUri},()=>crypto.randomUUID()),o=N?x.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:a.redirectUri,s=a?.oauthState,c=a?.expectedNonce??null,l=new URLSearchParams({client_id:n,scope:r,response_type:`token`,redirect_uri:o,prompt:`none`});return s&&l.set(`state`,s),{authorizeUrl:`${M(i)}/ims/authorize/v2?${l}`,expectedNonce:c,proxyEndpoint:e}}function V(e,t){if(!t)return!0;try{if(new URL(e).searchParams.get(`nonce`)!==t)return console.error(`[adobe] OAuth nonce mismatch — possible CSRF`),!1}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}return!0}async function H(e,n){let r=P();await t({providerId:`adobe`,accessToken:e.accessToken,tokenExpiresAt:Date.now()+e.expiresIn*1e3,userName:r?.userName,userAvatar:r?.userAvatar,baseUrl:x.proxyEndpoint?void 0:n})}async function U(){try{let e=S(),{authorizeUrl:t,expectedNonce:n}=B(e,await D(e)),{createOAuthLauncher:r}=await import(`./oauth-service-BuEH8BXq.js`),i=await r()(t,{interactive:!1});if(!i||!V(i,n))return null;let a=F(i);return a?(await H(a,e),console.log(`[adobe] Token renewed silently`),await $().catch(e=>console.warn(`[adobe] Failed to refresh models after silent renewal:`,e instanceof Error?e.message:String(e))),a.accessToken):null}catch(e){return console.warn(`[adobe] Silent renewal error:`,e instanceof Error?e.message:String(e)),null}}const W=`X-Slicc-Version`;function G(e){let t={};if(e.headers)for(let[n,r]of Object.entries(e.headers))n.toLowerCase()!==`x-slicc-version`&&(t[n]=r);return t[W]=`5.75.0`,{...e,headers:t}}const K=new Set;function q(e,t){if(e.headers){for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()===`x-session-id`&&n!=null)return e}return K.has(t)||(K.add(t),console.warn(`[adobe] Missing X-Session-Id from ${t} — using daily fallback. Attach an X-Session-Id header at the call site (see scoop-context.ts streamWithSessionId or docs/pitfalls.md).`)),{...e,headers:{...e.headers??{},"X-Session-Id":_(`adobe-provider-fallback`)}}}function ue(){K.clear()}function J(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:`adobe-anthropic`,provider:`adobe`,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}const Y=(e,t,n={})=>{let r=i();return(async()=>{try{let i=await R();if(String(e.api).includes(`openai`)){let a=m({...e,baseUrl:`${S()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,G(q({...n,apiKey:i},`streamAdobe[openai]`)));for await(let e of a)r.push(e)}else{let a=g({...e,baseUrl:S(),api:`anthropic-messages`},t,G(q(b(e,l(e.id,e.name,{...n,apiKey:i})),`streamAdobe[anthropic]`)));for await(let e of a)r.push(e)}r.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),r.push(J(e,t)),r.end()}})(),r},X=(e,t,n)=>{let r=i();return(async()=>{try{let i=await R();if(String(e.api).includes(`openai`)){let a=h({...e,baseUrl:`${S()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,G(q({...n,apiKey:i},`streamSimpleAdobe[openai]`)));for await(let e of a)r.push(e)}else{let a=p({...e,baseUrl:S(),api:`anthropic-messages`},t,G(q(b(e,l(e.id,e.name,{...n,apiKey:i})),`streamSimpleAdobe[anthropic]`)));for await(let e of a)r.push(e)}r.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),r.push(J(e,t)),r.end()}})(),r};function Z(e){let t={id:e.id,name:e.name};return e.api!==void 0&&(t.api=e.api),e.context_window!==void 0&&(t.context_window=e.context_window),e.max_tokens!==void 0&&(t.max_tokens=e.max_tokens),e.reasoning!==void 0&&(t.reasoning=e.reasoning),e.input!==void 0&&(t.input=e.input),t}function de(){let e=new Map;for(let t of c())try{for(let n of s(t))e.set(n.id,n)}catch{}return e}function fe(e,t){let n={input:0,output:0,cacheRead:0,cacheWrite:0},r=o(e);if(!r)return n;let i;for(let e of t.values()){let t=o(e.id);!t||t.family!==r.family||(!i||t.major>i.major||t.major===i.major&&t.minor>i.minor)&&(i={major:t.major,minor:t.minor,cost:e.cost})}return i?.cost??n}function pe(e,t,n){let r=`adobe-${e.api===`openai`?`openai`:`anthropic`}`,i=n.get(e.id);if(i)return{...i,provider:`adobe`,api:r};let a=fe(e.id,n);return{id:e.id,name:e.name??e.id,provider:`adobe`,api:r,baseUrl:t,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:a,inputCost:a.input,outputCost:a.output,cacheReadCost:a.cacheRead,cacheWriteCost:a.cacheWrite,reasoning:!0}}function me(e,t){for(let t of e)w.set(t.id,Z(t));let n=de();return e.map(e=>pe(e,t,n))}async function he(e){try{let t=e??await R(),n=S(),r=await fetch(`${n}/v1/models`,{headers:{Authorization:`Bearer ${t}`,[W]:`5.75.0`}});if(!r.ok)console.warn(`[adobe] Proxy /v1/models returned ${r.status}, falling back to Anthropic models`);else{let e=await r.json();if(e.data?.length)return me(e.data,n)}}catch(e){console.warn(`[adobe] Failed to fetch proxy models:`,e instanceof Error?e.message:String(e))}return null}const Q=new Map;function ge(){return s(`anthropic`).map(e=>({...e,provider:`adobe`,api:`adobe-anthropic`}))}async function $(e){let t=S(),n=Q.get(t);if(n)return n;let r=await he(e);return r?(Q.set(t,r),r):ge()}function _e(){d({api:`adobe-anthropic`,stream:Y,streamSimple:X}),d({api:`adobe-openai`,stream:Y,streamSimple:X})}export{ue as __resetAdobeSessionIdWarningCacheForTests,I as config,$ as getAdobeModels,R as getValidAccessToken,le as isTokenExpired,_e as register};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./types-idfTVsM8.js";import{t as n}from"./global-db-DvmmimLY.js";const r=e(`mcp-apps`),i=`/workspace/.mcp/sprinkles`;async function a(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-DgMOH-Zj.js`).then(e=>e.t);return await t.create({dbName:n})}function o(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64)||`app`}function s(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function c(e,t){let n=s(t.title??t.name),r=t.description?s(t.description):``,i=s(t.templateUri??`about:blank`),a=JSON.stringify(e),o=JSON.stringify(t.name);return`<div class="mcp-app" data-sprinkle-title="${n}" style="display:flex;flex-direction:column;height:100%;min-height:0;">
1
+ import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./types-idfTVsM8.js";import{t as n}from"./global-db-DvmmimLY.js";const r=e(`mcp-apps`),i=`/workspace/.mcp/sprinkles`;async function a(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-BS22sTLO.js`).then(e=>e.t);return await t.create({dbName:n})}function o(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64)||`app`}function s(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function c(e,t){let n=s(t.title??t.name),r=t.description?s(t.description):``,i=s(t.templateUri??`about:blank`),a=JSON.stringify(e),o=JSON.stringify(t.name);return`<div class="mcp-app" data-sprinkle-title="${n}" style="display:flex;flex-direction:column;height:100%;min-height:0;">
2
2
  <header class="mcp-app__header" style="padding:8px 12px;border-bottom:1px solid var(--s2-border-subtle,#3a3a3a);">
3
3
  <h2 style="font-size:14px;font-weight:600;margin:0;">${n}</h2>${r?`\n <p style="font-size:12px;margin:4px 0 0;color:var(--s2-content-secondary,#a0a0a0);">${r}</p>`:``}
4
4
  </header>
@@ -1 +1 @@
1
- import{b as e,g as t}from"./account-store-DwSzwLW8.js";import{n}from"./event-stream-qbAZIAKV.js";import{t as r}from"./models-Bnh9VDA1.js";import{a as i}from"./compat-aVSWLlYQ.js";import{r as a,t as o}from"./transform-messages-wECJwtH0.js";import{t as s}from"./openai-BxFF4GUL.js";var c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let t=e(c);if(!t)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:n.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=o(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}function g(e){return{role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()}}function _(e,n){let r=n.apiKey;if(!r)throw Error(`Azure API key is required`);let i=e.baseUrl;if(!i)throw Error(`Azure endpoint is required`);let a={};e.headers&&Object.assign(a,e.headers),n.headers&&Object.assign(a,n.headers);let o=t(c)||l,u=e.id;return{client:new s({endpoint:i.replace(/\/+$/,``),apiKey:r,deployment:u,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:a}),deployment:u}}function v(e,t){return[...e.systemPrompt?[{role:`system`,content:e.systemPrompt}]:[],...f(e,t)]}function y(e,t,n){n&&(e.usage.input=n.prompt_tokens??0,e.usage.output=n.completion_tokens??0,e.usage.totalTokens=n.total_tokens??0,r(t,e.usage))}function b(e){return e===`tool_calls`?`toolUse`:e===`length`?`length`:`stop`}function x(e,t,n){let{block:r,index:i}=m(t);r.text===``&&e.push({type:`text_start`,contentIndex:i,partial:t}),r.text+=n,e.push({type:`text_delta`,contentIndex:i,delta:n,partial:t})}function S(e,t,n){let r=n.id?h(t,n.id):void 0;if(r||!n.id)return r;let i={type:`toolCall`,id:n.id,name:n.function?.name??``,arguments:{},_partialJson:``};return t.content.push(i),e.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t}),i}function C(e,t,n,r){n._partialJson+=r;try{n.arguments=JSON.parse(n._partialJson)}catch{}e.push({type:`toolcall_delta`,contentIndex:t.content.indexOf(n),delta:r,partial:t})}function w(e,t,n){for(let r of n){let n=S(e,t,r);n&&r.function?.arguments&&C(e,t,n,r.function.arguments)}}function T(e,t,n){let r=n.delta;r&&(r.content&&x(e,t,r.content),r.tool_calls&&w(e,t,r.tool_calls),n.finish_reason&&(t.stopReason=b(n.finish_reason)))}function E(e,t,n,r){try{n.arguments=JSON.parse(n._partialJson||`{}`)}catch{}delete n._partialJson,e.push({type:`toolcall_end`,contentIndex:r,toolCall:n,partial:t})}function D(e,t){for(let n=0;n<t.content.length;n+=1){let r=t.content[n];r.type===`toolCall`?E(e,t,r,n):r.type===`text`&&e.push({type:`text_end`,contentIndex:n,content:r.text,partial:t})}}async function O(e,t,n,r,i){let{client:a,deployment:o}=_(n,i),s=p(r.tools),c=await a.chat.completions.create({model:o,messages:v(r,n),stream:!0,stream_options:{include_usage:!0},...i.maxTokens?{max_completion_tokens:i.maxTokens}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...s?{tools:s}:{}});e.push({type:`start`,partial:t});for await(let r of c){y(t,n,r.usage);for(let n of r.choices??[])T(e,t,n)}D(e,t),e.push({type:`done`,reason:t.stopReason,message:t}),e.end()}function k(e,t,n,r){t.stopReason=r?`aborted`:`error`,t.errorMessage=n instanceof Error?n.message:JSON.stringify(n),e.push({type:`error`,reason:t.stopReason,error:t}),e.end()}var A=(e,t,r={})=>{let i=n(),a=g(e);return O(i,a,e,t,r).catch(e=>{k(i,a,e,!!r.signal?.aborted)}),i},j=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`Azure API key is required`);return A(e,t,{...a(e,n,r)})};function M(){i({api:`azure-openai-anthropic`,stream:A,streamSimple:j})}export{u as config,M as register};
1
+ import{b as e,g as t}from"./account-store-Bl8i_M1G.js";import{n}from"./event-stream-qbAZIAKV.js";import{t as r}from"./models-Bnh9VDA1.js";import{a as i}from"./compat-aVSWLlYQ.js";import{r as a,t as o}from"./transform-messages-wECJwtH0.js";import{t as s}from"./openai-BxFF4GUL.js";var c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let t=e(c);if(!t)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:n.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=o(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}function g(e){return{role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()}}function _(e,n){let r=n.apiKey;if(!r)throw Error(`Azure API key is required`);let i=e.baseUrl;if(!i)throw Error(`Azure endpoint is required`);let a={};e.headers&&Object.assign(a,e.headers),n.headers&&Object.assign(a,n.headers);let o=t(c)||l,u=e.id;return{client:new s({endpoint:i.replace(/\/+$/,``),apiKey:r,deployment:u,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:a}),deployment:u}}function v(e,t){return[...e.systemPrompt?[{role:`system`,content:e.systemPrompt}]:[],...f(e,t)]}function y(e,t,n){n&&(e.usage.input=n.prompt_tokens??0,e.usage.output=n.completion_tokens??0,e.usage.totalTokens=n.total_tokens??0,r(t,e.usage))}function b(e){return e===`tool_calls`?`toolUse`:e===`length`?`length`:`stop`}function x(e,t,n){let{block:r,index:i}=m(t);r.text===``&&e.push({type:`text_start`,contentIndex:i,partial:t}),r.text+=n,e.push({type:`text_delta`,contentIndex:i,delta:n,partial:t})}function S(e,t,n){let r=n.id?h(t,n.id):void 0;if(r||!n.id)return r;let i={type:`toolCall`,id:n.id,name:n.function?.name??``,arguments:{},_partialJson:``};return t.content.push(i),e.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t}),i}function C(e,t,n,r){n._partialJson+=r;try{n.arguments=JSON.parse(n._partialJson)}catch{}e.push({type:`toolcall_delta`,contentIndex:t.content.indexOf(n),delta:r,partial:t})}function w(e,t,n){for(let r of n){let n=S(e,t,r);n&&r.function?.arguments&&C(e,t,n,r.function.arguments)}}function T(e,t,n){let r=n.delta;r&&(r.content&&x(e,t,r.content),r.tool_calls&&w(e,t,r.tool_calls),n.finish_reason&&(t.stopReason=b(n.finish_reason)))}function E(e,t,n,r){try{n.arguments=JSON.parse(n._partialJson||`{}`)}catch{}delete n._partialJson,e.push({type:`toolcall_end`,contentIndex:r,toolCall:n,partial:t})}function D(e,t){for(let n=0;n<t.content.length;n+=1){let r=t.content[n];r.type===`toolCall`?E(e,t,r,n):r.type===`text`&&e.push({type:`text_end`,contentIndex:n,content:r.text,partial:t})}}async function O(e,t,n,r,i){let{client:a,deployment:o}=_(n,i),s=p(r.tools),c=await a.chat.completions.create({model:o,messages:v(r,n),stream:!0,stream_options:{include_usage:!0},...i.maxTokens?{max_completion_tokens:i.maxTokens}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...s?{tools:s}:{}});e.push({type:`start`,partial:t});for await(let r of c){y(t,n,r.usage);for(let n of r.choices??[])T(e,t,n)}D(e,t),e.push({type:`done`,reason:t.stopReason,message:t}),e.end()}function k(e,t,n,r){t.stopReason=r?`aborted`:`error`,t.errorMessage=n instanceof Error?n.message:JSON.stringify(n),e.push({type:`error`,reason:t.stopReason,error:t}),e.end()}var A=(e,t,r={})=>{let i=n(),a=g(e);return O(i,a,e,t,r).catch(e=>{k(i,a,e,!!r.signal?.aborted)}),i},j=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`Azure API key is required`);return A(e,t,{...a(e,n,r)})};function M(){i({api:`azure-openai-anthropic`,stream:A,streamSimple:j})}export{u as config,M as register};
@@ -1 +1 @@
1
- import{b as e,g as t}from"./account-store-DzwZMcTg.js";import{n}from"./event-stream-qbAZIAKV.js";import{o as r,r as i,t as a}from"./transform-messages-Bp94o3FD.js";import{p as o}from"./bedrock-camp-BO4bvAKs.js";import{t as s}from"./openai-CmTnPr9N.js";const c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let t=e(c);if(!t)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:n.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=a(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}function g(e){return{role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()}}function _(e,n){let r=n.apiKey;if(!r)throw Error(`Azure API key is required`);let i=e.baseUrl;if(!i)throw Error(`Azure endpoint is required`);let a={};e.headers&&Object.assign(a,e.headers),n.headers&&Object.assign(a,n.headers);let o=t(c)||l,u=e.id;return{client:new s({endpoint:i.replace(/\/+$/,``),apiKey:r,deployment:u,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:a}),deployment:u}}function v(e,t){return[...e.systemPrompt?[{role:`system`,content:e.systemPrompt}]:[],...f(e,t)]}function y(e,t,n){n&&(e.usage.input=n.prompt_tokens??0,e.usage.output=n.completion_tokens??0,e.usage.totalTokens=n.total_tokens??0,r(t,e.usage))}function b(e){return e===`tool_calls`?`toolUse`:e===`length`?`length`:`stop`}function x(e,t,n){let{block:r,index:i}=m(t);r.text===``&&e.push({type:`text_start`,contentIndex:i,partial:t}),r.text+=n,e.push({type:`text_delta`,contentIndex:i,delta:n,partial:t})}function S(e,t,n){let r=n.id?h(t,n.id):void 0;if(r||!n.id)return r;let i={type:`toolCall`,id:n.id,name:n.function?.name??``,arguments:{},_partialJson:``};return t.content.push(i),e.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t}),i}function C(e,t,n,r){n._partialJson+=r;try{n.arguments=JSON.parse(n._partialJson)}catch{}e.push({type:`toolcall_delta`,contentIndex:t.content.indexOf(n),delta:r,partial:t})}function w(e,t,n){for(let r of n){let n=S(e,t,r);n&&r.function?.arguments&&C(e,t,n,r.function.arguments)}}function T(e,t,n){let r=n.delta;r&&(r.content&&x(e,t,r.content),r.tool_calls&&w(e,t,r.tool_calls),n.finish_reason&&(t.stopReason=b(n.finish_reason)))}function E(e,t,n,r){try{n.arguments=JSON.parse(n._partialJson||`{}`)}catch{}delete n._partialJson,e.push({type:`toolcall_end`,contentIndex:r,toolCall:n,partial:t})}function D(e,t){for(let n=0;n<t.content.length;n+=1){let r=t.content[n];r.type===`toolCall`?E(e,t,r,n):r.type===`text`&&e.push({type:`text_end`,contentIndex:n,content:r.text,partial:t})}}async function O(e,t,n,r,i){let{client:a,deployment:o}=_(n,i),s=p(r.tools),c=await a.chat.completions.create({model:o,messages:v(r,n),stream:!0,stream_options:{include_usage:!0},...i.maxTokens?{max_completion_tokens:i.maxTokens}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...s?{tools:s}:{}});e.push({type:`start`,partial:t});for await(let r of c){y(t,n,r.usage);for(let n of r.choices??[])T(e,t,n)}D(e,t),e.push({type:`done`,reason:t.stopReason,message:t}),e.end()}function k(e,t,n,r){t.stopReason=r?`aborted`:`error`,t.errorMessage=n instanceof Error?n.message:JSON.stringify(n),e.push({type:`error`,reason:t.stopReason,error:t}),e.end()}const A=(e,t,r={})=>{let i=n(),a=g(e);return O(i,a,e,t,r).catch(e=>{k(i,a,e,!!r.signal?.aborted)}),i},j=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`Azure API key is required`);let a=i(e,n,r);return A(e,t,{...a})};function M(){o({api:`azure-openai-anthropic`,stream:A,streamSimple:j})}export{u as config,M as register};
1
+ import{b as e,g as t}from"./account-store-D1yHSv41.js";import{n}from"./event-stream-qbAZIAKV.js";import{o as r,r as i,t as a}from"./transform-messages-Bp94o3FD.js";import{p as o}from"./bedrock-camp-BO4bvAKs.js";import{t as s}from"./openai-CmTnPr9N.js";const c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let t=e(c);if(!t)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:n.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=a(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}function g(e){return{role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()}}function _(e,n){let r=n.apiKey;if(!r)throw Error(`Azure API key is required`);let i=e.baseUrl;if(!i)throw Error(`Azure endpoint is required`);let a={};e.headers&&Object.assign(a,e.headers),n.headers&&Object.assign(a,n.headers);let o=t(c)||l,u=e.id;return{client:new s({endpoint:i.replace(/\/+$/,``),apiKey:r,deployment:u,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:a}),deployment:u}}function v(e,t){return[...e.systemPrompt?[{role:`system`,content:e.systemPrompt}]:[],...f(e,t)]}function y(e,t,n){n&&(e.usage.input=n.prompt_tokens??0,e.usage.output=n.completion_tokens??0,e.usage.totalTokens=n.total_tokens??0,r(t,e.usage))}function b(e){return e===`tool_calls`?`toolUse`:e===`length`?`length`:`stop`}function x(e,t,n){let{block:r,index:i}=m(t);r.text===``&&e.push({type:`text_start`,contentIndex:i,partial:t}),r.text+=n,e.push({type:`text_delta`,contentIndex:i,delta:n,partial:t})}function S(e,t,n){let r=n.id?h(t,n.id):void 0;if(r||!n.id)return r;let i={type:`toolCall`,id:n.id,name:n.function?.name??``,arguments:{},_partialJson:``};return t.content.push(i),e.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t}),i}function C(e,t,n,r){n._partialJson+=r;try{n.arguments=JSON.parse(n._partialJson)}catch{}e.push({type:`toolcall_delta`,contentIndex:t.content.indexOf(n),delta:r,partial:t})}function w(e,t,n){for(let r of n){let n=S(e,t,r);n&&r.function?.arguments&&C(e,t,n,r.function.arguments)}}function T(e,t,n){let r=n.delta;r&&(r.content&&x(e,t,r.content),r.tool_calls&&w(e,t,r.tool_calls),n.finish_reason&&(t.stopReason=b(n.finish_reason)))}function E(e,t,n,r){try{n.arguments=JSON.parse(n._partialJson||`{}`)}catch{}delete n._partialJson,e.push({type:`toolcall_end`,contentIndex:r,toolCall:n,partial:t})}function D(e,t){for(let n=0;n<t.content.length;n+=1){let r=t.content[n];r.type===`toolCall`?E(e,t,r,n):r.type===`text`&&e.push({type:`text_end`,contentIndex:n,content:r.text,partial:t})}}async function O(e,t,n,r,i){let{client:a,deployment:o}=_(n,i),s=p(r.tools),c=await a.chat.completions.create({model:o,messages:v(r,n),stream:!0,stream_options:{include_usage:!0},...i.maxTokens?{max_completion_tokens:i.maxTokens}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...s?{tools:s}:{}});e.push({type:`start`,partial:t});for await(let r of c){y(t,n,r.usage);for(let n of r.choices??[])T(e,t,n)}D(e,t),e.push({type:`done`,reason:t.stopReason,message:t}),e.end()}function k(e,t,n,r){t.stopReason=r?`aborted`:`error`,t.errorMessage=n instanceof Error?n.message:JSON.stringify(n),e.push({type:`error`,reason:t.stopReason,error:t}),e.end()}const A=(e,t,r={})=>{let i=n(),a=g(e);return O(i,a,e,t,r).catch(e=>{k(i,a,e,!!r.signal?.aborted)}),i},j=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`Azure API key is required`);let a=i(e,n,r);return A(e,t,{...a})};function M(){o({api:`azure-openai-anthropic`,stream:A,streamSimple:j})}export{u as config,M as register};
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"./src-CS5gSDhT.js";import{t as r}from"./electron-overlay-route-CjT6k9Df.js";function i(e){try{let t=new URL(e);return`${t.protocol===`wss:`?`https:`:`http:`}//${t.host}`}catch{return null}}function a(e){try{let t=new URL(e);return`${t.protocol}//${t.host}/licks-ws`}catch{return null}}function o(o){let s;try{s=new URLSearchParams(o)}catch{return null}let c=s.get(t),l=s.get(e);if(!c||!l||!/^wss?:\/\//.test(c))return null;let u=s.get(r),d=u===`leader`||u===`follower`?u:null;return{url:c,subprotocol:`${n}${l}`,token:l,apiBaseUrl:i(c),lickWsUrl:a(c),role:d}}export{o as t};
1
+ import{c as e,o as t,s as n}from"./src-DoFhVmQT.js";import{t as r}from"./electron-overlay-route-CjT6k9Df.js";function i(e){try{let t=new URL(e);return`${t.protocol===`wss:`?`https:`:`http:`}//${t.host}`}catch{return null}}function a(e){try{let t=new URL(e);return`${t.protocol}//${t.host}/licks-ws`}catch{return null}}function o(o){let s;try{s=new URLSearchParams(o)}catch{return null}let c=s.get(e),l=s.get(n);if(!c||!l||!/^wss?:\/\//.test(c))return null;let u=s.get(r),d=u===`leader`||u===`follower`?u:null;return{url:c,subprotocol:`${t}${l}`,token:l,apiBaseUrl:i(c),lickWsUrl:a(c),role:d}}export{o as t};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-BoJS9hdc.js";import"./remote-cdp-transport-DOoXIxy3.js";var t=e(`cdp`),n=4001,r=class{ws=null;nextId=1;_superseded=!1;pending=new Map;listeners=new Map;_state=`disconnected`;get state(){return this._state}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:n,timeout:r=5e3,protocols:i}=e;return this._state=`connecting`,new Promise((e,a)=>{let o=setTimeout(()=>{this.cleanup(),a(Error(`CDP connection timed out after ${r}ms`))},r);try{this.ws=i===void 0?new WebSocket(n):new WebSocket(n,i)}catch(e){clearTimeout(o),this._state=`disconnected`,a(e);return}this.ws.onopen=()=>{clearTimeout(o),this._state=`connected`,this._superseded=!1,t.info(`Connected`,{url:n}),e()},this.ws.onerror=e=>{clearTimeout(o),this._state===`connecting`&&(t.error(`Connection failed`,{url:n}),this.cleanup(),a(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),t.info(`Disconnected`)}async send(e,n,r,i=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let a=this.nextId++,o={id:a,method:e};return n&&(o.params=n),r&&(o.sessionId=r),t.debug(`Send`,{method:e,id:a,sessionId:r}),new Promise((t,n)=>{let r=setTimeout(()=>{this.pending.delete(a),n(Error(`CDP command timed out after ${i}ms: ${e}`))},i);this.pending.set(a,{resolve:e=>{clearTimeout(r),t(e)},reject:e=>{clearTimeout(r),n(e)}}),this.ws.send(JSON.stringify(o))})}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}handleMessage(e){let n;try{n=JSON.parse(e)}catch{return}if(`id`in n&&typeof n.id==`number`){let e=n;t.debug(`Response`,{id:e.id,hasError:!!e.error});let r=this.pending.get(e.id);r&&(this.pending.delete(e.id),e.error?(t.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),r.reject(Error(`CDP error: ${e.error.message} (${e.error.code})`))):r.resolve(e.result??{}));return}if(`method`in n){let e=n;t.debug(`Event`,{method:e.method,sessionId:e.sessionId});let r=this.listeners.get(e.method);if(r){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of r)try{e(t)}catch{}}}}handleClose(e){let r=e===n;r?(this._superseded=!0,t.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):t.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size});let i=r?`CDP connection superseded by another SLICC tab/window on this instance`:`CDP connection closed`;for(let[,e]of this.pending)e.reject(Error(i));this.cleanup()}cleanup(){this.ws=null,this._state=`disconnected`,this.pending.clear()}},i=`(function() {
1
+ import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-DkN9hU8i.js";import"./remote-cdp-transport-Dmg2NdTA.js";var t=e(`cdp`),n=4001,r=class{ws=null;nextId=1;_superseded=!1;pending=new Map;listeners=new Map;_state=`disconnected`;get state(){return this._state}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:n,timeout:r=5e3,protocols:i}=e;return this._state=`connecting`,new Promise((e,a)=>{let o=setTimeout(()=>{this.cleanup(),a(Error(`CDP connection timed out after ${r}ms`))},r);try{this.ws=i===void 0?new WebSocket(n):new WebSocket(n,i)}catch(e){clearTimeout(o),this._state=`disconnected`,a(e);return}this.ws.onopen=()=>{clearTimeout(o),this._state=`connected`,this._superseded=!1,t.info(`Connected`,{url:n}),e()},this.ws.onerror=e=>{clearTimeout(o),this._state===`connecting`&&(t.error(`Connection failed`,{url:n}),this.cleanup(),a(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),t.info(`Disconnected`)}async send(e,n,r,i=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let a=this.nextId++,o={id:a,method:e};return n&&(o.params=n),r&&(o.sessionId=r),t.debug(`Send`,{method:e,id:a,sessionId:r}),new Promise((t,n)=>{let r=setTimeout(()=>{this.pending.delete(a),n(Error(`CDP command timed out after ${i}ms: ${e}`))},i);this.pending.set(a,{resolve:e=>{clearTimeout(r),t(e)},reject:e=>{clearTimeout(r),n(e)}}),this.ws.send(JSON.stringify(o))})}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}handleMessage(e){let n;try{n=JSON.parse(e)}catch{return}if(`id`in n&&typeof n.id==`number`){let e=n;t.debug(`Response`,{id:e.id,hasError:!!e.error});let r=this.pending.get(e.id);r&&(this.pending.delete(e.id),e.error?(t.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),r.reject(Error(`CDP error: ${e.error.message} (${e.error.code})`))):r.resolve(e.result??{}));return}if(`method`in n){let e=n;t.debug(`Event`,{method:e.method,sessionId:e.sessionId});let r=this.listeners.get(e.method);if(r){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of r)try{e(t)}catch{}}}}handleClose(e){let r=e===n;r?(this._superseded=!0,t.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):t.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size});let i=r?`CDP connection superseded by another SLICC tab/window on this instance`:`CDP connection closed`;for(let[,e]of this.pending)e.reject(Error(i));this.cleanup()}cleanup(){this.ws=null,this._state=`disconnected`,this.pending.clear()}},i=`(function() {
2
2
  'use strict';
3
3
 
4
4
  // ===== DOM Utilities =====
@@ -1 +1 @@
1
- import{h as e}from"./account-store-DzwZMcTg.js";import{n as t}from"./event-stream-qbAZIAKV.js";import{p as n}from"./bedrock-camp-BO4bvAKs.js";import{r,s as i}from"./legacy-api-aliases-sqlB2uHc.js";const a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`;let u=[];const d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}const _=(e,n,i={})=>{let a=t();return(async()=>{try{let t=r({...e,baseUrl:o,api:s},n,i);for await(let e of t)a.push(e);a.end()}catch(t){console.error(`[cerebras] Stream error:`,t instanceof Error?t.message:String(t)),a.push(g(e,t)),a.end()}})(),a},v=(e,n,r)=>{let a=t();return(async()=>{try{let t=i({...e,baseUrl:o,api:s},n,r);for await(let e of t)a.push(e);a.end()}catch(t){console.error(`[cerebras] Stream error:`,t instanceof Error?t.message:String(t)),a.push(g(e,t)),a.end()}})(),a},y={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function b(){n({api:c,stream:_,streamSimple:v})}export{y as config,b as register};
1
+ import{h as e}from"./account-store-D1yHSv41.js";import{n as t}from"./event-stream-qbAZIAKV.js";import{p as n}from"./bedrock-camp-BO4bvAKs.js";import{r,s as i}from"./legacy-api-aliases-sqlB2uHc.js";const a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`;let u=[];const d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}const _=(e,n,i={})=>{let a=t();return(async()=>{try{let t=r({...e,baseUrl:o,api:s},n,i);for await(let e of t)a.push(e);a.end()}catch(t){console.error(`[cerebras] Stream error:`,t instanceof Error?t.message:String(t)),a.push(g(e,t)),a.end()}})(),a},v=(e,n,r)=>{let a=t();return(async()=>{try{let t=i({...e,baseUrl:o,api:s},n,r);for await(let e of t)a.push(e);a.end()}catch(t){console.error(`[cerebras] Stream error:`,t instanceof Error?t.message:String(t)),a.push(g(e,t)),a.end()}})(),a},y={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function b(){n({api:c,stream:_,streamSimple:v})}export{y as config,b as register};