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.
- package/dist/{anthropic-FVULF7C3.js → anthropic-YQ2VCNTB.js} +1 -1
- package/dist/{app-runtime-LDQWNGWP.js → app-runtime-GFPPHAHM.js} +1 -1
- package/dist/{chunk-OT2YNR56.js → chunk-55SXVZ3J.js} +1 -1
- package/dist/{chunk-R2GWBJEP.js → chunk-5AXNRW7L.js} +1 -1
- package/dist/{chunk-UPEPL4I2.js → chunk-6AKI3RBD.js} +1 -1
- package/dist/{chunk-G7PFO5HG.js → chunk-B7LCUFWA.js} +8 -8
- package/dist/{chunk-DWEYXIQI.js → chunk-BAULQCM7.js} +3 -3
- package/dist/{chunk-5BLZCAU6.js → chunk-EXCQNXCF.js} +1 -1
- package/dist/chunk-FLHFX43G.js +55 -0
- package/dist/chunk-HEEAGIBZ.js +1490 -0
- package/dist/{chunk-NGT6LCW6.js → chunk-LUMNYJ5D.js} +1 -1
- package/dist/{chunk-B74WSFN4.js → chunk-ROZTUM2T.js} +3 -3
- package/dist/{chunk-OUVSKG2H.js → chunk-VG5EGQPG.js} +1 -1
- package/dist/{chunk-2JE3QYG6.js → chunk-XMCVYTKN.js} +1 -1
- package/dist/{chunk-7XX6TY62.js → chunk-YDNJZVRR.js} +1 -1
- package/dist/{chunk-4GJE6OMN.js → chunk-YWZH5MZN.js} +1 -1
- package/dist/{chunk-TK5R7QUN.js → chunk-ZR6CXXUN.js} +1 -1
- package/dist/{code-mode-YYOGD36U.js → code-mode-LEVRRN6O.js} +1 -1
- package/dist/{dist-KM5HCPZX.js → dist-37YOR7EF.js} +1 -1
- package/dist/{dist-YUH4RKR5.js → dist-Y7XJ2TDX.js} +1 -1
- package/dist/{dist-es-W5GYOX6F.js → dist-es-2V53AUOV.js} +1 -1
- package/dist/{dist-es-G5UIJOU7.js → dist-es-HYEV5NJY.js} +2 -2
- package/dist/{dist-es-6PLFRCS4.js → dist-es-IQZPYE6S.js} +1 -1
- package/dist/{dist-es-HYIIGUNX.js → dist-es-NJU2JDGG.js} +1 -1
- package/dist/{dist-es-LSR2QCFZ.js → dist-es-PEWVLOVZ.js} +1 -1
- package/dist/{photon-W56QZY4L.js → photon-5AJPGVCX.js} +1 -1
- package/dist/run.js +1 -1
- package/dist/serve.js +1 -1
- package/dist/{server-LVIHYOCY.js → server-4GCT6Z5B.js} +2 -2
- package/dist/{session-6OPJNJMK.js → session-Y3Y6G2WT.js} +1 -1
- package/dist/{src-3NCXEROI.js → src-X7ZXQLNN.js} +1 -1
- package/dist/{worktree-32M5MTFE.js → worktree-YPE74GDD.js} +1 -1
- package/package.json +1 -1
- package/dist/chunk-DADVNQTM.js +0 -1490
- package/dist/chunk-FOHYZ7MJ.js +0 -55
- /package/dist/{dist-CYBRID2F.js → dist-RDYS4XXO.js} +0 -0
- /package/dist/{lib-ZP7Q6A3E.js → lib-JC7MYWBJ.js} +0 -0
- /package/dist/{mime-types-46EO4HOZ.js → mime-types-2T5FPOIB.js} +0 -0
- /package/dist/{signin-OCIW23YM.js → signin-U2KKV7OZ.js} +0 -0
- /package/dist/{src-YAAFIGTW.js → src-ABUDV3W3.js} +0 -0
- /package/dist/{src-LXWGIUZH.js → src-NICVS6EV.js} +0 -0
- /package/dist/{sso-oidc-OMMKINFE.js → sso-oidc-KFJXXBLA.js} +0 -0
- /package/dist/{sts-MWK22JIX.js → sts-XIN552ID.js} +0 -0
- /package/dist/{token-QPO3OAGS.js → token-D3TCB33O.js} +0 -0
- /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-
|
|
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
|
|
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-
|
|
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-
|
|
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};
|