@github/copilot 0.0.342-2 → 0.0.342-4
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/index.js +2 -2
- package/package.json +2 -2
- package/sdk/index.js +1 -1
- package/sdk/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@github/copilot",
|
|
3
3
|
"description": "GitHub Copilot CLI brings the power of Copilot coding agent directly to your terminal.",
|
|
4
|
-
"version": "0.0.342-
|
|
4
|
+
"version": "0.0.342-4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"sdk/**/*"
|
|
34
34
|
],
|
|
35
35
|
"buildMetadata": {
|
|
36
|
-
"gitCommit": "
|
|
36
|
+
"gitCommit": "155dc72"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"node-pty": "npm:@devm33/node-pty@^1.0.8",
|
package/sdk/index.js
CHANGED
|
@@ -514,7 +514,7 @@ new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
|
514
514
|
|
|
515
515
|
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
516
516
|
`);this.baseURL=a.baseURL,this.timeout=a.timeout??MGe.DEFAULT_TIMEOUT,this.logger=a.logger??console;let r="warn";this.logLevel=r,this.logLevel=dGe(a.logLevel,"ClientOptions.logLevel",this)??dGe(qi("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??r,this.fetchOptions=a.fetchOptions,this.maxRetries=a.maxRetries??2,this.fetch=a.fetch??Wke(),bI(this,_D,$ke,"f"),this._options=a,this.apiKey=typeof I=="string"?I:"Missing Key",this.organization=l,this.project=n,this.webhookSecret=c}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:I}){}async authHeaders(e){return Oe([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return kGe(e,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${Km}`}defaultIdempotencyKey(){return`stainless-node-retry-${EGe()}`}makeStatusError(e,I,l,n){return cc.generate(e,I,l,n)}async _callApiKey(){let e=this._options.apiKey;if(typeof e!="function")return!1;let I;try{I=await e()}catch(l){throw l instanceof Se?l:new Se(`Failed to get token from 'apiKey' function: ${l.message}`,{cause:l})}if(typeof I!="string"||!I)throw new Se(`Expected 'apiKey' function argument to return a string but it returned ${I}`);return this.apiKey=I,!0}buildURL(e,I,l){let n=!j(this,OGe,"m",yfe).call(this)&&l||this.baseURL,c=Fke(e)?new URL(e):new URL(n+(n.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),s=this.defaultQuery();return gke(s)||(I={...s,...I}),typeof I=="object"&&I&&!Array.isArray(I)&&(c.search=this.stringifyQuery(I)),c.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:I,options:l}){}get(e,I){return this.methodRequest("get",e,I)}post(e,I){return this.methodRequest("post",e,I)}patch(e,I){return this.methodRequest("patch",e,I)}put(e,I){return this.methodRequest("put",e,I)}delete(e,I){return this.methodRequest("delete",e,I)}methodRequest(e,I,l){return this.request(Promise.resolve(l).then(n=>({method:e,path:I,...n})))}request(e,I=null){return new ny(this,this.makeRequest(e,I,void 0))}async makeRequest(e,I,l){let n=await e,c=n.maxRetries??this.maxRetries;I==null&&(I=c),await this.prepareOptions(n);let{req:s,url:a,timeout:r}=await this.buildRequest(n,{retryCount:c-I});await this.prepareRequest(s,{url:a,options:n});let o="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),d=l===void 0?"":`, retryOf: ${l}`,i=Date.now();if(Vc(this).debug(`[${o}] sending request`,wZ({retryOfRequestLogID:l,method:n.method,url:a,options:n,headers:s.headers})),n.signal?.aborted)throw new xc;let h=new AbortController,p=await this.fetchWithTimeout(a,s,r,h).catch(O4),Z=Date.now();if(p instanceof globalThis.Error){let Y=`retrying, ${I} attempts remaining`;if(n.signal?.aborted)throw new xc;let y=S4(p)||/timed? ?out/i.test(String(p)+("cause"in p?String(p.cause):""));if(I)return Vc(this).info(`[${o}] connection ${y?"timed out":"failed"} - ${Y}`),Vc(this).debug(`[${o}] connection ${y?"timed out":"failed"} (${Y})`,wZ({retryOfRequestLogID:l,url:a,durationMs:Z-i,message:p.message})),this.retryRequest(n,I,l??o);throw Vc(this).info(`[${o}] connection ${y?"timed out":"failed"} - error; no more retries left`),Vc(this).debug(`[${o}] connection ${y?"timed out":"failed"} (error; no more retries left)`,wZ({retryOfRequestLogID:l,url:a,durationMs:Z-i,message:p.message})),y?new vN:new HN({cause:p})}let u=[...p.headers.entries()].filter(([Y])=>Y==="x-request-id").map(([Y,y])=>", "+Y+": "+JSON.stringify(y)).join(""),N=`[${o}${d}${u}] ${s.method} ${a} ${p.ok?"succeeded":"failed"} with status ${p.status} in ${Z-i}ms`;if(!p.ok){let Y=await this.shouldRetry(p);if(I&&Y){let C=`retrying, ${I} attempts remaining`;return await Nke(p.body),Vc(this).info(`${N} - ${C}`),Vc(this).debug(`[${o}] response error (${C})`,wZ({retryOfRequestLogID:l,url:p.url,status:p.status,headers:p.headers,durationMs:Z-i})),this.retryRequest(n,I,l??o,p.headers)}let y=Y?"error; no more retries left":"error; not retryable";Vc(this).info(`${N} - ${y}`);let Q=await p.text().catch(C=>O4(C).message),A=wke(Q),w=A?void 0:Q;throw Vc(this).debug(`[${o}] response error (${y})`,wZ({retryOfRequestLogID:l,url:p.url,status:p.status,headers:p.headers,message:w,durationMs:Date.now()-i})),this.makeStatusError(p.status,A,w,p.headers)}return Vc(this).info(N),Vc(this).debug(`[${o}] response start`,wZ({retryOfRequestLogID:l,url:p.url,status:p.status,headers:p.headers,durationMs:Z-i})),{response:p,options:n,controller:h,requestLogID:o,retryOfRequestLogID:l,startTime:i}}getAPIList(e,I,l){return this.requestAPIList(I,{method:"get",path:e,...l})}requestAPIList(e,I){let l=this.makeRequest(I,null,void 0);return new K4(this,l,e)}async fetchWithTimeout(e,I,l,n){let{signal:c,method:s,...a}=I||{};c&&c.addEventListener("abort",()=>n.abort());let r=setTimeout(()=>n.abort(),l),o=globalThis.ReadableStream&&a.body instanceof globalThis.ReadableStream||typeof a.body=="object"&&a.body!==null&&Symbol.asyncIterator in a.body,d={signal:n.signal,...o?{duplex:"half"}:{},method:"GET",...a};s&&(d.method=s.toUpperCase());try{return await this.fetch.call(void 0,e,d)}finally{clearTimeout(r)}}async shouldRetry(e){let I=e.headers.get("x-should-retry");return I==="true"?!0:I==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,I,l,n){let c,s=n?.get("retry-after-ms");if(s){let r=parseFloat(s);Number.isNaN(r)||(c=r)}let a=n?.get("retry-after");if(a&&!c){let r=parseFloat(a);Number.isNaN(r)?c=Date.parse(a)-Date.now():c=r*1e3}if(!(c&&0<=c&&c<60*1e3)){let r=e.maxRetries??this.maxRetries;c=this.calculateDefaultRetryTimeoutMillis(I,r)}return await Dm(c),this.makeRequest(e,I-1,l)}calculateDefaultRetryTimeoutMillis(e,I){let c=I-e,s=Math.min(.5*Math.pow(2,c),8),a=1-Math.random()*.25;return s*a*1e3}async buildRequest(e,{retryCount:I=0}={}){let l={...e},{method:n,path:c,query:s,defaultBaseURL:a}=l,r=this.buildURL(c,s,a);"timeout"in l&&Ake("timeout",l.timeout),l.timeout=l.timeout??this.timeout;let{bodyHeaders:o,body:d}=this.buildBody({options:l}),i=await this.buildHeaders({options:e,method:n,bodyHeaders:o,retryCount:I});return{req:{method:n,headers:i,...l.signal&&{signal:l.signal},...globalThis.ReadableStream&&d instanceof globalThis.ReadableStream&&{duplex:"half"},...d&&{body:d},...this.fetchOptions??{},...l.fetchOptions??{}},url:r,timeout:l.timeout}}async buildHeaders({options:e,method:I,bodyHeaders:l,retryCount:n}){let c={};this.idempotencyHeader&&I!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),c[this.idempotencyHeader]=e.idempotencyKey);let s=Oe([c,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(n),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},..._ke(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,l,e.headers]);return this.validateHeaders(s),s.values}buildBody({options:{body:e,headers:I}}){if(!e)return{bodyHeaders:void 0,body:void 0};let l=Oe([I]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&l.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:yD(e)}:j(this,_D,"f").call(this,{body:e,headers:l})}};MGe=XI,_D=new WeakMap,OGe=new WeakSet,yfe=function(){return this.baseURL!=="https://api.openai.com/v1"};XI.OpenAI=MGe;XI.DEFAULT_TIMEOUT=6e5;XI.OpenAIError=Se;XI.APIError=cc;XI.APIConnectionError=HN;XI.APIConnectionTimeoutError=vN;XI.APIUserAbortError=xc;XI.NotFoundError=OA;XI.ConflictError=MA;XI.RateLimitError=jA;XI.BadRequestError=zA;XI.AuthenticationError=UA;XI.InternalServerError=DA;XI.PermissionDeniedError=SA;XI.UnprocessableEntityError=TA;XI.InvalidWebhookSignatureError=Tm;XI.toFile=UD;XI.Completions=by;XI.Chat=LN;XI.Embeddings=hy;XI.Files=Zy;XI.Images=Yy;XI.Audio=qm;XI.Moderations=Ry;XI.Models=Vy;XI.FineTuning=$i;XI.Graders=UN;XI.VectorStores=JZ;XI.Webhooks=yy;XI.Beta=$m;XI.Batches=ry;XI.Uploads=TN;XI.Responses=MN;XI.Realtime=SN;XI.Conversations=BN;XI.Evals=zN;XI.Containers=xN;G();var oL=class extends XI{constructor({baseURL:e=qi("OPENAI_BASE_URL"),apiKey:I=qi("AZURE_OPENAI_API_KEY"),apiVersion:l=qi("OPENAI_API_VERSION"),endpoint:n,deployment:c,azureADTokenProvider:s,dangerouslyAllowBrowser:a,...r}={}){if(!l)throw new Se("The OPENAI_API_VERSION environment variable is missing or empty; either provide it, or instantiate the AzureOpenAI client with an apiVersion option, like new AzureOpenAI({ apiVersion: 'My API Version' }).");if(typeof s=="function"&&(a=!0),!s&&!I)throw new Se("Missing credentials. Please pass one of `apiKey` and `azureADTokenProvider`, or set the `AZURE_OPENAI_API_KEY` environment variable.");if(s&&I)throw new Se("The `apiKey` and `azureADTokenProvider` arguments are mutually exclusive; only one can be passed at a time.");if(r.defaultQuery={...r.defaultQuery,"api-version":l},e){if(n)throw new Se("baseURL and endpoint are mutually exclusive")}else{if(n||(n=process.env.AZURE_OPENAI_ENDPOINT),!n)throw new Se("Must provide one of the `baseURL` or `endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable");e=`${n}/openai`}super({apiKey:s??I,baseURL:e,...r,...a!==void 0?{dangerouslyAllowBrowser:a}:{}}),this.apiVersion="",this.apiVersion=l,this.deploymentName=c}async buildRequest(e,I={}){if(OEI.has(e.path)&&e.method==="post"&&e.body!==void 0){if(!_A(e.body))throw new Error("Expected request body to be an object");let l=this.deploymentName||e.body.model||e.__metadata?.model;l!==void 0&&!this.baseURL.includes("/deployments")&&(e.path=`/deployments/${l}${e.path}`)}return super.buildRequest(e,I)}async authHeaders(e){return typeof this._options.apiKey=="string"?Oe([{"api-key":this.apiKey}]):super.authHeaders(e)}},OEI=new Set(["/completions","/chat/completions","/embeddings","/audio/transcriptions","/audio/translations","/audio/speech","/images/generations","/batches","/images/edits"]);G();import{readFileSync as MEI}from"fs";import{dirname as TEI,join as $D}from"path";import{fileURLToPath as jEI}from"url";var dL=null;function Ffe(){return TGe().version}function TGe(){if(dL!==null)return dL;try{let t=jEI(import.meta.url),e=TEI(t),I=[$D(e,"package.json"),$D(e,"../package.json"),$D(e,"../../package.json"),$D(e,"../runtime/package.json")];for(let n of I)try{let c=JSON.parse(MEI(n,"utf8")),s={name:c.name||"unknown",nameNoScope:DEI(c.name||"unknown"),version:c.version||"unknown",buildMetadata:c.buildMetadata};return dL=s,s}catch{continue}let l={name:"unknown",nameNoScope:"unknown",version:"unknown"};return dL=l,l}catch{let e={name:"unknown",nameNoScope:"unknown",version:"unknown"};return dL=e,e}}function DEI(t){return t.replace(/^@.*\//,"")}G();G();G();var gfe=Xa("keyvault-secrets");G();G();G();G();var Qfe=Xa("keyvault-secrets");G();G();function Ba(t,e){return typeof t=="string"?CT(t,e):CT(t)}G();G();G();G();function jGe(t){return lJ(t,["key"])&&typeof t.key=="string"}G();G();G();function iL(t){let e=t;return e&&typeof e.getToken=="function"&&(e.signRequest===void 0||e.getToken.length>0)}G();var KEI="ApiVersionPolicy";function Afe(t){return{name:KEI,sendRequest:(e,I)=>{let l=new URL(e.url);return!l.searchParams.get("api-version")&&t.apiVersion&&(e.url=`${e.url}${Array.from(l.searchParams.keys()).length>0?"&":"?"}api-version=${t.apiVersion}`),I(e)}}}G();var PEI="keyCredentialAuthenticationPolicy";function wfe(t,e){return{name:PEI,async sendRequest(I,l){return I.headers.set(e,t.key),l(I)}}}function Xfe(t,e,I={}){var l,n,c,s;let{credential:a,clientOptions:r}=I;if(a){if(iL(a)){let o=vR({credential:a,scopes:(n=(l=r?.credentials)===null||l===void 0?void 0:l.scopes)!==null&&n!==void 0?n:`${e}/.default`});t.addPolicy(o)}else if(qEI(a)){if(!(!((c=r?.credentials)===null||c===void 0)&&c.apiKeyHeaderName))throw new Error("Missing API Key Header Name");let o=wfe(a,(s=r?.credentials)===null||s===void 0?void 0:s.apiKeyHeaderName);t.addPolicy(o)}}}function Efe(t,e,I={}){let l=FJ(I);return l.addPolicy(Afe(I)),Xfe(l,t,{credential:e,clientOptions:I}),l}function qEI(t){return t.key!==void 0}G();function gG(t){return Cse(t)}G();function jN(t){return t.onResponse?Object.assign(Object.assign({},t),{onResponse(e,I){var l;(l=t.onResponse)===null||l===void 0||l.call(t,e,I,I)}}):t}function Hfe(t,e,I={}){let l;e&&(_EI(e)?l=e:I=e??{});let n=Efe(t,l,I),c=vse(t,Object.assign(Object.assign({},I),{pipeline:n})),s=(a,...r)=>({get:(o={})=>c.path(a,...r).get(jN(o)),post:(o={})=>c.path(a,...r).post(jN(o)),put:(o={})=>c.path(a,...r).put(jN(o)),patch:(o={})=>c.path(a,...r).patch(jN(o)),delete:(o={})=>c.path(a,...r).delete(jN(o)),head:(o={})=>c.path(a,...r).head(jN(o)),options:(o={})=>c.path(a,...r).options(jN(o)),trace:(o={})=>c.path(a,...r).trace(jN(o))});return{path:s,pathUnchecked:s,pipeline:c.pipeline}}function _EI(t){return jGe(t)||iL(t)}G();function DGe(t,e,I={}){var l,n,c,s,a,r,o,d;let i=(n=(l=I.endpoint)!==null&&l!==void 0?l:I.baseUrl)!==null&&n!==void 0?n:String(t),h=(c=I?.userAgentOptions)===null||c===void 0?void 0:c.userAgentPrefix,p="azsdk-js-keyvault-secrets/1.0.0-beta.1",Z=h?`${h} azsdk-js-api ${p}`:`azsdk-js-api ${p}`,u=Object.assign(Object.assign({},I),{userAgentOptions:{userAgentPrefix:Z},loggingOptions:{logger:(a=(s=I.loggingOptions)===null||s===void 0?void 0:s.logger)!==null&&a!==void 0?a:Qfe.info},credentials:{scopes:(o=(r=I.credentials)===null||r===void 0?void 0:r.scopes)!==null&&o!==void 0?o:["https://vault.azure.net/.default"]}}),{apiVersion:N}=u,Y=YJ(u,["apiVersion"]),y=Hfe(i,e,Y);y.pipeline.removePolicy({name:"ApiVersionPolicy"});let Q=(d=I.apiVersion)!==null&&d!==void 0?d:"7.6";return y.pipeline.addPolicy({name:"ClientApiVersionPolicy",sendRequest:(A,w)=>{let x=new URL(A.url);return x.searchParams.get("api-version")||(A.url=`${A.url}${Array.from(x.searchParams.keys()).length>0?"&":"?"}api-version=${Q}`),w(A)}}),Object.assign(Object.assign({},y),{apiVersion:Q})}G();G();function vfe(t){return{value:t.value,tags:t.tags,contentType:t.contentType,attributes:t.secretAttributes?Cfe(t.secretAttributes):t.secretAttributes}}function Cfe(t){return{enabled:t.enabled,nbf:t.notBefore?t.notBefore.getTime()/1e3|0:t.notBefore,exp:t.expires?t.expires.getTime()/1e3|0:t.expires}}function IK(t){return{enabled:t.enabled,notBefore:t.nbf?new Date(t.nbf*1e3):t.nbf,expires:t.exp?new Date(t.exp*1e3):t.exp,created:t.created?new Date(t.created*1e3):t.created,updated:t.updated?new Date(t.updated*1e3):t.updated,recoverableDays:t.recoverableDays,recoveryLevel:t.recoveryLevel}}var bL;(function(t){t.Purgeable="Purgeable",t.RecoverablePurgeable="Recoverable+Purgeable",t.Recoverable="Recoverable",t.RecoverableProtectedSubscription="Recoverable+ProtectedSubscription",t.CustomizedRecoverablePurgeable="CustomizedRecoverable+Purgeable",t.CustomizedRecoverable="CustomizedRecoverable",t.CustomizedRecoverableProtectedSubscription="CustomizedRecoverable+ProtectedSubscription"})(bL||(bL={}));function Xw(t){return{value:t.value,id:t.id,contentType:t.contentType,attributes:t.attributes?IK(t.attributes):t.attributes,tags:t.tags,kid:t.kid,managed:t.managed}}function xo(t){return{error:t.error?Jfe(t.error):t.error}}function Jfe(t){return{code:t.code,message:t.message,innerError:t.innererror?Jfe(t.innererror):t.innererror}}function KGe(t){return{value:t.value,id:t.id,contentType:t.contentType,attributes:t.attributes?IK(t.attributes):t.attributes,tags:t.tags,kid:t.kid,managed:t.managed,recoveryId:t.recoveryId,scheduledPurgeDate:t.scheduledPurgeDate?new Date(t.scheduledPurgeDate*1e3):t.scheduledPurgeDate,deletedDate:t.deletedDate?new Date(t.deletedDate*1e3):t.deletedDate}}function Lfe(t){return{contentType:t.contentType,attributes:t.secretAttributes?Cfe(t.secretAttributes):t.secretAttributes,tags:t.tags}}function PGe(t){return{value:t.value?$EI(t.value):t.value,nextLink:t.nextLink}}function $EI(t){return t.map(e=>eHI(e))}function eHI(t){return{id:t.id,attributes:t.attributes?IK(t.attributes):t.attributes,tags:t.tags,contentType:t.contentType,managed:t.managed}}function kfe(t){return{value:t.value?IHI(t.value):t.value,nextLink:t.nextLink}}function IHI(t){return t.map(e=>tHI(e))}function tHI(t){return{id:t.id,attributes:t.attributes?IK(t.attributes):t.attributes,tags:t.tags,contentType:t.contentType,managed:t.managed,recoveryId:t.recoveryId,scheduledPurgeDate:t.scheduledPurgeDate?new Date(t.scheduledPurgeDate*1e3):t.scheduledPurgeDate,deletedDate:t.deletedDate?new Date(t.deletedDate*1e3):t.deletedDate}}function ffe(t){return{value:t.value&&typeof t.value=="string"?tCe(t.value,"base64url"):t.value}}function xfe(t){return{value:ICe(t.secretBundleBackup,"base64url")}}var eK;(function(t){t.V75="7.5",t.V76Preview2="7.6-preview.2",t.V76="7.6"})(eK||(eK={}));G();function tK(t,e,I,l,n={}){var c,s;let a=(c=n.itemName)!==null&&c!==void 0?c:"value",r=(s=n.nextLinkName)!==null&&s!==void 0?s:"nextLink",o={getPage:async d=>{let i=d===void 0?await e():await t.pathUnchecked(d).get();aHI(i,l);let h=await I(i),p=cHI(h,r);return{page:sHI(h,a),nextPageLink:p}},byPage:d=>{let{continuationToken:i}=d??{};return qGe(o,{pageLink:i})}};return lHI(o)}function lHI(t){var e;let I=nHI(t);return{next(){return I.next()},[Symbol.asyncIterator](){return this},byPage:(e=t?.byPage)!==null&&e!==void 0?e:l=>{let{continuationToken:n}=l??{};return qGe(t,{pageLink:n})}}}function nHI(t){return lN(this,arguments,function*(){var I,l,n,c;let s=qGe(t);try{for(var a=!0,r=HR(s),o;o=yield Nn(r.next()),I=o.done,!I;a=!0)c=o.value,a=!1,yield Nn(yield*l5e(HR(c)))}catch(d){l={error:d}}finally{try{!a&&!I&&(n=r.return)&&(yield Nn(n.call(r)))}finally{if(l)throw l.error}}})}function qGe(t){return lN(this,arguments,function*(I,l={}){let{pageLink:n}=l,c=yield Nn(I.getPage(n??I.firstPageLink));if(!c)return yield Nn(void 0);let s=c.page;for(s.continuationToken=c.nextPageLink,yield yield Nn(s);c.nextPageLink;){if(c=yield Nn(I.getPage(c.nextPageLink)),!c)return yield Nn(void 0);s=c.page,s.continuationToken=c.nextPageLink,yield yield Nn(s)}})}function cHI(t,e){if(!e)return;let I=t[e];if(typeof I!="string"&&typeof I<"u"&&I!==null)throw new aZ(`Body Property ${e} should be a string or undefined or null but got ${typeof I}`);if(I!==null)return I}function sHI(t,e){let I=t[e];if(!Array.isArray(I))throw new aZ(`Couldn't paginate response
|
|
517
|
-
Body doesn't contain an array property with name: ${e}`);return I??[]}function aHI(t,e){if(!e.includes(t.status))throw Ba(`Pagination failed with unexpected statusCode ${t.status}`,t)}G();function Ew(t,e,I){return(e??I==="+")||I==="#"?Bfe(t):zfe(t)}function Bfe(t){return t.split(/(%[0-9A-Fa-f]{2})/g).map(e=>/%[0-9A-Fa-f]/.test(e)?e:encodeURI(e)).join("")}function zfe(t){return encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)}function mL(t){return t!=null}function _Ge(t){return[!!t&&[";","?","&"].includes(t),t&&["?","&"].includes(t)?"=":""]}function lK(t,e=!1){return e?!t||t==="+"?"":t:!t||t==="+"||t==="#"?",":t==="?"?"&":t}function rHI(t){let e=t.isFirst,{op:I,varName:l,varValue:n,reserved:c}=t,s=[],[a,r]=_Ge(I);if(Array.isArray(n))for(let o of n.filter(mL))s.push(`${lK(I,e)}`),a&&l&&(s.push(`${encodeURIComponent(l)}`),o===""?s.push(r):s.push("=")),s.push(Ew(o,c,I)),e=!1;else if(typeof n=="object")for(let o of Object.keys(n)){let d=n[o];mL(d)&&(s.push(`${lK(I,e)}`),o&&(s.push(`${encodeURIComponent(o)}`),a&&d===""?s.push(r):s.push("=")),s.push(Ew(d,c,I)),e=!1)}return s.join("")}function GHI(t){let{op:e,varName:I,varValue:l,isFirst:n,reserved:c}=t,s=[],a=lK(e,n),[r,o]=_Ge(e);if(r&&I){if(s.push(Ew(I,c,e)),l==="")return o||s.push(o),s.join("")?`${a}${s.join("")}`:void 0;s.push("=")}let d=[];if(Array.isArray(l))for(let i of l.filter(mL))d.push(Ew(i,c,e));else if(typeof l=="object")for(let i of Object.keys(l))mL(l[i])&&(d.push(zfe(i)),d.push(Ew(l[i],c,e)));return s.push(d.join(",")),s.join(",")?`${a}${s.join("")}`:void 0}function oHI(t){let{op:e,varName:I,modifier:l,isFirst:n,reserved:c,varValue:s}=t;if(mL(s))if(["string","number","boolean"].includes(typeof s)){let a=s.toString(),[r,o]=_Ge(e),d=[lK(e,n)];return r&&I&&(d.push(I),a===""?d.push(o):d.push("=")),l&&l!=="*"&&(a=a.substring(0,parseInt(l,10))),d.push(Ew(a,c,e)),d.join("")}else return l==="*"?rHI(t):GHI(t);else return}function Bo(t,e,I){return t.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(l,n,c)=>{if(!n)return Bfe(c);let s;["+","#",".","/",";","?","&"].includes(n[0])&&(s=n[0],n=n.slice(1));let a=n.split(/,/g),r=[];for(let o of a){let d=/([^:\*]*)(?::(\d+)|(\*))?/.exec(o);if(!d||!d[1])continue;let i=oHI({isFirst:r.length===0,op:s,varValue:e[d[1]],varName:d[1],modifier:d[2]||d[3],reserved:I?.allowReserved});i&&r.push(i)}return r.join("")})}function dHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/secrets/restore{?api%2Dversion}",{"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).post(Object.assign(Object.assign({},gG(I)),{contentType:"application/json",headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers),body:xfe(e)}))}async function iHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function $Ge(t,e,I={requestOptions:{}}){let l=await dHI(t,e,I);return iHI(l)}function bHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/secrets/{secret-name}/backup{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).post(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function mHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return ffe(t.body)}async function eoe(t,e,I={requestOptions:{}}){let l=await bHI(t,e,I);return mHI(l)}function hHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/deletedsecrets/{secret-name}/recover{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).post(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function pHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function Ioe(t,e,I={requestOptions:{}}){let l=await hHI(t,e,I);return pHI(l)}function ZHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/deletedsecrets/{secret-name}{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).delete(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function uHI(t){if(!["204"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}}async function toe(t,e,I={requestOptions:{}}){let l=await ZHI(t,e,I);return uHI(l)}function WHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/deletedsecrets/{secret-name}{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).get(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function NHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return KGe(t.body)}async function loe(t,e,I={requestOptions:{}}){let l=await WHI(t,e,I);return NHI(l)}function YHI(t,e={requestOptions:{}}){var I,l;let n=Bo("/deletedsecrets{?api%2Dversion,maxresults}",{"api%2Dversion":t.apiVersion,maxresults:e?.maxresults},{allowReserved:(I=e?.requestOptions)===null||I===void 0?void 0:I.skipUrlEncoding});return t.path(n).get(Object.assign(Object.assign({},gG(e)),{headers:Object.assign({accept:"application/json"},(l=e.requestOptions)===null||l===void 0?void 0:l.headers)}))}async function VHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return kfe(t.body)}function noe(t,e={requestOptions:{}}){return tK(t,()=>YHI(t,e),VHI,["200"],{itemName:"value",nextLinkName:"nextLink"})}function RHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/secrets/{secret-name}/versions{?api%2Dversion,maxresults}",{"secret-name":e,"api%2Dversion":t.apiVersion,maxresults:I?.maxresults},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).get(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function yHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return PGe(t.body)}function coe(t,e,I={requestOptions:{}}){return tK(t,()=>RHI(t,e,I),yHI,["200"],{itemName:"value",nextLinkName:"nextLink"})}function FHI(t,e={requestOptions:{}}){var I,l;let n=Bo("/secrets{?api%2Dversion,maxresults}",{"api%2Dversion":t.apiVersion,maxresults:e?.maxresults},{allowReserved:(I=e?.requestOptions)===null||I===void 0?void 0:I.skipUrlEncoding});return t.path(n).get(Object.assign(Object.assign({},gG(e)),{headers:Object.assign({accept:"application/json"},(l=e.requestOptions)===null||l===void 0?void 0:l.headers)}))}async function gHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return PGe(t.body)}function soe(t,e={requestOptions:{}}){return tK(t,()=>FHI(t,e),gHI,["200"],{itemName:"value",nextLinkName:"nextLink"})}function QHI(t,e,I,l={requestOptions:{}}){var n,c;let s=Bo("/secrets/{secret-name}/{secret-version}{?api%2Dversion}",{"secret-name":e,"secret-version":I,"api%2Dversion":t.apiVersion},{allowReserved:(n=l?.requestOptions)===null||n===void 0?void 0:n.skipUrlEncoding});return t.path(s).get(Object.assign(Object.assign({},gG(l)),{headers:Object.assign({accept:"application/json"},(c=l.requestOptions)===null||c===void 0?void 0:c.headers)}))}async function AHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function aoe(t,e,I,l={requestOptions:{}}){let n=await QHI(t,e,I,l);return AHI(n)}function wHI(t,e,I,l,n={requestOptions:{}}){var c,s;let a=Bo("/secrets/{secret-name}/{secret-version}{?api%2Dversion}",{"secret-name":e,"secret-version":I,"api%2Dversion":t.apiVersion},{allowReserved:(c=n?.requestOptions)===null||c===void 0?void 0:c.skipUrlEncoding});return t.path(a).patch(Object.assign(Object.assign({},gG(n)),{contentType:"application/json",headers:Object.assign({accept:"application/json"},(s=n.requestOptions)===null||s===void 0?void 0:s.headers),body:Lfe(l)}))}async function XHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function roe(t,e,I,l,n={requestOptions:{}}){let c=await wHI(t,e,I,l,n);return XHI(c)}function EHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/secrets/{secret-name}{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).delete(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function HHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return KGe(t.body)}async function Goe(t,e,I={requestOptions:{}}){let l=await EHI(t,e,I);return HHI(l)}function vHI(t,e,I,l={requestOptions:{}}){var n,c;let s=Bo("/secrets/{secret-name}{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(n=l?.requestOptions)===null||n===void 0?void 0:n.skipUrlEncoding});return t.path(s).put(Object.assign(Object.assign({},gG(l)),{contentType:"application/json",headers:Object.assign({accept:"application/json"},(c=l.requestOptions)===null||c===void 0?void 0:c.headers),body:vfe(I)}))}async function CHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function ooe(t,e,I,l={requestOptions:{}}){let n=await vHI(t,e,I,l);return CHI(n)}var hL=class{constructor(e,I,l={}){var n;let c=(n=l?.userAgentOptions)===null||n===void 0?void 0:n.userAgentPrefix,s=c?`${c} azsdk-js-client`:"azsdk-js-client";this._client=DGe(e,I,Object.assign(Object.assign({},l),{userAgentOptions:{userAgentPrefix:s}})),this.pipeline=this._client.pipeline}restoreSecret(e,I={requestOptions:{}}){return $Ge(this._client,e,I)}backupSecret(e,I={requestOptions:{}}){return eoe(this._client,e,I)}recoverDeletedSecret(e,I={requestOptions:{}}){return Ioe(this._client,e,I)}purgeDeletedSecret(e,I={requestOptions:{}}){return toe(this._client,e,I)}getDeletedSecret(e,I={requestOptions:{}}){return loe(this._client,e,I)}getDeletedSecrets(e={requestOptions:{}}){return noe(this._client,e)}getSecretVersions(e,I={requestOptions:{}}){return coe(this._client,e,I)}getSecrets(e={requestOptions:{}}){return soe(this._client,e)}getSecret(e,I,l={requestOptions:{}}){return aoe(this._client,e,I,l)}updateSecret(e,I,l,n={requestOptions:{}}){return roe(this._client,e,I,l,n)}deleteSecret(e,I={requestOptions:{}}){return Goe(this._client,e,I)}setSecret(e,I,l={requestOptions:{}}){return ooe(this._client,e,I,l)}};G();G();G();var JHI=["authorization","authorization_url","resource","scope","tenantId","claims","error"];function doe(t){let e=/,? +/,I=t.split(e).reduce((l,n)=>{if(n.match(/\w="/)){let[c,...s]=n.split("=");if(JHI.includes(c))return Object.assign(Object.assign({},l),{[c]:s.join("=").slice(1,-1)})}return l},{});if(I.authorization)try{let l=new URL(I.authorization).pathname.substring(1);l&&(I.tenantId=l)}catch{throw new Error(`The challenge authorization URI '${I.authorization}' is invalid.`)}return I}G();var LHI={forcedRefreshWindowInMs:1e3,retryIntervalInMs:3e3,refreshWindowInMs:1e3*60*2};async function kHI(t,e,I){async function l(){if(Date.now()<I)try{return await t()}catch{return null}else{let c=await t();if(c===null)throw new Error("Failed to refresh access token.");return c}}let n=await l();for(;n===null;)await eN(e),n=await l();return n}function Ufe(t,e){let I=null,l=null,n,c=Object.assign(Object.assign({},LHI),e),s={get isRefreshing(){return I!==null},get shouldRefresh(){var r;return s.isRefreshing?!1:l?.refreshAfterTimestamp&&l.refreshAfterTimestamp<Date.now()?!0:((r=l?.expiresOnTimestamp)!==null&&r!==void 0?r:0)-c.refreshWindowInMs<Date.now()},get mustRefresh(){return l===null||l.expiresOnTimestamp-c.forcedRefreshWindowInMs<Date.now()}};function a(r,o){var d;return s.isRefreshing||(I=kHI(()=>t.getToken(r,o),c.retryIntervalInMs,(d=l?.expiresOnTimestamp)!==null&&d!==void 0?d:Date.now()).then(h=>(I=null,l=h,n=o.tenantId,l)).catch(h=>{throw I=null,l=null,n=void 0,h})),I}return async(r,o)=>{let d=!!o.claims,i=n!==o.tenantId;return d&&(l=null),i||d||s.mustRefresh?a(r,o):(s.shouldRefresh&&a(r,o),l)}}G();var Sfe=Xa("keyvault-common");function fHI(t,e){let I;try{I=new URL(t)}catch{throw new Error(`The challenge contains invalid scope '${t}'`)}if(!new URL(e.url).hostname.endsWith(`.${I.hostname}`))throw new Error(`The challenge resource '${I.hostname}' does not match the requested domain. Set disableChallengeResourceVerification to true in your client options to disable. See https://aka.ms/azsdk/blog/vault-uri for more information.`)}var xHI="keyVaultAuthenticationPolicy";function Ofe(t,e={}){let{disableChallengeResourceVerification:I}=e,l={status:"none"},n=Ufe(t);function c(d){return{abortSignal:d.abortSignal,requestOptions:{timeout:d.timeout>0?d.timeout:void 0},tracingOptions:d.tracingOptions}}async function s(d){let i=c(d);switch(l.status){case"none":l={status:"started",originalBody:d.body},d.body=null;break;case"started":break;case"complete":{let h=await n(l.scopes,Object.assign(Object.assign({},i),{enableCae:!0,tenantId:l.tenantId}));h&&d.headers.set("authorization",`Bearer ${h.token}`);break}}}async function a(d,i,h){if(i.status!==401)return i;d.body===null&&l.status==="started"&&(d.body=l.originalBody);let p=c(d),Z=i.headers.get("WWW-Authenticate");if(!Z)return Sfe.warning("keyVaultAuthentication policy encountered a 401 response without a corresponding WWW-Authenticate header. This is unexpected. Not handling the 401 response."),i;let u=doe(Z),N=u.resource?u.resource+"/.default":u.scope;if(!N)return i;I||fHI(N,d);let Y=await n([N],Object.assign(Object.assign({},p),{enableCae:!0,tenantId:u.tenantId}));return Y?(d.headers.set("Authorization",`Bearer ${Y.token}`),l={status:"complete",scopes:[N],tenantId:u.tenantId},h(d)):i}async function r(d,i,h){if(l.status!=="complete"||i.status!==401)return i;let p=c(d),Z=i.headers.get("WWW-Authenticate");if(!Z)return i;let{claims:u,error:N}=doe(Z);if(N!=="insufficient_claims"||u===void 0)return i;let Y=atob(u),y=await n(l.scopes,Object.assign(Object.assign({},p),{enableCae:!0,tenantId:l.tenantId,claims:Y}));return d.headers.set("Authorization",`Bearer ${y.token}`),h(d)}async function o(d,i){await s(d);let h=await i(d);return h=await a(d,h,i),h=await r(d,h,i),h}return{name:xHI,sendRequest:o}}G();function Mfe(t,e){if(typeof t!="string"||!(t=t.trim()))throw new Error("Invalid collection argument");if(typeof e!="string"||!(e=e.trim()))throw new Error("Invalid identifier argument");let I;try{I=new URL(e)}catch{throw new Error(`Invalid ${t} identifier: ${e}. Not a valid URI`)}let l=(I.pathname||"").split("/");if(l.length!==3&&l.length!==4)throw new Error(`Invalid ${t} identifier: ${e}. Bad number of segments: ${l.length}`);if(t!==l[1])throw new Error(`Invalid ${t} identifier: ${e}. segment [1] should be "${t}", found "${l[1]}"`);let n=`${I.protocol}//${I.host}`,c=l[2],s=l.length===4?l[3]:void 0;return{vaultUrl:n,name:c,version:s}}G();G();G();G();function ioe(t){let I=t.split("/")[3];return Object.assign({sourceId:t},Mfe(I,t))}G();function Rr(t){let e=t,I=t,l=ioe(e.id),n=e.attributes;delete e.attributes;let c={value:e.value,name:l.name,properties:{expiresOn:n?.expires,createdOn:n?.created,updatedOn:n?.updated,enabled:n?.enabled,notBefore:n?.notBefore,recoverableDays:n?.recoverableDays,recoveryLevel:n?.recoveryLevel,id:e.id,contentType:e.contentType,tags:e.tags,managed:e.managed,vaultUrl:l.vaultUrl,version:l.version,name:l.name,certificateKeyId:e.kid}};return I.recoveryId&&(c.properties.recoveryId=I.recoveryId,c.properties.scheduledPurgeDate=I.scheduledPurgeDate,c.properties.deletedOn=I.deletedDate,c.recoveryId=I.recoveryId,c.scheduledPurgeDate=I.scheduledPurgeDate,c.deletedOn=I.deletedDate),n&&(n.vaultUrl&&delete c.properties.vaultUrl,n.expires&&delete c.properties.expires,n.created&&delete c.properties.created,n.updated&&delete c.properties.updated),c}function nK(t,e,I){let l;return{async next(){l??(l=t(Object.assign(Object.assign({},e),{maxresults:void 0})));let n=await l.next();return Object.assign(Object.assign({},n),{value:n.value&&I(n.value)})},[Symbol.asyncIterator](){return this},byPage(n){return lN(this,arguments,function*(){var s,a,r,o;let d=t(Object.assign(Object.assign({},e),{maxresults:n?.maxPageSize})).byPage(n);try{for(var i=!0,h=HR(d),p;p=yield Nn(h.next()),s=p.done,!s;i=!0)o=p.value,i=!1,yield yield Nn(o.map(I))}catch(Z){a={error:Z}}finally{try{!i&&!s&&(r=h.return)&&(yield Nn(r.call(h)))}finally{if(a)throw a.error}}})}}}G();G();var cK="4.10.0";var QG=J2({namespace:"Microsoft.KeyVault",packageName:"@azure/keyvault-secrets",packageVersion:cK});G();G();G();G();G();G();G();G();var boe=Xa("core-lro");G();G();G();G();G();G();var moe=class t extends Error{constructor(e){super(e),this.name="PollerStoppedError",Object.setPrototypeOf(this,t.prototype)}},hoe=class t extends Error{constructor(e){super(e),this.name="PollerCancelledError",Object.setPrototypeOf(this,t.prototype)}},pL=class{constructor(e){this.resolveOnUnsuccessful=!1,this.stopped=!0,this.pollProgressCallbacks=[],this.operation=e,this.promise=new Promise((I,l)=>{this.resolve=I,this.reject=l}),this.promise.catch(()=>{})}async startPolling(e={}){for(this.stopped&&(this.stopped=!1);!this.isStopped()&&!this.isDone();)await this.poll(e),await this.delay()}async pollOnce(e={}){this.isDone()||(this.operation=await this.operation.update({abortSignal:e.abortSignal,fireProgress:this.fireProgress.bind(this)})),this.processUpdatedState()}fireProgress(e){for(let I of this.pollProgressCallbacks)I(e)}async cancelOnce(e={}){this.operation=await this.operation.cancel(e)}poll(e={}){if(!this.pollOncePromise){this.pollOncePromise=this.pollOnce(e);let I=()=>{this.pollOncePromise=void 0};this.pollOncePromise.then(I,I).catch(this.reject)}return this.pollOncePromise}processUpdatedState(){if(this.operation.state.error&&(this.stopped=!0,!this.resolveOnUnsuccessful))throw this.reject(this.operation.state.error),this.operation.state.error;if(this.operation.state.isCancelled&&(this.stopped=!0,!this.resolveOnUnsuccessful)){let e=new hoe("Operation was canceled");throw this.reject(e),e}this.isDone()&&this.resolve&&this.resolve(this.getResult())}async pollUntilDone(e={}){return this.stopped&&this.startPolling(e).catch(this.reject),this.processUpdatedState(),this.promise}onProgress(e){return this.pollProgressCallbacks.push(e),()=>{this.pollProgressCallbacks=this.pollProgressCallbacks.filter(I=>I!==e)}}isDone(){let e=this.operation.state;return!!(e.isCompleted||e.isCancelled||e.error)}stopPolling(){this.stopped||(this.stopped=!0,this.reject&&this.reject(new moe("This poller is already stopped")))}isStopped(){return this.stopped}cancelOperation(e={}){if(!this.cancelPromise)this.cancelPromise=this.cancelOnce(e);else if(e.abortSignal)throw new Error("A cancel request is currently pending");return this.cancelPromise}getOperationState(){return this.operation.state}getResult(){return this.operation.state.result}toString(){return this.operation.toString()}};G();var Hw=class extends pL{constructor(){super(...arguments),this.intervalInMs=2e3}async delay(){return eN(this.intervalInMs)}},vw=class{constructor(e,I={}){this.state=e,this.cancelMessage="",I.cancelMessage&&(this.cancelMessage=I.cancelMessage)}async update(){throw new Error("Operation not supported.")}async cancel(){throw new Error(this.cancelMessage)}toString(){return JSON.stringify({state:this.state})}};var sK=class extends vw{constructor(e,I,l={}){super(e,{cancelMessage:"Canceling the deletion of a secret is not supported."}),this.state=e,this.client=I,this.operationOptions=l}deleteSecret(e,I={}){return QG.withSpan("DeleteSecretPoller.deleteSecret",I,async l=>{let n=await this.client.deleteSecret(e,l);return Rr(n)})}getDeletedSecret(e,I={}){return QG.withSpan("DeleteSecretPoller.getDeletedSecret",I,async l=>{let n=await this.client.getDeletedSecret(e,l);return Rr(n)})}async update(e={}){let I=this.state,{name:l}=I;if(e.abortSignal&&(this.operationOptions.abortSignal=e.abortSignal),!I.isStarted){let n=await this.deleteSecret(l,this.operationOptions);I.isStarted=!0,I.result=n,n.properties.recoveryId||(I.isCompleted=!0)}if(!I.isCompleted)try{I.result=await this.getDeletedSecret(l,this.operationOptions),I.isCompleted=!0}catch(n){if(n.statusCode===403)I.isCompleted=!0;else if(n.statusCode!==404)throw I.error=n,I.isCompleted=!0,n}return this}};var aK=class extends Hw{constructor(e){let{client:I,name:l,operationOptions:n,intervalInMs:c=2e3,resumeFrom:s}=e,a;s&&(a=JSON.parse(s).state);let r=new sK(Object.assign(Object.assign({},a),{name:l}),I,n);super(r),this.intervalInMs=c}};G();G();var rK=class extends vw{constructor(e,I,l={}){super(e,{cancelMessage:"Canceling the recovery of a deleted secret is not supported."}),this.state=e,this.client=I,this.options=l}getSecret(e,I={}){return QG.withSpan("RecoverDeletedSecretPoller.getSecret",I,async l=>{let n=await this.client.getSecret(e,I&&I.version?I.version:"",l);return Rr(n)})}recoverDeletedSecret(e,I={}){return QG.withSpan("RecoverDeletedSecretPoller.recoverDeletedSecret",I,async l=>{let n=await this.client.recoverDeletedSecret(e,l);return Rr(n)})}async update(e={}){let I=this.state,{name:l}=I;if(e.abortSignal&&(this.options.abortSignal=e.abortSignal),!I.isStarted){try{I.result=(await this.getSecret(l,this.options)).properties,I.isCompleted=!0}catch{}I.isCompleted||(I.result=(await this.recoverDeletedSecret(l,this.options)).properties,I.isStarted=!0)}if(!I.isCompleted)try{I.result=(await this.getSecret(l,this.options)).properties,I.isCompleted=!0}catch(n){if(n.statusCode===403)I.isCompleted=!0;else if(n.statusCode!==404)throw I.error=n,I.isCompleted=!0,n}return this}};var GK=class extends Hw{constructor(e){let{client:I,name:l,operationOptions:n,intervalInMs:c=2e3,resumeFrom:s}=e,a;s&&(a=JSON.parse(s).state);let r=new rK(Object.assign(Object.assign({},a),{name:l}),I,n);super(r),this.intervalInMs=c}};var oK=class{constructor(e,I,l={}){var n,c;this.vaultUrl=e;let s=Object.assign(Object.assign({},l),{userAgentOptions:{userAgentPrefix:`${(c=(n=l.userAgentOptions)===null||n===void 0?void 0:n.userAgentPrefix)!==null&&c!==void 0?c:""} azsdk-js-keyvault-secrets/${cK}`},apiVersion:l.serviceVersion||"7.6",loggingOptions:{logger:gfe.info,additionalAllowedHeaderNames:["x-ms-keyvault-region","x-ms-keyvault-network-info","x-ms-keyvault-service-version"]}});this.client=new hL(this.vaultUrl,I,s),this.client.pipeline.removePolicy({name:UT}),this.client.pipeline.addPolicy(Ofe(I,l),{}),this.client.pipeline.addPolicy({name:"ContentTypePolicy",sendRequest(a,r){var o;return((o=a.headers.get("Content-Type"))!==null&&o!==void 0?o:"").startsWith("application/json")&&a.headers.set("Content-Type","application/json"),r(a)}})}setSecret(e,I,l={}){let{enabled:n,notBefore:c,expiresOn:s,tags:a}=l,r=YJ(l,["enabled","notBefore","expiresOn","tags"]);return QG.withSpan("SecretClient.setSecret",r,async o=>{let d=await this.client.setSecret(e,{value:I,secretAttributes:{enabled:n,notBefore:c,expires:s},tags:a},o);return Rr(d)})}async beginDeleteSecret(e,I={}){let l=new aK(Object.assign(Object.assign({name:e,client:this.client},I),{operationOptions:I}));return await l.poll(),l}async updateSecretProperties(e,I,l={}){let{enabled:n,notBefore:c,expiresOn:s,tags:a}=l,r=YJ(l,["enabled","notBefore","expiresOn","tags"]);return QG.withSpan("SecretClient.updateSecretProperties",r,async o=>{let d=await this.client.updateSecret(e,I,{secretAttributes:{enabled:n,notBefore:c,expires:s},tags:a},o);return Rr(d).properties})}getSecret(e,I={}){return QG.withSpan("SecretClient.getSecret",I,async l=>{let n=await this.client.getSecret(e,I&&I.version?I.version:"",l);return Rr(n)})}getDeletedSecret(e,I={}){return QG.withSpan("SecretClient.getDeletedSecret",I,async l=>{let n=await this.client.getDeletedSecret(e,l);return Rr(n)})}purgeDeletedSecret(e,I={}){return QG.withSpan("SecretClient.purgeDeletedSecret",I,async l=>{await this.client.purgeDeletedSecret(e,l)})}async beginRecoverDeletedSecret(e,I={}){let l=new GK(Object.assign(Object.assign({name:e,client:this.client},I),{operationOptions:I}));return await l.poll(),l}backupSecret(e,I={}){return QG.withSpan("SecretClient.backupSecret",I,async l=>(await this.client.backupSecret(e,l)).value)}restoreSecretBackup(e,I={}){return QG.withSpan("SecretClient.restoreSecretBackup",I,async l=>{let n=await this.client.restoreSecret({secretBundleBackup:e},l);return Rr(n).properties})}listPropertiesOfSecretVersions(e,I={}){return nK(l=>this.client.getSecretVersions(e,l),I,l=>Rr(l).properties)}listPropertiesOfSecrets(e={}){return nK(this.client.getSecrets.bind(this.client),e,I=>Rr(I).properties)}listDeletedSecrets(e={}){return nK(this.client.getDeletedSecrets.bind(this.client),e,Rr)}};var poe=class{client;logger;constructor(e,I){if(this.logger=I,e){this.logger.debug(`Using Azure Key Vault at ${e}`);let l=new vm;this.client=new oK(e,l)}else this.logger.debug("No Azure Key Vault URI provided, secret provider disabled")}async getSecret(e){if(this.client)try{return(await this.client.getSecret(e)).value}catch(I){if(this.logger.warning(`Error fetching secret ${e}: ${I}`),I?.code==="SecretNotFound")return;throw I}}};function Tfe(t,e){let I=t.api?.copilot?.azureKeyVaultUri;return Zoe(I,e)}function Zoe(t,e){return new poe(t,e)}G();import{createHmac as MHI}from"crypto";var dK=class t{static encode(e){let I=t.hmacGetBytes(e),s=(Math.floor(Date.now()/1e3)+30).toString(),a=Buffer.from(s,"ascii"),d=MHI("sha256",I).update(a).digest().toString("hex").toUpperCase();return`${s}.${d}`}static hmacGetBytes(e){return Buffer.from(e,"ascii")}};var THI="X-GitHub-Api-Version",jHI="2025-05-01",iK=class t extends XI{constructor(I,l,n,c){super({baseURL:I,apiKey:"",logLevel:W1()?"debug":"info"});this.headers=l;this.runnerLogger=n;this.hmacKey=c}static baseHeaders={"Content-Type":"application/json",Accept:"application/json","X-Interaction-Type":"conversation-agent","Openai-Intent":"conversation-agent","X-Initiator":"user",[THI]:jHI};hmacKey;additionalHeaders={};static createWithOAuthToken(I,l,n,c,s,a){let r={...this.defaultHeaders(n,s),Authorization:`Bearer ${c}`,...a??{}};return I.debug(`Creating copilot-client for integration ID ${n} with token authentication. User-agent: ${r["User-Agent"]}`),new t(l,r,I)}static createWithHmac(I,l,n,c,s,a,r){let o={...this.defaultHeaders(n,s),Authorization:"",...r??{}};return a&&(o["X-GitHub-User"]=a),I.debug(`Creating copilot-client for integration ID ${n} with key authentication. User-agent: ${o["User-Agent"]}`),new t(l,o,I,c)}static defaultHeaders(I,l){let n=TGe();return{...t.baseHeaders,"Copilot-Integration-Id":I,"User-Agent":`${n.nameNoScope}/${n.version} (${process.platform} ${process.version}) OpenAI/${Km}`,"X-Interaction-Id":l}}async prepareOptions(I){this.hmacKey&&(this.headers["Request-HMAC"]=dK.encode(this.hmacKey)),I.headers={...this.headers,...this.additionalHeaders,...I.headers},await super.prepareOptions(I)}setInitiatorHeader(I){this.headers["X-Initiator"]=I}setAdditionalHeaders(I){this.additionalHeaders=I}async listModels(){let I={method:"get",path:""};await this.prepareOptions(I);let l={};if(I.headers)for(let[a,r]of Object.entries(I.headers))typeof r=="string"&&(l[a]=r);let n=`${this.baseURL}/models`,c=await fetch(n,{method:I.method,headers:l});if(!c.ok)return this.runnerLogger.error(`Failed to list models: ${c.statusText}`),[];let s=await c.json();return this.runnerLogger.debug(`Successfully listed ${s.data.length} models`),s.data}},Cw=class{async createClient(e,I,l){I.startGroup("configured settings:",8),I.debug(JSON.stringify(e,null,2)),I.endGroup(8);let n=e.api?.copilot?.token,c=e.api?.copilot?.hmacKey,s=!!(c||n);if(!s){I.debug("No Copilot HMAC key or GitHub OAuth token provided, trying secret provider");let i=Tfe(e,I);try{c=await i.getSecret("capi-hmac-key")}catch(h){I.debug(`Failed to get Copilot HMAC key from secret provider:
|
|
517
|
+
Body doesn't contain an array property with name: ${e}`);return I??[]}function aHI(t,e){if(!e.includes(t.status))throw Ba(`Pagination failed with unexpected statusCode ${t.status}`,t)}G();function Ew(t,e,I){return(e??I==="+")||I==="#"?Bfe(t):zfe(t)}function Bfe(t){return t.split(/(%[0-9A-Fa-f]{2})/g).map(e=>/%[0-9A-Fa-f]/.test(e)?e:encodeURI(e)).join("")}function zfe(t){return encodeURIComponent(t).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)}function mL(t){return t!=null}function _Ge(t){return[!!t&&[";","?","&"].includes(t),t&&["?","&"].includes(t)?"=":""]}function lK(t,e=!1){return e?!t||t==="+"?"":t:!t||t==="+"||t==="#"?",":t==="?"?"&":t}function rHI(t){let e=t.isFirst,{op:I,varName:l,varValue:n,reserved:c}=t,s=[],[a,r]=_Ge(I);if(Array.isArray(n))for(let o of n.filter(mL))s.push(`${lK(I,e)}`),a&&l&&(s.push(`${encodeURIComponent(l)}`),o===""?s.push(r):s.push("=")),s.push(Ew(o,c,I)),e=!1;else if(typeof n=="object")for(let o of Object.keys(n)){let d=n[o];mL(d)&&(s.push(`${lK(I,e)}`),o&&(s.push(`${encodeURIComponent(o)}`),a&&d===""?s.push(r):s.push("=")),s.push(Ew(d,c,I)),e=!1)}return s.join("")}function GHI(t){let{op:e,varName:I,varValue:l,isFirst:n,reserved:c}=t,s=[],a=lK(e,n),[r,o]=_Ge(e);if(r&&I){if(s.push(Ew(I,c,e)),l==="")return o||s.push(o),s.join("")?`${a}${s.join("")}`:void 0;s.push("=")}let d=[];if(Array.isArray(l))for(let i of l.filter(mL))d.push(Ew(i,c,e));else if(typeof l=="object")for(let i of Object.keys(l))mL(l[i])&&(d.push(zfe(i)),d.push(Ew(l[i],c,e)));return s.push(d.join(",")),s.join(",")?`${a}${s.join("")}`:void 0}function oHI(t){let{op:e,varName:I,modifier:l,isFirst:n,reserved:c,varValue:s}=t;if(mL(s))if(["string","number","boolean"].includes(typeof s)){let a=s.toString(),[r,o]=_Ge(e),d=[lK(e,n)];return r&&I&&(d.push(I),a===""?d.push(o):d.push("=")),l&&l!=="*"&&(a=a.substring(0,parseInt(l,10))),d.push(Ew(a,c,e)),d.join("")}else return l==="*"?rHI(t):GHI(t);else return}function Bo(t,e,I){return t.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(l,n,c)=>{if(!n)return Bfe(c);let s;["+","#",".","/",";","?","&"].includes(n[0])&&(s=n[0],n=n.slice(1));let a=n.split(/,/g),r=[];for(let o of a){let d=/([^:\*]*)(?::(\d+)|(\*))?/.exec(o);if(!d||!d[1])continue;let i=oHI({isFirst:r.length===0,op:s,varValue:e[d[1]],varName:d[1],modifier:d[2]||d[3],reserved:I?.allowReserved});i&&r.push(i)}return r.join("")})}function dHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/secrets/restore{?api%2Dversion}",{"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).post(Object.assign(Object.assign({},gG(I)),{contentType:"application/json",headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers),body:xfe(e)}))}async function iHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function $Ge(t,e,I={requestOptions:{}}){let l=await dHI(t,e,I);return iHI(l)}function bHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/secrets/{secret-name}/backup{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).post(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function mHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return ffe(t.body)}async function eoe(t,e,I={requestOptions:{}}){let l=await bHI(t,e,I);return mHI(l)}function hHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/deletedsecrets/{secret-name}/recover{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).post(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function pHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function Ioe(t,e,I={requestOptions:{}}){let l=await hHI(t,e,I);return pHI(l)}function ZHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/deletedsecrets/{secret-name}{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).delete(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function uHI(t){if(!["204"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}}async function toe(t,e,I={requestOptions:{}}){let l=await ZHI(t,e,I);return uHI(l)}function WHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/deletedsecrets/{secret-name}{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).get(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function NHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return KGe(t.body)}async function loe(t,e,I={requestOptions:{}}){let l=await WHI(t,e,I);return NHI(l)}function YHI(t,e={requestOptions:{}}){var I,l;let n=Bo("/deletedsecrets{?api%2Dversion,maxresults}",{"api%2Dversion":t.apiVersion,maxresults:e?.maxresults},{allowReserved:(I=e?.requestOptions)===null||I===void 0?void 0:I.skipUrlEncoding});return t.path(n).get(Object.assign(Object.assign({},gG(e)),{headers:Object.assign({accept:"application/json"},(l=e.requestOptions)===null||l===void 0?void 0:l.headers)}))}async function VHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return kfe(t.body)}function noe(t,e={requestOptions:{}}){return tK(t,()=>YHI(t,e),VHI,["200"],{itemName:"value",nextLinkName:"nextLink"})}function RHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/secrets/{secret-name}/versions{?api%2Dversion,maxresults}",{"secret-name":e,"api%2Dversion":t.apiVersion,maxresults:I?.maxresults},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).get(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function yHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return PGe(t.body)}function coe(t,e,I={requestOptions:{}}){return tK(t,()=>RHI(t,e,I),yHI,["200"],{itemName:"value",nextLinkName:"nextLink"})}function FHI(t,e={requestOptions:{}}){var I,l;let n=Bo("/secrets{?api%2Dversion,maxresults}",{"api%2Dversion":t.apiVersion,maxresults:e?.maxresults},{allowReserved:(I=e?.requestOptions)===null||I===void 0?void 0:I.skipUrlEncoding});return t.path(n).get(Object.assign(Object.assign({},gG(e)),{headers:Object.assign({accept:"application/json"},(l=e.requestOptions)===null||l===void 0?void 0:l.headers)}))}async function gHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return PGe(t.body)}function soe(t,e={requestOptions:{}}){return tK(t,()=>FHI(t,e),gHI,["200"],{itemName:"value",nextLinkName:"nextLink"})}function QHI(t,e,I,l={requestOptions:{}}){var n,c;let s=Bo("/secrets/{secret-name}/{secret-version}{?api%2Dversion}",{"secret-name":e,"secret-version":I,"api%2Dversion":t.apiVersion},{allowReserved:(n=l?.requestOptions)===null||n===void 0?void 0:n.skipUrlEncoding});return t.path(s).get(Object.assign(Object.assign({},gG(l)),{headers:Object.assign({accept:"application/json"},(c=l.requestOptions)===null||c===void 0?void 0:c.headers)}))}async function AHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function aoe(t,e,I,l={requestOptions:{}}){let n=await QHI(t,e,I,l);return AHI(n)}function wHI(t,e,I,l,n={requestOptions:{}}){var c,s;let a=Bo("/secrets/{secret-name}/{secret-version}{?api%2Dversion}",{"secret-name":e,"secret-version":I,"api%2Dversion":t.apiVersion},{allowReserved:(c=n?.requestOptions)===null||c===void 0?void 0:c.skipUrlEncoding});return t.path(a).patch(Object.assign(Object.assign({},gG(n)),{contentType:"application/json",headers:Object.assign({accept:"application/json"},(s=n.requestOptions)===null||s===void 0?void 0:s.headers),body:Lfe(l)}))}async function XHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function roe(t,e,I,l,n={requestOptions:{}}){let c=await wHI(t,e,I,l,n);return XHI(c)}function EHI(t,e,I={requestOptions:{}}){var l,n;let c=Bo("/secrets/{secret-name}{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(l=I?.requestOptions)===null||l===void 0?void 0:l.skipUrlEncoding});return t.path(c).delete(Object.assign(Object.assign({},gG(I)),{headers:Object.assign({accept:"application/json"},(n=I.requestOptions)===null||n===void 0?void 0:n.headers)}))}async function HHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return KGe(t.body)}async function Goe(t,e,I={requestOptions:{}}){let l=await EHI(t,e,I);return HHI(l)}function vHI(t,e,I,l={requestOptions:{}}){var n,c;let s=Bo("/secrets/{secret-name}{?api%2Dversion}",{"secret-name":e,"api%2Dversion":t.apiVersion},{allowReserved:(n=l?.requestOptions)===null||n===void 0?void 0:n.skipUrlEncoding});return t.path(s).put(Object.assign(Object.assign({},gG(l)),{contentType:"application/json",headers:Object.assign({accept:"application/json"},(c=l.requestOptions)===null||c===void 0?void 0:c.headers),body:vfe(I)}))}async function CHI(t){if(!["200"].includes(t.status)){let I=Ba(t);throw I.details=xo(t.body),I}return Xw(t.body)}async function ooe(t,e,I,l={requestOptions:{}}){let n=await vHI(t,e,I,l);return CHI(n)}var hL=class{constructor(e,I,l={}){var n;let c=(n=l?.userAgentOptions)===null||n===void 0?void 0:n.userAgentPrefix,s=c?`${c} azsdk-js-client`:"azsdk-js-client";this._client=DGe(e,I,Object.assign(Object.assign({},l),{userAgentOptions:{userAgentPrefix:s}})),this.pipeline=this._client.pipeline}restoreSecret(e,I={requestOptions:{}}){return $Ge(this._client,e,I)}backupSecret(e,I={requestOptions:{}}){return eoe(this._client,e,I)}recoverDeletedSecret(e,I={requestOptions:{}}){return Ioe(this._client,e,I)}purgeDeletedSecret(e,I={requestOptions:{}}){return toe(this._client,e,I)}getDeletedSecret(e,I={requestOptions:{}}){return loe(this._client,e,I)}getDeletedSecrets(e={requestOptions:{}}){return noe(this._client,e)}getSecretVersions(e,I={requestOptions:{}}){return coe(this._client,e,I)}getSecrets(e={requestOptions:{}}){return soe(this._client,e)}getSecret(e,I,l={requestOptions:{}}){return aoe(this._client,e,I,l)}updateSecret(e,I,l,n={requestOptions:{}}){return roe(this._client,e,I,l,n)}deleteSecret(e,I={requestOptions:{}}){return Goe(this._client,e,I)}setSecret(e,I,l={requestOptions:{}}){return ooe(this._client,e,I,l)}};G();G();G();var JHI=["authorization","authorization_url","resource","scope","tenantId","claims","error"];function doe(t){let e=/,? +/,I=t.split(e).reduce((l,n)=>{if(n.match(/\w="/)){let[c,...s]=n.split("=");if(JHI.includes(c))return Object.assign(Object.assign({},l),{[c]:s.join("=").slice(1,-1)})}return l},{});if(I.authorization)try{let l=new URL(I.authorization).pathname.substring(1);l&&(I.tenantId=l)}catch{throw new Error(`The challenge authorization URI '${I.authorization}' is invalid.`)}return I}G();var LHI={forcedRefreshWindowInMs:1e3,retryIntervalInMs:3e3,refreshWindowInMs:1e3*60*2};async function kHI(t,e,I){async function l(){if(Date.now()<I)try{return await t()}catch{return null}else{let c=await t();if(c===null)throw new Error("Failed to refresh access token.");return c}}let n=await l();for(;n===null;)await eN(e),n=await l();return n}function Ufe(t,e){let I=null,l=null,n,c=Object.assign(Object.assign({},LHI),e),s={get isRefreshing(){return I!==null},get shouldRefresh(){var r;return s.isRefreshing?!1:l?.refreshAfterTimestamp&&l.refreshAfterTimestamp<Date.now()?!0:((r=l?.expiresOnTimestamp)!==null&&r!==void 0?r:0)-c.refreshWindowInMs<Date.now()},get mustRefresh(){return l===null||l.expiresOnTimestamp-c.forcedRefreshWindowInMs<Date.now()}};function a(r,o){var d;return s.isRefreshing||(I=kHI(()=>t.getToken(r,o),c.retryIntervalInMs,(d=l?.expiresOnTimestamp)!==null&&d!==void 0?d:Date.now()).then(h=>(I=null,l=h,n=o.tenantId,l)).catch(h=>{throw I=null,l=null,n=void 0,h})),I}return async(r,o)=>{let d=!!o.claims,i=n!==o.tenantId;return d&&(l=null),i||d||s.mustRefresh?a(r,o):(s.shouldRefresh&&a(r,o),l)}}G();var Sfe=Xa("keyvault-common");function fHI(t,e){let I;try{I=new URL(t)}catch{throw new Error(`The challenge contains invalid scope '${t}'`)}if(!new URL(e.url).hostname.endsWith(`.${I.hostname}`))throw new Error(`The challenge resource '${I.hostname}' does not match the requested domain. Set disableChallengeResourceVerification to true in your client options to disable. See https://aka.ms/azsdk/blog/vault-uri for more information.`)}var xHI="keyVaultAuthenticationPolicy";function Ofe(t,e={}){let{disableChallengeResourceVerification:I}=e,l={status:"none"},n=Ufe(t);function c(d){return{abortSignal:d.abortSignal,requestOptions:{timeout:d.timeout>0?d.timeout:void 0},tracingOptions:d.tracingOptions}}async function s(d){let i=c(d);switch(l.status){case"none":l={status:"started",originalBody:d.body},d.body=null;break;case"started":break;case"complete":{let h=await n(l.scopes,Object.assign(Object.assign({},i),{enableCae:!0,tenantId:l.tenantId}));h&&d.headers.set("authorization",`Bearer ${h.token}`);break}}}async function a(d,i,h){if(i.status!==401)return i;d.body===null&&l.status==="started"&&(d.body=l.originalBody);let p=c(d),Z=i.headers.get("WWW-Authenticate");if(!Z)return Sfe.warning("keyVaultAuthentication policy encountered a 401 response without a corresponding WWW-Authenticate header. This is unexpected. Not handling the 401 response."),i;let u=doe(Z),N=u.resource?u.resource+"/.default":u.scope;if(!N)return i;I||fHI(N,d);let Y=await n([N],Object.assign(Object.assign({},p),{enableCae:!0,tenantId:u.tenantId}));return Y?(d.headers.set("Authorization",`Bearer ${Y.token}`),l={status:"complete",scopes:[N],tenantId:u.tenantId},h(d)):i}async function r(d,i,h){if(l.status!=="complete"||i.status!==401)return i;let p=c(d),Z=i.headers.get("WWW-Authenticate");if(!Z)return i;let{claims:u,error:N}=doe(Z);if(N!=="insufficient_claims"||u===void 0)return i;let Y=atob(u),y=await n(l.scopes,Object.assign(Object.assign({},p),{enableCae:!0,tenantId:l.tenantId,claims:Y}));return d.headers.set("Authorization",`Bearer ${y.token}`),h(d)}async function o(d,i){await s(d);let h=await i(d);return h=await a(d,h,i),h=await r(d,h,i),h}return{name:xHI,sendRequest:o}}G();function Mfe(t,e){if(typeof t!="string"||!(t=t.trim()))throw new Error("Invalid collection argument");if(typeof e!="string"||!(e=e.trim()))throw new Error("Invalid identifier argument");let I;try{I=new URL(e)}catch{throw new Error(`Invalid ${t} identifier: ${e}. Not a valid URI`)}let l=(I.pathname||"").split("/");if(l.length!==3&&l.length!==4)throw new Error(`Invalid ${t} identifier: ${e}. Bad number of segments: ${l.length}`);if(t!==l[1])throw new Error(`Invalid ${t} identifier: ${e}. segment [1] should be "${t}", found "${l[1]}"`);let n=`${I.protocol}//${I.host}`,c=l[2],s=l.length===4?l[3]:void 0;return{vaultUrl:n,name:c,version:s}}G();G();G();G();function ioe(t){let I=t.split("/")[3];return Object.assign({sourceId:t},Mfe(I,t))}G();function Rr(t){let e=t,I=t,l=ioe(e.id),n=e.attributes;delete e.attributes;let c={value:e.value,name:l.name,properties:{expiresOn:n?.expires,createdOn:n?.created,updatedOn:n?.updated,enabled:n?.enabled,notBefore:n?.notBefore,recoverableDays:n?.recoverableDays,recoveryLevel:n?.recoveryLevel,id:e.id,contentType:e.contentType,tags:e.tags,managed:e.managed,vaultUrl:l.vaultUrl,version:l.version,name:l.name,certificateKeyId:e.kid}};return I.recoveryId&&(c.properties.recoveryId=I.recoveryId,c.properties.scheduledPurgeDate=I.scheduledPurgeDate,c.properties.deletedOn=I.deletedDate,c.recoveryId=I.recoveryId,c.scheduledPurgeDate=I.scheduledPurgeDate,c.deletedOn=I.deletedDate),n&&(n.vaultUrl&&delete c.properties.vaultUrl,n.expires&&delete c.properties.expires,n.created&&delete c.properties.created,n.updated&&delete c.properties.updated),c}function nK(t,e,I){let l;return{async next(){l??(l=t(Object.assign(Object.assign({},e),{maxresults:void 0})));let n=await l.next();return Object.assign(Object.assign({},n),{value:n.value&&I(n.value)})},[Symbol.asyncIterator](){return this},byPage(n){return lN(this,arguments,function*(){var s,a,r,o;let d=t(Object.assign(Object.assign({},e),{maxresults:n?.maxPageSize})).byPage(n);try{for(var i=!0,h=HR(d),p;p=yield Nn(h.next()),s=p.done,!s;i=!0)o=p.value,i=!1,yield yield Nn(o.map(I))}catch(Z){a={error:Z}}finally{try{!i&&!s&&(r=h.return)&&(yield Nn(r.call(h)))}finally{if(a)throw a.error}}})}}}G();G();var cK="4.10.0";var QG=J2({namespace:"Microsoft.KeyVault",packageName:"@azure/keyvault-secrets",packageVersion:cK});G();G();G();G();G();G();G();G();var boe=Xa("core-lro");G();G();G();G();G();G();var moe=class t extends Error{constructor(e){super(e),this.name="PollerStoppedError",Object.setPrototypeOf(this,t.prototype)}},hoe=class t extends Error{constructor(e){super(e),this.name="PollerCancelledError",Object.setPrototypeOf(this,t.prototype)}},pL=class{constructor(e){this.resolveOnUnsuccessful=!1,this.stopped=!0,this.pollProgressCallbacks=[],this.operation=e,this.promise=new Promise((I,l)=>{this.resolve=I,this.reject=l}),this.promise.catch(()=>{})}async startPolling(e={}){for(this.stopped&&(this.stopped=!1);!this.isStopped()&&!this.isDone();)await this.poll(e),await this.delay()}async pollOnce(e={}){this.isDone()||(this.operation=await this.operation.update({abortSignal:e.abortSignal,fireProgress:this.fireProgress.bind(this)})),this.processUpdatedState()}fireProgress(e){for(let I of this.pollProgressCallbacks)I(e)}async cancelOnce(e={}){this.operation=await this.operation.cancel(e)}poll(e={}){if(!this.pollOncePromise){this.pollOncePromise=this.pollOnce(e);let I=()=>{this.pollOncePromise=void 0};this.pollOncePromise.then(I,I).catch(this.reject)}return this.pollOncePromise}processUpdatedState(){if(this.operation.state.error&&(this.stopped=!0,!this.resolveOnUnsuccessful))throw this.reject(this.operation.state.error),this.operation.state.error;if(this.operation.state.isCancelled&&(this.stopped=!0,!this.resolveOnUnsuccessful)){let e=new hoe("Operation was canceled");throw this.reject(e),e}this.isDone()&&this.resolve&&this.resolve(this.getResult())}async pollUntilDone(e={}){return this.stopped&&this.startPolling(e).catch(this.reject),this.processUpdatedState(),this.promise}onProgress(e){return this.pollProgressCallbacks.push(e),()=>{this.pollProgressCallbacks=this.pollProgressCallbacks.filter(I=>I!==e)}}isDone(){let e=this.operation.state;return!!(e.isCompleted||e.isCancelled||e.error)}stopPolling(){this.stopped||(this.stopped=!0,this.reject&&this.reject(new moe("This poller is already stopped")))}isStopped(){return this.stopped}cancelOperation(e={}){if(!this.cancelPromise)this.cancelPromise=this.cancelOnce(e);else if(e.abortSignal)throw new Error("A cancel request is currently pending");return this.cancelPromise}getOperationState(){return this.operation.state}getResult(){return this.operation.state.result}toString(){return this.operation.toString()}};G();var Hw=class extends pL{constructor(){super(...arguments),this.intervalInMs=2e3}async delay(){return eN(this.intervalInMs)}},vw=class{constructor(e,I={}){this.state=e,this.cancelMessage="",I.cancelMessage&&(this.cancelMessage=I.cancelMessage)}async update(){throw new Error("Operation not supported.")}async cancel(){throw new Error(this.cancelMessage)}toString(){return JSON.stringify({state:this.state})}};var sK=class extends vw{constructor(e,I,l={}){super(e,{cancelMessage:"Canceling the deletion of a secret is not supported."}),this.state=e,this.client=I,this.operationOptions=l}deleteSecret(e,I={}){return QG.withSpan("DeleteSecretPoller.deleteSecret",I,async l=>{let n=await this.client.deleteSecret(e,l);return Rr(n)})}getDeletedSecret(e,I={}){return QG.withSpan("DeleteSecretPoller.getDeletedSecret",I,async l=>{let n=await this.client.getDeletedSecret(e,l);return Rr(n)})}async update(e={}){let I=this.state,{name:l}=I;if(e.abortSignal&&(this.operationOptions.abortSignal=e.abortSignal),!I.isStarted){let n=await this.deleteSecret(l,this.operationOptions);I.isStarted=!0,I.result=n,n.properties.recoveryId||(I.isCompleted=!0)}if(!I.isCompleted)try{I.result=await this.getDeletedSecret(l,this.operationOptions),I.isCompleted=!0}catch(n){if(n.statusCode===403)I.isCompleted=!0;else if(n.statusCode!==404)throw I.error=n,I.isCompleted=!0,n}return this}};var aK=class extends Hw{constructor(e){let{client:I,name:l,operationOptions:n,intervalInMs:c=2e3,resumeFrom:s}=e,a;s&&(a=JSON.parse(s).state);let r=new sK(Object.assign(Object.assign({},a),{name:l}),I,n);super(r),this.intervalInMs=c}};G();G();var rK=class extends vw{constructor(e,I,l={}){super(e,{cancelMessage:"Canceling the recovery of a deleted secret is not supported."}),this.state=e,this.client=I,this.options=l}getSecret(e,I={}){return QG.withSpan("RecoverDeletedSecretPoller.getSecret",I,async l=>{let n=await this.client.getSecret(e,I&&I.version?I.version:"",l);return Rr(n)})}recoverDeletedSecret(e,I={}){return QG.withSpan("RecoverDeletedSecretPoller.recoverDeletedSecret",I,async l=>{let n=await this.client.recoverDeletedSecret(e,l);return Rr(n)})}async update(e={}){let I=this.state,{name:l}=I;if(e.abortSignal&&(this.options.abortSignal=e.abortSignal),!I.isStarted){try{I.result=(await this.getSecret(l,this.options)).properties,I.isCompleted=!0}catch{}I.isCompleted||(I.result=(await this.recoverDeletedSecret(l,this.options)).properties,I.isStarted=!0)}if(!I.isCompleted)try{I.result=(await this.getSecret(l,this.options)).properties,I.isCompleted=!0}catch(n){if(n.statusCode===403)I.isCompleted=!0;else if(n.statusCode!==404)throw I.error=n,I.isCompleted=!0,n}return this}};var GK=class extends Hw{constructor(e){let{client:I,name:l,operationOptions:n,intervalInMs:c=2e3,resumeFrom:s}=e,a;s&&(a=JSON.parse(s).state);let r=new rK(Object.assign(Object.assign({},a),{name:l}),I,n);super(r),this.intervalInMs=c}};var oK=class{constructor(e,I,l={}){var n,c;this.vaultUrl=e;let s=Object.assign(Object.assign({},l),{userAgentOptions:{userAgentPrefix:`${(c=(n=l.userAgentOptions)===null||n===void 0?void 0:n.userAgentPrefix)!==null&&c!==void 0?c:""} azsdk-js-keyvault-secrets/${cK}`},apiVersion:l.serviceVersion||"7.6",loggingOptions:{logger:gfe.info,additionalAllowedHeaderNames:["x-ms-keyvault-region","x-ms-keyvault-network-info","x-ms-keyvault-service-version"]}});this.client=new hL(this.vaultUrl,I,s),this.client.pipeline.removePolicy({name:UT}),this.client.pipeline.addPolicy(Ofe(I,l),{}),this.client.pipeline.addPolicy({name:"ContentTypePolicy",sendRequest(a,r){var o;return((o=a.headers.get("Content-Type"))!==null&&o!==void 0?o:"").startsWith("application/json")&&a.headers.set("Content-Type","application/json"),r(a)}})}setSecret(e,I,l={}){let{enabled:n,notBefore:c,expiresOn:s,tags:a}=l,r=YJ(l,["enabled","notBefore","expiresOn","tags"]);return QG.withSpan("SecretClient.setSecret",r,async o=>{let d=await this.client.setSecret(e,{value:I,secretAttributes:{enabled:n,notBefore:c,expires:s},tags:a},o);return Rr(d)})}async beginDeleteSecret(e,I={}){let l=new aK(Object.assign(Object.assign({name:e,client:this.client},I),{operationOptions:I}));return await l.poll(),l}async updateSecretProperties(e,I,l={}){let{enabled:n,notBefore:c,expiresOn:s,tags:a}=l,r=YJ(l,["enabled","notBefore","expiresOn","tags"]);return QG.withSpan("SecretClient.updateSecretProperties",r,async o=>{let d=await this.client.updateSecret(e,I,{secretAttributes:{enabled:n,notBefore:c,expires:s},tags:a},o);return Rr(d).properties})}getSecret(e,I={}){return QG.withSpan("SecretClient.getSecret",I,async l=>{let n=await this.client.getSecret(e,I&&I.version?I.version:"",l);return Rr(n)})}getDeletedSecret(e,I={}){return QG.withSpan("SecretClient.getDeletedSecret",I,async l=>{let n=await this.client.getDeletedSecret(e,l);return Rr(n)})}purgeDeletedSecret(e,I={}){return QG.withSpan("SecretClient.purgeDeletedSecret",I,async l=>{await this.client.purgeDeletedSecret(e,l)})}async beginRecoverDeletedSecret(e,I={}){let l=new GK(Object.assign(Object.assign({name:e,client:this.client},I),{operationOptions:I}));return await l.poll(),l}backupSecret(e,I={}){return QG.withSpan("SecretClient.backupSecret",I,async l=>(await this.client.backupSecret(e,l)).value)}restoreSecretBackup(e,I={}){return QG.withSpan("SecretClient.restoreSecretBackup",I,async l=>{let n=await this.client.restoreSecret({secretBundleBackup:e},l);return Rr(n).properties})}listPropertiesOfSecretVersions(e,I={}){return nK(l=>this.client.getSecretVersions(e,l),I,l=>Rr(l).properties)}listPropertiesOfSecrets(e={}){return nK(this.client.getSecrets.bind(this.client),e,I=>Rr(I).properties)}listDeletedSecrets(e={}){return nK(this.client.getDeletedSecrets.bind(this.client),e,Rr)}};var poe=class{client;logger;constructor(e,I){if(this.logger=I,e){this.logger.debug(`Using Azure Key Vault at ${e}`);let l=new vm;this.client=new oK(e,l)}else this.logger.debug("No Azure Key Vault URI provided, secret provider disabled")}async getSecret(e){if(this.client)try{return(await this.client.getSecret(e)).value}catch(I){if(this.logger.warning(`Error fetching secret ${e}: ${I}`),I?.code==="SecretNotFound")return;throw I}}};function Tfe(t,e){let I=t.api?.copilot?.azureKeyVaultUri;return Zoe(I,e)}function Zoe(t,e){return new poe(t,e)}G();import{createHmac as MHI}from"crypto";var dK=class t{static encode(e){let I=t.hmacGetBytes(e),s=(Math.floor(Date.now()/1e3)+30).toString(),a=Buffer.from(s,"ascii"),d=MHI("sha256",I).update(a).digest().toString("hex").toUpperCase();return`${s}.${d}`}static hmacGetBytes(e){return Buffer.from(e,"ascii")}};var THI="X-GitHub-Api-Version",jHI="2025-05-01",iK=class t extends XI{constructor(I,l,n,c){super({baseURL:I,apiKey:"",logLevel:W1()?"debug":"info"});this.headers=l;this.runnerLogger=n;this.hmacKey=c}static baseHeaders={"Content-Type":"application/json",Accept:"application/json","X-Interaction-Type":"conversation-agent","Openai-Intent":"conversation-agent","X-Initiator":"user",[THI]:jHI};hmacKey;additionalHeaders={};static createWithOAuthToken(I,l,n,c,s,a){let r={...this.defaultHeaders(n,s),Authorization:`Bearer ${c}`,...a??{}};return I.debug(`Creating copilot-client for integration ID ${n} with token authentication. User-agent: ${r["User-Agent"]}`),new t(l,r,I)}static createWithHmac(I,l,n,c,s,a,r){let o={...this.defaultHeaders(n,s),Authorization:"",...r??{}};return a&&(o["X-GitHub-User"]=a),I.debug(`Creating copilot-client for integration ID ${n} with key authentication. User-agent: ${o["User-Agent"]}`),new t(l,o,I,c)}static defaultHeaders(I,l){let n=TGe();return{...t.baseHeaders,"Copilot-Integration-Id":I,"User-Agent":`${n.nameNoScope}/${n.version} (${process.platform} ${process.version}) OpenAI/${Km}`,"X-Interaction-Id":l}}async prepareOptions(I){this.hmacKey&&(this.headers["Request-HMAC"]=dK.encode(this.hmacKey)),I.headers={...this.headers,...this.additionalHeaders,...I.headers},await super.prepareOptions(I)}setInitiatorHeader(I){this.headers["X-Initiator"]=I}setAdditionalHeaders(I){this.additionalHeaders=I}async listModels(){let I={method:"get",path:""};await this.prepareOptions(I);let l={};if(I.headers)for(let[a,r]of Object.entries(I.headers))typeof r=="string"&&(l[a]=r);let n=`${this.baseURL}/models`,c=await fetch(n,{method:I.method,headers:l});if(!c.ok)return this.runnerLogger.error(`Failed to list models: ${c.status} ${c.statusText}: ${await c.text()}`),[];let s=await c.json();return this.runnerLogger.debug(`Successfully listed ${s.data.length} models`),s.data}},Cw=class{async createClient(e,I,l){I.startGroup("configured settings:",8),I.debug(JSON.stringify(e,null,2)),I.endGroup(8);let n=e.api?.copilot?.token,c=e.api?.copilot?.hmacKey,s=!!(c||n);if(!s){I.debug("No Copilot HMAC key or GitHub OAuth token provided, trying secret provider");let i=Tfe(e,I);try{c=await i.getSecret("capi-hmac-key")}catch(h){I.debug(`Failed to get Copilot HMAC key from secret provider:
|
|
518
518
|
${h}`)}try{n=await i.getSecret("capi-token")}catch(h){I.debug(`Failed to get Copilot GitHub OAuth token from secret provider:
|
|
519
519
|
${h}`)}s=!!(c||n)}let a,r=Fue(e),o=N1(e),d=e.api?.copilot?.sessionId??kV(e);if(I.debug(`Using Copilot API at ${r} with integration ID ${o}`),n&&(I.debug("Using GitHub OAuth token for Copilot API"),a=iK.createWithOAuthToken(I,r,o,n,d,l?.requestHeaders)),c){I.debug("Using Copilot HMAC key for Copilot API");let i=process.env.GITHUB_USER_ID;i?I.debug(`Using user ID ${i} for Copilot HMAC key`):I.debug("No user ID provided for Copilot HMAC key"),a=iK.createWithHmac(I,r,o,c,d,i,l?.requestHeaders)}if(a===void 0)throw new Error("No GitHub OAuth token or Copilot HMAC key provided");return a}},Jw=class t extends cc{request_id;constructor(e){super(e.status,e.error,e.message,e.headers),this.name="CAPIError",this.ghRequestId=e.headers?.get("x-github-request-id")||this.requestID,this.request_id=this.requestID}ghRequestId;static fromAPIError(e){if(!(!e||!(e instanceof cc)))return new t(e)}};var uoe={type:"ephemeral"},Lw=class t{constructor(e,I,l,n){this.settings=I;this.logger=l;this.clientOptions=t.initDefaultOptions(n),l.info(" "),l.debug(`Using model: ${this.model}`),this.clientPromise=e.createClient(I,l,n),this.modelPromise=this.clientPromise.then(async()=>{let c=await this.getModel();return l.debug(`Got model info: ${JSON.stringify(c,null,2)}`),c})}clientOptions;clientPromise;modelPromise;get model(){return this.clientOptions.model}static initDefaultOptions(e){return{model:e?.model||wGe.model,toolTokenBudgetProportion:e?.toolTokenBudgetProportion??.25,retryPolicy:{maxRetries:e?.retryPolicy?.maxRetries??5,errorCodesToRetry:e?.retryPolicy?.errorCodesToRetry??[],rateLimitRetryPolicy:{defaultRetryAfterSeconds:e?.retryPolicy?.rateLimitRetryPolicy?.defaultRetryAfterSeconds??5,initialRetryBackoffExtraSeconds:e?.retryPolicy?.rateLimitRetryPolicy?.initialRetryBackoffExtraSeconds??1,retryBackoffExtraGrowth:e?.retryPolicy?.rateLimitRetryPolicy?.retryBackoffExtraGrowth??2,maxRetryAfterSeconds:e?.retryPolicy?.rateLimitRetryPolicy?.maxRetryAfterSeconds??180}},thinkingMode:e?.thinkingMode??!1,requestHeaders:e?.requestHeaders??{}}}getCompletionOptions(e,I){let l={snippy:{enabled:!1}};return{temperature:0,top_p:.95,frequency_penalty:0,presence_penalty:0,tool_choice:I?.toolChoice,...l}}makeRequest(e,I,l,n,c,s,a){return e.chat.completions.create({model:I,messages:[...l],...n,tools:c},{maxRetries:s,headers:a?.requestHeaders,signal:a?.abortSignal}).withResponse()}makeRequestStreaming(e,I,l,n,c,s,a){return e.chat.completions.create({model:I,messages:[...l],...n,tools:c,stream:!0,stream_options:{include_usage:!0}},{maxRetries:s,headers:a?.requestHeaders,signal:a?.abortSignal}).withResponse()}async*getCompletionWithTools(e,I,l,n){let c=this.model,s=await this.clientPromise,a=await this.modelPromise,r=XW(l),o=[{role:"system",content:e,copilot_cache_control:uoe},...I.map(u=>cL(u))],d=l.map((u,N)=>({type:"function",function:{name:u.name,description:u.description,parameters:u.input_schema},copilot_cache_control:N===l.length-1?uoe:void 0}));this.logger.startGroup("Completion request configuration: ",8),this.logger.debug("Client options: "),this.logger.debug(JSON.stringify(this.clientOptions,null,2)),this.logger.debug("Request options: "),this.logger.debug(JSON.stringify(n??{},null,2)),this.logger.debug("Tools: "),this.logger.debug(JSON.stringify(d,null,2)),this.logger.endGroup(8);let i=this.getCompletionOptions(l,n),h=n?.initialTurnCount!==void 0?n.initialTurnCount+1:0,p=!1,Z=!1;for(;!p&&!Z;){let u=Date.now();yield{kind:"turn_started",model:c,modelInfo:a,turn:h,timestampMs:u};let N=0,Y=0,y=0,Q=[429,503,500,400],A=this.clientOptions.retryPolicy.maxRetries,w=this.clientOptions.retryPolicy.rateLimitRetryPolicy.initialRetryBackoffExtraSeconds,x=0,C=this.clientOptions.retryPolicy.rateLimitRetryPolicy.maxRetryAfterSeconds,E,J;try{let f=[],S;do{y>0&&(yield{kind:"turn_retry",model:c,modelInfo:a,turn:h,timestampMs:Date.now()});try{let te={};for(let ye of n?.processors?.preRequest||[]){let He=ye.preRequest({turn:h,retry:y,messages:o,toolDefinitions:d,modelInfo:a,additionalRequestHeaders:te,getCompletionWithToolsOptions:n});for await(let Qe of He)yield Qe}if(this.logger.startGroup("Sending request to the AI model",8),Xl(this.settings,"copilot_swe_agent_request_logging")){let ye=JSON.stringify(o,null,2),He=JSON.stringify(i,null,2);this.logger.debug(`Request messages: ${ye}`),this.logger.debug(`Request options: ${He}`)}f=o.map((ye,He)=>He===o.length-1?{...ye,copilot_cache_control:uoe}:ye),N=Date.now(),s.setAdditionalHeaders(te);let oe;if(n?.stream){let ye=await this.makeRequestStreaming(s,c,f,i,d,A,n);oe=await KHI(ye,s,n)}else oe=await this.makeRequest(s,c,f,i,d,A,n);Y=Date.now()-N,E=oe.data,S={model:c,api_id:E.id,request_id:oe.response.headers.get("x-github-request-id")||void 0};let Fe={};oe.response.headers.forEach((ye,He)=>{if(He.toLowerCase().startsWith(XGe)){let Qe=jke(ye);Qe&&(Fe[He.replace(XGe,"")]=Qe)}}),yield{kind:"model_call_success",turn:h,modelCallDurationMs:Y,modelCall:S,responseChunk:Oke(E),responseUsage:E.usage,requestMessages:JSON.stringify(f),quotaSnapshots:Fe},this.logger.debug(`response (Request-ID ${oe.request_id}):`),this.logger.debug("data:"),this.logger.debug(JSON.stringify(oe.data,null,2))}catch(te){Y=Date.now()-N;let oe=Jw.fromAPIError(te),Fe=oe?.error;if(oe){yield{kind:"model_call_failure",turn:h,modelCallDurationMs:Y,requestMessages:JSON.stringify(f),modelCall:{model:c,status:oe.status,error:JSON.stringify(oe?.error||oe?.message||"unknown error"),api_id:oe.requestID||void 0,request_id:oe.headers?.get("x-github-request-id")||""}},J=oe;let He=oe.ghRequestId||oe.headers?.get("x-github-request-id")||oe.requestID;this.logger.error(`error (Request-ID ${He})`),this.logger.error(JSON.stringify(oe,null,2)),this.logger.debug(`Failed to get response from the AI model: ${oe}`),Fe&&this.logger.debug(`Inner error: ${JSON.stringify(Fe,null,2)}`);let Qe;for(let Pe of n?.processors?.onRequestError||[])Qe=await Pe.onRequestError({turn:h,retry:y,maxRetries:A,error:Fe,modelInfo:a,getCompletionWithToolsOptions:n})||Qe;let Ne=oe.status,WI=Ne?this.clientOptions.retryPolicy.errorCodesToRetry.some(Pe=>Array.isArray(Pe)?Ne>=Pe[0]&&(Pe[1]===void 0||Ne<=Pe[1]):Ne===Pe):!1,Ae;if(Qe)Ae=Qe.retryAfter;else if(oe.status!==402){if(oe.status===413){this.logger.debug("Request is too large, trying to remove images from the request");let Pe=0;for(let ml=o.length-1;ml>=0;ml--)ay(o[ml])&&(o.splice(ml,1),Pe++,yield{kind:"images_removed",turn:h,imagesRemoved:1,largeImagesRemoved:1});Pe>0?(this.logger.info(`Images have been removed from the request due to size constraints. Please resize images to be smaller than ${pm(a.capabilities.limits.vision?.max_prompt_image_size||0)}.`),this.logger.debug(`Removed ${Pe} image messages from the request`),Ae=1):this.logger.debug("No image messages found in the request - unsure why the request is too large - will fail")}else if((typeof oe.status=="number"&&Q.includes(oe.status)||WI)&&(Ae=parseInt(oe.headers?.get("retry-after")||`${this.clientOptions.retryPolicy.rateLimitRetryPolicy.defaultRetryAfterSeconds}`,10)+w,w*=this.clientOptions.retryPolicy.rateLimitRetryPolicy.retryBackoffExtraGrowth,y==A-1))for(let Pe=o.length-1;Pe>=0;Pe--)ay(o[Pe])&&(this.logger.debug(`Removing image message at index ${Pe} to avoid failure`),o.splice(Pe,1),yield{kind:"images_removed",turn:h,imagesRemoved:1})}if(Ae!==void 0&&Ae<=C){let Pe=.8+Math.random()*.4,ml=Ae*Pe;this.logger.debug(`Retrying after ${ml} seconds...`),await new Promise(CI=>setTimeout(CI,ml*1e3)),x+=ml,this.logger.debug(`Retrying after ${Ae} seconds... Will try again now!`);continue}else Ae?this.logger.error(`Retry after ${Ae} seconds is too long. Giving up.`):this.logger.error("Retry after is not set. Giving up.")}let ye=oe||te;for(let He of n?.processors?.onRequestError||[])await He.preErrorThrow(te);throw this.logger.error("error"),this.logger.error(JSON.stringify(ye,null,2)),ye}finally{s.setAdditionalHeaders({}),this.logger.endGroup(8)}}while(!E&&y++<A);if(!E){this.logger.debug("Recent messages prior to failure:");for(let oe=Math.max(0,o.length-6);oe<o.length;oe++)this.logger.debug(`${oe}: ${JSON.stringify(o[oe],null,2)}`);let te=new Error(`Failed to get response from the AI model; retried ${y-1} times (total retry wait time: ${x} seconds)`,{cause:J});throw this.isRateLimitExceededError(te)&&(this.logger.info(`Rate limit exceeded after ${y-1} retries, will fail job but skip Sentry reporting`),te.skipReport=!0),te}for(let te of E.choices.map(oe=>oe.message))DHI(te.tool_calls||[]),o.push(te),yield{kind:"message",modelCall:S,message:cL(nw(te)),turn:h};if(this.isToolCallResponse(E)){let oe=(a.capabilities.limits.max_prompt_tokens||a.capabilities.limits.max_context_window_tokens)*this.clientOptions.toolTokenBudgetProportion,Fe=qwe(c,oe,this,this.settings),He=E.choices.filter(Ae=>Ae.message.tool_calls!==void 0).flatMap(Ae=>Ae.message.tool_calls||[]).filter(no),Qe=new Map;for(let Ae of n?.processors?.preToolsExecution||[]){let Pe=await Ae.preToolsExecution({turn:h,toolCalls:He,modelInfo:a});if(Pe)for(let[ml,CI]of Pe)Qe.set(ml,CI)}let Ne=He.filter(Ae=>!Qe.has(Ae.id)),WI=this.mergeToolResults(Qe,He,Ne,r,Fe,n?.executeToolsInParallel);for await(let Ae of WI){Ae.toolResult.resultType==="rejected"&&(Z=!0);let Pe={role:"tool",tool_call_id:Ae.originalCall.id,content:Ae.toolResult.textResultForLlm};o.push(Pe),yield{kind:"message",modelCall:S,message:cL(Pe),turn:h},yield{kind:"tool_execution",turn:h,toolCallId:Ae.originalCall.id,toolResult:Ae.toolResult,durationMs:Ae.durationMs};for(let ml of n?.processors?.postToolExecution||[])await ml.postToolExecution({toolCall:Ae.originalCall,toolResult:Ae.toolResult,turn:h,modelInfo:a})}}else for(let te of E.choices.map(oe=>oe.message))yield{kind:"response",modelCall:{model:c,api_id:E.id},response:cL(nw(te)),turn:h},p=!0;s.setInitiatorHeader("agent")}catch(f){let S;throw f instanceof Error&&f.cause&&f.cause instanceof Jw?S=`${f} (Cause: ${f.cause})`:S=`${f}`,yield{kind:"turn_failed",model:c,modelInfo:a,turn:h,error:S,timestampMs:Date.now()},f}finally{let f=Date.now();yield{kind:"turn_ended",model:c,modelInfo:a,turn:h,timestampMs:f},h++}}}async*mergeToolResults(e,I,l,n,c,s=!1){for(let[a,r]of e){let o=I.find(d=>d.id===a);o&&(yield{durationMs:0,originalCall:o,toolResult:r})}l.length>0&&(yield*this.callTools(l,n,c,s))}async*callTools(e,I,l,n=!1){if(e.length===0)throw new Error("Tool call is missing");if(this.logger.debug(`Tool calls count: ${e.length}`),n)this.logger.debug("Running tool calls in parallel"),yield*Mwe(e.map(c=>()=>this.callTool(c,I,l)));else{this.logger.debug("Running tool calls sequentially");for(let c of e)yield await this.callTool(c,I,l)}}async callTool(e,I,l){let n=0,c=e?.function.name;if(!c)throw new Error("Tool name is missing");let s=e?.function.arguments;if(!s)throw new Error("Tool call arguments are missing");let a=e?.id;if(!a)throw new Error("Tool call id is missing");let r,o=I[c];try{let d=lw(s);if(!o||!o.callback)r={textResultForLlm:`Tool '${c}' does not exist. Available tools that can be called are ${Object.keys(I).join(", ")}.`,resultType:"failure",error:`Tool '${c}' does not exist.`,sessionLog:`<error>Tool '${c}' does not exist.</error>`,toolTelemetry:{}};else{let i=o.callback,h=Date.now(),p={...l,toolCallId:a,toolOptions:this.settings.service?.tools?.[c]},Z=await i({...d},p);n=Date.now()-h,r=typeof Z=="string"?{textResultForLlm:Z,resultType:"success",toolTelemetry:{}}:Z}}catch(d){d instanceof SyntaxError?(r={textResultForLlm:`The arguments for the tool call '${c}' were not valid JSON. The arguments have been cleared. Arguments: ${s}. JSON parse error: ${d.message}`,resultType:"failure",error:`${d.message}`,sessionLog:`<error>Failed to execute \`${c}\` tool with arguments: ${s} due to syntax error: ${d.message}</error>`,toolTelemetry:{properties:{wasSyntaxError:"true"}}},e.function.arguments="{}"):r={textResultForLlm:`Failed to execute \`${c}\` tool with arguments: ${s} due to error: ${d}`,resultType:"failure",error:d instanceof Error?d.message:`${d}`,sessionLog:`<error>Failed to execute \`${c}\` tool with arguments: ${s}</error>`,toolTelemetry:{}}}return{durationMs:n,originalCall:e,toolResult:r}}isToolCallResponse(e){return e.choices.find(I=>I.message.tool_calls!==void 0)!==void 0}isRateLimitExceededError(e){if(e instanceof Error){if(e.message?.includes("exceeded maximum number of retries")&&e.message?.includes("rate-limited requests"))return!0;if(e.message?.includes("Failed to get response from the AI model")&&e.cause instanceof Jw)return e.cause.status===429}return!1}async getModel(){let e=this.clientOptions.model,I={id:e,name:e,capabilities:{supports:{vision:!1},limits:{max_prompt_tokens:9e4,max_context_window_tokens:128e3,vision:{max_prompt_image_size:3145728,max_prompt_images:1,supported_media_types:["image/jpeg","image/png","image/webp"]}}}};return(await(await this.clientPromise).listModels()).filter(s=>s.id===e).at(0)||I}};function DHI(t){for(let e of t)e.function.name=e.function.name.replace(/[^a-zA-Z0-9_-]+/g,"_")}async function KHI(t,e,I){let l=PHI(t.data,e).toReadableStream(),n=HZ.fromReadableStream(l),c=I?.processors?.onStreamingChunk;if(c?.length)for await(let s of n){I?.abortSignal?.throwIfAborted();let a={chunk:s};for(let r of c)r.onStreamingChunk(a)}return{data:await n.finalChatCompletion(),response:t.response,request_id:t.request_id}}function PHI(t,e){let I=new Map;return new Ud(async function*(){for await(let l of t)l.choices?.forEach(n=>{n.delta.role??="assistant",!!n.delta?.tool_calls?.length&&(n.finish_reason??="tool_calls",n.delta.tool_calls?.forEach(s=>{if(s.index===0){let a=I.get(n.index);s.id&&(a=a===void 0?0:a+1,I.set(n.index,a)),a!==void 0&&(s.index=a)}}))}),yield l},t.controller,e)}var bK=class extends Lw{constructor(e,I,l){let n=new Cw;super(n,e,I,l)}};G();G();var kw=class t{constructor(e,I,l,n){this.settings=I;this.logger=l;this.clientOptions=t.initDefaultOptions(n),this.logger.info(`Using responses with model: ${this.model}`),this.clientPromise=e.createClient(I,l,this.clientOptions)}clientOptions;clientPromise;get model(){return this.clientOptions.model}static initDefaultOptions(e){return{model:e?.model||"o4-mini",toolTokenBudgetProportion:e?.toolTokenBudgetProportion??.25,retryPolicy:{maxRetries:e?.retryPolicy?.maxRetries??5,errorCodesToRetry:e?.retryPolicy?.errorCodesToRetry??[],rateLimitRetryPolicy:{defaultRetryAfterSeconds:e?.retryPolicy?.rateLimitRetryPolicy?.defaultRetryAfterSeconds??5,initialRetryBackoffExtraSeconds:e?.retryPolicy?.rateLimitRetryPolicy?.initialRetryBackoffExtraSeconds??1,retryBackoffExtraGrowth:e?.retryPolicy?.rateLimitRetryPolicy?.retryBackoffExtraGrowth??2,maxRetryAfterSeconds:e?.retryPolicy?.rateLimitRetryPolicy?.maxRetryAfterSeconds??60}},thinkingMode:e?.thinkingMode??!0,requestHeaders:e?.requestHeaders??{}}}makeRequest(e,I,l,n,c,s,a,r){return e.responses.create({model:I,previous_response_id:s,instructions:l,input:n,parallel_tool_calls:c.length>0?!0:void 0,tools:c,reasoning:{summary:"auto",effort:"medium"},store:!1,include:["reasoning.encrypted_content"]},{maxRetries:a||this.clientOptions.retryPolicy.maxRetries,headers:r?.requestHeaders,signal:r?.abortSignal}).withResponse()}async*getCompletionWithTools(e,I,l,n){let c=await this.clientPromise,s=XW(l),a=l.map(N=>({name:N.name,description:N.description,parameters:N.input_schema,strict:!1,type:"function"})),r=0,o=this.clientOptions.retryPolicy.maxRetries,d=this.clientOptions.retryPolicy.rateLimitRetryPolicy.initialRetryBackoffExtraSeconds,i=0,h=this.clientOptions.retryPolicy.rateLimitRetryPolicy.maxRetryAfterSeconds,p=I.flatMap(qHI),Z,u=!1;for(;!u;){let N;do{N=void 0;try{let Y=await this.makeRequest(c,this.model,e,p,a,void 0,o,n);Z=Y.data,p.push(...Z.output),this.logger.debug(`response (Request-ID ${Y.request_id}):`),this.logger.debug("data:"),this.logger.debug(JSON.stringify(Y.data,null,2))}catch(Y){let y=Y,Q=y.error;if(y){N=y,this.logger.error(`error (Request-ID ${y.requestID})`),this.logger.error(JSON.stringify(y,null,2)),this.logger.debug(`Failed to get response from the AI model: ${y}`),Q&&this.logger.debug(`Inner error: ${JSON.stringify(Q,null,2)}`);let A=y.status,w=A?this.clientOptions.retryPolicy.errorCodesToRetry.some(C=>Array.isArray(C)?A>=C[0]&&(C[1]===void 0||A<=C[1]):A===C):!1,x;if((y.status===429||w)&&(x=parseInt(y.headers?.get("retry-after")||`${this.clientOptions.retryPolicy.rateLimitRetryPolicy.defaultRetryAfterSeconds}`,10)+d,d*=this.clientOptions.retryPolicy.rateLimitRetryPolicy.retryBackoffExtraGrowth),x!==void 0&&x<=h){this.logger.debug(`Retrying after ${x} seconds...`),await new Promise(C=>setTimeout(C,x*1e3)),i+=x,this.logger.debug(`Retrying after ${x} seconds... Will try again now!`);continue}else x?this.logger.error(`Retry after ${x} seconds is too long. Giving up.`):this.logger.error("Retry after is not set. Giving up.")}throw this.logger.error("error"),this.logger.error(JSON.stringify(Y,null,2)),Y}finally{this.logger.endGroup(8)}}while(N&&r++<o);if(!Z||N){this.logger.debug("Recent messages prior to failure:");for(let Y=Math.max(0,p.length-6);Y<p.length;Y++)this.logger.debug(`${Y}: ${JSON.stringify(p[Y],null,2)}`);throw new Error(`Failed to get response from the AI model; retried ${r-1} times (total retry wait time: ${i} seconds)`,{cause:N})}for(let Y of Z.output)yield{kind:"message",message:jfe(Y)};if(this.requiresToolOutput(Z)){let y=(await this.runTool(Z,s)).map(Q=>({type:"function_call_output",call_id:Q.toolCallId,output:Q.textResultForLlm}));p.push(...y);for(let Q of y)yield{kind:"message",message:jfe(Q)}}else yield{kind:"response",response:{content:Z.output_text,refusal:null,role:"assistant"}},u=!0}}async runTool(e,I,l){let n=e.output.filter(s=>s.type==="function_call");if(!n||n.length===0)throw new Error("Tool calls in response are missing");let c=[];for(let s of n){let a=s.name;if(!a)throw new Error("Tool name is missing");let r=s.arguments;if(!r)throw new Error("Tool call arguments are missing");let o=s.call_id;if(!o)throw new Error("Tool call id is missing");let d,i=I[a];try{let h=lw(r);if(!i||!i.callback)d={textResultForLlm:`Tool '${a}' does not exist. Available tools that can be called are ${Object.keys(I).join(", ")}.`,resultType:"failure",error:`Tool '${a}' does not exist.`,sessionLog:`<error>Tool '${a}' does not exist.</error>`,toolTelemetry:{}};else{let p=i.callback,Z={...l,toolOptions:this.settings.service?.tools?.[a],settings:this.settings},u=await p({...h},Z);d=typeof u=="string"?{textResultForLlm:u,resultType:"success",toolTelemetry:{}}:u}}catch(h){d={textResultForLlm:`Failed to execute \`${a}\` tool with arguments: ${r} due to error: ${h}`,resultType:"failure",error:h instanceof Error?h.message:`${h}`,sessionLog:`<error>Failed to execute \`${a}\` tool with arguments: ${r}</error>`,toolTelemetry:{properties:{wasSyntaxError:h instanceof SyntaxError?"true":"false"}}}}c.push({toolCallId:o,textResultForLlm:d.textResultForLlm,sessionLog:d.resultType=="success"?d.sessionLog:d.error?`<error>${d.error}</error>`:void 0})}return c}requiresToolOutput(e){return e.output.filter(I=>I.type==="function_call").length>0}};function qHI(t){if(t.role==="function")throw new Error("Function role is not supported");let e=[];if(t.reasoning_opaque&&e.push({id:t.reasoning_opaque,type:"reasoning",summary:t.reasoning_text?[{text:t.reasoning_text,type:"summary_text"}]:[],encrypted_content:t.encrypted_content}),t.role==="assistant"&&t.tool_calls&&t.tool_calls.length>0&&no(t.tool_calls[0])){let I=t.tool_calls[0];return[...e,{type:"function_call",id:t.id,name:I.function.name,arguments:I.function.arguments,call_id:I.id}]}return t.role==="tool"?[...e,{type:"function_call_output",call_id:t.tool_call_id,output:typeof t.content=="string"?t.content:t.content?.map(I=>I.type==="text"?I:{type:"text",text:""}).join(" ")??""}]:t.content?t.role==="assistant"?[...e,{type:"message",id:t.id,role:t.role,content:[{annotations:[],type:"output_text",text:typeof t.content=="string"?t.content:t.content?.map(I=>I.type==="text"?I.text:"").join(" ")??""}]}]:[...e,{role:t.role,content:typeof t.content=="string"?t.content:t.content?.map(I=>I.type==="text"?I.text:"").join(" ")??"",type:"message"}]:e}function jfe(t){if(t.type==="reasoning")return{role:"assistant",reasoning_opaque:t.id,reasoning_text:t.summary?t.summary.map(e=>e.text).join(" "):void 0,content:"",encrypted_content:t.encrypted_content};if(t.type==="function_call")return{role:"assistant",id:t.id,tool_calls:[{id:t.call_id,type:"function",function:{name:t.name,arguments:t.arguments}}],content:""};if(t.type==="function_call_output")return{role:"tool",content:t.output,tool_call_id:t.call_id};if(t.type==="message")return{id:"id"in t?t.id:void 0,role:t.role,content:typeof t.content=="string"?t.content:t.content?.map(e=>e.type==="input_text"||e.type==="output_text"?e.text:"").join(" ")??""};throw new Error(`Unknown item type: ${t.type}`)}var mK=class extends kw{constructor(e,I,l){let n=new Cw;super(n,e,I,l)}};var ZL=class{constructor(e,I,l){this.settings=e;this.logger=I;this.clientOptions=l;this.chatClient=new bK(e,I,l)}chatClient;get model(){return this.chatClient.model}async*getCompletionWithTools(e,I,l,n){let c=await this.chatClient.modelPromise;(this.clientOptions?.thinkingMode||Xl(this.settings,"copilot_swe_agent_enable_responses_api"))&&c&&c.supported_endpoints?.includes("/responses")?yield*new mK(this.settings,this.logger,{model:this.chatClient.model,...this.clientOptions}).getCompletionWithTools(e,I,l,n):yield*this.chatClient.getCompletionWithTools(e,I,l,n)}};G();var hK=class extends Lw{constructor(e,I,l,n){super(e,I,l,n)}getCompletionOptions(e,I){return{...this.model.startsWith("gpt-4")?{temperature:0,top_p:.95,frequency_penalty:0,presence_penalty:0,parallel_tool_calls:e?!1:void 0}:{},tool_choice:I?.toolChoice}}async*getCompletionWithTools(e,I,l,n){let c=await super.getCompletionWithTools(e,I,l,n);for await(let s of c)s.kind==="message"?yield{...s,message:nw({...s.message,reasoning_text:s.message?.cot_summary})}:yield s}};G();var pK=class extends kw{constructor(e,I,l,n){super(e,I,l,n)}};G();var Woe=class extends oL{constructor(e){super(e)}setInitiatorHeader(e){}setAdditionalHeaders(e){}listModels(){return Promise.resolve([])}},ZK=class{async createClient(e,I,l){I.startGroup("configured settings:",8),I.debug(JSON.stringify(e,null,2)),I.endGroup(8);let n=e.api?.openai?.apiKey,c=e.api?.openai?.azureKeyVaultUri,s=e.api?.openai?.azureSecretName;if(!n&&c){I.debug("No API_KEY provided, trying secret provider");let d=Zoe(c,I);try{n=await d.getSecret(s||"azure-openai-api-key")}catch(i){I.debug(`Failed to get API Key from secret provider:
|
|
520
520
|
${i}`)}}let a=yue(e);I.debug(`Using Azure Open API at ${a}`);let o={baseURL:`${new URL(a).origin}/openai`,apiVersion:e.api?.openai?.azure?.apiVersion||"2024-10-21",deployment:l?.model,defaultHeaders:l?.requestHeaders};if(n)o={...o,apiKey:n},I.debug("Using Azure OpenAI API Key");else{let d=new vm,h=Qae(d,"https://cognitiveservices.azure.com/.default");o={...o,azureADTokenProvider:h},I.debug("Using Azure Managed Identity")}return new Woe(o)}};G();var Noe=class extends XI{constructor(e){super(e)}setInitiatorHeader(e){}setAdditionalHeaders(e){}listModels(){return Promise.resolve([])}},uK=class{async createClient(e,I,l){I.startGroup("configured settings:",8),I.debug(JSON.stringify(e,null,2)),I.endGroup(8);let n=Rue(e),c=e.api?.openai?.baseUrl,s=l?.requestHeaders;return new Noe({baseURL:c,apiKey:n,defaultHeaders:s})}};function Yoe(t,e,I,l){switch(I){case"sweagent-aip":return new Ij(t,e,l);case"sweagent-anthropic":return new RD(t,e,l);case"sweagent-capi":return new ZL(t,e,l);case"sweagent-openai":return l?.thinkingMode?new pK(Dfe(t),t,e,l):new hK(Dfe(t),t,e,l);default:return new ZL(t,e,l)}}function Dfe(t){return t.api?.openai?.azure?.url?new ZK:new uK}G();G();G();import{exec as $HI}from"child_process";import{spawn as e1I}from"node-pty";G();G();function Voe({onlyFirst:t=!1}={}){let I=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(I,t?void 0:"g")}var _HI=Voe();function Roe(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(_HI,"")}import{promisify as I1I}from"util";var LZ="___BEGIN___COMMAND_OUTPUT_MARKER___",Kfe=`
|