alchemylab-opencode 2.0.4 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/{anthropic-FVULF7C3.js → anthropic-YQ2VCNTB.js} +1 -1
  2. package/dist/{app-runtime-LDQWNGWP.js → app-runtime-GFPPHAHM.js} +1 -1
  3. package/dist/{chunk-OT2YNR56.js → chunk-55SXVZ3J.js} +1 -1
  4. package/dist/{chunk-R2GWBJEP.js → chunk-5AXNRW7L.js} +1 -1
  5. package/dist/{chunk-UPEPL4I2.js → chunk-6AKI3RBD.js} +1 -1
  6. package/dist/{chunk-G7PFO5HG.js → chunk-B7LCUFWA.js} +8 -8
  7. package/dist/{chunk-DWEYXIQI.js → chunk-BAULQCM7.js} +3 -3
  8. package/dist/{chunk-5BLZCAU6.js → chunk-EXCQNXCF.js} +1 -1
  9. package/dist/chunk-FLHFX43G.js +55 -0
  10. package/dist/chunk-HEEAGIBZ.js +1490 -0
  11. package/dist/{chunk-NGT6LCW6.js → chunk-LUMNYJ5D.js} +1 -1
  12. package/dist/{chunk-B74WSFN4.js → chunk-ROZTUM2T.js} +3 -3
  13. package/dist/{chunk-OUVSKG2H.js → chunk-VG5EGQPG.js} +1 -1
  14. package/dist/{chunk-2JE3QYG6.js → chunk-XMCVYTKN.js} +1 -1
  15. package/dist/{chunk-7XX6TY62.js → chunk-YDNJZVRR.js} +1 -1
  16. package/dist/{chunk-4GJE6OMN.js → chunk-YWZH5MZN.js} +1 -1
  17. package/dist/{chunk-TK5R7QUN.js → chunk-ZR6CXXUN.js} +1 -1
  18. package/dist/{code-mode-YYOGD36U.js → code-mode-LEVRRN6O.js} +1 -1
  19. package/dist/{dist-KM5HCPZX.js → dist-37YOR7EF.js} +1 -1
  20. package/dist/{dist-YUH4RKR5.js → dist-Y7XJ2TDX.js} +1 -1
  21. package/dist/{dist-es-W5GYOX6F.js → dist-es-2V53AUOV.js} +1 -1
  22. package/dist/{dist-es-G5UIJOU7.js → dist-es-HYEV5NJY.js} +2 -2
  23. package/dist/{dist-es-6PLFRCS4.js → dist-es-IQZPYE6S.js} +1 -1
  24. package/dist/{dist-es-HYIIGUNX.js → dist-es-NJU2JDGG.js} +1 -1
  25. package/dist/{dist-es-LSR2QCFZ.js → dist-es-PEWVLOVZ.js} +1 -1
  26. package/dist/{photon-W56QZY4L.js → photon-5AJPGVCX.js} +1 -1
  27. package/dist/run.js +1 -1
  28. package/dist/serve.js +1 -1
  29. package/dist/{server-LVIHYOCY.js → server-4GCT6Z5B.js} +2 -2
  30. package/dist/{session-6OPJNJMK.js → session-Y3Y6G2WT.js} +1 -1
  31. package/dist/{src-3NCXEROI.js → src-X7ZXQLNN.js} +1 -1
  32. package/dist/{worktree-32M5MTFE.js → worktree-YPE74GDD.js} +1 -1
  33. package/package.json +1 -1
  34. package/dist/chunk-DADVNQTM.js +0 -1490
  35. package/dist/chunk-FOHYZ7MJ.js +0 -55
  36. /package/dist/{dist-CYBRID2F.js → dist-RDYS4XXO.js} +0 -0
  37. /package/dist/{lib-ZP7Q6A3E.js → lib-JC7MYWBJ.js} +0 -0
  38. /package/dist/{mime-types-46EO4HOZ.js → mime-types-2T5FPOIB.js} +0 -0
  39. /package/dist/{signin-OCIW23YM.js → signin-U2KKV7OZ.js} +0 -0
  40. /package/dist/{src-YAAFIGTW.js → src-ABUDV3W3.js} +0 -0
  41. /package/dist/{src-LXWGIUZH.js → src-NICVS6EV.js} +0 -0
  42. /package/dist/{sso-oidc-OMMKINFE.js → sso-oidc-KFJXXBLA.js} +0 -0
  43. /package/dist/{sts-MWK22JIX.js → sts-XIN552ID.js} +0 -0
  44. /package/dist/{token-QPO3OAGS.js → token-D3TCB33O.js} +0 -0
  45. /package/dist/{token-util-YGPCEEPO.js → token-util-IOCO6RZC.js} +0 -0
@@ -15,4 +15,4 @@ import { dirname as __alchemyDirname } from 'node:path';
15
15
  const __alchemy_filename = __alchemyFileURLToPath(import.meta.url);
16
16
  const __alchemy_dirname = __alchemyDirname(__alchemy_filename);
17
17
 
18
- import{k as h,t as p,x as m}from"./chunk-4MBUHJHY.js";import{a as w}from"./chunk-5BLZCAU6.js";import{c as d,e as n}from"./chunk-KS4WLVK5.js";import"./chunk-VXAPFOIL.js";import{k as u}from"./chunk-WKZYINC7.js";import"./chunk-Q3WIUQXB.js";import"./chunk-WPMP2ZFE.js";import{a as t,g as f}from"./chunk-2MRHL4B2.js";var g=f(w(),1);function v(r){let l=new g.GoogleAuth({scopes:["https://www.googleapis.com/auth/cloud-platform"],...r});return t(async function(){var e;let a=await(await l.getClient()).getAccessToken();return(e=a?.token)!=null?e:null},"generateAuthToken")}t(v,"createAuthTokenGenerator");var x={bash_20241022:n.bash_20241022,bash_20250124:n.bash_20250124,textEditor_20241022:n.textEditor_20241022,textEditor_20250124:n.textEditor_20250124,textEditor_20250429:n.textEditor_20250429,textEditor_20250728:n.textEditor_20250728,computer_20241022:n.computer_20241022,webSearch_20250305:n.webSearch_20250305,toolSearchRegex_20251119:n.toolSearchRegex_20251119,toolSearchBm25_20251119:n.toolSearchBm25_20251119};function b(r={}){let l=t(()=>{var o;let a=h({settingValue:r.location,environmentVariableName:"GOOGLE_VERTEX_LOCATION"}),c=h({settingValue:r.project,environmentVariableName:"GOOGLE_VERTEX_PROJECT"}),s=t(()=>a==="global"?"aiplatform.googleapis.com":a==="eu"||a==="us"?`aiplatform.${a}.rep.googleapis.com`:`${a}-aiplatform.googleapis.com`,"getHost");return(o=m(r.baseURL))!=null?o:`https://${s()}/v1/projects/${c}/locations/${a}/publishers/anthropic/models`},"getBaseURL"),i=t(o=>{var a;return new d(o,{provider:"vertex.anthropic.messages",baseURL:l(),headers:(a=r.headers)!=null?a:{},fetch:r.fetch,buildRequestUrl:t((c,s)=>`${c}/${o}:${s?"streamRawPredict":"rawPredict"}`,"buildRequestUrl"),transformRequestBody:t(c=>{let{model:s,..._}=c;return{..._,anthropic_version:"vertex-2023-10-16"}},"transformRequestBody"),supportedUrls:t(()=>({}),"supportedUrls"),supportsNativeStructuredOutput:!1,supportsStrictTools:!1})},"createChatModel"),e=t(function(o){if(new.target)throw new Error("The Anthropic model function cannot be called with the new keyword.");return i(o)},"provider");return e.specificationVersion="v3",e.languageModel=i,e.chat=i,e.messages=i,e.embeddingModel=o=>{throw new u({modelId:o,modelType:"embeddingModel"})},e.textEmbeddingModel=e.embeddingModel,e.imageModel=o=>{throw new u({modelId:o,modelType:"imageModel"})},e.tools=x,e}t(b,"createVertexAnthropic");function E(r={}){var l;let i=(l=r.generateAuthToken)!=null?l:v(r.googleAuthOptions);return b({...r,headers:t(async()=>({Authorization:`Bearer ${await i()}`,...await p(r.headers)}),"headers")})}t(E,"createVertexAnthropic2");var S=E();export{E as createVertexAnthropic,S as vertexAnthropic};
18
+ import{k as h,t as p,x as m}from"./chunk-4MBUHJHY.js";import{a as w}from"./chunk-EXCQNXCF.js";import{c as d,e as n}from"./chunk-KS4WLVK5.js";import"./chunk-VXAPFOIL.js";import{k as u}from"./chunk-WKZYINC7.js";import"./chunk-Q3WIUQXB.js";import"./chunk-WPMP2ZFE.js";import{a as t,g as f}from"./chunk-2MRHL4B2.js";var g=f(w(),1);function v(r){let l=new g.GoogleAuth({scopes:["https://www.googleapis.com/auth/cloud-platform"],...r});return t(async function(){var e;let a=await(await l.getClient()).getAccessToken();return(e=a?.token)!=null?e:null},"generateAuthToken")}t(v,"createAuthTokenGenerator");var x={bash_20241022:n.bash_20241022,bash_20250124:n.bash_20250124,textEditor_20241022:n.textEditor_20241022,textEditor_20250124:n.textEditor_20250124,textEditor_20250429:n.textEditor_20250429,textEditor_20250728:n.textEditor_20250728,computer_20241022:n.computer_20241022,webSearch_20250305:n.webSearch_20250305,toolSearchRegex_20251119:n.toolSearchRegex_20251119,toolSearchBm25_20251119:n.toolSearchBm25_20251119};function b(r={}){let l=t(()=>{var o;let a=h({settingValue:r.location,environmentVariableName:"GOOGLE_VERTEX_LOCATION"}),c=h({settingValue:r.project,environmentVariableName:"GOOGLE_VERTEX_PROJECT"}),s=t(()=>a==="global"?"aiplatform.googleapis.com":a==="eu"||a==="us"?`aiplatform.${a}.rep.googleapis.com`:`${a}-aiplatform.googleapis.com`,"getHost");return(o=m(r.baseURL))!=null?o:`https://${s()}/v1/projects/${c}/locations/${a}/publishers/anthropic/models`},"getBaseURL"),i=t(o=>{var a;return new d(o,{provider:"vertex.anthropic.messages",baseURL:l(),headers:(a=r.headers)!=null?a:{},fetch:r.fetch,buildRequestUrl:t((c,s)=>`${c}/${o}:${s?"streamRawPredict":"rawPredict"}`,"buildRequestUrl"),transformRequestBody:t(c=>{let{model:s,..._}=c;return{..._,anthropic_version:"vertex-2023-10-16"}},"transformRequestBody"),supportedUrls:t(()=>({}),"supportedUrls"),supportsNativeStructuredOutput:!1,supportsStrictTools:!1})},"createChatModel"),e=t(function(o){if(new.target)throw new Error("The Anthropic model function cannot be called with the new keyword.");return i(o)},"provider");return e.specificationVersion="v3",e.languageModel=i,e.chat=i,e.messages=i,e.embeddingModel=o=>{throw new u({modelId:o,modelType:"embeddingModel"})},e.textEmbeddingModel=e.embeddingModel,e.imageModel=o=>{throw new u({modelId:o,modelType:"imageModel"})},e.tools=x,e}t(b,"createVertexAnthropic");function E(r={}){var l;let i=(l=r.generateAuthToken)!=null?l:v(r.googleAuthOptions);return b({...r,headers:t(async()=>({Authorization:`Bearer ${await i()}`,...await p(r.headers)}),"headers")})}t(E,"createVertexAnthropic2");var S=E();export{E as createVertexAnthropic,S as vertexAnthropic};
@@ -15,4 +15,4 @@ import { dirname as __alchemyDirname } from 'node:path';
15
15
  const __alchemy_filename = __alchemyFileURLToPath(import.meta.url);
16
16
  const __alchemy_dirname = __alchemyDirname(__alchemy_filename);
17
17
 
