UNPKG

@anthropic-ai/claude-agent-sdk

Version:

SDK for building AI agents with Claude Code's capabilities. Programmatically interact with Claude to build autonomous agents that can understand codebases, edit files, and execute workflows.

18 lines (15 loc) • 6.48 kB
// (c) Anthropic PBC. All rights reserved. Use is subject to the Legal Agreements outlined here: https://code.claude.com/docs/en/legal-and-compliance. // Version: 0.3.325 //! symbol-dispose-prelude: defines Symbol.dispose and Symbol.asyncDispose if missing, for this bundle's `using`. if (typeof Symbol.dispose !== 'symbol') { try { Symbol.dispose = Symbol.for('Symbol.dispose') } catch {} } if (typeof Symbol.asyncDispose !== 'symbol') { try { Symbol.asyncDispose = Symbol.for('Symbol.asyncDispose') } catch {} } import{u,i,n,ce,j,yt,bt,Ze,Ct,b,H}from"./core-msnqqcc2.mjs";import{lstatSync as T,statSync as J}from"fs";import{delimiter as Q,dirname as Y,extname as x,isAbsolute as ee,join as te,resolve as ne}from"path";function se(){return process.platform==="win32"}class D{resolved=new Map;envKey=void 0;cwdKey=void 0;skippedFolders;foldersReadFailed;namesMaybeMissed=new Set;vettedFolders=new Map;constructor(e){this.skippedFolders=e?.skippedFolders??new Map,this.foldersReadFailed=e?.foldersReadFailed??new Map}lookup(e){return this.resolved.get(e)}remember(e,s){this.resolved.set(e,s)}forget(e){this.resolved.delete(e)}}var N=new i(()=>new D),k=[".com",".exe",".bat",".cmd"],E=5000;function M(e){return P(e,process.hrtime.bigint())}function P(e,s){return Number(s-e)/1e6}var L=new Set(["EACCES","EPERM","ENOTDIR","ELOOP","ENAMETOOLONG","EINVAL"]),V=600000,re=250;function ie(e,s=process.platform){return s==="win32"?e.replaceAll('"',""):e}function oe(e){if(!ee(e))return!1;return process.platform!=="win32"||/^(?:[a-zA-Z]:[\\/]|[\\/]{2})/.test(e)}function de(e){let s=ie(e,"win32").trim();if(!oe(s)||j(s))return null;let t=ne(s);return j(t)?null:t}function ae(e){return e.split(Q).flatMap((s)=>{let t=de(s);return t===null?[]:[t]})}function le(e,s,t){return{eisdirIsFolder:"onAnyDrive",allowLocalWsl:Ze(e),report:s,singleTry:t}}var ue=512;function fe(e,s,t){let o=s.get(e);if(o===void 0)return!1;for(let r of o){if(t.has(r.path))continue;let d;try{d=T(r.path,{bigint:!0,throwIfNoEntry:!1})}catch{}if(!d?.isDirectory()||d.dev!==r.dev||d.ino!==r.ino)return s.delete(e),!1;t.add(r.path)}return!0}function pe(e,s){let t=s.chain;return t!==void 0&&!s.metLink&&t.length>0&&t.at(-1)?.path===e&&t.every((o)=>o.ino!==0n)?t:void 0}function K(e,s,t,o){let r=process.hrtime.bigint(),d=s.get(e),a=P(t,r),g=(d?.spentMs??0)+(a>re?a:0),f=o||d!==void 0&&d.stands&&P(d.lastAt,r)<=V;return s.set(e,{lastAt:r,spentMs:g,stands:f}),g>E?{verdict:"stalled",missing:!1,settled:!0}:{verdict:"unreadable"}}function B(e,s,t,o){let r=process.hrtime.bigint(),d=()=>M(r)>E;if(fe(e,s,t))return o.delete(e),{verdict:"pass",plainDir:!0};let a=o.get(e),g=a!==void 0&&a.stands&&M(a.lastAt)<=V,f={};if(Ct(e,le(e,f,g))){let p=f.unclassifiable;if(p===void 0)return{verdict:"refused"};if(d())return{verdict:"stalled",missing:!1,settled:L.has(p)};if(L.has(p))return K(e,o,r,!g&&(p==="EACCES"||p==="EPERM"));return{verdict:"unsure",code:p}}if(f.endedMissing===!0&&d())return{verdict:"stalled",missing:!0,settled:!1};let F=f.chain?.at(-1)?.path===e;if(F)o.delete(e);let c=pe(e,f);if(c!==void 0){if(s.size>=ue)s.clear();s.set(e,c);for(let p of c)t.add(p.path)}return{verdict:"pass",plainDir:F}}function U(e,s,t,o){let r=`${s??""}\x00${t??""}`;if(e.envKey!==r)e.envKey=r,e.resolved.clear(),e.skippedFolders.clear(),e.foldersReadFailed.clear(),e.namesMaybeMissed.clear();if(e.cwdKey!==o)e.cwdKey=o,e.resolved.clear(),e.namesMaybeMissed.clear()}function ge(e,s=!1){let t=N.of(b().host),o=H("PATH"),r=H("PATHEXT"),d;try{d=process.cwd()}catch{return t.namesMaybeMissed.add(e),null}U(t,o,r,d);let a=t.lookup(e);if(a!==void 0)if(a!==null){let g=Y(a),f=t.skippedFolders.get(g)==="denied"?{verdict:"refused"}:B(g,t.vettedFolders,new Set,new Map);switch(f.verdict){case"stalled":if(t.skippedFolders.set(g,"unreachable"),f.missing)return a;if(f.settled)t.forget(e);break;case"pass":{let m;try{m=T(a,{throwIfNoEntry:!1})}catch(F){let c=n(F),p=(c==="EACCES"||c==="EPERM")&&!bt(g);if(!ce(F)&&!p)return a}if(f.plainDir){if(t.foldersReadFailed.delete(g),t.skippedFolders.get(g)==="unreachable")t.skippedFolders.delete(g)}if(m!==void 0&&(m.isFile()||m.isSymbolicLink())&&!yt(a,d,m))return a;t.forget(e);break}case"refused":case"unreadable":case"unsure":t.forget(e);break;default:}}else{if(!s)return a;t.forget(e)}if(s)t.skippedFolders.clear(),t.foldersReadFailed.clear();return X(e,o,r,d,t,t.vettedFolders,he)}function Gt(e,s){let t;try{t=process.cwd()}catch{return null}let o=N.of(b().host),r=H("PATH"),d=H("PATHEXT"),a=s===r;if(a)U(o,r,d,t);return X(e,s,d,t,new D(a?o:void 0),o.vettedFolders,me)}var he={searchCwdFirst:!0},me={searchCwdFirst:!1};function X(e,s,t,o,r,d,a){if(r.namesMaybeMissed.delete(e),e===""||/[*?"<>|:\\/]/.test(e))return r.remember(e,null),null;try{let g=[...a.searchCwdFirst?[o]:[],...ae(s??"")],f=t?.split(";").map((l)=>l.trim().toLowerCase()),m=f===void 0?k:u(f).filter((l)=>k.includes(l)),F=[...k.includes(x(e).toLowerCase())?[e]:[],...m.map((l)=>e+l)],c=!1,p=m.length<k.length||s===void 0,h=!1,q=new Set;for(let l of g){if(r.skippedFolders.has(l)){if(r.skippedFolders.get(l)==="denied")p=!0;else c=h=!0;continue}let S=B(l,d,q,r.foldersReadFailed);switch(S.verdict){case"pass":break;case"stalled":r.skippedFolders.set(l,"unreachable"),c=h=!0;continue;case"refused":r.skippedFolders.set(l,"denied"),p=!0;continue;case"unreadable":p=!0;continue;case"unsure":c=h=!0;continue;default:}let O,v,W=process.hrtime.bigint();if(!S.plainDir)try{O=J(l,{throwIfNoEntry:!1})}catch(w){v=n(w)??"UNKNOWN"}if(!S.plainDir&&!O?.isDirectory()){if(M(W)>E)r.skippedFolders.set(l,"unreachable"),c=h=!0;else if(v!==void 0)if(L.has(v))if(K(l,r.foldersReadFailed,W,!1).verdict==="stalled")r.skippedFolders.set(l,"unreachable"),c=h=!0;else p=!0;else c=h=!0;continue}if(!S.plainDir)r.foldersReadFailed.delete(l);let _=l.toLowerCase().split(/[\\/]+/).filter(Boolean),z=_.at(-1)==="windowsapps"&&_.at(-2)==="microsoft";for(let w of F){let R=te(l,w),y,A=!1,Z=process.hrtime.bigint();try{y=T(R,{throwIfNoEntry:!1})}catch(G){let C=n(G),I=(C==="EACCES"||C==="EPERM")&&z;if(!I)c=h=!0;A=I}if(!A&&y===void 0){if(M(Z)>E){r.skippedFolders.set(l,"unreachable"),c=h=!0;break}continue}if(!A&&!(y?.isFile()||y?.isSymbolicLink()))continue;if(yt(R,o,y??null)){c=!0;continue}if(!h)r.remember(e,R);return R}}if(c||p)r.namesMaybeMissed.add(e);if(!c)r.remember(e,null);return null}catch{return r.namesMaybeMissed.add(e),null}}function jt(e,s=!1){if(!se())return e;if(e.includes("/")||e.includes("\\"))return e;return ge(e,s)} export{Gt,jt};