sliccy 5.83.0 → 5.84.1
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.
- package/README.md +1 -0
- package/dist/node-server/_shared/tray-sync-protocol.d.ts +2 -0
- package/dist/node-server/_shared/tray-sync-protocol.d.ts.map +1 -1
- package/dist/node-server/_shared/tray-sync-protocol.js.map +1 -1
- package/dist/ui/assets/{account-store-Cd-tdnVM.js → account-store-CIBUpBw2.js} +1 -1
- package/dist/ui/assets/account-store-Dg-88ChJ.js +101 -0
- package/dist/ui/assets/{adobe-D5qaF266.js → adobe-CVUX352o.js} +1 -1
- package/dist/ui/assets/{adobe-DyOr7WDY.js → adobe-DAu9m3li.js} +1 -1
- package/dist/ui/assets/{apps-BZ7jo_tV.js → apps-xHXbN2GJ.js} +1 -1
- package/dist/ui/assets/{azure-openai-DQcYkDOO.js → azure-openai-BRzd21eO.js} +1 -1
- package/dist/ui/assets/{azure-openai-DW-IHPrw.js → azure-openai-Cj6dde55.js} +1 -1
- package/dist/ui/assets/{cerebras-DHhVwBA5.js → cerebras-CSw0virw.js} +1 -1
- package/dist/ui/assets/{cerebras-V-Vr1a1Q.js → cerebras-DEHTb-Jp.js} +1 -1
- package/dist/ui/assets/{connect-surface-jT1zpRuM.js → connect-surface-B3wGdqfR.js} +1 -1
- package/dist/ui/assets/{db-DjAqlQ2I.js → db-BTiVtoD4.js} +1 -1
- package/dist/ui/assets/{fs-Dw5TZrdP.js → fs-VwSXMsmq.js} +1 -1
- package/dist/ui/assets/{fs-BN93wigF.js → fs-g_oZbQ21.js} +2 -2
- package/dist/ui/assets/{github-Dmh6WFSu.js → github-CyRcWzgO.js} +1 -1
- package/dist/ui/assets/{github-Mf9cKlpI.js → github-DjZvupYV.js} +2 -2
- package/dist/ui/assets/{github-copilot-BIU8__wL.js → github-copilot-BsgIQbuu.js} +1 -1
- package/dist/ui/assets/{github-copilot-gHM-PlKT.js → github-copilot-CdLypAPy.js} +1 -1
- package/dist/ui/assets/{kernel-worker-BPvDXoE4.js → kernel-worker-O-LVJQ2M.js} +595 -595
- package/dist/ui/assets/{lick-manager-wU1FKkH8.js → lick-manager-Ce_d4NxJ.js} +1 -1
- package/dist/ui/assets/{local-llm-3iOvTJly.js → local-llm-Bo1kGMdi.js} +1 -1
- package/dist/ui/assets/{local-llm-CD3hgBkq.js → local-llm-C0t8US-G.js} +1 -1
- package/dist/ui/assets/{main-DU7ZMaRI.js → main-DiIgQpU7.js} +3 -3
- package/dist/ui/assets/{mount-B92bwZG6.js → mount-D3ittikV.js} +1 -1
- package/dist/ui/assets/{mount-DUrYX2YO.js → mount-OjhGugIM.js} +2 -2
- package/dist/ui/assets/{mount-recovery-DEoVeBdn.js → mount-recovery-xwx3blgR.js} +1 -1
- package/dist/ui/assets/{new-session-fsGH73gc.js → new-session-CM_drdQb.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-BK2dnpDr.js → oauth-bootstrap-CksCYB3j.js} +2 -2
- package/dist/ui/assets/{openai-codex-C_BBxLdW.js → openai-codex-BngX1JyO.js} +1 -1
- package/dist/ui/assets/{openai-codex-8fuGDS_6.js → openai-codex-CqUAR4bA.js} +1 -1
- package/dist/ui/assets/{openrouter-Yc2BPFgw.js → openrouter-BPw5Sadh.js} +1 -1
- package/dist/ui/assets/{openrouter-DQOKBpdt.js → openrouter-DuuXMYpn.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Cx6tOntT.js → openrouter-oauth-BZGhluYu.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DqtbI5Cg.js → openrouter-oauth-D8PeRKGv.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-Br6tQT81.js → panel-rpc-handlers-Bo8vrbSN.js} +2 -2
- package/dist/ui/assets/{provider-1pHZr1WO.js → provider-BGfZxYoy.js} +1 -1
- package/dist/ui/assets/{provider-C8QWCpz8.js → provider-CE7DxoOs.js} +2 -2
- package/dist/ui/assets/{provider-settings-DV3qVADA.js → provider-settings-BlX2WDPs.js} +1 -1
- package/dist/ui/assets/{provider-settings-D8S5YdaW.js → provider-settings-DpKLVtWv.js} +1 -1
- package/dist/ui/assets/provider-store-access-D5wBiefF.js +1 -0
- package/dist/ui/assets/{provider-store-access-DB7c9hOI.js → provider-store-access-DMG7bO02.js} +2 -2
- package/dist/ui/assets/{providers-NWbn4JJG.js → providers-Bf8LGL3R.js} +1 -1
- package/dist/ui/assets/{providers-DG12esho.js → providers-DtodZfUb.js} +2 -2
- package/dist/ui/assets/{quick-llm-BIdwKjMA.js → quick-llm-CeEUNaq_.js} +1 -1
- package/dist/ui/assets/{session-freezer-5kKWFNcz.js → session-freezer-BWXlNuLZ.js} +2 -2
- package/dist/ui/assets/{setup-standalone-prelude-DM59hg5k.js → setup-standalone-prelude-B3IfFCKC.js} +1 -1
- package/dist/ui/assets/{setup-sudo-DGndYAJc.js → setup-sudo-COdRfoNx.js} +2 -2
- package/dist/ui/assets/{skills-D215gXLe.js → skills-C0KYnRNq.js} +1 -1
- package/dist/ui/assets/{src-6TqoULh8.js → src-q42bWiRK.js} +1 -1
- package/dist/ui/assets/{store-i2-wAf3y.js → store-BkJEbwIV.js} +1 -1
- package/dist/ui/assets/{sudo-DHC3U4QT.js → sudo-C14xgLpR.js} +1 -1
- package/dist/ui/assets/upgrade-detection-7iVU0rhN.js +1 -0
- package/dist/ui/assets/{wc-attach-CYMk5mBA.js → wc-attach-BEw0uKlO.js} +2 -2
- package/dist/ui/assets/{wc-extension-BfcIbw-G.js → wc-extension-D51Vv0vp.js} +2 -2
- package/dist/ui/assets/wc-floatbar-online-0Dg_sFmu.js +5 -0
- package/dist/ui/assets/wc-follower-c5fHMODp.js +17 -0
- package/dist/ui/assets/wc-live-C9XjDjJF.js +8 -0
- package/dist/ui/assets/{wc-nav-Dlamz3gp.js → wc-nav-lsahpZ4D.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-Bx26DTML.js → wc-onboarding-Cv35SFqQ.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-Do_J1qRT.js → wc-placeholder-CVW34MdT.js} +2 -2
- package/dist/ui/assets/{wc-settings--XI5hGQK.js → wc-settings-hY2enRpj.js} +2 -2
- package/dist/ui/assets/{wc-shell-CaWIMRFL.js → wc-shell-sWdEFmce.js} +4 -4
- package/dist/ui/assets/{wc-sprinkles-C-q1vy-w.js → wc-sprinkles-eo_EqzP6.js} +2 -2
- package/dist/ui/assets/wc-tray-CIccOKgS.js +2 -0
- package/dist/ui/assets/{xai-grok-sdVcuvWJ.js → xai-grok-Cx13gJC8.js} +1 -1
- package/dist/ui/assets/{xai-grok-Bdtkb3qG.js → xai-grok-QqXg9_fn.js} +1 -1
- package/dist/ui/index.html +6 -6
- package/dist/ui/packages/webapp/index.html +6 -6
- package/package.json +2 -2
- package/dist/ui/assets/account-store-wRKPNSLk.js +0 -101
- package/dist/ui/assets/provider-store-access-B_8R8fuZ.js +0 -1
- package/dist/ui/assets/upgrade-detection-B3319J2u.js +0 -1
- package/dist/ui/assets/wc-floatbar-online-DD7hSYol.js +0 -5
- package/dist/ui/assets/wc-follower-THDkOvKD.js +0 -17
- package/dist/ui/assets/wc-live-DA3HbK_D.js +0 -8
- package/dist/ui/assets/wc-tray-DllMR8uZ.js +0 -2
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>slicc</title>
|
|
7
7
|
<link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
|
|
8
|
-
<script type="module" crossorigin src="/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/assets/main-DiIgQpU7.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-Dezn_h7o.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
|
|
@@ -26,23 +26,23 @@
|
|
|
26
26
|
<link rel="modulepreload" crossorigin href="/assets/port-bridge-client-DdolH4cw.js">
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/assets/secrets-bridge-client-CLRo0NLf.js">
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/tool-ui-DfXu6quJ.js">
|
|
29
|
-
<link rel="modulepreload" crossorigin href="/assets/providers-
|
|
29
|
+
<link rel="modulepreload" crossorigin href="/assets/providers-DtodZfUb.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/panel-rpc-DmJSNs0I.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/transform-messages-wECJwtH0.js">
|
|
32
32
|
<link rel="modulepreload" crossorigin href="/assets/bedrock-camp-CVignIdH.js">
|
|
33
|
-
<link rel="modulepreload" crossorigin href="/assets/account-store-
|
|
33
|
+
<link rel="modulepreload" crossorigin href="/assets/account-store-CIBUpBw2.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/electron-overlay-route-CjT6k9Df.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/bridge-launch-params-QY3l_LbM.js">
|
|
36
36
|
<link rel="modulepreload" crossorigin href="/assets/messages-BD4p8GuF.js">
|
|
37
37
|
<link rel="modulepreload" crossorigin href="/assets/tray-runtime-config-9kTxza5l.js">
|
|
38
38
|
<link rel="modulepreload" crossorigin href="/assets/runtime-mode-BweZnYql.js">
|
|
39
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-
|
|
40
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-
|
|
39
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-COdRfoNx.js">
|
|
40
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-B3IfFCKC.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/assets/telemetry-Dxrv_mDE.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/assets/tray-follower-status-5SqDRLX8.js">
|
|
43
43
|
<link rel="modulepreload" crossorigin href="/assets/clipboard-DuHpK59o.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/assets/tray-join-url-BIvzbiFR.js">
|
|
45
|
-
<link rel="modulepreload" crossorigin href="/assets/provider-settings-
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/provider-settings-BlX2WDPs.js">
|
|
46
46
|
</head>
|
|
47
47
|
<body>
|
|
48
48
|
<div id="app"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sliccy",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.84.1",
|
|
4
4
|
"description": "Browser-based coding agent with thin CLI server",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"husky": "9.1.7",
|
|
118
118
|
"jscpd": "5.0.14",
|
|
119
119
|
"knip": "^6.11.0",
|
|
120
|
-
"lint-staged": "17.1.
|
|
120
|
+
"lint-staged": "17.1.1",
|
|
121
121
|
"patch-package": "8.0.1",
|
|
122
122
|
"playwright": "^1.58.2",
|
|
123
123
|
"prettier": "3.9.6",
|
|
@@ -1,101 +0,0 @@
|
|
|
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-NWbn4JJG.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{c as h,d as g,f as ee,l as _,r as te,t as ne,u as re}from"./bedrock-camp-BO4bvAKs.js";const ie=`slicc_oauth_extra_domains`;function ae(e){try{let t=e.getItem(ie);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 oe(e,t){try{e.setItem(ie,JSON.stringify(t))}catch(e){throw Error(`Failed to persist OAuth extras (localStorage quota exceeded?): ${e instanceof Error?e.message:String(e)}`)}}function se(){return d()?`extension-direct`:c()?`extension-delegate`:globalThis.__slicc_connect_mode?`connect`:`node-rest`}function ce(){return se()===`node-rest`}const le={assign:0,create:0,clone:0,discard:0,update:0};function v(e,t){return le.assign+=1,{...e,...t}}function ue(e,t,n){return e>=t&&e<=n}function de(e){return ue(e,127462,127487)}function fe(e){return ue(e,65024,65039)}function pe(e){return ue(e,768,879)||ue(e,6832,6911)||ue(e,7616,7679)||ue(e,65056,65071)}function me(e){return e>65535?2:1}function he(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(pe(n)||fe(n))t+=me(n);else break}return t}function ge(e,t){let n=e.codePointAt(t),r=t+me(n);for(r=he(e,r);r<e.length-1&&e[r]===``;){let t=e.codePointAt(r+1);r+=1+me(t),r=he(e,r)}return de(n)&&r<e.length&&de(e.codePointAt(r))&&(r+=me(e.codePointAt(r))),r}function _e(e){return ue(e,55296,56319)||ue(e,768,879)||e===8205}function ve(e){let t=0,n=0;for(;n<e.length;)n=ge(e,n),t++;return t}function ye(e,t){if(t===0)return!0;let n=0,r=0;for(;r<e.length;)if(r=ge(e,r),n++,n>=t)return!0;return!1}function be(e,t){let n=0,r=0;for(;r<e.length;)if(r=ge(e,r),n++,n>t)return!1;return!0}function xe(e,t){if(t===0)return!0;let n=0;for(;n<e.length;){if(_e(e.charCodeAt(n)))return ye(e,t);if(n++,n>=t)return!0}return!1}function Se(e,t){let n=0;for(;n<e.length;){if(_e(e.charCodeAt(n)))return be(e,t);if(n++,n>t)return!1}return!0}var Ce=e({Entries:()=>Ze,EntriesRegExp:()=>Xe,Every:()=>qe,EveryAll:()=>Je,GraphemeCount:()=>We,HasPropertyKey:()=>C,IsArray:()=>we,IsAsyncIterator:()=>Te,IsBigInt:()=>Ee,IsBoolean:()=>De,IsClassInstance:()=>He,IsConstructor:()=>Oe,IsDeepEqual:()=>nt,IsEqual:()=>x,IsFunction:()=>ke,IsGreaterEqualThan:()=>Be,IsGreaterThan:()=>Le,IsInteger:()=>Ae,IsIterator:()=>je,IsLessEqualThan:()=>ze,IsLessThan:()=>Re,IsMaxLength:()=>Ge,IsMinLength:()=>Ke,IsMultipleOf:()=>Ve,IsNull:()=>Me,IsNumber:()=>Ne,IsObject:()=>y,IsObjectNotArray:()=>Pe,IsString:()=>b,IsSymbol:()=>Fe,IsUndefined:()=>Ie,IsUnsafePropertyKey:()=>Ye,IsValueLike:()=>Ue,Keys:()=>w,Symbols:()=>Qe,TakeLeft:()=>S,Values:()=>$e});function we(e){return Array.isArray(e)}function Te(e){return y(e)&&Symbol.asyncIterator in e}function Ee(e){return x(typeof e,`bigint`)}function De(e){return x(typeof e,`boolean`)}function Oe(e){if(Ie(e)||!ke(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function ke(e){return x(typeof e,`function`)}function Ae(e){return Number.isInteger(e)}function je(e){return y(e)&&Symbol.iterator in e}function Me(e){return x(e,null)}function Ne(e){return Number.isFinite(e)}function Pe(e){return y(e)&&!we(e)}function y(e){return x(typeof e,`object`)&&!Me(e)}function b(e){return x(typeof e,`string`)}function Fe(e){return x(typeof e,`symbol`)}function Ie(e){return x(e,void 0)}function x(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){return e>=t}function Ve(e,t){if(Ee(e)||Ee(t))return BigInt(e)%BigInt(t)===0n;if(!Ne(e)||Ae(e)&&1/t%1==0)return!0;let n=e%t;return Math.min(Math.abs(n),Math.abs(n-t))<1e-10}function He(e){if(!y(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return!Me(t)&&x(typeof t.constructor,`function`)&&!(x(t.constructor,globalThis.Object)||x(t.constructor.name,`Object`))}function Ue(e){return Ee(e)||De(e)||Me(e)||Ne(e)||b(e)||Ie(e)}function We(e){return ve(e)}function Ge(e,t){return Se(e,t)}function Ke(e,t){return xe(e,t)}function qe(e,t,n){for(let r=t;r<e.length;r++)if(!n(e[r],r))return!1;return!0}function Je(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 Ye(e){return x(e,`__proto__`)||x(e,`constructor`)||x(e,`prototype`)}function C(e,t){return Ye(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function Xe(e){return w(e).map(t=>[RegExp(`^${t}$`),e[t]])}function Ze(e){return Object.entries(e)}function w(e){return Object.getOwnPropertyNames(e)}function Qe(e){return Object.getOwnPropertySymbols(e)}function $e(e){return Object.values(e)}function et(e,t){if(!y(t))return!1;let n=w(e);return x(n.length,w(t).length)&&n.every(n=>nt(e[n],t[n]))}function tt(e,t){return we(t)&&x(e.length,t.length)&&e.every((n,r)=>nt(e[r],t[r]))}function nt(e,t){return we(e)?tt(e,t):y(e)?et(e,t):x(e,t)}function rt(e){return e instanceof Boolean}function it(e){return e instanceof Number}function at(e){return e instanceof String}function ot(e){return globalThis.ArrayBuffer.isView(e)}function st(e){return e instanceof globalThis.RegExp}function ct(e){return e instanceof globalThis.Date}function lt(e){return e instanceof globalThis.Set}function ut(e){return e instanceof globalThis.Map}function dt(e){return y(e)&&C(e,`~guard`)}function ft(e){return e}function pt(e){return e.map(e=>_t(e))}function mt(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:_t(r.value)})}return t}function ht(e){return new RegExp(e.source,e.flags)}function gt(e){return e}function _t(e){return e instanceof RegExp?ht(e):dt(e)?ft(e):we(e)?pt(e):y(e)?mt(e):gt(e)}function vt(e){return le.clone+=1,_t(e)}const yt={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1};function bt(){return yt}function xt(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 St(e,t){return{...e,...t}}function T(e,t,n={}){le.create+=1;let r=bt(),i=St(t,n),a=r.enumerableKind?St(i,e):xt(i,e);return r.immutableTypes?Object.freeze(a):a}function Ct(e,t){le.discard+=1;let n={},r=Object.getOwnPropertyDescriptors(vt(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){le.update+=1;let r=bt(),i=vt(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 wt(e){return y(e)}function Tt(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`OptionalAddAction`)&&wt(e.type)}function Et(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`OptionalRemoveAction`)&&wt(e.type)}function Dt(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`ReadonlyAddAction`)&&wt(e.type)}function Ot(e){return y(e)&&C(e,`~kind`)&&C(e,`type`)&&x(e[`~kind`],`ReadonlyRemoveAction`)&&wt(e.type)}function O(e,t,n){return T({"~kind":`Deferred`},{action:e,parameters:t,options:n},{})}function kt(e){return D(e,`Deferred`)}function At(e,t){return T({"~kind":`Promise`},{type:`promise`,item:e},t)}function jt(e){return D(e,`Promise`)}function Mt(e){return Ct(e,[`~kind`,`type`,`item`])}function Nt(e){return E(e,{"~immutable":!0},{})}function Pt(e){return Nt(e)}function Ft(e){return wt(e)&&C(e,`~immutable`)}function It(e){return Ct(e,[`~optional`])}function Lt(e){return E(e,{"~optional":!0},{})}function Rt(e){return Lt(e)}function zt(e){return wt(e)&&C(e,`~optional`)}function Bt(e){return Ct(e,[`~readonly`])}function Vt(e){return E(e,{"~readonly":!0},{})}function Ht(e){return Vt(e)}function Ut(e){return wt(e)&&C(e,`~readonly`)}function Wt(e){return{enumerable:bt().enumerableKind,writable:!1,configurable:!1,value:e}}var Gt=class{constructor(){globalThis.Object.defineProperty(this,`~kind`,Wt(`Base`)),globalThis.Object.defineProperty(this,`~guard`,Wt({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 Kt(e){return D(e,`Base`)}function qt(e,t){return T({"~kind":`Array`},{type:`array`,items:e},t)}function Jt(e){return D(e,`Array`)}function Yt(e){return Ct(e,[`~kind`,`type`,`items`])}function Xt(e,t){return T({"~kind":`AsyncIterator`},{type:`asyncIterator`,iteratorItems:e},t)}function Zt(e){return D(e,`AsyncIterator`)}function Qt(e){return Ct(e,[`~kind`,`type`,`iteratorItems`])}function $t(e,t,n={}){return T({"~kind":`Constructor`},{type:`constructor`,parameters:e,instanceType:t},n)}function en(e){return D(e,`Constructor`)}function tn(e){return Ct(e,[`~kind`,`type`,`parameters`,`instanceType`])}function nn(e,t,n={}){return T({"~kind":`Function`},{type:`function`,parameters:e,returnType:t},n)}function rn(e){return D(e,`Function`)}function an(e){return Ct(e,[`~kind`,`type`,`parameters`,`returnType`])}function on(e,t){return T({"~kind":`Ref`},{$ref:e},t)}function sn(e){return D(e,`Ref`)}function cn(e,t){return T({"~kind":`Generic`},{type:`generic`,parameters:e,expression:t})}function ln(e){return D(e,`Generic`)}function un(e){return T({"~kind":`Any`},{},e)}function dn(e){return D(e,`Any`)}function k(e){return T({"~kind":`Never`},{not:{}},e)}function fn(e){return D(e,`Never`)}function pn(e){return w(e).filter(t=>!zt(e[t]))}function mn(e){return w(e)}function hn(e){return $e(e)}function A(e,t={}){let n=pn(e);return T({"~kind":`Object`},{type:`object`,...n.length>0?{required:n}:{},properties:e},t)}function j(e){return D(e,`Object`)}function gn(e){return Ct(e,[`~kind`,`type`,`properties`,`required`])}function M(e,t={}){return T({"~kind":`Union`},{anyOf:e},t)}function N(e){return D(e,`Union`)}function _n(e){return Ct(e,[`~kind`,`anyOf`])}function vn(e){return T({"~kind":`Unknown`},{},e)}function yn(e){return D(e,`Unknown`)}function bn(e,t,n){return T({"~kind":`Cyclic`},{$defs:w(e).reduce((t,n)=>({...t,[n]:E(e[n],{},{$id:n})}),{}),$ref:t},n)}function xn(e){return D(e,`Cyclic`)}function Sn(e){return Pe(e)&&C(e,`~unsafe`)&&Me(e[`~unsafe`])}function Cn(e){return D(e,`Infer`)}function wn(e){return D(e,`Enum`)}function Tn(e,t={}){return T({"~kind":`Intersect`},{allOf:e},t)}function P(e){return D(e,`Intersect`)}function En(e){return Ct(e,[`~kind`,`allOf`])}function Dn(){throw Error(`Unreachable`)}var On=e({Hash:()=>tr,HashCode:()=>er});function kn(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 An(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 jn=BigInt(`14695981039346656037`);const[Mn,Nn]=[BigInt(`1099511628211`),BigInt(`18446744073709551616`)],Pn=Array.from({length:256}).map((e,t)=>BigInt(t)),Fn=new Float64Array(1),In=new DataView(Fn.buffer),Ln=new Uint8Array(Fn.buffer);function I(e){jn^=Pn[e],jn=jn*Mn%Nn}function Rn(e){I(F.Array);for(let t of e)$n(t)}function zn(e){I(F.BigInt),In.setBigInt64(0,e);for(let e of Ln)I(e)}function Bn(e){I(F.Boolean),I(+!!e)}function Vn(e){I(F.Constructor),$n(e.toString())}function Hn(e){I(F.Date),$n(e.getTime())}function Un(e){I(F.Function),$n(e.toString())}function Wn(e){I(F.Null)}function Gn(e){I(F.Number),In.setFloat64(0,e,!0);for(let e of Ln)I(e)}function Kn(e){I(F.Object);for(let t of kn(e).sort())$n(t),$n(e[t])}function qn(e){I(F.RegExp),Yn(e.toString())}const Jn=new TextEncoder;function Yn(e){I(F.String);for(let t of Jn.encode(e))I(t)}function Xn(e){I(F.Symbol),$n(e.toString())}function Zn(e){I(F.TypeArray);let t=new Uint8Array(e.buffer);for(let e=0;e<t.length;e++)I(t[e])}function Qn(e){return I(F.Undefined)}function $n(e){return ot(e)?Zn(e):ct(e)?Hn(e):st(e)?qn(e):rt(e)?Bn(e.valueOf()):at(e)?Yn(e.valueOf()):it(e)?Gn(e.valueOf()):An(e)?Gn(e):we(e)?Rn(e):De(e)?Bn(e):Ee(e)?zn(e):Oe(e)?Vn(e):Me(e)?Wn(e):y(e)?Kn(e):b(e)?Yn(e):Fe(e)?Xn(e):Ie(e)?Qn(e):ke(e)?Un(e):Dn()}function er(e){return jn=BigInt(`14695981039346656037`),$n(e),jn}function tr(e){return er(e).toString(16).padStart(16,`0`)}function nr(e){return wt(e)&&C(e,`~codec`)&&y(e[`~codec`])&&C(e[`~codec`],`encode`)&&C(e[`~codec`],`decode`)}function rr(e){return T({"~kind":`BigInt`},{type:`bigint`},e)}function ir(e){return D(e,`BigInt`)}function ar(e){return D(e,`Boolean`)}const or=`-?(?:0|[1-9][0-9]*)`;function sr(e){return T({"~kind":`Integer`},{type:`integer`},e)}function cr(e){return D(e,`Integer`)}function lr(e,t){return T({"~kind":`Iterator`},{type:`iterator`,iteratorItems:e},t)}function ur(e){return D(e,`Iterator`)}function dr(e){return Ct(e,[`~kind`,`type`,`iteratorItems`])}var fr=class extends Error{constructor(e){super(`Invalid Literal value`),Object.defineProperty(this,"cause",{value:{value:e},writable:!1,configurable:!1,enumerable:!1})}};function pr(e){return Ee(e)?`bigint`:De(e)?`boolean`:Ne(e)?`number`:b(e)?`string`:(()=>{throw new fr(e)})()}function L(e,t){return T({"~kind":`Literal`},{type:pr(e),const:e},t)}function mr(e){return Ee(e)||De(e)||Ne(e)||b(e)}function hr(e){return R(e)&&Ee(e.const)}function gr(e){return R(e)&&De(e.const)}function _r(e){return R(e)&&Ne(e.const)}function vr(e){return R(e)&&b(e.const)}function R(e){return D(e,`Literal`)}function yr(e){return T({"~kind":`Null`},{type:`null`},e)}function br(e){return D(e,`Null`)}const xr=`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`;function Sr(e){return T({"~kind":`Number`},{type:`number`},e)}function Cr(e){return D(e,`Number`)}function wr(e){return T({"~kind":`Symbol`},{type:`symbol`},e)}function Tr(e){return D(e,`Symbol`)}function Er(e){return T({"~kind":`String`},{type:`string`},e)}function Dr(e){return D(e,`String`)}function Or(e){let t=Ba(e);return x(t.length,2)?t[0]:[]}function kr(e){return!0}function Ar(e){return S(e,(e,t)=>Mr(e)?Ar(t):!1,()=>!0)}function jr(e){return!x(e.length,0)&&Ar(e)}function Mr(e){return N(e)?jr(e.anyOf):R(e)?kr(e.const):!1}function Nr(e){return jr(e)}function Pr(e){return T({"~kind":`TemplateLiteral`},{type:`string`,pattern:e},{})}function Fr(e,t,n=[]){return S(e,(e,r)=>Fr(r,t,[...n,`${e}${t}`]),()=>n)}function Ir(e,t){return x(e.length,0)?[`${t}`]:Fr(e,t)}function Lr(e,t,n=[]){return S(t,(t,r)=>Lr(e,r,[...n,...Rr(e,t)]),()=>n)}function Rr(e,t){return N(t)?Lr(e,t.anyOf):R(t)?Ir(e,t.const):Dn()}function zr(e,t){return S(t,(t,n)=>zr(Rr(e,t),n),()=>e)}function Br(e){return e.map(e=>L(e))}function Vr(e){return M(Br(zr([],e)))}function Hr(e){return x(e.length,0)?Dn():x(e.length,1)&&R(e[0])?e[0]:Vr(e)}function Ur(e){let t=Or(e);return x(t.length,0)?Er():Nr(t)?Hr(t):Pr(e)}function Wr(e){let t=Ur(e);return so(t)?Er():t}function Gr(e,t){return T({"~kind":`Record`},{type:`object`,patternProperties:{[e]:t}})}function Kr(e){return Gr(zi,e)}function qr(e){return A({true:e,false:e})}function Jr(e){return b(e)||Ne(e)?L(e):Me(e)?yr():k()}function Yr(e){return e.map(e=>Jr(e))}function Xr(e){return M(Yr(e))}function Zr(e){return Xr(e.enum)}function Qr(e,t){return Pi(Xr(e),t)}function $r(e,t){return Gr(Li,t)}function ei(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 ti(e){return Ct(e,[`~kind`,`type`,`items`,`minItems`,`additionalItems`])}function ni(e){return e.reduceRight((e,t,n)=>({[n]:t,...e}),{})}function ri(e){return A(ni(e.items))}function ii(e,t){return Ut(e)?!!Ut(t):!1}function ai(e,t){return zt(e)?!!zt(t):!1}function oi(e,t){let n=ii(e,t),r=ai(e,t),i=Bt(It(vi([e,t])));return n&&r?Vt(Lt(i)):n&&!r?Vt(i):!n&&r?Lt(i):i}function si(e,t,n){return n in e?n in t?oi(e[n],t[n]):e[n]:n in t?t[n]:k()}function ci(e,t){return[...new Set([...w(t),...w(e)])].reduce((n,r)=>({...n,[r]:si(e,t,r)}),{})}function li(e){return j(e)?e.properties:z(e)?ni(e.items):Dn()}function ui(e,t){return A(ci(li(e),li(t)))}function di(e,t){let n=rc(e,t);return x(n,`left-inside`)?e:x(n,`right-inside`)||x(n,`equal`)?t:k()}function fi(e){return j(e)||z(e)}function pi(e,t){let n=N(e),r=N(t);return n||r}function mi(e,t){let n=bi(e),r=bi(t),i=pi(n,r),a=fi(n),o=fi(r);return i?vi([n,r]):a&&o?ui(n,r):a&&!o?n:!a&&o?r:di(n,r)}function hi(e,t,n=[]){return S(t,(t,r)=>hi(e,r,[...n,mi(e,t)]),()=>x(n.length,0)?[e]:n)}function gi(e,t,n=[]){return S(e,(e,r)=>gi(r,t,[...n,..._i([e],t)]),()=>n)}function _i(e,t=[]){return S(e,(e,n)=>N(e)?_i(n,gi(e.anyOf,t)):_i(n,hi(e,t)),()=>t)}function vi(e){return cc(_i(e))}function yi(e){return cc(e)}function bi(e){return P(e)?vi(e.allOf):N(e)?yi(e.anyOf):e}function xi(e){return x(e.length,1)?e[0]:x(e.length,0)?k():M(e)}function Si(e,t){return Pi(vi(e),t)}function Ci(e,t){return b(e)||Ne(e)?A({[e]:t}):x(e,!1)?A({false:t}):x(e,!0)?A({true:t}):A({})}function wi(e,t){return Gr(Ri,t)}function Ti(e,t){return C(e,`pattern`)&&(b(e.pattern)||e.pattern instanceof RegExp)?Gr(e.pattern.toString(),t):Gr(zi,t)}function Ei(e,t){return Nr(Or(e))?Pi(Wr(e),t):Gr(e,t)}function Di(e){return N(e)?Oi(e.anyOf):[e]}function Oi(e){return e.reduce((e,t)=>[...e,...Di(t)],[])}function ki(e){return e.some(e=>Dr(e)||Cr(e)||cr(e))}function Ai(e,t){return x(ki(e),!0)?Gr(zi,t):void 0}function ji(e,t){return e.reduce((e,n)=>R(n)&&(b(n.const)||Ne(n.const))?{...e,[n.const]:t}:e,{})}function Mi(e,t){return A(ji(e,t))}function Ni(e,t){let n=Oi(e),r=Ai(n,t);return wt(r)?r:Mi(n,t)}function Pi(e,t){return dn(e)?Kr(t):ar(e)?qr(t):wn(e)?Qr(e.enum,t):cr(e)?$r(e,t):P(e)?Si(e.allOf,t):R(e)?Ci(e.const,t):Cr(e)?wi(e,t):N(e)?Ni(e.anyOf,t):Dr(e)?Ti(e,t):so(e)?Ei(e.pattern,t):A({})}function Fi(e,t,n){return G([e])?E(Pi(e,t),{},n):Bi(e,t,n)}function Ii(e,t,n,r,i){return Fi(K(e,t,n),K(e,t,r),i)}const Li=`^${or}$`,Ri=`^${xr}$`,zi=`^.*$`;function Bi(e,t,n={}){return O(`Record`,[e,t],n)}function Vi(e,t,n={}){return Fi(e,t,n)}function Hi(e,t){return Gr(e,t)}function Ui(e){return w(e.patternProperties)[0]}function Wi(e){let t=Ui(e);return x(t,zi)?Er():x(t,Li)?sr():x(t,Ri)?Sr():Ur(t)}function Gi(e){return e.patternProperties[Ui(e)]}function Ki(e){return D(e,`Record`)}function qi(e){return T({"~kind":`Rest`},{type:`rest`,items:e},{})}function Ji(e){return D(e,`Rest`)}function Yi(e){return D(e,`This`)}function Xi(e){return T({"~kind":`Undefined`},{type:`undefined`},e)}function Zi(e){return D(e,`Undefined`)}function Qi(e){return D(e,`Void`)}function $i(e){return rr()}function ea(e){return Er()}function ta(e){return Sr()}function na(e){return sr()}function ra(e){return k()}function ia(e){return L(e)}function aa(e){return e}function oa(e){return M(e[1])}function sa(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function ca(e){return[e[0],...e[1]]}function la(e){return e}function ua(e){return e[1]}function da(e){return x(e.length,2)}function fa(e,t,n){return da(e)?t(e[0],e[1]):n()}function pa(e,t){return x(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function ma(e,t){for(let n=0;n<e.length;n++){let r=pa(e[n],t);if(da(r))return r}return[]}function ha(e,t){return Array.from({length:t-e+1},(t,n)=>String.fromCharCode(e+n))}const ga=[...ha(97,122),...ha(65,90)],_a=[`0`,...ha(49,57)];function va(e){let t=e.indexOf(`*/`);return x(t,-1)?``:e.slice(t+2)}function ya(e){let t=e.indexOf(`
|
|
2
|
-
`);return x(t,-1)?``:e.slice(t)}function ba(e){return e.replace(/^[ \t\r\f\v]+/,``)}function xa(e){let t=ba(e);return t.startsWith(`/*`)?xa(va(t.slice(2))):t.startsWith(`//`)?xa(ya(t.slice(2))):t}function Sa(e){let t=e.trimStart();return t.startsWith(`/*`)?Sa(va(t.slice(2))):t.startsWith(`//`)?Sa(ya(t.slice(2))):t}[..._a];function Ca(e,t){return ma([e],t)}function wa(e,t){return x(e,``)?[``,t]:e.startsWith(`
|
|
3
|
-
`)?Ca(e,xa(t)):e.startsWith(` `)?Ca(e,t):Ca(e,Sa(t))}[...ga,..._a],[..._a];function Ta(e){return x(e,``)?[]:[e.slice(0,1),e.slice(1)]}function Ea(e,t){return S(e,(e,n)=>t.startsWith(e)?!0:Ea(n,t),()=>!1)}function Da(e,t,n=``){return fa(Ta(t),(r,i)=>Ea(e,t)?[n,t]:Da(e,i,`${n}${r}`),()=>[])}function Oa(e,t){return fa(Da(e,t),(e,t)=>x(e,``)?[]:[e,t],()=>[])}const B=(e,t,n=()=>[])=>e.length===2?t(e):n(),ka=e=>B(wa(`-?(?:0|[1-9][0-9]*)n`,e),([e,t])=>[$i(e),t]),Aa=e=>B(wa(`.*`,e),([e,t])=>[ea(e),t]),ja=e=>B(wa(`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`,e),([e,t])=>[ta(e),t]),Ma=e=>B(wa(`-?(?:0|[1-9][0-9]*)`,e),([e,t])=>[na(e),t]),Na=e=>B(wa(`(?!)`,e),([e,t])=>[ra(e),t]),Pa=e=>B(Oa([`-?(?:0|[1-9][0-9]*)n`,`.*`,`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`,`-?(?:0|[1-9][0-9]*)`,`(?!)`,`(`,`)`,`$`,`|`],e),([e,t])=>[ia(e),t]),Fa=e=>B(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(Na(e),([e,t])=>[e,t],()=>B(Ia(e),([e,t])=>[e,t],()=>B(Pa(e),([e,t])=>[e,t],()=>[]))))))),([e,t])=>[aa(e),t]),Ia=e=>B(B(wa(`(`,e),([e,t])=>B(za(t),([t,n])=>B(wa(`)`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[oa(e),t]),La=e=>B(B(B(Ra(e),([e,t])=>B(wa(`|`,t),([t,n])=>B(La(n),([n,r])=>[[e,t,n],r]))),([e,t])=>[e,t],()=>B(B(Ra(e),([e,t])=>[[e],t]),([e,t])=>[e,t],()=>B([[],e],([e,t])=>[e,t],()=>[]))),([e,t])=>[sa(e),t]),Ra=e=>B(B(Fa(e),([e,t])=>B(za(t),([t,n])=>[[e,t],n])),([e,t])=>[ca(e),t]),za=e=>B(B(La(e),([e,t])=>[e,t],()=>B(Ra(e),([e,t])=>[e,t],()=>[])),([e,t])=>[la(e),t]),Ba=e=>B(B(wa(`^`,e),([e,t])=>B(za(t),([t,n])=>B(wa(`$`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[ua(e),t]);function Va(e){return e.join(`|`)}function Ha(e){return e.slice(1,e.length-1)}function Ua(e,t,n){return eo(t,`${n}${e}`)}function Wa(e,t){return eo(e,`${t}-?(?:0|[1-9][0-9]*)n`)}function Ga(e,t){return eo(e,`${t}${or}`)}function Ka(e,t){return eo(e,`${t}${xr}`)}function qa(e,t){return $a(M([L(`false`),L(`true`)]),e,t)}function Ja(e,t){return eo(e,`${t}.*`)}function Ya(e,t,n){return eo(t,`${n}${Ha(e)}`)}function Xa(e,t,n){return $a(ro(e,{}),t,n)}function Za(e,t,n){return Qa(Yr(e),t,n)}function Qa(e,t,n,r=[]){return S(e,(e,i)=>Qa(i,t,n,[...r,$a(e,[],``)]),()=>eo(t,`${n}(${Va(r)})`))}function $a(e,t,n){return wn(e)?Za(e.enum,t,n):cr(e)?Ga(t,n):R(e)?Ua(e.const,t,n):ir(e)?Wa(t,n):ar(e)?qa(t,n):Cr(e)?Ka(t,n):Dr(e)?Ja(t,n):so(e)?Ya(e.pattern,t,n):oo(e)?Xa(e.parameters[0],t,n):N(e)?Qa(e.anyOf,t,n):`(?!)`}function eo(e,t){return S(e,(e,n)=>$a(e,n,t),()=>t)}function to(e){return`^${eo(e,``)}$`}function no(e){return Pr(to(e))}function ro(e,t){return G(e)?E(no(e),{},t):ao(e,t)}function io(e,t,n,r){return ro(nf(e,t,n),r)}function ao(e,t={}){return O(`TemplateLiteral`,[e],t)}function oo(e){return wt(e)&&C(e,`action`)&&x(e.action,`TemplateLiteral`)}function so(e){return D(e,`TemplateLiteral`)}function co(e){return T({"~kind":`ExtendsUnion`},{inferred:e})}function lo(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 uo(e){return y(e)&&C(e,`~kind`)&&C(e,`inferred`)&&x(e[`~kind`],`ExtendsTrue`)&&y(e.inferred)}function H(){return T({"~kind":`ExtendsFalse`},{})}function fo(e){return y(e)&&C(e,`~kind`)&&x(e[`~kind`],`ExtendsFalse`)}function po(e){return lo(e)||uo(e)}function mo(e,t,n){return po(e)?t(e.inferred):n()}function ho(e,t,n,r){return mo(W(e,n,r),r=>V(v(v(e,r),{[t]:n})),()=>H())}function go(e,t){return V(e)}function _o(e,t,n){return W(e,t,Xr(n))}function vo(e,t,n){return S(n,(n,r)=>mo(W(e,t,n),e=>vo(e,t,r),()=>H()),()=>V(e))}function yo(e,t,n){return W(e,t,Wr(n))}function bo(e,t,n){return S(n,(n,r)=>mo(W(e,t,n),e=>V(e),()=>bo(e,t,r)),()=>H())}function U(e,t,n){return dn(n)?go(e,t):wn(n)?_o(e,t,n.enum):Cn(n)?ho(e,n.name,t,n.extends):P(n)?vo(e,t,n.allOf):so(n)?yo(e,t,n.pattern):N(n)?bo(e,t,n.anyOf):yn(n)?V(e):H()}function xo(e,t,n){return Cn(n)?U(e,t,n):dn(n)||yn(n)?V(e):co(e)}function So(e,t){let n=Ft(e),r=Ft(t);return n&&r||!n&&r?!0:!(n&&!r)}function Co(e,t,n,r){return Jt(r)?So(t,r)?W(e,n,r.items):H():U(e,t,r)}function wo(e,t,n){return Zt(n)?W(e,t,n.iteratorItems):U(e,Xt(t),n)}function To(e,t,n){return ir(n)?V(e):U(e,t,n)}function Eo(e,t,n){return ar(n)?V(e):U(e,t,n)}function Do(e,t,n,r,i){let a=Cn(r)?t:r,o=Cn(r)?r:t,s=zt(t),c=zt(r);return!s&&c?H():mo(W(e,a,o),e=>Ao(e,n,i),()=>H())}function Oo(e,t,n,r){return S(r,(r,i)=>Do(e,t,n,r,i),()=>zt(t)?V(e):H())}function ko(e,t,n){return S(t,(t,r)=>Oo(e,t,r,n),()=>V(e))}function Ao(e,t,n){return ko(e,t,n)}function jo(e,t,n){return Qi(n)?V(e):W(e,t,n)}function Mo(e,t,n,r){return dn(r)||yn(r)?V(e):en(r)?mo(Ao(e,t,r.parameters),e=>jo(e,n,r.instanceType),()=>H()):H()}function No(e,t,n){return W(e,Zr(t),n)}function Po(e,t,n,r){return dn(r)||yn(r)?V(e):rn(r)?mo(Ao(e,t,r.parameters),e=>jo(e,n,r.returnType),()=>H()):H()}function Fo(e,t,n){return cr(n)||Cr(n)?V(e):U(e,t,n)}function Io(e,t,n){return W(e,vi(t),n)}function Lo(e,t,n){return ur(n)?W(e,t,n.iteratorItems):U(e,lr(t),n)}function Ro(e,t,n){return t===n?V(e):H()}function zo(e,t,n){return R(n)?Ro(e,t,n.const):ir(n)?V(e):U(e,L(t),n)}function Bo(e,t,n){return R(n)?Ro(e,t,n.const):ar(n)?V(e):U(e,L(t),n)}function Vo(e,t,n){return R(n)?Ro(e,t,n.const):Cr(n)?V(e):U(e,L(t),n)}function Ho(e,t,n){return R(n)?Ro(e,t,n.const):Dr(n)?V(e):U(e,L(t),n)}function Uo(e,t,n){return Ee(t.const)?zo(e,t.const,n):De(t.const)?Bo(e,t.const,n):Ne(t.const)?Vo(e,t.const,n):b(t.const)?Ho(e,t.const,n):Dn()}function Wo(e,t,n){return Cn(n)?U(e,t,n):V(e)}function Go(e,t,n){return br(n)?V(e):U(e,t,n)}function Ko(e,t,n){return Cr(n)?V(e):U(e,t,n)}function qo(e,t,n){return zt(t)?zt(n)?V(e):H():V(e)}function Jo(e,t,n){return Cn(n)&&fn(n.extends)?H():mo(W(e,t,n),e=>qo(e,t,n),()=>H())}function Yo(e,t){return e.reduce((e,n)=>n in t&&po(t[n])?{...e,...t[n].inferred}:Dn(),{})}function Xo(e,t,n){let r={};for(let i of w(n))r[i]=i in t?Jo({},t[i],n[i]):zt(n[i])?Cn(n[i])?V(v(e,{[n[i].name]:n[i].extends})):V(e):H();let i=$e(r).every(e=>po(e)),a=i?Yo(w(r),r):{};return i?V(a):H()}function Zo(e,t,n){let r=Xo(e,t,n);return po(r)?V(v(e,r.inferred)):H()}function Qo(e,t,n){return Zo(e,t,n)}function $o(e,t,n){return j(n)?Qo(e,t,n.properties):U(e,A(t),n)}function es(e,t,n){return jt(n)?W(e,t,n.item):U(e,At(t),n)}function ts(e,t,n){return Dr(n)?V(e):U(e,t,n)}function ns(e,t,n){return Tr(n)?V(e):U(e,t,n)}function rs(e,t,n){return W(e,Wr(t),n)}function is(e,t){return T({"~kind":`Inferrable`},{name:e,type:t},{})}function as(e){return y(e)&&C(e,`~kind`)&&C(e,`name`)&&C(e,`type`)&&x(e[`~kind`],`Inferrable`)&&b(e.name)&&y(e.type)}function os(e){return Ji(e)?Cn(e.items)?Jt(e.items.extends)?is(e.items.name,e.items.extends.items):yn(e.items.extends)?is(e.items.name,e.items.extends):void 0:Dn():void 0}function ss(e){return Cn(e)?is(e.name,e.extends):void 0}function cs(e,t,n=[]){return S(e,(e,r)=>mo(W({},e,t),()=>cs(r,t,[...n,e]),()=>void 0),()=>n)}function ls(e,t,n,r){let i=cs(n,r);return we(i)?V(v(e,{[t]:ei(i)})):H()}function us(e,t,n,r){let i=cs(n,r);return we(i)?V(v(e,{[t]:M(i)})):H()}function ds(e){return[...e].reverse()}function fs(e,t){return t?ds(e):e}function ps(e){let t=e.length>0?e[0]:void 0;return wt(wt(t)?os(t):void 0)}function ms(e,t,n,r,i,a){return mo(W(e,n,i),e=>_s(e,t,r,a),()=>H())}function hs(e,t,n,r,i){let a=os(r);return as(a)?ls(e,a.name,fs(n,t),a.type):S(n,(n,a)=>ms(e,t,n,a,r,i),()=>H())}function gs(e,t,n,r){return S(r,(r,i)=>hs(e,t,n,r,i),()=>x(n.length,0)?V(e):H())}function _s(e,t,n,r){return gs(e,t,n,r)}function vs(e,t,n){let r=tf(e,{callstack:[]},n),i=ps(r);return _s(e,i,fs(t,i),fs(r,i))}function ys(e,t,n){let r=ss(n);return as(r)?us(e,r.name,t,r.type):S(t,(t,r)=>mo(W(e,t,n),e=>ys(e,r,n),()=>H()),()=>V(e))}function bs(e,t,n){let r=tf(e,{callstack:[]},t);return z(n)?vs(e,r,n.items):Jt(n)?ys(e,r,n.items):U(e,ei(r),n)}function xs(e,t,n){return Qi(n)||Zi(n)?V(e):U(e,t,n)}function Ss(e,t,n){return S(n,(n,r)=>mo(W(e,t,n),e=>V(e),()=>Ss(e,t,r)),()=>H())}function Cs(e,t,n){return S(t,(t,r)=>mo(Ss(e,t,n),e=>Cs(e,r,n),()=>H()),()=>V(e))}function ws(e,t,n){let r=ss(n);return as(r)?us(e,r.name,t,r.type):N(n)?Cs(e,t,n.anyOf):Cs(e,t,[n])}function Ts(e,t,n){return Cn(n)?U(e,t,n):dn(n)||yn(n)?V(e):H()}function Es(e,t,n){return Qi(n)?V(e):U(e,t,n)}function W(e,t,n){return dn(t)?xo(e,t,n):Jt(t)?Co(e,t,t.items,n):Zt(t)?wo(e,t.iteratorItems,n):ir(t)?To(e,t,n):ar(t)?Eo(e,t,n):en(t)?Mo(e,t.parameters,t.instanceType,n):wn(t)?No(e,t,n):rn(t)?Po(e,t.parameters,t.returnType,n):cr(t)?Fo(e,t,n):P(t)?Io(e,t.allOf,n):ur(t)?Lo(e,t.iteratorItems,n):R(t)?Uo(e,t,n):fn(t)?Wo(e,t,n):br(t)?Go(e,t,n):Cr(t)?Ko(e,t,n):j(t)?$o(e,t.properties,n):jt(t)?es(e,t.item,n):Dr(t)?ts(e,t,n):Tr(t)?ns(e,t,n):so(t)?rs(e,t.pattern,n):z(t)?bs(e,t.items,n):Zi(t)?xs(e,t,n):N(t)?ws(e,t.anyOf,n):yn(t)?Ts(e,t,n):Qi(t)?Es(e,t,n):H()}function Ds(e,t){return vi([...e,A(t)])}function Os(e,t,n){return G(e)?E(Ds(e,t),{},n):As(e,t,n)}function ks(e,t,n,r,i){return Os(nf(e,t,n),ef(e,t,r),i)}function As(e,t,n={}){return O(`Interface`,[e,t],n)}function js(e){return wt(e)&&C(e,`action`)&&x(e.action,`Interface`)}function Ms(e,t,n){return e.includes(n)?!0:Fs([...e,n],t,t[n])}function Ns(e,t,n){return Ps(e,t,hn(n))}function Ps(e,t,n){return S(n,(n,r)=>Fs(e,t,n)?!0:Ps(e,t,r),()=>!1)}function Fs(e,t,n){return sn(n)?Ms(e,t,n.$ref):Jt(n)?Fs(e,t,n.items):Zt(n)?Fs(e,t,n.iteratorItems):en(n)?Ps(e,t,[...n.parameters,n.instanceType]):rn(n)?Ps(e,t,[...n.parameters,n.returnType]):js(n)?Ns(e,t,n.parameters[1]):P(n)?Ps(e,t,n.allOf):ur(n)?Fs(e,t,n.iteratorItems):j(n)?Ns(e,t,n.properties):jt(n)?Fs(e,t,n.item):N(n)?Ps(e,t,n.anyOf):z(n)?Ps(e,t,n.items):Ki(n)?Fs(e,t,Gi(n)):!1}function Is(e,t,n){return Fs(e,t,n)}function Ls(e,t){return t.reduce((t,n)=>n in e?Is([n],e,e[n])?[...t,n]:t:Dn(),[])}function Rs(e){return Ls(e,mn(e))}function zs(e,t,n){return n.includes(t)?n:t in e?Hs(e,e[t],[...n,t]):Dn()}function Bs(e,t,n){return Vs(e,hn(t),n)}function Vs(e,t,n){return t.reduce((t,n)=>Hs(e,n,t),n)}function Hs(e,t,n){return sn(t)?zs(e,t.$ref,n):Jt(t)?Hs(e,t.items,n):Zt(t)?Hs(e,t.iteratorItems,n):en(t)?Vs(e,[...t.parameters,t.instanceType],n):rn(t)?Vs(e,[...t.parameters,t.returnType],n):js(t)?Bs(e,t.parameters[1],n):P(t)?Vs(e,t.allOf,n):ur(t)?Hs(e,t.iteratorItems,n):j(t)?Bs(e,t.properties,n):jt(t)?Hs(e,t.item,n):N(t)?Vs(e,t.anyOf,n):z(t)?Vs(e,t.items,n):Ki(t)?Hs(e,Gi(t),n):n}function Us(e,t,n){return Hs(e,n,[t])}function Ws(e){return un()}function Gs(e){return w(e).reduce((t,n)=>({...t,[n]:qs(e[n])}),{})}function Ks(e){return e.reduce((e,t)=>[...e,qs(t)],[])}function qs(e){return sn(e)?Ws(e.$ref):Jt(e)?qt(qs(e.items),Yt(e)):Zt(e)?Xt(qs(e.iteratorItems)):en(e)?$t(Ks(e.parameters),qs(e.instanceType)):rn(e)?nn(Ks(e.parameters),qs(e.returnType)):P(e)?Tn(Ks(e.allOf)):ur(e)?lr(qs(e.iteratorItems)):j(e)?A(Gs(e.properties)):jt(e)?At(qs(e.item)):Ki(e)?Vi(Wi(e),qs(Gi(e))):N(e)?M(Ks(e.anyOf)):z(e)?ei(Ks(e.items)):e}function Js(e,t){return t in e?qs(e[t]):vn()}function Ys(e){return Js(e.$defs,e.$ref)}function Xs(e,t,n){let r=nf(e,{callstack:[]},t),i=ef({},{callstack:[]},n);return vi([...r,A(i)])}function Zs(e,t){return w(e).filter(e=>t.includes(e)).reduce((t,n)=>{let r=e[n],i=js(r)?Xs(e,r.parameters[0],r.parameters[1]):r;return{...t,[n]:i}},{})}function Qs(e,t,n){return bn(Zs(e,Us(e,t,n)),t)}function $s(e,t){return t in e?sn(e[t])?$s(e,e[t].$ref):e[t]:k()}function ec(e,t){return $s(e,t)}function tc(e){return xn(e)?Ys(e):Sn(e)?vn():e}function nc(e,t,n){return W(e,tc(t),tc(n))}function rc(e,t){let n=[yn(e)?H():nc({},e,t),yn(e)?V({}):nc({},t,e)];return po(n[0])&&po(n[1])?`equal`:po(n[0])&&fo(n[1])?`left-inside`:fo(n[0])&&po(n[1])?`right-inside`:`disjoint`}function ic(e,t){return t.filter(t=>rc(e,t)!==`right-inside`)}function ac(e,t){return x(t.some(t=>{let n=rc(e,t);return x(n,`left-inside`)||x(n,`equal`)}),!1)}function oc(e,t){let n=bi(e);return dn(n)?[n]:ac(n,t)?[...ic(n,t),n]:t}function sc(e){return e.reduce((e,t)=>j(t)?[...e,t]:fn(t)?e:oc(t,e),[])}function cc(e){let t=Oi(sc(e));return t.length===0?k():t.length===1?t[0]:M(t)}function lc(e,t){return E(bi(e),{},t)}function uc(e,t,n,r){return lc(K(e,t,n),r)}function dc(e,t=[]){return kt(e)&&x(e.action,`Conditional`)?sn(e.parameters[0])?dc(e.parameters[2],dc(e.parameters[3],[...t,e.parameters[0].$ref])):dc(e.parameters[2],dc(e.parameters[3],t)):kt(e)&&x(e.action,`Mapped`)&&kt(e.parameters[1])&&x(e.parameters[1].action,`KeyOf`)&&sn(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function fc(e,t){return e.reduce((e,n)=>[...e,t.includes(n.name)],[])}function pc(e,t,n=[]){return S(e,(e,r)=>S(t,(t,i)=>pc(r,i,[...n,[t,e]]),()=>n),()=>n)}function mc(e){return N(e)?[...e.anyOf]:[e]}function hc(e,t){return e.reduce((e,n)=>[...e,[...n,t]],[])}function gc(e,t){return t.reduce((t,n)=>[...t,...hc(e,n)],[])}function _c(e){return e.reduce((e,t)=>x(t[0],!0)?gc(e,mc(t[1])):gc(e,[t[1]]),[[]])}function vc(e,t,n){let r=pc(t,fc(e,dc(n)));return kt(n)&&x(n.action,`Conditional`)||kt(n)&&x(n.action,`Mapped`)?_c(r):[t]}function yc(){return[`(not-resolvable)`,k()]}function bc(){return[`(not-generic)`,k()]}function xc(e,t,n){return[e,cn(t,n)]}function Sc(e,t,n){return t in e?Cc(e,t,e[t],n):yc()}function Cc(e,t,n,r){return ln(n)?xc(t,n.parameters,n.expression):sn(n)?Sc(e,n.$ref,r):bc()}function wc(e,t,n){return Cc(e,`(anonymous)`,t,n)}function Tc(e,t,n){if(Cn(t)||Lc(t)||po(nc({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function Ec(e,t,n,r,i){let a=K(e,t,i);return Tc(n,a,r),v(e,{[n]:a})}function Dc(e,t,n,r,i){let a=K(e,t,n.extends),o=K(e,t,n.equals);return S(i,(i,o)=>Oc(Ec(e,t,n.name,a,i),t,r,o),()=>Oc(Ec(e,t,n.name,a,o),t,r,[]))}function Oc(e,t,n,r){return S(n,(n,i)=>Dc(e,t,n,i,r),()=>e)}function kc(e,t,n,r){return Oc(e,t,n,r)}function Ac(e){return Le(e.callstack.length,0)?e.callstack[e.callstack.length-1]:``}function jc(e,t){return x(Ac(e),t)}function Mc(e,t,n,r,i,a){return K(e,t,K(kc(e,t,r,a),{callstack:[...t.callstack,n.$ref]},i))}function Nc(e,t,n,r,i,a){return a.reduce((a,o)=>[...a,Mc(e,t,n,r,i,o)],[])}function Pc(e,t,n,r,i,a){let o=Nc(e,t,n,r,i,vc(r,a,i));return x(o.length,1)?o[0]:yi(o)}function Fc(e,t,n,r){let i=nf(e,t,r),a=wc(e,n,r),o=a[0],s=a[1];return ln(s)?jc(t,o)?Ic(on(o),i):Pc(e,t,on(o),s.parameters,s.expression,i):Ic(n,i)}function Ic(e,t){return T({"~kind":`Call`},{target:e,arguments:t},{})}function Lc(e){return D(e,`Call`)}function Rc(e,t){return e(t)}function zc(e,t){return b(t)?L(Rc(e,t)):L(t)}function Bc(e,t){return Hc(e,Wr(t))}function Vc(e,t){return M(t.map(t=>Hc(e,t)))}function Hc(e,t){return R(t)?zc(e,t.const):so(t)?Bc(e,t.pattern):N(t)?Vc(e,t.anyOf):t}function Uc(e,t={}){return O(`Capitalize`,[e],t)}function Wc(e,t={}){return O(`Lowercase`,[e],t)}function Gc(e,t={}){return O(`Uncapitalize`,[e],t)}function Kc(e,t={}){return O(`Uppercase`,[e],t)}const qc=e=>e[0].toUpperCase()+e.slice(1),Jc=e=>e.toLowerCase(),Yc=e=>e[0].toLowerCase()+e.slice(1),Xc=e=>e.toUpperCase();function Zc(e,t){return G([e])?E(Hc(qc,e),{},t):Uc(e,t)}function Qc(e,t){return G([e])?E(Hc(Jc,e),{},t):Wc(e,t)}function $c(e,t){return G([e])?E(Hc(Yc,e),{},t):Gc(e,t)}function el(e,t){return G([e])?E(Hc(Xc,e),{},t):Kc(e,t)}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){return el(K(e,t,n),r)}function al(e,t,n,r,i={}){return O(`Conditional`,[e,t,n,r],i)}function ol(e,t,n,r,i,a){let o=nc(e,n,r);return lo(o)?M([K(o.inferred,t,i),K(e,t,a)]):uo(o)?K(o.inferred,t,i):K(e,t,a)}function sl(e,t,n,r,i,a,o){return G([n,r])?E(ol(e,t,n,r,i,a),{},o):al(n,r,i,a,o)}function cl(e,t,n,r,i,a,o){return sl(e,t,K(e,t,n),K(e,t,r),i,a,o)}function ll(e,t={}){return O(`ConstructorParameters`,[e],t)}function ul(e){return ei(tf({},{callstack:[]},en(e)?e.parameters:[]))}function dl(e,t){return G([e])?E(ul(e),{},t):ll(e,t)}function fl(e,t,n,r){return dl(K(e,t,n),r)}function pl(e,t,n={}){return O(`Exclude`,[e,t],n)}function ml(e,t){return e.reduce((e,n)=>[...e,...hl(n,t)],[])}function hl(e,t){return po(nc({},e,t))?[]:[e]}function gl(e,t){return yi(wn(e)?ml(Yr(e.enum),t):N(e)?ml(Oi(e.anyOf),t):hl(e,t))}function _l(e,t,n){return G([e,t])?E(gl(e,t),{},n):pl(e,t,n)}function vl(e,t,n,r,i){return _l(K(e,t,n),K(e,t,r),i)}function yl(e,t,n={}){return O(`Extract`,[e,t],n)}function bl(e,t){return e.reduce((e,n)=>[...e,...xl(n,t)],[])}function xl(e,t){return po(nc({},e,t))?[e]:[]}function Sl(e,t){return yi(wn(e)?bl(Yr(e.enum),t):N(e)?bl(Oi(e.anyOf),t):xl(e,t))}function Cl(e,t,n){return G([e,t])?E(Sl(e,t),{},n):yl(e,t,n)}function wl(e,t,n,r,i){return Cl(K(e,t,n),K(e,t,r),i)}function Tl(e,t,n={}){return O(`Index`,[e,t],n)}function El(e,t){return Pl(ec(e,t))}function Dl(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]:vi([e[r],t[r]])}),{});return v(v(a,o),s)}function Ol(e){return e.reduce((e,t)=>Dl(e,Pl(t)),{})}function kl(e){return e}function Al(e){return Pl(ri(ei(e)))}function jl(e,t){return w(e).filter(e=>e in t).reduce((n,r)=>({...n,[r]:yi([e[r],t[r]])}),{})}function Ml(e,t){return S(e,(e,n)=>Ml(n,jl(t,Pl(e))),()=>t)}function Nl(e){return S(e,(e,t)=>Ml(t,Pl(e)),()=>Dn())}function Pl(e){return xn(e)?El(e.$defs,e.$ref):P(e)?Ol(e.allOf):N(e)?Nl(e.anyOf):z(e)?Al(e.items):j(e)?kl(e.properties):{}}function Fl(e){return A(Pl(e))}const Il=RegExp(`^(?:0|[1-9][0-9]*)$`);function Ll(e){let t=`${e}`;return Il.test(t)?parseInt(t):e}function Rl(e){return L(Ll(e))}function zl(e){return e.map(e=>Bl(e))}function Bl(e){return P(e)?Tn(zl(e.allOf)):N(e)?M(zl(e.anyOf)):R(e)?Rl(e.const):e}function Vl(e,t){return po(nc({},Bl(t),Sr()))?e:R(t)&&x(t.const,`length`)?Sr():k()}function Hl(e,t){return Jl(ec(e,t))}function Ul(e){return e.reduce((e,t)=>[...e,...Jl(t)],[])}function Wl(e){return Ul(Yr(e))}function Gl(e){return Jl(vi(e))}function Kl(e){return[`${e}`]}function ql(e){return Jl(Wr(e))}function Jl(e){return xn(e)?Hl(e.$defs,e.$ref):wn(e)?Wl(e.enum):P(e)?Gl(e.allOf):R(e)?Kl(e.const):so(e)?ql(e.pattern):N(e)?Ul(e.anyOf):[]}function Yl(e){return Jl(e)}function Xl(e,t){return t.map(t=>Zl(e,t))}function Zl(e,t){return Jt(t)?qt(Zl(e,t.items)):Zt(t)?Xt(Zl(e,t.iteratorItems)):en(t)?$t(Xl(e,t.parameters),Zl(e,t.instanceType)):rn(t)?nn(Xl(e,t.parameters),Zl(e,t.returnType)):ur(t)?lr(Zl(e,t.iteratorItems)):jt(t)?At(Zl(e,t.item)):z(t)?ei(Xl(e,t.items)):N(t)?M(Xl(e,t.anyOf)):P(t)?Tn(Xl(e,t.allOf)):Yi(t)?A(e):t}function Ql(e,t){return Zl(e,t)}function $l(e,t){return Ql(e,t in e?e[t]:k())}function eu(e,t){return t.reduce((t,n)=>[...t,$l(e,n)],[])}function tu(e,t){return yi(eu(e,Yl(t)))}const nu=new RegExp(Li);function ru(e){return e.filter(e=>nu.test(e))}function iu(e){return yi(eu(e,ru(mn(e))))}function au(e,t){return Cr(t)?iu(e):tu(e,t)}function ou(e){return L(Ll(e))}function su(e){return e.map(e=>cu(e))}function cu(e){return P(e)?Tn(su(e.allOf)):N(e)?M(su(e.anyOf)):R(e)?ou(e.const):e}function lu(e,t){return e.reduceRight((e,n,r)=>po(nc({},L(r),t))?[n,...e]:e,[])}function uu(e,t){return xi(lu(e,cu(t)))}function du(e){return xi(e)}function fu(e,t){return R(t)&&x(t.const,`length`)?L(e.length):Cr(t)||cr(t)?du(e):uu(e,t)}function pu(e,t){return Jt(e)?Vl(e.items,t):j(e)?au(e.properties,t):z(e)?fu(e.items,t):k()}function mu(e){return xn(e)||P(e)||N(e)?Fl(e):e}function hu(e,t,n){return G([e,t])?E(pu(mu(e),t),{},n):Tl(e,t,n)}function gu(e,t,n,r,i){return hu(K(e,t,n),K(e,t,r),i)}function _u(e,t={}){return O(`InstanceType`,[e],t)}function vu(e){return en(e)?e.instanceType:k()}function yu(e,t){return G([e])?E(vu(e),{},t):_u(e,t)}function bu(e,t,n,r={}){return yu(K(e,t,n),r)}function xu(e,t={}){return O(`KeyOf`,[e],t)}function Su(){return M([Sr(),Er(),wr()])}function Cu(e){return Sr()}function wu(e){return e.reduce((e,t)=>mr(t)?[...e,L(Ll(t))]:Dn(),[])}function Tu(e){return xi(wu(w(e)))}function Eu(e){return Wi(e)}function Du(e){return xi(e.map((e,t)=>L(t)))}function Ou(e){return dn(e)?Su():Jt(e)?Cu(e.items):j(e)?Tu(e.properties):Ki(e)?Eu(e):z(e)?Du(e.items):k()}function ku(e){return xn(e)||P(e)||N(e)?Fl(e):e}function Au(e,t){return G([e])?E(Ou(ku(e)),{},t):xu(e,t)}function ju(e,t,n,r){return Au(K(e,t,n),r)}function Mu(e,t,n,r,i={}){return O(`Mapped`,[e,t,n,r],i)}function Nu(e){return Iu(Wr(e))}function Pu(e){return e.reduce((e,t)=>[...e,...Iu(t)],[])}function Fu(e){return Ne(e)?[L(`${e}`)]:[L(e)]}function Iu(e){return wn(e)?Pu(Yr(e.enum)):R(e)?Fu(e.const):so(e)?Nu(e.pattern):N(e)?Pu(e.anyOf):[e]}function Lu(e){return Iu(e)}function Ru(e){return so(e)?Wr(e.pattern):e}function zu(e,t,n,r,i,a){let o=v(e,{[n.name]:r}),s=Ru(K(o,t,i)),c=K(o,t,a);return _r(s)||vr(s)?{[s.const]:c}:{}}function Bu(e,t,n,r,i,a){return r.reduce((r,o)=>[...r,zu(e,t,n,o,i,a)],[])}function Vu(e){return e.reduce((e,t)=>[...e,A(t)],[])}function Hu(e,t,n,r,i,a){return vi(Vu(Bu(e,t,n,Lu(r),i,a)))}function Uu(e,t,n,r,i,a,o){return G([r])?E(Hu(e,t,n,r,i,a),{},o):Mu(n,r,i,a,o)}function Wu(e,t,n,r,i,a,o){return Uu(e,t,n,K(e,t,r),i,a,o)}function Gu(e,t){return w(e).filter(e=>t.includes(e)).reduce((t,n)=>({...t,[n]:Qs(e,n,e[n])}),{})}function Ku(e,t){return w(e).filter(e=>!t.includes(e)).reduce((t,n)=>({...t,[n]:K(e,{callstack:[]},e[n])}),{})}function qu(e,t){let n=Rs(e),r=Gu(e,n),i=Ku(e,n);return E({...r,...i},{},t)}function Ju(e,t,n,r){return qu(v(e,n),r)}function Yu(e,t={}){return O(`NonNullable`,[e],t)}function Xu(e){return _l(e,M([yr(),Xi()]),{})}function Zu(e,t){return G([e])?E(Xu(e),{},t):Yu(e,t)}function Qu(e,t,n,r){return Zu(K(e,t,n),r)}function $u(e,t,n={}){return O(`Omit`,[e,t],n)}function ed(e){let t=Fl(e);return j(t)?t.properties:Dn()}function td(e,t){return w(e).reduce((n,r)=>t.includes(r)?n:{...n,[r]:e[r]},{})}function nd(e,t){return A(td(ed(e),Yl(t)))}function rd(e,t,n){return G([e,t])?E(nd(e,t),{},n):$u(e,t,n)}function id(e,t,n,r,i){return rd(K(e,t,n),K(e,t,r),i)}function ad(e,t){return O(`Options`,[e,t],{})}function od(e,t){return sd(e,t)}function sd(e,t){return G([e])?E(e,{},t):ad(e,t)}function cd(e,t,n,r){return sd(K(e,t,n),r)}function ld(e,t={}){return O(`Parameters`,[e],t)}function ud(e){return ei(tf({},{callstack:[]},rn(e)?e.parameters:[]))}function dd(e,t){return G([e])?E(ud(e),{},t):ld(e,t)}function fd(e,t,n,r){return dd(K(e,t,n),r)}function pd(e,t={}){return O(`Partial`,[e],t)}function md(e,t){let n=vd(ec(e,t));return bn(v(e,{[t]:n}),t)}function hd(e){return vi(e.map(e=>vd(e)))}function gd(e){return M(e.map(e=>vd(e)))}function _d(e){return A(w(e).reduce((t,n)=>({...t,[n]:Rt(e[n])}),{}))}function vd(e){return xn(e)?md(e.$defs,e.$ref):P(e)?hd(e.allOf):N(e)?gd(e.anyOf):j(e)?_d(e.properties):A({})}function yd(e,t){return G([e])?E(vd(e),{},t):pd(e,t)}function bd(e,t,n,r){return yd(K(e,t,n),r)}function xd(e,t,n={}){return O(`Pick`,[e,t],n)}function Sd(e,t){return w(e).reduce((n,r)=>t.includes(r)?v(n,{[r]:e[r]}):n,{})}function Cd(e,t){return A(Sd(ed(e),Yl(t)))}function wd(e,t,n){return G([e,t])?E(Cd(e,t),{},n):xd(e,t,n)}function Td(e,t,n,r,i){return wd(K(e,t,n),K(e,t,r),i)}function Ed(e,t={}){return O(`ReadonlyObject`,[e],t)}function Dd(e){return Pt(qt(e))}function Od(e,t){let n=Nd(ec(e,t));return bn(v(e,{[t]:n}),t)}function kd(e){return vi(e.map(e=>Nd(e)))}function Ad(e){return A(w(e).reduce((t,n)=>({...t,[n]:Ht(e[n])}),{}))}function jd(e){return Pt(ei(e))}function Md(e){return M(e.map(e=>Nd(e)))}function Nd(e){return Jt(e)?Dd(e.items):xn(e)?Od(e.$defs,e.$ref):P(e)?kd(e.allOf):j(e)?Ad(e.properties):z(e)?jd(e.items):N(e)?Md(e.anyOf):e}function Pd(e,t){return G([e])?E(Nd(e),{},t):Ed(e)}function Fd(e,t,n,r){return Pd(K(e,t,n),r)}function Id(e,t,n,r){return r in e?Is([r],e,e[r])?n:K(e,t,e[r]):n}function Ld(e,t){let n=Vd(ec(e,t));return bn(v(e,{[t]:n}),t)}function Rd(e){return vi(e.map(e=>Vd(e)))}function zd(e){return M(e.map(e=>Vd(e)))}function Bd(e){return A(w(e).reduce((t,n)=>({...t,[n]:It(e[n])}),{}))}function Vd(e){return xn(e)?Ld(e.$defs,e.$ref):P(e)?Rd(e.allOf):N(e)?zd(e.anyOf):j(e)?Bd(e.properties):A({})}function Hd(e,t={}){return O(`Required`,[e],t)}function Ud(e,t){return G([e])?E(Vd(e),{},t):Hd(e,t)}function Wd(e,t,n,r){return Ud(K(e,t,n),r)}function Gd(e,t={}){return O(`ReturnType`,[e],t)}function Kd(e){return rn(e)?e.returnType:k()}function qd(e,t){return G([e])?E(Kd(e),{},t):Gd(e,t)}function Jd(e,t,n,r={}){return qd(K(e,t,n),r)}function Yd(e){return Ji(e)?z(e.items)?Xd(e.items.items):Cn(e.items)||sn(e.items)?[e]:[k()]:[e]}function Xd(e){return e.reduce((e,t)=>[...e,...Yd(t)],[])}function G(e){return S(e,(e,t)=>!sn(e)&&G(t),()=>!0)}function Zd(e,t,n){return Ot(e)?Zd(e.type,`remove`,n):Et(e)?Zd(e.type,t,`remove`):Dt(e)?Zd(e.type,`add`,n):Tt(e)?Zd(e.type,t,`add`):[e,t,n]}function Qd(e,t){return x(e,`remove`)?Bt(t):x(e,`add`)?Vt(t):t}function $d(e,t){return x(e,`remove`)?It(t):x(e,`add`)?Lt(t):t}function ef(e,t,n){return w(n).reduce((r,i)=>({...r,[i]:K(e,t,n[i])}),{})}function tf(e,t,n){return Xd(nf(e,t,n))}function nf(e,t,n){return n.map(n=>K(e,t,n))}function rf(e,t,n,r,i){return x(n,`Awaited`)?cf(e,t,r[0],i):x(n,`Capitalize`)?tl(e,t,r[0],i):x(n,`Conditional`)?cl(e,t,r[0],r[1],r[2],r[3],i):x(n,`ConstructorParameters`)?fl(e,t,r[0],i):x(n,`Evaluate`)?uc(e,t,r[0],i):x(n,`Exclude`)?vl(e,t,r[0],r[1],i):x(n,`Extract`)?wl(e,t,r[0],r[1],i):x(n,`Index`)?gu(e,t,r[0],r[1],i):x(n,`InstanceType`)?bu(e,t,r[0],i):x(n,`Interface`)?ks(e,t,r[0],r[1],i):x(n,`KeyOf`)?ju(e,t,r[0],i):x(n,`Lowercase`)?nl(e,t,r[0],i):x(n,`Mapped`)?Wu(e,t,r[0],r[1],r[2],r[3],i):x(n,`Module`)?Ju(e,t,r[0],i):x(n,`NonNullable`)?Qu(e,t,r[0],i):x(n,`Pick`)?Td(e,t,r[0],r[1],i):x(n,`Options`)?cd(e,t,r[0],r[1]):x(n,`Parameters`)?fd(e,t,r[0],i):x(n,`Partial`)?bd(e,t,r[0],i):x(n,`Omit`)?id(e,t,r[0],r[1],i):x(n,`ReadonlyObject`)?Fd(e,t,r[0],i):x(n,`Record`)?Ii(e,t,r[0],r[1],i):x(n,`Required`)?Wd(e,t,r[0],i):x(n,`ReturnType`)?Jd(e,t,r[0],i):x(n,`TemplateLiteral`)?io(e,t,r[0],i):x(n,`Uncapitalize`)?rl(e,t,r[0],i):x(n,`Uppercase`)?il(e,t,r[0],i):O(n,r,i)}function K(e,t,n){let r=Ft(n),i=Zd(n,Ut(n)?`add`:`none`,zt(n)?`add`:`none`),a=Kt(i[0])?i[0].Clone():i[0],o=sn(a)?Id(e,t,a,a.$ref):Jt(a)?qt(K(e,t,a.items),Yt(a)):Zt(a)?Xt(K(e,t,a.iteratorItems),Qt(a)):Lc(a)?Fc(e,t,a.target,a.arguments):en(a)?$t(nf(e,t,a.parameters),K(e,t,a.instanceType),tn(a)):kt(a)?rf(e,t,a.action,a.parameters,a.options):rn(a)?nn(nf(e,t,a.parameters),K(e,t,a.returnType),an(a)):P(a)?Tn(nf(e,t,a.allOf),En(a)):ur(a)?lr(K(e,t,a.iteratorItems),dr(a)):j(a)?A(ef(e,t,a.properties),gn(a)):jt(a)?At(K(e,t,a.item),Mt(a)):Ki(a)?Hi(Ui(a),K(e,t,Gi(a))):Ji(a)?qi(K(e,t,a.items)):z(a)?ei(tf(e,t,a.items),ti(a)):N(a)?M(nf(e,t,a.anyOf),_n(a)):a,s=r?Pt(o):o;return Qd(i[1],$d(i[2],s))}function af(e,t){return K(e,{callstack:[]},t)}function of(e){return jt(e)?of(e.item):e}function sf(e,t){return G([e])?E(of(e),{},t):lf(e,t)}function cf(e,t,n,r){return sf(K(e,t,n),r)}function lf(e,t={}){return O(`Awaited`,[e],t)}function uf(e,t={}){return lc(e,t)}const df=Symbol.for(`yaml.alias`),ff=Symbol.for(`yaml.document`),pf=Symbol.for(`yaml.map`),mf=Symbol.for(`yaml.pair`),hf=Symbol.for(`yaml.scalar`),gf=Symbol.for(`yaml.seq`),_f=Symbol.for(`yaml.node.type`),vf=e=>!!e&&typeof e==`object`&&e[_f]===df,yf=e=>!!e&&typeof e==`object`&&e[_f]===ff,bf=e=>!!e&&typeof e==`object`&&e[_f]===pf,q=e=>!!e&&typeof e==`object`&&e[_f]===mf,J=e=>!!e&&typeof e==`object`&&e[_f]===hf,xf=e=>!!e&&typeof e==`object`&&e[_f]===gf;function Y(e){if(e&&typeof e==`object`)switch(e[_f]){case pf:case gf:return!0}return!1}function X(e){if(e&&typeof e==`object`)switch(e[_f]){case df:case pf:case hf:case gf:return!0}return!1}const Sf=e=>(J(e)||Y(e))&&!!e.anchor,Cf=Symbol(`break visit`),wf=Symbol(`skip children`),Tf=Symbol(`remove node`);function Ef(e,t){let n=Af(t);yf(e)?Df(null,e.contents,n,Object.freeze([e]))===Tf&&(e.contents=null):Df(null,e,n,Object.freeze([]))}Ef.BREAK=Cf,Ef.SKIP=wf,Ef.REMOVE=Tf;function Df(e,t,n,r){let i=jf(e,t,n,r);if(X(i)||q(i))return Mf(e,r,i),Df(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=Df(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===Cf)return Cf;else i===Tf&&(t.items.splice(e,1),--e)}}else if(q(t)){r=Object.freeze(r.concat(t));let e=Df(`key`,t.key,n,r);if(e===Cf)return Cf;e===Tf&&(t.key=null);let i=Df(`value`,t.value,n,r);if(i===Cf)return Cf;i===Tf&&(t.value=null)}}return i}async function Of(e,t){let n=Af(t);yf(e)?await kf(null,e.contents,n,Object.freeze([e]))===Tf&&(e.contents=null):await kf(null,e,n,Object.freeze([]))}Of.BREAK=Cf,Of.SKIP=wf,Of.REMOVE=Tf;async function kf(e,t,n,r){let i=await jf(e,t,n,r);if(X(i)||q(i))return Mf(e,r,i),kf(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 kf(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===Cf)return Cf;else i===Tf&&(t.items.splice(e,1),--e)}}else if(q(t)){r=Object.freeze(r.concat(t));let e=await kf(`key`,t.key,n,r);if(e===Cf)return Cf;e===Tf&&(t.key=null);let i=await kf(`value`,t.value,n,r);if(i===Cf)return Cf;i===Tf&&(t.value=null)}}return i}function Af(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 jf(e,t,n,r){if(typeof n==`function`)return n(e,t,r);if(bf(t))return n.Map?.(e,t,r);if(xf(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(vf(t))return n.Alias?.(e,t,r)}function Mf(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(yf(r))r.contents=n;else{let e=vf(r)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}const Nf={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},Pf=e=>e.replace(/[!,[\]{}]/g,e=>Nf[e]);var Ff=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+Pf(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={};Ef(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
|
-
`)}};Ff.defaultYaml={explicit:!1,version:`1.2`},Ff.defaultTags={"!!":`tag:yaml.org,2002:`};function If(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 Lf(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=Lf(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=Lf(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=Lf(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=Lf(e,r,t,n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function Rf(e,t,n){if(Array.isArray(e))return e.map((e,t)=>Rf(e,String(t),n));if(e&&typeof e.toJSON==`function`){if(!n||!Sf(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 zf=class{constructor(e){Object.defineProperty(this,_f,{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(!yf(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=Rf(this,``,a);if(typeof r==`function`)for(let{count:e,res:t}of a.anchors.values())r(t,e);return typeof i==`function`?Lf(i,{"":o},``,o):o}},Bf=class extends zf{constructor(e){super(df),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=[],Ef(e,{Node:(e,t)=>{(vf(t)||Sf(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||=(Rf(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=Vf(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(If(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 Vf(e,t,n){if(vf(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=Vf(e,i,n);t>r&&(r=t)}return r}else if(q(t)){let r=Vf(e,t.key,n),i=Vf(e,t.value,n);return Math.max(r,i)}return 1}const Hf=e=>!e||typeof e!=`function`&&typeof e!=`object`;var Z=class extends zf{constructor(e){super(hf),this.value=e}toJSON(e,t){return t?.keep?this.value:Rf(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 Uf(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 Wf(e,t,n){if(yf(e)&&(e=e.contents),X(e))return e;if(q(e)){let t=n.schema[pf].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 Bf(c.anchor);c={anchor:null,node:null},s.set(e,c)}t?.startsWith(`!!`)&&(t=`tag:yaml.org,2002:`+t.slice(2));let l=Uf(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[pf]:Symbol.iterator in Object(e)?o[gf]:o[pf]}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 Gf(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 Wf(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}const Kf=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done;var qf=class extends zf{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(Kf(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,Gf(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,Gf(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}};const Jf=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function Yf(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const Xf=(e,t,n)=>e.endsWith(`
|
|
5
|
-
`)?Yf(n,t):n.includes(`
|
|
6
|
-
`)?`
|
|
7
|
-
`+Yf(n,t):(e.endsWith(` `)?``:` `)+n,Zf=`flow`;function Qf(e,t,n=`flow`,{indentAtStart:r,lineWidth:i=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){if(!i||i<0)return e;i<a&&(a=0);let c=Math.max(1+a,1+i-t.length);if(e.length<=c)return e;let l=[],u={},d=i-t.length;typeof r==`number`&&(r>i-Math.max(2,a)?l.push(0):d=i-r);let f,p,m=!1,h=-1,g=-1,ee=-1;n===`block`&&(h=$f(e,h,t.length),h!==-1&&(d=h+c));for(let r;r=e[h+=1];){if(n===`quoted`&&r===`\\`){switch(g=h,e[h+1]){case`x`:h+=3;break;case`u`:h+=5;break;case`U`:h+=9;break;default:h+=1}ee=h}if(r===`
|
|
8
|
-
`)n===`block`&&(h=$f(e,h,t.length)),d=h+t.length+c,f=void 0;else{if(r===` `&&p&&p!==` `&&p!==`
|
|
9
|
-
`&&p!==` `){let t=e[h+1];t&&t!==` `&&t!==`
|
|
10
|
-
`&&t!==` `&&(f=h)}if(h>=d)if(f)l.push(f),d=f+c,f=void 0;else if(n===`quoted`){for(;p===` `||p===` `;)p=r,r=e[h+=1],m=!0;let t=h>ee+1?h-2:g-1;if(u[t])return e;l.push(t),u[t]=!0,d=t+c,f=void 0}else m=!0}p=r}if(m&&s&&s(),l.length===0)return e;o&&o();let _=e.slice(0,l[0]);for(let r=0;r<l.length;++r){let i=l[r],a=l[r+1]||e.length;i===0?_=`\n${t}${e.slice(0,a)}`:(n===`quoted`&&u[i]&&(_+=`${e[i]}\\`),_+=`\n${t}${e.slice(i+1,a)}`)}return _}function $f(e,t,n){let r=t,i=t+1,a=e[i];for(;a===` `||a===` `;)if(t<i+n)a=e[++t];else{do a=e[++t];while(a&&a!==`
|
|
11
|
-
`);r=t,i=t+1,a=e[i]}return r}const ep=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),tp=e=>/^(%|---|\.\.\.)/m.test(e);function np(e,t,n){if(!t||t<0)return!1;let r=t-n,i=e.length;if(i<=r)return!1;for(let t=0,n=0;t<i;++t)if(e[t]===`
|
|
12
|
-
`){if(t-n>r)return!0;if(n=t+1,i-n<=r)return!1}return!0}function rp(e,t){let n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;let{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,a=t.indent||(tp(e)?` `:``),o=``,s=0;for(let e=0,t=n[e];t;t=n[++e])if(t===` `&&n[e+1]===`\\`&&n[e+2]===`n`&&(o+=n.slice(s,e)+`\\ `,e+=1,s=e,t=`\\`),t===`\\`)switch(n[e+1]){case`u`:{o+=n.slice(s,e);let t=n.substr(e+2,4);switch(t){case`0000`:o+=`\\0`;break;case`0007`:o+=`\\a`;break;case`000b`:o+=`\\v`;break;case`001b`:o+=`\\e`;break;case`0085`:o+=`\\N`;break;case`00a0`:o+=`\\_`;break;case`2028`:o+=`\\L`;break;case`2029`:o+=`\\P`;break;default:t.substr(0,2)===`00`?o+=`\\x`+t.substr(2):o+=n.substr(e,6)}e+=5,s=e+1}break;case`n`:if(r||n[e+2]===`"`||n.length<i)e+=1;else{for(o+=n.slice(s,e)+`
|
|
13
|
-
|
|
14
|
-
`;n[e+2]===`\\`&&n[e+3]===`n`&&n[e+4]!==`"`;)o+=`
|
|
15
|
-
`,e+=2;o+=a,n[e+2]===` `&&(o+=`\\`),e+=1,s=e+1}break;default:e+=1}return o=s?o+n.slice(s):n,r?o:Qf(o,a,`quoted`,ep(t,!1))}function ip(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
|
|
16
|
-
`)||/[ \t]\n|\n[ \t]/.test(e))return rp(e,t);let n=t.indent||(tp(e)?` `:``),r=`'`+e.replace(/'/g,`''`).replace(/\n+/g,`$&\n${n}`)+`'`;return t.implicitKey?r:Qf(r,n,Zf,ep(t,!1))}function ap(e,t){let{singleQuote:n}=t.options,r;if(n===!1)r=rp;else{let t=e.includes(`"`),i=e.includes(`'`);r=t&&!i?ip:i&&!t?rp:n?ip:rp}return r(e,t)}let op;try{op=RegExp(`(^|(?<!
|
|
17
|
-
))
|
|
18
|
-
+(?!
|
|
19
|
-
|$)`,`g`)}catch{op=/\n+(?!\n|$)/g}function sp({comment:e,type:t,value:n},r,i,a){let{blockQuote:o,commentString:s,lineWidth:c}=r.options;if(!o||/\n[\t ]+$/.test(n))return ap(n,r);let l=r.indent||(r.forceBlockIndent||tp(n)?` `:``),u=o===`literal`?!0:o===`folded`||t===Z.BLOCK_FOLDED?!1:t===Z.BLOCK_LITERAL||!np(n,c,l.length);if(!n)return u?`|
|
|
20
|
-
`:`>
|
|
21
|
-
`;let d,f;for(f=n.length;f>0;--f){let e=n[f-1];if(e!==`
|
|
22
|
-
`&&e!==` `&&e!==` `)break}let p=n.substring(f),m=p.indexOf(`
|
|
23
|
-
`);m===-1?d=`-`:n===p||m!==p.length-1?(d=`+`,a&&a()):d=``,p&&=(n=n.slice(0,-p.length),p[p.length-1]===`
|
|
24
|
-
`&&(p=p.slice(0,-1)),p.replace(op,`$&${l}`));let h=!1,g,ee=-1;for(g=0;g<n.length;++g){let e=n[g];if(e===` `)h=!0;else if(e===`
|
|
25
|
-
`)ee=g;else break}let _=n.substring(0,ee<g?ee+1:g);_&&=(n=n.substring(_.length),_.replace(/\n+/g,`$&${l}`));let te=(h?l?`2`:`1`:``)+d;if(e&&(te+=` `+s(e.replace(/ ?[\r\n]+/g,` `)),i&&i()),!u){let e=n.replace(/\n+/g,`
|
|
26
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\n+/g,`$&${l}`),i=!1,a=ep(r,!0);o!==`folded`&&t!==Z.BLOCK_FOLDED&&(a.onOverflow=()=>{i=!0});let s=Qf(`${_}${e}${p}`,l,`block`,a);if(!i)return`>${te}\n${l}${s}`}return n=n.replace(/\n+/g,`$&${l}`),`|${te}\n${l}${_}${n}${p}`}function cp(e,t,n,r){let{type:i,value:a}=e,{actualString:o,implicitKey:s,indent:c,indentStep:l,inFlow:u}=t;if(s&&a.includes(`
|
|
27
|
-
`)||u&&/[[\]{},]/.test(a))return ap(a,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(a))return s||u||!a.includes(`
|
|
28
|
-
`)?ap(a,t):sp(e,t,n,r);if(!s&&!u&&i!==Z.PLAIN&&a.includes(`
|
|
29
|
-
`))return sp(e,t,n,r);if(tp(a)){if(c===``)return t.forceBlockIndent=!0,sp(e,t,n,r);if(s&&c===l)return ap(a,t)}let d=a.replace(/\n+/g,`$&\n${c}`);if(o){let e=e=>e.default&&e.tag!==`tag:yaml.org,2002:str`&&e.test?.test(d),{compat:n,tags:r}=t.doc.schema;if(r.some(e)||n?.some(e))return ap(a,t)}return s?d:Qf(d,c,Zf,ep(t,!1))}function lp(e,t,n,r){let{implicitKey:i,inFlow:a}=t,o=typeof e.value==`string`?e:Object.assign({},e,{value:String(e.value)}),{type:s}=e;s!==Z.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(s=Z.QUOTE_DOUBLE);let c=e=>{switch(e){case Z.BLOCK_FOLDED:case Z.BLOCK_LITERAL:return i||a?ap(o.value,t):sp(o,t,n,r);case Z.QUOTE_DOUBLE:return rp(o.value,t);case Z.QUOTE_SINGLE:return ip(o.value,t);case Z.PLAIN:return cp(o,t,n,r);default:return null}},l=c(s);if(l===null){let{defaultKeyType:e,defaultStringType:n}=t.options,r=i&&e||n;if(l=c(r),l===null)throw Error(`Unsupported default string type ${r}`)}return l}function up(e,t){let n=Object.assign({blockQuote:!0,commentString:Jf,defaultKeyType:null,defaultStringType:`PLAIN`,directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:`false`,flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:`null`,simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:`true`,verifyAliasOrder:!0},e.schema.toStringOptions,t),r;switch(n.collectionStyle){case`block`:r=!1;break;case`flow`:r=!0;break;default:r=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?` `:``,indent:``,indentStep:typeof n.indent==`number`?` `.repeat(n.indent):` `,inFlow:r,options:n}}function dp(e,t){if(t.tag){let n=e.filter(e=>e.tag===t.tag);if(n.length>0)return n.find(e=>e.format===t.format)??n[0]}let n,r;if(J(t)){r=t.value;let i=e.filter(e=>e.identify?.(r));if(i.length>1){let e=i.filter(e=>e.test);e.length>0&&(i=e)}n=i.find(e=>e.format===t.format)??i.find(e=>!e.format)}else r=t,n=e.find(e=>e.nodeClass&&r instanceof e.nodeClass);if(!n){let e=r?.constructor?.name??(r===null?`null`:typeof r);throw Error(`Tag not resolved for ${e} value`)}return n}function fp(e,t,{anchors:n,doc:r}){if(!r.directives)return``;let i=[],a=(J(e)||Y(e))&&e.anchor;a&&If(a)&&(n.add(a),i.push(`&${a}`));let o=e.tag??(t.default?null:t.tag);return o&&i.push(r.directives.tagString(o)),i.join(` `)}function pp(e,t,n,r){if(q(e))return e.toString(t,n,r);if(vf(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError(`Cannot stringify circular structure without alias nodes`);t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let i,a=X(e)?e:t.doc.createNode(e,{onTagObj:e=>i=e});i??=dp(t.doc.schema.tags,a);let o=fp(a,i,t);o.length>0&&(t.indentAtStart=(t.indentAtStart??0)+o.length+1);let s=typeof i.stringify==`function`?i.stringify(a,t,n,r):J(a)?lp(a,t,n,r):a.toString(t,n,r);return o?J(a)||s[0]===`{`||s[0]===`[`?`${o} ${s}`:`${o}\n${t.indent}${s}`:s}function mp({key:e,value:t},n,r,i){let{allNullValues:a,doc:o,indent:s,indentStep:c,options:{commentString:l,indentSeq:u,simpleKeys:d}}=n,f=X(e)&&e.comment||null;if(d){if(f)throw Error(`With simple keys, key nodes cannot have comments`);if(Y(e)||!X(e)&&typeof e==`object`)throw Error(`With simple keys, collection cannot be used as a key value`)}let p=!d&&(!e||f&&t==null&&!n.inFlow||Y(e)||(J(e)?e.type===Z.BLOCK_FOLDED||e.type===Z.BLOCK_LITERAL:typeof e==`object`));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(d||!a),indent:s+c});let m=!1,h=!1,g=pp(e,n,()=>m=!0,()=>h=!0);if(!p&&!n.inFlow&&g.length>1024){if(d)throw Error(`With simple keys, single line scalar must not span more than 1024 characters`);p=!0}if(n.inFlow){if(a||t==null)return m&&r&&r(),g===``?`?`:p?`? ${g}`:g}else if(a&&!d||t==null&&p)return g=`? ${g}`,f&&!m?g+=Xf(g,n.indent,l(f)):h&&i&&i(),g;m&&(f=null),p?(f&&(g+=Xf(g,n.indent,l(f))),g=`? ${g}\n${s}:`):(g=`${g}:`,f&&(g+=Xf(g,n.indent,l(f))));let ee,_,te;X(t)?(ee=!!t.spaceBefore,_=t.commentBefore,te=t.comment):(ee=!1,_=null,te=null,t&&typeof t==`object`&&(t=o.createNode(t))),n.implicitKey=!1,!p&&!f&&J(t)&&(n.indentAtStart=g.length+1),h=!1,!u&&c.length>=2&&!n.inFlow&&!p&&xf(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let ne=!1,re=pp(t,n,()=>ne=!0,()=>h=!0),ie=` `;if(f||ee||_){if(ie=ee?`
|
|
30
|
-
`:``,_){let e=l(_);ie+=`\n${Yf(e,n.indent)}`}re===``&&!n.inFlow?ie===`
|
|
31
|
-
`&&te&&(ie=`
|
|
32
|
-
|
|
33
|
-
`):ie+=`\n${n.indent}`}else if(!p&&Y(t)){let e=re[0],r=re.indexOf(`
|
|
34
|
-
`),i=r!==-1,a=n.inFlow??t.flow??t.items.length===0;if(i||!a){let t=!1;if(i&&(e===`&`||e===`!`)){let n=re.indexOf(` `);e===`&`&&n!==-1&&n<r&&re[n+1]===`!`&&(n=re.indexOf(` `,n+1)),(n===-1||r<n)&&(t=!0)}t||(ie=`\n${n.indent}`)}}else(re===``||re[0]===`
|
|
35
|
-
`)&&(ie=``);return g+=ie+re,n.inFlow?ne&&r&&r():te&&!ne?g+=Xf(g,n.indent,l(te)):h&&i&&i(),g}function hp(e,t){(e===`debug`||e===`warn`)&&console.warn(t)}const gp={identify:e=>e===`<<`||typeof e==`symbol`&&e.description===`<<`,default:`key`,tag:`tag:yaml.org,2002:merge`,test:/^<<$/,resolve:()=>Object.assign(new Z(Symbol(`<<`)),{addToJSMap:vp}),stringify:()=>`<<`},_p=(e,t)=>(gp.identify(t)||J(t)&&(!t.type||t.type===Z.PLAIN)&&gp.identify(t.value))&&e?.doc.schema.tags.some(e=>e.tag===gp.tag&&e.default);function vp(e,t,n){let r=bp(e,n);if(xf(r))for(let n of r.items)yp(e,t,n);else if(Array.isArray(r))for(let n of r)yp(e,t,n);else yp(e,t,r)}function yp(e,t,n){let r=bp(e,n);if(!bf(r))throw Error(`Merge sources must be maps or map aliases`);let i=r.toJSON(null,e,Map);for(let[e,n]of i)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0});return t}function bp(e,t){return e&&vf(t)?t.resolve(e.doc,e):t}function xp(e,t,{key:n,value:r}){if(X(n)&&n.addToJSMap)n.addToJSMap(e,t,r);else if(_p(e,n))vp(e,t,r);else{let i=Rf(n,``,e);if(t instanceof Map)t.set(i,Rf(r,i,e));else if(t instanceof Set)t.add(i);else{let a=Sp(n,i,e),o=Rf(r,a,e);a in t?Object.defineProperty(t,a,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[a]=o}}return t}function Sp(e,t,n){if(t===null)return``;if(typeof t!=`object`)return String(t);if(X(e)&&n?.doc){let t=up(n.doc,{});t.anchors=new Set;for(let e of n.anchors.keys())t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;let r=e.toString(t);if(!n.mapKeyWarned){let e=JSON.stringify(r);e.length>40&&(e=e.substring(0,36)+`..."`),hp(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}function Cp(e,t,n){return new wp(Wf(e,void 0,n),Wf(t,void 0,n))}var wp=class e{constructor(e,t=null){Object.defineProperty(this,_f,{value:mf}),this.key=e,this.value=t}clone(t){let{key:n,value:r}=this;return X(n)&&(n=n.clone(t)),X(r)&&(r=r.clone(t)),new e(n,r)}toJSON(e,t){return xp(t,t?.mapAsMap?new Map:{},this)}toString(e,t,n){return e?.doc?mp(this,e,t,n):JSON.stringify(this)}};function Tp(e,t,n){return(t.inFlow??e.flow?Dp:Ep)(e,t,n)}function Ep({comment:e,items:t},n,{blockItemPrefix:r,flowChars:i,itemIndent:a,onChompKeep:o,onComment:s}){let{indent:c,options:{commentString:l}}=n,u=Object.assign({},n,{indent:a,type:null}),d=!1,f=[];for(let e=0;e<t.length;++e){let i=t[e],o=null;if(X(i))!d&&i.spaceBefore&&f.push(``),Op(n,f,i.commentBefore,d),i.comment&&(o=i.comment);else if(q(i)){let e=X(i.key)?i.key:null;e&&(!d&&e.spaceBefore&&f.push(``),Op(n,f,e.commentBefore,d))}d=!1;let s=pp(i,u,()=>o=null,()=>d=!0);o&&(s+=Xf(s,a,l(o))),d&&o&&(d=!1),f.push(r+s)}let p;if(f.length===0)p=i.start+i.end;else{p=f[0];for(let e=1;e<f.length;++e){let t=f[e];p+=t?`\n${c}${t}`:`
|
|
36
|
-
`}}return e?(p+=`
|
|
37
|
-
`+Yf(l(e),c),s&&s()):d&&o&&o(),p}function Dp({items:e},t,{flowChars:n,itemIndent:r}){let{indent:i,indentStep:a,flowCollectionPadding:o,options:{commentString:s}}=t;r+=a;let c=Object.assign({},t,{indent:r,inFlow:!0,type:null}),l=!1,u=0,d=[];for(let n=0;n<e.length;++n){let i=e[n],a=null;if(X(i))i.spaceBefore&&d.push(``),Op(t,d,i.commentBefore,!1),i.comment&&(a=i.comment);else if(q(i)){let e=X(i.key)?i.key:null;e&&(e.spaceBefore&&d.push(``),Op(t,d,e.commentBefore,!1),e.comment&&(l=!0));let n=X(i.value)?i.value:null;n?(n.comment&&(a=n.comment),n.commentBefore&&(l=!0)):i.value==null&&e?.comment&&(a=e.comment)}a&&(l=!0);let o=pp(i,c,()=>a=null);l||=d.length>u||o.includes(`
|
|
38
|
-
`),n<e.length-1?o+=`,`:t.options.trailingComma&&(t.options.lineWidth>0&&(l||=d.reduce((e,t)=>e+t.length+2,2)+(o.length+2)>t.options.lineWidth),l&&(o+=`,`)),a&&(o+=Xf(o,r,s(a))),d.push(o),u=d.length}let{start:f,end:p}=n;if(d.length===0)return f+p;if(!l){let e=d.reduce((e,t)=>e+t.length+2,2);l=t.options.lineWidth>0&&e>t.options.lineWidth}if(l){let e=f;for(let t of d)e+=t?`\n${a}${i}${t}`:`
|
|
39
|
-
`;return`${e}\n${i}${p}`}else return`${f}${o}${d.join(` `)}${o}${p}`}function Op({indent:e,options:{commentString:t}},n,r,i){if(r&&i&&(r=r.replace(/^\n+/,``)),r){let i=Yf(t(r),e);n.push(i.trimStart())}}function kp(e,t){let n=J(t)?t.value:t;for(let r of e)if(q(r)&&(r.key===t||r.key===n||J(r.key)&&r.key.value===n))return r}var Ap=class extends qf{static get tagName(){return`tag:yaml.org,2002:map`}constructor(e){super(pf,e),this.items=[]}static from(e,t,n){let{keepUndefined:r,replacer:i}=n,a=new this(e),o=(e,o)=>{if(typeof i==`function`)o=i.call(t,e,o);else if(Array.isArray(i)&&!i.includes(e))return;(o!==void 0||r)&&a.items.push(Cp(e,o,n))};if(t instanceof Map)for(let[e,n]of t)o(e,n);else if(t&&typeof t==`object`)for(let e of Object.keys(t))o(e,t[e]);return typeof e.sortMapEntries==`function`&&a.items.sort(e.sortMapEntries),a}add(e,t){let n;n=q(e)?e:!e||typeof e!=`object`||!(`key`in e)?new wp(e,e?.value):new wp(e.key,e.value);let r=kp(this.items,n.key),i=this.schema?.sortMapEntries;if(r){if(!t)throw Error(`Key ${n.key} already set`);J(r.value)&&Hf(n.value)?r.value.value=n.value:r.value=n.value}else if(i){let e=this.items.findIndex(e=>i(n,e)<0);e===-1?this.items.push(n):this.items.splice(e,0,n)}else this.items.push(n)}delete(e){let t=kp(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let n=kp(this.items,e)?.value;return(!t&&J(n)?n.value:n)??void 0}has(e){return!!kp(this.items,e)}set(e,t){this.add(new wp(e,t),!0)}toJSON(e,t,n){let r=n?new n:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(r);for(let e of this.items)xp(t,r,e);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(let e of this.items)if(!q(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Tp(this,e,{blockItemPrefix:``,flowChars:{start:`{`,end:`}`},itemIndent:e.indent||``,onChompKeep:n,onComment:t})}};const jp={collection:`map`,default:!0,nodeClass:Ap,tag:`tag:yaml.org,2002:map`,resolve(e,t){return bf(e)||t(`Expected a mapping for this tag`),e},createNode:(e,t,n)=>Ap.from(e,t,n)};var Mp=class extends qf{static get tagName(){return`tag:yaml.org,2002:seq`}constructor(e){super(gf,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=Np(e);return typeof t==`number`&&this.items.splice(t,1).length>0}get(e,t){let n=Np(e);if(typeof n!=`number`)return;let r=this.items[n];return!t&&J(r)?r.value:r}has(e){let t=Np(e);return typeof t==`number`&&t<this.items.length}set(e,t){let n=Np(e);if(typeof n!=`number`)throw Error(`Expected a valid index, not ${e}.`);let r=this.items[n];J(r)&&Hf(t)?r.value=t:this.items[n]=t}toJSON(e,t){let n=[];t?.onCreate&&t.onCreate(n);let r=0;for(let e of this.items)n.push(Rf(e,String(r++),t));return n}toString(e,t,n){return e?Tp(this,e,{blockItemPrefix:`- `,flowChars:{start:`[`,end:`]`},itemIndent:(e.indent||``)+` `,onChompKeep:n,onComment:t}):JSON.stringify(this)}static from(e,t,n){let{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t)){let e=0;for(let a of t){if(typeof r==`function`){let n=t instanceof Set?a:String(e++);a=r.call(t,n,a)}i.items.push(Wf(a,void 0,n))}}return i}};function Np(e){let t=J(e)?e.value:e;return t&&typeof t==`string`&&(t=Number(t)),typeof t==`number`&&Number.isInteger(t)&&t>=0?t:null}const Pp={collection:`seq`,default:!0,nodeClass:Mp,tag:`tag:yaml.org,2002:seq`,resolve(e,t){return xf(e)||t(`Expected a sequence for this tag`),e},createNode:(e,t,n)=>Mp.from(e,t,n)};function Fp(e){return typeof e==`bigint`||Number.isInteger(e)}const Ip=({value:e})=>JSON.stringify(e),Lp=[{identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify:Ip},{identify:e=>e==null,createNode:()=>new Z(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^null$/,resolve:()=>null,stringify:Ip},{identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^true$|^false$/,resolve:e=>e===`true`,stringify:Ip},{identify:Fp,default:!0,tag:`tag:yaml.org,2002:int`,test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>Fp(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:Ip}];[jp,Pp].concat(Lp,{default:!0,tag:``,test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}});function Rp(e,t,n){let{replacer:r}=n,i=new Mp(e);i.tag=`tag:yaml.org,2002:pairs`;let a=0;if(t&&Symbol.iterator in Object(t))for(let e of t){typeof r==`function`&&(e=r.call(t,String(a++),e));let o,s;if(Array.isArray(e))if(e.length===2)o=e[0],s=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(t.length===1)o=t[0],s=e[o];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else o=e;i.items.push(Cp(o,s,n))}return i}var zp=class e extends Mp{constructor(){super(),this.add=Ap.prototype.add.bind(this),this.delete=Ap.prototype.delete.bind(this),this.get=Ap.prototype.get.bind(this),this.has=Ap.prototype.has.bind(this),this.set=Ap.prototype.set.bind(this),this.tag=e.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;t?.onCreate&&t.onCreate(n);for(let e of this.items){let r,i;if(q(e)?(r=Rf(e.key,``,t),i=Rf(e.value,r,t)):r=Rf(e,``,t),n.has(r))throw Error(`Ordered maps must not include duplicate keys`);n.set(r,i)}return n}static from(e,t,n){let r=Rp(e,t,n),i=new this;return i.items=r.items,i}};zp.tag=`tag:yaml.org,2002:omap`;var Bp=class e extends Ap{constructor(t){super(t),this.tag=e.tag}add(e){let t;t=q(e)?e:e&&typeof e==`object`&&`key`in e&&`value`in e&&e.value===null?new wp(e.key,null):new wp(e,null),kp(this.items,t.key)||this.items.push(t)}get(e,t){let n=kp(this.items,e);return!t&&q(n)?J(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!=`boolean`)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=kp(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new wp(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw Error(`Set items must all have null values`)}static from(e,t,n){let{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)typeof r==`function`&&(e=r.call(t,e,e)),i.items.push(Cp(e,null,n));return i}};Bp.tag=`tag:yaml.org,2002:set`;const Vp=Symbol(`break visit`),Hp=Symbol(`skip children`),Up=Symbol(`remove item`);function Wp(e,t){`type`in e&&e.type===`document`&&(e={start:e.start,value:e.value}),Gp(Object.freeze([]),e,t)}Wp.BREAK=Vp,Wp.SKIP=Hp,Wp.REMOVE=Up,Wp.itemAtPath=(e,t)=>{let n=e;for(let[e,r]of t){let t=n?.[e];if(t&&`items`in t)n=t.items[r];else return}return n},Wp.parentCollection=(e,t)=>{let n=Wp.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],i=n?.[r];if(i&&`items`in i)return i;throw Error(`Parent collection not found`)};function Gp(e,t,n){let r=n(t,e);if(typeof r==`symbol`)return r;for(let i of[`key`,`value`]){let a=t[i];if(a&&`items`in a){for(let t=0;t<a.items.length;++t){let r=Gp(Object.freeze(e.concat([[i,t]])),a.items[t],n);if(typeof r==`number`)t=r-1;else if(r===Vp)return Vp;else r===Up&&(a.items.splice(t,1),--t)}typeof r==`function`&&i===`key`&&(r=r(t,e))}}return typeof r==`function`?r(t,e):r}t(((e,t)=>{function n(e){return Array.isArray(e)?e:[e]}let r=/^\s+$/,i=/(?:[^\\]|^)\\$/,a=/^\\!/,o=/^\\#/,s=/\r?\n/g,c=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,u=`node-ignore`;typeof Symbol<`u`&&(u=Symbol.for(`node-ignore`));let d=u,f=(e,t,n)=>(Object.defineProperty(e,t,{value:n}),n),p=/([0-z])-([0-z])/g,m=()=>!1,h=e=>e.replace(p,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),g=e=>{let{length:t}=e;return e.slice(0,t-t%2)},ee=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${g(r)}${i}`:i===`]`&&r.length%2==0?`[${h(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],_=/(^|\\\/)?\\\*$/,te=`regex`,ne=`checkRegex`,re={[te](e,t){return`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`},[ne](e,t){return`${t?`${t}[^/]*`:`[^/]*`}(?=$|\\/$)`}},ie=e=>ee.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),ae=e=>typeof e==`string`,oe=e=>e&&ae(e)&&!r.test(e)&&!i.test(e)&&e.indexOf(`#`)!==0,se=e=>e.split(s).filter(Boolean);var ce=class{constructor(e,t,n,r,i,a){this.pattern=e,this.mark=t,this.negative=i,f(this,`body`,n),f(this,`ignoreCase`,r),f(this,`regexPrefix`,a)}get regex(){let e=`_regex`;return this[e]?this[e]:this._make(te,e)}get checkRegex(){let e=`_checkRegex`;return this[e]?this[e]:this._make(ne,e)}_make(e,t){let n=this.regexPrefix.replace(_,re[e]),r=this.ignoreCase?new RegExp(n,`i`):new RegExp(n);return f(this,t,r)}};let le=({pattern:e,mark:t},n)=>{let r=!1,i=e;i.indexOf(`!`)===0&&(r=!0,i=i.substr(1)),i=i.replace(a,`!`).replace(o,`#`);let s=ie(i);return new ce(e,t,i,n,r,s)};var v=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[d]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(ae(e)&&(e={pattern:e}),oe(e.pattern)){let t=le(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(ae(e)?se(e):e).forEach(this._add,this),this._added}test(e,t,n){let r=!1,i=!1,a;this._rules.forEach(o=>{let{negative:s}=o;i===s&&r!==i||s&&!r&&!i&&!t||o[n].test(e)&&(r=!s,i=s,a=s?void 0:o)});let o={ignored:r,unignored:i};return a&&(o.rule=a),o}};let ue=(e,t)=>{throw new t(e)},de=(e,t,n)=>ae(e)?e?!de.isNotRelative(e)||n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),fe=e=>c.test(e);de.isNotRelative=fe,de.convert=e=>e;var pe=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){f(this,d,!0),this._rules=new v(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,n,r){let i=e&&de.convert(e);return de(i,e,this._strictPathCheck?ue:m),this._t(i,t,n,r)}checkIgnore(e){if(!l.test(e))return this.test(e);let t=e.split(`/`).filter(Boolean);if(t.pop(),t.length){let e=this._t(t.join(`/`)+`/`,this._testCache,!0,t);if(e.ignored)return e}return this._rules.test(e,!1,ne)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`).filter(Boolean),r.pop(),!r.length)return t[e]=this._rules.test(e,n,te);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._rules.test(e,n,te)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}};let me=e=>new pe(e),he=e=>de(e&&de.convert(e),e,m),ge=()=>{de.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;de.isNotRelative=t=>e.test(t)||fe(t)};typeof process<`u`&&process.platform===`win32`&&ge(),t.exports=me,me.default=me,t.exports.isPathValid=he,f(t.exports,Symbol.for(`setupWindows`),ge)}))(),globalThis.Buffer,A({command:Er({description:`Bash command to execute`}),timeout:Rt(Sr({description:`Timeout in seconds (optional, no default timeout)`}))});var Kp=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r){setTimeout(function(){r(e)},0);return}else return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h){d[r]=void 0;continue}if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}};new class extends Kp{};function qp(e,t){let n;for(n=0;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function Jp(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function Yp(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function Xp(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function Zp(e,t){return Yp(e,t,``)}function Qp(e,t){return Xp(e,t,``)}function $p(e,t){return t.slice(0,em(e,t))}function em(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function tm(e,t){let n=[];for(let r of Array.from(t.segment(e))){let e=r.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}return n}function nm(e,t){if(t)return im(e,t)[1];let n;for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function rm(e,t){if(t)return im(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:``}function im(e,t){if(!t)return[rm(e),nm(e)];if(t.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);let n=tm(e,t),r=n[0],i=n[n.length-1];return[/\s/.test(r)?r:``,/\s/.test(i)?i:``]}const am=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,om=RegExp(`[${am}]+|\\s+|[^${am}]`,`ug`);new class extends Kp{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=tm(e,r)}else n=e.match(om)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&sm(n,i,r,e,t.intlSegmenter),n=e,r=null,i=null)}),(r||i)&&sm(n,i,r,null,t.intlSegmenter),e}};function sm(e,t,n,r,i){if(t&&n){let[a,o]=im(t.value,i),[s,c]=im(n.value,i);if(e){let r=qp(a,s);e.value=Xp(e.value,s,r),t.value=Zp(t.value,r),n.value=Zp(n.value,r)}if(r){let e=Jp(o,c);r.value=Yp(r.value,c,e),t.value=Qp(t.value,e),n.value=Qp(n.value,e)}}else if(n){if(e){let e=rm(n.value,i);n.value=n.value.substring(e.length)}if(r){let e=rm(r.value,i);r.value=r.value.substring(e.length)}}else if(e&&r){let n=rm(r.value,i),[a,o]=im(t.value,i),s=qp(n,a);t.value=Zp(t.value,s);let c=Jp(Zp(n,s),o);t.value=Qp(t.value,c),r.value=Yp(r.value,n,c),e.value=Xp(e.value,n,n.slice(0,n.length-c.length))}else if(r){let e=rm(r.value,i),n=$p(nm(t.value,i),e);t.value=Qp(t.value,n)}else if(e){let n=$p(nm(e.value,i),rm(t.value,i));t.value=Zp(t.value,n)}}new class extends Kp{tokenize(e){let t=RegExp(`(\\r?\\n)|[${am}]+|[^\\S\\n\\r]+|[^${am}]`,`ug`);return e.match(t)||[]}},new class extends Kp{constructor(){super(...arguments),this.tokenize=cm}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
|
|
40
|
-
`))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
|
|
41
|
-
`))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
|
|
42
|
-
`)&&(e=e.slice(0,-1)),t.endsWith(`
|
|
43
|
-
`)&&(t=t.slice(0,-1))),super.equals(e,t,n)}};function cm(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
|
|
44
|
-
`));let n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let e=0;e<r.length;e++){let i=r[e];e%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}function lm(e){return e==`.`||e==`!`||e==`?`}new class extends Kp{tokenize(e){let t=[],n=0;for(let r=0;r<e.length;r++){if(r==e.length-1){t.push(e.slice(n));break}if(lm(e[r])&&e[r+1].match(/\s/)){for(t.push(e.slice(n,r+1)),r=n=r+1;e[r+1]?.match(/\s/);)r++;t.push(e.slice(n,r+1)),n=r+1}}return t}},new class extends Kp{tokenize(e){return e.split(/([{}:;,]|\s+)/)}},new class extends Kp{constructor(){super(...arguments),this.tokenize=cm}get useLongestToken(){return!0}castInput(e,t){let{undefinedReplacement:n,stringifyReplacer:r=(e,t)=>t===void 0?n:t}=t;return typeof e==`string`?e:JSON.stringify(um(e,null,null,r),null,` `)}equals(e,t,n){return super.equals(e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`),n)}};function um(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i===void 0?``:i,e));let a;for(a=0;a<t.length;a+=1)if(t[a]===e)return n[a];let o;if(Object.prototype.toString.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=um(e[a],t,n,r,String(a));return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),typeof e==`object`&&e){t.push(e),o={},n.push(o);let i=[],s;for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&i.push(s);for(i.sort(),a=0;a<i.length;a+=1)s=i[a],o[s]=um(e[s],t,n,r,s);t.pop(),n.pop()}else o=e;return o}new class extends Kp{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};const dm=A({oldText:Er({description:`Exact text for one targeted replacement. It must be unique in the original file and must not overlap with any other edits[].oldText in the same call.`}),newText:Er({description:`Replacement text for this targeted edit.`})},{});A({path:Er({description:`Path to the file to edit (relative or absolute)`}),edits:qt(dm,{description:`One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead.`})},{}),A({path:Er({description:`Path to the file to read (relative or absolute)`}),offset:Rt(Sr({description:`Line number to start reading from (1-indexed)`})),limit:Rt(Sr({description:`Maximum number of lines to read`}))}),A({path:Er({description:`Path to the file to write (relative or absolute)`}),content:Er({description:`Content to write to the file`})});const fm={enabled:!0,reserveTokens:16384,keepRecentTokens:2e4};function pm(e,t,n){return n.enabled?e>t-n.reserveTokens:!1}function mm(e){if(typeof e==`string`)return e.length;let t=0;for(let n of e)n.type===`text`&&n.text?t+=n.text.length:n.type===`image`&&(t+=4800);return t}function hm(e){let t=0;switch(e.role){case`user`:return t=mm(e.content),Math.ceil(t/4);case`assistant`:{let n=e;for(let e of n.content)e.type===`text`?t+=e.text.length:e.type===`thinking`?t+=e.thinking.length:e.type===`toolCall`&&(t+=e.name.length+JSON.stringify(e.arguments).length);return Math.ceil(t/4)}case`custom`:case`toolResult`:return t=mm(e.content),Math.ceil(t/4);case`bashExecution`:return t=e.command.length+e.output.length,Math.ceil(t/4);case`branchSummary`:case`compactionSummary`:return t=e.summary.length,Math.ceil(t/4)}return 0}const gm=n(`context-compaction`);function _m(e,t){return e.role===t}function vm(e){let t=0;for(;t<e.length&&_m(e[t],`toolResult`);){let n=e[t];gm.warn(`Dropping orphaned toolResult (no preceding assistant message)`,{toolCallId:n.toolCallId}),t++}return t>0?e.slice(t):e}function ym(e){let t=[];for(let n of e){let e=n;switch(e.role){case`user`:t.push(`<user>\n${bm(e.content)}\n</user>`);break;case`assistant`:t.push(`<assistant>\n${bm(e.content)}\n</assistant>`);break;case`toolResult`:{let n=e.toolName??`tool`;t.push(`<tool-result name="${n}">\n${bm(e.content)}\n</tool-result>`);break}case`bashExecution`:t.push(`<bash>\n$ ${e.command??``}\n${e.output??``}\n</bash>`);break;case`branchSummary`:case`compactionSummary`:t.push(`<prior-summary>\n${e.summary??``}\n</prior-summary>`);break;default:t.push(`<${e.role}>\n${bm(e.content)}\n</${e.role}>`)}}return t.join(`
|
|
45
|
-
|
|
46
|
-
`)}function bm(e){if(typeof e==`string`)return e;if(!Array.isArray(e))return``;let t=[];for(let n of e){let e=n;e.type===`text`&&e.text?t.push(e.text):e.type===`thinking`&&e.thinking?t.push(`[thinking] ${e.thinking}`):e.type===`toolCall`?t.push(`[tool-call ${e.name??`?`}] ${JSON.stringify(e.arguments??{})}`):e.type===`image`&&t.push(`[image]`)}return t.join(`
|
|
47
|
-
`)}function xm(e){return`You are a context compaction assistant. You are shown the prefix of a conversation between a user and an AI coding assistant, and asked to produce either a structured summary, durable memory bullets, or a short title — depending on the user's instruction.
|
|
48
|
-
|
|
49
|
-
Do NOT continue the conversation. Do NOT answer questions inside the conversation. Output ONLY what the user asks for in the format specified.
|
|
50
|
-
|
|
51
|
-
<conversation>
|
|
52
|
-
${e}
|
|
53
|
-
</conversation>`}async function Sm(e,t,n,r,i,a,o){let s=await _(e,{systemPrompt:n,messages:[{role:`user`,content:[{type:`text`,text:r}],timestamp:Date.now()}]},{maxTokens:i,apiKey:t,headers:a,signal:o});if(s.stopReason===`error`)throw Error(`Compaction call failed: ${s.errorMessage||`Unknown error`}`);return s.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
54
|
-
`).trim()}function Cm(e){if(typeof e==`string`)return e.length;if(!Array.isArray(e))return 0;let t=0;for(let n of e){let e=n;if(e.type===`text`&&e.text)t+=e.text.length;else if(e.type===`thinking`&&e.thinking)t+=e.thinking.length;else if(e.type===`toolCall`&&e.arguments!==void 0)try{t+=JSON.stringify(e.arguments).length}catch{}else e.type===`image`&&e.source?.data&&(t+=e.source.data.length)}return t}function wm(e,t){let n=Math.max(1,Math.round(e/1024));return`[${t===`assistant`?`Assistant message elided`:`Tool result elided`}: ${n} KB, exceeds half the context window. Re-run with smaller arguments — e.g. open --view --size low.]`}function Tm(e,t,n){let r=(t-n)/2,i=0,a=0;return{messages:e.map(e=>{if(hm(e)<=r)return e;let t=e.role;if(t!==`toolResult`&&t!==`assistant`)return e;let n=e,o=Cm(n.content);if(t===`toolResult`)return i++,a+=o,{...e,content:[{type:`text`,text:wm(o,`toolResult`)}]};let s=(Array.isArray(n.content)?n.content:[]).filter(e=>e.type===`toolCall`);if(s.length===0)return e;let c=s.map(e=>{let t=0;if(e.arguments!==void 0)try{t=JSON.stringify(e.arguments).length}catch{}return{type:e.type,id:e.id,name:e.name,arguments:{elided:!0,originalBytes:t}}});return i++,a+=o,{...e,content:[{type:`text`,text:wm(o,`assistant`)},...c]}}),elidedCount:i,elidedBytes:a}}function Em(e){let t=0;for(let n of e)t+=hm(n);return t}function Dm(e,t){try{e.onCompactionStateChange?.(t)}catch(e){gm.warn(`onCompactionStateChange listener threw`,{error:e instanceof Error?e.message:String(e)})}}function Om(e,t,n,r,i,a){if(t<=n*i)return{messages:e,isHopeless:!1,earlyReturn:null};let o=Tm(e,n,r),s=o.messages;return gm.warn(`Compaction hopeless branch`,{totalTokens:t,contextWindow:n,multiplier:i,elidedCount:o.elidedCount,elidedBytes:o.elidedBytes}),{messages:s,isHopeless:!0,earlyReturn:pm(Em(s),n,a)?null:s}}function km(e,t){let n=0,r=e.length;for(let i=e.length-1;i>=0;i--){let a=hm(e[i]);if(n+a>t&&r<e.length)break;n+=a,r=i}for(;r>0&&_m(e[r],`toolResult`);)r--;return r<=0||r>=e.length?(gm.warn(`Cannot find valid cut point for compaction`),null):{messagesToSummarize:e.slice(0,r),messagesToKeep:vm(e.slice(r))}}async function Am(e,t,n,r){if(e.onMemoryUpdates)try{Dm(e,`extracting-memory`);let i=await Sm(e.model,t,n,`From the conversation above, extract durable memories worth persisting to a global memory file shared across future sessions.
|
|
55
|
-
|
|
56
|
-
Focus on:
|
|
57
|
-
- User preferences, working style, opinions stated explicitly.
|
|
58
|
-
- Stable project facts (architecture decisions, conventions, constraints).
|
|
59
|
-
- Validated approaches the user accepted ("yes, exactly", "perfect"), not just corrections.
|
|
60
|
-
- External resources/links the user named.
|
|
61
|
-
|
|
62
|
-
DO NOT include:
|
|
63
|
-
- Ephemeral state (current task, in-progress work).
|
|
64
|
-
- Information already obvious from the codebase (file paths, function names, framework conventions).
|
|
65
|
-
- Generic restatements of what the conversation was about.
|
|
66
|
-
|
|
67
|
-
If nothing in the conversation is worth persisting, return exactly the single line:
|
|
68
|
-
NONE
|
|
69
|
-
|
|
70
|
-
Otherwise, output ONLY a markdown bullet list (one bullet per memory), no headers, no preamble, no follow-up. Each bullet is one line. Be specific. Prefer one fact per bullet over multi-clause sentences.`,2048,e.headers,r);if(i?.trim()&&i.trim()!==`NONE`)try{await e.onMemoryUpdates(i.trim()),gm.info(`Memory extraction applied`,{bulletsLength:i.length})}catch(e){gm.warn(`onMemoryUpdates callback threw`,{error:e instanceof Error?e.message:String(e)})}else gm.info(`Memory extraction returned no durable memories`)}catch(e){gm.warn(`Memory extraction call failed (compaction still applied)`,{error:e instanceof Error?e.message:String(e)})}}async function jm(e,t,n,r,i,a,o){try{let s=xm(ym(n)),c=Math.floor(.8*i);Dm(e,`summarizing`);let l=await Sm(e.model,t,s,`Produce a structured context checkpoint summary of the conversation above that another LLM can use to continue the work.
|
|
71
|
-
|
|
72
|
-
Use this EXACT format:
|
|
73
|
-
|
|
74
|
-
## Goal
|
|
75
|
-
[What is the user trying to accomplish? Can be multiple items if the session covers different tasks.]
|
|
76
|
-
|
|
77
|
-
## Constraints & Preferences
|
|
78
|
-
- [Any constraints, preferences, or requirements mentioned by user]
|
|
79
|
-
- [Or "(none)" if none were mentioned]
|
|
80
|
-
|
|
81
|
-
## Progress
|
|
82
|
-
### Done
|
|
83
|
-
- [x] [Completed tasks/changes]
|
|
84
|
-
|
|
85
|
-
### In Progress
|
|
86
|
-
- [ ] [Current work]
|
|
87
|
-
|
|
88
|
-
### Blocked
|
|
89
|
-
- [Issues preventing progress, if any]
|
|
90
|
-
|
|
91
|
-
## Key Decisions
|
|
92
|
-
- **[Decision]**: [Brief rationale]
|
|
93
|
-
|
|
94
|
-
## Next Steps
|
|
95
|
-
1. [Ordered list of what should happen next]
|
|
96
|
-
|
|
97
|
-
## Critical Context
|
|
98
|
-
- [Any data, examples, or references needed to continue]
|
|
99
|
-
- [Or "(none)" if not applicable]
|
|
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 gm.info(`LLM summarization successful`,{originalMessages:a,compactedMessages:1+r.length,summaryLength:l.length}),await Am(e,t,s,o),Dm(e,`idle`),[u,...r]}catch(e){return gm.warn(`LLM summarization failed, falling back to naive drop`,{error:e instanceof Error?e.message:String(e)}),null}}function Mm(e){let t=e.contextWindow??2e5,n=e.reserveTokens??fm.reserveTokens,r=e.keepRecentTokens??fm.keepRecentTokens,i=e.hopelessMultiplier??4,a={enabled:!0,reserveTokens:n,keepRecentTokens:r};return async(o,s)=>{if(o.length===0)return o;let c=Em(o);if(!pm(c,t,a))return o;let l=Om(o,c,t,n,i,a);if(l.earlyReturn)return l.earlyReturn;let u=l.messages,d=l.isHopeless;gm.info(`Context compaction triggered`,{totalTokens:c,contextWindow:t,threshold:t-n,messageCount:u.length});let f=km(u,r);if(!f)return u;let{messagesToSummarize:p,messagesToKeep:m}=f;gm.info(`Compaction cut point`,{summarizing:p.length,keeping:m.length});let h=d?void 0:e.getApiKey();if(h){let t=await jm(e,h,p,m,n,o.length,s);if(t)return t}else d||gm.warn(`No API key available for LLM summarization, falling back to naive drop`);Dm(e,`idle`);let g={role:`user`,content:[{type:`text`,text:`[Earlier conversation messages were compacted to save context space]`}],timestamp:Date.now()};return gm.info(`Naive compaction applied`,{originalMessages:o.length,compactedMessages:1+m.length}),[g,...m]}}const Nm=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 Pm(e,t){return Nm({type:e,payload:t})}const Fm=n(`secret-scrub`),Im=async e=>e;function Lm(){let e=se();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?(Fm.debug(`SW scrub-tool-result returned error`,{error:t.error}),e):typeof t.text==`string`?t.text:e}catch(t){return Fm.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 Pm(`secrets.scrub-tool-result`,{text:e});return t?.error?(Fm.debug(`Bridge scrub-tool-result returned error`,{error:t.error}),e):typeof t?.text==`string`?t.text:e}catch(t){return Fm.debug(`Bridge scrub-tool-result failed`,{error:t instanceof Error?t.message:String(t)}),e}}:e===`connect`?Im: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 Fm.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 Fm.debug(`Server scrub-tool-result failed`,{error:t instanceof Error?t.message:String(t)}),e}}}const Rm=n(`image-processor`),zm=3932160,Bm=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function Vm(e){return Bm.has(e)}function Hm(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 Um(e){if(!Vm(e.mimeType))return Rm.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=Hm(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;Rm.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-CTgpng4k.js`).then(e=>e.r);r=e.getMagick,i=e.MIME_TO_MAGICK_FORMAT}catch(e){return Rm.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 Rm.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),Rm.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>zm&&s!==`JPEG`?(Rm.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>zm&&(Rm.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 Rm.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(o.data.length>zm)return Rm.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 Rm.info(`Image processed successfully`,{originalBase64:t,newBase64:c.length,mimeType:o.mime}),{type:`image`,data:c,mimeType:o.mime}}catch(n){return Rm.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 Wm=n(`tool-adapter`),Gm=/<img:(data:(image\/[^;]+);base64,([^>]+))>/g;function Km(e){let t=[],n=0;for(let r of e.matchAll(Gm)){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 qm(e){let t=Km(e),n=[];for(let e of t)e.type===`image`?n.push(await Um(e)):n.push(e);return n}function Jm(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,...Xm(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){Wm.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 qm(a)}catch(t){Wm.warn(`Image processing failed, falling back to raw content`,{tool:e.name,error:t instanceof Error?t.message:String(t)}),o=Km(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 Ym(e,t,n){return e.map(e=>Jm(e,t,n))}function Xm(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[]}function Zm(e,t){let n={input:0,output:0,cacheRead:0,cacheWrite:0},r=h(e);if(!r)return n;let i;for(let e of t.values()){let t=h(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}var Qm=e({ACCOUNTS_KEY:()=>th,__test__:()=>uh,addAccount:()=>Ah,applyProviderDefaults:()=>yh,clearAllSettings:()=>tg,clearApiKey:()=>Xh,clearBaseUrl:()=>$h,clearSelectedProvider:()=>qh,exportProviders:()=>eg,getAccounts:()=>$,getAllAvailableModels:()=>Ch,getAllExtraOAuthDomains:()=>Dh,getApiKey:()=>Jh,getApiKeyForProvider:()=>Rh,getApiVersionForProvider:()=>Vh,getAvailableProviders:()=>dh,getBaseUrl:()=>Zh,getBaseUrlForProvider:()=>zh,getDeploymentForProvider:()=>Bh,getExtraOAuthDomains:()=>wh,getOAuthAccountInfo:()=>_h,getProviderConfig:()=>mh,getProviderModels:()=>gh,getRawApiKeyForProvider:()=>Lh,getSelectedModelId:()=>Hh,getSelectedProvider:()=>Gh,isModelHiddenFromPicker:()=>xh,logoutOAuthAccount:()=>Nh,maskOAuthTokenWithRetry:()=>Ph,migrateLegacyAuthOnlySelection:()=>ch,persistOAuthMaskViaServiceWorker:()=>Fh,providerOffersLlmModels:()=>fh,removeAccount:()=>Mh,resolveCurrentModel:()=>og,resolveModelById:()=>ag,resolveModelByShorthand:()=>sg,saveOAuthAccount:()=>Ih,setApiKey:()=>Yh,setBaseUrl:()=>Qh,setExtraOAuthDomains:()=>Th,setExtraOAuthDomainsAsync:()=>Eh,setSelectedModelId:()=>Uh,setSelectedProvider:()=>Kh});const $m=re,eh=g,th=`slicc_accounts`,nh=`selected-model`,rh=[`slicc_provider`,`slicc_api_key`,`slicc_base_url`,`anthropic_api_key`,`api_provider`,`azure_resource`,`bedrock_region`],ih=new Set([`github`]);function ah(e){let t;try{t=ee()}catch{return!1}return t.includes(e)&&!o(e)}let oh=!1;function sh(){if(!oh){oh=!0;for(let e of rh)try{localStorage.removeItem(e)}catch{}ch()}}function ch(){try{let e=localStorage.getItem(nh);if(e){let t=e.indexOf(`:`);if(t>0){let n=e.slice(0,t);(ih.has(n)||ah(n))&&localStorage.removeItem(nh)}}}catch{}try{let e=localStorage.getItem(th);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`&&ah(e.providerId)));n.length!==t.length&&localStorage.setItem(th,JSON.stringify(n))}catch{}}function lh(){oh=!1}const uh={_resetLegacyCleanup:lh};function dh(){let e=ee().filter(o),t=a();return[...new Set([...e,...t])].filter(e=>!s(e)?.hidden)}function fh(e){try{if(gh(e).length>0)return!0}catch{}try{if(g(e).length>0)return!0}catch{}let t=s(e);return!!(t?.modelOverrides&&Object.keys(t.modelOverrides).length>0)}function ph(e,t){try{if(gh(e).some(e=>e.id===t))return!0}catch{}try{if(g(e).some(e=>e.id===t))return!0}catch{}let n=s(e);return!!(n?.modelOverrides&&Object.hasOwn(n.modelOverrides,t))}function mh(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 hh(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.cost!==void 0&&(e.cost=t.cost,e.inputCost=t.cost.input,e.outputCost=t.cost.output,e.cacheReadCost=t.cost.cacheRead,e.cacheWriteCost=t.cost.cacheWrite),t.compat!==void 0&&(e.compat={...e.compat??{},...t.compat}),t.thinkingLevelMap!==void 0&&(e.thinkingLevelMap={...e.thinkingLevelMap??{},...t.thinkingLevelMap})}function gh(e){try{if(e===`bedrock-camp`){let e=ne(zh(`bedrock-camp`));return eh(`amazon-bedrock`).filter(t=>te(t,e)).map(e=>({...e,api:`bedrock-camp-converse`,provider:`bedrock-camp`}))}let t=mh(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 ee())try{for(let t of eh(e))r.set(t.id,t)}catch{}return n.map(n=>{let i=n.api===`openai`?`openai`:`anthropic`,a=`${e}-${i}`,o=r.get(n.id),s;if(o)s={...o,api:a,provider:e};else if(s=rg(e,n.id,``,a),n.name&&(s.name=n.name),i===`anthropic`){let e=Zm(n.id,r);s.cost=e,s.inputCost=e.input,s.outputCost=e.output,s.cacheReadCost=e.cacheRead,s.cacheWriteCost=e.cacheWrite}let c=t.modelOverrides?.[n.id];return c&&hh(s,c),hh(s,n),s})}if(t.isOAuth){let n=eh(`anthropic`),r=`${e}-anthropic`;return n.map(n=>{let i={...n,api:r,provider:e},a=t.modelOverrides?.[n.id];return a&&hh(i,a),i})}return eh(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 _h(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 vh=Object.assign({})[`/packages/webapp/providers.json`]??[],Q=n(`provider-settings`);function yh(e=vh){if(e.length===0||$().length>0)return;let t=new Set(dh());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}Ah(n.providerId,n.apiKey,n.baseUrl)}let n=e.find(e=>e.providerId&&e.apiKey&&t.has(e.providerId));n?.model&&!localStorage.getItem(nh)&&localStorage.setItem(nh,`${n.providerId}:${n.model}`)}const bh=[/haiku/i];function xh(e){return bh.some(t=>t.test(e))}function Sh(e){return e.filter(e=>!xh(e.id))}function Ch(){let e=$();if(e.length===0)return[];let t=new Map;for(let n of e){if(t.has(n.providerId))continue;let e=mh(n.providerId);if(e.hidden||ah(n.providerId))continue;let r=Sh(gh(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 $(){sh();let e=localStorage.getItem(th);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 wh(e){return ae(localStorage)[e]??[]}function Th(e,t){let n=ae(localStorage),r=t.map(e=>e.trim()).filter(e=>e.length>0);r.length===0?delete n[e]:n[e]=r,oe(localStorage,n)}async function Eh(e,t){if(i()){Th(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{oe(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 Dh(){return ae(localStorage)}function Oh(e){localStorage.setItem(th,JSON.stringify(e))}async function kh(e){if(i()){Oh(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(th,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 Ah(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),Oh(a)}async function jh(e){let t=se();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 Pm(`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 Mh(e){let t=$().find(t=>t.providerId===e),n=mh(e);t&&n?.isOAuth&&await Nh(e),await jh(e),await kh($().filter(t=>t.providerId!==e));let r=localStorage.getItem(nh)??``,i=r.indexOf(`:`);i>0&&r.slice(0,i)===e&&localStorage.removeItem(nh)}async function Nh(e){let t=$().find(t=>t.providerId===e);if(!t)return;let n=mh(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 kh($().map(t=>t.providerId===e?{providerId:t.providerId,apiKey:``,baseUrl:t.baseUrl,userName:t.userName,userAvatar:t.userAvatar,loggedOut:!0}:t)),await jh(e)}}async function Ph(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 Fh(e,t,n){let r={providerId:e.providerId,accessToken:e.accessToken,domains:e.domains.join(`,`)},{maskedValue:i,lastError:a}=await Ph(()=>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 Ih(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 kh(n);let r=mh(e.providerId)?.oauthTokenDomains??[],i=wh(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=se();try{if(s===`extension-direct`)await Fh({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:kh});else if(s===`extension-delegate`)await Fh({providerId:e.providerId,accessToken:e.accessToken,domains:o},{sendMaskRequest:t=>Pm(`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:kh});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 kh(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 Lh(e){let t=$().find(t=>t.providerId===e);return t&&(t.accessToken||t.apiKey)||null}function Rh(e){let t=$().find(t=>t.providerId===e);return t?t.accessToken||t.apiKey||(mh(e).optionalApiKey?`local`:null):null}function zh(e){return $().find(t=>t.providerId===e)?.baseUrl??null}function Bh(e){return $().find(t=>t.providerId===e)?.deployment??null}function Vh(e){return $().find(t=>t.providerId===e)?.apiVersion??null}function Hh(){let e=localStorage.getItem(nh)||``,t=e.indexOf(`:`);return t>=0?e.slice(t+1):e}function Uh(e){let t=e.indexOf(`:`);if(t>0){let n=e.slice(0,t),r=new Set([...a(),...dh()]),i=n.includes(`.`);if(r.has(n)||!i){localStorage.setItem(nh,e);return}}let n=Gh();localStorage.setItem(nh,`${n}:${e}`)}function Wh(){return localStorage.getItem(nh)||``}function Gh(){let e=Wh(),t=e.indexOf(`:`);if(t>0)return e.slice(0,t);let n=$(),r=Hh();if(r){let e=n.find(e=>fh(e.providerId)&&ph(e.providerId,r));if(e)return e.providerId}let i=n.find(e=>fh(e.providerId));return i?i.providerId:n.length>0?n[0].providerId:`anthropic`}function Kh(e){let t=Hh();localStorage.setItem(nh,`${e}:${t}`)}function qh(){let e=Hh();localStorage.setItem(nh,e)}function Jh(){return Rh(Gh())}function Yh(e){let t=Gh();Ah(t,e,zh(t)??void 0)}async function Xh(){await Mh(Gh())}function Zh(){return zh(Gh())}function Qh(e){let t=Gh(),n=Lh(t);n&&Ah(t,n,e||void 0)}function $h(){let e=Gh(),t=Lh(e);t&&Ah(e,t)}function eg(){let e=$(),t=Gh(),n=Hh();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 tg(){let e=$();await Promise.allSettled(e.map(e=>Mh(e.providerId))),localStorage.removeItem(th),localStorage.removeItem(nh);for(let e of rh)localStorage.removeItem(e)}function ng(e){return/^(?:gpt[-.]?|o[0-9]|chatgpt)/i.test(e)?`openai`:`anthropic`}function rg(e,t,n,r){return{id:t,name:t,provider:e,api:r??`${e}-${ng(t)}`,baseUrl:n??``,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},reasoning:!0}}function ig(e,t){return t.isOAuth||e===`azure-ai-foundry`?`anthropic`:e===`bedrock-camp`?`amazon-bedrock`:e}function ag(e){if(!e)return og();let t=Gh(),n=zh(t),r=mh(t);try{let i=ig(t,r),a=$m(i,e);if(!a?.id)throw Error(`Model ${e} not found`);let o=a;return r.isOAuth?o=gh(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=gh(t).find(t=>t.id===e);return r?n?{...r,baseUrl:n}:r:rg(t,e,n)}return og()}}function og(){let e=Gh(),t=Hh(),n=zh(e),r=gh(e),i=mh(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=ig(e,i),a=$m(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?rg(e,o,n):$m(`anthropic`,`claude-sonnet-4-0`)}}function sg(e){let t=e.toLowerCase();if(!t)return null;let n=null,r=-1;for(let e of $())for(let i of gh(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&&cg(i.id,n??``)>0)&&(r=o,n=i.id)}return n}function cg(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{od as $,Ze as $t,Ph as A,Ue as An,wn as At,Qh as B,rn as Bt,mh as C,Ne as Cn,ar as Ct,Gh as D,Fe as Dn,On as Dt,Hh as E,b as En,tr as Et,og as F,se as Fn,j as Ft,Zm as G,Kt as Gt,Eh as H,Zt as Ht,ag as I,A as It,Pm as J,wt as Jt,Ym as K,zt as Kt,sg as L,fn as Lt,Fh as M,Qe as Mn,vn as Mt,fh as N,Ce as Nn,N as Nt,xh as O,Ie as On,Dn as Ot,Mh as P,ce as Pn,M as Pt,af as Q,ot as Qt,Ih as R,sn as Rt,_h as S,Me as Sn,cr as St,Lh as T,Pe as Tn,nr as Tt,Uh as U,Jt as Ut,Th as V,en as Vt,Kh as W,Gt as Wt,vm as X,ut as Xt,Mm as Y,bt as Yt,uf as Z,lt as Zt,dh as _,ze as _n,gr as _t,yh as a,Te as an,Ui as at,Bh as b,Ke as bn,L as bt,$h as c,He as cn,Zr as ct,$ as d,x as dn,Er as dt,Xe as en,rc as et,Ch as f,ke as fn,Tr as ft,Vh as g,je as gn,hr as gt,Rh as h,Ae as hn,R as ht,Ah as i,we as in,Ki as it,ch as j,w as jn,xn as jt,Nh as k,Ye as kn,P as kt,qh as l,Oe as ln,Wr as lt,Jh as m,Le as mn,br as mt,uh as n,Je as nn,Qi as nt,tg as o,Ee as on,Gi as ot,Dh as p,Be as pn,Cr as pt,Lm as q,jt as qt,Qm as r,C as rn,Zi as rt,Xh as s,De as sn,z as st,th as t,qe as tn,so as tt,eg as u,nt as un,Dr as ut,Zh as v,Re as vn,_r as vt,gh as w,y as wn,ir as wt,wh as x,Ve as xn,ur as xt,zh as y,Ge as yn,vr as yt,Yh as z,on as zt};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./store-i2-wAf3y.js";export{e as readMcpAuthEntries};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as e,w as t}from"./db-DjAqlQ2I.js";const n=`slicc:last-seen-version`;function r(){return{version:`5.83.0`,releasedAt:`2026-07-28T20:16:53Z`}}async function i(){let t=await e(n);return t&&t.length>0?t:null}async function a(e){await t(n,e)}async function o(){let e=r(),t=await i();return t===null?(await a(e.version),{bundled:e,lastSeen:null,isUpgrade:!1}):t===e.version?{bundled:e,lastSeen:t,isUpgrade:!1}:{bundled:e,lastSeen:t,isUpgrade:!0}}async function s(e){await a(e)}export{o as detectUpgrade,s as recordVersionSeen};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/theme-engine-jfuTMXZM.js","assets/rolldown-runtime-aKtaBQYM.js","assets/logger-DDBAeTLF.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./attachments-CByeG2Ru.js";import{t as n}from"./logger-DDBAeTLF.js";import{n as r,t as i}from"./base64-DpPqYZJF.js";import{i as a,r as o}from"./src-DoFhVmQT.js";import{a as s,i as c,r as l,t as u,u as d}from"./tray-sync-protocol-DdoErB3E.js";import{a as f,i as p,n as m,o as h,r as g}from"./tray-follower-status-5SqDRLX8.js";import{t as ee}from"./remote-cdp-transport-BWNdvwP2.js";import{i as te,n as _}from"./tray-leader-BDMuV-1a.js";import{n as ne}from"./shared-BYVJAPbn.js";import{t as v}from"./sprinkle-renderer-oLgy--3J.js";import{t as y}from"./export-spool-DCxGPg43.js";var b=class{logger;failureMessage;recoveryMessage;throttleMs;sustainedRelogMs;recoveryDebounceTicks;now;lastErrorLogAt=-1/0;inFailingState=!1;consecutiveSuccesses=0;constructor(e,t){if(!t.failureMessage.trim())throw RangeError(`ThrottledErrorTracker: failureMessage must be non-empty`);if(!t.recoveryMessage.trim())throw RangeError(`ThrottledErrorTracker: recoveryMessage must be non-empty`);let n=t.throttleMs??6e4;if(!Number.isFinite(n)||n<0)throw RangeError(`ThrottledErrorTracker: throttleMs must be a non-negative finite number, got ${n}`);let r=t.sustainedRelogMs??3e5;if(!Number.isFinite(r)||r<0)throw RangeError(`ThrottledErrorTracker: sustainedRelogMs must be a non-negative finite number, got ${r}`);let i=t.recoveryDebounceTicks??5;if(!Number.isInteger(i)||i<1)throw RangeError(`ThrottledErrorTracker: recoveryDebounceTicks must be a positive integer, got ${i}`);this.logger=e,this.failureMessage=t.failureMessage,this.recoveryMessage=t.recoveryMessage,this.throttleMs=n,this.sustainedRelogMs=r,this.recoveryDebounceTicks=i,this.now=t.now??(()=>performance.now())}reportFailure(e){let t=this.inFailingState;this.inFailingState=!0,this.consecutiveSuccesses=0;let n=this.now(),r=n-this.lastErrorLogAt;if(r>(t?this.sustainedRelogMs:this.throttleMs)){let i=t,a=i?`${this.failureMessage} (sustained)`:this.failureMessage;try{try{this.logger.error(a,i?{error:e instanceof Error?e.message:String(e),elapsedMs:Math.round(r)}:{error:e instanceof Error?e.message:String(e)})}catch(t){try{console.error(`[throttled-error-tracker] logger.error threw`,t,{originalMessage:a,originalError:e instanceof Error?e.message:String(e)})}catch{}}}finally{this.lastErrorLogAt=n}}}reportSuccess(){if(this.inFailingState&&(this.consecutiveSuccesses++,!(this.consecutiveSuccesses<this.recoveryDebounceTicks)))try{try{this.logger.error(this.recoveryMessage,{kind:`recovery`})}catch(e){try{console.error(`[throttled-error-tracker] logger.error (recovery) threw`,e,{originalMessage:this.recoveryMessage})}catch{}}}finally{this.inFailingState=!1,this.consecutiveSuccesses=0,this.lastErrorLogAt=-1/0}}},x=n(`data-channel-keepalive`);function S(e,t){if(!Number.isInteger(t)||t<1)throw RangeError(`DataChannelKeepalive ${e} must be a positive integer; got ${String(t)}`)}var C=class{sendPing;onDead;isTransportOpen;onStalled;onRecovered;intervalMs;maxMissed;hardMaxMissed;timer=null;missedPongs=0;awaitingPong=!1;stopped=!1;stalled=!1;constructor(e){if(this.sendPing=e.sendPing,this.onDead=e.onDead,this.isTransportOpen=e.isTransportOpen??(()=>!1),this.onStalled=e.onStalled,this.onRecovered=e.onRecovered,this.intervalMs=e.intervalMs??1e4,this.maxMissed=e.maxMissed??3,this.hardMaxMissed=e.hardMaxMissed??30,S(`intervalMs`,this.intervalMs),S(`maxMissed`,this.maxMissed),S(`hardMaxMissed`,this.hardMaxMissed),this.hardMaxMissed<this.maxMissed)throw RangeError(`DataChannelKeepalive hardMaxMissed (${this.hardMaxMissed}) must be >= maxMissed (${this.maxMissed})`)}start(){this.timer||this.stopped||(this.timer=setInterval(()=>this.tick(),this.intervalMs))}stop(){this.stopped=!0,this.stalled=!1,this.timer&&=(clearInterval(this.timer),null)}receivePong(){this.stopped||(this.awaitingPong=!1,this.missedPongs=0,this.clearStall())}receivePing(){this.stopped||(this.missedPongs=0,this.awaitingPong=!1,this.clearStall())}get missed(){return this.missedPongs}get isStalled(){return this.stalled}clearStall(){this.stalled&&(this.stalled=!1,x.info(`Peer answered again after a stall`),this.onRecovered?.())}tick(){this.stopped||this.awaitingPong&&(this.missedPongs++,x.debug(`Missed pong`,{missedPongs:this.missedPongs,maxMissed:this.maxMissed}),this.missedPongs>=this.maxMissed&&this.declareUnreachable())||(this.awaitingPong=!0,this.sendPing())}declareUnreachable(){return this.missedPongs<this.hardMaxMissed&&this.isTransportOpen()?(this.stalled||(this.stalled=!0,x.warn(`Peer stopped answering but its transport is still open — treating as stalled`,{missedPongs:this.missedPongs,hardMaxMissed:this.hardMaxMissed}),this.onStalled?.()),!1):(x.warn(`Channel declared dead`,{missedPongs:this.missedPongs}),this.stop(),this.onDead(),!0)}},w=64*1024;async function T(e,t){try{switch(t.op){case`readFile`:return await re(e,t.path,t.encoding);case`writeFile`:return[await ie(e,t.path,t.content,t.encoding)];case`stat`:return[await ae(e,t.path)];case`readDir`:return[await E(e,t.path)];case`mkdir`:return[await oe(e,t.path,t.recursive)];case`rm`:return[await se(e,t.path,t.recursive)];case`exists`:return[await ce(e,t.path)];case`walk`:return[await le(e,t.path)];default:return[{ok:!1,error:`Unknown fs operation: ${t.op}`}]}}catch(e){return[ue(e)]}}async function re(e,t,n){return(n??`utf-8`)===`utf-8`?D(await e.readFile(t,{encoding:`utf-8`}),`utf-8`):D(r(await e.readFile(t,{encoding:`binary`})),`base64`)}async function ie(e,t,n,r){if(r===`base64`){let r=i(n);await e.writeFile(t,r)}else await e.writeFile(t,n);return{ok:!0,data:{type:`void`}}}async function ae(e,t){return{ok:!0,data:{type:`stat`,stat:await e.stat(t)}}}async function E(e,t){return{ok:!0,data:{type:`dirEntries`,entries:await e.readDir(t)}}}async function oe(e,t,n){return await e.mkdir(t,{recursive:n}),{ok:!0,data:{type:`void`}}}async function se(e,t,n){return await e.rm(t,{recursive:n}),{ok:!0,data:{type:`void`}}}async function ce(e,t){return{ok:!0,data:{type:`exists`,exists:await e.exists(t)}}}async function le(e,t){let n=[];for await(let r of e.walk(t))n.push(r);return{ok:!0,data:{type:`paths`,paths:n}}}function D(e,t){if(e.length<=w)return[{ok:!0,data:{type:`file`,content:e,encoding:t}}];let n=Math.ceil(e.length/w),r=[];for(let i=0;i<n;i++){let a=i*w,o=e.slice(a,a+w);r.push({ok:!0,data:{type:`file`,content:o,encoding:t},chunkIndex:i,totalChunks:n})}return r}function ue(e){return e instanceof Error&&`code`in e?{ok:!1,error:e.message,code:e.code}:{ok:!1,error:e instanceof Error?e.message:String(e)}}var O=n(`tray-follower-sync`),de=15e3,fe=class{options;sync;eventListeners=new Set;unsubscribe;keepalive;latestSnapshot=null;sentMessageIds=new Set;targetEntries=[];remoteTransports=new Map;cdpChunkBuffers=new Map;snapshotChunkBuffer=null;remoteCDPSessions=new Set;cdpEventCleanups=[];tabOpenResolvers=new Map;fsResolvers=new Map;leaderProtocolVersion;legacyLeaderLogged=!1;latestSprinkles=[];sprinkleContentCache=new Map;pendingSprinkleFetches=new Map;inflightSprinkleByName=new Map;sprinkleContentWaiters=new Map;cacheEpoch=0;fetchEpoch=new Map;activeExportRequests=new Map;constructor(e,t={}){this.options=t;let n=t.sprinkleFetchTimeoutMs;if(n!==void 0&&(!Number.isFinite(n)||n<0))throw RangeError(`sprinkleFetchTimeoutMs must be a non-negative finite number (0 disables the timer); got ${n}`);this.sync=u(e),this.unsubscribe=this.sync.onMessage(e=>{this.handleLeaderMessage(e)}),this.sync.send({type:`hello`,protocolVersion:4,...this.options.selfRuntimeId?{runtime:this.options.selfRuntimeId}:{}}),this.keepalive=new C({sendPing:()=>this.sync.send({type:`ping`}),isTransportOpen:()=>this.sync.isOpen,onStalled:()=>{O.warn(`Leader stopped answering pings; channel still open, waiting for it to catch up`),p(!0),this.options.onLeaderStalled?.(!0)},onRecovered:()=>{O.info(`Leader is answering pings again`),p(!1),this.options.onLeaderStalled?.(!1)},onDead:()=>{O.warn(`Leader keepalive dead, cleaning up`),this.handleDisconnect(`Keepalive timeout — leader not responding`),this.options.onDead?.()}}),this.keepalive.start(),e.addEventListener(`close`,()=>{O.warn(`Data channel closed`),this.handleDisconnect(`Data channel closed`)}),e.addEventListener(`error`,()=>{O.warn(`Data channel error`),this.handleDisconnect(`Data channel error`)})}sendMessage(e,n,r){let i=n??`follower-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;this.sentMessageIds.add(i);let a=r?.length?t(r):r;this.sync.send({type:`user_message`,text:e,messageId:i,attachments:a}),O.info(`Sent user message to leader`,{messageId:i})}onEvent(e){return this.eventListeners.add(e),()=>this.eventListeners.delete(e)}stop(){this.sync.send({type:`abort`}),O.info(`Sent abort to leader`)}requestSnapshot(){this.sync.send({type:`request_snapshot`})}requestNewSession(e){this.sync.send({type:`new_session`,action:e}),O.info(`Sent new_session to leader`,{action:e})}selectScoop(e){this.sync.send({type:`scoops.select`,scoopJid:e})}getLatestSnapshot(){return this.latestSnapshot}close(){this.disconnected||(this.disconnected=!0,this.keepalive.stop(),this.unsubscribe(),this.sync.close(),this.eventListeners.clear(),this.cleanupCDPEventForwarding(),this.rejectPendingRequests(`Follower sync closed`),O.info(`Follower sync closed`))}rejectPendingRequests(e){this.rejectPendingSprinkleFetches(e);let t=Error(e);for(let{reject:e}of this.tabOpenResolvers.values())e(t);this.tabOpenResolvers.clear();for(let{reject:e}of this.fsResolvers.values())e(t);this.fsResolvers.clear(),this.cdpChunkBuffers.clear();for(let e of this.remoteTransports.values())e.disconnect();this.remoteTransports.clear();for(let[,e]of this.activeExportRequests)e.approvalAbort?.abort(),e.signal.removeEventListener(`abort`,e.onAbort),e.spool.cancel(),e.reject(new o(`transfer-aborted`));this.activeExportRequests.clear()}advertiseTargets(e,t){this.sync.send({type:`targets.advertise`,targets:e,runtimeId:t})}getTargets(){return this.targetEntries}sendCherryHostEvent(e,t){this.sync.send({type:`cherry.host_event`,targetId:this.options.selfRuntimeId??``,name:e,detail:t})}getSprinkles(){return this.latestSprinkles}refreshSprinkles(){this.sync.send({type:`sprinkles.refresh`})}fetchSprinkleContent(e){let t=this.sprinkleContentCache.get(e);if(t!==void 0)return Promise.resolve(t);let n=this.options.sprinkleFetchTimeoutMs??de;return new Promise((t,r)=>{let i=Symbol(`sprinkle-waiter`),a,o=e=>{a!==void 0&&clearTimeout(a),t(e)},s=e=>{a!==void 0&&clearTimeout(a),r(e)},c=this.sprinkleContentWaiters.get(e)??[];if(c.push({id:i,resolve:o,reject:s}),this.sprinkleContentWaiters.set(e,c),n>0&&(a=setTimeout(()=>{let t=this.sprinkleContentWaiters.get(e);if(t){let r=t.findIndex(e=>e.id===i);r>=0&&t.splice(r,1),t.length===0&&(this.sprinkleContentWaiters.delete(e),this.cancelSprinkleFetch(e,`Sprinkle fetch for "${e}" timed out after ${n}ms`))}r(Error(`Sprinkle fetch for "${e}" timed out after ${n}ms`))},n)),this.inflightSprinkleByName.has(e))return;let l=`sprinkle-fetch-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;this.inflightSprinkleByName.set(e,l),this.pendingSprinkleFetches.set(l,{sprinkleName:e,chunks:new Map,totalChunks:1}),this.fetchEpoch.set(l,this.cacheEpoch),this.sync.send({type:`sprinkle.fetch`,requestId:l,sprinkleName:e})})}sendSprinkleLick(e,t,n){this.sync.send({type:`sprinkle.lick`,sprinkleName:e,body:t,targetScoop:n})||O.warn(`sendSprinkleLick dropped: tray channel closed`,{sprinkleName:e})}forwardLick(e){let t=this.sync.send({type:`lick`,event:e});return t||O.warn(`forwardLick dropped: tray channel closed`,{type:e.type}),t}clearSprinkleCache(e){e===void 0?this.sprinkleContentCache.clear():this.sprinkleContentCache.delete(e)}cancelSprinkleFetch(e,t=`fetch cancelled`){let n=this.sprinkleContentWaiters.get(e)??[];this.sprinkleContentWaiters.delete(e);let r=this.inflightSprinkleByName.get(e);if(r!==void 0&&(this.inflightSprinkleByName.delete(e),this.pendingSprinkleFetches.delete(r),this.fetchEpoch.delete(r)),n.length===0)return;let i=Error(t);for(let e of n)e.reject(i)}disconnected=!1;handleDisconnect(e){this.disconnected||(this.disconnected=!0,O.error(`Follower sync disconnected`,{reason:e}),f({...m(),state:`error`,error:e,stalled:!1}),this.keepalive.stop(),this.cleanupCDPEventForwarding(),this.unsubscribe(),this.sync.close(),this.rejectPendingRequests(`Follower sync disconnected: ${e}`),this.options.onDisconnect?.(e))}handleLeaderHello(e){this.leaderProtocolVersion=e,e>4?O.warn(`Leader speaks a newer tray sync protocol — update this build`,{leaderVersion:e,ourVersion:4}):O.info(`Leader hello`,{protocolVersion:e})}noteLegacyLeader(e){e===`hello`||this.leaderProtocolVersion!==void 0||this.legacyLeaderLogged||(this.legacyLeaderLogged=!0,O.info(`Leader sent no hello — legacy peer (pre-versioning build)`))}handleLeaderMessage(e){if(this.noteLegacyLeader(e.type),e.type===`theme.apply`){this.applyLeaderTheme(e.themeJson);return}switch(e.type){case`snapshot`:O.info(`Snapshot received from leader`,{messageCount:e.messages.length,scoopJid:e.scoopJid}),this.snapshotChunkBuffer=null,this.latestSnapshot={messages:e.messages,scoopJid:e.scoopJid},this.options.onSnapshot?.(e.messages,e.scoopJid);break;case`snapshot_chunk`:{let t=c(this.snapshotChunkBuffer,e);this.snapshotChunkBuffer=t.buffer,t.result&&(O.info(`Chunked snapshot reassembled from leader`,{messageCount:t.result.messages.length,scoopJid:t.result.scoopJid}),this.latestSnapshot=t.result,this.options.onSnapshot?.(t.result.messages,t.result.scoopJid));break}case`agent_event`:this.emitEvent(e.event);break;case`user_message_echo`:this.handleUserMessageEcho(e);break;case`status`:this.options.onStatus?.(e.scoopStatus);break;case`error`:O.warn(`Error from leader`,{error:e.error}),this.emitEvent({type:`error`,error:e.error});break;case`targets.registry`:O.info(`Target registry received from leader`,{targetCount:e.targets.length}),this.targetEntries=e.targets,this.options.onTargetsUpdated?.(this.targetEntries);break;case`cdp.request`:{let{requestId:t,localTargetId:n,method:r,params:i,sessionId:a}=e;this.executeLocalCDP(t,n,r,i,a);break}case`cdp.response`:this.routeCDPResponse(e);break;case`cdp.event`:for(let t of this.remoteTransports.values())t.handleEvent(e.method,e.params);break;case`tab.open`:case`preview.open`:this.executeLocalTabOpen(e.requestId,e.url);break;case`tab.opened`:{let t=this.tabOpenResolvers.get(e.requestId);t&&(this.tabOpenResolvers.delete(e.requestId),t.resolve(e.targetId));break}case`tab.open.error`:{let t=this.tabOpenResolvers.get(e.requestId);t&&(this.tabOpenResolvers.delete(e.requestId),t.reject(Error(e.error)));break}case`fs.request`:this.executeLocalFs(e.requestId,e.request);break;case`fs.response`:this.routeFsResponse(e.requestId,e.response);break;case`scoops.list`:this.handleScoopsList(e.scoops,e.activeScoopJid);break;case`sprinkles.list`:this.handleSprinklesList(e.sprinkles);break;case`sprinkle.content`:this.handleSprinkleContent(e);break;case`sprinkle.update`:this.options.onSprinkleUpdate?.(e.sprinkleName,e.data);break;case`sprinkle.reloaded`:this.handleSprinkleReloaded(e.sprinkleName);break;case`cherry.slicc_event`:this.options.onCherrySliccEvent?.(e.name,e.detail);break;case`transcript.export.pending`:case`transcript.export.denied`:case`transcript.export.start`:case`transcript.export.chunk`:case`transcript.export.complete`:case`transcript.export.error`:case`transcript.export.approve.request`:this.handleExportLeaderMessage(e);break;case`ping`:this.keepalive.receivePing(),this.sync.send({type:`pong`});break;case`pong`:this.keepalive.receivePong(),g(Date.now());break;case`hello`:this.handleLeaderHello(e.protocolVersion);break;case`exec.request`:case`exec.chunk`:case`exec.response`:case`exec.signal`:this.handleExecMessage(e);break;default:{let t=d(e);O.warn(`Unknown leader message type — skewed leader?`,{type:t.type});break}}}handleExecMessage(e){e.type===`exec.request`&&this.sync.send({type:`exec.response`,requestId:e.requestId,exitCode:127,error:`exec is not supported on this follower`})}handleSprinklesList(e){O.info(`Sprinkles list received from leader`,{sprinkleCount:e.length}),this.sprinkleContentCache.clear(),this.cacheEpoch++,this.latestSprinkles=e,this.options.onSprinklesList?.(e)}handleUserMessageEcho(e){if(this.sentMessageIds.has(e.messageId)){this.sentMessageIds.delete(e.messageId),O.debug(`Skipping own message echo`,{messageId:e.messageId});return}O.info(`User message echo received`,{messageId:e.messageId,scoopJid:e.scoopJid}),this.options.onUserMessage?.(e.text,e.messageId,e.scoopJid,e.attachments)}handleScoopsList(e,t){O.info(`Scoops list received from leader`,{scoopCount:e.length}),this.options.onScoopsList?.(e,t)}handleSprinkleReloaded(e){this.sprinkleContentCache.delete(e),this.options.onSprinkleReloaded?.(e)}handleSprinkleContent(e){let{requestId:t,sprinkleName:n,content:r,chunkIndex:i,totalChunks:a,error:o}=e;if(o){O.warn(`sprinkle.content error from leader`,{sprinkleName:n,error:o}),this.pendingSprinkleFetches.delete(t),this.inflightSprinkleByName.delete(n),this.fetchEpoch.delete(t);let e=this.sprinkleContentWaiters.get(n)??[];this.sprinkleContentWaiters.delete(n);for(let t of e)t.reject(Error(o));return}if(!this.pendingSprinkleFetches.has(t)){O.debug(`Dropping sprinkle.content for unknown requestId`,{sprinkleName:n,requestId:t});return}let s=null;if(i!==void 0&&a!==void 0){if(i<0||i>=a){O.warn(`Dropping sprinkle.content with out-of-range chunkIndex`,{sprinkleName:n,chunkIndex:i,totalChunks:a});return}let e=this.pendingSprinkleFetches.get(t);if(e.totalChunks=a,e.chunks.has(i)?O.warn(`Dropping duplicate sprinkle.content chunk`,{sprinkleName:n,chunkIndex:i}):e.chunks.set(i,r),e.chunks.size>=a){let r=[];for(let t=0;t<a;t++){let i=e.chunks.get(t);if(i===void 0){O.warn(`Chunked sprinkle.content missing chunk after assembly`,{sprinkleName:n,missingIndex:t});return}r.push(i)}s=r.join(``),this.pendingSprinkleFetches.delete(t)}}else s=r,this.pendingSprinkleFetches.delete(t);if(s===null)return;let c=this.fetchEpoch.get(t);this.fetchEpoch.delete(t),c===this.cacheEpoch&&this.sprinkleContentCache.set(n,s),this.inflightSprinkleByName.delete(n);let l=this.sprinkleContentWaiters.get(n)??[];this.sprinkleContentWaiters.delete(n);for(let e of l)e.resolve(s)}rejectPendingSprinkleFetches(e){let t=Error(e);for(let[,e]of this.sprinkleContentWaiters)for(let n of e)n.reject(t);this.sprinkleContentWaiters.clear(),this.pendingSprinkleFetches.clear(),this.inflightSprinkleByName.clear(),this.fetchEpoch.clear()}applyLeaderTheme(t){e(async()=>{let{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}=await import(`./theme-engine-jfuTMXZM.js`).then(e=>e.p);return{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}},__vite__mapDeps([0,1,2])).then(({importTheme:e,saveCustomTheme:n,setActiveTheme:r,clearActiveTheme:i,applyThemeOverrides:a})=>{if(!t)i();else{let i=e(t);n(i),r(i.id)}a()}).catch(e=>O.error(`Failed to apply leader theme`,{err:e}))}emitEvent(e){for(let t of this.eventListeners)try{t(e)}catch(t){O.error(`Listener error`,{eventType:e.type,error:t instanceof Error?t.message:String(t)})}}createRemoteTransport(e,t){let n=new ee({sendCDPRequest:(n,r,i,a)=>{this.sync.send({type:`cdp.request`,requestId:n,targetRuntimeId:e,localTargetId:t,method:r,params:i,sessionId:a})}});return this.remoteTransports.set(`${e}:${t}`,n),n}removeRemoteTransport(e,t){let n=`${e}:${t}`,r=this.remoteTransports.get(n);r&&(r.disconnect(),this.remoteTransports.delete(n))}openRemoteTab(e,t){let n=`tab-open-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return new Promise((r,i)=>{this.tabOpenResolvers.set(n,{resolve:r,reject:i}),this.sync.send({type:`tab.open`,requestId:n,targetRuntimeId:e,url:t})})}async executeLocalTabOpen(e,t){let n=this.options.browserTransport;if(!n){this.sync.send({type:`tab.open.error`,requestId:e,error:`Follower has no browser transport`});return}try{let r=(await n.send(`Target.createTarget`,{url:t,background:!0})).targetId;if(typeof r!=`string`||r.length===0){this.sync.send({type:`tab.open.error`,requestId:e,error:`Target.createTarget did not return a usable targetId`});return}this.sync.send({type:`tab.opened`,requestId:e,targetId:r}),this.options.onTargetsChanged?.()}catch(t){this.sync.send({type:`tab.open.error`,requestId:e,error:t instanceof Error?t.message:String(t)})}}async executeLocalCDP(e,t,n,r,i){let a=this.options.browserTransport;if(!a){this.sync.send({type:`cdp.response`,requestId:e,error:`Follower has no browser transport`});return}try{let t=await a.send(n,r,i);if(n===`Target.attachToTarget`&&t.sessionId){let e=t.sessionId;this.remoteCDPSessions.add(e),this.setupCDPEventForwarding(a,e),O.debug(`Tracking remote CDP session`,{remoteSessionId:e})}n===`Target.detachFromTarget`&&i&&this.remoteCDPSessions.has(i)&&(this.remoteCDPSessions.delete(i),O.debug(`Removed remote CDP session on detach`,{sessionId:i})),s(this.sync,e,t)}catch(t){this.sync.send({type:`cdp.response`,requestId:e,error:t instanceof Error?t.message:String(t)})}}setupCDPEventForwarding(e,t){for(let n of[`Page.frameNavigated`,`Page.loadEventFired`,`Page.domContentEventFired`,`Network.responseReceived`,`Network.loadingFinished`,`Network.requestWillBeSent`]){let r=e=>{if(e.sessionId!==t||!this.remoteCDPSessions.has(t))return;let{sessionId:r,...i}=e;this.sync.send({type:`cdp.event`,method:n,params:i,sessionId:t})};e.on(n,r),this.cdpEventCleanups.push(()=>e.off(n,r))}}cleanupCDPEventForwarding(){for(let e of this.cdpEventCleanups)e();this.cdpEventCleanups.length=0,this.remoteCDPSessions.clear()}routeCDPResponse(e){let t=l(this.cdpChunkBuffers,e);if(t)for(let n of this.remoteTransports.values())n.handleResponse(e.requestId,t.result,t.error)}async executeLocalFs(e,t){let n=this.options.vfs;if(!n){this.sync.send({type:`fs.response`,requestId:e,response:{ok:!1,error:`Follower has no VFS`}});return}let r;try{r=await T(n,t)}catch(t){this.sync.send({type:`fs.response`,requestId:e,response:{ok:!1,error:t instanceof Error?t.message:String(t)}});return}for(let t of r)this.sync.send({type:`fs.response`,requestId:e,response:t})}routeFsResponse(e,t){let n=this.fsResolvers.get(e);if(!n)return;n.responses.push(t);let r=t.ok&&t.totalChunks||1;n.responses.length>=r&&(this.fsResolvers.delete(e),n.resolve(n.responses))}sendFsRequest(e,t){let n=`fs-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return new Promise((r,i)=>{this.fsResolvers.set(n,{resolve:r,reject:i,responses:[]}),this.sync.send({type:`fs.request`,requestId:n,targetRuntimeId:e,request:t})})}handleExportLeaderMessage(e){switch(e.type){case`transcript.export.pending`:O.debug(`Transcript export pending`,{requestId:e.requestId}),this.activeExportRequests.get(e.requestId)?.onProgress?.({phase:`collecting`});break;case`transcript.export.denied`:this.handleExportDenied(e.requestId);break;case`transcript.export.start`:O.debug(`Transcript export start`,{requestId:e.requestId}),this.activeExportRequests.get(e.requestId)?.onProgress?.({phase:`packaging`});break;case`transcript.export.chunk`:this.handleExportChunkAsync(e.requestId,e.index,e.data);break;case`transcript.export.complete`:this.handleExportComplete(e.requestId,e.chunks,e.byteLength,e.sha256);break;case`transcript.export.error`:this.handleExportError(e.requestId,e.code);break;case`transcript.export.approve.request`:this.handleExportApprovalRequest(e.requestId,{selector:e.selector,...e.estimatedBytes==null?{}:{estimatedBytes:e.estimatedBytes}});break;default:{let t=d(e);O.warn(`Unknown transcript export leader message — skewed leader?`,{type:t.type});break}}}requestTranscriptExport(e,t,n){if(t.aborted)return Promise.reject(new o(`transfer-aborted`));let r=`te-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,i=(this.options.makeExportSpool??y)(r);return new Promise((a,s)=>{let c=()=>{let e=this.activeExportRequests.get(r);e&&(e.approvalAbort?.abort(),this.sync.send({type:`transcript.export.cancel`,requestId:r}),this.activeExportRequests.delete(r),e.spool.cancel(),s(new o(`transfer-aborted`)))};if(t.aborted){i.cancel(),s(new o(`transfer-aborted`));return}t.addEventListener(`abort`,c,{once:!0}),this.activeExportRequests.set(r,{resolve:a,reject:s,spool:i,nextExpectedIndex:0,totalBytes:0,signal:t,onAbort:c,onProgress:n}),this.sync.send({type:`transcript.export.request`,requestId:r,selector:e})})}async handleExportApprovalRequest(e,t){let n=this.activeExportRequests.get(e);if(!n){O.warn(`Ignoring approval prompt for an unknown export request`,{requestId:e}),this.sync.send({type:`transcript.export.approve.response`,requestId:e,approved:!1});return}let r=new AbortController;n.approvalAbort=r;let i=!1;try{i=await this.options.onTranscriptExportApprovalRequest?.({...t,signal:r.signal})===!0}catch(t){O.warn(`Transcript export approval dialog failed — denying`,{requestId:e,error:t instanceof Error?t.message:String(t)}),i=!1}if(r.signal.aborted||!this.activeExportRequests.has(e)){this.sync.send({type:`transcript.export.approve.response`,requestId:e,approved:!1});return}this.sync.send({type:`transcript.export.approve.response`,requestId:e,approved:i})}handleExportDenied(e){let t=this.activeExportRequests.get(e);t&&(t.approvalAbort?.abort(),t.signal.removeEventListener(`abort`,t.onAbort),this.activeExportRequests.delete(e),t.spool.cancel(),t.reject(new o(`permission-denied`)))}async handleExportChunkAsync(e,t,n){let r=this.activeExportRequests.get(e);if(!r)return;if(t!==r.nextExpectedIndex){O.warn(`Transcript export chunk out of order`,{requestId:e,expected:r.nextExpectedIndex,got:t}),r.signal.removeEventListener(`abort`,r.onAbort),this.activeExportRequests.delete(e),this.sync.send({type:`transcript.export.cancel`,requestId:e}),r.spool.cancel(),r.reject(new o(`transfer-corrupt`));return}let i=atob(n),a=new Uint8Array(i.length);for(let e=0;e<i.length;e++)a[e]=i.charCodeAt(e);r.totalBytes+=a.byteLength,r.nextExpectedIndex++,r.onProgress?.({phase:`transferring`,processedBytes:r.totalBytes});try{await r.spool.append(a,t)}catch(t){if(!this.activeExportRequests.has(e))return;r.signal.removeEventListener(`abort`,r.onAbort),this.activeExportRequests.delete(e),this.sync.send({type:`transcript.export.cancel`,requestId:e}),r.spool.cancel(),r.reject(new o(`transfer-corrupt`)),O.warn(`Transcript export spool append failed`,{requestId:e,error:t instanceof Error?t.message:String(t)});return}this.activeExportRequests.has(e)&&this.sync.send({type:`transcript.export.ack`,requestId:e,index:t})}async handleExportComplete(e,t,n,r){let i=this.activeExportRequests.get(e);if(!i)return;if(i.signal.removeEventListener(`abort`,i.onAbort),this.activeExportRequests.delete(e),i.nextExpectedIndex!==t){O.warn(`Transcript export chunk count mismatch`,{requestId:e,expected:t,got:i.nextExpectedIndex}),i.spool.cancel(),i.reject(new o(`transfer-corrupt`));return}let a;try{a=await i.spool.finalize(t,n,r)}catch(t){O.warn(`Transcript export spool finalize failed`,{requestId:e,error:t instanceof Error?t.message:String(t)}),i.reject(new o(`transfer-corrupt`));return}i.resolve(a)}handleExportError(e,t){let n=this.activeExportRequests.get(e);if(!n)return;n.approvalAbort?.abort(),n.signal.removeEventListener(`abort`,n.onAbort),this.activeExportRequests.delete(e),n.spool.cancel();let r=a.has(t)?t:`transfer-corrupt`;n.reject(new o(r))}},k=n(`tray-follower`);function A(e){let t=new URL(e);return t.searchParams.set(`json`,`true`),t.toString()}async function j(e){let t=A(e.joinUrl),n=await R(await(e.fetchImpl??fetch)(t,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({controllerId:e.controllerId,runtime:e.runtime})}));return k.info(`Follower tray attach response`,{trayId:n.trayId,action:n.result.action,code:n.result.code,participantCount:n.participantCount}),M(n)}function M(e){let t={trayId:e.trayId,controllerId:e.controllerId,participantCount:e.participantCount,leader:e.leader,action:e.result.action,code:e.result.code,iceServers:e.iceServers};return e.result.action===`wait`?{...t,retryAfterMs:e.result.retryAfterMs}:e.result.action===`signal`?{...t,bootstrap:e.result.bootstrap}:e.result.action===`fail`?{...t,error:e.result.error,...e.result.code===`TRAY_SUPERSEDED`?{supersededByJoinUrl:e.result.joinUrl}:{}}:t}async function N(e){return L(await z(e,{action:`poll`,controllerId:e.controllerId,bootstrapId:e.bootstrapId,cursor:e.cursor}))}async function P(e){return L(await z(e,{action:`answer`,controllerId:e.controllerId,bootstrapId:e.bootstrapId,answer:e.answer}))}async function F(e){return L(await z(e,{action:`ice-candidate`,controllerId:e.controllerId,bootstrapId:e.bootstrapId,candidate:e.candidate}))}async function I(e){return L(await z(e,{action:`retry`,controllerId:e.controllerId,bootstrapId:e.bootstrapId,runtime:e.runtime}))}function L(e){return{trayId:e.trayId,controllerId:e.controllerId,participantCount:e.participantCount,leader:e.leader,bootstrap:e.bootstrap,events:e.events}}async function R(e){let t=null,n=null;try{t=await e.text(),n=JSON.parse(t)}catch{}if(!B(n)){let n=t?t.slice(0,200):`(empty)`;throw k.warn(`Tray follower attach returned an invalid response`,{status:e.status,body:n}),Error(`Tray follower attach returned an invalid response (${e.status}): ${n}`)}return n}async function z(e,t){let n=A(e.joinUrl),r=await(e.fetchImpl??fetch)(n,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)}),i=await r.json().catch(()=>null);if(!V(i))throw Error(`Tray follower bootstrap returned an invalid response (${r.status})`);return i}function B(e){if(!e||typeof e!=`object`)return!1;let t=e;if(typeof t.trayId!=`string`||typeof t.controllerId!=`string`||t.role!==`follower`||typeof t.participantCount!=`number`)return!1;let n=t.result;if(!n||typeof n!=`object`)return!1;let r=n;return r.action===`wait`?(r.code===`LEADER_NOT_ELECTED`||r.code===`LEADER_NOT_CONNECTED`)&&typeof r.retryAfterMs==`number`:r.action===`signal`?r.code===`LEADER_CONNECTED`&&H(r.bootstrap):r.action===`fail`?r.code===`TRAY_SUPERSEDED`?typeof r.error==`string`&&typeof r.joinUrl==`string`:(r.code===`INVALID_JOIN_CAPABILITY`||r.code===`TRAY_EXPIRED`)&&typeof r.error==`string`:!1}function V(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.trayId==`string`&&typeof t.controllerId==`string`&&t.role===`follower`&&typeof t.participantCount==`number`&&H(t.bootstrap)&&Array.isArray(t.events)}function H(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.controllerId==`string`&&typeof t.bootstrapId==`string`&&typeof t.attempt==`number`&&typeof t.state==`string`&&typeof t.expiresAt==`string`&&typeof t.cursor==`number`&&typeof t.maxRetries==`number`&&typeof t.retriesRemaining==`number`}var U=n(`tray-webrtc`),pe=`tray-control`,me=250,he=5,ge=1e3,_e=class{options;peerConnectionFactory;dataChannelLabel;peers=new Map;iceServers;constructor(e){this.options=e,this.iceServers=e.iceServers,this.peerConnectionFactory=e.peerConnectionFactory??(()=>G(this.iceServers)),this.dataChannelLabel=e.dataChannelLabel??pe}setIceServers(e){this.iceServers=e}async handleControlMessage(e){e.type===`follower.join_requested`?(e.iceServers&&!this.iceServers&&(this.iceServers=e.iceServers),await this.handleJoinRequested(e)):e.type===`bootstrap.answer`?await this.peers.get(e.bootstrapId)?.peer.setRemoteDescription(e.answer):e.type===`bootstrap.ice_candidate`&&await this.peers.get(e.bootstrapId)?.peer.addIceCandidate(e.candidate)}getPeers(){return Array.from(this.peers.values()).map(({state:e})=>({...e}))}getChannel(e){return this.peers.get(e)?.channel??null}stop(){for(let e of this.peers.values())e.peer.close();this.peers.clear()}async handleJoinRequested(e){this.closeControllerPeers(e.controllerId);let t=this.peerConnectionFactory(),n={controllerId:e.controllerId,bootstrapId:e.bootstrapId,attempt:e.attempt,state:`connecting`,connectedAt:null,runtime:e.runtime},r=W(t.createDataChannel(this.dataChannelLabel),t);this.peers.set(e.bootstrapId,{state:n,peer:t,channel:r}),t.addEventListener(`icecandidate`,({candidate:t})=>{let n=q(t);n&&this.options.sendControlMessage({type:`bootstrap.ice_candidate`,controllerId:e.controllerId,bootstrapId:e.bootstrapId,candidate:n})}),t.addEventListener(`connectionstatechange`,()=>{let n=this.peers.get(e.bootstrapId);n&&(n.state.state===`connected`?(t.connectionState===`disconnected`||t.connectionState===`failed`)&&(U.warn(`Leader peer connection state changed post-connect`,{bootstrapId:e.bootstrapId,state:t.connectionState}),this.options.onPeerDisconnected?.(e.bootstrapId,`Peer connection ${t.connectionState}`)):t.connectionState===`failed`&&this.failPeer(e,`Leader peer connection failed before the data channel opened`))}),r.addEventListener(`open`,()=>{let t=this.peers.get(e.bootstrapId);!t||t.state.state===`connected`||(t.state.state=`connected`,t.state.connectedAt=new Date().toISOString(),this.options.onPeerConnected?.({...t.state},t.channel))}),r.addEventListener(`close`,()=>{let t=this.peers.get(e.bootstrapId);t&&(t.state.state===`connected`?(U.warn(`Leader data channel closed post-connect`,{bootstrapId:e.bootstrapId}),this.options.onPeerDisconnected?.(e.bootstrapId,`Data channel closed`)):this.failPeer(e,`Leader data channel closed before opening`))}),r.addEventListener(`error`,()=>{let t=this.peers.get(e.bootstrapId);t&&(t.state.state===`connected`?(U.warn(`Leader data channel error post-connect`,{bootstrapId:e.bootstrapId}),this.options.onPeerDisconnected?.(e.bootstrapId,`Data channel error`)):this.failPeer(e,`Leader data channel failed before opening`))});try{let n=await t.createOffer();await t.setLocalDescription(n),this.options.sendControlMessage({type:`bootstrap.offer`,controllerId:e.controllerId,bootstrapId:e.bootstrapId,offer:K(t.localDescription??n,`offer`)})}catch(t){this.failPeer(e,t instanceof Error?t.message:String(t))}}closeControllerPeers(e){for(let[t,n]of this.peers.entries())n.state.controllerId===e&&(n.peer.close(),this.peers.delete(t))}failPeer(e,t){let n=this.peers.get(e.bootstrapId);if(n){n.peer.close(),this.peers.delete(e.bootstrapId);try{this.options.sendControlMessage({type:`bootstrap.failed`,controllerId:e.controllerId,bootstrapId:e.bootstrapId,code:`WEBRTC_BOOTSTRAP_FAILED`,message:t,retryable:!0,retryAfterMs:1e3})}catch(e){U.warn(`Failed to report tray bootstrap failure`,{error:e instanceof Error?e.message:String(e)})}}}},ve=class{options;fetchImpl;peerConnectionFactory;controllerIdFactory;sleep;pollIntervalMs;iceServers;activePeer=null;stopped=!1;constructor(e){this.options=e,this.fetchImpl=e.fetchImpl??fetch,this.iceServers=e.iceServers,this.peerConnectionFactory=e.peerConnectionFactory??(()=>G(this.iceServers)),this.controllerIdFactory=e.controllerIdFactory??(()=>crypto.randomUUID()),this.sleep=e.sleep??(e=>new Promise(t=>setTimeout(t,e))),this.pollIntervalMs=e.pollIntervalMs??me}async start(){this.stopped=!1;let e=this.controllerIdFactory(),t=Date.now();f({state:`connecting`,joinUrl:this.options.joinUrl,trayId:null,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:0,lastAttachCode:null,connectingSince:t,lastError:null}),U.info(`Follower tray join starting`,{joinUrl:this.options.joinUrl});let n=0,r=0;for(;;){J(this.stopped),n++;let t;try{t=await j({joinUrl:this.options.joinUrl,controllerId:e,runtime:this.options.runtime,fetchImpl:this.fetchImpl})}catch(e){let t=e instanceof Error?e.message:String(e);throw f({...m(),attachAttempts:n,lastError:t}),e}if(f({...m(),attachAttempts:n,lastAttachCode:t.code}),this.followSupersededJoinUrl(t,r)){r++,await this.sleep(ge);continue}if(t.action===`wait`){let e=t.retryAfterMs??1e3;U.info(`Follower tray attach waiting`,{attempt:n,code:t.code,retryAfterMs:e}),n%10==0&&U.warn(`Follower tray attach still waiting after ${n} attempts`,{attempt:n,code:t.code,retryAfterMs:e}),await this.sleep(e);continue}if(t.action===`fail`||!t.bootstrap){let e=t.error??`Tray follower attach failed (${t.code})`;throw f({state:`error`,joinUrl:this.options.joinUrl,trayId:null,error:e,lastPingTime:null,reconnectAttempts:0,attachAttempts:n,lastAttachCode:t.code,connectingSince:null,lastError:e}),U.warn(`Follower tray attach failed`,{error:e}),Error(e)}t.iceServers&&(this.iceServers=t.iceServers);try{let r=await this.completeBootstrap(t.trayId,e,t.bootstrap);return f({state:`connected`,joinUrl:this.options.joinUrl,trayId:r.trayId,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:n,lastAttachCode:t.code,connectingSince:null,lastError:null}),U.info(`Follower tray connected`,{trayId:r.trayId,controllerId:e}),r}catch(e){let r=e instanceof Error?e.message:String(e);throw f({state:`error`,joinUrl:this.options.joinUrl,trayId:t.trayId,error:r,lastPingTime:null,reconnectAttempts:0,attachAttempts:n,lastAttachCode:t.code,connectingSince:null,lastError:r}),U.warn(`Follower tray bootstrap failed`,{error:r}),e}}}followSupersededJoinUrl(e,t){if(e.action!==`fail`||e.code!==`TRAY_SUPERSEDED`||!e.supersededByJoinUrl)return!1;if(t>=he)throw Error(`Follower tray attach gave up after ${t} supersede redirects (possible redirect cycle)`);let n;try{n=new URL(e.supersededByJoinUrl)}catch{throw Error(`Follower tray superseded with an invalid joinUrl: ${e.supersededByJoinUrl}`)}return U.info(`Follower tray superseded, following redirect`,{oldJoinUrl:this.options.joinUrl,newJoinUrl:n.toString()}),this.options.joinUrl=n.toString(),this.options.onJoinUrlChanged?.(n.toString()),!0}stop(){this.stopped=!0,this.activePeer?.peer.close(),this.activePeer?.channel?.close(),this.activePeer=null,f({state:`inactive`,joinUrl:null,trayId:null,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:0,lastAttachCode:null,connectingSince:null,lastError:null})}async completeBootstrap(e,t,n){let r=n,i=0;for(this.activePeer=this.createFollowerPeer(t,r.bootstrapId);;){if(J(this.stopped),this.activePeer.open&&this.activePeer.channel)return{trayId:e,controllerId:t,bootstrapId:r.bootstrapId,channel:this.activePeer.channel};if(this.activePeer.openError)throw Error(this.activePeer.openError);let n=await N({joinUrl:this.options.joinUrl,controllerId:t,bootstrapId:r.bootstrapId,cursor:i,fetchImpl:this.fetchImpl});r=n.bootstrap,i=r.cursor;try{await this.applyBootstrapEvents(n.events,this.activePeer,t,r.bootstrapId)}catch(e){if(r.failure?.retryable&&r.retriesRemaining>0){r=(await I({joinUrl:this.options.joinUrl,controllerId:t,bootstrapId:r.bootstrapId,runtime:this.options.runtime,fetchImpl:this.fetchImpl})).bootstrap,i=0,this.activePeer.peer.close(),this.activePeer=this.createFollowerPeer(t,r.bootstrapId);continue}throw e}this.activePeer.open||await this.sleep(this.pollIntervalMs)}}async applyBootstrapEvents(e,t,n,r){for(let i of e)if(i.type===`bootstrap.offer`){await t.peer.setRemoteDescription(i.offer);let e=await t.peer.createAnswer();await t.peer.setLocalDescription(e),await P({joinUrl:this.options.joinUrl,controllerId:n,bootstrapId:r,answer:K(t.peer.localDescription??e,`answer`),fetchImpl:this.fetchImpl})}else if(i.type===`bootstrap.ice_candidate`)await t.peer.addIceCandidate(i.candidate);else if(i.type===`bootstrap.failed`)throw Error(i.failure.message)}createFollowerPeer(e,t){let n=this.peerConnectionFactory(),r={peer:n,channel:null,open:!1,openError:null};return n.addEventListener(`connectionstatechange`,()=>{r.open&&(n.connectionState===`disconnected`||n.connectionState===`failed`)&&(U.warn(`Follower peer connection state changed post-connect`,{bootstrapId:t,state:n.connectionState}),this.options.onDisconnected?.(`Peer connection ${n.connectionState}`))}),n.addEventListener(`datachannel`,({channel:e})=>{r.channel=W(e,n),e.addEventListener(`open`,()=>{r.open=!0}),e.addEventListener(`close`,()=>{r.open?(U.warn(`Follower data channel closed post-connect`,{bootstrapId:t}),this.options.onDisconnected?.(`Data channel closed`)):r.openError=`Follower data channel closed before opening`}),e.addEventListener(`error`,()=>{r.open?(U.warn(`Follower data channel error post-connect`,{bootstrapId:t}),this.options.onDisconnected?.(`Data channel error`)):r.openError=`Follower data channel failed before opening`})}),n.addEventListener(`icecandidate`,({candidate:n})=>{let r=q(n);r&&F({joinUrl:this.options.joinUrl,controllerId:e,bootstrapId:t,candidate:r,fetchImpl:this.fetchImpl}).catch(e=>{U.warn(`Failed to send follower ICE candidate`,{error:e instanceof Error?e.message:String(e)})})}),r}};function ye(e,t){let n=t.baseDelayMs??1e3,r=t.backoffMultiplier??2,i=t.maxDelayMs??3e4,a=t.maxAttempts??10,o=t.sleep??e.sleep??(e=>new Promise(t=>setTimeout(t,e))),s=!1,c=!1,l=null,u={cancel(){s=!0,c=!1,l?.stop(),l=null},get reconnecting(){return c}},d=()=>{let t=new ve({...e,sleep:o,onDisconnected:e=>{s||(U.warn(`Follower disconnected, starting reconnect loop`,{reason:e}),p(e))},onJoinUrlChanged:t=>{e.joinUrl=t,e.onJoinUrlChanged?.(t)}});return l=t,{manager:t,connectionPromise:t.start()}},p=async u=>{if(s||c)return;c=!0,l?.stop(),l=null;let p=0,h=n,g=u??`Unknown disconnect`;for(;!s&&p<a&&(p++,t.onReconnecting?.(p),f({...m(),state:`reconnecting`,error:null,reconnectAttempts:p}),U.info(`Reconnect attempt`,{attempt:p,delay:h}),await o(h),!s);){let n=null;try{let r=d();n=r.manager;let i=await r.connectionPromise;if(s){n.stop();break}c=!1,f({...m(),state:`connected`,joinUrl:e.joinUrl,trayId:i.trayId,error:null,lastPingTime:null,reconnectAttempts:0,connectingSince:null,lastError:null}),U.info(`Reconnect successful`,{attempt:p,trayId:i.trayId}),t.onConnected(i);return}catch(e){g=e instanceof Error?e.message:String(e),U.warn(`Reconnect attempt failed`,{attempt:p,error:g}),n?.stop(),l=null}h=Math.min(h*r,i)}s||(c=!1,f({...m(),state:`error`,error:`Reconnect failed after ${p} attempts: ${g}`,reconnectAttempts:p}),U.warn(`Reconnect gave up`,{attempts:p,lastError:g}),t.onGaveUp?.(g))},{connectionPromise:h}=d();return h.then(e=>{s||t.onConnected(e)}).catch(e=>{s||(U.error(`Initial follower connection failed`,{error:e instanceof Error?e.message:String(e)}),p(e instanceof Error?e.message:String(e)))}),u}function W(e,t){return e.getMaxMessageSize=()=>t.sctp?.maxMessageSize,e}function G(e){if(typeof RTCPeerConnection>`u`)throw Error(`RTCPeerConnection is not available in this runtime`);let t=e?.length?{iceServers:e}:void 0;return new RTCPeerConnection(t)}function K(e,t){if(!e||e.type!==t||typeof e.sdp!=`string`)throw Error(`Expected a local ${t} description before signaling`);return{type:e.type,sdp:e.sdp}}function q(e){if(!e||typeof e!=`object`)return null;let t=e;return typeof t.candidate==`string`?{candidate:t.candidate,sdpMid:typeof t.sdpMid==`string`?t.sdpMid:null,sdpMLineIndex:typeof t.sdpMLineIndex==`number`?t.sdpMLineIndex:null,usernameFragment:typeof t.usernameFragment==`string`?t.usernameFragment:null}:null}function J(e){if(e)throw Error(`Tray follower stopped before WebRTC bootstrap completed`)}function Y(e){if(!e)throw Error(`canonicalRuntimeId: bootstrapId is required`);return e.startsWith(`follower-`)?e:`follower-${e}`}var X=n(`sprinkle-follower`),be=class{sync;addSprinkle;removeSprinkle;zone;openPath;open=new Map;opening=new Set;latestDesiredOpen=new Set;pendingUpdates=new Map;updateListeners=new Map;disposed=!1;constructor(e){this.sync=e.sync,this.addSprinkle=e.addSprinkle,this.removeSprinkle=e.removeSprinkle,this.zone=e.zone,this.openPath=e.open}async updateAvailable(e){if(this.disposed)return;let t=new Map;for(let n of e)n.open&&t.set(n.name,n);this.latestDesiredOpen=new Set(t.keys());for(let e of[...this.open.keys()])t.has(e)||this.closeLocally(e);for(let e of[...this.pendingUpdates.keys()])t.has(e)||this.pendingUpdates.delete(e);let n=[];for(let[e,r]of t)this.open.has(e)||this.opening.has(e)||n.push(this.openLocally(e,r));await Promise.allSettled(n)}handleSprinkleUpdate(e,t){if(this.disposed)return;let n=this.open.get(e);if(n){n.renderer.pushUpdate(t),this.fanOutToListeners(e,t);return}if(this.opening.has(e)){this.pendingUpdates.set(e,t);return}X.debug(`Dropping sprinkle.update for unknown sprinkle`,{sprinkleName:e})}async handleSprinkleReloaded(e){if(this.disposed)return;let t=this.open.get(e);if(!t){this.opening.has(e)&&this.pendingUpdates.delete(e);return}this.updateListeners.delete(e);let n;try{n=await this.sync.fetchSprinkleContent(e)}catch(t){X.warn(`Failed to fetch sprinkle content for reload`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)});return}if(this.disposed||!this.open.has(e))return;try{t.renderer.dispose()}catch(t){X.warn(`Sprinkle dispose threw during reload`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}let r=this.createBridge(e),i=new v(t.container,r);try{await i.render(n,e)}catch(t){X.warn(`Sprinkle re-render failed during reload`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}if(this.disposed||!this.open.has(e)){i.dispose();return}t.renderer=i,X.info(`Sprinkle reloaded in place`,{sprinkleName:e})}dispose(){if(!this.disposed){this.disposed=!0;for(let e of[...this.open.keys()])this.closeLocally(e);this.pendingUpdates.clear(),this.latestDesiredOpen.clear(),this.updateListeners.clear()}}async openLocally(e,t){this.opening.add(e);let n;try{n=await this.sync.fetchSprinkleContent(e)}catch(t){this.opening.delete(e),this.pendingUpdates.delete(e),X.warn(`Failed to fetch sprinkle content from leader`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)});return}if(this.disposed||!this.latestDesiredOpen.has(e)){this.opening.delete(e),this.pendingUpdates.delete(e);return}let r=document.createElement(`div`);r.className=`sprinkle-panel`,r.style.cssText=`width: 100%; height: 100%; display: flex; flex-direction: column; overflow-y: auto;`,r.dataset.sprinkle=e;let i=new v(r,this.createBridge(e));this.addSprinkle(e,t.title,r,this.zone,{icon:t.icon});try{await i.render(n,e)}catch(t){X.warn(`Sprinkle render failed`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}if(this.disposed||!this.latestDesiredOpen.has(e)){this.updateListeners.delete(e),this.opening.delete(e),this.pendingUpdates.delete(e);try{i.dispose()}catch(t){X.warn(`Sprinkle dispose threw during post-render cleanup`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}r.remove();try{this.removeSprinkle(e)}catch(t){X.warn(`removeSprinkle callback threw during post-render cleanup`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}return}this.open.set(e,{renderer:i,container:r}),this.opening.delete(e);let a=this.pendingUpdates.get(e);a!==void 0&&(this.pendingUpdates.delete(e),i.pushUpdate(a),this.fanOutToListeners(e,a))}fanOutToListeners(e,t){let n=this.updateListeners.get(e);if(n)for(let r of[...n])try{r(t)}catch(t){X.warn(`Sprinkle update listener threw`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}}closeLocally(e){this.updateListeners.delete(e),this.pendingUpdates.delete(e);let t=this.open.get(e);if(t){try{t.renderer.dispose()}catch(t){X.warn(`Sprinkle dispose threw`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}t.container.remove(),this.open.delete(e);try{this.removeSprinkle(e)}catch(t){X.warn(`removeSprinkle callback threw`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}}}createBridge(e){return{name:e,lick:t=>{let n=typeof t==`string`?t:t.action,r=typeof t==`string`?void 0:t.data;this.sync.sendSprinkleLick(e,{action:n,data:r})},on:(t,n)=>{if(t!==`update`)return;let r=this.updateListeners.get(e);r||(r=new Set,this.updateListeners.set(e,r)),r.add(n)},off:(t,n)=>{t===`update`&&this.updateListeners.get(e)?.delete(n)},readFile:()=>Promise.reject(Error(`readFile not supported in follower-rendered sprinkle`)),writeFile:()=>Promise.reject(Error(`writeFile not supported in follower-rendered sprinkle`)),readDir:()=>Promise.reject(Error(`readDir not supported in follower-rendered sprinkle`)),exists:()=>Promise.resolve(!1),stat:()=>Promise.reject(Error(`stat not supported in follower-rendered sprinkle`)),mkdir:()=>Promise.reject(Error(`mkdir not supported in follower-rendered sprinkle`)),rm:()=>Promise.reject(Error(`rm not supported in follower-rendered sprinkle`)),screenshot:()=>Promise.reject(Error(`screenshot not supported in follower-rendered sprinkle`)),setState:t=>{try{localStorage.setItem(`slicc-sprinkle-state:${e}`,JSON.stringify(t))}catch(t){X.warn(`Sprinkle setState failed`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)})}},getState:()=>{try{let t=localStorage.getItem(`slicc-sprinkle-state:${e}`);return t?JSON.parse(t):null}catch(t){return X.warn(`Sprinkle getState failed`,{sprinkleName:e,error:t instanceof Error?t.message:String(t)}),null}},open:e=>{if(this.openPath){this.openPath(e);return}let t=/^https?:|^chrome-extension:/.test(e)?e:ne(e);window.open(t,`_blank`)},close:()=>this.closeLocally(e),minimize:()=>{},stopCone:()=>{this.sync.sendSprinkleLick(e,{action:`__stopCone__`})},attachImage:()=>{},captureScreen:()=>Promise.reject(Error(`captureScreen not supported in follower-rendered sprinkle`)),exec:Object.assign(()=>Promise.resolve({stdout:``,stderr:`exec not supported in follower-rendered sprinkle
|
|
3
|
-
`,exitCode:127}),{spawn:()=>Promise.resolve({stdout:``,stderr:`exec.spawn not supported in follower-rendered sprinkle
|
|
4
|
-
`,exitCode:127})}),agent:()=>Promise.resolve({stdout:`agent not supported in follower-rendered sprinkle
|
|
5
|
-
`,exitCode:127}),fetch:()=>Promise.reject(Error(`fetch not supported in follower-rendered sprinkle`)),http:{client:()=>{let e=()=>Promise.reject(Error(`http not supported in follower-rendered sprinkle`));return{get:e,post:e,put:e,patch:e,delete:e}}},browser:{findTab:()=>Promise.reject(Error(`browser not supported in follower-rendered sprinkle`)),ensureTab:()=>Promise.reject(Error(`browser not supported in follower-rendered sprinkle`)),eval:()=>Promise.reject(Error(`browser not supported in follower-rendered sprinkle`)),evalAsync:()=>Promise.reject(Error(`browser not supported in follower-rendered sprinkle`)),cookie:()=>Promise.reject(Error(`browser not supported in follower-rendered sprinkle`)),localStorage:()=>Promise.reject(Error(`browser not supported in follower-rendered sprinkle`)),fetch:()=>Promise.reject(Error(`browser not supported in follower-rendered sprinkle`))},hid:{list:()=>Promise.reject(Error(`hid not supported in follower-rendered sprinkle`)),request:()=>Promise.reject(Error(`hid not supported in follower-rendered sprinkle`)),open:()=>Promise.reject(Error(`hid not supported in follower-rendered sprinkle`)),close:()=>Promise.reject(Error(`hid not supported in follower-rendered sprinkle`)),sendReport:()=>Promise.reject(Error(`hid not supported in follower-rendered sprinkle`)),on:()=>{},off:()=>{}},serial:{list:()=>Promise.reject(Error(`serial not supported in follower-rendered sprinkle`)),request:()=>Promise.reject(Error(`serial not supported in follower-rendered sprinkle`)),open:()=>Promise.reject(Error(`serial not supported in follower-rendered sprinkle`)),close:()=>Promise.reject(Error(`serial not supported in follower-rendered sprinkle`))},usb:{list:()=>Promise.reject(Error(`usb not supported in follower-rendered sprinkle`)),request:()=>Promise.reject(Error(`usb not supported in follower-rendered sprinkle`)),open:()=>Promise.reject(Error(`usb not supported in follower-rendered sprinkle`)),close:()=>Promise.reject(Error(`usb not supported in follower-rendered sprinkle`))},readFileBinary:()=>Promise.reject(Error(`readFileBinary not supported in follower-rendered sprinkle`)),writeFileBinary:()=>Promise.reject(Error(`writeFileBinary not supported in follower-rendered sprinkle`)),fetchToFile:()=>Promise.reject(Error(`fetchToFile not supported in follower-rendered sprinkle`)),_jsh:()=>Promise.reject(Error(`jsh globals not supported in follower-rendered sprinkle`)),_device:()=>Promise.reject(Error(`device ops not supported in follower-rendered sprinkle`))}}},Z=n(`page-follower-tray`);function xe(e,t){return t===`slicc-cherry`?e.map(e=>({targetId:e.targetId,title:e.title,url:e.url,kind:`cherry`,capabilities:{navigate:!0,network:!1,screenshot:!0}})):e.map(e=>({targetId:e.targetId,title:e.title,url:e.url}))}function Se(e){let t=e._refreshIntervalMs??5e3,n=null,r=null,i=null,a=null,o=(t=!0)=>{i&&=(clearInterval(i),null),r&&=(r.dispose(),null),n&&=(e.onForwardingToggle?.(!1),t&&e.onConnectionChange?.(!1),e.browserAPI.setTrayTargetProvider(null),n.close(),null)};return a=ye({joinUrl:e.joinUrl,runtime:e.runtime??`slicc-standalone`,fetchImpl:e._fetchImpl,peerConnectionFactory:e._peerConnectionFactory,sleep:e._sleep,onJoinUrlChanged:e.onJoinUrlChanged},{onConnected:a=>{o();let s=Y(a.bootstrapId),c=null,l=new fe(a.channel,{browserTransport:e.browserAPI.getTransport(),browserAPI:e.browserAPI,onSnapshot:e.onSnapshot,onUserMessage:e.onUserMessage,onStatus:e.onStatus,onCherrySliccEvent:e.onCherrySliccEvent,onScoopsList:e.onScoopsList,onTranscriptExportApprovalRequest:e.onTranscriptExportApprovalRequest,selfRuntimeId:s,onTargetsChanged:()=>void d(),onSprinklesList:t=>{e.onSprinklesList?.(t),c?.updateAvailable(t)},onSprinkleUpdate:(e,t)=>c?.handleSprinkleUpdate(e,t),onSprinkleReloaded:e=>void c?.handleSprinkleReloaded(e),onLeaderStalled:t=>e.onLeaderStalled?.(t),onDisconnect:e=>{Z.warn(`Follower sync disconnected`,{reason:e}),o()}});e.addSprinkle&&e.removeSprinkle&&(c=new be({sync:l,addSprinkle:e.addSprinkle,removeSprinkle:e.removeSprinkle,open:e.onOpen}),r=c);let u=new b(Z,{failureMessage:`Follower CDP target listing failed (best-effort, throttled)`,recoveryMessage:`Follower CDP target listing recovered (stable for debounce window)`}),d=async()=>{if(e.advertisesCdpTargets===!1)return;let t;try{t=await e.browserAPI.listPages()}catch(e){u.reportFailure(e);return}if(n===l){u.reportSuccess();try{l.advertiseTargets(xe(t,e.runtime??`slicc-standalone`),s)}catch(e){Z.error(`Follower target advertisement broadcast failed (sync.advertiseTargets threw)`,{error:e instanceof Error?e.message:String(e)})}}};n=l,e.browserAPI.setTrayTargetProvider(l),e.setChatAgent(l),e.onForwardingToggle?.(!0),e.onConnectionChange?.(!0),l.requestSnapshot(),e.advertisesCdpTargets!==!1&&(i=setInterval(()=>void d(),t),d()),Z.info(`Follower sync wired`,{trayId:a.trayId})},onReconnecting:e=>{Z.info(`Follower reconnecting`,{attempt:e})},onGaveUp:t=>{Z.warn(`Follower reconnect gave up`,{lastError:t}),o(!1),e.onGaveUp?.(t)},sleep:e._sleep}),{stop(){o(),a?.cancel(),a=null,f({state:`inactive`,joinUrl:null,trayId:null,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:0,lastAttachCode:null,connectingSince:null,lastError:null})},get currentSync(){return n}}}function Ce(e){let t=Q(_()),n=$(m()),r=()=>{e.toggleAttribute(`online`,t||n)},i=te(e=>{t=Q(e),r()}),a=h(e=>{n=$(e),r()});return r(),()=>{i(),a()}}function Q(e){return e.state===`leader`}function $(e){return e.state===`connected`}export{T as a,_e as i,Se as n,C as o,Y as r,b as s,Ce as t};
|