18
- import{B as $,C as i,D as oo,F as eo,G as mo,b as F,e as B,f as D,h as I,i as T,j as O,k as W,l as w,n as G,o as J,p as Q,r as q,s as z,v as H,x as X,z as _}from"./chunk-DADVNQTM.js";import{F as to,G as no,H as io,z as U}from"./chunk-G7PFO5HG.js";import{b as K,f as Y,g as Z,w as ro}from"./chunk-4GJE6OMN.js";import{K as C,N as L,O as E,P as N,S as V,X as j,n as y}from"./chunk-B74WSFN4.js";import"./chunk-GW3ZRKAI.js";import{R as x,g as k,i as M,q as A}from"./chunk-FOHYZ7MJ.js";import{B as u,_a as v,da as c,ea as S,ha as l,kb as b,la as P,lb as R,mb as h,va as g}from"./chunk-DWEYXIQI.js";import"./chunk-QD24DLUD.js";import"./chunk-OUVSKG2H.js";import"./chunk-V6FDDNGV.js";import"./chunk-QCRIXKIC.js";import"./chunk-P5RLCJUV.js";import"./chunk-LIXP4TPL.js";import"./chunk-M6E6KNLV.js";import"./chunk-NDI67DRG.js";import"./chunk-WKZYINC7.js";import"./chunk-Q3WIUQXB.js";import"./chunk-WPMP2ZFE.js";import"./chunk-K5LKDIVU.js";import"./chunk-TK5R7QUN.js";import{d as a}from"./chunk-R2GWBJEP.js";import{ha as d,pc as f,qb as s}from"./chunk-7XX6TY62.js";import"./chunk-LSC4RT5V.js";import"./chunk-V7XKKJ7X.js";import"./chunk-FV7U6PVP.js";import"./chunk-UCLPBO4I.js";import"./chunk-V6HERYFV.js";import"./chunk-DO2UZ6NY.js";import"./chunk-AZUMH3TO.js";import{r as p}from"./chunk-VWLJXTZ5.js";import{Tc as n}from"./chunk-ELPXQ32J.js";import{a as t}from"./chunk-2MRHL4B2.js";var po=i.build(d.group([l.node,f.node,s.node,g.node,P.node,v.node,R.node,M.node,A.node,to.node,y.node,no.node,F.node,io.node,N.node,E.node,B.node,L.node,D.node,x.node,u.node,I.node,k.node,h.node,b.node,T.node,w.node,G.node,J.node,W.node,X.node,Q.node,O.node,q.node,j.node,V.node,K.node,U.node,H.node,z.node,Z.node,Y.node,_.node,oo.node,ro.node,eo.node,$.node,mo.node])).pipe(n.provideMerge(i.build(a.node)),n.provideMerge(S)),r=p.make(po,{memoMap:c}),e=t(o=>C(o),"wrap"),fr={runSync(o){return r.runSync(e(o))},runPromise(o,m){return r.runPromise(e(o),m)},runPromiseExit(o,m){return r.runPromiseExit(e(o),m)},runFork(o){return r.runFork(e(o))},runCallback(o){return r.runCallback(e(o))},dispose:t(()=>r.dispose(),"dispose")};export{po as AppLayer,fr as AppRuntime};
18
+ import{B as $,C as i,D as oo,F as eo,G as mo,b as F,e as B,f as D,h as I,i as T,j as O,k as W,l as G,n as J,o as Q,p as U,r as q,s as z,v as H,x as X,z as _}from"./chunk-HEEAGIBZ.js";import{F as to,G as no,H as io,z as w}from"./chunk-B7LCUFWA.js";import{b as K,f as Y,g as Z,w as ro}from"./chunk-YWZH5MZN.js";import{K as C,N as L,O as E,P as N,S as V,X as j,n as y}from"./chunk-ROZTUM2T.js";import"./chunk-GW3ZRKAI.js";import{R as x,g as k,i as M,q as A}from"./chunk-FLHFX43G.js";import{B as u,_a as v,da as c,ea as S,ha as l,kb as b,la as P,lb as R,mb as h,va as g}from"./chunk-BAULQCM7.js";import"./chunk-QD24DLUD.js";import"./chunk-VG5EGQPG.js";import"./chunk-V6FDDNGV.js";import"./chunk-QCRIXKIC.js";import"./chunk-P5RLCJUV.js";import"./chunk-LIXP4TPL.js";import"./chunk-M6E6KNLV.js";import"./chunk-NDI67DRG.js";import"./chunk-WKZYINC7.js";import"./chunk-Q3WIUQXB.js";import"./chunk-WPMP2ZFE.js";import"./chunk-K5LKDIVU.js";import"./chunk-ZR6CXXUN.js";import{d as a}from"./chunk-5AXNRW7L.js";import{ha as d,pc as f,qb as s}from"./chunk-YDNJZVRR.js";import"./chunk-LSC4RT5V.js";import"./chunk-V7XKKJ7X.js";import"./chunk-FV7U6PVP.js";import"./chunk-UCLPBO4I.js";import"./chunk-V6HERYFV.js";import"./chunk-DO2UZ6NY.js";import"./chunk-AZUMH3TO.js";import{r as p}from"./chunk-VWLJXTZ5.js";import{Tc as n}from"./chunk-ELPXQ32J.js";import{a as t}from"./chunk-2MRHL4B2.js";var po=i.build(d.group([l.node,f.node,s.node,g.node,P.node,v.node,R.node,M.node,A.node,to.node,y.node,no.node,F.node,io.node,N.node,E.node,B.node,L.node,D.node,x.node,u.node,I.node,k.node,h.node,b.node,T.node,G.node,J.node,Q.node,W.node,X.node,U.node,O.node,q.node,j.node,V.node,K.node,w.node,H.node,z.node,Z.node,Y.node,_.node,oo.node,ro.node,eo.node,$.node,mo.node])).pipe(n.provideMerge(i.build(a.node)),n.provideMerge(S)),r=p.make(po,{memoMap:c}),e=t(o=>C(o),"wrap"),fr={runSync(o){return r.runSync(e(o))},runPromise(o,m){return r.runPromise(e(o),m)},runPromiseExit(o,m){return r.runPromiseExit(e(o),m)},runFork(o){return r.runFork(e(o))},runCallback(o){return r.runCallback(e(o))},dispose:t(()=>r.dispose(),"dispose")};export{po as AppLayer,fr as AppRuntime};
@@ -15,5 +15,5 @@ import { dirname as __alchemyDirname } from 'node:path';
15
15
  const __alchemy_filename = __alchemyFileURLToPath(import.meta.url);
16
16
  const __alchemy_dirname = __alchemyDirname(__alchemy_filename);
17
17
 
