/**
 * Minified by jsDelivr using Terser v5.48.0.
 * Original file: /npm/@mastra/client-js@1.38.0/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
import{parsePartialJson,processDataStream}from"@ai-sdk/ui-utils";import{v4}from"@lukeed/uuid";import{getErrorFromUnknown}from"@mastra/core/error";import{standardSchemaToJSONSchema,toStandardSchema}from"@mastra/schema-compat/schema";import{RequestContext,RequestContext as RequestContext$1}from"@mastra/core/request-context";import{zodToJsonSchema}from"@mastra/schema-compat/zod-to-json";import{MastraA2AError}from"@mastra/core/a2a/client";import canonicalize from"canonicalize";import{base64url,compactVerify,decodeProtectedHeader,importJWK,importSPKI,importX509}from"jose";const TRACEPARENT_RE=/^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/,ZERO_TRACE_ID="00000000000000000000000000000000",ZERO_SPAN_ID="0000000000000000",activeCollectorStack=[],LEVEL_TO_SEVERITY_NUMBER={debug:5,info:9,warn:13,error:17,fatal:21},LEVEL_TO_SEVERITY_TEXT={debug:"DEBUG",info:"INFO",warn:"WARN",error:"ERROR",fatal:"FATAL"};function nowNs(){return 1000000n*BigInt(Date.now())}function isValidTraceparentMatch(e){const t=e[1],r=e[2],s=e[3];return"ff"!==t&&r!==ZERO_TRACE_ID&&s!==ZERO_SPAN_ID}function randomSpanIdHex(){if(void 0!==globalThis.crypto&&globalThis.crypto.getRandomValues){const e=new Uint8Array(8);globalThis.crypto.getRandomValues(e);let t="";for(const r of e)t+=r.toString(16).padStart(2,"0");return t}let e="";for(let t=0;t<16;t++)e+=Math.floor(16*Math.random()).toString(16);return e}function attributesToOtlp(e){const t=[];for(const[r,s]of Object.entries(e))if(null!=s)if("string"==typeof s)t.push({key:r,value:{stringValue:s}});else if("boolean"==typeof s)t.push({key:r,value:{boolValue:s}});else if("number"==typeof s)Number.isInteger(s)?t.push({key:r,value:{intValue:s}}):t.push({key:r,value:{doubleValue:s}});else try{t.push({key:r,value:{stringValue:JSON.stringify(s)}})}catch{}return t}var ObservabilityCollectorImpl=class{parentContext;#e;#t;#r=[];#s=[];#o=[];#n;#a;#i=!1;constructor(e){this.parentContext=e;const t=TRACEPARENT_RE.exec(e.traceparent);if(!t||!isValidTraceparentMatch(t))return this.#e=ZERO_TRACE_ID,void(this.#t=ZERO_SPAN_ID);this.#e=t[2],this.#t=t[3]}async withContext(e){const t=this.#n??Date.now();this.#n=t,this.#o.push(this.#t),activeCollectorStack.push(this);try{return await e()}finally{const e=activeCollectorStack.lastIndexOf(this);-1!==e&&activeCollectorStack.splice(e,1),this.#o.pop(),this.#a=Date.now()}}async span(e,t,r){const s=randomSpanIdHex(),o=this.#d(),n=o[o.length-1]??this.#t,a=nowNs();o.push(s);let i,d=1;try{return await t()}catch(e){throw d=2,i=e instanceof Error?e.message:String(e),e}finally{o.pop(),this.#r.push({spanId:s,parentSpanId:n,traceId:this.#e,name:e,startTimeNs:a,endTimeNs:nowNs(),attributes:r??{},statusCode:d,statusMessage:i})}}log(e,t,r){const s=this.#d(),o=s[s.length-1]??this.#t;this.#s.push({spanId:o,traceId:this.#e,timestampNs:nowNs(),level:e,message:t,data:r})}#d(){return this.#o}flush(){if(this.#i)return{};this.#i=!0;const e={};return void 0!==this.#n&&void 0!==this.#a&&(e.executionDurationMs=this.#a-this.#n),this.#r.length>0&&(e.spans={resourceSpans:[{scopeSpans:[{scope:{name:"@mastra/client-js/observability",version:"1"},spans:this.#r.map(e=>({traceId:e.traceId,spanId:e.spanId,parentSpanId:e.parentSpanId,name:e.name,startTimeUnixNano:e.startTimeNs.toString(),endTimeUnixNano:e.endTimeNs.toString(),attributes:attributesToOtlp(e.attributes),status:{code:e.statusCode,...e.statusMessage?{message:e.statusMessage}:{}},kind:1}))}]}]}),this.#s.length>0&&(e.logs={resourceLogs:[{scopeLogs:[{scope:{name:"@mastra/client-js/observability",version:"1"},logRecords:this.#s.map(e=>({timeUnixNano:e.timestampNs.toString(),observedTimeUnixNano:e.timestampNs.toString(),severityNumber:LEVEL_TO_SEVERITY_NUMBER[e.level],severityText:LEVEL_TO_SEVERITY_TEXT[e.level],body:{stringValue:e.message},traceId:e.traceId,spanId:e.spanId,attributes:e.data?attributesToOtlp(e.data):[]}))}]}]}),e}};const createObservabilityCollector=e=>new ObservabilityCollectorImpl(e);function normalizeRoutePath(e){let t=e.trim();if(t.includes("..")||t.includes("?")||t.includes("#"))throw new Error(`Invalid route path: "${e}". Path cannot contain '..', '?', or '#'`);return t=t.replace(/\/+/g,"/"),"/"===t||""===t?"":(t.endsWith("/")&&(t=t.slice(0,-1)),t.startsWith("/")||(t=`/${t}`),t)}function isComplexValue(e){return null!=e&&(!(e instanceof Date)&&"object"==typeof e)}function serializeQueryValue(e){return e instanceof Date?e.toISOString():isComplexValue(e)?JSON.stringify(e,(e,t)=>t instanceof Date?t.toISOString():t):String(e)}function toQueryParams(e,t=[]){const r=new URLSearchParams,s=t;return function e(t){for(const[o,n]of Object.entries(t))null!=n&&(!s.includes(o)||"object"!=typeof n||Array.isArray(n)||n instanceof Date?r.set(o,serializeQueryValue(n)):e(n))}(e),r.toString()}function parseSuperJsonString(e){const t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)&&"json"in t?t.json:t}function parseClientRequestContext(e){if(e)return e instanceof RequestContext$1?Object.fromEntries(e.entries()):e}function base64RequestContext(e){if(e){const t=(new TextEncoder).encode(JSON.stringify(e));return btoa(Array.from(t,e=>String.fromCharCode(e)).join(""))}}function requestContextQueryString(e,t="?"){const r=base64RequestContext(parseClientRequestContext(e));if(!r)return"";const s=new URLSearchParams;s.set("requestContext",r);const o=s.toString();return o?`${t}${o}`:""}function buildTenancyQuery(e){if(!e)return"";const t=new URLSearchParams;e.organizationId&&t.set("organizationId",e.organizationId),e.projectId&&t.set("projectId",e.projectId);const r=t.toString();return r?`?${r}`:""}function normalizeModelOutput(e){if(null==e||"object"!=typeof e)return e;const t=e;return"content"===t.type&&Array.isArray(t.value)?{...t,value:t.value.map(e=>{if(null==e||"object"!=typeof e)return e;const t=e;if("image-url"===t.type&&"string"==typeof t.url){const e=t.url.indexOf(";"),r=t.url.indexOf(","),s=-1===e?r:-1===r?e:Math.min(e,r),o="string"==typeof t.mediaType&&t.mediaType?t.mediaType:t.url.startsWith("data:")&&t.url.slice(5,-1===s?void 0:s)||"image/jpeg";return{type:"media",data:t.url,mediaType:o}}return"image-data"===t.type&&"string"==typeof t.data?{type:"media",data:t.data,mediaType:t.mediaType??"image/jpeg"}:"file-data"===t.type&&"string"==typeof t.data?{type:"media",data:t.data,mediaType:t.mediaType??"application/octet-stream"}:t})}:e}async function getClientToolModelOutput(e,t){const r=e.toModelOutput;if("function"!=typeof r||null==t)return;const s=await r(t);return null==s?void 0:normalizeModelOutput(s)}function isZodType(e){return"object"==typeof e&&null!==e&&"_def"in e&&"parse"in e&&"function"==typeof e.parse&&"safeParse"in e&&"function"==typeof e.safeParse}function zodToJsonSchema$1(e){return isZodType(e)?zodToJsonSchema(e):e}function processClientTools(e){if(e)return Object.fromEntries(Object.entries(e).map(([e,t])=>{const r=t;return[e,{...t,...void 0!==r.parameters?{parameters:zodToJsonSchema$1(r.parameters)}:{},...void 0!==r.inputSchema?{inputSchema:zodToJsonSchema$1(r.inputSchema)}:{},...void 0!==r.outputSchema?{outputSchema:zodToJsonSchema$1(r.outputSchema)}:{}}]}))}async function sharedProcessMastraStream({stream:e,onChunk:t,signal:r}){const s=e.getReader(),o=new TextDecoder;let n="";const a=()=>{s.cancel()};r?.aborted?a():r?.addEventListener("abort",a,{once:!0});try{for(;;){const{done:e,value:r}=await s.read();if(e)break;n+=o.decode(r,{stream:!0});const a=n.split("\n\n");n=a.pop()||"";for(const e of a)if(e.startsWith("data: ")){const r=e.slice(6);if("[DONE]"===r)return;let s;try{s=JSON.parse(r)}catch(e){console.error("❌ JSON parse error:",e,"Data:",r);continue}s&&await t(s)}}}finally{r?.removeEventListener("abort",a),s.releaseLock()}}async function processMastraNetworkStream({stream:e,onChunk:t,signal:r}){return sharedProcessMastraStream({stream:e,onChunk:t,signal:r})}async function processMastraStream({stream:e,onChunk:t,signal:r}){return sharedProcessMastraStream({stream:e,onChunk:t,signal:r})}var MastraClientError=class extends Error{status;statusText;body;constructor(e,t,r,s){super(r),this.name="MastraClientError",this.status=e,this.statusText=t,this.body=s}},BaseResource=class{options;apiPrefix;constructor(e){this.options=e,this.apiPrefix=normalizeRoutePath(e.apiPrefix??"/api")}async request(e,t={}){let r=null;const{baseUrl:s,retries:o=3,backoffMs:n=100,maxBackoffMs:a=1e3,headers:i={},credentials:d,fetch:u}=this.options,c=u||fetch;let l=n;const h=`${this.apiPrefix}${e}`;for(let e=0;e<=o;e++)try{const e=await c(`${s.replace(/\/$/,"")}${h}`,{...t,headers:{...!t.body||t.body instanceof FormData||"POST"!==t.method&&"PUT"!==t.method&&"PATCH"!==t.method&&"DELETE"!==t.method?{}:{"content-type":"application/json"},...i,...t.headers},signal:this.options.abortSignal,credentials:t.credentials??d,body:t.body instanceof FormData?t.body:t.body?JSON.stringify(t.body):void 0});if(!e.ok){const t=await e.text();let r,s=`HTTP error! status: ${e.status}`;try{r=JSON.parse(t),s+=` - ${JSON.stringify(r)}`}catch{t&&(s+=` - ${t}`)}throw new MastraClientError(e.status,e.statusText,s,r)}return t.stream?e:await e.json()}catch(t){r=t;const s=t.status;if(void 0!==s&&s>=400&&s<500)throw t;if(e===o)break;await new Promise(e=>setTimeout(e,l)),l=Math.min(2*l,a)}throw r||new Error("Request failed")}};const SIGNAL_RUNTIME_OPTIONS_TTL_MS=3e5,signalRuntimeOptionsByRunId=new Map,latestSignalRuntimeOptionsByThread=new Map,createSignalRuntimeOptionsEntry=(e,t,r)=>{const s=setTimeout(()=>e.delete(t),3e5);return s.unref?.(),{streamOptions:r,timeout:s}},setSignalRuntimeOptionsEntry=(e,t,r)=>{const s=e.get(t);s&&clearTimeout(s.timeout),e.set(t,createSignalRuntimeOptionsEntry(e,t,r))},deleteSignalRuntimeOptionsEntry=(e,t)=>{const r=e.get(t);r&&clearTimeout(r.timeout),e.delete(t)},noopClientToolObserve={span:async(e,t)=>t(),log(){}};function getClientToolObservabilityContext(e){const t=e;return t?.payload?.observability??t?.observability}async function executeClientToolWithObservability({clientTool:e,args:t,toolName:r,parentContext:s,executeContext:o}){const n=s?createObservabilityCollector(s):void 0,a=n?{span:n.span.bind(n),log:n.log.bind(n)}:noopClientToolObserve,i=()=>e.execute(t,{...o,observe:a}),d=n?await n.withContext(i):await i();if(!s)return{result:d};const u=n?.flush();return u&&(u.toolName=r),{result:d,observability:{parentContext:s,...u?{payload:u}:{}}}}async function executeToolCallAndRespond({response:e,params:t,agentId:r,resourceId:s,threadId:o,requestContext:n,respondFn:a}){if("tool-calls"===e.finishReason){const i=e.toolCalls;if(!i||!Array.isArray(i))return e;for(const d of i){const i=t.clientTools?.[d.payload.toolName];if(i&&i.execute){const{result:u,observability:c}=await executeClientToolWithObservability({clientTool:i,args:d?.payload.args,toolName:d.payload.toolName,parentContext:getClientToolObservabilityContext(d),executeContext:{requestContext:n,tracingContext:{currentSpan:void 0},agent:{agentId:r,messages:e.messages,toolCallId:d?.payload.toolCallId,suspend:async()=>{},threadId:o,resourceId:s}}}),l=await getClientToolModelOutput(i,u),h={type:"tool-result",toolCallId:d.payload.toolCallId,toolName:d.payload.toolName,result:u,...null!=l?{providerOptions:{mastra:{modelOutput:l}}}:{}};c&&(h.__mastraObservability=c);const p=[...e.response.messages||[],{role:"tool",content:[h]}],m=o?p:[...Array.isArray(t.messages)?t.messages:[],...p],g={...t};return delete g.messages,a(m,g)}}}return e}var AgentVoice=class extends BaseResource{agentId;version;constructor(e,t,r){super(e),this.agentId=t,this.version=r,this.agentId=t}getQueryString(e,t="?"){const r=new URLSearchParams(requestContextQueryString(e).slice(1));this.version&&new URLSearchParams(toQueryParams(this.version)).forEach((e,t)=>{r.set(t,e)});const s=r.toString();return s?`${t}${s}`:""}async speak(e,t){return this.request(`/agents/${this.agentId}/voice/speak`,{method:"POST",headers:{"Content-Type":"application/json"},body:{text:e,options:t},stream:!0})}listen(e,t){const r=new FormData;return r.append("audio",e),t&&r.append("options",JSON.stringify(t)),this.request(`/agents/${this.agentId}/voice/listen`,{method:"POST",body:r})}getSpeakers(e){return this.request(`/agents/${this.agentId}/voice/speakers${this.getQueryString(e)}`)}getListener(e){return this.request(`/agents/${this.agentId}/voice/listener${this.getQueryString(e)}`)}},Agent=class extends BaseResource{agentId;version;voice;constructor(e,t,r){super(e),this.agentId=t,this.version=r,this.voice=new AgentVoice(e,this.agentId,this.version)}getQueryString(e,t="?"){const r=new URLSearchParams(requestContextQueryString(e).slice(1));this.version&&new URLSearchParams(toQueryParams(this.version)).forEach((e,t)=>{r.set(t,e)});const s=r.toString();return s?`${t}${s}`:""}getSignalRuntimeRunKey(e){return`${this.options.baseUrl}|${this.apiPrefix}|${this.agentId}|${e}`}getSignalRuntimeThreadKey({resourceId:e,threadId:t}){if(t)return`${this.options.baseUrl}|${this.apiPrefix}|${this.agentId}|${e??""}|${t}`}setSignalRuntimeOptions({runId:e,resourceId:t,threadId:r,streamOptions:s}){const o=this.getSignalRuntimeThreadKey({resourceId:t,threadId:r});if(e)return setSignalRuntimeOptionsEntry(signalRuntimeOptionsByRunId,this.getSignalRuntimeRunKey(e),s),void(o&&deleteSignalRuntimeOptionsEntry(latestSignalRuntimeOptionsByThread,o));o&&setSignalRuntimeOptionsEntry(latestSignalRuntimeOptionsByThread,o,s)}getSignalRuntimeOptions({runId:e,resourceId:t,threadId:r}){if(e){const t=signalRuntimeOptionsByRunId.get(this.getSignalRuntimeRunKey(e));if(t)return t.streamOptions}const s=this.getSignalRuntimeThreadKey({resourceId:t,threadId:r});return s?latestSignalRuntimeOptionsByThread.get(s)?.streamOptions:void 0}deleteSignalRuntimeOptions(e){e&&deleteSignalRuntimeOptionsEntry(signalRuntimeOptionsByRunId,this.getSignalRuntimeRunKey(e))}deleteLatestSignalRuntimeOptions({resourceId:e,threadId:t}){const r=this.getSignalRuntimeThreadKey({resourceId:e,threadId:t});r&&deleteSignalRuntimeOptionsEntry(latestSignalRuntimeOptionsByThread,r)}prepareSignalRouteBody(e){const t=e.ifIdle?.streamOptions;return t?(this.setSignalRuntimeOptions({resourceId:e.resourceId,threadId:e.threadId,streamOptions:t}),{body:{...e,ifIdle:{...e.ifIdle,streamOptions:{...t,requestContext:parseClientRequestContext(t.requestContext),clientTools:processClientTools(t.clientTools)}}},streamOptions:t}):{body:e}}async requestSignalRoute(e,t){const{body:r,streamOptions:s}=this.prepareSignalRouteBody(t);let o;try{o=await this.request(e,{method:"POST",body:r})}catch(e){throw s&&this.deleteLatestSignalRuntimeOptions({resourceId:t.resourceId,threadId:t.threadId}),e}return s&&this.setSignalRuntimeOptions({runId:o.runId,resourceId:t.resourceId,threadId:t.threadId,streamOptions:s}),o}details(e){return this.request(`/agents/${this.agentId}${this.getQueryString(e)}`)}browserSession(e){const t=e?`?threadId=${encodeURIComponent(e)}`:"";return this.request(`/agents/${this.agentId}/browser/session${t}`)}closeBrowser(e){return this.request(`/agents/${this.agentId}/browser/close`,{method:"POST",body:{threadId:e}})}enhanceInstructions(e,t){return this.request(`/agents/${this.agentId}/instructions/enhance`,{method:"POST",body:{instructions:e,comment:t}})}sendMessage(e){return this.requestSignalRoute(`/agents/${this.agentId}/send-message`,e)}queueMessage(e){return this.requestSignalRoute(`/agents/${this.agentId}/queue-message`,e)}sendSignal(e){return this.requestSignalRoute(`/agents/${this.agentId}/signals`,e)}async subscribeToThread(e){const{resourceId:t,threadId:r}=e,s=()=>this.request(`/agents/${this.agentId}/threads/subscribe`,{method:"POST",body:{resourceId:t,threadId:r},stream:!0}),o=await s();if(!o.body)throw new Error("No response body");const n=this;o.abort=async()=>(await n.abortThread({resourceId:t,threadId:r})).aborted;let a,i=!1,d=!1;return o.unsubscribe=()=>{i||(i=!0,a?.abort(),d||o.body?.cancel().catch(()=>{}))},o.processDataStream=async({onChunk:e,reconnect:u})=>{if(i)return;d=!0,a=new AbortController;const c=()=>a?.abort(),l=()=>i||a?.signal.aborted||this.options.abortSignal?.aborted;this.options.abortSignal?.aborted?c():this.options.abortSignal?.addEventListener("abort",c,{once:!0});try{const i=new Map,d=async s=>{if("tool-call"===s.type){const e=s.payload,t=e?.toolCallId,r=e?.toolName,o=s.runId;if(!t||!r||!o)return;const n=i.get(o)??[];return n.push({toolCallId:t,toolName:r,args:e.args,observability:e.observability}),void i.set(o,n)}if("finish"!==s.type)return;const o=s.runId,a=s;if(!o)return;if("tool-calls"!==a.payload?.stepResult?.reason)return void n.deleteSignalRuntimeOptions(o);const d=i.get(o);if(i.delete(o),!d?.length)return void n.deleteSignalRuntimeOptions(o);const u=n.getSignalRuntimeOptions({runId:o,resourceId:t,threadId:r}),c=u?.clientTools;if(!c)return void n.deleteSignalRuntimeOptions(o);const l=u.requestContext,h=processClientTools(c),p=parseClientRequestContext(l),m=[];for(const s of d){const i=c[s.toolName];if(!i||"function"!=typeof i.execute)continue;let d,u,h;try{const e=await executeClientToolWithObservability({clientTool:i,args:s.args,toolName:s.toolName,parentContext:s.observability,executeContext:{requestContext:l,tracingContext:{currentSpan:void 0},agent:{agentId:n.agentId,messages:a.payload?.messages?.nonUser??[],toolCallId:s.toolCallId,suspend:async()=>{},threadId:r,resourceId:t}}});d=e.result,h=e.observability;try{u=await getClientToolModelOutput(i,d)}catch{u=void 0}}catch(e){d={error:String(e)},u=void 0}await e({type:"tool-result",runId:o,payload:{type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,args:s.args,result:d,...h?{__mastraObservability:h}:{}}});const p={type:"tool-call",toolCallId:s.toolCallId,toolName:s.toolName,input:s.args},g={type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:{type:"json",value:d},...null!=u?{providerOptions:{mastra:{modelOutput:u}}}:{},...h?{__mastraObservability:h}:{}};m.push({role:"assistant",content:[p,g]})}if(0===m.length)return void n.deleteSignalRuntimeOptions(o);const g={...u,requestContext:p,memory:r?{thread:r,resource:t}:void 0,clientTools:h};n.setSignalRuntimeOptions({resourceId:t,threadId:r,streamOptions:g});const y=r?m:[...a.payload?.messages?.nonUser??[],...m];try{await n.sendToolApproval({resourceId:t||n.agentId,threadId:r,toolCallId:d[0].toolCallId,approved:!0,requestContext:p,messages:y,streamOptions:g})}catch(e){n.deleteLatestSignalRuntimeOptions({resourceId:t,threadId:r}),console.error("Error running client-tool continuation:",e)}finally{n.deleteSignalRuntimeOptions(o)}},c=!0===u?{maxRetries:1/0,delayMs:1e3}:u?{maxRetries:u.maxRetries??1/0,delayMs:u.delayMs??1e3}:null;let h=o,p=0;const m=Symbol("onChunkErrorSentinel"),g=async t=>{try{await e(t),await d(t)}catch(e){throw{[m]:!0,cause:e}}};for(;;){if(!h.body)throw new Error("No response body");try{await processMastraStream({stream:h.body,onChunk:g,signal:a.signal})}catch(e){if("object"==typeof e&&null!==e&&e[m])throw e.cause;if(!c||l()||p>=c.maxRetries){if(l())return;throw e}}if(!c||l()||p>=c.maxRetries)return;for(;p<c.maxRetries;){if(p++,l())return;if(await new Promise(e=>setTimeout(e,c.delayMs)),l())return;try{h=await s();break}catch(e){if(l()||p>=c.maxRetries){if(l())return;throw e}}}}}finally{this.options.abortSignal?.removeEventListener("abort",c),a?.signal.aborted&&(i=!0),a=void 0}},o}async abortThread(e){const{resourceId:t,threadId:r}=e;return this.request(`/agents/${this.agentId}/threads/abort`,{method:"POST",body:{resourceId:t,threadId:r}})}clone(e){const{requestContext:t,...r}=e||{};return this.request(`/agents/${this.agentId}/clone`,{method:"POST",body:{...r,requestContext:parseClientRequestContext(t)}})}listVersions(e,t){const r=new URLSearchParams;void 0!==e?.page&&r.set("page",String(e.page)),void 0!==e?.perPage&&r.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&r.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&r.set("orderBy[direction]",e.orderBy.direction));const s=r.toString(),o=requestContextQueryString(t);return this.request(`/stored/agents/${encodeURIComponent(this.agentId)}/versions${s?`?${s}`:""}${o?`${s?"&":"?"}${o.slice(1)}`:""}`)}createVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.agentId)}/versions${requestContextQueryString(t)}`,{method:"POST",body:e||{}})}getVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.agentId)}/versions/${encodeURIComponent(e)}${requestContextQueryString(t)}`)}activateVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.agentId)}/versions/${encodeURIComponent(e)}/activate${requestContextQueryString(t)}`,{method:"POST"})}restoreVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.agentId)}/versions/${encodeURIComponent(e)}/restore${requestContextQueryString(t)}`,{method:"POST"})}deleteVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.agentId)}/versions/${encodeURIComponent(e)}${requestContextQueryString(t)}`,{method:"DELETE"})}compareVersions(e,t,r){const s=new URLSearchParams;s.set("from",e),s.set("to",t);const o=requestContextQueryString(r);return this.request(`/stored/agents/${encodeURIComponent(this.agentId)}/versions/compare?${s.toString()}${o?`&${o.slice(1)}`:""}`)}async generateLegacy(e){const t={...e,output:e.output?zodToJsonSchema$1(e.output):void 0,experimental_output:e.experimental_output?zodToJsonSchema$1(e.experimental_output):void 0,requestContext:parseClientRequestContext(e.requestContext),clientTools:processClientTools(e.clientTools)},{resourceId:r,threadId:s,requestContext:o}=t,n=await this.request(`/agents/${this.agentId}/generate-legacy`,{method:"POST",body:t});if("tool-calls"===n.finishReason){const t=n.toolCalls;if(!t||!Array.isArray(t))return n;for(const a of t){const t=e.clientTools?.[a.toolName];if(t&&t.execute){const{result:i,observability:d}=await executeClientToolWithObservability({clientTool:t,args:a?.args,toolName:a.toolName,parentContext:getClientToolObservabilityContext(a),executeContext:{requestContext:o,tracingContext:{currentSpan:void 0},agent:{agentId:this.agentId,messages:n.messages,toolCallId:a?.toolCallId,suspend:async()=>{},threadId:s,resourceId:r}}}),u=[...n.response.messages,{role:"tool",content:[{type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,result:i,...d?{__mastraObservability:d}:{}}]}];return this.generateLegacy({...e,messages:u})}}}return n}async generate(e,t){const r={...t,messages:e},s={...r,requestContext:parseClientRequestContext(r.requestContext),clientTools:processClientTools(r.clientTools),structuredOutput:r.structuredOutput?{...r.structuredOutput,schema:standardSchemaToJSONSchema(toStandardSchema(r.structuredOutput.schema))}:void 0},{memory:o,requestContext:n}=s,{resource:a,thread:i}=o??{},d=a,u="string"==typeof i?i:i?.id,c=await this.request(`/agents/${this.agentId}/generate`,{method:"POST",body:s});return"tool-calls"===c.finishReason?executeToolCallAndRespond({response:c,params:r,agentId:this.agentId,resourceId:d,threadId:u,requestContext:n,respondFn:this.generate.bind(this)}):c}async processChatResponse({stream:e,update:t,onToolCall:r,onFinish:s,getCurrentDate:o=()=>new Date,lastMessage:n}){const a="assistant"===n?.role;let i=a?1+(n.toolInvocations?.reduce((e,t)=>Math.max(e,t.step??0),0)??0):0;const d=a?structuredClone(n):{id:v4(),createdAt:o(),role:"assistant",content:"",parts:[]};let u,c,l;function h(e,t){const r=d.parts.find(t=>"tool-invocation"===t.type&&t.toolInvocation.toolCallId===e);null!=r?r.toolInvocation=t:d.parts.push({type:"tool-invocation",toolInvocation:t})}const p=[];let m=a?n?.annotations:void 0;const g={};let y={completionTokens:NaN,promptTokens:NaN,totalTokens:NaN},S="unknown";function I(){const e=[...p];m?.length&&(d.annotations=m),t({message:{...structuredClone(d),revisionId:v4()},data:e,replaceLastMessage:a})}await processDataStream({stream:e,onTextPart(e){null==u?(u={type:"text",text:e},d.parts.push(u)):u.text+=e,d.content+=e,I()},onReasoningPart(e){null==l?(l={type:"text",text:e},null!=c&&c.details.push(l)):l.text+=e,null==c?(c={type:"reasoning",reasoning:e,details:[l]},d.parts.push(c)):c.reasoning+=e,d.reasoning=(d.reasoning??"")+e,I()},onReasoningSignaturePart(e){null!=l&&(l.signature=e.signature)},onRedactedReasoningPart(e){null==c&&(c={type:"reasoning",reasoning:"",details:[]},d.parts.push(c)),c.details.push({type:"redacted",data:e.data}),l=void 0,I()},onFilePart(e){d.parts.push({type:"file",mimeType:e.mimeType,data:e.data}),I()},onSourcePart(e){d.parts.push({type:"source",source:e}),I()},onToolCallStreamingStartPart(e){null==d.toolInvocations&&(d.toolInvocations=[]),g[e.toolCallId]={text:"",step:i,toolName:e.toolName,index:d.toolInvocations.length,observability:getClientToolObservabilityContext(e)};const t=getClientToolObservabilityContext(e),r={state:"partial-call",step:i,toolCallId:e.toolCallId,toolName:e.toolName,args:void 0,...t?{observability:t}:{}};d.toolInvocations.push(r),h(e.toolCallId,r),I()},onToolCallDeltaPart(e){const t=g[e.toolCallId];t.text+=e.argsTextDelta;const{value:r}=parsePartialJson(t.text),s={state:"partial-call",step:t.step,toolCallId:e.toolCallId,toolName:t.toolName,args:r,...t.observability?{observability:t.observability}:{}};d.toolInvocations[t.index]=s,h(e.toolCallId,s),I()},async onToolCallPart(e){const t={state:"call",step:i,...e};if(null!=g[e.toolCallId]?d.toolInvocations[g[e.toolCallId].index]=t:(null==d.toolInvocations&&(d.toolInvocations=[]),d.toolInvocations.push(t)),h(e.toolCallId,t),I(),r){const t=await r({toolCall:e});if(null!=t){const r={state:"result",step:i,...e,result:t};d.toolInvocations[d.toolInvocations.length-1]=r,h(e.toolCallId,r),I()}}},onToolResultPart(e){const t=d.toolInvocations;if(null==t)throw new Error("tool_result must be preceded by a tool_call");const r=t.findIndex(t=>t.toolCallId===e.toolCallId);if(-1===r)throw new Error("tool_result must be preceded by a tool_call with the same toolCallId");const s={...t[r],state:"result",...e};t[r]=s,h(e.toolCallId,s),I()},onDataPart(e){p.push(...e),I()},onMessageAnnotationsPart(e){null==m?m=[...e]:m.push(...e),I()},onFinishStepPart(e){i+=1,u=e.isContinued?u:void 0,c=void 0,l=void 0},onStartStepPart(e){a||(d.id=e.messageId),d.parts.push({type:"step-start"}),I()},onFinishMessagePart(e){S=e.finishReason,null!=e.usage&&(y=e.usage)},onErrorPart(e){throw new Error(e)}}),s?.({message:d,finishReason:S,usage:y})}async streamLegacy(e){const t={...e,output:e.output?zodToJsonSchema$1(e.output):void 0,experimental_output:e.experimental_output?zodToJsonSchema$1(e.experimental_output):void 0,requestContext:parseClientRequestContext(e.requestContext),clientTools:processClientTools(e.clientTools)},{readable:r,writable:s}=new TransformStream,o=await this.processStreamResponseLegacy(t,s),n=new Response(r,{status:o.status,statusText:o.statusText,headers:o.headers});return n.processDataStream=async(e={})=>{await processDataStream({stream:n.body,...e})},n}async processChatResponse_vNext({stream:e,update:t,onToolCall:r,onFinish:s,onStreamChunk:o,getCurrentDate:n=()=>new Date,lastMessage:a}){const i="assistant"===a?.role;let d=i?1+(a.toolInvocations?.reduce((e,t)=>Math.max(e,t.step??0),0)??0):0;const u=i?structuredClone(a):{id:v4(),createdAt:n(),role:"assistant",content:"",parts:[]};let c,l,h;function p(e,t){const r=u.parts.find(t=>"tool-invocation"===t.type&&t.toolInvocation.toolCallId===e);null!=r?r.toolInvocation=t:u.parts.push({type:"tool-invocation",toolInvocation:t})}const m=[];let g=i?a?.annotations:void 0;const y={};let S={completionTokens:NaN,promptTokens:NaN,totalTokens:NaN},I="unknown";function C(){const e=[...m];g?.length&&(u.annotations=g),t({message:{...structuredClone(u),revisionId:v4()},data:e,replaceLastMessage:i})}await processMastraStream({stream:e,onChunk:async e=>{switch(o?.(e),e.type){case"tripwire":u.parts.push({type:"text",text:e.payload.reason}),C();break;case"step-start":i||(u.id=e.payload.messageId),u.parts.push({type:"step-start"}),C();break;case"text-delta":null==c?(c={type:"text",text:e.payload.text},u.parts.push(c)):c.text+=e.payload.text,u.content+=e.payload.text,C();break;case"reasoning-delta":null==h?(h={type:"text",text:e.payload.text},null!=l&&l.details.push(h)):h.text+=e.payload.text,null==l?(l={type:"reasoning",reasoning:e.payload.text,details:[h]},u.parts.push(l)):l.reasoning+=e.payload.text,u.reasoning=(u.reasoning??"")+e.payload.text,C();break;case"file":u.parts.push({type:"file",mimeType:e.payload.mimeType,data:e.payload.data}),C();break;case"source":u.parts.push({type:"source",source:e.payload.source}),C();break;case"tool-call":{const t={state:"call",step:d,...e.payload};if(null!=y[e.payload.toolCallId]?u.toolInvocations[y[e.payload.toolCallId].index]=t:(null==u.toolInvocations&&(u.toolInvocations=[]),u.toolInvocations.push(t)),p(e.payload.toolCallId,t),C(),r){const t=await r({toolCall:e.payload});if(null!=t){const r={state:"result",step:d,...e.payload,result:t};u.toolInvocations[u.toolInvocations.length-1]=r,p(e.payload.toolCallId,r),C()}}break}case"tool-call-input-streaming-start":{null==u.toolInvocations&&(u.toolInvocations=[]),y[e.payload.toolCallId]={text:"",step:d,toolName:e.payload.toolName,index:u.toolInvocations.length,observability:getClientToolObservabilityContext(e)};const t=getClientToolObservabilityContext(e),r={state:"partial-call",step:d,toolCallId:e.payload.toolCallId,toolName:e.payload.toolName,args:e.payload.args,...t?{observability:t}:{}};u.toolInvocations.push(r),p(e.payload.toolCallId,r),C();break}case"tool-call-delta":{const t=y[e.payload.toolCallId];t.text+=e.payload.argsTextDelta;const{value:r}=parsePartialJson(t.text),s={state:"partial-call",step:t.step,toolCallId:e.payload.toolCallId,toolName:t.toolName,args:r,...t.observability?{observability:t.observability}:{}};u.toolInvocations[t.index]=s,p(e.payload.toolCallId,s),C();break}case"tool-result":{const t=u.toolInvocations;if(null==t)throw new Error("tool_result must be preceded by a tool_call");const r=t.findIndex(t=>t.toolCallId===e.payload.toolCallId);if(-1===r)throw new Error("tool_result must be preceded by a tool_call with the same toolCallId");const s={...t[r],state:"result",...e.payload};t[r]=s,p(e.payload.toolCallId,s),C();break}case"error":throw getErrorFromUnknown(e.payload.error,{fallbackMessage:"Unknown error in stream",supportSerialization:!1});case"data":m.push(...e.payload.data),C();break;case"step-finish":d+=1,c=e.payload?.stepResult?.isContinued?c:void 0,l=void 0,h=void 0,C();break;case"finish":I=e.payload?.stepResult?.reason??I,null!=e.payload?.usage&&(S=e.payload.usage)}}}),s?.({message:u,finishReason:I,usage:S})}async processStreamResponse(e,t,r="stream"){const{memory:s}=e??{},{resource:o,thread:n}=s??{},a=e.threadId??("string"==typeof n?n:n?.id),i=e.resourceId??o;let d=e;if("resume-stream"===r){const{messages:t,...r}=e;d=r}const u=await this.request(`/agents/${this.agentId}/${r}`,{method:"POST",body:d,stream:!0});if(!u.body)throw new Error("No response body");try{let s=[],o=e.runId;const[n,d]=u.body.tee(),c=new TextDecoder;let l="";const h=(e,r=!1)=>{l+=e;const s=l.split("\n\n");l=r?"":s.pop()??"";const o=s.filter(e=>"[DONE]"!==e.trim()&&"data: [DONE]"!==e.trim()).join("\n\n");o&&t.enqueue((new TextEncoder).encode(`${o}\n\n`))},p=n.pipeTo(new WritableStream({async write(e){try{h(c.decode(e,{stream:!0}))}catch(r){console.error("Error enqueueing to controller:",r),t.enqueue(e)}},close(){h(c.decode(),!0)}})).catch(e=>{console.error("Error piping to controller:",e);try{t.close()}catch{}});this.processChatResponse_vNext({stream:d,update:({message:e})=>{const t=s.findIndex(t=>t.id===e.id);-1!==t?s[t]=e:s.push(e)},onFinish:async({finishReason:n,message:d})=>{if("tool-calls"===n){const n=new Map;for(const e of d?.parts??[]){if("tool-invocation"!==e.type||!e.toolInvocation?.toolCallId)continue;const t=d?.toolInvocations?.find(t=>t.toolCallId===e.toolInvocation.toolCallId);n.set(e.toolInvocation.toolCallId,{...t,...e.toolInvocation,...!getClientToolObservabilityContext(e.toolInvocation)&&t?{observability:getClientToolObservabilityContext(t)}:{}})}for(const e of d?.toolInvocations??[])e.toolCallId&&n.set(e.toolCallId,{...n.get(e.toolCallId),...e});const c=[...n.values()].filter(t=>{const r=e.clientTools?.[t.toolName];return Boolean(r?.execute)});if(c.length>0){const n=[],d=[];for(const t of c){const r=e.clientTools?.[t.toolName],s=o??t.toolCallId;let c,l,h,p;try{({result:c,observability:h}=await executeClientToolWithObservability({clientTool:r,args:t?.args,toolName:t.toolName,parentContext:getClientToolObservabilityContext(t),executeContext:{requestContext:e.requestContext,tracingContext:{currentSpan:void 0},agent:{agentId:this.agentId,messages:u.messages,toolCallId:t?.toolCallId,suspend:async()=>{},threadId:a,resourceId:i}}})),l=await getClientToolModelOutput(r,c),p={type:"tool-result",runId:s,from:"AGENT",payload:{toolCallId:t.toolCallId,toolName:t.toolName,result:c,isError:!1,providerExecuted:!1}}}catch(e){p={type:"tool-error",runId:s,from:"AGENT",payload:{toolCallId:t.toolCallId,toolName:t.toolName,error:e,args:t?.args,providerExecuted:!1}},c={error:e instanceof Error?e.message:String(e)}}n.push(p),d.push({type:"tool-result",toolCallId:t.toolCallId,toolName:t.toolName,input:t.args,result:c,...null!=l?{providerOptions:{mastra:{modelOutput:l}}}:{},...h?{__mastraObservability:h}:{}})}try{await p}catch{}for(const e of n)try{const r="tool-error"===e.type?e.payload.error:void 0,s=r instanceof Error?{name:r.name,message:r.message,stack:r.stack}:r,o="tool-error"===e.type?{...e,payload:{...e.payload,error:s}}:e,n=`data: ${JSON.stringify(o)}\n\n`;t.enqueue((new TextEncoder).encode(n))}catch(e){console.error("Failed to enqueue synthetic tool-result chunk:",e)}const l={role:"tool",content:d},h=a?[l]:[...Array.isArray(e.messages)?e.messages:[],...s,l],m="resume-stream"===r?"stream":"resume-stream-until-idle"===r?"stream-until-idle":r;try{await this.processStreamResponse({...e,messages:h},t,m)}catch(e){console.error("Error processing recursive stream response:",e)}}else await p,t.close()}else await p,t.close()},onStreamChunk:e=>{o||"string"!=typeof e.runId||(o=e.runId)},lastMessage:void 0}).catch(async e=>{console.error("Error processing stream response:",e);try{await p,t.close()}catch{}})}catch(e){console.error("Error processing stream response:",e)}return u}async network(e,t){const r={...t,messages:e,requestContext:parseClientRequestContext(t.requestContext),structuredOutput:t.structuredOutput?{...t.structuredOutput,schema:zodToJsonSchema$1(t.structuredOutput.schema)}:void 0},s=await this.request(`/agents/${this.agentId}/network`,{method:"POST",body:r,stream:!0});if(!s.body)throw new Error("No response body");const o=new Response(s.body,{status:s.status,statusText:s.statusText,headers:s.headers});return o.processDataStream=async({onChunk:e})=>{await processMastraNetworkStream({stream:o.body,onChunk:e})},o}async approveNetworkToolCall(e){const{requestContext:t,...r}=e,s=await this.request(`/agents/${this.agentId}/approve-network-tool-call`,{method:"POST",body:{...r,requestContext:parseClientRequestContext(t)},stream:!0});if(!s.body)throw new Error("No response body");const o=new Response(s.body,{status:s.status,statusText:s.statusText,headers:s.headers});return o.processDataStream=async({onChunk:e})=>{await processMastraNetworkStream({stream:o.body,onChunk:e})},o}async declineNetworkToolCall(e){const{requestContext:t,...r}=e,s=await this.request(`/agents/${this.agentId}/decline-network-tool-call`,{method:"POST",body:{...r,requestContext:parseClientRequestContext(t)},stream:!0});if(!s.body)throw new Error("No response body");const o=new Response(s.body,{status:s.status,statusText:s.statusText,headers:s.headers});return o.processDataStream=async({onChunk:e})=>{await processMastraNetworkStream({stream:o.body,onChunk:e})},o}async stream(e,t){let r,s={messages:e,...t};s.structuredOutput?.schema&&(r={...s.structuredOutput,schema:standardSchemaToJSONSchema(toStandardSchema(s.structuredOutput.schema))});const o={...s,requestContext:parseClientRequestContext(s.requestContext),clientTools:processClientTools(s.clientTools),structuredOutput:r};let n;const a=new ReadableStream({start(e){n=e}}),i=await this.processStreamResponse(o,n),d=new Response(a,{status:i.status,statusText:i.statusText,headers:i.headers});return d.processDataStream=async({onChunk:e})=>{await processMastraStream({stream:d.body,onChunk:e})},d}async streamUntilIdle(e,t){let r,s={messages:e,...t};s.structuredOutput?.schema&&(r={...s.structuredOutput,schema:standardSchemaToJSONSchema(toStandardSchema(s.structuredOutput.schema))});const o={...s,requestContext:parseClientRequestContext(s.requestContext),clientTools:processClientTools(s.clientTools),structuredOutput:r};let n;const a=new ReadableStream({start(e){n=e}}),i=await this.processStreamResponse(o,n,"stream-until-idle"),d=new Response(a,{status:i.status,statusText:i.statusText,headers:i.headers});return d.processDataStream=async({onChunk:e})=>{await processMastraStream({stream:d.body,onChunk:e})},d}async listSuspendedRuns(e,t){const r=new URLSearchParams(requestContextQueryString(t).slice(1));e?.threadId&&r.set("threadId",e.threadId),e?.resourceId&&r.set("resourceId",e.resourceId),e?.fromDate&&r.set("fromDate",e.fromDate.toISOString()),e?.toDate&&r.set("toDate",e.toDate.toISOString()),void 0!==e?.perPage&&r.set("perPage",String(e.perPage)),void 0!==e?.page&&r.set("page",String(e.page));const s=r.size?`?${r}`:"";return this.request(`/agents/${this.agentId}/suspended-runs${s}`)}async approveToolCall(e){const{requestContext:t,...r}=e,s={...r,requestContext:parseClientRequestContext(t)};let o;const n=new ReadableStream({start(e){o=e}}),a=await this.processStreamResponse(s,o,"approve-tool-call"),i=new Response(n,{status:a.status,statusText:a.statusText,headers:a.headers});return i.processDataStream=async({onChunk:e})=>{await processMastraStream({stream:i.body,onChunk:e})},i}async sendToolApproval(e){const{requestContext:t,...r}=e;return this.request(`/agents/${this.agentId}/send-tool-approval`,{method:"POST",body:{...r,requestContext:parseClientRequestContext(t)}})}async declineToolCall(e){const{requestContext:t,...r}=e,s={...r,requestContext:parseClientRequestContext(t)};let o;const n=new ReadableStream({start(e){o=e}}),a=await this.processStreamResponse(s,o,"decline-tool-call"),i=new Response(n,{status:a.status,statusText:a.statusText,headers:a.headers});return i.processDataStream=async({onChunk:e})=>{await processMastraStream({stream:i.body,onChunk:e})},i}async observe(e){const t=await this.request(`/agents/${this.agentId}/observe`,{method:"POST",body:e,stream:!0});if(!t.body)throw new Error("No response body");const r=new Response(t.body,{status:t.status,statusText:t.statusText,headers:t.headers});return r.processDataStream=async({onChunk:e})=>{await processMastraStream({stream:r.body,onChunk:e})},r}async resumeStream(e,t){const r={...t,resumeData:e,requestContext:parseClientRequestContext(t.requestContext),clientTools:processClientTools(t.clientTools),structuredOutput:t.structuredOutput?{...t.structuredOutput,schema:standardSchemaToJSONSchema(toStandardSchema(t.structuredOutput.schema))}:void 0};let s;const o=new ReadableStream({start(e){s=e}}),n=await this.processStreamResponse(r,s,"resume-stream"),a=new Response(o,{status:n.status,statusText:n.statusText,headers:n.headers});return a.processDataStream=async({onChunk:e})=>{await processMastraStream({stream:a.body,onChunk:e})},a}async recover(e){const t={runId:e.runId,requestContext:parseClientRequestContext(e.requestContext),versions:e.versions},r=await this.request(`/agents/${this.agentId}/recover`,{method:"POST",body:t,stream:!0});if(!r.body)throw new Error("No response body");const s=r;return s.processDataStream=async({onChunk:e})=>{await processMastraStream({stream:s.body,onChunk:e})},s}async resumeStreamUntilIdle(e,t){const r={...t,resumeData:e,requestContext:parseClientRequestContext(t.requestContext),clientTools:processClientTools(t.clientTools),structuredOutput:t.structuredOutput?{...t.structuredOutput,schema:standardSchemaToJSONSchema(toStandardSchema(t.structuredOutput.schema))}:void 0};let s;const o=new ReadableStream({start(e){s=e}}),n=await this.processStreamResponse(r,s,"resume-stream-until-idle"),a=new Response(o,{status:n.status,statusText:n.statusText,headers:n.headers});return a.processDataStream=async({onChunk:e})=>{await processMastraStream({stream:a.body,onChunk:e})},a}async approveToolCallGenerate(e){const{requestContext:t,...r}=e;return this.request(`/agents/${this.agentId}/approve-tool-call-generate`,{method:"POST",body:{...r,requestContext:parseClientRequestContext(t)}})}async declineToolCallGenerate(e){const{requestContext:t,...r}=e;return this.request(`/agents/${this.agentId}/decline-tool-call-generate`,{method:"POST",body:{...r,requestContext:parseClientRequestContext(t)}})}async processStreamResponseLegacy(e,t){const{memory:r}=e??{},{resource:s,thread:o}=r??{},n=e.threadId??("string"==typeof o?o:o?.id),a=e.resourceId??s,i=await this.request(`/agents/${this.agentId}/stream-legacy`,{method:"POST",body:e,stream:!0});if(!i.body)throw new Error("No response body");try{let r=[],s=[];const[o,d]=i.body.tee();o.pipeTo(t,{preventClose:!0}).catch(e=>{console.error("Error piping to writable stream:",e)}),this.processChatResponse({stream:d,update:({message:e})=>{const t=s.findIndex(t=>t.id===e.id);-1!==t?s[t]=e:s.push(e)},onFinish:async({finishReason:o,message:d})=>{if("tool-calls"===o){const o=[...d?.parts??[]].reverse().find(e=>"tool-invocation"===e.type)?.toolInvocation;if(o){const e=d?.toolInvocations?.find(e=>e.toolCallId===o.toolCallId);r.push({...e,...o,...!getClientToolObservabilityContext(o)&&e?{observability:getClientToolObservabilityContext(e)}:{}})}for(const o of r){const r=e.clientTools?.[o.toolName];if(r&&r.execute){const{result:d,observability:u}=await executeClientToolWithObservability({clientTool:r,args:o?.args,toolName:o.toolName,parentContext:getClientToolObservabilityContext(o),executeContext:{requestContext:e.requestContext,tracingContext:{currentSpan:void 0},agent:{agentId:this.agentId,messages:i.messages,toolCallId:o?.toolCallId,suspend:async()=>{},threadId:n,resourceId:a}}}),c=t.getWriter();try{await c.write((new TextEncoder).encode("a:"+JSON.stringify({toolCallId:o.toolCallId,result:d})+"\n"))}finally{c.releaseLock()}const l={role:"tool",content:[{type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,input:o.args,result:d,...u?{__mastraObservability:u}:{}}]},h=n?[l]:[...Array.isArray(e.messages)?e.messages:[],...s,l];this.processStreamResponseLegacy({...e,messages:h},t).catch(e=>{console.error("Error processing stream response:",e)})}}}else setTimeout(()=>{t.close()},0)},lastMessage:void 0}).catch(e=>{console.error("Error processing stream response:",e)})}catch(e){console.error("Error processing stream response:",e)}return i}getTool(e,t){return this.request(`/agents/${this.agentId}/tools/${e}${this.getQueryString(t)}`)}executeTool(e,t){const r={data:t.data,requestContext:parseClientRequestContext(t.requestContext)};return this.request(`/agents/${this.agentId}/tools/${e}/execute`,{method:"POST",body:r})}updateModel(e){return this.request(`/agents/${this.agentId}/model`,{method:"POST",body:e})}resetModel(){return this.request(`/agents/${this.agentId}/model/reset`,{method:"POST",body:{}})}updateModelInModelList({modelConfigId:e,...t}){return this.request(`/agents/${this.agentId}/models/${e}`,{method:"POST",body:t})}reorderModelList(e){return this.request(`/agents/${this.agentId}/models/reorder`,{method:"POST",body:e})}},MemoryThread=class extends BaseResource{threadId;agentId;constructor(e,t,r){super(e),this.threadId=t,this.agentId=r}getAgentIdQueryParam(e="?",t){const r=t??this.agentId;return r?`${e}agentId=${r}`:""}requireAgentId(e,t){const r=e??this.agentId;if(!r)throw new Error(`MemoryThread.${t}() requires an agentId. Pass it via getMemoryThread({ threadId, agentId }) or as a parameter to ${t}().`);return r}get(e){const t=this.getAgentIdQueryParam("?"),r=requestContextQueryString(e,t?"&":"?");return this.request(`/memory/threads/${this.threadId}${t}${r}`)}update(e){const t=this.requireAgentId(e.agentId,"update"),{agentId:r,requestContext:s,...o}=e,n=`?agentId=${t}`,a=requestContextQueryString(s,"&");return this.request(`/memory/threads/${this.threadId}${n}${a}`,{method:"PATCH",body:o})}delete(e={}){const t=`?agentId=${this.requireAgentId(e.agentId,"delete")}`,r=requestContextQueryString(e.requestContext,"&");return this.request(`/memory/threads/${this.threadId}${t}${r}`,{method:"DELETE"})}listMessages(e={}){const{page:t,perPage:r,orderBy:s,filter:o,include:n,resourceId:a,requestContext:i,includeSystemReminders:d}=e,u={};this.agentId&&(u.agentId=this.agentId),a&&(u.resourceId=a),void 0!==t&&(u.page=String(t)),void 0!==r&&(u.perPage=String(r)),s&&(u.orderBy=JSON.stringify(s)),o&&(u.filter=JSON.stringify(o)),n&&(u.include=JSON.stringify(n)),void 0!==d&&(u.includeSystemReminders=String(d));const c=new URLSearchParams(u).toString(),l=`/memory/threads/${this.threadId}/messages${c?`?${c}`:""}${requestContextQueryString(i,c?"&":"?")}`;return this.request(l)}deleteMessages(e,t={}){const{agentId:r,requestContext:s}=normalizeWriteOpts(t),o=`agentId=${this.requireAgentId(r,"deleteMessages")}`;return this.request(`/memory/messages/delete?${o}${requestContextQueryString(s,"&")}`,{method:"POST",body:{messageIds:e}})}clone(e={}){const t=this.requireAgentId(e.agentId,"clone"),{agentId:r,requestContext:s,...o}=e,n=`?agentId=${t}`,a=requestContextQueryString(s,"&");return this.request(`/memory/threads/${this.threadId}/clone${n}${a}`,{method:"POST",body:o})}};function normalizeWriteOpts(e){if(!e||"object"!=typeof e)return{};if("agentId"in e||"requestContext"in e){const t=e;return{agentId:t.agentId,requestContext:t.requestContext}}return 0===Object.keys(e).length?{}:{requestContext:e}}var Vector=class extends BaseResource{vectorName;constructor(e,t){super(e),this.vectorName=t}details(e,t){return this.request(`/vector/${encodeURIComponent(this.vectorName)}/indexes/${encodeURIComponent(e)}${requestContextQueryString(t)}`)}delete(e){return this.request(`/vector/${encodeURIComponent(this.vectorName)}/indexes/${encodeURIComponent(e)}`,{method:"DELETE"})}getIndexes(e){return this.request(`/vector/${encodeURIComponent(this.vectorName)}/indexes${requestContextQueryString(e)}`)}createIndex(e){return this.request(`/vector/${encodeURIComponent(this.vectorName)}/create-index`,{method:"POST",body:e})}upsert(e){return this.request(`/vector/${encodeURIComponent(this.vectorName)}/upsert`,{method:"POST",body:e})}query(e){return this.request(`/vector/${encodeURIComponent(this.vectorName)}/query`,{method:"POST",body:e})}},Tool=class extends BaseResource{toolId;constructor(e,t){super(e),this.toolId=t}details(e){return this.request(`/tools/${this.toolId}${requestContextQueryString(e)}`)}execute(e){const t=new URLSearchParams;e.runId&&t.set("runId",e.runId);const r={data:e.data,requestContext:parseClientRequestContext(e.requestContext)};return this.request(`/tools/${this.toolId}/execute?${t.toString()}`,{method:"POST",body:r})}},Processor=class extends BaseResource{processorId;constructor(e,t){super(e),this.processorId=t}details(e){return this.request(`/processors/${this.processorId}${requestContextQueryString(e)}`)}execute(e){const t={phase:e.phase,messages:e.messages,agentId:e.agentId,requestContext:parseClientRequestContext(e.requestContext)};return this.request(`/processors/${this.processorId}/execute`,{method:"POST",body:t})}},ConversationItems=class extends BaseResource{constructor(e){super(e)}list(e,t){return this.request(`/v1/conversations/${encodeURIComponent(e)}/items${requestContextQueryString(t)}`)}},Conversations=class extends BaseResource{items;constructor(e){super(e),this.items=new ConversationItems(e)}create(e){const{requestContext:t,...r}=e;return this.request(`/v1/conversations${requestContextQueryString(t)}`,{method:"POST",body:r})}retrieve(e,t){return this.request(`/v1/conversations/${encodeURIComponent(e)}${requestContextQueryString(t)}`)}delete(e,t){return this.request(`/v1/conversations/${encodeURIComponent(e)}${requestContextQueryString(t)}`,{method:"DELETE"})}};const RECORD_SEPARATOR$1="",SSE_FRAME_SEPARATOR=/\r?\n\r?\n/;function createRecordSeparatorJsonTransform(){const e=new TextDecoder;let t="";const r=e=>{let r=t.indexOf("");for(;-1!==r;){const s=t.slice(0,r);t=t.slice(r+1),s&&e.enqueue(JSON.parse(s)),r=t.indexOf("")}};return new TransformStream({transform(s,o){t+=e.decode(s,{stream:!0}),r(o)},flush(s){t+=e.decode(),r(s),t&&s.enqueue(JSON.parse(t))}})}function createSseJsonTransform(){const e=new TextDecoder;let t="";const r=(e,t)=>{const r=[];for(const t of e.split(/\r?\n/)){if(t.startsWith(":")||!t.startsWith("data:"))continue;const e=t.slice(5);r.push(e.startsWith(" ")?e.slice(1):e)}if(0===r.length)return;const s=r.join("\n");"[DONE]"!==s&&t.enqueue(JSON.parse(s))},s=e=>{let s=SSE_FRAME_SEPARATOR.exec(t);for(;s;)r(t.slice(0,s.index),e),t=t.slice(s.index+s[0].length),s=SSE_FRAME_SEPARATOR.exec(t)};return new TransformStream({transform(r,o){t+=e.decode(r,{stream:!0}),s(o)},flush(o){t+=e.decode(),s(o),t&&r(t,o)}})}function deserializeWorkflowError(e){return"failed"===e.status&&e.error&&(e.error=getErrorFromUnknown(e.error,{fallbackMessage:"Unknown workflow error",supportSerialization:!1})),e}var Run=class extends BaseResource{workflowId;runId;constructor(e,t,r){super(e),this.workflowId=t,this.runId=r}createChunkTransformStream(){return createRecordSeparatorJsonTransform()}cancelRun(){return this.request(`/workflows/${this.workflowId}/runs/${this.runId}/cancel`,{method:"POST"})}cancel(){return this.request(`/workflows/${this.workflowId}/runs/${this.runId}/cancel`,{method:"POST"})}start(e){const t=parseClientRequestContext(e.requestContext);return this.request(`/workflows/${this.workflowId}/start?runId=${this.runId}`,{method:"POST",body:{inputData:e?.inputData,initialState:e?.initialState,requestContext:t,tracingOptions:e.tracingOptions,perStep:e.perStep}})}resume({step:e,resumeData:t,tracingOptions:r,perStep:s,forEachIndex:o,...n}){const a=parseClientRequestContext(n.requestContext);return this.request(`/workflows/${this.workflowId}/resume?runId=${this.runId}`,{method:"POST",body:{step:e,resumeData:t,requestContext:a,tracingOptions:r,perStep:s,forEachIndex:o}})}startAsync(e){const t=new URLSearchParams;t.set("runId",this.runId);const r=parseClientRequestContext(e.requestContext);return this.request(`/workflows/${this.workflowId}/start-async?${t.toString()}`,{method:"POST",body:{inputData:e.inputData,initialState:e.initialState,requestContext:r,tracingOptions:e.tracingOptions,resourceId:e.resourceId,perStep:e.perStep}}).then(deserializeWorkflowError)}async stream(e){const t=new URLSearchParams;t.set("runId",this.runId);const r=parseClientRequestContext(e.requestContext),s=await this.request(`/workflows/${this.workflowId}/stream?${t.toString()}`,{method:"POST",body:{inputData:e.inputData,initialState:e.initialState,requestContext:r,tracingOptions:e.tracingOptions,resourceId:e.resourceId,perStep:e.perStep,closeOnSuspend:e.closeOnSuspend},stream:!0});if(!s.ok)throw new Error(`Failed to stream workflow: ${s.statusText}`);if(!s.body)throw new Error("Response body is null");return s.body.pipeThrough(this.createChunkTransformStream())}async observe(e){const t=new URLSearchParams;t.set("runId",this.runId),void 0!==e?.offset&&t.set("offset",String(e.offset));const r=await this.request(`/workflows/${this.workflowId}/observe?${t.toString()}`,{method:"POST",stream:!0});if(!r.ok)throw new Error(`Failed to observe workflow stream: ${r.statusText}`);if(!r.body)throw new Error("Response body is null");return r.body.pipeThrough(this.createChunkTransformStream())}async observeStream(){return this.observe()}resumeAsync(e){const t=parseClientRequestContext(e.requestContext);return this.request(`/workflows/${this.workflowId}/resume-async?runId=${this.runId}`,{method:"POST",body:{step:e.step,resumeData:e.resumeData,requestContext:t,tracingOptions:e.tracingOptions,perStep:e.perStep,forEachIndex:e.forEachIndex}}).then(deserializeWorkflowError)}resumeNoWait(e){const t=parseClientRequestContext(e.requestContext);return this.request(`/workflows/${this.workflowId}/resume-no-wait?runId=${this.runId}`,{method:"POST",body:{step:e.step,resumeData:e.resumeData,requestContext:t,tracingOptions:e.tracingOptions,perStep:e.perStep,forEachIndex:e.forEachIndex}})}async resumeStream(e){const t=new URLSearchParams;t.set("runId",this.runId);const r=parseClientRequestContext(e.requestContext),s=await this.request(`/workflows/${this.workflowId}/resume-stream?${t.toString()}`,{method:"POST",body:{step:e.step,resumeData:e.resumeData,requestContext:r,tracingOptions:e.tracingOptions,perStep:e.perStep,forEachIndex:e.forEachIndex},stream:!0});if(!s.ok)throw new Error(`Failed to stream vNext workflow: ${s.statusText}`);if(!s.body)throw new Error("Response body is null");return s.body.pipeThrough(this.createChunkTransformStream())}restart(e){const t=parseClientRequestContext(e.requestContext);return this.request(`/workflows/${this.workflowId}/restart?runId=${this.runId}`,{method:"POST",body:{requestContext:t,tracingOptions:e.tracingOptions}})}restartAsync(e){const t=parseClientRequestContext(e?.requestContext);return this.request(`/workflows/${this.workflowId}/restart-async?runId=${this.runId}`,{method:"POST",body:{requestContext:t,tracingOptions:e?.tracingOptions}}).then(deserializeWorkflowError)}timeTravel({requestContext:e,...t}){const r=parseClientRequestContext(e);return this.request(`/workflows/${this.workflowId}/time-travel?runId=${this.runId}`,{method:"POST",body:{...t,requestContext:r}})}timeTravelAsync({requestContext:e,...t}){const r=parseClientRequestContext(e);return this.request(`/workflows/${this.workflowId}/time-travel-async?runId=${this.runId}`,{method:"POST",body:{...t,requestContext:r}}).then(deserializeWorkflowError)}async timeTravelStream({requestContext:e,...t}){const r=parseClientRequestContext(e),s=await this.request(`/workflows/${this.workflowId}/time-travel-stream?runId=${this.runId}`,{method:"POST",body:{...t,requestContext:r},stream:!0});if(!s.ok)throw new Error(`Failed to time travel workflow: ${s.statusText}`);if(!s.body)throw new Error("Response body is null");return s.body.pipeThrough(this.createChunkTransformStream())}};const RECORD_SEPARATOR="";var Workflow=class extends BaseResource{workflowId;constructor(e,t){super(e),this.workflowId=t}details(e){return this.request(`/workflows/${this.workflowId}${requestContextQueryString(e)}`)}runs(e,t){const r=base64RequestContext(parseClientRequestContext(t)),s=new URLSearchParams;return e?.fromDate&&s.set("fromDate",e.fromDate.toISOString()),e?.toDate&&s.set("toDate",e.toDate.toISOString()),void 0!==e?.page&&s.set("page",String(e.page)),void 0!==e?.perPage&&s.set("perPage",String(e.perPage)),null!=e?.limit&&(!1===e.limit?s.set("limit","false"):"number"==typeof e.limit&&e.limit>0&&Number.isInteger(e.limit)&&s.set("limit",String(e.limit))),null==e?.offset||isNaN(Number(e?.offset))||s.set("offset",String(e.offset)),e?.resourceId&&s.set("resourceId",e.resourceId),e?.status&&s.set("status",e.status),r&&s.set("requestContext",r),s.size?this.request(`/workflows/${this.workflowId}/runs?${s}`):this.request(`/workflows/${this.workflowId}/runs`)}runById(e,t){const r=new URLSearchParams;t?.fields&&t.fields.length>0&&r.set("fields",t.fields.join(",")),void 0!==t?.withNestedWorkflows&&r.set("withNestedWorkflows",String(t.withNestedWorkflows));const s=base64RequestContext(parseClientRequestContext(t?.requestContext));s&&r.set("requestContext",s);const o=r.size>0?`?${r.toString()}`:"";return this.request(`/workflows/${this.workflowId}/runs/${e}${o}`)}deleteRunById(e){return this.request(`/workflows/${this.workflowId}/runs/${e}`,{method:"DELETE"})}async getSchema(){const e=await this.details();return{inputSchema:e.inputSchema?parseSuperJsonString(e.inputSchema):null,outputSchema:e.outputSchema?parseSuperJsonString(e.outputSchema):null}}async createRun(e){const t=new URLSearchParams;e?.runId&&t.set("runId",e.runId);const r=await this.request(`/workflows/${this.workflowId}/create-run?${t.toString()}`,{method:"POST",body:{resourceId:e?.resourceId,disableScorers:e?.disableScorers}});return new Run(this.options,this.workflowId,r.runId)}static createRecordStream(e){const t=new TextEncoder;return new ReadableStream({async start(r){try{for await(const s of e){const e=JSON.stringify(s)+"";r.enqueue(t.encode(e))}r.close()}catch(e){r.error(e)}}})}};function splitNextEvent(e){const t=e.replace(/\x1E/g,"\n\n"),r=t.match(/\r?\n\r?\n/);if(!r||void 0===r.index)return{rest:t};const s=r[0].length;return{eventBlock:t.slice(0,r.index),rest:t.slice(r.index+s)}}function parseEventBlock(e){const t=e.trim();if(!t)return{};const r=t.split(/\r?\n/).filter(e=>e.startsWith("data:")).map(e=>e.slice(5).trimStart()),s=r.length>0?r.join("\n"):t;if(!s||"[DONE]"===s)return{done:!0};let o;try{o=JSON.parse(s)}catch(e){throw new Error(`Failed to parse A2A stream event: ${e instanceof Error?e.message:"unknown parse error"}`)}if(o&&"object"==typeof o&&"error"in o&&o.error)throw new MastraClientError(200,"OK",`A2A stream error - ${JSON.stringify(o.error)}`,o.error);return o&&"object"==typeof o&&"result"in o?{event:o.result}:{event:o}}async function*processA2AStream(e){const t=e.getReader(),r=new TextDecoder;let s="";try{for(;;){const{done:e,value:o}=await t.read();for(s+=e?r.decode():r.decode(o,{stream:!0});;){const{eventBlock:e,rest:t}=splitNextEvent(s);if(s=t,!e)break;const r=parseEventBlock(e);if(r.done)return;r.event&&(yield r.event)}if(e)break}if(s.trim()){const e=parseEventBlock(s);!e.done&&e.event&&(yield e.event)}}finally{t.releaseLock()}}const DEFAULT_AGENT_CARD_SIGNATURE_ALGORITHMS=["ES256","ES384","ES512","RS256","RS384","RS512","PS256","PS384","PS512"];function stripAgentCardSignatures(e){const t=structuredClone(e);return delete t.signatures,t}function isCryptoKey(e){const t=globalThis.CryptoKey;return void 0!==t&&e instanceof t}function isPem(e){return e.includes("-----BEGIN ")}function isCertificate(e){return e.includes("-----BEGIN CERTIFICATE-----")}async function importVerificationKey(e,t){if(isCryptoKey(e)||e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if("string"==typeof e){if(t.startsWith("HS"))return(new TextEncoder).encode(e);if(!isPem(e))throw new Error("Expected a PEM-encoded public key or certificate string for Agent Card verification");return isCertificate(e)?importX509(e,t):importSPKI(e,t)}return importJWK(e,t)}async function verifyAgentCardSignatureIfPresent(e,t){const r=e.signatures??[];if(0===r.length)return e;const s=canonicalize(stripAgentCardSignatures(e));if(!s)throw new MastraClientError(200,"OK","Failed to canonicalize A2A Agent Card for signature verification");const o=t.algorithms??[...DEFAULT_AGENT_CARD_SIGNATURE_ALGORITHMS],n=base64url.encode(s),a=[];for(const[s,i]of r.entries())try{const r=`${i.protected}.${n}.${i.signature}`,a=decodeProtectedHeader(r);if("string"!=typeof a.alg)throw new Error('Agent Card signature is missing a protected "alg" header');if(!o.includes(a.alg))throw new Error(`Agent Card signature algorithm "${a.alg}" is not allowed`);const d=await t.keyProvider({agentCard:e,signature:i,protectedHeader:a,alg:a.alg,kid:"string"==typeof a.kid?a.kid:void 0,jku:"string"==typeof a.jku?a.jku:void 0,index:s});if(!d)throw new Error("No verification key was provided for Agent Card signature verification");return await compactVerify(r,await importVerificationKey(d,a.alg),{algorithms:o}),e}catch(e){a.push(e instanceof Error?e.message:"Unknown verification failure")}throw new MastraClientError(200,"OK",`A2A Agent Card signature verification failed: ${a.join("; ")}`)}function createA2AJsonRpcError(e){const t=e.error,r=t?.message??"Unknown A2A JSON-RPC error";return"number"==typeof t?.code?new MastraA2AError(t.code,r,t.data):new MastraClientError(200,"OK",`A2A JSON-RPC error - ${r}`,t)}function unwrapA2AResult(e){if("error"in e&&e.error)throw createA2AJsonRpcError(e);if("result"in e)return e.result;throw new MastraClientError(200,"OK","A2A JSON-RPC response did not include a result",e)}async function requireResponseBody(e,t){if(e.body)return e.body;const r=Array.from(e.headers.entries()).map(([e,t])=>`${e}: ${t}`).join(", ");let s="";try{s=await e.text()}catch{}const o=[`A2A ${t} stream response did not include a body`,`(status: ${e.status} ${e.statusText})`,r?`headers: ${r}`:"",s?`body: ${s}`:""].filter(Boolean).join(" ");throw new MastraClientError(e.status,e.statusText,o)}var A2A=class extends BaseResource{agentId;constructor(e,t){super(e),this.agentId=t}async getAgentCard(e){const t=await this.request(`/.well-known/${this.agentId}/agent-card.json`);return e?.verifySignature?verifyAgentCardSignatureIfPresent(t,e.verifySignature):t}async getCard(e){return this.getAgentCard(e)}async getExtendedAgentCard(){return unwrapA2AResult(await this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"agent/getAuthenticatedExtendedCard"}}))}async sendMessage(e){return this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"message/send",params:e}})}async*sendMessageStream(e){yield*processA2AStream(await requireResponseBody(await this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"message/stream",params:e},stream:!0}),"message/stream"))}async sendStreamingMessage(e){return this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"message/stream",params:e},stream:!0})}async getTask(e){return this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"tasks/get",params:e}})}async cancelTask(e){return this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"tasks/cancel",params:e}})}async*resubscribeTask(e){yield*processA2AStream(await requireResponseBody(await this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"tasks/resubscribe",params:e},stream:!0}),"tasks/resubscribe"))}async setTaskPushNotificationConfig(e){return unwrapA2AResult(await this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"tasks/pushNotificationConfig/set",params:e}}))}async getTaskPushNotificationConfig(e){return unwrapA2AResult(await this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"tasks/pushNotificationConfig/get",params:e}}))}async listTaskPushNotificationConfig(e){return unwrapA2AResult(await this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"tasks/pushNotificationConfig/list",params:e}}))}async deleteTaskPushNotificationConfig(e){unwrapA2AResult(await this.request(`/a2a/${this.agentId}`,{method:"POST",body:{jsonrpc:"2.0",id:crypto.randomUUID(),method:"tasks/pushNotificationConfig/delete",params:e}}))}},MCPTool=class extends BaseResource{serverId;toolId;constructor(e,t,r){super(e),this.serverId=t,this.toolId=r}details(e){return this.request(`/mcp/${encodeURIComponent(this.serverId)}/tools/${encodeURIComponent(this.toolId)}${requestContextQueryString(e)}`)}execute(e){const t={};return void 0!==e.data&&(t.data=e.data),void 0!==e.requestContext&&(t.requestContext=e.requestContext),this.request(`/mcp/${encodeURIComponent(this.serverId)}/tools/${encodeURIComponent(this.toolId)}/execute`,{method:"POST",body:t})}},AgentBuilder=class extends BaseResource{actionId;constructor(e,t){super(e),this.actionId=t}transformWorkflowResult(e){return"success"===e.status?{success:e.result.success||!1,applied:e.result.applied||!1,branchName:e.result.branchName,message:e.result.message||"Agent builder action completed",validationResults:e.result.validationResults,error:e.result.error,errors:e.result.errors,stepResults:e.result.stepResults}:"failed"===e.status?{success:!1,applied:!1,message:`Agent builder action failed: ${e.error.message}`,error:e.error.message}:{success:!1,applied:!1,message:"Agent builder action was suspended",error:"Workflow suspended - manual intervention required"}}createRecordParserTransform(){return createRecordSeparatorJsonTransform()}async createRun(e){const t=new URLSearchParams;e?.runId&&t.set("runId",e.runId);const r=`/agent-builder/${this.actionId}/create-run${t.toString()?`?${t.toString()}`:""}`;return this.request(r,{method:"POST"})}async startAsync(e,t){const r=new URLSearchParams;t&&r.set("runId",t);const s=parseClientRequestContext(e.requestContext),{requestContext:o,...n}=e,a=`/agent-builder/${this.actionId}/start-async${r.toString()?`?${r.toString()}`:""}`,i=await this.request(a,{method:"POST",body:{...n,requestContext:s}});return this.transformWorkflowResult(i)}async startActionRun(e,t){const r=new URLSearchParams;r.set("runId",t);const s=parseClientRequestContext(e.requestContext),{requestContext:o,...n}=e,a=`/agent-builder/${this.actionId}/start?${r.toString()}`;return this.request(a,{method:"POST",body:{...n,requestContext:s}})}async resume(e,t){const r=new URLSearchParams;r.set("runId",t);const s=parseClientRequestContext(e.requestContext),{requestContext:o,...n}=e,a=`/agent-builder/${this.actionId}/resume?${r.toString()}`;return this.request(a,{method:"POST",body:{...n,requestContext:s}})}async resumeAsync(e,t){const r=new URLSearchParams;r.set("runId",t);const s=parseClientRequestContext(e.requestContext),{requestContext:o,...n}=e,a=`/agent-builder/${this.actionId}/resume-async?${r.toString()}`,i=await this.request(a,{method:"POST",body:{...n,requestContext:s}});return this.transformWorkflowResult(i)}async stream(e,t){if(!t)throw new Error("runId is required to stream an agent builder action");const r=new URLSearchParams;r.set("runId",t);const s=parseClientRequestContext(e.requestContext),{requestContext:o,...n}=e,a=`/agent-builder/${this.actionId}/stream?${r.toString()}`,i=await this.request(a,{method:"POST",body:{...n,requestContext:s},stream:!0});if(!i.ok)throw new Error(`Failed to stream agent builder action: ${i.statusText}`);if(!i.body)throw new Error("Response body is null");return i.body.pipeThrough(this.createRecordParserTransform())}async observeStream(e){const t=new URLSearchParams;t.set("runId",e.runId);const r=`/agent-builder/${this.actionId}/observe?${t.toString()}`,s=await this.request(r,{method:"POST",stream:!0});if(!s.ok)throw new Error(`Failed to observe agent builder action stream: ${s.statusText}`);if(!s.body)throw new Error("Response body is null");return s.body.pipeThrough(this.createRecordParserTransform())}async observeStreamLegacy(e){const t=new URLSearchParams;t.set("runId",e.runId);const r=`/agent-builder/${this.actionId}/observe-stream-legacy?${t.toString()}`,s=await this.request(r,{method:"POST",stream:!0});if(!s.ok)throw new Error(`Failed to observe agent builder action stream legacy: ${s.statusText}`);if(!s.body)throw new Error("Response body is null");return s.body.pipeThrough(this.createRecordParserTransform())}async resumeStream(e){const t=new URLSearchParams;t.set("runId",e.runId);const r=parseClientRequestContext(e.requestContext),{runId:s,requestContext:o,...n}=e,a=`/agent-builder/${this.actionId}/resume-stream?${t.toString()}`,i=await this.request(a,{method:"POST",body:{...n,requestContext:r},stream:!0});if(!i.ok)throw new Error(`Failed to resume agent builder action stream: ${i.statusText}`);if(!i.body)throw new Error("Response body is null");return i.body.pipeThrough(this.createRecordParserTransform())}async runById(e,t){const r=new URLSearchParams;t?.fields&&t.fields.length>0&&r.set("fields",t.fields.join(",")),void 0!==t?.withNestedWorkflows&&r.set("withNestedWorkflows",String(t.withNestedWorkflows));const s=r.size>0?`?${r.toString()}`:"",o=`/agent-builder/${this.actionId}/runs/${e}${s}`;return this.request(o,{method:"GET"})}async details(){return await this.request(`/agent-builder/${this.actionId}`)}async runs(e){const t=new URLSearchParams;e?.fromDate&&t.set("fromDate",e.fromDate.toISOString()),e?.toDate&&t.set("toDate",e.toDate.toISOString()),void 0!==e?.perPage&&t.set("perPage",String(e.perPage)),void 0!==e?.page&&t.set("page",String(e.page)),null!=e?.limit&&(!1===e.limit?t.set("limit","false"):"number"==typeof e.limit&&e.limit>0&&Number.isInteger(e.limit)&&t.set("limit",String(e.limit))),null==e?.offset||isNaN(Number(e?.offset))||t.set("offset",String(e.offset)),e?.resourceId&&t.set("resourceId",e.resourceId);const r=`/agent-builder/${this.actionId}/runs${t.toString()?`?${t.toString()}`:""}`;return this.request(r,{method:"GET"})}async cancelRun(e){const t=`/agent-builder/${this.actionId}/runs/${e}/cancel`;return this.request(t,{method:"POST"})}},Observability=class extends BaseResource{constructor(e){super(e)}getTrace(e){return this.request(`/observability/traces/${e}`)}getTraceLight(e){return this.request(`/observability/traces/${e}/light`)}getSpan(e,t){return this.request(`/observability/traces/${e}/spans/${t}`)}getTraceTrajectory(e){return this.request(`/observability/traces/${e}/trajectory`)}getTraces(e){const{pagination:t,filters:r}=e,{page:s,perPage:o,dateRange:n}=t||{},{name:a,spanType:i,entityId:d,entityType:u}=r||{},c=new URLSearchParams;if(void 0!==s&&c.set("page",String(s)),void 0!==o&&c.set("perPage",String(o)),a&&c.set("name",a),void 0!==i&&c.set("spanType",String(i)),d&&u&&(c.set("entityId",d),c.set("entityType",u)),n){const e=JSON.stringify({start:n.start instanceof Date?n.start.toISOString():n.start,end:n.end instanceof Date?n.end.toISOString():n.end});c.set("dateRange",e)}const l=c.toString();return this.request("/observability/traces"+(l?`?${l}`:""))}listTraces(e={}){const t=toQueryParams(e,["filters","pagination","orderBy"]);return this.request("/observability/traces"+(t?`?${t}`:""))}listBranches(e={}){const t=toQueryParams(e,["filters","pagination","orderBy"]);return this.request("/observability/branches"+(t?`?${t}`:""))}getBranch(e){const{traceId:t,spanId:r,depth:s}=e,o=void 0!==s?`?depth=${s}`:"";return this.request(`/observability/traces/${encodeURIComponent(t)}/branches/${encodeURIComponent(r)}${o}`)}listScoresBySpan(e){const{traceId:t,spanId:r,...s}=e,o=toQueryParams(s);return this.request(`/observability/traces/${encodeURIComponent(t)}/${encodeURIComponent(r)}/scores${o?`?${o}`:""}`)}score(e){return this.request("/observability/traces/score",{method:"POST",body:{...e}})}listLogs(e={}){const t=toQueryParams(e,["filters","pagination","orderBy"]);return this.request("/observability/logs"+(t?`?${t}`:""))}listScores(e={}){const t=toQueryParams(e,["filters","pagination","orderBy"]);return this.request("/observability/scores"+(t?`?${t}`:""))}createScore(e){return this.request("/observability/scores",{method:"POST",body:e})}getScoreAggregate(e){return this.request("/observability/scores/aggregate",{method:"POST",body:e})}getScoreBreakdown(e){return this.request("/observability/scores/breakdown",{method:"POST",body:e})}getScoreTimeSeries(e){return this.request("/observability/scores/timeseries",{method:"POST",body:e})}getScorePercentiles(e){return this.request("/observability/scores/percentiles",{method:"POST",body:e})}listFeedback(e={}){const t=toQueryParams(e,["filters","pagination","orderBy"]);return this.request("/observability/feedback"+(t?`?${t}`:""))}createFeedback(e){return this.request("/observability/feedback",{method:"POST",body:e})}getFeedbackAggregate(e){return this.request("/observability/feedback/aggregate",{method:"POST",body:e})}getFeedbackBreakdown(e){return this.request("/observability/feedback/breakdown",{method:"POST",body:e})}getFeedbackTimeSeries(e){return this.request("/observability/feedback/timeseries",{method:"POST",body:e})}getFeedbackPercentiles(e){return this.request("/observability/feedback/percentiles",{method:"POST",body:e})}getMetricAggregate(e){return this.request("/observability/metrics/aggregate",{method:"POST",body:e})}getMetricBreakdown(e){return this.request("/observability/metrics/breakdown",{method:"POST",body:e})}getMetricTimeSeries(e){return this.request("/observability/metrics/timeseries",{method:"POST",body:e})}getMetricPercentiles(e){return this.request("/observability/metrics/percentiles",{method:"POST",body:e})}getMetricNames(e={}){const t=toQueryParams(e);return this.request("/observability/discovery/metric-names"+(t?`?${t}`:""))}getMetricLabelKeys(e){const t=toQueryParams(e);return this.request("/observability/discovery/metric-label-keys"+(t?`?${t}`:""))}getMetricLabelValues(e){const t=toQueryParams(e);return this.request("/observability/discovery/metric-label-values"+(t?`?${t}`:""))}getEntityTypes(){return this.request("/observability/discovery/entity-types")}getEntityNames(e={}){const t=toQueryParams(e);return this.request("/observability/discovery/entity-names"+(t?`?${t}`:""))}getServiceNames(){return this.request("/observability/discovery/service-names")}getEnvironments(){return this.request("/observability/discovery/environments")}getTags(e={}){const t=toQueryParams(e);return this.request("/observability/discovery/tags"+(t?`?${t}`:""))}},StoredAgent=class extends BaseResource{storedAgentId;constructor(e,t){super(e),this.storedAgentId=t}details(e,t){const r=requestContextQueryString(e),s=t?.status?`status=${t.status}`:"",o=`/stored/agents/${encodeURIComponent(this.storedAgentId)}${r}${s?`${r?"&":"?"}${s}`:""}`;return this.request(o)}update(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}${requestContextQueryString(t)}`,{method:"PATCH",body:e})}export(e){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/export`,{method:"POST",body:e})}openChangeRequest(e){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/change-request`,{method:"POST",body:e})}delete(e){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}${requestContextQueryString(e)}`,{method:"DELETE"})}dependents(e){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/dependents${requestContextQueryString(e)}`)}favorite(e){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/favorite${requestContextQueryString(e)}`,{method:"PUT"})}unfavorite(e){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/favorite${requestContextQueryString(e)}`,{method:"DELETE"})}listVersions(e,t){const r=new URLSearchParams;void 0!==e?.page&&r.set("page",String(e.page)),void 0!==e?.perPage&&r.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&r.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&r.set("orderBy[direction]",e.orderBy.direction));const s=r.toString(),o=requestContextQueryString(t);return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/versions${s?`?${s}`:""}${o?`${s?"&":"?"}${o.slice(1)}`:""}`)}createVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/versions${requestContextQueryString(t)}`,{method:"POST",body:e||{}})}getVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/versions/${encodeURIComponent(e)}${requestContextQueryString(t)}`)}activateVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/versions/${encodeURIComponent(e)}/activate${requestContextQueryString(t)}`,{method:"POST"})}restoreVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/versions/${encodeURIComponent(e)}/restore${requestContextQueryString(t)}`,{method:"POST"})}deleteVersion(e,t){return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/versions/${encodeURIComponent(e)}${requestContextQueryString(t)}`,{method:"DELETE"})}compareVersions(e,t,r){const s=new URLSearchParams;s.set("from",e),s.set("to",t);const o=requestContextQueryString(r);return this.request(`/stored/agents/${encodeURIComponent(this.storedAgentId)}/versions/compare?${s.toString()}${o?`&${o.slice(1)}`:""}`)}},StoredWorkflow=class extends BaseResource{storedWorkflowId;constructor(e,t){super(e),this.storedWorkflowId=t}details(){return this.request(`/stored/workflows/${encodeURIComponent(this.storedWorkflowId)}`)}delete(){return this.request(`/stored/workflows/${encodeURIComponent(this.storedWorkflowId)}`,{method:"DELETE"})}},StoredPromptBlock=class extends BaseResource{storedPromptBlockId;constructor(e,t){super(e),this.storedPromptBlockId=t}details(e,t){const r=requestContextQueryString(e),s=t?.status?`status=${t.status}`:"",o=`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}${r}${s?`${r?"&":"?"}${s}`:""}`;return this.request(o)}update(e,t){return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}${requestContextQueryString(t)}`,{method:"PATCH",body:e})}delete(e){return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}${requestContextQueryString(e)}`,{method:"DELETE"})}listVersions(e,t){const r=new URLSearchParams;void 0!==e?.page&&r.set("page",String(e.page)),void 0!==e?.perPage&&r.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&r.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&r.set("orderBy[direction]",e.orderBy.direction));const s=r.toString(),o=requestContextQueryString(t,s?"&":"?");return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}/versions${s?`?${s}`:""}${o}`)}createVersion(e,t){return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}/versions${requestContextQueryString(t)}`,{method:"POST",body:e||{}})}getVersion(e,t){return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}/versions/${encodeURIComponent(e)}${requestContextQueryString(t)}`)}activateVersion(e,t){return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}/versions/${encodeURIComponent(e)}/activate${requestContextQueryString(t)}`,{method:"POST"})}restoreVersion(e,t){return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}/versions/${encodeURIComponent(e)}/restore${requestContextQueryString(t)}`,{method:"POST"})}deleteVersion(e,t){return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}/versions/${encodeURIComponent(e)}${requestContextQueryString(t)}`,{method:"DELETE"})}compareVersions(e,t,r){const s=new URLSearchParams;s.set("from",e),s.set("to",t);const o=requestContextQueryString(r,"&");return this.request(`/stored/prompt-blocks/${encodeURIComponent(this.storedPromptBlockId)}/versions/compare?${s.toString()}${o}`)}},StoredMCPClient=class extends BaseResource{storedMCPClientId;constructor(e,t){super(e),this.storedMCPClientId=t}details(e){return this.request(`/stored/mcp-clients/${encodeURIComponent(this.storedMCPClientId)}${requestContextQueryString(e)}`)}update(e,t){return this.request(`/stored/mcp-clients/${encodeURIComponent(this.storedMCPClientId)}${requestContextQueryString(t)}`,{method:"PATCH",body:e})}delete(e){return this.request(`/stored/mcp-clients/${encodeURIComponent(this.storedMCPClientId)}${requestContextQueryString(e)}`,{method:"DELETE"})}},StoredScorer=class extends BaseResource{storedScorerId;constructor(e,t){super(e),this.storedScorerId=t}details(e,t){const r=requestContextQueryString(e),s=t?.status?`status=${t.status}`:"",o=r?"&":"?",n=`/stored/scorers/${encodeURIComponent(this.storedScorerId)}${r}${s?`${r?o:"?"}${s}`:""}`;return this.request(n)}update(e,t){return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}${requestContextQueryString(t)}`,{method:"PATCH",body:e})}delete(e){return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}${requestContextQueryString(e)}`,{method:"DELETE"})}listVersions(e,t){const r=new URLSearchParams;void 0!==e?.page&&r.set("page",String(e.page)),void 0!==e?.perPage&&r.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&r.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&r.set("orderBy[direction]",e.orderBy.direction));const s=r.toString(),o=requestContextQueryString(t);return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}/versions${s?`?${s}`:""}${o?`${s?"&":"?"}${o.slice(1)}`:""}`)}createVersion(e,t){return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}/versions${requestContextQueryString(t)}`,{method:"POST",body:e||{}})}getVersion(e,t){return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}/versions/${encodeURIComponent(e)}${requestContextQueryString(t)}`)}activateVersion(e,t){return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}/versions/${encodeURIComponent(e)}/activate${requestContextQueryString(t)}`,{method:"POST"})}restoreVersion(e,t){return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}/versions/${encodeURIComponent(e)}/restore${requestContextQueryString(t)}`,{method:"POST"})}deleteVersion(e,t){return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}/versions/${encodeURIComponent(e)}${requestContextQueryString(t)}`,{method:"DELETE"})}compareVersions(e,t,r){const s=new URLSearchParams;s.set("from",e),s.set("to",t);const o=requestContextQueryString(r);return this.request(`/stored/scorers/${encodeURIComponent(this.storedScorerId)}/versions/compare?${s.toString()}${o?`&${o.slice(1)}`:""}`)}},ToolProvider=class extends BaseResource{providerId;constructor(e,t){super(e),this.providerId=t}listToolkits(){return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/toolkits`)}listTools(e){const t=new URLSearchParams;e?.toolkit&&t.set("toolkit",e.toolkit),e?.search&&t.set("search",e.search),void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage));const r=t.toString();return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/tools${r?`?${r}`:""}`)}getToolSchema(e){return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/tools/${encodeURIComponent(e)}/schema`)}authorize(e){return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/authorize`,{method:"POST",body:e})}getAuthStatus(e){return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/auth-status/${encodeURIComponent(e)}`)}getConnectionStatus(e){return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/connection-status`,{method:"POST",body:e})}listConnections(e){const t=new URLSearchParams;return t.set("toolkit",e.toolkit),e.authorId&&t.set("authorId",e.authorId),void 0!==e.page&&null!==e.page&&t.set("page",String(e.page)),void 0!==e.perPage&&null!==e.perPage&&t.set("perPage",String(e.perPage)),e.scope&&t.set("scope",e.scope),this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/connections?${t.toString()}`)}listConnectionFields(e){const t=new URLSearchParams;return t.set("toolkit",e.toolkit),this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/connection-fields?${t.toString()}`)}disconnectConnection(e,t){const r=new URLSearchParams;t?.toolkit&&r.set("toolkit",t.toolkit),t?.force&&r.set("force","true");const s=r.toString();return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/connections/${encodeURIComponent(e)}${s?`?${s}`:""}`,{method:"DELETE"})}updateConnection(e,t){return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/connections/${encodeURIComponent(e)}`,{method:"PATCH",body:t})}getConnectionUsage(e,t){const r=new URLSearchParams;t?.toolkit&&r.set("toolkit",t.toolkit);const s=r.toString();return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/connections/${encodeURIComponent(e)}/usage${s?`?${s}`:""}`)}getHealth(){return this.request(`/tool-providers/${encodeURIComponent(this.providerId)}/health`)}},ProcessorProvider=class extends BaseResource{providerId;constructor(e,t){super(e),this.providerId=t}details(){return this.request(`/processor-providers/${encodeURIComponent(this.providerId)}`)}},WorkspaceSkillResource=class extends BaseResource{workspaceId;skillName;skillPath;basePath;pathQuery;constructor(e,t,r,s){super(e),this.workspaceId=t,this.skillName=r,this.skillPath=s,this.basePath=`/workspaces/${encodeURIComponent(this.workspaceId)}/skills/${encodeURIComponent(this.skillName)}`,this.pathQuery=this.skillPath?`?path=${encodeURIComponent(this.skillPath)}`:""}details(){return this.request(`${this.basePath}${this.pathQuery}`)}listReferences(){return this.request(`${this.basePath}/references${this.pathQuery}`)}getReference(e){return this.request(`${this.basePath}/references/${encodeURIComponent(e)}${this.pathQuery}`)}},Workspace=class extends BaseResource{workspaceId;constructor(e,t){super(e),this.workspaceId=t}get basePath(){return`/workspaces/${encodeURIComponent(this.workspaceId)}`}info(){return this.request(this.basePath)}readFile(e,t){const r=new URLSearchParams;return r.set("path",e),t&&r.set("encoding",t),this.request(`${this.basePath}/fs/read?${r.toString()}`)}writeFile(e,t,r){return this.request(`${this.basePath}/fs/write`,{method:"POST",body:{path:e,content:t,encoding:r?.encoding,recursive:r?.recursive}})}listFiles(e,t){const r=new URLSearchParams;return r.set("path",e),void 0!==t&&r.set("recursive",String(t)),this.request(`${this.basePath}/fs/list?${r.toString()}`)}delete(e,t){const r=new URLSearchParams;return r.set("path",e),void 0!==t?.recursive&&r.set("recursive",String(t.recursive)),void 0!==t?.force&&r.set("force",String(t.force)),this.request(`${this.basePath}/fs/delete?${r.toString()}`,{method:"DELETE"})}mkdir(e,t){return this.request(`${this.basePath}/fs/mkdir`,{method:"POST",body:{path:e,recursive:t}})}stat(e){const t=new URLSearchParams;return t.set("path",e),this.request(`${this.basePath}/fs/stat?${t.toString()}`)}search(e){const t=new URLSearchParams;return t.set("query",e.query),void 0!==e.topK&&t.set("topK",String(e.topK)),e.mode&&t.set("mode",e.mode),void 0!==e.minScore&&t.set("minScore",String(e.minScore)),this.request(`${this.basePath}/search?${t.toString()}`)}index(e){return this.request(`${this.basePath}/index`,{method:"POST",body:e})}listSkills(){return this.request(`${this.basePath}/skills`)}searchSkills(e){const t=new URLSearchParams;return t.set("query",e.query),void 0!==e.topK&&t.set("topK",String(e.topK)),void 0!==e.minScore&&t.set("minScore",String(e.minScore)),e.skillNames&&e.skillNames.length>0&&t.set("skillNames",e.skillNames.join(",")),void 0!==e.includeReferences&&t.set("includeReferences",String(e.includeReferences)),this.request(`${this.basePath}/skills/search?${t.toString()}`)}getSkill(e,t){return new WorkspaceSkillResource(this.options,this.workspaceId,e,t)}},StoredSkill=class extends BaseResource{storedSkillId;constructor(e,t){super(e),this.storedSkillId=t}details(e){return this.request(`/stored/skills/${encodeURIComponent(this.storedSkillId)}${requestContextQueryString(e)}`)}update(e,t){return this.request(`/stored/skills/${encodeURIComponent(this.storedSkillId)}${requestContextQueryString(t)}`,{method:"PATCH",body:e})}delete(e){return this.request(`/stored/skills/${encodeURIComponent(this.storedSkillId)}${requestContextQueryString(e)}`,{method:"DELETE"})}favorite(e){return this.request(`/stored/skills/${encodeURIComponent(this.storedSkillId)}/favorite${requestContextQueryString(e)}`,{method:"PUT"})}unfavorite(e){return this.request(`/stored/skills/${encodeURIComponent(this.storedSkillId)}/favorite${requestContextQueryString(e)}`,{method:"DELETE"})}};function getOutputText(e){return e.flatMap(e=>"message"===e.type?e.content:[]).map(e=>"string"==typeof e?.text?e.text:"").filter(Boolean).join("")}function attachOutputText(e){return{...e,output_text:getOutputText(e.output)}}function hydrateOutputItem(e){return"message"!==e.type?e:{...e,content:e.content??[]}}function hydrateStreamEvent(e){return"object"!=typeof e||null===e||!("response"in e)||"response.created"!==e.type&&"response.in_progress"!==e.type&&"response.completed"!==e.type?"object"==typeof e&&null!==e&&"output"in e?attachOutputText(e):"object"!=typeof e||null===e||!("item"in e)||"response.output_item.added"!==e.type&&"response.output_item.done"!==e.type?e:{...e,item:hydrateOutputItem(e.item)}:{...e,response:attachOutputText(e.response)}}function parseSseBlock(e){const t=e.replace(/\r\n/g,"\n").trim();if(!t)return null;const r=t.split("\n").filter(e=>e.startsWith("data:")).map(e=>e.slice(5).trim());if(!r.length)return null;const s=r.join("\n");return"[DONE]"===s?null:hydrateStreamEvent(JSON.parse(s))}var ResponsesStream=class{response;constructor(e){this.response=e}asResponse(){return this.response}async*[Symbol.asyncIterator](){if(!this.response.body)return;const e=this.response.body.getReader(),t=new TextDecoder;let r="",s=!1;try{for(;;){const{done:s,value:o}=await e.read();r+=t.decode(o??new Uint8Array,{stream:!s});let n=r.indexOf("\n\n");for(;-1!==n;){const e=r.slice(0,n);r=r.slice(n+2);const t=parseSseBlock(e);t&&(yield t),n=r.indexOf("\n\n")}if(s)break}const o=parseSseBlock(r);s=!0,o&&(yield o)}finally{s||await e.cancel(),e.releaseLock()}}},Responses=class extends BaseResource{constructor(e){super(e)}async create(e){const{requestContext:t,...r}=e,s=`/v1/responses${requestContextQueryString(t)}`;return e.stream?new ResponsesStream(await this.request(s,{method:"POST",body:r,stream:!0})):attachOutputText(await this.request(s,{method:"POST",body:r}))}stream(e){return this.create({...e,stream:!0})}async retrieve(e,t){return attachOutputText(await this.request(`/v1/responses/${encodeURIComponent(e)}${requestContextQueryString(t)}`))}delete(e,t){return this.request(`/v1/responses/${encodeURIComponent(e)}${requestContextQueryString(t)}`,{method:"DELETE"})}},Channels=class extends BaseResource{constructor(e){super(e)}listPlatforms(){return this.request("/channels/platforms")}async listInstallations(e,t){const r=await this.request(`/channels/${e}/installations`);return t?r.filter(e=>e.agentId===t):r}connect(e,t,r){return this.request(`/channels/${e}/connect`,{method:"POST",body:{agentId:t,options:r}})}disconnect(e,t){return this.request(`/channels/${e}/${t}/disconnect`,{method:"POST"})}};function hydrateMessage(e){return{...e,createdAt:e.createdAt instanceof Date?e.createdAt:new Date(e.createdAt)}}function hydrateEventMessage(e){return"message_start"!==e.type&&"message_update"!==e.type&&"message_end"!==e.type?e:{...e,message:hydrateMessage(e.message)}}var AgentControllerSession=class extends BaseResource{controllerId;resourceId;scope;constructor(e,t,r,s){super(e),this.controllerId=t,this.resourceId=r,this.scope=s}base(){return`/agent-controller/${encodeURIComponent(this.controllerId)}/sessions/${encodeURIComponent(this.resourceId)}`}url(e){return void 0===this.scope?e:`${e}${e.includes("?")?"&":"?"}sessionScope=${encodeURIComponent(this.scope)}`}create(e){return this.request(`/agent-controller/${encodeURIComponent(this.controllerId)}/sessions`,{method:"POST",body:{resourceId:this.resourceId,tags:e?.tags,threadId:e?.threadId,sessionScope:this.scope}})}async subscribe(e){const t=(e,t)=>"number"==typeof e&&Number.isFinite(e)&&e>=0?e:t,r=!0===e.reconnect?{maxRetries:1/0,delayMs:1e3,maxDelayMs:3e4}:e.reconnect?{maxRetries:(s=e.reconnect.maxRetries,o=1/0,s===1/0||"number"==typeof s&&Number.isFinite(s)&&s>=0?s:o),delayMs:t(e.reconnect.delayMs,1e3),maxDelayMs:t(e.reconnect.maxDelayMs,3e4)}:null;var s,o;const n=e=>r?Math.min(r.delayMs*2**(e-1),r.maxDelayMs):0;let a,i,d=!1,u=null;const c=()=>{a&&(clearTimeout(a),a=void 0);const e=i;i=void 0,e?.()},l=e=>new Promise(t=>{i=t,a=setTimeout(c,e)}),h=async()=>{const e=await this.request(this.url(`${this.base()}/stream`),{stream:!0});if(!e.body)throw new Error("No response body for agent controller session stream");return e},p=e=>{const t=[{index:e.indexOf("\r\n\r\n"),length:4},{index:e.indexOf("\n\n"),length:2},{index:e.indexOf("\r\r"),length:2}].filter(e=>-1!==e.index);return 0===t.length?null:t.reduce((e,t)=>t.index<e.index?t:e)},m=t=>{try{e.onError?.(t)}catch{}},g=e=>{m("transport_error"===e.kind?e.error:new Error("Agent controller session stream ended unexpectedly"))},y=async t=>{try{return await(async t=>{const r=t.body.getReader();u=r;const s=new TextDecoder;let o="";try{for(;!d;){const{done:t,value:n}=await r.read();if(t)return d?{kind:"cancelled"}:{kind:"done"};let a;for(o+=s.decode(n,{stream:!0});null!==(a=p(o));){const t=o.slice(0,a.index);o=o.slice(a.index+a.length);for(const r of t.split(/\r\n|\n|\r/)){if(!r.startsWith("data:"))continue;const t=r.slice(5).trim();if(!t)continue;let s;try{s=hydrateEventMessage(JSON.parse(t))}catch{continue}try{e.onEvent(s)}catch(e){return d||m(e),{kind:"consumer_error"}}}}}return{kind:"cancelled"}}catch(e){return d?{kind:"cancelled"}:{kind:"transport_error",error:e}}finally{u===r&&(u=null),r.cancel().catch(()=>{})}})(t)}catch(e){return d?{kind:"cancelled"}:{kind:"transport_error",error:e}}};return(async t=>{let s=t;for(;!d;){let t=await y(s);if(d||"cancelled"===t.kind||"consumer_error"===t.kind)return;if(!r)return void g(t);let o,a=0;for(;!o;){if(a>=r.maxRetries)return void g(t);if(a++,await l(n(a)),d)return;try{o=await h()}catch(e){t={kind:"transport_error",error:e}}}if(d)return void o.body?.cancel().catch(()=>{});s=o;try{e.onReconnect?.()}catch{}}})(await h()),{unsubscribe:()=>{d=!0,c(),u?.cancel().catch(()=>{})}}}async sendMessage(e,t){const{content:r,files:s}="string"==typeof e?{content:e,files:void 0}:e,o=parseClientRequestContext(t?.requestContext);await this.request(this.url(`${this.base()}/messages`),{method:"POST",body:{message:r,...s?.length?{files:s}:{},...o?{requestContext:o}:{}}})}async abort(){await this.request(this.url(`${this.base()}/abort`),{method:"POST"})}async approveTool(e,t,r){const s=parseClientRequestContext(r?.requestContext);await this.request(this.url(`${this.base()}/tool-approval`),{method:"POST",body:{toolCallId:e,approved:t,...s?{requestContext:s}:{}}})}async respondToToolSuspension(e,t,r){const s=parseClientRequestContext(r?.requestContext);await this.request(this.url(`${this.base()}/tool-suspension`),{method:"POST",body:{toolCallId:e,resumeData:t,...s?{requestContext:s}:{}}})}async steer(e,t){const r=parseClientRequestContext(t?.requestContext);await this.request(this.url(`${this.base()}/steer`),{method:"POST",body:{message:e,...r?{requestContext:r}:{}}})}state(){return this.request(this.url(this.base()))}async setState(e){await this.request(this.url(`${this.base()}/state`),{method:"PUT",body:{state:e}})}async switchMode(e){await this.request(this.url(`${this.base()}/mode`),{method:"POST",body:{modeId:e}})}async switchModel(e,t){await this.request(this.url(`${this.base()}/model`),{method:"POST",body:{modelId:e,scope:t?.scope,modeId:t?.modeId}})}async listThreads(e){const t="number"==typeof e?{limit:e}:e??{},r=new URLSearchParams;null!=t.limit&&r.set("limit",String(t.limit)),t.tags&&Object.keys(t.tags).length>0&&r.set("tags",JSON.stringify(t.tags));const s=r.toString()?`?${r.toString()}`:"";return(await this.request(this.url(`${this.base()}/threads${s}`))).threads}async switchThread(e){await this.request(this.url(`${this.base()}/thread`),{method:"POST",body:{threadId:e}})}async createThread(e){return this.request(this.url(`${this.base()}/threads`),{method:"POST",body:{title:e}})}async deleteThread(e){await this.request(this.url(`${this.base()}/threads/${encodeURIComponent(e)}`),{method:"DELETE"})}async renameThread(e,t){await this.request(this.url(`${this.base()}/threads/${encodeURIComponent(e)}`),{method:"PUT",body:{title:t}})}async cloneThread(e){return this.request(this.url(`${this.base()}/threads/clone`),{method:"POST",body:e??{}})}async listMessages(e,t){const r=null!=t?`?limit=${t}`:"";return(await this.request(this.url(`${this.base()}/threads/${encodeURIComponent(e)}/messages${r}`))).messages.map(hydrateMessage)}async followUp(e,t){const r=parseClientRequestContext(t?.requestContext);await this.request(this.url(`${this.base()}/follow-up`),{method:"POST",body:{message:e,...r?{requestContext:r}:{}}})}async getOMRecord(){return(await this.request(this.url(`${this.base()}/om`))).record}async setResourceId(e){await this.request(this.url(`${this.base()}/resource`),{method:"POST",body:{newResourceId:e}})}async getResourceIds(){return(await this.request(this.url(`${this.base()}/resources`))).resourceIds}async getGoal(){return(await this.request(this.url(`${this.base()}/goal`))).goal}async setGoal(e,t){return(await this.request(this.url(`${this.base()}/goal`),{method:"POST",body:{objective:e,...t}})).goal}async updateGoal(e){return(await this.request(this.url(`${this.base()}/goal`),{method:"PUT",body:e})).goal}async clearGoal(){await this.request(this.url(`${this.base()}/goal`),{method:"DELETE"})}async getPermissions(){return this.request(this.url(`${this.base()}/permissions`))}async setPermissionForCategory(e,t){await this.request(this.url(`${this.base()}/permissions/category`),{method:"PUT",body:{category:e,policy:t}})}async setPermissionForTool(e,t){await this.request(this.url(`${this.base()}/permissions/tool`),{method:"PUT",body:{toolName:e,policy:t}})}async sendNotification(e){return this.request(this.url(`${this.base()}/notifications`),{method:"POST",body:e})}},AgentController=class extends BaseResource{controllerId;constructor(e,t){super(e),this.controllerId=t}basePath(){return`/agent-controller/${encodeURIComponent(this.controllerId)}`}async listModes(){return(await this.request(`${this.basePath()}/modes`)).modes}async listModels(){return(await this.request(`${this.basePath()}/models`)).models}async workspaceStatus(){return this.request(`${this.basePath()}/workspace`)}session(e,t){return new AgentControllerSession(this.options,this.controllerId,e,t)}};function agentControllerMessageText(e){return e.content.parts.filter(e=>"text"===e.type&&"string"==typeof e.text).map(e=>e.text).join("")}var MastraClient=class extends BaseResource{observability;conversations;responses;channels;constructor(e){super(e),this.observability=new Observability(e),this.conversations=new Conversations(e),this.responses=new Responses(e),this.channels=new Channels(e)}listAgents(e,t){const r=base64RequestContext(parseClientRequestContext(e)),s=new URLSearchParams;r&&s.set("requestContext",r),t&&s.set("partial","true");const o=s.toString();return this.request("/agents"+(o?`?${o}`:""))}listAgentsModelProviders(){return this.request("/agents/providers")}getAgent(e,t){return new Agent(this.options,e,t)}async listAgentControllers(){return(await this.request("/agent-controller")).agentControllers}getAgentController(e){return new AgentController(this.options,e)}async listMemoryThreads(e={}){const t=new URLSearchParams;e.resourceId&&t.set("resourceId",e.resourceId),e.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e.agentId&&t.set("agentId",e.agentId),void 0!==e.page&&t.set("page",e.page.toString()),void 0!==e.perPage&&t.set("perPage",e.perPage.toString()),e.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction));const r=t.toString(),s=await this.request(`/memory/threads${r?`?${r}`:""}${requestContextQueryString(e.requestContext,r?"&":"?")}`);return"threads"in s?s:{threads:s,total:s.length,page:e.page??0,perPage:e.perPage??100,hasMore:!1}}getMemoryConfig(e){return this.request(`/memory/config?agentId=${e.agentId}${requestContextQueryString(e.requestContext,"&")}`)}createMemoryThread(e){return this.request(`/memory/threads?agentId=${e.agentId}${requestContextQueryString(e.requestContext,"&")}`,{method:"POST",body:e})}getMemoryThread({threadId:e,agentId:t}){return new MemoryThread(this.options,e,t)}listThreadMessages(e,t={}){let r="";const s=void 0===t.includeSystemReminders?"":`includeSystemReminders=${t.includeSystemReminders}`;return r=t.networkId?`/memory/network/threads/${e}/messages?networkId=${t.networkId}${s?`&${s}`:""}${requestContextQueryString(t.requestContext,"&")}`:t.agentId?`/memory/threads/${e}/messages?agentId=${t.agentId}${s?`&${s}`:""}${requestContextQueryString(t.requestContext,"&")}`:`/memory/threads/${e}/messages${s?`?${s}`:""}${requestContextQueryString(t.requestContext,s?"&":"?")}`,this.request(r)}deleteThread(e,t){if(!t||!!t.agentId==!!t.networkId)throw new Error("MastraClient.deleteThread() requires exactly one of agentId or networkId. The server cannot resolve which memory store owns the thread without one, and passing both is ambiguous.");const r=t.agentId?`/memory/threads/${e}?agentId=${t.agentId}${requestContextQueryString(t.requestContext,"&")}`:`/memory/network/threads/${e}?networkId=${t.networkId}${requestContextQueryString(t.requestContext,"&")}`;return this.request(r,{method:"DELETE"})}saveMessageToMemory(e){return this.request(`/memory/save-messages?agentId=${e.agentId}${requestContextQueryString(e.requestContext,"&")}`,{method:"POST",body:e})}getMemoryStatus(e,t,r){const s=new URLSearchParams({agentId:e});r?.resourceId&&s.set("resourceId",r.resourceId),r?.threadId&&s.set("threadId",r.threadId);const o=s.toString();return this.request(`/memory/status?${o}${requestContextQueryString(t,"&")}`)}getObservationalMemory(e){const t=new URLSearchParams({agentId:e.agentId});e.resourceId&&t.set("resourceId",e.resourceId),e.threadId&&t.set("threadId",e.threadId),e.from&&t.set("from",e.from instanceof Date?e.from.toISOString():e.from),e.to&&t.set("to",e.to instanceof Date?e.to.toISOString():e.to),null!=e.offset&&t.set("offset",String(e.offset)),null!=e.limit&&t.set("limit",String(e.limit));const r=t.toString();return this.request(`/memory/observational-memory?${r}${requestContextQueryString(e.requestContext,"&")}`)}awaitBufferStatus(e){return this.request(`/memory/observational-memory/buffer-status${requestContextQueryString(e.requestContext)}`,{method:"POST",body:{agentId:e.agentId,resourceId:e.resourceId,threadId:e.threadId}})}listTools(e){const t=base64RequestContext(parseClientRequestContext(e)),r=new URLSearchParams;t&&r.set("requestContext",t);const s=r.toString();return this.request("/tools"+(s?`?${s}`:""))}getTool(e){return new Tool(this.options,e)}listProcessors(e){const t=base64RequestContext(parseClientRequestContext(e)),r=new URLSearchParams;t&&r.set("requestContext",t);const s=r.toString();return this.request("/processors"+(s?`?${s}`:""))}getProcessor(e){return new Processor(this.options,e)}listWorkflows(e,t){const r=base64RequestContext(parseClientRequestContext(e)),s=new URLSearchParams;r&&s.set("requestContext",r),t&&s.set("partial","true");const o=s.toString();return this.request("/workflows"+(o?`?${o}`:""))}getWorkflow(e){return new Workflow(this.options,e)}getAgentBuilderActions(){return this.request("/agent-builder")}getAgentBuilderAction(e){return new AgentBuilder(this.options,e)}getVector(e){return new Vector(this.options,e)}listLogs(e){const{transportId:t,fromDate:r,toDate:s,logLevel:o,filters:n,page:a,perPage:i}=e,d=n?Object.entries(n).map(([e,t])=>`${e}:${t}`):[],u=new URLSearchParams;if(t&&u.set("transportId",t),r&&u.set("fromDate",r.toISOString()),s&&u.set("toDate",s.toISOString()),o&&u.set("logLevel",o),void 0!==a&&u.set("page",String(a)),void 0!==i&&u.set("perPage",String(i)),d)if(Array.isArray(d))for(const e of d)u.append("filters",e);else u.set("filters",d);return u.size?this.request(`/logs?${u}`):this.request("/logs")}getLogForRun(e){const{runId:t,transportId:r,fromDate:s,toDate:o,logLevel:n,filters:a,page:i,perPage:d}=e,u=a?Object.entries(a).map(([e,t])=>`${e}:${t}`):[],c=new URLSearchParams;if(t&&c.set("runId",t),r&&c.set("transportId",r),s&&c.set("fromDate",s.toISOString()),o&&c.set("toDate",o.toISOString()),n&&c.set("logLevel",n),void 0!==i&&c.set("page",String(i)),void 0!==d&&c.set("perPage",String(d)),u)if(Array.isArray(u))for(const e of u)c.append("filters",e);else c.set("filters",u);return c.size?this.request(`/logs/${t}?${c}`):this.request(`/logs/${t}`)}listLogTransports(){return this.request("/logs/transports")}getMcpServers(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage)),void 0!==e?.limit&&t.set("limit",String(e.limit)),void 0!==e?.offset&&t.set("offset",String(e.offset));const r=t.toString();return this.request("/mcp/v0/servers"+(r?`?${r}`:""))}getMcpServerDetails(e,t){const r=new URLSearchParams;t?.version&&r.set("version",t.version);const s=r.toString();return this.request(`/mcp/v0/servers/${e}${s?`?${s}`:""}`)}getMcpServerTools(e){return this.request(`/mcp/${e}/tools`)}getMcpServerTool(e,t){return new MCPTool(this.options,e,t)}getMcpServerResources(e){return this.request(`/mcp/${encodeURIComponent(e)}/resources`)}readMcpServerResource(e,t){return this.request(`/mcp/${encodeURIComponent(e)}/resources/read`,{method:"POST",body:{uri:t}})}getA2A(e){return new A2A(this.options,e)}getWorkingMemory({agentId:e,threadId:t,resourceId:r,requestContext:s}){return this.request(`/memory/threads/${t}/working-memory?agentId=${e}&resourceId=${r}${requestContextQueryString(s,"&")}`)}searchMemory({agentId:e,resourceId:t,threadId:r,searchQuery:s,memoryConfig:o,requestContext:n}){const a=new URLSearchParams({searchQuery:s,resourceId:t,agentId:e});return r&&a.append("threadId",r),o&&a.append("memoryConfig",JSON.stringify(o)),this.request(`/memory/search?${a}${requestContextQueryString(n,"&")}`)}updateWorkingMemory({agentId:e,threadId:t,workingMemory:r,resourceId:s,requestContext:o}){return this.request(`/memory/threads/${t}/working-memory?agentId=${e}${requestContextQueryString(o,"&")}`,{method:"POST",body:{workingMemory:r,resourceId:s}})}listScorers(e){return this.request(`/scores/scorers${requestContextQueryString(e)}`)}getScorer(e){return this.request(`/scores/scorers/${encodeURIComponent(e)}`)}listScoresByScorerId(e){const{page:t,perPage:r,scorerId:s,entityId:o,entityType:n}=e,a=new URLSearchParams;o&&a.set("entityId",o),n&&a.set("entityType",n),void 0!==t&&a.set("page",String(t)),void 0!==r&&a.set("perPage",String(r));const i=a.toString();return this.request(`/scores/scorer/${encodeURIComponent(s)}${i?`?${i}`:""}`)}listScoresByRunId(e){const{runId:t,page:r,perPage:s}=e,o=new URLSearchParams;void 0!==r&&o.set("page",String(r)),void 0!==s&&o.set("perPage",String(s));const n=o.toString();return this.request(`/scores/run/${encodeURIComponent(t)}${n?`?${n}`:""}`)}listScoresByEntityId(e){const{entityId:t,entityType:r,page:s,perPage:o}=e,n=new URLSearchParams;void 0!==s&&n.set("page",String(s)),void 0!==o&&n.set("perPage",String(o));const a=n.toString();return this.request(`/scores/entity/${encodeURIComponent(r)}/${encodeURIComponent(t)}${a?`?${a}`:""}`)}saveScore(e){return this.request("/scores",{method:"POST",body:e})}getTrace(e){return this.observability.getTrace(e)}getTraceLight(e){return this.observability.getTraceLight(e)}getSpan(e,t){return this.observability.getSpan(e,t)}getTraceTrajectory(e){return this.observability.getTraceTrajectory(e)}getTraces(e){return this.observability.getTraces(e)}listTraces(e={}){return this.observability.listTraces(e)}listBranches(e={}){return this.observability.listBranches(e)}getBranch(e){return this.observability.getBranch(e)}listScoresBySpan(e){return this.observability.listScoresBySpan(e)}score(e){return this.observability.score(e)}listLogsVNext(e={}){return this.observability.listLogs(e)}listScores(e={}){return this.observability.listScores(e)}createScore(e){return this.observability.createScore(e)}getScoreAggregate(e){return this.observability.getScoreAggregate(e)}getScoreBreakdown(e){return this.observability.getScoreBreakdown(e)}getScoreTimeSeries(e){return this.observability.getScoreTimeSeries(e)}getScorePercentiles(e){return this.observability.getScorePercentiles(e)}listFeedback(e={}){return this.observability.listFeedback(e)}createFeedback(e){return this.observability.createFeedback(e)}getFeedbackAggregate(e){return this.observability.getFeedbackAggregate(e)}getFeedbackBreakdown(e){return this.observability.getFeedbackBreakdown(e)}getFeedbackTimeSeries(e){return this.observability.getFeedbackTimeSeries(e)}getFeedbackPercentiles(e){return this.observability.getFeedbackPercentiles(e)}getMetricAggregate(e){return this.observability.getMetricAggregate(e)}getMetricBreakdown(e){return this.observability.getMetricBreakdown(e)}getMetricTimeSeries(e){return this.observability.getMetricTimeSeries(e)}getMetricPercentiles(e){return this.observability.getMetricPercentiles(e)}getMetricNames(e={}){return this.observability.getMetricNames(e)}getMetricLabelKeys(e){return this.observability.getMetricLabelKeys(e)}getMetricLabelValues(e){return this.observability.getMetricLabelValues(e)}getEntityTypes(){return this.observability.getEntityTypes()}getEntityNames(e={}){return this.observability.getEntityNames(e)}getServiceNames(){return this.observability.getServiceNames()}getEnvironments(){return this.observability.getEnvironments()}getTags(e={}){return this.observability.getTags(e)}listStoredAgents(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.status&&t.set("status",e.status),e?.authorId&&t.set("authorId",e.authorId),e?.visibility&&t.set("visibility",e.visibility),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e?.favoritedOnly&&t.set("favoritedOnly","true"),e?.pinFavoritedFor&&t.set("pinFavoritedFor",e.pinFavoritedFor);const r=t.toString();return this.request("/stored/agents"+(r?`?${r}`:""))}createStoredAgent(e){return this.request("/stored/agents",{method:"POST",body:e})}getStoredAgent(e){return new StoredAgent(this.options,e)}listStoredWorkflows(e){const t=new URLSearchParams;e?.status&&t.set("status",e.status),e?.authorId&&t.set("authorId",e.authorId);const r=t.toString();return this.request("/stored/workflows"+(r?`?${r}`:""))}upsertStoredWorkflow(e){return this.request("/stored/workflows",{method:"POST",body:e})}getStoredWorkflow(e){return new StoredWorkflow(this.options,e)}listStoredPromptBlocks(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.status&&t.set("status",e.status),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const r=t.toString();return this.request("/stored/prompt-blocks"+(r?`?${r}`:""))}createStoredPromptBlock(e){return this.request("/stored/prompt-blocks",{method:"POST",body:e})}getStoredPromptBlock(e){return new StoredPromptBlock(this.options,e)}listStoredScorers(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const r=t.toString();return this.request("/stored/scorers"+(r?`?${r}`:""))}createStoredScorer(e){return this.request("/stored/scorers",{method:"POST",body:e})}getStoredScorer(e){return new StoredScorer(this.options,e)}listStoredMCPClients(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata));const r=t.toString();return this.request("/stored/mcp-clients"+(r?`?${r}`:""))}createStoredMCPClient(e){return this.request("/stored/mcp-clients",{method:"POST",body:e})}getStoredMCPClient(e){return new StoredMCPClient(this.options,e)}listStoredSkills(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage)),e?.orderBy&&(e.orderBy.field&&t.set("orderBy[field]",e.orderBy.field),e.orderBy.direction&&t.set("orderBy[direction]",e.orderBy.direction)),e?.authorId&&t.set("authorId",e.authorId),e?.visibility&&t.set("visibility",e.visibility),e?.metadata&&t.set("metadata",JSON.stringify(e.metadata)),e?.favoritedOnly&&t.set("favoritedOnly","true"),e?.pinFavoritedFor&&t.set("pinFavoritedFor",e.pinFavoritedFor);const r=t.toString();return this.request("/stored/skills"+(r?`?${r}`:""))}createStoredSkill(e){return this.request("/stored/skills",{method:"POST",body:e})}getStoredSkill(e){return new StoredSkill(this.options,e)}listToolProviders(){return this.request("/tool-providers")}getToolProvider(e){return new ToolProvider(this.options,e)}getProcessorProviders(){return this.request("/processor-providers")}getProcessorProvider(e){return new ProcessorProvider(this.options,e)}getSystemPackages(){return this.request("/system/packages")}getBuilderSettings(){return this.request("/editor/builder/settings")}getBuilderAvailableModels(){return this.request("/editor/builder/models/available")}getPermissionPatterns(){return this.request("/auth/permission-patterns")}getInfrastructureStatus(){return this.request("/editor/builder/infrastructure")}listBuilderRegistries(){return this.request("/editor/builder/registries")}searchBuilderRegistry(e,t){const r=new URLSearchParams({q:t.q});return void 0!==t.limit&&r.set("limit",String(t.limit)),this.request(`/editor/builder/registries/${encodeURIComponent(e)}/search?${r.toString()}`)}getBuilderRegistryPopular(e,t){const r=new URLSearchParams;void 0!==t?.limit&&r.set("limit",String(t.limit)),void 0!==t?.offset&&r.set("offset",String(t.offset));const s=r.toString();return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/popular${s?`?${s}`:""}`)}getBuilderRegistryPreview(e,t){const r=new URLSearchParams({owner:t.owner,repo:t.repo,path:t.path});return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/preview?${r.toString()}`)}installBuilderRegistrySkill(e,t){return this.request(`/editor/builder/registries/${encodeURIComponent(e)}/install`,{method:"POST",body:t})}listWorkspaces(){return this.request("/workspaces")}getWorkspace(e){return new Workspace(this.options,e)}listStoredWorkspaces(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage)),e?.authorId&&t.set("authorId",e.authorId),e?.orderBy?.field&&t.set("orderBy[field]",e.orderBy.field),e?.orderBy?.direction&&t.set("orderBy[direction]",e.orderBy.direction);const r=t.toString();return this.request("/stored/workspaces"+(r?`?${r}`:""))}getStoredWorkspace(e){return this.request(`/stored/workspaces/${encodeURIComponent(e)}`)}listVectors(){return this.request("/vectors")}listEmbedders(){return this.request("/embedders")}listDatasets(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage));const r=t.toString();return this.request("/datasets"+(r?`?${r}`:""))}getDataset(e,t){const r=buildTenancyQuery(t);return this.request(`/datasets/${encodeURIComponent(e)}${r}`)}createDataset(e){return this.request("/datasets",{method:"POST",body:e})}updateDataset(e){const{datasetId:t,organizationId:r,projectId:s,...o}=e,n=buildTenancyQuery({organizationId:r,projectId:s});return this.request(`/datasets/${encodeURIComponent(t)}${n}`,{method:"PATCH",body:o})}deleteDataset(e,t){const r=buildTenancyQuery(t);return this.request(`/datasets/${encodeURIComponent(e)}${r}`,{method:"DELETE"})}listDatasetItems(e,t){const r=new URLSearchParams;void 0!==t?.page&&r.set("page",String(t.page)),void 0!==t?.perPage&&r.set("perPage",String(t.perPage)),t?.search&&r.set("search",t.search),null!=t?.version&&r.set("version",String(t.version));const s=r.toString();return this.request(`/datasets/${encodeURIComponent(e)}/items${s?`?${s}`:""}`)}getDatasetItem(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}`)}addDatasetItem(e){const{datasetId:t,...r}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items`,{method:"POST",body:r})}updateDatasetItem(e){const{datasetId:t,itemId:r,...s}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/${encodeURIComponent(r)}`,{method:"PATCH",body:s})}deleteDatasetItem(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}`,{method:"DELETE"})}batchInsertDatasetItems(e){const{datasetId:t,...r}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/batch`,{method:"POST",body:r})}batchDeleteDatasetItems(e){const{datasetId:t,...r}=e;return this.request(`/datasets/${encodeURIComponent(t)}/items/batch`,{method:"DELETE",body:r})}generateDatasetItems(e){const{datasetId:t,...r}=e;return this.request(`/datasets/${encodeURIComponent(t)}/generate-items`,{method:"POST",body:r})}clusterFailures(e){return this.request("/datasets/cluster-failures",{method:"POST",body:e})}getItemHistory(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}/history`)}getDatasetItemVersion(e,t,r){return this.request(`/datasets/${encodeURIComponent(e)}/items/${encodeURIComponent(t)}/versions/${r}`)}listDatasetVersions(e,t){const r=new URLSearchParams;void 0!==t?.page&&r.set("page",String(t.page)),void 0!==t?.perPage&&r.set("perPage",String(t.perPage));const s=r.toString();return this.request(`/datasets/${encodeURIComponent(e)}/versions${s?`?${s}`:""}`)}listExperiments(e){const t=new URLSearchParams;void 0!==e?.page&&t.set("page",String(e.page)),void 0!==e?.perPage&&t.set("perPage",String(e.perPage));const r=t.toString();return this.request("/experiments"+(r?`?${r}`:""))}getExperimentReviewSummary(){return this.request("/experiments/review-summary")}listDatasetExperiments(e,t){const r=new URLSearchParams;void 0!==t?.page&&r.set("page",String(t.page)),void 0!==t?.perPage&&r.set("perPage",String(t.perPage));const s=r.toString();return this.request(`/datasets/${encodeURIComponent(e)}/experiments${s?`?${s}`:""}`)}getDatasetExperiment(e,t){return this.request(`/datasets/${encodeURIComponent(e)}/experiments/${encodeURIComponent(t)}`)}listDatasetExperimentResults(e,t,r){const s=new URLSearchParams;void 0!==r?.page&&s.set("page",String(r.page)),void 0!==r?.perPage&&s.set("perPage",String(r.perPage));const o=s.toString();return this.request(`/datasets/${encodeURIComponent(e)}/experiments/${encodeURIComponent(t)}/results${o?`?${o}`:""}`)}updateDatasetExperimentResult(e){const{datasetId:t,experimentId:r,resultId:s,...o}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments/${encodeURIComponent(r)}/results/${encodeURIComponent(s)}`,{method:"PATCH",body:o})}triggerDatasetExperiment(e){const{datasetId:t,...r}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments`,{method:"POST",body:r})}updateExperimentResult(e){const{datasetId:t,experimentId:r,resultId:s,...o}=e;return this.request(`/datasets/${encodeURIComponent(t)}/experiments/${encodeURIComponent(r)}/results/${encodeURIComponent(s)}`,{method:"PATCH",body:o})}compareExperiments(e){const{datasetId:t,...r}=e;return this.request(`/datasets/${encodeURIComponent(t)}/compare`,{method:"POST",body:r})}listBackgroundTasks(e={}){const t=new URLSearchParams;e.agentId&&t.set("agentId",e.agentId),e.status&&t.set("status",e.status),e.runId&&t.set("runId",e.runId),e.threadId&&t.set("threadId",e.threadId),e.resourceId&&t.set("resourceId",e.resourceId),e.toolName&&t.set("toolName",e.toolName),e.toolCallId&&t.set("toolCallId",e.toolCallId),e.fromDate&&t.set("fromDate",e.fromDate.toISOString()),e.toDate&&t.set("toDate",e.toDate.toISOString()),e.dateFilterBy&&t.set("dateFilterBy",e.dateFilterBy),e.orderBy&&t.set("orderBy",e.orderBy),e.orderDirection&&t.set("orderDirection",e.orderDirection),void 0!==e.page&&t.set("page",String(e.page)),void 0!==e.perPage&&t.set("perPage",String(e.perPage));const r=t.toString();return this.request("/background-tasks"+(r?`?${r}`:""))}getBackgroundTask(e){return this.request(`/background-tasks/${encodeURIComponent(e)}`)}async streamBackgroundTasks(e={}){const t=new URLSearchParams;e.agentId&&t.set("agentId",e.agentId),e.runId&&t.set("runId",e.runId),e.threadId&&t.set("threadId",e.threadId),e.resourceId&&t.set("resourceId",e.resourceId),e.taskId&&t.set("taskId",e.taskId);const r=t.toString(),s=await this.request("/background-tasks/stream"+(r?`?${r}`:""),{stream:!0});if(!s.ok)throw new Error(`Failed to stream background tasks: ${s.statusText}`);if(!s.body)throw new Error("Response body is null");return s.body.pipeThrough(createSseJsonTransform())}listSchedules(e={}){const t=new URLSearchParams;e.agentId&&t.set("agentId",e.agentId),e.workflowId&&t.set("workflowId",e.workflowId),e.status&&t.set("status",e.status),e.threadId&&t.set("threadId",e.threadId),e.resourceId&&t.set("resourceId",e.resourceId),e.name&&t.set("name",e.name);const r=t.toString();return this.request("/schedules"+(r?`?${r}`:""))}getSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}`)}createSchedule(e){return this.request("/schedules",{method:"POST",body:e})}updateSchedule(e,t){return this.request(`/schedules/${encodeURIComponent(e)}`,{method:"PATCH",body:t})}deleteSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}`,{method:"DELETE"})}runSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}/run`,{method:"POST"})}listScheduleTriggers(e,t={}){const r=new URLSearchParams;void 0!==t.limit&&r.set("limit",String(t.limit)),void 0!==t.fromActualFireAt&&r.set("fromActualFireAt",String(t.fromActualFireAt)),void 0!==t.toActualFireAt&&r.set("toActualFireAt",String(t.toActualFireAt));const s=r.toString();return this.request(`/schedules/${encodeURIComponent(e)}/triggers${s?`?${s}`:""}`)}pauseSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}/pause`,{method:"POST"})}resumeSchedule(e){return this.request(`/schedules/${encodeURIComponent(e)}/resume`,{method:"POST"})}},ClientTool=class{id;description;inputSchema;outputSchema;execute;constructor(e){this.id=e.id,this.description=e.description,this.inputSchema=e.inputSchema,this.outputSchema=e.outputSchema,this.execute=e.execute}};function createTool(e){return new ClientTool(e)}export{ClientTool,MastraClient,MastraClientError,RequestContext,agentControllerMessageText,createTool};
//# sourceMappingURL=/sm/e611674ee0b776cbedebaad575b10bcc8c8df64ccb96dab08532805aa65ccc08.map