18
- import{c as Q}from"./chunk-OCWGUTZJ.js";import{f as T}from"./chunk-CYRZU5QM.js";import{a as o,g as w}from"./chunk-2MRHL4B2.js";var g=w(T());var R=o(e=>e&&(typeof e.sso_start_url=="string"||typeof e.sso_account_id=="string"||typeof e.sso_session=="string"||typeof e.sso_region=="string"||typeof e.sso_role_name=="string"),"isSsoProfile");var F=w(Q());var f=w(T());var x="To refresh this SSO session run 'aws sso login' with the corresponding profile.";var j=o(async(e,s={},t)=>{let{SSOOIDCClient:n}=await import("./sso-oidc-OMMKINFE.js"),i=o(p=>s.clientConfig?.[p]??s.parentClientConfig?.[p]??t?.[p],"coalesce");return new n(Object.assign({},s.clientConfig??{},{region:e??s.clientConfig?.region,logger:i("logger"),userAgentAppId:i("userAgentAppId")}))},"getSsoOidcClient");var q=o(async(e,s,t={},n)=>{let{CreateTokenCommand:i}=await import("./sso-oidc-OMMKINFE.js");return(await j(s,t,n)).send(new i({clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:e.refreshToken,grantType:"refresh_token"}))},"getNewSsoOidcToken");var W=w(T());var v=o(e=>{if(e.expiration&&e.expiration.getTime()<Date.now())throw new W.TokenProviderError(`Token is expired. ${x}`,!1)},"validateTokenExpiry");var X=w(T());var h=o((e,s,t=!1)=>{if(typeof s>"u")throw new X.TokenProviderError(`Value not present for '${e}' in SSO Token${t?". Cannot refresh":""}. ${x}`,!1)},"validateTokenKey");var z=w(T());import{promises as Z}from"node:fs";var{writeFile:ee}=Z,J=o((e,s)=>{let t=(0,z.getSSOTokenFilepath)(e),n=JSON.stringify(s,null,2);return ee(t,n)},"writeSSOTokenToFile");var V=new Map,P=o((e={})=>async({callerClientConfig:s}={})=>{e.logger?.debug("@aws-sdk/token-providers - fromSso");let t=await(0,f.parseKnownFiles)(e),n=(0,f.getProfileName)({profile:e.profile??s?.profile}),i=t[n];if(i){if(!i.sso_session)throw new f.TokenProviderError(`Profile '${n}' is missing required property 'sso_session'.`)}else throw new f.TokenProviderError(`Profile '${n}' could not be found in shared credentials file.`,!1);let a=i.sso_session,S=(await(0,f.loadSsoSessionData)(e))[a];if(!S)throw new f.TokenProviderError(`Sso session '${a}' could not be found in shared credentials file.`,!1);for(let l of["sso_start_url","sso_region"])if(!S[l])throw new f.TokenProviderError(`Sso session '${a}' is missing required property '${l}'.`,!1);let d=S.sso_start_url,A=S.sso_region,r;try{r=await(0,f.getSSOTokenFromFile)(a)}catch{throw new f.TokenProviderError(`The SSO session token associated with profile=${n} was not found or is invalid. ${x}`,!1)}h("accessToken",r.accessToken),h("expiresAt",r.expiresAt);let{accessToken:C,expiresAt:O}=r,c={token:C,expiration:new Date(O)};if(c.expiration.getTime()-Date.now()>3e5)return c;let m=V.get(a)??0;if(Date.now()-m<30*1e3)return v(c),c;h("clientId",r.clientId,!0),h("clientSecret",r.clientSecret,!0),h("refreshToken",r.refreshToken,!0);try{V.set(a,Date.now());let l=await q(r,A,e,s);h("accessToken",l.accessToken),h("expiresIn",l.expiresIn);let y=new Date(Date.now()+l.expiresIn*1e3);try{await J(a,{...r,accessToken:l.accessToken,expiresAt:y.toISOString(),refreshToken:l.refreshToken})}catch{}return{token:l.accessToken,expiration:y}}catch{return v(c),c}},"fromSso");var u=w(T());var E=!1,D=o(async({ssoStartUrl:e,ssoSession:s,ssoAccountId:t,ssoRegion:n,ssoRoleName:i,ssoClient:a,clientConfig:p,parentClientConfig:S,callerClientConfig:d,profile:A,filepath:r,configFilepath:C,ignoreCache:O,logger:c})=>{let m,l="To refresh this SSO session run aws sso login with the corresponding profile.";if(s)try{let k=await P({profile:A,filepath:r,configFilepath:C,ignoreCache:O,clientConfig:p,parentClientConfig:S,logger:c})({callerClientConfig:d});m={accessToken:k.token,expiresAt:new Date(k.expiration).toISOString()}}catch(k){throw new u.CredentialsProviderError(k.message,{tryNextLink:E,logger:c})}else try{m=await(0,u.getSSOTokenFromFile)(e)}catch{throw new u.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${l}`,{tryNextLink:E,logger:c})}if(new Date(m.expiresAt).getTime()-Date.now()<=0)throw new u.CredentialsProviderError(`The SSO session associated with this profile has expired. ${l}`,{tryNextLink:E,logger:c});let{accessToken:y}=m,{SSOClient:_,GetRoleCredentialsCommand:I}=await import("./loadSso-AGOUE6RL.js"),B=a||new _(Object.assign({},p??{},{logger:p?.logger??d?.logger??S?.logger,region:p?.region??n,userAgentAppId:p?.userAgentAppId??d?.userAgentAppId??S?.userAgentAppId})),L;try{L=await B.send(new I({accountId:t,roleName:i,accessToken:y}))}catch(k){throw new u.CredentialsProviderError(k,{tryNextLink:E,logger:c})}let{roleCredentials:{accessKeyId:M,secretAccessKey:b,sessionToken:G,expiration:K,credentialScope:H,accountId:U}={}}=L;if(!M||!b||!G||!K)throw new u.CredentialsProviderError("SSO returns an invalid temporary credential.",{tryNextLink:E,logger:c});let N={accessKeyId:M,secretAccessKey:b,sessionToken:G,expiration:new Date(K),...H&&{credentialScope:H},...U&&{accountId:U}};return s?(0,F.setCredentialFeature)(N,"CREDENTIALS_SSO","s"):(0,F.setCredentialFeature)(N,"CREDENTIALS_SSO_LEGACY","u"),N},"resolveSSOCredentials");var Y=w(T());var $=o((e,s)=>{let{sso_start_url:t,sso_account_id:n,sso_region:i,sso_role_name:a}=e;if(!t||!n||!i||!a)throw new Y.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(e).join(", ")}
18
+ import{c as Q}from"./chunk-OCWGUTZJ.js";import{f as T}from"./chunk-CYRZU5QM.js";import{a as o,g as w}from"./chunk-2MRHL4B2.js";var g=w(T());var R=o(e=>e&&(typeof e.sso_start_url=="string"||typeof e.sso_account_id=="string"||typeof e.sso_session=="string"||typeof e.sso_region=="string"||typeof e.sso_role_name=="string"),"isSsoProfile");var F=w(Q());var f=w(T());var x="To refresh this SSO session run 'aws sso login' with the corresponding profile.";var j=o(async(e,s={},t)=>{let{SSOOIDCClient:n}=await import("./sso-oidc-KFJXXBLA.js"),i=o(p=>s.clientConfig?.[p]??s.parentClientConfig?.[p]??t?.[p],"coalesce");return new n(Object.assign({},s.clientConfig??{},{region:e??s.clientConfig?.region,logger:i("logger"),userAgentAppId:i("userAgentAppId")}))},"getSsoOidcClient");var q=o(async(e,s,t={},n)=>{let{CreateTokenCommand:i}=await import("./sso-oidc-KFJXXBLA.js");return(await j(s,t,n)).send(new i({clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:e.refreshToken,grantType:"refresh_token"}))},"getNewSsoOidcToken");var W=w(T());var v=o(e=>{if(e.expiration&&e.expiration.getTime()<Date.now())throw new W.TokenProviderError(`Token is expired. ${x}`,!1)},"validateTokenExpiry");var X=w(T());var h=o((e,s,t=!1)=>{if(typeof s>"u")throw new X.TokenProviderError(`Value not present for '${e}' in SSO Token${t?". Cannot refresh":""}. ${x}`,!1)},"validateTokenKey");var z=w(T());import{promises as Z}from"node:fs";var{writeFile:ee}=Z,J=o((e,s)=>{let t=(0,z.getSSOTokenFilepath)(e),n=JSON.stringify(s,null,2);return ee(t,n)},"writeSSOTokenToFile");var V=new Map,P=o((e={})=>async({callerClientConfig:s}={})=>{e.logger?.debug("@aws-sdk/token-providers - fromSso");let t=await(0,f.parseKnownFiles)(e),n=(0,f.getProfileName)({profile:e.profile??s?.profile}),i=t[n];if(i){if(!i.sso_session)throw new f.TokenProviderError(`Profile '${n}' is missing required property 'sso_session'.`)}else throw new f.TokenProviderError(`Profile '${n}' could not be found in shared credentials file.`,!1);let a=i.sso_session,S=(await(0,f.loadSsoSessionData)(e))[a];if(!S)throw new f.TokenProviderError(`Sso session '${a}' could not be found in shared credentials file.`,!1);for(let l of["sso_start_url","sso_region"])if(!S[l])throw new f.TokenProviderError(`Sso session '${a}' is missing required property '${l}'.`,!1);let d=S.sso_start_url,A=S.sso_region,r;try{r=await(0,f.getSSOTokenFromFile)(a)}catch{throw new f.TokenProviderError(`The SSO session token associated with profile=${n} was not found or is invalid. ${x}`,!1)}h("accessToken",r.accessToken),h("expiresAt",r.expiresAt);let{accessToken:C,expiresAt:O}=r,c={token:C,expiration:new Date(O)};if(c.expiration.getTime()-Date.now()>3e5)return c;let m=V.get(a)??0;if(Date.now()-m<30*1e3)return v(c),c;h("clientId",r.clientId,!0),h("clientSecret",r.clientSecret,!0),h("refreshToken",r.refreshToken,!0);try{V.set(a,Date.now());let l=await q(r,A,e,s);h("accessToken",l.accessToken),h("expiresIn",l.expiresIn);let y=new Date(Date.now()+l.expiresIn*1e3);try{await J(a,{...r,accessToken:l.accessToken,expiresAt:y.toISOString(),refreshToken:l.refreshToken})}catch{}return{token:l.accessToken,expiration:y}}catch{return v(c),c}},"fromSso");var u=w(T());var E=!1,D=o(async({ssoStartUrl:e,ssoSession:s,ssoAccountId:t,ssoRegion:n,ssoRoleName:i,ssoClient:a,clientConfig:p,parentClientConfig:S,callerClientConfig:d,profile:A,filepath:r,configFilepath:C,ignoreCache:O,logger:c})=>{let m,l="To refresh this SSO session run aws sso login with the corresponding profile.";if(s)try{let k=await P({profile:A,filepath:r,configFilepath:C,ignoreCache:O,clientConfig:p,parentClientConfig:S,logger:c})({callerClientConfig:d});m={accessToken:k.token,expiresAt:new Date(k.expiration).toISOString()}}catch(k){throw new u.CredentialsProviderError(k.message,{tryNextLink:E,logger:c})}else try{m=await(0,u.getSSOTokenFromFile)(e)}catch{throw new u.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${l}`,{tryNextLink:E,logger:c})}if(new Date(m.expiresAt).getTime()-Date.now()<=0)throw new u.CredentialsProviderError(`The SSO session associated with this profile has expired. ${l}`,{tryNextLink:E,logger:c});let{accessToken:y}=m,{SSOClient:_,GetRoleCredentialsCommand:I}=await import("./loadSso-AGOUE6RL.js"),B=a||new _(Object.assign({},p??{},{logger:p?.logger??d?.logger??S?.logger,region:p?.region??n,userAgentAppId:p?.userAgentAppId??d?.userAgentAppId??S?.userAgentAppId})),L;try{L=await B.send(new I({accountId:t,roleName:i,accessToken:y}))}catch(k){throw new u.CredentialsProviderError(k,{tryNextLink:E,logger:c})}let{roleCredentials:{accessKeyId:M,secretAccessKey:b,sessionToken:G,expiration:K,credentialScope:H,accountId:U}={}}=L;if(!M||!b||!G||!K)throw new u.CredentialsProviderError("SSO returns an invalid temporary credential.",{tryNextLink:E,logger:c});let N={accessKeyId:M,secretAccessKey:b,sessionToken:G,expiration:new Date(K),...H&&{credentialScope:H},...U&&{accountId:U}};return s?(0,F.setCredentialFeature)(N,"CREDENTIALS_SSO","s"):(0,F.setCredentialFeature)(N,"CREDENTIALS_SSO_LEGACY","u"),N},"resolveSSOCredentials");var Y=w(T());var $=o((e,s)=>{let{sso_start_url:t,sso_account_id:n,sso_region:i,sso_role_name:a}=e;if(!t||!n||!i||!a)throw new Y.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(e).join(", ")}
19
19
  Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`,{tryNextLink:!1,logger:s});return e},"validateSsoProfile");var se=o((e={})=>async({callerClientConfig:s}={})=>{e.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");let{ssoStartUrl:t,ssoAccountId:n,ssoRegion:i,ssoRoleName:a,ssoSession:p}=e,{ssoClient:S}=e,d=(0,g.getProfileName)({profile:e.profile??s?.profile});if(!t&&!n&&!i&&!a&&!p){let r=(await(0,g.parseKnownFiles)(e))[d];if(!r)throw new g.CredentialsProviderError(`Profile ${d} was not found.`,{logger:e.logger});if(!R(r))throw new g.CredentialsProviderError(`Profile ${d} is not configured with SSO credentials.`,{logger:e.logger});if(r?.sso_session){let _=(await(0,g.loadSsoSessionData)(e))[r.sso_session],I=` configurations in profile ${d} and sso-session ${r.sso_session}`;if(i&&i!==_.sso_region)throw new g.CredentialsProviderError("Conflicting SSO region"+I,{tryNextLink:!1,logger:e.logger});if(t&&t!==_.sso_start_url)throw new g.CredentialsProviderError("Conflicting SSO start_url"+I,{tryNextLink:!1,logger:e.logger});r.sso_region=_.sso_region,r.sso_start_url=_.sso_start_url}let{sso_start_url:C,sso_account_id:O,sso_region:c,sso_role_name:m,sso_session:l}=$(r,e.logger);return D({ssoStartUrl:C,ssoSession:l,ssoAccountId:O,ssoRegion:c,ssoRoleName:m,ssoClient:S,clientConfig:e.clientConfig,parentClientConfig:e.parentClientConfig,callerClientConfig:e.callerClientConfig,profile:d,filepath:e.filepath,configFilepath:e.configFilepath,ignoreCache:e.ignoreCache,logger:e.logger})}else{if(!t||!n||!i||!a)throw new g.CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"',{tryNextLink:!1,logger:e.logger});return D({ssoStartUrl:t,ssoSession:p,ssoAccountId:n,ssoRegion:i,ssoRoleName:a,ssoClient:S,clientConfig:e.clientConfig,parentClientConfig:e.parentClientConfig,callerClientConfig:e.callerClientConfig,profile:d,filepath:e.filepath,configFilepath:e.configFilepath,ignoreCache:e.ignoreCache,logger:e.logger})}},"fromSSO");export{R as a,$ as b,se as c};
@@ -15,4 +15,4 @@ import { dirname as __alchemyDirname } from 'node:path';
15
15
  const __alchemy_filename = __alchemyFileURLToPath(import.meta.url);
16
16
  const __alchemy_dirname = __alchemyDirname(__alchemy_filename);
17
17
 
18
- import{a as sr,c as Ne,cd as ge,ia as Be,ja as $e,la as le,lb as pr,ma as ce,mb as fe,mc as dr,na as N,pa as Qe,pc as Q,q as lr,rc as ur,sc as mr,tc as yr,uc as Ze,x as Ke,ya as cr,za as fr}from"./chunk-7XX6TY62.js";import{a as Cr}from"./chunk-FV7U6PVP.js";import{Bc as ar,Bf as t,Tc as ee,bb as se,bi as W,pj as u,rg as or}from"./chunk-ELPXQ32J.js";import{a as o,d as Pr,e as Fe,g as ir}from"./chunk-2MRHL4B2.js";var br=Pr((xr,He)=>{((x,v)=>{typeof define=="function"&&define.amd?define([],v):typeof He=="object"&&He.exports?He.exports=v():x.fuzzysort=v()})(xr,x=>{"use strict";var v=o((r,e)=>{if(!r||!e)return B;var i=R(r);me(e)||(e=M(e));var f=i.bitflags;return(f&e._bitflags)!==f?B:H(i,e)},"single"),g=o((r,e,i)=>{if(!r)return i?.all?Y(e,i):Ve;var f=R(r),p=f.bitflags,l=f.containsSpace,a=T(i?.threshold||0),y=i?.limit||Je,d=0,_=0,S=e.length;function X(ye){d<y?(Te.add(ye),++d):(++_,ye._score>Te.peek()._score&&Te.replaceTop(ye))}if(o(X,"push_result"),i?.key)for(var G=i.key,E=0;E<S;++E){var q=e[E],F=Re(q,G);if(F&&(me(F)||(F=M(F)),(p&F._bitflags)===p)){var C=H(f,F);C!==B&&(C._score<a||(C.obj=q,X(C)))}}else if(i?.keys){var ae=i.keys,K=ae.length;e:for(var E=0;E<S;++E){var q=e[E];{for(var O=0,w=0;w<K;++w){var G=ae[w],F=Re(q,G);if(!F){We[w]=Ie;continue}me(F)||(F=M(F)),We[w]=F,O|=F._bitflags}if((p&O)!==p)continue}if(l)for(let k=0;k<f.spaceSearches.length;k++)te[k]=J;for(var w=0;w<K;++w){if(F=We[w],F===Ie){xe[w]=Ie;continue}if(xe[w]=H(f,F,!1,l),xe[w]===B){xe[w]=Ie;continue}if(l)for(let L=0;L<f.spaceSearches.length;L++){if(ue[L]>-1e3&&te[L]>J){var $=(te[L]+ue[L])/4;$>te[L]&&(te[L]=$)}ue[L]>te[L]&&(te[L]=ue[L])}}if(l){for(let k=0;k<f.spaceSearches.length;k++)if(te[k]===J)continue e}else{var b=!1;for(let k=0;k<K;k++)if(xe[k]._score!==J){b=!0;break}if(!b)continue}var V=new h(K);for(let k=0;k<K;k++)V[k]=xe[k];if(l){var D=0;for(let k=0;k<f.spaceSearches.length;k++)D+=te[k]}else{var D=J;for(let L=0;L<K;L++){var C=V[L];if(C._score>-1e3&&D>J){var $=(D+C._score)/4;$>D&&(D=$)}C._score>D&&(D=C._score)}}if(V.obj=q,V._score=D,i?.scoreFn){if(D=i.scoreFn(V),!D)continue;D=T(D),V._score=D}D<a||X(V)}}else for(var E=0;E<S;++E){var F=e[E];if(F&&(me(F)||(F=M(F)),(p&F._bitflags)===p)){var C=H(f,F);C!==B&&(C._score<a||X(C))}}if(d===0)return Ve;for(var oe=new Array(d),E=d-1;E>=0;--E)oe[E]=Te.poll();return oe.total=d+_,oe},"go"),c=o((r,e="<b>",i="</b>")=>{for(var f=typeof e=="function"?e:void 0,p=r.target,l=p.length,a=r.indexes,y="",d=0,_=0,S=!1,X=[],G=0;G<l;++G){var E=p[G];if(a[_]===G){if(++_,S||(S=!0,f?(X.push(y),y=""):y+=e),_===a.length){f?(y+=E,X.push(f(y,d++)),y="",X.push(p.substr(G+1))):y+=E+i+p.substr(G+1);break}}else S&&(S=!1,f?(X.push(f(y,d++)),y=""):y+=i);y+=E}return f?X:y},"highlight"),m=o(r=>{typeof r=="number"?r=""+r:typeof r!="string"&&(r="");var e=he(r);return A(r,{_targetLower:e._lower,_targetLowerCodes:e.lowerCodes,_bitflags:e.bitflags})},"prepare"),s=o(()=>{Ue.clear(),Xe.clear()},"cleanup");class n{static{o(this,"Result")}get indexes(){return this._indexes.slice(0,this._indexes.len).sort((e,i)=>e-i)}set indexes(e){return this._indexes=e}highlight(e,i){return c(this,e,i)}get score(){return I(this._score)}set score(e){this._score=T(e)}}class h extends Array{static{o(this,"KeysResult")}get score(){return I(this._score)}set score(e){this._score=T(e)}}var A=o((r,e)=>{let i=new n;return i.target=r,i.obj=e.obj??B,i._score=e._score??J,i._indexes=e._indexes??[],i._targetLower=e._targetLower??"",i._targetLowerCodes=e._targetLowerCodes??B,i._nextBeginningIndexes=e._nextBeginningIndexes??B,i._bitflags=e._bitflags??0,i},"new_result"),I=o(r=>r===J?0:r>1?r:Math.E**(((-r+1)**.04307-1)*-2),"normalizeScore"),T=o(r=>r===0?J:r>1?r:1-Math.pow(Math.log(r)/-2+1,1/.04307),"denormalizeScore"),P=o(r=>{typeof r=="number"?r=""+r:typeof r!="string"&&(r=""),r=r.trim();var e=he(r),i=[];if(e.containsSpace){var f=r.split(/\s+/);f=[...new Set(f)];for(var p=0;p<f.length;p++)if(f[p]!==""){var l=he(f[p]);i.push({lowerCodes:l.lowerCodes,_lower:f[p].toLowerCase(),containsSpace:!1})}}return{lowerCodes:e.lowerCodes,_lower:e._lower,containsSpace:e.containsSpace,bitflags:e.bitflags,spaceSearches:i}},"prepareSearch"),M=o(r=>{if(r.length>999)return m(r);var e=Ue.get(r);return e!==void 0||(e=m(r),Ue.set(r,e)),e},"getPrepared"),R=o(r=>{if(r.length>999)return P(r);var e=Xe.get(r);return e!==void 0||(e=P(r),Xe.set(r,e)),e},"getPreparedSearch"),Y=o((r,e)=>{var i=[];i.total=r.length;var f=e?.limit||Je;if(e?.key)for(var p=0;p<r.length;p++){var l=r[p],a=Re(l,e.key);if(a!=B){me(a)||(a=M(a));var y=A(a.target,{_score:a._score,obj:l});if(i.push(y),i.length>=f)return i}}else if(e?.keys)for(var p=0;p<r.length;p++){for(var l=r[p],d=new h(e.keys.length),_=e.keys.length-1;_>=0;--_){var a=Re(l,e.keys[_]);if(!a){d[_]=Ie;continue}me(a)||(a=M(a)),a._score=J,a._indexes.len=0,d[_]=a}if(d.obj=l,d._score=J,i.push(d),i.length>=f)return i}else for(var p=0;p<r.length;p++){var a=r[p];if(a!=B&&(me(a)||(a=M(a)),a._score=J,a._indexes.len=0,i.push(a),i.length>=f))return i}return i},"all"),H=o((r,e,i=!1,f=!1)=>{if(i===!1&&r.containsSpace)return U(r,e,f);for(var p=r._lower,l=r.lowerCodes,a=l[0],y=e._targetLowerCodes,d=l.length,_=y.length,E=0,S=0,X=0;;){var G=a===y[S];if(G){if(re[X++]=S,++E,E===d)break;a=l[E]}if(++S,S>=_)return B}var E=0,q=!1,F=0,C=e._nextBeginningIndexes;C===B&&(C=e._nextBeginningIndexes=Ir(e.target)),S=re[0]===0?0:C[re[0]-1];var ae=0;if(S!==_)for(;;)if(S>=_){if(E<=0||(++ae,ae>200))break;--E;var K=Ae[--F];S=C[K]}else{var G=l[E]===y[S];if(G){if(Ae[F++]=S,++E,E===d){q=!0;break}++S}else S=C[S]}var O=d<=1?-1:e._targetLower.indexOf(p,re[0]),w=!!~O,$=w?O===0||e._nextBeginningIndexes[O-1]===O:!1;if(w&&!$){for(var b=0;b<C.length;b=C[b])if(!(b<=O)){for(var V=0;V<d&&l[V]===e._targetLowerCodes[b+V];V++);if(V===d){O=b,$=!0;break}}}var D=o(k=>{for(var L=0,nr=0,ne=1;ne<d;++ne)k[ne]-k[ne-1]!==1&&(L-=k[ne],++nr);var kr=k[d-1]-k[0]-(d-1);if(L-=(12+kr)*nr,k[0]!==0&&(L-=k[0]*k[0]*.2),!q)L*=1e3;else{for(var Ye=1,ne=C[0];ne<_;ne=C[ne])++Ye;Ye>24&&(L*=(Ye-24)*10)}return L-=(_-d)/2,w&&(L/=1+d*d*1),$&&(L/=1+d*d*1),L-=(_-d)/2,L},"calculateScore");if(q)if($){for(var b=0;b<d;++b)re[b]=O+b;var oe=re,ye=D(re)}else var oe=Ae,ye=D(Ae);else{if(w)for(var b=0;b<d;++b)re[b]=O+b;var oe=re,ye=D(oe)}e._score=ye;for(var b=0;b<d;++b)e._indexes[b]=oe[b];e._indexes.len=d;let De=new n;return De.target=e.target,De._score=e._score,De._indexes=e._indexes,De},"algorithm"),U=o((r,e,i)=>{for(var f=new Set,p=0,l=B,a=0,y=r.spaceSearches,d=y.length,_=0,S=o(()=>{for(let $=_-1;$>=0;$--)e._nextBeginningIndexes[Me[$*2+0]]=Me[$*2+1]},"resetNextBeginningIndexes"),X=!1,w=0;w<d;++w){ue[w]=J;var G=y[w];if(l=H(G,e),i){if(l===B)continue;X=!0}else if(l===B)return S(),B;var E=w===d-1;if(!E){var q=l._indexes,F=!0;for(let b=0;b<q.len-1;b++)if(q[b+1]-q[b]!==1){F=!1;break}if(F){var C=q[q.len-1]+1,ae=e._nextBeginningIndexes[C-1];for(let b=C-1;b>=0&&ae===e._nextBeginningIndexes[b];b--)e._nextBeginningIndexes[b]=C,Me[_*2+0]=b,Me[_*2+1]=ae,_++}}p+=l._score/d,ue[w]=l._score/d,l._indexes[0]<a&&(p-=(a-l._indexes[0])*2),a=l._indexes[0];for(var K=0;K<l._indexes.len;++K)f.add(l._indexes[K])}if(i&&!X)return B;S();var O=H(r,e,!0);if(O!==B&&O._score>p){if(i)for(var w=0;w<d;++w)ue[w]=O._score/d;return O}i&&(l=e),l._score=p;var w=0;for(let $ of f)l._indexes[w++]=$;return l._indexes.len=w,l},"algorithmSpaces"),j=o(r=>r.replace(new RegExp("\\p{Script=Latin}+","gu"),e=>e.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),"remove_accents"),he=o(r=>{r=j(r);for(var e=r.length,i=r.toLowerCase(),f=[],p=0,l=!1,a=0;a<e;++a){var y=f[a]=i.charCodeAt(a);if(y===32){l=!0;continue}var d=y>=97&&y<=122?y-97:y>=48&&y<=57?26:y<=127?30:31;p|=1<<d}return{lowerCodes:f,bitflags:p,containsSpace:l,_lower:i}},"prepareLowerInfo"),de=o(r=>{for(var e=r.length,i=[],f=0,p=!1,l=!1,a=0;a<e;++a){var y=r.charCodeAt(a),d=y>=65&&y<=90,_=d||y>=97&&y<=122||y>=48&&y<=57,S=d&&!p||!l||!_;p=d,l=_,S&&(i[f++]=a)}return i},"prepareBeginningIndexes"),Ir=o(r=>{r=j(r);for(var e=r.length,i=de(r),f=[],p=i[0],l=0,a=0;a<e;++a)p>a?f[a]=p:(p=i[++l],f[a]=p===void 0?e:p);return f},"prepareNextBeginningIndexes"),Ue=new Map,Xe=new Map,re=[],Ae=[],Me=[],te=[],ue=[],We=[],xe=[],Re=o((r,e)=>{var i=r[e];if(i!==void 0)return i;if(typeof e=="function")return e(r);var f=e;Array.isArray(e)||(f=e.split("."));for(var p=f.length,l=-1;r&&++l<p;)r=r[f[l]];return r},"getValue"),me=o(r=>typeof r=="object"&&typeof r._bitflags=="number","isPrepared"),Je=1/0,J=-Je,Ve=[];Ve.total=0;var B=null,Ie=m(""),Fr=o(r=>{var e=[],i=0,f={},p=o(l=>{for(var a=0,y=e[a],d=1;d<i;){var _=d+1;a=d,_<i&&e[_]._score<e[d]._score&&(a=_),e[a-1>>1]=e[a],d=1+(a<<1)}for(var S=a-1>>1;a>0&&y._score<e[S]._score;S=(a=S)-1>>1)e[a]=e[S];e[a]=y},"v");return f.add=(l=>{var a=i;e[i++]=l;for(var y=a-1>>1;a>0&&l._score<e[y]._score;y=(a=y)-1>>1)e[a]=e[y];e[a]=l}),f.poll=(l=>{if(i!==0){var a=e[0];return e[0]=e[--i],p(),a}}),f.peek=(l=>{if(i!==0)return e[0]}),f.replaceTop=(l=>{e[0]=l,p()}),f},"fastpriorityqueue"),Te=Fr();return{single:v,go:g,prepare:m,cleanup:s}})});var Se={};Fe(Se,{Error:()=>Ce,InvalidPatternError:()=>Le,Ripgrep:()=>Se,Service:()=>be,node:()=>Br});var Pe={};Fe(Pe,{Entry:()=>z,Event:()=>Lr,FileSystem:()=>Pe,FindInput:()=>ke,Match:()=>pe,Submatch:()=>ze});var gr=cr({type:"file.edited",schema:{file:u.String}}),Lr={Edited:gr,Definitions:fr(gr)},z=u.Struct({path:N,type:u.Literals(["file","directory"])}).annotate({identifier:"FileSystem.Entry"}),ze=u.Struct({text:u.String,start:ce,end:ce}).annotate({identifier:"FileSystem.Submatch"}),pe=u.Struct({entry:z,line:le,offset:ce,text:u.String,submatches:u.Array(ze)}).annotate({identifier:"FileSystem.Match"}),ke=class extends u.Class("FileSystem.FindInput")({query:u.String,type:u.Literals(["file","directory"]).pipe(Qe),limit:le.pipe(Qe)}){static{o(this,"FindInput")}};import je from"path";var vr=ir(Cr(),1);import Ar from"path";function Ge(x,v){let g=v?.PATH??v?.Path??process.env.PATH??process.env.Path??"",c=g?g+Ar.delimiter+fe.Path.bin:fe.Path.bin,m=vr.default.sync(x,{nothrow:!0,path:c,pathExt:v?.PATHEXT??v?.PathExt??process.env.PATHEXT??process.env.PathExt});return typeof m=="string"?m:null}o(Ge,"which");var Oe;(s=>{let x="15.1.0",v={"arm64-darwin":{platform:"aarch64-apple-darwin",extension:"tar.gz"},"arm64-linux":{platform:"aarch64-unknown-linux-gnu",extension:"tar.gz"},"x64-darwin":{platform:"x86_64-apple-darwin",extension:"tar.gz"},"x64-linux":{platform:"x86_64-unknown-linux-musl",extension:"tar.gz"},"arm64-win32":{platform:"aarch64-pc-windows-msvc",extension:"zip"},"ia32-win32":{platform:"i686-pc-windows-msvc",extension:"zip"},"x64-win32":{platform:"x86_64-pc-windows-msvc",extension:"zip"}};class g extends se.Service()("@opencode/RipgrepBinary"){static{o(this,"Service")}}s.Service=g;let c=ee.effect(g,t.gen(function*(){let n=yield*Q.Service,h=Ke.filterStatusOk(yield*Ke.HttpClient),A=yield*sr,I=t.fnUntraced(function*(P,M){let R=yield*A.spawn(Ne.make(P,M,{extendEnv:!0,stdin:"ignore"})),[Y,H,U]=yield*t.all([W.mkString(W.decodeText(R.stdout)),W.mkString(W.decodeText(R.stderr)),R.exitCode],{concurrency:"unbounded"});return{stdout:Y,stderr:H,code:U}},t.scoped),T=t.fnUntraced(function*(P,M,R){let Y=yield*n.makeTempDirectoryScoped({directory:fe.Path.bin,prefix:"ripgrep-"});if(M.extension==="zip"){let U=(yield*t.sync(()=>Ge("powershell.exe")??Ge("pwsh.exe")))??"powershell.exe",j=yield*I(U,["-NoProfile","-NonInteractive","-Command",`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -LiteralPath '${P.replaceAll("'","''")}' -DestinationPath '${Y.replaceAll("'","''")}' -Force`]);if(j.code!==0)throw new Error(j.stderr.trim()||j.stdout.trim()||`ripgrep extraction failed with code ${j.code}`)}if(M.extension==="tar.gz"){let U=yield*I("tar",["-xzf",P,"-C",Y]);if(U.code!==0)throw new Error(U.stderr.trim()||U.stdout.trim()||`ripgrep extraction failed with code ${U.code}`)}let H=je.join(Y,`ripgrep-${x}-${M.platform}`,process.platform==="win32"?"rg.exe":"rg");if(!(yield*n.isFile(H)))throw new Error(`ripgrep archive did not contain executable: ${H}`);yield*n.copyFile(H,R),process.platform!=="win32"&&(yield*n.chmod(R,493))},t.scoped);return g.of({filepath:yield*t.cached(t.gen(function*(){let P=yield*t.sync(()=>Ge(process.platform==="win32"?"rg.exe":"rg"));if(P&&(yield*n.isFile(P).pipe(t.orDie)))return P;let M=je.join(fe.Path.bin,`rg${process.platform==="win32"?".exe":""}`);if(yield*n.isFile(M).pipe(t.orDie))return M;let R=`${process.arch}-${process.platform}`,Y=v[R];if(!Y)throw new Error(`unsupported platform for ripgrep: ${R}`);let H=`ripgrep-${x}-${Y.platform}.${Y.extension}`,U=`https://github.com/BurntSushi/ripgrep/releases/download/${x}/${H}`,j=je.join(fe.Path.bin,H);yield*t.logInfo("downloading ripgrep",{url:U}),yield*n.ensureDir(fe.Path.bin).pipe(t.orDie);let he=yield*lr.get(U).pipe(h.execute,t.flatMap(de=>de.arrayBuffer),t.mapError(de=>de instanceof Error?de:new Error(String(de))));if(he.byteLength===0)throw new Error(`failed to download ripgrep from ${U}`);return yield*n.writeWithDirs(j,new Uint8Array(he)),yield*T(j,Y,M),yield*n.remove(j,{force:!0}).pipe(t.ignore),M}))})}));s.node=Be({service:g,layer:c,deps:[Q.node,dr,ur.node]})})(Oe||={});var Mr=8*1024,hr=64*1024,Rr=100,Tr=u.Struct({type:u.Literal("match"),data:u.Struct({path:u.Struct({text:u.String}),lines:u.Struct({text:u.String}),line_number:le,absolute_offset:ce,submatches:u.Array(u.Struct({match:u.Struct({text:u.String}),start:ce,end:ce}))})}),Ce=class extends u.TaggedErrorClass()("Ripgrep.Error",{message:u.String,cause:u.optional(u.Defect())}){static{o(this,"Error")}},Le=class extends u.TaggedErrorClass()("Ripgrep.InvalidPatternError",{pattern:u.String,message:u.String}){static{o(this,"InvalidPatternError")}},be=class extends se.Service()("@opencode/v2/Ripgrep"){static{o(this,"Service")}},ve=o((x,v)=>new Ce({message:x,cause:v}),"failure"),Dr=o(x=>x.includes("regex parse error")||x.includes("error parsing regex"),"isInvalidPattern"),Nr=ee.effect(be,t.gen(function*(){let x=yield*Ze.Service,v=yield*Oe.Service,g=o(c=>{let m=t.scoped(t.gen(function*(){let n=yield*x.spawn(Ne.make(yield*v.filepath,c.args,{cwd:c.cwd,extendEnv:!0,stdin:"ignore"})),h=yield*yr(n.stderr,Mr).pipe(t.map(R=>R.buffer.toString("utf8")),t.forkScoped),A=0,I=yield*W.decodeText(n.stdout).pipe(W.splitLines,W.filter(R=>R.length>0),W.mapEffect(c.parse),W.filter(R=>R!==void 0),W.tap(R=>!c.onItem||A++>=c.limit?t.void:c.onItem(R)),W.take(c.limit+1),W.runCollect,t.map(R=>[...R])),T=I.length>c.limit;if(T)return{items:I.slice(0,c.limit),truncated:T,partial:!1};let P=yield*n.exitCode,M=yield*or.join(h);return c.pattern&&P===2&&Dr(M)?yield*new Le({pattern:c.pattern,message:M.trim()}):P!==0&&P!==1&&P!==2?yield*ve(M.trim()||`ripgrep failed with code ${P}`):{items:P===1?[]:I,truncated:!1,partial:P===2}}));return(c.signal?m.pipe(t.raceFirst(mr(c.signal))):m).pipe(t.mapError(n=>n instanceof Ce||n instanceof Le?n:ve("ripgrep execution failed",n)))},"run");return be.of({glob:o(c=>g({cwd:c.cwd,limit:c.limit,signal:c.signal,args:["--no-config","--files",...c.hidden?["--hidden"]:[],...c.follow?["--follow"]:[],`--glob=${c.pattern}`,"--glob=!**/.git/**","."],parse:o(m=>t.succeed(m.replace(/^(?:\.[\\/])+/u,"").replace(/^[\\/]+/u,"").replaceAll("\\","/")),"parse")}).pipe(t.map(m=>m.items.map(s=>z.make({path:N.make(s),type:"file"}))),t.catchTag("Ripgrep.InvalidPatternError",m=>t.fail(ve(m.message,m)))),"glob"),find:o(c=>g({cwd:c.cwd,limit:c.limit,signal:c.signal,args:["--no-config","--files",...c.hidden?["--hidden"]:[],...c.follow?["--follow"]:[],...c.pattern==="*"?[]:[`--glob=${c.pattern}`],"--glob=!**/.git/**","."],parse:o(m=>{let s=m.replace(/^(?:\.[\\/])+/u,"").replace(/^[\\/]+/u,"").replaceAll("\\","/");return t.succeed(z.make({path:N.make(s),type:"file"}))},"parse"),onItem:c.onEntry}).pipe(t.map(m=>m.items),t.catchTag("Ripgrep.InvalidPatternError",m=>t.fail(ve(m.message,m)))),"find"),grep:o(c=>g({...c,args:["--no-config","--json","--hidden","--no-messages",...c.include?[`--glob=${c.include}`]:[],"--glob=!**/.git/**","--",c.pattern,c.file??"."],parse:o(m=>(Buffer.byteLength(m,"utf8")>hr?t.fail(ve(`Ripgrep JSON record exceeded ${hr} bytes`)):t.try({try:o(()=>JSON.parse(m),"try"),catch:o(s=>ve("Invalid ripgrep JSON output",s),"catch")})).pipe(t.flatMap(s=>!s||typeof s!="object"||!("type"in s)||s.type!=="match"?t.succeed(void 0):u.decodeUnknownEffect(Tr)(s).pipe(t.map(n=>({...n.data,path:{text:n.data.path.text.replace(/^\.[\\/]/,"")},submatches:n.data.submatches.slice(0,Rr)})),t.mapError(n=>ve("Invalid ripgrep match output",n))))),"parse")}).pipe(t.map(m=>m.items.map(s=>{let n=s.path.text.replace(/^(?:\.[\\/])+/u,"").replace(/^[\\/]+/u,"").replaceAll("\\","/");return pe.make({entry:z.make({path:N.make(n),type:"file"}),line:s.line_number,offset:s.absolute_offset,text:s.lines.text.length>2e3?s.lines.text.slice(0,2e3).replace(/[\uD800-\uDBFF]$/,"")+"...":s.lines.text,submatches:s.submatches.map(h=>({text:h.match.text,start:h.start,end:h.end}))})}))),"grep")})})),Br=Be({service:be,layer:Nr,deps:[Oe.node,Ze.node]});var tr={};Fe(tr,{Content:()=>qr,Entry:()=>z,Event:()=>Xr,FileSystem:()=>tr,FindInput:()=>ke,GlobInput:()=>er,GrepInput:()=>rr,ListInput:()=>Ur,Match:()=>pe,ReadInput:()=>Hr,Service:()=>Ee,Submatch:()=>ze,node:()=>Jr});import qe from"path";var _e={};Fe(_e,{FileSystemSearch:()=>_e,Service:()=>ie,fffLayer:()=>_r,locationLayer:()=>Gr,node:()=>Or,ripgrepLayer:()=>wr});import Z from"path";var we={};Fe(we,{Fff:()=>we,available:()=>$r,create:()=>zr});function $r(){return!1}o($r,"available");function zr(x){return{ok:!1,error:"fff unavailable on node runtime"}}o(zr,"create");var Sr=ir(br(),1);var ie=class extends se.Service()("@opencode/v2/FileSystem/Search"){static{o(this,"Service")}},wr=ee.effect(ie,t.gen(function*(){let x=yield*Q.Service,v=yield*ge.Service,g=yield*Se.Service,c=yield*ar.Scope,m={files:[],directories:[]},s=new Set;return yield*g.find({cwd:v.directory,pattern:"*",limit:v.vcs?Number.MAX_SAFE_INTEGER:1e5,onEntry:o(n=>t.sync(()=>{m.files.push(n.path);let h=n.path.split("/");h.slice(0,-1).forEach((A,I)=>s.add(h.slice(0,I+1).join("/")+Z.sep)),m.directories=Array.from(s)}),"onEntry")}).pipe(t.orDie,t.asVoid,t.forkIn(c)),ie.of({glob:o(n=>t.gen(function*(){let h=Z.resolve(v.directory,n.path??"."),I=(yield*x.stat(h).pipe(t.orDie)).type==="File"?Z.dirname(h):h;return yield*g.glob({cwd:I,pattern:n.pattern,limit:n.limit??Number.MAX_SAFE_INTEGER}).pipe(t.map(T=>T.map(P=>z.make({...P,path:N.make(Z.relative(v.directory,Z.resolve(I,P.path)))}))),t.orDie)}),"glob"),grep:o(n=>t.gen(function*(){let h=Z.resolve(v.directory,n.path??"."),A=yield*x.stat(h).pipe(t.orDie),I=A.type==="File"?Z.dirname(h):h;return yield*g.grep({cwd:I,pattern:n.pattern,file:A.type==="File"?Z.basename(h):void 0,include:n.include,limit:n.limit??Number.MAX_SAFE_INTEGER}).pipe(t.map(T=>T.map(P=>pe.make({...P,entry:z.make({...P.entry,path:N.make(Z.relative(v.directory,Z.resolve(I,P.entry.path)))})}))),t.orDie)}),"grep"),find:o(n=>t.gen(function*(){let h=n.type==="file"?m.files:n.type==="directory"?m.directories:[...m.files,...m.directories];return Sr.default.go(n.query,h,{limit:n.limit??50}).map(A=>{let I=A.target,T=I.endsWith(Z.sep)?"directory":"file";return z.make({path:N.make(I),type:T})})}),"find")})})),_r=ee.effect(ie,t.gen(function*(){let x=yield*ge.Service,v=yield*t.try({try:o(()=>we.create({basePath:x.directory,aiMode:!0,disableMmapCache:!0,disableContentIndexing:!0}),"try"),catch:o(g=>g,"catch")}).pipe(t.catch(g=>t.logWarning("failed to initialize fff",{error:g}).pipe(t.as(void 0))));return v?.ok?(yield*t.addFinalizer(()=>t.sync(()=>v.value.destroy()).pipe(t.ignore)),ie.of({glob:o(g=>t.sync(()=>{let c=g.path?.replaceAll("\\","/").replace(/\/$/,""),m=v.value.glob(c?`${c}/${g.pattern}`:g.pattern,{pageIndex:0,pageSize:g.limit});if(!m.ok)throw m.error;return m.value.items.map(s=>z.make({path:N.make(s.relativePath.replaceAll("\\","/")),type:"file"}))}),"glob"),grep:o(g=>t.sync(()=>{let c=g.path?.replaceAll("\\","/").replace(/\/$/,""),m=v.value.grep([c?`${c}/**`:void 0,g.include,g.pattern].filter(s=>s!==void 0).join(" "),{mode:"regex",pageSize:g.limit,timeBudgetMs:1500});if(!m.ok)throw m.error;return m.value.items.map(s=>{let n=Buffer.from(s.lineContent);return pe.make({entry:z.make({path:N.make(s.relativePath.replaceAll("\\","/")),type:"file"}),line:s.lineNumber,offset:s.byteOffset,text:s.lineContent.length>2e3?s.lineContent.slice(0,2e3)+"...":s.lineContent,submatches:s.matchRanges.map(([h,A])=>({text:n.subarray(h,A).toString("utf8"),start:h,end:A}))})})}),"grep"),find:o(g=>t.sync(()=>{let c={pageIndex:0,pageSize:g.limit??50};return(()=>{if(g.type==="file"){let n=v.value.fileSearch(g.query.trim(),c);if(!n.ok)throw n.error;return n.value.items.map((h,A)=>({path:h.relativePath,type:"file",score:n.value.scores[A]?.total??0}))}if(g.type==="directory"){let n=v.value.directorySearch(g.query.trim(),c);if(!n.ok)throw n.error;return n.value.items.map((h,A)=>({path:h.relativePath,type:"directory",score:n.value.scores[A]?.total??0}))}let s=v.value.mixedSearch(g.query.trim(),c);if(!s.ok)throw s.error;return s.value.items.map((n,h)=>({path:n.item.relativePath,type:n.type,score:s.value.scores[h]?.total??0}))})().sort((s,n)=>n.score-s.score||s.path.length-n.path.length).map(s=>{let n=s.path.replaceAll("\\","/").replace(/\/$/,"");return z.make({path:N.make(n+(s.type==="directory"?Z.sep:"")),type:s.type})})}),"find")})):(v&&(yield*t.logWarning("failed to initialize fff",{error:v.error})),ie.of({find:o(()=>t.succeed([]),"find"),glob:o(()=>t.succeed([]),"glob"),grep:o(()=>t.succeed([]),"grep")}))})),Er=ee.unwrap(t.sync(()=>pr.OPENCODE_DISABLE_FFF||!we.available()?wr:_r)),Gr=Er,Or=$e({service:ie,layer:Er,deps:[Q.node,ge.node,Se.node]});var Hr=u.Struct({path:N}),qr=u.Struct({uri:u.String,name:u.String.pipe(u.optional),content:u.String,encoding:u.Literals(["utf8","base64"]),mime:u.String}).annotate({identifier:"FileSystem.Content"}),Ur=u.Struct({path:N.pipe(u.optional)});var er=class extends u.Class("FileSystem.GlobInput")({pattern:u.String,path:N.pipe(u.optional),limit:le.pipe(u.optional)}){static{o(this,"GlobInput")}},rr=class extends u.Class("FileSystem.GrepInput")({pattern:u.String,path:N.pipe(u.optional),include:u.String.pipe(u.optional),limit:le.pipe(u.optional)}){static{o(this,"GrepInput")}},Xr=Pe.Event,Ee=class extends se.Service()("@opencode/v2/FileSystem"){static{o(this,"Service")}},Wr=ee.effect(Ee,t.gen(function*(){let x=yield*Q.Service,v=yield*ge.Service,g=yield*_e.Service,c=yield*x.realPath(v.directory).pipe(t.orDie),m=t.fnUntraced(function*(s){let n=qe.resolve(v.directory,s??".");if(!Q.contains(v.directory,n))return yield*t.die(new Error("Path escapes the location"));let h=yield*x.realPath(n).pipe(t.orDie);return Q.contains(c,h)?{absolute:n,real:h,directory:v.directory,root:c}:yield*t.die(new Error("Path escapes the location"))});return Ee.of({find:g.find,glob:g.glob,grep:g.grep,read:t.fn("FileSystem.read")(function*(s){let n=yield*m(s.path);return(yield*x.stat(n.real).pipe(t.orDie)).type!=="File"?yield*t.die(new Error("Path is not a file")):{content:yield*x.readFile(n.real).pipe(t.orDie),mime:Q.mimeType(n.real)}}),list:t.fn("FileSystem.list")(function*(s={}){let n=yield*m(s.path);return(yield*x.stat(n.real).pipe(t.orDie)).type!=="Directory"?yield*t.die(new Error("Path is not a directory")):yield*x.readDirectoryEntries(n.real).pipe(t.orDie,t.map(A=>A.flatMap(I=>{if(I.type!=="file"&&I.type!=="directory")return[];let T=qe.join(n.absolute,I.name),P=qe.relative(n.directory,T);return[z.make({path:N.make(P+(I.type==="directory"?qe.sep:"")),type:I.type})]}).sort((I,T)=>I.type===T.type?I.path.localeCompare(T.path):I.type==="directory"?-1:1)))})})})),Jr=$e({service:Ee,layer:Wr,deps:[Q.node,ge.node,_e.node]});export{br as a,Pe as b,Ge as c,Se as d,_e as e,tr as f};
18
+ import{a as sr,c as Ne,cd as ge,ia as Be,ja as $e,la as le,lb as pr,ma as ce,mb as fe,mc as dr,na as N,pa as Qe,pc as Q,q as lr,rc as ur,sc as mr,tc as yr,uc as Ze,x as Ke,ya as cr,za as fr}from"./chunk-YDNJZVRR.js";import{a as Cr}from"./chunk-FV7U6PVP.js";import{Bc as ar,Bf as t,Tc as ee,bb as se,bi as W,pj as u,rg as or}from"./chunk-ELPXQ32J.js";import{a as o,d as Pr,e as Fe,g as ir}from"./chunk-2MRHL4B2.js";var br=Pr((xr,He)=>{((x,v)=>{typeof define=="function"&&define.amd?define([],v):typeof He=="object"&&He.exports?He.exports=v():x.fuzzysort=v()})(xr,x=>{"use strict";var v=o((r,e)=>{if(!r||!e)return B;var i=R(r);me(e)||(e=M(e));var f=i.bitflags;return(f&e._bitflags)!==f?B:H(i,e)},"single"),g=o((r,e,i)=>{if(!r)return i?.all?Y(e,i):Ve;var f=R(r),p=f.bitflags,l=f.containsSpace,a=T(i?.threshold||0),y=i?.limit||Je,d=0,_=0,S=e.length;function X(ye){d<y?(Te.add(ye),++d):(++_,ye._score>Te.peek()._score&&Te.replaceTop(ye))}if(o(X,"push_result"),i?.key)for(var G=i.key,E=0;E<S;++E){var q=e[E],F=Re(q,G);if(F&&(me(F)||(F=M(F)),(p&F._bitflags)===p)){var C=H(f,F);C!==B&&(C._score<a||(C.obj=q,X(C)))}}else if(i?.keys){var ae=i.keys,K=ae.length;e:for(var E=0;E<S;++E){var q=e[E];{for(var O=0,w=0;w<K;++w){var G=ae[w],F=Re(q,G);if(!F){We[w]=Ie;continue}me(F)||(F=M(F)),We[w]=F,O|=F._bitflags}if((p&O)!==p)continue}if(l)for(let k=0;k<f.spaceSearches.length;k++)te[k]=J;for(var w=0;w<K;++w){if(F=We[w],F===Ie){xe[w]=Ie;continue}if(xe[w]=H(f,F,!1,l),xe[w]===B){xe[w]=Ie;continue}if(l)for(let L=0;L<f.spaceSearches.length;L++){if(ue[L]>-1e3&&te[L]>J){var $=(te[L]+ue[L])/4;$>te[L]&&(te[L]=$)}ue[L]>te[L]&&(te[L]=ue[L])}}if(l){for(let k=0;k<f.spaceSearches.length;k++)if(te[k]===J)continue e}else{var b=!1;for(let k=0;k<K;k++)if(xe[k]._score!==J){b=!0;break}if(!b)continue}var V=new h(K);for(let k=0;k<K;k++)V[k]=xe[k];if(l){var D=0;for(let k=0;k<f.spaceSearches.length;k++)D+=te[k]}else{var D=J;for(let L=0;L<K;L++){var C=V[L];if(C._score>-1e3&&D>J){var $=(D+C._score)/4;$>D&&(D=$)}C._score>D&&(D=C._score)}}if(V.obj=q,V._score=D,i?.scoreFn){if(D=i.scoreFn(V),!D)continue;D=T(D),V._score=D}D<a||X(V)}}else for(var E=0;E<S;++E){var F=e[E];if(F&&(me(F)||(F=M(F)),(p&F._bitflags)===p)){var C=H(f,F);C!==B&&(C._score<a||X(C))}}if(d===0)return Ve;for(var oe=new Array(d),E=d-1;E>=0;--E)oe[E]=Te.poll();return oe.total=d+_,oe},"go"),c=o((r,e="<b>",i="</b>")=>{for(var f=typeof e=="function"?e:void 0,p=r.target,l=p.length,a=r.indexes,y="",d=0,_=0,S=!1,X=[],G=0;G<l;++G){var E=p[G];if(a[_]===G){if(++_,S||(S=!0,f?(X.push(y),y=""):y+=e),_===a.length){f?(y+=E,X.push(f(y,d++)),y="",X.push(p.substr(G+1))):y+=E+i+p.substr(G+1);break}}else S&&(S=!1,f?(X.push(f(y,d++)),y=""):y+=i);y+=E}return f?X:y},"highlight"),m=o(r=>{typeof r=="number"?r=""+r:typeof r!="string"&&(r="");var e=he(r);return A(r,{_targetLower:e._lower,_targetLowerCodes:e.lowerCodes,_bitflags:e.bitflags})},"prepare"),s=o(()=>{Ue.clear(),Xe.clear()},"cleanup");class n{static{o(this,"Result")}get indexes(){return this._indexes.slice(0,this._indexes.len).sort((e,i)=>e-i)}set indexes(e){return this._indexes=e}highlight(e,i){return c(this,e,i)}get score(){return I(this._score)}set score(e){this._score=T(e)}}class h extends Array{static{o(this,"KeysResult")}get score(){return I(this._score)}set score(e){this._score=T(e)}}var A=o((r,e)=>{let i=new n;return i.target=r,i.obj=e.obj??B,i._score=e._score??J,i._indexes=e._indexes??[],i._targetLower=e._targetLower??"",i._targetLowerCodes=e._targetLowerCodes??B,i._nextBeginningIndexes=e._nextBeginningIndexes??B,i._bitflags=e._bitflags??0,i},"new_result"),I=o(r=>r===J?0:r>1?r:Math.E**(((-r+1)**.04307-1)*-2),"normalizeScore"),T=o(r=>r===0?J:r>1?r:1-Math.pow(Math.log(r)/-2+1,1/.04307),"denormalizeScore"),P=o(r=>{typeof r=="number"?r=""+r:typeof r!="string"&&(r=""),r=r.trim();var e=he(r),i=[];if(e.containsSpace){var f=r.split(/\s+/);f=[...new Set(f)];for(var p=0;p<f.length;p++)if(f[p]!==""){var l=he(f[p]);i.push({lowerCodes:l.lowerCodes,_lower:f[p].toLowerCase(),containsSpace:!1})}}return{lowerCodes:e.lowerCodes,_lower:e._lower,containsSpace:e.containsSpace,bitflags:e.bitflags,spaceSearches:i}},"prepareSearch"),M=o(r=>{if(r.length>999)return m(r);var e=Ue.get(r);return e!==void 0||(e=m(r),Ue.set(r,e)),e},"getPrepared"),R=o(r=>{if(r.length>999)return P(r);var e=Xe.get(r);return e!==void 0||(e=P(r),Xe.set(r,e)),e},"getPreparedSearch"),Y=o((r,e)=>{var i=[];i.total=r.length;var f=e?.limit||Je;if(e?.key)for(var p=0;p<r.length;p++){var l=r[p],a=Re(l,e.key);if(a!=B){me(a)||(a=M(a));var y=A(a.target,{_score:a._score,obj:l});if(i.push(y),i.length>=f)return i}}else if(e?.keys)for(var p=0;p<r.length;p++){for(var l=r[p],d=new h(e.keys.length),_=e.keys.length-1;_>=0;--_){var a=Re(l,e.keys[_]);if(!a){d[_]=Ie;continue}me(a)||(a=M(a)),a._score=J,a._indexes.len=0,d[_]=a}if(d.obj=l,d._score=J,i.push(d),i.length>=f)return i}else for(var p=0;p<r.length;p++){var a=r[p];if(a!=B&&(me(a)||(a=M(a)),a._score=J,a._indexes.len=0,i.push(a),i.length>=f))return i}return i},"all"),H=o((r,e,i=!1,f=!1)=>{if(i===!1&&r.containsSpace)return U(r,e,f);for(var p=r._lower,l=r.lowerCodes,a=l[0],y=e._targetLowerCodes,d=l.length,_=y.length,E=0,S=0,X=0;;){var G=a===y[S];if(G){if(re[X++]=S,++E,E===d)break;a=l[E]}if(++S,S>=_)return B}var E=0,q=!1,F=0,C=e._nextBeginningIndexes;C===B&&(C=e._nextBeginningIndexes=Ir(e.target)),S=re[0]===0?0:C[re[0]-1];var ae=0;if(S!==_)for(;;)if(S>=_){if(E<=0||(++ae,ae>200))break;--E;var K=Ae[--F];S=C[K]}else{var G=l[E]===y[S];if(G){if(Ae[F++]=S,++E,E===d){q=!0;break}++S}else S=C[S]}var O=d<=1?-1:e._targetLower.indexOf(p,re[0]),w=!!~O,$=w?O===0||e._nextBeginningIndexes[O-1]===O:!1;if(w&&!$){for(var b=0;b<C.length;b=C[b])if(!(b<=O)){for(var V=0;V<d&&l[V]===e._targetLowerCodes[b+V];V++);if(V===d){O=b,$=!0;break}}}var D=o(k=>{for(var L=0,nr=0,ne=1;ne<d;++ne)k[ne]-k[ne-1]!==1&&(L-=k[ne],++nr);var kr=k[d-1]-k[0]-(d-1);if(L-=(12+kr)*nr,k[0]!==0&&(L-=k[0]*k[0]*.2),!q)L*=1e3;else{for(var Ye=1,ne=C[0];ne<_;ne=C[ne])++Ye;Ye>24&&(L*=(Ye-24)*10)}return L-=(_-d)/2,w&&(L/=1+d*d*1),$&&(L/=1+d*d*1),L-=(_-d)/2,L},"calculateScore");if(q)if($){for(var b=0;b<d;++b)re[b]=O+b;var oe=re,ye=D(re)}else var oe=Ae,ye=D(Ae);else{if(w)for(var b=0;b<d;++b)re[b]=O+b;var oe=re,ye=D(oe)}e._score=ye;for(var b=0;b<d;++b)e._indexes[b]=oe[b];e._indexes.len=d;let De=new n;return De.target=e.target,De._score=e._score,De._indexes=e._indexes,De},"algorithm"),U=o((r,e,i)=>{for(var f=new Set,p=0,l=B,a=0,y=r.spaceSearches,d=y.length,_=0,S=o(()=>{for(let $=_-1;$>=0;$--)e._nextBeginningIndexes[Me[$*2+0]]=Me[$*2+1]},"resetNextBeginningIndexes"),X=!1,w=0;w<d;++w){ue[w]=J;var G=y[w];if(l=H(G,e),i){if(l===B)continue;X=!0}else if(l===B)return S(),B;var E=w===d-1;if(!E){var q=l._indexes,F=!0;for(let b=0;b<q.len-1;b++)if(q[b+1]-q[b]!==1){F=!1;break}if(F){var C=q[q.len-1]+1,ae=e._nextBeginningIndexes[C-1];for(let b=C-1;b>=0&&ae===e._nextBeginningIndexes[b];b--)e._nextBeginningIndexes[b]=C,Me[_*2+0]=b,Me[_*2+1]=ae,_++}}p+=l._score/d,ue[w]=l._score/d,l._indexes[0]<a&&(p-=(a-l._indexes[0])*2),a=l._indexes[0];for(var K=0;K<l._indexes.len;++K)f.add(l._indexes[K])}if(i&&!X)return B;S();var O=H(r,e,!0);if(O!==B&&O._score>p){if(i)for(var w=0;w<d;++w)ue[w]=O._score/d;return O}i&&(l=e),l._score=p;var w=0;for(let $ of f)l._indexes[w++]=$;return l._indexes.len=w,l},"algorithmSpaces"),j=o(r=>r.replace(new RegExp("\\p{Script=Latin}+","gu"),e=>e.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),"remove_accents"),he=o(r=>{r=j(r);for(var e=r.length,i=r.toLowerCase(),f=[],p=0,l=!1,a=0;a<e;++a){var y=f[a]=i.charCodeAt(a);if(y===32){l=!0;continue}var d=y>=97&&y<=122?y-97:y>=48&&y<=57?26:y<=127?30:31;p|=1<<d}return{lowerCodes:f,bitflags:p,containsSpace:l,_lower:i}},"prepareLowerInfo"),de=o(r=>{for(var e=r.length,i=[],f=0,p=!1,l=!1,a=0;a<e;++a){var y=r.charCodeAt(a),d=y>=65&&y<=90,_=d||y>=97&&y<=122||y>=48&&y<=57,S=d&&!p||!l||!_;p=d,l=_,S&&(i[f++]=a)}return i},"prepareBeginningIndexes"),Ir=o(r=>{r=j(r);for(var e=r.length,i=de(r),f=[],p=i[0],l=0,a=0;a<e;++a)p>a?f[a]=p:(p=i[++l],f[a]=p===void 0?e:p);return f},"prepareNextBeginningIndexes"),Ue=new Map,Xe=new Map,re=[],Ae=[],Me=[],te=[],ue=[],We=[],xe=[],Re=o((r,e)=>{var i=r[e];if(i!==void 0)return i;if(typeof e=="function")return e(r);var f=e;Array.isArray(e)||(f=e.split("."));for(var p=f.length,l=-1;r&&++l<p;)r=r[f[l]];return r},"getValue"),me=o(r=>typeof r=="object"&&typeof r._bitflags=="number","isPrepared"),Je=1/0,J=-Je,Ve=[];Ve.total=0;var B=null,Ie=m(""),Fr=o(r=>{var e=[],i=0,f={},p=o(l=>{for(var a=0,y=e[a],d=1;d<i;){var _=d+1;a=d,_<i&&e[_]._score<e[d]._score&&(a=_),e[a-1>>1]=e[a],d=1+(a<<1)}for(var S=a-1>>1;a>0&&y._score<e[S]._score;S=(a=S)-1>>1)e[a]=e[S];e[a]=y},"v");return f.add=(l=>{var a=i;e[i++]=l;for(var y=a-1>>1;a>0&&l._score<e[y]._score;y=(a=y)-1>>1)e[a]=e[y];e[a]=l}),f.poll=(l=>{if(i!==0){var a=e[0];return e[0]=e[--i],p(),a}}),f.peek=(l=>{if(i!==0)return e[0]}),f.replaceTop=(l=>{e[0]=l,p()}),f},"fastpriorityqueue"),Te=Fr();return{single:v,go:g,prepare:m,cleanup:s}})});var Se={};Fe(Se,{Error:()=>Ce,InvalidPatternError:()=>Le,Ripgrep:()=>Se,Service:()=>be,node:()=>Br});var Pe={};Fe(Pe,{Entry:()=>z,Event:()=>Lr,FileSystem:()=>Pe,FindInput:()=>ke,Match:()=>pe,Submatch:()=>ze});var gr=cr({type:"file.edited",schema:{file:u.String}}),Lr={Edited:gr,Definitions:fr(gr)},z=u.Struct({path:N,type:u.Literals(["file","directory"])}).annotate({identifier:"FileSystem.Entry"}),ze=u.Struct({text:u.String,start:ce,end:ce}).annotate({identifier:"FileSystem.Submatch"}),pe=u.Struct({entry:z,line:le,offset:ce,text:u.String,submatches:u.Array(ze)}).annotate({identifier:"FileSystem.Match"}),ke=class extends u.Class("FileSystem.FindInput")({query:u.String,type:u.Literals(["file","directory"]).pipe(Qe),limit:le.pipe(Qe)}){static{o(this,"FindInput")}};import je from"path";var vr=ir(Cr(),1);import Ar from"path";function Ge(x,v){let g=v?.PATH??v?.Path??process.env.PATH??process.env.Path??"",c=g?g+Ar.delimiter+fe.Path.bin:fe.Path.bin,m=vr.default.sync(x,{nothrow:!0,path:c,pathExt:v?.PATHEXT??v?.PathExt??process.env.PATHEXT??process.env.PathExt});return typeof m=="string"?m:null}o(Ge,"which");var Oe;(s=>{let x="15.1.0",v={"arm64-darwin":{platform:"aarch64-apple-darwin",extension:"tar.gz"},"arm64-linux":{platform:"aarch64-unknown-linux-gnu",extension:"tar.gz"},"x64-darwin":{platform:"x86_64-apple-darwin",extension:"tar.gz"},"x64-linux":{platform:"x86_64-unknown-linux-musl",extension:"tar.gz"},"arm64-win32":{platform:"aarch64-pc-windows-msvc",extension:"zip"},"ia32-win32":{platform:"i686-pc-windows-msvc",extension:"zip"},"x64-win32":{platform:"x86_64-pc-windows-msvc",extension:"zip"}};class g extends se.Service()("@opencode/RipgrepBinary"){static{o(this,"Service")}}s.Service=g;let c=ee.effect(g,t.gen(function*(){let n=yield*Q.Service,h=Ke.filterStatusOk(yield*Ke.HttpClient),A=yield*sr,I=t.fnUntraced(function*(P,M){let R=yield*A.spawn(Ne.make(P,M,{extendEnv:!0,stdin:"ignore"})),[Y,H,U]=yield*t.all([W.mkString(W.decodeText(R.stdout)),W.mkString(W.decodeText(R.stderr)),R.exitCode],{concurrency:"unbounded"});return{stdout:Y,stderr:H,code:U}},t.scoped),T=t.fnUntraced(function*(P,M,R){let Y=yield*n.makeTempDirectoryScoped({directory:fe.Path.bin,prefix:"ripgrep-"});if(M.extension==="zip"){let U=(yield*t.sync(()=>Ge("powershell.exe")??Ge("pwsh.exe")))??"powershell.exe",j=yield*I(U,["-NoProfile","-NonInteractive","-Command",`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -LiteralPath '${P.replaceAll("'","''")}' -DestinationPath '${Y.replaceAll("'","''")}' -Force`]);if(j.code!==0)throw new Error(j.stderr.trim()||j.stdout.trim()||`ripgrep extraction failed with code ${j.code}`)}if(M.extension==="tar.gz"){let U=yield*I("tar",["-xzf",P,"-C",Y]);if(U.code!==0)throw new Error(U.stderr.trim()||U.stdout.trim()||`ripgrep extraction failed with code ${U.code}`)}let H=je.join(Y,`ripgrep-${x}-${M.platform}`,process.platform==="win32"?"rg.exe":"rg");if(!(yield*n.isFile(H)))throw new Error(`ripgrep archive did not contain executable: ${H}`);yield*n.copyFile(H,R),process.platform!=="win32"&&(yield*n.chmod(R,493))},t.scoped);return g.of({filepath:yield*t.cached(t.gen(function*(){let P=yield*t.sync(()=>Ge(process.platform==="win32"?"rg.exe":"rg"));if(P&&(yield*n.isFile(P).pipe(t.orDie)))return P;let M=je.join(fe.Path.bin,`rg${process.platform==="win32"?".exe":""}`);if(yield*n.isFile(M).pipe(t.orDie))return M;let R=`${process.arch}-${process.platform}`,Y=v[R];if(!Y)throw new Error(`unsupported platform for ripgrep: ${R}`);let H=`ripgrep-${x}-${Y.platform}.${Y.extension}`,U=`https://github.com/BurntSushi/ripgrep/releases/download/${x}/${H}`,j=je.join(fe.Path.bin,H);yield*t.logInfo("downloading ripgrep",{url:U}),yield*n.ensureDir(fe.Path.bin).pipe(t.orDie);let he=yield*lr.get(U).pipe(h.execute,t.flatMap(de=>de.arrayBuffer),t.mapError(de=>de instanceof Error?de:new Error(String(de))));if(he.byteLength===0)throw new Error(`failed to download ripgrep from ${U}`);return yield*n.writeWithDirs(j,new Uint8Array(he)),yield*T(j,Y,M),yield*n.remove(j,{force:!0}).pipe(t.ignore),M}))})}));s.node=Be({service:g,layer:c,deps:[Q.node,dr,ur.node]})})(Oe||={});var Mr=8*1024,hr=64*1024,Rr=100,Tr=u.Struct({type:u.Literal("match"),data:u.Struct({path:u.Struct({text:u.String}),lines:u.Struct({text:u.String}),line_number:le,absolute_offset:ce,submatches:u.Array(u.Struct({match:u.Struct({text:u.String}),start:ce,end:ce}))})}),Ce=class extends u.TaggedErrorClass()("Ripgrep.Error",{message:u.String,cause:u.optional(u.Defect())}){static{o(this,"Error")}},Le=class extends u.TaggedErrorClass()("Ripgrep.InvalidPatternError",{pattern:u.String,message:u.String}){static{o(this,"InvalidPatternError")}},be=class extends se.Service()("@opencode/v2/Ripgrep"){static{o(this,"Service")}},ve=o((x,v)=>new Ce({message:x,cause:v}),"failure"),Dr=o(x=>x.includes("regex parse error")||x.includes("error parsing regex"),"isInvalidPattern"),Nr=ee.effect(be,t.gen(function*(){let x=yield*Ze.Service,v=yield*Oe.Service,g=o(c=>{let m=t.scoped(t.gen(function*(){let n=yield*x.spawn(Ne.make(yield*v.filepath,c.args,{cwd:c.cwd,extendEnv:!0,stdin:"ignore"})),h=yield*yr(n.stderr,Mr).pipe(t.map(R=>R.buffer.toString("utf8")),t.forkScoped),A=0,I=yield*W.decodeText(n.stdout).pipe(W.splitLines,W.filter(R=>R.length>0),W.mapEffect(c.parse),W.filter(R=>R!==void 0),W.tap(R=>!c.onItem||A++>=c.limit?t.void:c.onItem(R)),W.take(c.limit+1),W.runCollect,t.map(R=>[...R])),T=I.length>c.limit;if(T)return{items:I.slice(0,c.limit),truncated:T,partial:!1};let P=yield*n.exitCode,M=yield*or.join(h);return c.pattern&&P===2&&Dr(M)?yield*new Le({pattern:c.pattern,message:M.trim()}):P!==0&&P!==1&&P!==2?yield*ve(M.trim()||`ripgrep failed with code ${P}`):{items:P===1?[]:I,truncated:!1,partial:P===2}}));return(c.signal?m.pipe(t.raceFirst(mr(c.signal))):m).pipe(t.mapError(n=>n instanceof Ce||n instanceof Le?n:ve("ripgrep execution failed",n)))},"run");return be.of({glob:o(c=>g({cwd:c.cwd,limit:c.limit,signal:c.signal,args:["--no-config","--files",...c.hidden?["--hidden"]:[],...c.follow?["--follow"]:[],`--glob=${c.pattern}`,"--glob=!**/.git/**","."],parse:o(m=>t.succeed(m.replace(/^(?:\.[\\/])+/u,"").replace(/^[\\/]+/u,"").replaceAll("\\","/")),"parse")}).pipe(t.map(m=>m.items.map(s=>z.make({path:N.make(s),type:"file"}))),t.catchTag("Ripgrep.InvalidPatternError",m=>t.fail(ve(m.message,m)))),"glob"),find:o(c=>g({cwd:c.cwd,limit:c.limit,signal:c.signal,args:["--no-config","--files",...c.hidden?["--hidden"]:[],...c.follow?["--follow"]:[],...c.pattern==="*"?[]:[`--glob=${c.pattern}`],"--glob=!**/.git/**","."],parse:o(m=>{let s=m.replace(/^(?:\.[\\/])+/u,"").replace(/^[\\/]+/u,"").replaceAll("\\","/");return t.succeed(z.make({path:N.make(s),type:"file"}))},"parse"),onItem:c.onEntry}).pipe(t.map(m=>m.items),t.catchTag("Ripgrep.InvalidPatternError",m=>t.fail(ve(m.message,m)))),"find"),grep:o(c=>g({...c,args:["--no-config","--json","--hidden","--no-messages",...c.include?[`--glob=${c.include}`]:[],"--glob=!**/.git/**","--",c.pattern,c.file??"."],parse:o(m=>(Buffer.byteLength(m,"utf8")>hr?t.fail(ve(`Ripgrep JSON record exceeded ${hr} bytes`)):t.try({try:o(()=>JSON.parse(m),"try"),catch:o(s=>ve("Invalid ripgrep JSON output",s),"catch")})).pipe(t.flatMap(s=>!s||typeof s!="object"||!("type"in s)||s.type!=="match"?t.succeed(void 0):u.decodeUnknownEffect(Tr)(s).pipe(t.map(n=>({...n.data,path:{text:n.data.path.text.replace(/^\.[\\/]/,"")},submatches:n.data.submatches.slice(0,Rr)})),t.mapError(n=>ve("Invalid ripgrep match output",n))))),"parse")}).pipe(t.map(m=>m.items.map(s=>{let n=s.path.text.replace(/^(?:\.[\\/])+/u,"").replace(/^[\\/]+/u,"").replaceAll("\\","/");return pe.make({entry:z.make({path:N.make(n),type:"file"}),line:s.line_number,offset:s.absolute_offset,text:s.lines.text.length>2e3?s.lines.text.slice(0,2e3).replace(/[\uD800-\uDBFF]$/,"")+"...":s.lines.text,submatches:s.submatches.map(h=>({text:h.match.text,start:h.start,end:h.end}))})}))),"grep")})})),Br=Be({service:be,layer:Nr,deps:[Oe.node,Ze.node]});var tr={};Fe(tr,{Content:()=>qr,Entry:()=>z,Event:()=>Xr,FileSystem:()=>tr,FindInput:()=>ke,GlobInput:()=>er,GrepInput:()=>rr,ListInput:()=>Ur,Match:()=>pe,ReadInput:()=>Hr,Service:()=>Ee,Submatch:()=>ze,node:()=>Jr});import qe from"path";var _e={};Fe(_e,{FileSystemSearch:()=>_e,Service:()=>ie,fffLayer:()=>_r,locationLayer:()=>Gr,node:()=>Or,ripgrepLayer:()=>wr});import Z from"path";var we={};Fe(we,{Fff:()=>we,available:()=>$r,create:()=>zr});function $r(){return!1}o($r,"available");function zr(x){return{ok:!1,error:"fff unavailable on node runtime"}}o(zr,"create");var Sr=ir(br(),1);var ie=class extends se.Service()("@opencode/v2/FileSystem/Search"){static{o(this,"Service")}},wr=ee.effect(ie,t.gen(function*(){let x=yield*Q.Service,v=yield*ge.Service,g=yield*Se.Service,c=yield*ar.Scope,m={files:[],directories:[]},s=new Set;return yield*g.find({cwd:v.directory,pattern:"*",limit:v.vcs?Number.MAX_SAFE_INTEGER:1e5,onEntry:o(n=>t.sync(()=>{m.files.push(n.path);let h=n.path.split("/");h.slice(0,-1).forEach((A,I)=>s.add(h.slice(0,I+1).join("/")+Z.sep)),m.directories=Array.from(s)}),"onEntry")}).pipe(t.orDie,t.asVoid,t.forkIn(c)),ie.of({glob:o(n=>t.gen(function*(){let h=Z.resolve(v.directory,n.path??"."),I=(yield*x.stat(h).pipe(t.orDie)).type==="File"?Z.dirname(h):h;return yield*g.glob({cwd:I,pattern:n.pattern,limit:n.limit??Number.MAX_SAFE_INTEGER}).pipe(t.map(T=>T.map(P=>z.make({...P,path:N.make(Z.relative(v.directory,Z.resolve(I,P.path)))}))),t.orDie)}),"glob"),grep:o(n=>t.gen(function*(){let h=Z.resolve(v.directory,n.path??"."),A=yield*x.stat(h).pipe(t.orDie),I=A.type==="File"?Z.dirname(h):h;return yield*g.grep({cwd:I,pattern:n.pattern,file:A.type==="File"?Z.basename(h):void 0,include:n.include,limit:n.limit??Number.MAX_SAFE_INTEGER}).pipe(t.map(T=>T.map(P=>pe.make({...P,entry:z.make({...P.entry,path:N.make(Z.relative(v.directory,Z.resolve(I,P.entry.path)))})}))),t.orDie)}),"grep"),find:o(n=>t.gen(function*(){let h=n.type==="file"?m.files:n.type==="directory"?m.directories:[...m.files,...m.directories];return Sr.default.go(n.query,h,{limit:n.limit??50}).map(A=>{let I=A.target,T=I.endsWith(Z.sep)?"directory":"file";return z.make({path:N.make(I),type:T})})}),"find")})})),_r=ee.effect(ie,t.gen(function*(){let x=yield*ge.Service,v=yield*t.try({try:o(()=>we.create({basePath:x.directory,aiMode:!0,disableMmapCache:!0,disableContentIndexing:!0}),"try"),catch:o(g=>g,"catch")}).pipe(t.catch(g=>t.logWarning("failed to initialize fff",{error:g}).pipe(t.as(void 0))));return v?.ok?(yield*t.addFinalizer(()=>t.sync(()=>v.value.destroy()).pipe(t.ignore)),ie.of({glob:o(g=>t.sync(()=>{let c=g.path?.replaceAll("\\","/").replace(/\/$/,""),m=v.value.glob(c?`${c}/${g.pattern}`:g.pattern,{pageIndex:0,pageSize:g.limit});if(!m.ok)throw m.error;return m.value.items.map(s=>z.make({path:N.make(s.relativePath.replaceAll("\\","/")),type:"file"}))}),"glob"),grep:o(g=>t.sync(()=>{let c=g.path?.replaceAll("\\","/").replace(/\/$/,""),m=v.value.grep([c?`${c}/**`:void 0,g.include,g.pattern].filter(s=>s!==void 0).join(" "),{mode:"regex",pageSize:g.limit,timeBudgetMs:1500});if(!m.ok)throw m.error;return m.value.items.map(s=>{let n=Buffer.from(s.lineContent);return pe.make({entry:z.make({path:N.make(s.relativePath.replaceAll("\\","/")),type:"file"}),line:s.lineNumber,offset:s.byteOffset,text:s.lineContent.length>2e3?s.lineContent.slice(0,2e3)+"...":s.lineContent,submatches:s.matchRanges.map(([h,A])=>({text:n.subarray(h,A).toString("utf8"),start:h,end:A}))})})}),"grep"),find:o(g=>t.sync(()=>{let c={pageIndex:0,pageSize:g.limit??50};return(()=>{if(g.type==="file"){let n=v.value.fileSearch(g.query.trim(),c);if(!n.ok)throw n.error;return n.value.items.map((h,A)=>({path:h.relativePath,type:"file",score:n.value.scores[A]?.total??0}))}if(g.type==="directory"){let n=v.value.directorySearch(g.query.trim(),c);if(!n.ok)throw n.error;return n.value.items.map((h,A)=>({path:h.relativePath,type:"directory",score:n.value.scores[A]?.total??0}))}let s=v.value.mixedSearch(g.query.trim(),c);if(!s.ok)throw s.error;return s.value.items.map((n,h)=>({path:n.item.relativePath,type:n.type,score:s.value.scores[h]?.total??0}))})().sort((s,n)=>n.score-s.score||s.path.length-n.path.length).map(s=>{let n=s.path.replaceAll("\\","/").replace(/\/$/,"");return z.make({path:N.make(n+(s.type==="directory"?Z.sep:"")),type:s.type})})}),"find")})):(v&&(yield*t.logWarning("failed to initialize fff",{error:v.error})),ie.of({find:o(()=>t.succeed([]),"find"),glob:o(()=>t.succeed([]),"glob"),grep:o(()=>t.succeed([]),"grep")}))})),Er=ee.unwrap(t.sync(()=>pr.OPENCODE_DISABLE_FFF||!we.available()?wr:_r)),Gr=Er,Or=$e({service:ie,layer:Er,deps:[Q.node,ge.node,Se.node]});var Hr=u.Struct({path:N}),qr=u.Struct({uri:u.String,name:u.String.pipe(u.optional),content:u.String,encoding:u.Literals(["utf8","base64"]),mime:u.String}).annotate({identifier:"FileSystem.Content"}),Ur=u.Struct({path:N.pipe(u.optional)});var er=class extends u.Class("FileSystem.GlobInput")({pattern:u.String,path:N.pipe(u.optional),limit:le.pipe(u.optional)}){static{o(this,"GlobInput")}},rr=class extends u.Class("FileSystem.GrepInput")({pattern:u.String,path:N.pipe(u.optional),include:u.String.pipe(u.optional),limit:le.pipe(u.optional)}){static{o(this,"GrepInput")}},Xr=Pe.Event,Ee=class extends se.Service()("@opencode/v2/FileSystem"){static{o(this,"Service")}},Wr=ee.effect(Ee,t.gen(function*(){let x=yield*Q.Service,v=yield*ge.Service,g=yield*_e.Service,c=yield*x.realPath(v.directory).pipe(t.orDie),m=t.fnUntraced(function*(s){let n=qe.resolve(v.directory,s??".");if(!Q.contains(v.directory,n))return yield*t.die(new Error("Path escapes the location"));let h=yield*x.realPath(n).pipe(t.orDie);return Q.contains(c,h)?{absolute:n,real:h,directory:v.directory,root:c}:yield*t.die(new Error("Path escapes the location"))});return Ee.of({find:g.find,glob:g.glob,grep:g.grep,read:t.fn("FileSystem.read")(function*(s){let n=yield*m(s.path);return(yield*x.stat(n.real).pipe(t.orDie)).type!=="File"?yield*t.die(new Error("Path is not a file")):{content:yield*x.readFile(n.real).pipe(t.orDie),mime:Q.mimeType(n.real)}}),list:t.fn("FileSystem.list")(function*(s={}){let n=yield*m(s.path);return(yield*x.stat(n.real).pipe(t.orDie)).type!=="Directory"?yield*t.die(new Error("Path is not a directory")):yield*x.readDirectoryEntries(n.real).pipe(t.orDie,t.map(A=>A.flatMap(I=>{if(I.type!=="file"&&I.type!=="directory")return[];let T=qe.join(n.absolute,I.name),P=qe.relative(n.directory,T);return[z.make({path:N.make(P+(I.type==="directory"?qe.sep:"")),type:I.type})]}).sort((I,T)=>I.type===T.type?I.path.localeCompare(T.path):I.type==="directory"?-1:1)))})})})),Jr=$e({service:Ee,layer:Wr,deps:[Q.node,ge.node,_e.node]});export{br as a,Pe as b,Ge as c,Se as d,_e as e,tr as f};
@@ -15,4 +15,4 @@ import { dirname as __alchemyDirname } from 'node:path';
15
15
  const __alchemy_filename = __alchemyFileURLToPath(import.meta.url);
16
16
  const __alchemy_dirname = __alchemyDirname(__alchemy_filename);
17
17
 
18
- import{c as K}from"./chunk-OCWGUTZJ.js";import{f as N,j as H}from"./chunk-CYRZU5QM.js";import{a as d,g as y}from"./chunk-2MRHL4B2.js";var F=y(K()),p=y(N());var f=y(N()),b=y(H());import{createHash as v,createPrivateKey as _,createPublicKey as B,sign as q}from"node:crypto";import{promises as D}from"node:fs";import{homedir as U}from"node:os";import{dirname as j,join as R}from"node:path";var m=class a{static{d(this,"LoginCredentialsFetcher")}profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300*1e3;constructor(e,t,s){this.profileData=e,this.init=t,this.callerClientConfig=s}async loadCredentials(){let e=await this.loadToken();if(!e)throw new f.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let t=e.accessToken,s=Date.now();return new Date(t.expiresAt).getTime()-s<=a.REFRESH_THRESHOLD?this.refresh(e):this.toCredentials(e.accessToken)}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}toCredentials(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,accountId:e.accountId,expiration:new Date(e.expiresAt)}}async refresh(e){let t=await this.loadToken().catch(()=>e),s=Date.now(),r=new Date(t.accessToken.expiresAt).getTime(),i=new Date(e.accessToken.expiresAt).getTime(),o=r<=s&&i>s?e:t;if(new Date(o.accessToken.expiresAt).getTime()-Date.now()>a.REFRESH_THRESHOLD)return this.toCredentials(o.accessToken);let{SigninClient:h,CreateOAuth2TokenCommand:T}=await import("./signin-OCIW23YM.js"),{logger:x,userAgentAppId:E}=this.callerClientConfig??{},S=d(n=>n?.metadata?.handlerProtocol==="h2","isH2")(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,u=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,k=new h({credentials:{accessKeyId:"",secretAccessKey:""},region:u,requestHandler:S,logger:x,userAgentAppId:E,...this.init?.clientConfig});this.createDPoPInterceptor(k.middlewareStack);let I={tokenInput:{clientId:o.clientId,refreshToken:o.refreshToken,grantType:"refresh_token"}};try{let n=await k.send(new T(I)),{accessKeyId:l,secretAccessKey:w,sessionToken:g}=n.tokenOutput?.accessToken??{},{refreshToken:P,expiresIn:L}=n.tokenOutput??{};if(!l||!w||!g||!P)throw new f.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let O=(L??900)*1e3,$=new Date(Date.now()+O),A={...o,accessToken:{...o.accessToken,accessKeyId:l,secretAccessKey:w,sessionToken:g,expiresAt:$.toISOString()},refreshToken:P};return await this.saveToken(A),this.toCredentials(A.accessToken)}catch(n){if(n.name==="AccessDeniedException"){let w=n.error,g;switch(w){case"TOKEN_EXPIRED":g="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":g="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":g="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:g=`Failed to refresh token: ${String(n)}. Please re-authenticate using \`aws login\``}throw new f.CredentialsProviderError(g,{logger:this.logger,tryNextLink:!1})}if(new Date(o.accessToken.expiresAt).getTime()>Date.now())return this.logger?.warn?.(`Failed to refresh token: ${String(n)}. Using existing token until expiry.`),this.toCredentials(o.accessToken);throw new f.CredentialsProviderError(`Failed to refresh token: ${String(n)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let t=await D.readFile(e,"utf8"),s=JSON.parse(t),r=["accessToken","clientId","refreshToken","dpopKey"].filter(i=>!s[i]);if(s.accessToken?.accountId||r.push("accountId"),r.length>0)throw new f.CredentialsProviderError(`Token validation failed, missing fields: ${r.join(", ")}`,{logger:this.logger,tryNextLink:!1});return s}catch(t){throw new f.CredentialsProviderError(`Failed to load token from ${e}: ${String(t)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let t=this.getTokenFilePath(),s=j(t);try{await D.mkdir(s,{recursive:!0})}catch{}await D.writeFile(t,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??R(U(),".aws","login","cache"),t=Buffer.from(this.loginSession,"utf8"),s=v("sha256").update(t).digest("hex");return R(e,`${s}.json`)}derToRawSignature(e){let t=2;if(e[t]!==2)throw new Error("Invalid DER signature");t++;let s=e[t++],r=e.subarray(t,t+s);if(t+=s,e[t]!==2)throw new Error("Invalid DER signature");t++;let i=e[t++],o=e.subarray(t,t+i);r=r[0]===0?r.subarray(1):r,o=o[0]===0?o.subarray(1):o;let c=Buffer.concat([Buffer.alloc(32-r.length),r]),h=Buffer.concat([Buffer.alloc(32-o.length),o]);return Buffer.concat([c,h])}createDPoPInterceptor(e){e.add(t=>async s=>{if(b.HttpRequest.isInstance(s.request)){let r=s.request,i=`${r.protocol}//${r.hostname}${r.port?`:${r.port}`:""}${r.path}`,o=await this.generateDpop(r.method,i);r.headers={...r.headers,DPoP:o}}return t(s)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",t){let s=await this.loadToken();try{let r=_({key:s.dpopKey,format:"pem",type:"sec1"}),o=B(r).export({format:"der",type:"spki"}),c=-1;for(let l=0;l<o.length;l++)if(o[l]===4){c=l;break}let h=o.slice(c+1,c+33),T=o.slice(c+33,c+65),x={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:h.toString("base64url"),y:T.toString("base64url")}},E={jti:crypto.randomUUID(),htm:e,htu:t,iat:Math.floor(Date.now()/1e3)},C=Buffer.from(JSON.stringify(x)).toString("base64url"),S=Buffer.from(JSON.stringify(E)).toString("base64url"),u=`${C}.${S}`,k=q("sha256",Buffer.from(u),r),n=this.derToRawSignature(k).toString("base64url");return`${u}.${n}`}catch(r){throw new f.CredentialsProviderError(`Failed to generate Dpop proof: ${r instanceof Error?r.message:String(r)}`,{logger:this.logger,tryNextLink:!1})}}};var G=d(a=>async({callerClientConfig:e}={})=>{a?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let t=await(0,p.parseKnownFiles)(a||{}),s=(0,p.getProfileName)({profile:a?.profile??e?.profile}),r=t[s];if(!r?.login_session)throw new p.CredentialsProviderError(`Profile ${s} does not contain login_session.`,{tryNextLink:!0,logger:a?.logger});let o=await new m(r,a,e).loadCredentials();return(0,F.setCredentialFeature)(o,"CREDENTIALS_LOGIN","AD")},"fromLoginCredentials");export{G as a};
18
+ import{c as K}from"./chunk-OCWGUTZJ.js";import{f as N,j as H}from"./chunk-CYRZU5QM.js";import{a as d,g as y}from"./chunk-2MRHL4B2.js";var F=y(K()),p=y(N());var f=y(N()),b=y(H());import{createHash as v,createPrivateKey as _,createPublicKey as B,sign as q}from"node:crypto";import{promises as D}from"node:fs";import{homedir as U}from"node:os";import{dirname as j,join as R}from"node:path";var m=class a{static{d(this,"LoginCredentialsFetcher")}profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300*1e3;constructor(e,t,s){this.profileData=e,this.init=t,this.callerClientConfig=s}async loadCredentials(){let e=await this.loadToken();if(!e)throw new f.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let t=e.accessToken,s=Date.now();return new Date(t.expiresAt).getTime()-s<=a.REFRESH_THRESHOLD?this.refresh(e):this.toCredentials(e.accessToken)}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}toCredentials(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,accountId:e.accountId,expiration:new Date(e.expiresAt)}}async refresh(e){let t=await this.loadToken().catch(()=>e),s=Date.now(),r=new Date(t.accessToken.expiresAt).getTime(),i=new Date(e.accessToken.expiresAt).getTime(),o=r<=s&&i>s?e:t;if(new Date(o.accessToken.expiresAt).getTime()-Date.now()>a.REFRESH_THRESHOLD)return this.toCredentials(o.accessToken);let{SigninClient:h,CreateOAuth2TokenCommand:T}=await import("./signin-U2KKV7OZ.js"),{logger:x,userAgentAppId:E}=this.callerClientConfig??{},S=d(n=>n?.metadata?.handlerProtocol==="h2","isH2")(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,u=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,k=new h({credentials:{accessKeyId:"",secretAccessKey:""},region:u,requestHandler:S,logger:x,userAgentAppId:E,...this.init?.clientConfig});this.createDPoPInterceptor(k.middlewareStack);let I={tokenInput:{clientId:o.clientId,refreshToken:o.refreshToken,grantType:"refresh_token"}};try{let n=await k.send(new T(I)),{accessKeyId:l,secretAccessKey:w,sessionToken:g}=n.tokenOutput?.accessToken??{},{refreshToken:P,expiresIn:L}=n.tokenOutput??{};if(!l||!w||!g||!P)throw new f.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let O=(L??900)*1e3,$=new Date(Date.now()+O),A={...o,accessToken:{...o.accessToken,accessKeyId:l,secretAccessKey:w,sessionToken:g,expiresAt:$.toISOString()},refreshToken:P};return await this.saveToken(A),this.toCredentials(A.accessToken)}catch(n){if(n.name==="AccessDeniedException"){let w=n.error,g;switch(w){case"TOKEN_EXPIRED":g="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":g="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":g="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:g=`Failed to refresh token: ${String(n)}. Please re-authenticate using \`aws login\``}throw new f.CredentialsProviderError(g,{logger:this.logger,tryNextLink:!1})}if(new Date(o.accessToken.expiresAt).getTime()>Date.now())return this.logger?.warn?.(`Failed to refresh token: ${String(n)}. Using existing token until expiry.`),this.toCredentials(o.accessToken);throw new f.CredentialsProviderError(`Failed to refresh token: ${String(n)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let t=await D.readFile(e,"utf8"),s=JSON.parse(t),r=["accessToken","clientId","refreshToken","dpopKey"].filter(i=>!s[i]);if(s.accessToken?.accountId||r.push("accountId"),r.length>0)throw new f.CredentialsProviderError(`Token validation failed, missing fields: ${r.join(", ")}`,{logger:this.logger,tryNextLink:!1});return s}catch(t){throw new f.CredentialsProviderError(`Failed to load token from ${e}: ${String(t)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let t=this.getTokenFilePath(),s=j(t);try{await D.mkdir(s,{recursive:!0})}catch{}await D.writeFile(t,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??R(U(),".aws","login","cache"),t=Buffer.from(this.loginSession,"utf8"),s=v("sha256").update(t).digest("hex");return R(e,`${s}.json`)}derToRawSignature(e){let t=2;if(e[t]!==2)throw new Error("Invalid DER signature");t++;let s=e[t++],r=e.subarray(t,t+s);if(t+=s,e[t]!==2)throw new Error("Invalid DER signature");t++;let i=e[t++],o=e.subarray(t,t+i);r=r[0]===0?r.subarray(1):r,o=o[0]===0?o.subarray(1):o;let c=Buffer.concat([Buffer.alloc(32-r.length),r]),h=Buffer.concat([Buffer.alloc(32-o.length),o]);return Buffer.concat([c,h])}createDPoPInterceptor(e){e.add(t=>async s=>{if(b.HttpRequest.isInstance(s.request)){let r=s.request,i=`${r.protocol}//${r.hostname}${r.port?`:${r.port}`:""}${r.path}`,o=await this.generateDpop(r.method,i);r.headers={...r.headers,DPoP:o}}return t(s)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",t){let s=await this.loadToken();try{let r=_({key:s.dpopKey,format:"pem",type:"sec1"}),o=B(r).export({format:"der",type:"spki"}),c=-1;for(let l=0;l<o.length;l++)if(o[l]===4){c=l;break}let h=o.slice(c+1,c+33),T=o.slice(c+33,c+65),x={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:h.toString("base64url"),y:T.toString("base64url")}},E={jti:crypto.randomUUID(),htm:e,htu:t,iat:Math.floor(Date.now()/1e3)},C=Buffer.from(JSON.stringify(x)).toString("base64url"),S=Buffer.from(JSON.stringify(E)).toString("base64url"),u=`${C}.${S}`,k=q("sha256",Buffer.from(u),r),n=this.derToRawSignature(k).toString("base64url");return`${u}.${n}`}catch(r){throw new f.CredentialsProviderError(`Failed to generate Dpop proof: ${r instanceof Error?r.message:String(r)}`,{logger:this.logger,tryNextLink:!1})}}};var G=d(a=>async({callerClientConfig:e}={})=>{a?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let t=await(0,p.parseKnownFiles)(a||{}),s=(0,p.getProfileName)({profile:a?.profile??e?.profile}),r=t[s];if(!r?.login_session)throw new p.CredentialsProviderError(`Profile ${s} does not contain login_session.`,{tryNextLink:!0,logger:a?.logger});let o=await new m(r,a,e).loadCredentials();return(0,F.setCredentialFeature)(o,"CREDENTIALS_LOGIN","AD")},"fromLoginCredentials");export{G as a};