flujo-ai 3.35.0 → 3.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +130 -130
  3. package/.next/app-path-routes-manifest.json +19 -19
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +21 -21
  6. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/_not-found.html +1 -1
  8. package/.next/server/app/_not-found.rsc +1 -1
  9. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/git/route.js +5 -5
  29. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/packages/install/route.js +1 -1
  60. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  61. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/packages/install/status/route.js +1 -1
  63. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  64. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/packages/installed/route.js +1 -1
  66. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  67. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  72. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  73. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  93. package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/chat.html +1 -1
  99. package/.next/server/app/chat.rsc +2 -2
  100. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/docs.html +1 -1
  102. package/.next/server/app/docs.rsc +1 -1
  103. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/executions.html +1 -1
  105. package/.next/server/app/executions.rsc +1 -1
  106. package/.next/server/app/flows/page.js +1 -1
  107. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  108. package/.next/server/app/flows.html +1 -1
  109. package/.next/server/app/flows.rsc +2 -2
  110. package/.next/server/app/index.html +1 -1
  111. package/.next/server/app/index.rsc +1 -1
  112. package/.next/server/app/mcp/page.js +1 -1
  113. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  114. package/.next/server/app/mcp-flows/route.js +1 -1
  115. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  117. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/mcp.html +1 -1
  119. package/.next/server/app/mcp.rsc +2 -2
  120. package/.next/server/app/models/page.js +1 -1
  121. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/packages/page.js +1 -1
  123. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  124. package/.next/server/app/packages.html +1 -1
  125. package/.next/server/app/packages.rsc +2 -2
  126. package/.next/server/app/page.js +3 -3
  127. package/.next/server/app/page_client-reference-manifest.js +1 -1
  128. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  129. package/.next/server/app/settings.html +1 -1
  130. package/.next/server/app/settings.rsc +1 -1
  131. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/[resourceId]/content/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  147. package/.next/server/app/waves.html +1 -1
  148. package/.next/server/app/waves.rsc +1 -1
  149. package/.next/server/app-paths-manifest.json +19 -19
  150. package/.next/server/chunks/1227.js +1 -1
  151. package/.next/server/chunks/366.js +2 -0
  152. package/.next/server/chunks/4265.js +1 -1
  153. package/.next/server/chunks/519.js +1 -1
  154. package/.next/server/chunks/5285.js +1 -1
  155. package/.next/server/chunks/5309.js +1 -1
  156. package/.next/server/chunks/544.js +1 -1
  157. package/.next/server/chunks/6747.js +2 -2
  158. package/.next/server/chunks/6826.js +1 -1
  159. package/.next/server/chunks/8645.js +1 -1
  160. package/.next/server/functions-config-manifest.json +4 -4
  161. package/.next/server/middleware-manifest.json +1 -1
  162. package/.next/server/pages/404.html +1 -1
  163. package/.next/server/pages/500.html +1 -1
  164. package/.next/server/server-reference-manifest.js +1 -1
  165. package/.next/server/server-reference-manifest.json +1 -1
  166. package/.next/static/chunks/{8650-aa22dbf7b37348f0.js → 8650-f879564a0ed89bc3.js} +1 -1
  167. package/.next/static/chunks/app/mcp/{page-1648e6fde0c41461.js → page-4a3e5a643d84ee89.js} +1 -1
  168. package/.next/static/chunks/app/packages/{page-f1a22789a6c0e0b6.js → page-2f2d29c17841b3cf.js} +1 -1
  169. package/.next/trace +10 -10
  170. package/README.md +1 -1
  171. package/package.json +1 -1
  172. package/.next/server/chunks/2273.js +0 -2
  173. /package/.next/static/{hbjnLG9RCje2AApS9TzP8 → kIFnN4S0HHOnvpPGsSzi9}/_buildManifest.js +0 -0
  174. /package/.next/static/{hbjnLG9RCje2AApS9TzP8 → kIFnN4S0HHOnvpPGsSzi9}/_ssgManifest.js +0 -0
@@ -379,7 +379,7 @@ ${g}`:`[↩ Sub-agent "${i}" finished and returned control to you with no output
379
379
  ${b.join("\n")}`}async function j(a,b){if(!b.conversationId)return{success:!1,error:"The todo tool is not available in this run."};let e=function(a){try{let{FlowExecutor:b}=c(71666);return b.conversationStates.get(a)}catch(b){d.warn("Could not resolve live SharedState for todo update",{conversationId:a,err:b});return}}(b.conversationId);if(!e)return{success:!1,error:"The todo list is not available in this run."};let g=function(a,b,c=Date.now()){if(!Array.isArray(b))return{error:'todo requires an "items" array.'};let d=new Map;for(let b of a??[])d.set(b.content,b);let e=[];for(let a of b){let b="string"==typeof a.content?a.content.trim():"";if(!b)return{error:'each todo item requires a non-empty "content".'};let g=f.includes(a.status)?a.status:"pending",h=d.get(b);e.push({id:h?.id??crypto.randomUUID(),content:b,status:g,createdAt:h?.createdAt??c,updatedAt:c})}return{todos:e}}(e.todos,a?.items);if("error"in g)return{success:!1,error:g.error};e.todos=g.todos,b.emit?.({type:"todo:update",node:b.node,todos:g.todos});let h=g.todos.filter(a=>"done"===a.status).length;return d.info("todo list updated",{conversationId:b.conversationId,count:g.todos.length,done:h}),{success:!0,data:{updated:!0,total:g.todos.length,done:h,todos:g.todos}}}},74502:(a,b,c)=>{var d=c(42995),e=Object.prototype.hasOwnProperty;a.exports=function(a){var b=this.__data__;return d?void 0!==b[a]:e.call(b,a)}},74663:(a,b,c)=>{"use strict";function d(a){return Date.UTC(a.y,a.m-1,a.d,a.h,a.i,a.s)}function e(a,b){return a.y===b.y&&a.m===b.m&&a.d===b.d&&a.h===b.h&&a.i===b.i&&a.s===b.s}function f(a,b,c){return g(function(a,b){let c=new Date(Date.parse(a));if(isNaN(c))throw Error("Invalid ISO8601 passed to timezone parser.");let d=a.substring(9);return d.includes("Z")||d.includes("+")||d.includes("-")?i(c.getUTCFullYear(),c.getUTCMonth()+1,c.getUTCDate(),c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),"Etc/UTC"):i(c.getFullYear(),c.getMonth()+1,c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds(),b)}(a,b),c)}function g(a,b){let c=new Date(d(a)),f=h(c,a.tz),g=d(a),i=d(f),j=new Date(c.getTime()+(g-i)),k=h(j,a.tz);if(e(k,a)){let b=new Date(j.getTime()-36e5);return e(h(b,a.tz),a)?b:j}let l=new Date(j.getTime()+d(a)-d(k));if(e(h(l,a.tz),a))return l;if(b)throw Error("Invalid date passed to fromTZ()");return j.getTime()>l.getTime()?j:l}function h(a,b){let c;try{c=new Intl.DateTimeFormat("en-US",{timeZone:b,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!1}).formatToParts(a)}catch(c){let a=c instanceof Error?c.message:String(c);throw RangeError(`toTZ: Invalid timezone '${b}' or date. Please provide a valid IANA timezone (e.g., 'America/New_York', 'Europe/Stockholm'). Original error: ${a}`)}let d={year:0,month:0,day:0,hour:0,minute:0,second:0};for(let a of c)("year"===a.type||"month"===a.type||"day"===a.type||"hour"===a.type||"minute"===a.type||"second"===a.type)&&(d[a.type]=parseInt(a.value,10));if(isNaN(d.year)||isNaN(d.month)||isNaN(d.day)||isNaN(d.hour)||isNaN(d.minute)||isNaN(d.second))throw Error(`toTZ: Failed to parse all date components from timezone '${b}'. This may indicate an invalid date or timezone configuration. Parsed components: ${JSON.stringify(d)}`);return 24===d.hour&&(d.hour=0),{y:d.year,m:d.month,d:d.day,h:d.hour,i:d.minute,s:d.second,tz:b}}function i(a,b,c,d,e,f,g){return{y:a,m:b,d:c,h:d,i:e,s:f,tz:g}}c.d(b,{l4:()=>q});var j=[1,2,4,8,16],k=class{pattern;timezone;mode;alternativeWeekdays;sloppyRanges;second;minute;hour;day;month;dayOfWeek;year;lastDayOfMonth;lastWeekday;nearestWeekdays;starDOM;starDOW;starYear;useAndLogic;constructor(a,b,c){this.pattern=a,this.timezone=b,this.mode=c?.mode??"auto",this.alternativeWeekdays=c?.alternativeWeekdays??!1,this.sloppyRanges=c?.sloppyRanges??!1,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.year=Array(1e4).fill(0),this.lastDayOfMonth=!1,this.lastWeekday=!1,this.nearestWeekdays=Array(31).fill(0),this.starDOM=!1,this.starDOW=!1,this.starYear=!1,this.useAndLogic=!1,this.parse()}parse(){if(!("string"==typeof this.pattern||this.pattern instanceof String))throw TypeError("CronPattern: Pattern has to be of type string.");this.pattern.indexOf("@")>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let a=this.pattern.match(/\S+/g)||[""],b=a.length;if(a.length<5||a.length>7)throw TypeError("CronPattern: invalid configuration format ('"+this.pattern+"'), exactly five, six, or seven space separated parts are required.");if("auto"!==this.mode){let a;switch(this.mode){case"5-part":a=5;break;case"6-part":a=6;break;case"7-part":a=7;break;case"5-or-6-parts":a=[5,6];break;case"6-or-7-parts":a=[6,7];break;default:a=0}if(!(Array.isArray(a)?a.includes(b):b===a)){let c=Array.isArray(a)?a.join(" or "):a.toString();throw TypeError(`CronPattern: mode '${this.mode}' requires exactly ${c} parts, but pattern '${this.pattern}' has ${b} parts.`)}}if(5===a.length&&a.unshift("0"),6===a.length&&a.push("*"),"LW"===a[3].toUpperCase()?(this.lastWeekday=!0,a[3]=""):a[3].toUpperCase().indexOf("L")>=0&&(a[3]=a[3].replace(/L/gi,""),this.lastDayOfMonth=!0),"*"==a[3]&&(this.starDOM=!0),"*"==a[6]&&(this.starYear=!0),a[4].length>=3&&(a[4]=this.replaceAlphaMonths(a[4])),a[5].length>=3&&(a[5]=this.alternativeWeekdays?this.replaceAlphaDaysQuartz(a[5]):this.replaceAlphaDays(a[5])),a[5].startsWith("+")&&(this.useAndLogic=!0,a[5]=a[5].substring(1),""===a[5]))throw TypeError("CronPattern: Day-of-week field cannot be empty after '+' modifier.");switch("*"==a[5]&&(this.starDOW=!0),this.pattern.indexOf("?")>=0&&(a[0]=a[0].replace(/\?/g,"*"),a[1]=a[1].replace(/\?/g,"*"),a[2]=a[2].replace(/\?/g,"*"),a[3]=a[3].replace(/\?/g,"*"),a[4]=a[4].replace(/\?/g,"*"),a[5]=a[5].replace(/\?/g,"*"),a[6]&&(a[6]=a[6].replace(/\?/g,"*"))),this.mode){case"5-part":a[0]="0",a[6]="*";break;case"6-part":case"5-or-6-parts":a[6]="*"}this.throwAtIllegalCharacters(a),this.partToArray("second",a[0],0,1),this.partToArray("minute",a[1],0,1),this.partToArray("hour",a[2],0,1),this.partToArray("day",a[3],-1,1),this.partToArray("month",a[4],-1,1);let c=this.alternativeWeekdays?-1:0;this.partToArray("dayOfWeek",a[5],c,63),this.partToArray("year",a[6],0,1),!this.alternativeWeekdays&&this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray(a,b,c,d){let e=this[a],f="day"===a&&this.lastDayOfMonth,g="day"===a&&this.lastWeekday;if(""===b&&!f&&!g)throw TypeError("CronPattern: configuration entry "+a+" ("+b+") is empty, check for trailing spaces.");if("*"===b)return e.fill(d);let h=b.split(",");if(h.length>1)for(let b=0;b<h.length;b++)this.partToArray(a,h[b],c,d);else -1!==b.indexOf("-")&&-1!==b.indexOf("/")?this.handleRangeWithStepping(b,a,c,d):-1!==b.indexOf("-")?this.handleRange(b,a,c,d):-1!==b.indexOf("/")?this.handleStepping(b,a,c,d):""!==b&&this.handleNumber(b,a,c,d)}throwAtIllegalCharacters(a){for(let b=0;b<a.length;b++)if((3===b?/[^/*0-9,\-WwLl]+/:5===b?/[^/*0-9,\-#Ll]+/:/[^/*0-9,\-]+/).test(a[b]))throw TypeError("CronPattern: configuration entry "+b+" ("+a[b]+") contains illegal characters.")}handleNumber(a,b,c,d){let e=this.extractNth(a,b),f=a.toUpperCase().includes("W");if("day"!==b&&f)throw TypeError("CronPattern: Nearest weekday modifier (W) only allowed in day-of-month.");f&&(b="nearestWeekdays");let g=parseInt(e[0],10)+c;if(isNaN(g))throw TypeError("CronPattern: "+b+" is not a number: '"+a+"'");this.setPart(b,g,e[1]||d)}setPart(a,b,c){if(!Object.prototype.hasOwnProperty.call(this,a))throw TypeError("CronPattern: Invalid part specified: "+a);if("dayOfWeek"===a){if(7===b&&(b=0),b<0||b>6)throw RangeError("CronPattern: Invalid value for dayOfWeek: "+b);this.setNthWeekdayOfMonth(b,c);return}if("second"===a||"minute"===a){if(b<0||b>=60)throw RangeError("CronPattern: Invalid value for "+a+": "+b)}else if("hour"===a){if(b<0||b>=24)throw RangeError("CronPattern: Invalid value for "+a+": "+b)}else if("day"===a||"nearestWeekdays"===a){if(b<0||b>=31)throw RangeError("CronPattern: Invalid value for "+a+": "+b)}else if("month"===a){if(b<0||b>=12)throw RangeError("CronPattern: Invalid value for "+a+": "+b)}else if("year"===a&&(b<1||b>=1e4))throw RangeError("CronPattern: Invalid value for "+a+": "+b+" (supported range: 1-9999)");this[a][b]=c}validateNotNaN(a,b){if(isNaN(a))throw TypeError(b)}validateRange(a,b,c,d,e){if(a>b)throw TypeError("CronPattern: From value is larger than to value: '"+e+"'");if(void 0!==c){if(0===c)throw TypeError("CronPattern: Syntax error, illegal stepping: 0");if(c>this[d].length)throw TypeError("CronPattern: Syntax error, steps cannot be greater than maximum value of part ("+this[d].length+")")}}handleRangeWithStepping(a,b,c,d){if(a.toUpperCase().includes("W"))throw TypeError("CronPattern: Syntax error, W is not allowed in ranges with stepping.");let e=this.extractNth(a,b),f=e[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(null===f)throw TypeError("CronPattern: Syntax error, illegal range with stepping: '"+a+"'");let[,g,h,i]=f,j=parseInt(g,10)+c,k=parseInt(h,10)+c,l=parseInt(i,10);this.validateNotNaN(j,"CronPattern: Syntax error, illegal lower range (NaN)"),this.validateNotNaN(k,"CronPattern: Syntax error, illegal upper range (NaN)"),this.validateNotNaN(l,"CronPattern: Syntax error, illegal stepping: (NaN)"),this.validateRange(j,k,l,b,a);for(let a=j;a<=k;a+=l)this.setPart(b,a,e[1]||d)}extractNth(a,b){let c=a,d;if(c.includes("#")){if("dayOfWeek"!==b)throw Error("CronPattern: nth (#) only allowed in day-of-week field");d=c.split("#")[1],c=c.split("#")[0]}else if(c.toUpperCase().endsWith("L")){if("dayOfWeek"!==b)throw Error("CronPattern: L modifier only allowed in day-of-week field (use L alone for day-of-month)");d="L",c=c.slice(0,-1)}return[c,d]}handleRange(a,b,c,d){if(a.toUpperCase().includes("W"))throw TypeError("CronPattern: Syntax error, W is not allowed in a range.");let e=this.extractNth(a,b),f=e[0].split("-");if(2!==f.length)throw TypeError("CronPattern: Syntax error, illegal range: '"+a+"'");let g=parseInt(f[0],10)+c,h=parseInt(f[1],10)+c;this.validateNotNaN(g,"CronPattern: Syntax error, illegal lower range (NaN)"),this.validateNotNaN(h,"CronPattern: Syntax error, illegal upper range (NaN)"),this.validateRange(g,h,void 0,b,a);for(let a=g;a<=h;a++)this.setPart(b,a,e[1]||d)}handleStepping(a,b,c,d){if(a.toUpperCase().includes("W"))throw TypeError("CronPattern: Syntax error, W is not allowed in parts with stepping.");let e=this.extractNth(a,b),f=e[0].split("/");if(2!==f.length)throw TypeError("CronPattern: Syntax error, illegal stepping: '"+a+"'");if(this.sloppyRanges)""===f[0]&&(f[0]="*");else{if(""===f[0])throw TypeError("CronPattern: Syntax error, stepping with missing prefix ('"+a+"') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.");if("*"!==f[0])throw TypeError("CronPattern: Syntax error, stepping with numeric prefix ('"+a+"') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.")}let g=0;"*"!==f[0]&&(g=parseInt(f[0],10)+c);let h=parseInt(f[1],10);this.validateNotNaN(h,"CronPattern: Syntax error, illegal stepping: (NaN)"),this.validateRange(0,this[b].length-1,h,b,a);for(let a=g;a<this[b].length;a+=h)this.setPart(b,a,e[1]||d)}replaceAlphaDays(a){return a.replace(/-sun/gi,"-7").replace(/sun/gi,"0").replace(/mon/gi,"1").replace(/tue/gi,"2").replace(/wed/gi,"3").replace(/thu/gi,"4").replace(/fri/gi,"5").replace(/sat/gi,"6")}replaceAlphaDaysQuartz(a){return a.replace(/sun/gi,"1").replace(/mon/gi,"2").replace(/tue/gi,"3").replace(/wed/gi,"4").replace(/thu/gi,"5").replace(/fri/gi,"6").replace(/sat/gi,"7")}replaceAlphaMonths(a){return a.replace(/jan/gi,"1").replace(/feb/gi,"2").replace(/mar/gi,"3").replace(/apr/gi,"4").replace(/may/gi,"5").replace(/jun/gi,"6").replace(/jul/gi,"7").replace(/aug/gi,"8").replace(/sep/gi,"9").replace(/oct/gi,"10").replace(/nov/gi,"11").replace(/dec/gi,"12")}handleNicknames(a){let b=a.trim().toLowerCase();if("@yearly"===b||"@annually"===b)return"0 0 1 1 *";if("@monthly"===b)return"0 0 1 * *";if("@weekly"===b)return"0 0 * * 0";if("@daily"===b||"@midnight"===b)return"0 0 * * *";if("@hourly"===b)return"0 * * * *";if("@reboot"===b)throw TypeError("CronPattern: @reboot is not supported in this environment. This is an event-based trigger that requires system startup detection.");return a}setNthWeekdayOfMonth(a,b){if("number"!=typeof b&&"L"===b.toUpperCase())this.dayOfWeek[a]=32|this.dayOfWeek[a];else if(63===b)this.dayOfWeek[a]=63;else if(b<6&&b>0)this.dayOfWeek[a]=this.dayOfWeek[a]|j[b-1];else throw TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${b}, Type: ${typeof b}`)}},l=[31,28,31,30,31,30,31,31,30,31,30,31],m=[["month","year",0],["day","month",-1],["hour","day",0],["minute","hour",0],["second","minute",0]],n=class a{tz;ms;second;minute;hour;day;month;year;constructor(b,c){if(this.tz=c,b&&b instanceof Date)if(isNaN(b))throw TypeError("CronDate: Invalid date passed to CronDate constructor");else this.fromDate(b);else if(null==b)this.fromDate(new Date);else if(b&&"string"==typeof b)this.fromString(b);else if(b instanceof a)this.fromCronDate(b);else throw TypeError("CronDate: Invalid type ("+typeof b+") passed to CronDate constructor")}getLastDayOfMonth(a,b){return 1!==b?l[b]:new Date(Date.UTC(a,b+1,0)).getUTCDate()}getLastWeekday(a,b){let c=this.getLastDayOfMonth(a,b),d=new Date(Date.UTC(a,b,c)).getUTCDay();return 0===d?c-2:6===d?c-1:c}getNearestWeekday(a,b,c){let d=this.getLastDayOfMonth(a,b);if(c>d)return -1;let e=new Date(Date.UTC(a,b,c)).getUTCDay();return 0===e?c===d?c-2:c+1:6===e?1===c?c+2:c-1:c}isNthWeekdayOfMonth(a,b,c,d){let e=new Date(Date.UTC(a,b,c)).getUTCDay(),f=0;for(let d=1;d<=c;d++)new Date(Date.UTC(a,b,d)).getUTCDay()===e&&f++;if(63&d&&j[f-1]&d)return!0;if(32&d){let d=this.getLastDayOfMonth(a,b);for(let f=c+1;f<=d;f++)if(new Date(Date.UTC(a,b,f)).getUTCDay()===e)return!1;return!0}return!1}fromDate(a){if(void 0!==this.tz)if("number"==typeof this.tz)this.ms=a.getUTCMilliseconds(),this.second=a.getUTCSeconds(),this.minute=a.getUTCMinutes()+this.tz,this.hour=a.getUTCHours(),this.day=a.getUTCDate(),this.month=a.getUTCMonth(),this.year=a.getUTCFullYear(),this.apply();else try{let b=h(a,this.tz);this.ms=a.getMilliseconds(),this.second=b.s,this.minute=b.i,this.hour=b.h,this.day=b.d,this.month=b.m-1,this.year=b.y}catch(b){let a=b instanceof Error?b.message:String(b);throw TypeError(`CronDate: Failed to convert date to timezone '${this.tz}'. This may happen with invalid timezone names or dates. Original error: ${a}`)}else this.ms=a.getMilliseconds(),this.second=a.getSeconds(),this.minute=a.getMinutes(),this.hour=a.getHours(),this.day=a.getDate(),this.month=a.getMonth(),this.year=a.getFullYear()}fromCronDate(a){this.tz=a.tz,this.year=a.year,this.month=a.month,this.day=a.day,this.hour=a.hour,this.minute=a.minute,this.second=a.second,this.ms=a.ms}apply(){if(!(this.month>11)&&!(this.month<0)&&!(this.day>l[this.month])&&!(this.day<1)&&!(this.hour>59)&&!(this.minute>59)&&!(this.second>59)&&!(this.hour<0)&&!(this.minute<0)&&!(this.second<0))return!1;{let a=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=a.getUTCMilliseconds(),this.second=a.getUTCSeconds(),this.minute=a.getUTCMinutes(),this.hour=a.getUTCHours(),this.day=a.getUTCDate(),this.month=a.getUTCMonth(),this.year=a.getUTCFullYear(),!0}}fromString(a){if("number"!=typeof this.tz)return this.fromDate(f(a,this.tz));{let b=f(a);this.ms=b.getUTCMilliseconds(),this.second=b.getUTCSeconds(),this.minute=b.getUTCMinutes(),this.hour=b.getUTCHours(),this.day=b.getUTCDate(),this.month=b.getUTCMonth(),this.year=b.getUTCFullYear(),this.apply()}}findNext(a,b,c,d){return this._findMatch(a,b,c,d,1)}_findMatch(a,b,c,d,e){let f=this[b],g;c.lastDayOfMonth&&(g=this.getLastDayOfMonth(this.year,this.month));let h=c.starDOW||"day"!=b?void 0:new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay(),i=this[b]+d,j=1===e?a=>a<c[b].length:a=>a>=0;for(let k=i;j(k);k+=e){let e=c[b][k];if("day"===b&&!e){for(let a=0;a<c.nearestWeekdays.length;a++)if(c.nearestWeekdays[a]){let b=this.getNearestWeekday(this.year,this.month,a-d);if(-1===b)continue;if(b===k-d){e=1;break}}}if("day"===b&&c.lastWeekday&&k-d===this.getLastWeekday(this.year,this.month)&&(e=1),"day"===b&&c.lastDayOfMonth&&k-d==g&&(e=1),"day"===b&&!c.starDOW){let b=c.dayOfWeek[(h+(k-d-1))%7];if(b&&63&b)b=+!!this.isNthWeekdayOfMonth(this.year,this.month,k-d,b);else if(b)throw Error(`CronDate: Invalid value for dayOfWeek encountered. ${b}`);e=c.useAndLogic||a.domAndDow||c.starDOM?e&&b:e||b}if(e)return this[b]=k-d,f!==this[b]?2:1}return 3}recurse(a,b,c){if(0===c&&!a.starYear){if(this.year>=0&&this.year<a.year.length&&0===a.year[this.year]){let b=-1;for(let c=this.year+1;c<a.year.length&&c<1e4;c++)if(1===a.year[c]){b=c;break}if(-1===b)return null;this.year=b,this.month=0,this.day=1,this.hour=0,this.minute=0,this.second=0,this.ms=0}if(this.year>=1e4)return null}let d=this.findNext(b,m[c][0],a,m[c][2]);if(d>1){let e=c+1;for(;e<m.length;)this[m[e][0]]=-m[e][2],e++;if(3===d){if(this[m[c][1]]++,this[m[c][0]]=-m[c][2],this.apply(),0===c&&!a.starYear){for(;this.year>=0&&this.year<a.year.length&&0===a.year[this.year]&&this.year<1e4;)this.year++;if(this.year>=1e4||this.year>=a.year.length)return null}return this.recurse(a,b,0)}if(this.apply())return this.recurse(a,b,c-1)}return(c+=1)>=m.length?this:(a.starYear?this.year>=3e3:this.year>=1e4)?null:this.recurse(a,b,c)}increment(a,b,c){return this.second+=void 0!==b.interval&&b.interval>1&&c?b.interval:1,this.ms=0,this.apply(),this.recurse(a,b,0)}decrement(a,b){return this.second-=void 0!==b.interval&&b.interval>1?b.interval:1,this.ms=0,this.apply(),this.recurseBackward(a,b,0,0)}recurseBackward(a,b,c,d=0){if(d>1e4)return null;if(0===c&&!a.starYear){if(this.year>=0&&this.year<a.year.length&&0===a.year[this.year]){let b=-1;for(let c=this.year-1;c>=0;c--)if(1===a.year[c]){b=c;break}if(-1===b)return null;this.year=b,this.month=11,this.day=31,this.hour=23,this.minute=59,this.second=59,this.ms=0}if(this.year<0)return null}let e=this.findPrevious(b,m[c][0],a,m[c][2]);if(e>1){let f=c+1;for(;f<m.length;){let b=m[f][0],c=m[f][2],d=this.getMaxPatternValue(b,a,c);this[b]=d,f++}if(3===e){if(this[m[c][1]]--,0===c){let a=this.getLastDayOfMonth(this.year,this.month);this.day>a&&(this.day=a)}if(1===c)if(this.day<=0)this.day=1;else{let a=this.year,b=this.month;for(;b<0;)b+=12,a--;for(;b>11;)b-=12,a++;let c=1!==b?l[b]:new Date(Date.UTC(a,b+1,0)).getUTCDate();this.day>c&&(this.day=c)}this.apply();let e=m[c][0],f=m[c][2],g=this.getMaxPatternValue(e,a,f);if("day"===e){let a=this.getLastDayOfMonth(this.year,this.month);this[e]=Math.min(g,a)}else this[e]=g;if(this.apply(),0===c){let b=m[1][2],c=Math.min(this.getMaxPatternValue("day",a,b),this.getLastDayOfMonth(this.year,this.month));c!==this.day&&(this.day=c,this.hour=this.getMaxPatternValue("hour",a,m[2][2]),this.minute=this.getMaxPatternValue("minute",a,m[3][2]),this.second=this.getMaxPatternValue("second",a,m[4][2]))}if(0===c&&!a.starYear){for(;this.year>=0&&this.year<a.year.length&&0===a.year[this.year];)this.year--;if(this.year<0)return null}return this.recurseBackward(a,b,0,d+1)}if(this.apply())return this.recurseBackward(a,b,c-1,d+1)}return(c+=1)>=m.length?this:this.year<0?null:this.recurseBackward(a,b,c,d+1)}getMaxPatternValue(a,b,c){if("day"===a&&b.lastDayOfMonth||"day"===a&&!b.starDOW)return this.getLastDayOfMonth(this.year,this.month);for(let d=b[a].length-1;d>=0;d--)if(b[a][d])return d-c;return b[a].length-1-c}findPrevious(a,b,c,d){return this._findMatch(a,b,c,d,-1)}getDate(a){return a||void 0===this.tz?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):"number"==typeof this.tz?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):g(i(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}match(a,b){if(!a.starYear&&(this.year<0||this.year>=a.year.length||0===a.year[this.year]))return!1;for(let c=0;c<m.length;c++){let d=m[c][0],e=m[c][2],f=this[d];if(f+e<0||f+e>=a[d].length)return!1;let g=a[d][f+e];if("day"===d){if(!g){for(let b=0;b<a.nearestWeekdays.length;b++)if(a.nearestWeekdays[b]){let a=this.getNearestWeekday(this.year,this.month,b-e);if(-1!==a&&a===f){g=1;break}}}if(a.lastWeekday&&f===this.getLastWeekday(this.year,this.month)&&(g=1),a.lastDayOfMonth&&f===this.getLastDayOfMonth(this.year,this.month)&&(g=1),!a.starDOW){let c=new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay(),d=a.dayOfWeek[(c+(f-1))%7];d&&63&d&&(d=+!!this.isNthWeekdayOfMonth(this.year,this.month,f,d)),g=a.useAndLogic||b.domAndDow||a.starDOM?g&&d:g||d}}if(!g)return!1}return!0}};function o(a){return"[object Function]"===Object.prototype.toString.call(a)||"function"==typeof a||a instanceof Function}var p=[],q=class{name;options;_states;fn;getTz(){return this.options.timezone||this.options.utcOffset}applyDayOffset(a){if(void 0!==this.options.dayOffset&&0!==this.options.dayOffset){let b=24*this.options.dayOffset*36e5;return new Date(a.getTime()+b)}return a}constructor(a,b,c){let d,e;if(o(b))e=b;else if("object"==typeof b)d=b;else if(void 0!==b)throw Error("Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).");if(o(c))e=c;else if("object"==typeof c)d=c;else if(void 0!==c)throw Error("Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).");if(this.name=d?.name,this.options=function(a){if(void 0===a&&(a={}),delete a.name,void 0!==a.legacyMode&&void 0===a.domAndDow?a.domAndDow=!a.legacyMode:void 0===a.domAndDow&&(a.domAndDow=!1),a.legacyMode=!a.domAndDow,a.paused=void 0!==a.paused&&a.paused,a.maxRuns=void 0===a.maxRuns?1/0:a.maxRuns,a.catch=void 0!==a.catch&&a.catch,a.interval=void 0===a.interval?0:parseInt(a.interval.toString(),10),a.utcOffset=void 0===a.utcOffset?void 0:parseInt(a.utcOffset.toString(),10),a.dayOffset=void 0===a.dayOffset?0:parseInt(a.dayOffset.toString(),10),a.unref=void 0!==a.unref&&a.unref,a.mode=void 0===a.mode?"auto":a.mode,a.alternativeWeekdays=void 0!==a.alternativeWeekdays&&a.alternativeWeekdays,a.sloppyRanges=void 0!==a.sloppyRanges&&a.sloppyRanges,!["auto","5-part","6-part","7-part","5-or-6-parts","6-or-7-parts"].includes(a.mode))throw Error("CronOptions: mode must be one of 'auto', '5-part', '6-part', '7-part', '5-or-6-parts', or '6-or-7-parts'.");if(a.startAt&&(a.startAt=new n(a.startAt,a.timezone)),a.stopAt&&(a.stopAt=new n(a.stopAt,a.timezone)),null!==a.interval){if(isNaN(a.interval))throw Error("CronOptions: Supplied value for interval is not a number");if(a.interval<0)throw Error("CronOptions: Supplied value for interval can not be negative")}if(void 0!==a.utcOffset){if(isNaN(a.utcOffset))throw Error("CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.");if(a.utcOffset<-870||a.utcOffset>870)throw Error("CronOptions: utcOffset out of bounds.");if(void 0!==a.utcOffset&&a.timezone)throw Error("CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.")}if(!0!==a.unref&&!1!==a.unref)throw Error("CronOptions: Unref should be either true, false or undefined(false).");if(void 0!==a.dayOffset&&0!==a.dayOffset&&isNaN(a.dayOffset))throw Error("CronOptions: Invalid value passed for dayOffset, should be a number representing days to offset.");return a}(d),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:d?d.maxRuns:void 0,paused:!!d&&d.paused,pattern:new k("* * * * *",void 0,{mode:"auto"})},a&&(a instanceof Date||"string"==typeof a&&a.indexOf(":")>0)?this._states.once=new n(a,this.getTz()):this._states.pattern=new k(a,this.options.timezone,{mode:this.options.mode,alternativeWeekdays:this.options.alternativeWeekdays,sloppyRanges:this.options.sloppyRanges}),this.name){if(p.find(a=>a.name===this.name))throw Error("Cron: Tried to initialize new named job '"+this.name+"', but name already taken.");p.push(this)}return void 0!==e&&o(e)&&(this.fn=e,this.schedule()),this}nextRun(a){let b=this._next(a);return b?this.applyDayOffset(b.getDate(!1)):null}nextRuns(a,b){void 0!==this._states.maxRuns&&a>this._states.maxRuns&&(a=this._states.maxRuns);let c=b||this._states.currentRun||void 0;return this._enumerateRuns(a,c,"next")}previousRuns(a,b){return this._enumerateRuns(a,b||void 0,"previous")}_enumerateRuns(a,b,c){let d=[],e=b?new n(b,this.getTz()):null,f="next"===c?this._next:this._previous;for(;a--;){let a=f.call(this,e);if(!a)break;let b=a.getDate(!1);d.push(this.applyDayOffset(b)),e=a}return d}match(a){if(this._states.once){let b=new n(a,this.getTz());b.ms=0;let c=new n(this._states.once,this.getTz());return c.ms=0,b.getTime()===c.getTime()}let b=new n(a,this.getTz());return b.ms=0,b.match(this._states.pattern,this.options)}getPattern(){if(!this._states.once)return this._states.pattern?this._states.pattern.pattern:void 0}getOnce(){return this._states.once?this._states.once.getDate():null}isRunning(){let a=this.nextRun(this._states.currentRun),b=!this._states.paused,c=void 0!==this.fn,d=!this._states.kill;return b&&c&&d&&null!==a}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext(a){let b=this._next(a);return b?a instanceof n||a instanceof Date?b.getTime()-a.getTime():b.getTime()-new n(a).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let a=p.indexOf(this);a>=0&&p.splice(a,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule(a){var b;if(a&&this.fn)throw Error("Cron: It is not allowed to schedule two functions using the same Croner instance.");a&&(this.fn=a);let c=this.msToNext(),d=this.nextRun(this._states.currentRun);return null==c||isNaN(c)||null===d||(c>3e4&&(c=3e4),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(d),c),this._states.currentTimeout&&this.options.unref&&(b=this._states.currentTimeout,"u">typeof Deno&&"u">typeof Deno.unrefTimer?Deno.unrefTimer(b):b&&"u">typeof b.unref&&b.unref())),this}async _trigger(a){this._states.blocking=!0,this._states.currentRun=new n(void 0,this.getTz());try{if(this.options.catch)try{void 0!==this.fn&&await this.fn(this,this.options.context)}catch(a){if(o(this.options.catch))try{this.options.catch(a,this)}catch{}}else void 0!==this.fn&&await this.fn(this,this.options.context)}finally{this._states.previousRun=new n(a,this.getTz()),this._states.blocking=!1}}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger(a){let b=new Date,c=!this._states.paused&&b.getTime()>=a.getTime(),d=this._states.blocking&&this.options.protect;c&&!d?(void 0!==this._states.maxRuns&&this._states.maxRuns--,this._trigger()):c&&d&&o(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next(a){let b=!!(a||this._states.currentRun),c=!1;!a&&this.options.startAt&&this.options.interval&&([a,b]=this._calculatePreviousRun(a,b),c=!a),a=new n(a,this.getTz()),this.options.startAt&&a&&a.getTime()<this.options.startAt.getTime()&&(a=this.options.startAt);let d=this._states.once||new n(a,this.getTz());return c||d===this._states.once||(d=d.increment(this._states.pattern,this.options,b)),this._states.once&&this._states.once.getTime()<=a.getTime()||null===d||void 0!==this._states.maxRuns&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&d.getTime()>=this.options.stopAt.getTime()?null:d}_previous(a){let b=new n(a,this.getTz());this.options.stopAt&&b.getTime()>this.options.stopAt.getTime()&&(b=this.options.stopAt);let c=new n(b,this.getTz());return this._states.once?this._states.once.getTime()<b.getTime()?this._states.once:null:null===(c=c.decrement(this._states.pattern,this.options))||this.options.startAt&&c.getTime()<this.options.startAt.getTime()?null:c}_calculatePreviousRun(a,b){let c=new n(void 0,this.getTz()),d=a;if(this.options.startAt.getTime()<=c.getTime()){let a=(d=this.options.startAt).getTime()+1e3*this.options.interval;for(;a<=c.getTime();)a=(d=new n(d,this.getTz()).increment(this._states.pattern,this.options,!0)).getTime()+1e3*this.options.interval;b=!0}return null===d&&(d=void 0),[d,b]}}},74772:(a,b,c)=>{a.exports=c(22271)(c(96918),"WeakMap")},74829:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.JWT=void 0;let d=c(73919),e=c(28627),f=c(58838),g=c(49633),h=c(49502);class i extends g.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(a={}){super(a),this.email=a.email,this.keyFile=a.keyFile,this.key=a.key,this.keyId=a.keyId,this.scopes=a.scopes,this.subject=a.subject,this.additionalClaims=a.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(a){let b=new i(this);return b.scopes=a,b}async getRequestMetadataAsync(a){a=this.defaultServicePath?`https://${this.defaultServicePath}/`:a;let b=!this.hasUserScopes()&&a||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==h.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==h.DEFAULT_UNIVERSE)throw RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${h.DEFAULT_UNIVERSE}`);if(!this.apiKey&&b)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:a}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${a.id_token}`}))}}else{let b;this.access||(this.access=new f.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis)),this.hasUserScopes()?b=this.scopes:a||(b=this.defaultScopes);let c=this.useJWTAccessWithScope||this.universeDomain!==h.DEFAULT_UNIVERSE,d=await this.access.getRequestHeaders(a??void 0,this.additionalClaims,c?b:void 0);return{headers:this.addSharedMetadataHeaders(d)}}return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(a):{headers:new Headers}}async fetchIdToken(a){let b=new d.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:a},transporter:this.transporter});if(await b.getToken({forceRefresh:!0}),!b.idToken)throw Error("Unknown error: Failed to fetch ID token");return b.idToken}hasUserScopes(){return!!this.scopes&&this.scopes.length>0}hasAnyScopes(){return!!this.scopes&&!!(this.scopes.length>0)||!!this.defaultScopes&&!!(this.defaultScopes.length>0)}authorize(a){if(!a)return this.authorizeAsync();this.authorizeAsync().then(b=>a(null,b),a)}async authorizeAsync(){let a=await this.refreshToken();if(!a)throw Error("No result returned");return this.credentials=a.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.googleTokenOptions?.key,this.email=this.gtoken.googleTokenOptions?.iss,a.tokens}async refreshTokenNoCache(){let a=this.createGToken(),b={access_token:(await a.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:a.expiresAt,id_token:a.idToken};return this.emit("tokens",b),{res:null,tokens:b}}createGToken(){return this.gtoken||(this.gtoken=new d.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(a){if(!a)throw Error("Must pass in a JSON object containing the service account auth settings.");if(!a.client_email)throw Error("The incoming JSON object does not contain a client_email field");if(!a.private_key)throw Error("The incoming JSON object does not contain a private_key field");this.email=a.client_email,this.key=a.private_key,this.keyId=a.private_key_id,this.projectId=a.project_id,this.quotaProjectId=a.quota_project_id,this.universeDomain=a.universe_domain||this.universeDomain}fromStream(a,b){if(!b)return this.fromStreamAsync(a);this.fromStreamAsync(a).then(()=>b(),b)}fromStreamAsync(a){return new Promise((b,c)=>{if(!a)throw Error("Must pass in a stream containing the service account auth settings.");let d="";a.setEncoding("utf8").on("error",c).on("data",a=>d+=a).on("end",()=>{try{let a=JSON.parse(d);this.fromJSON(a),b()}catch(a){c(a)}})})}fromAPIKey(a){if("string"!=typeof a)throw Error("Must provide an API Key string.");this.apiKey=a}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){this.createGToken();let a=await (0,e.getCredentials)(this.keyFile);return{private_key:a.privateKey,client_email:a.clientEmail}}throw Error("A key or a keyFile must be provided to getCredentials.")}}b.JWT=i},74994:function(a,b,c){var d;d=c(67278),c(33263),c(52117),c(46007),c(70522),function(){var a=d.lib.StreamCipher,b=d.algo,c=b.RC4=a.extend({_doReset:function(){for(var a=this._key,b=a.words,c=a.sigBytes,d=this._S=[],e=0;e<256;e++)d[e]=e;for(var e=0,f=0;e<256;e++){var g=e%c,h=b[g>>>2]>>>24-g%4*8&255;f=(f+d[e]+h)%256;var i=d[e];d[e]=d[f],d[f]=i}this._i=this._j=0},_doProcessBlock:function(a,b){a[b]^=e.call(this)},keySize:8,ivSize:0});function e(){for(var a=this._S,b=this._i,c=this._j,d=0,e=0;e<4;e++){c=(c+a[b=(b+1)%256])%256;var f=a[b];a[b]=a[c],a[c]=f,d|=a[(a[b]+a[c])%256]<<24-8*e}return this._i=b,this._j=c,d}d.RC4=a._createHelper(c);var f=b.RC4Drop=c.extend({cfg:c.cfg.extend({drop:192}),_doReset:function(){c._doReset.call(this);for(var a=this.cfg.drop;a>0;a--)e.call(this)}});d.RC4Drop=a._createHelper(f)}(),a.exports=d.RC4},75786:(a,b,c)=>{"use strict";var d=Function.prototype.call,e=Object.prototype.hasOwnProperty;a.exports=c(77776).call(d,e)},76077:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{Postpone:function(){return A},PreludeState:function(){return V},abortAndThrowOnSynchronousRequestDataAccess:function(){return x},abortOnSynchronousPlatformIOAccess:function(){return v},accessedDynamicData:function(){return I},annotateDynamicAccess:function(){return N},consumeDynamicAccess:function(){return J},createDynamicTrackingState:function(){return o},createDynamicValidationState:function(){return p},createHangingInputAbortSignal:function(){return M},createRenderInBrowserAbortSignal:function(){return L},delayUntilRuntimeStage:function(){return Y},formatDynamicAPIAccesses:function(){return K},getFirstDynamicReason:function(){return q},isDynamicPostpone:function(){return D},isPrerenderInterruptedError:function(){return H},logDisallowedDynamicError:function(){return W},markCurrentScopeAsDynamic:function(){return r},postponeWithTracking:function(){return B},throwIfDisallowedDynamic:function(){return X},throwToInterruptStaticGeneration:function(){return s},trackAllowedDynamicAccess:function(){return U},trackDynamicDataInDynamicRender:function(){return t},trackSynchronousPlatformIOAccessInDev:function(){return w},trackSynchronousRequestDataAccessInDev:function(){return z},useDynamicRouteParams:function(){return O},warnOnSyncDynamicError:function(){return y}});let d=function(a){return a&&a.__esModule?a:{default:a}}(c(8654)),e=c(44323),f=c(74149),g=c(63033),h=c(29294),i=c(27266),j=c(51459),k=c(71545),l=c(72652),m=c(52229),n="function"==typeof d.default.unstable_postpone;function o(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function p(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function q(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function r(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return B(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new e.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function s(a,b,c){let d=Object.defineProperty(new e.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function t(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function u(a,b,c){let d=G(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function v(a,b,c,d){let e=d.dynamicTracking;u(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function w(a){a.prerenderPhase=!1}function x(a,b,c,d){if(!1===d.controller.signal.aborted){u(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw G(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function y(a){a.syncDynamicErrorWithStack&&console.error(a.syncDynamicErrorWithStack)}let z=w;function A({reason:a,route:b}){let c=g.workUnitAsyncStorage.getStore();B(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function B(a,b,c){(function(){if(!n)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),d.default.unstable_postpone(C(a,b))}function C(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function D(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&E(a.message)}function E(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===E(C("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let F="NEXT_PRERENDER_INTERRUPTED";function G(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=F,b}function H(a){return"object"==typeof a&&null!==a&&a.digest===F&&"name"in a&&"message"in a&&a instanceof Error}function I(a){return a.length>0}function J(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function K(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
380
380
  ${b}`))}function L(){let a=new AbortController;return a.abort(Object.defineProperty(new l.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function M(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,g.getRuntimeStagePromise)(a);c?c.then(()=>(0,k.scheduleOnNextTick)(()=>b.abort())):(0,k.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function N(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function O(a){let b=h.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let e=c.fallbackRouteParams;e&&e.size>0&&d.default.use((0,i.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return B(b.route,a,c.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new m.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new m.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}let P=/\n\s+at Suspense \(<anonymous>\)/,Q=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${j.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),R=RegExp(`\\n\\s+at ${j.METADATA_BOUNDARY_NAME}[\\n\\s]`),S=RegExp(`\\n\\s+at ${j.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),T=RegExp(`\\n\\s+at ${j.OUTLET_BOUNDARY_NAME}[\\n\\s]`);function U(a,b,c,d){if(!T.test(b)){if(R.test(b)){c.hasDynamicMetadata=!0;return}if(S.test(b)){c.hasDynamicViewport=!0;return}if(Q.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(P.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=function(a,b){let c=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return c.stack=c.name+": "+a+b,c}(`Route "${a.route}": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense`,b);return void c.dynamicErrors.push(e)}}}var V=function(a){return a[a.Full=0]="Full",a[a.Empty=1]="Empty",a[a.Errored=2]="Errored",a}({});function W(a,b){console.error(b),a.dev||(a.hasReadableErrorStacks?console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.`):console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
381
381
  - Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
382
- - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`))}function X(a,b,c,d){if(0!==b){if(c.hasSuspenseAboveBody)return;if(d.syncDynamicErrorWithStack)throw W(a,d.syncDynamicErrorWithStack),new f.StaticGenBailoutError;let e=c.dynamicErrors;if(e.length>0){for(let b=0;b<e.length;b++)W(a,e[b]);throw new f.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new f.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new f.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new f.StaticGenBailoutError}function Y(a,b){return a.runtimeStagePromise?a.runtimeStagePromise.then(()=>b):b}},76654:(a,b,c)=>{"use strict";c.r(b),c.d(b,{persistConversationState:()=>g});var d=c(79111),e=c(44479);let f=(0,c(18230).h)("backend/execution/flow/persistConversationState");async function g(a,b){let c="conversations/",g=String(a).startsWith(c)?String(a).slice(c.length):String(a);return((0,d.ln)(g),null!=b.conversationId&&(0,d.ln)(b.conversationId),b.ephemeral)?(f.debug(`Refusing to persist ephemeral state (key ${a}); ephemeral runs never reach the conversations store.`),Promise.resolve()):(0,e.isConversationDeleted)(b.conversationId)?(f.info(`Refusing to persist state for deleted conversation ${b.conversationId} (key ${a}).`),Promise.resolve()):(0,d.VH)(a,{...b,executionTrace:void 0,emit:void 0})}},76666:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&("name"in a&&"AbortError"===a.name||"message"in a&&String(a.message).includes("FetchRequestCanceledException"))}c.d(b,{r:()=>e,z:()=>d});let e=a=>{if(a instanceof Error)return a;if("object"==typeof a&&null!==a){try{if("[object Error]"===Object.prototype.toString.call(a)){let b=Error(a.message,a.cause?{cause:a.cause}:{});return a.stack&&(b.stack=a.stack),a.cause&&!b.cause&&(b.cause=a.cause),a.name&&(b.name=a.name),b}}catch{}try{return Error(JSON.stringify(a))}catch{}}return Error(a)}},76787:a=>{a.exports=function(a){return null!=a&&"object"==typeof a}},77776:(a,b,c)=>{"use strict";var d=c(4090);a.exports=Function.prototype.bind||d},77874:a=>{"use strict";var b=Object.prototype.hasOwnProperty,c=Object.prototype.toString,d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=function(a){return"function"==typeof Array.isArray?Array.isArray(a):"[object Array]"===c.call(a)},g=function(a){if(!a||"[object Object]"!==c.call(a))return!1;var d,e=b.call(a,"constructor"),f=a.constructor&&a.constructor.prototype&&b.call(a.constructor.prototype,"isPrototypeOf");if(a.constructor&&!e&&!f)return!1;for(d in a);return void 0===d||b.call(a,d)},h=function(a,b){d&&"__proto__"===b.name?d(a,b.name,{enumerable:!0,configurable:!0,value:b.newValue,writable:!0}):a[b.name]=b.newValue},i=function(a,c){if("__proto__"===c){if(!b.call(a,c))return;else if(e)return e(a,c).value}return a[c]};a.exports=function a(){var b,c,d,e,j,k,l=arguments[0],m=1,n=arguments.length,o=!1;for("boolean"==typeof l&&(o=l,l=arguments[1]||{},m=2),(null==l||"object"!=typeof l&&"function"!=typeof l)&&(l={});m<n;++m)if(b=arguments[m],null!=b)for(c in b)d=i(l,c),l!==(e=i(b,c))&&(o&&e&&(g(e)||(j=f(e)))?(j?(j=!1,k=d&&f(d)?d:[]):k=d&&g(d)?d:{},h(l,{name:c,newValue:a(o,k,e)})):void 0!==e&&h(l,{name:c,newValue:e}));return l}},78140:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.validateTuple=void 0;let d=c(31849),e=c(83593),f=c(97025);function g(a,b,c=a.schema){let{gen:f,parentSchema:h,data:i,keyword:j,it:k}=a;(function(a){let{opts:d,errSchemaPath:f}=k,g=c.length,h=g===a.minItems&&(g===a.maxItems||!1===a[b]);if(d.strictTuples&&!h){let a=`"${j}" is ${g}-tuple, but minItems or maxItems/${b} are not specified or different at path "${f}"`;(0,e.checkStrictMode)(k,a,d.strictTuples)}})(h),k.opts.unevaluated&&c.length&&!0!==k.items&&(k.items=e.mergeEvaluated.items(f,c.length,k.items));let l=f.name("valid"),m=f.const("len",(0,d._)`${i}.length`);c.forEach((b,c)=>{(0,e.alwaysValidSchema)(k,b)||(f.if((0,d._)`${m} > ${c}`,()=>a.subschema({keyword:j,schemaProp:c,dataProp:c},l)),a.ok(l))})}b.validateTuple=g,b.default={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(a){let{schema:b,it:c}=a;if(Array.isArray(b))return g(a,"additionalItems",b);c.items=!0,(0,e.alwaysValidSchema)(c,b)||a.ok((0,f.validateArray)(a))}}},78178:(a,b,c)=>{var d=c(18313),e=c(13356),f=c(86233),g=c(10110),h=c(74772),i=c(2269),j=c(53346),k="[object Map]",l="[object Promise]",m="[object Set]",n="[object WeakMap]",o="[object DataView]",p=j(d),q=j(e),r=j(f),s=j(g),t=j(h),u=i;(d&&u(new d(new ArrayBuffer(1)))!=o||e&&u(new e)!=k||f&&u(f.resolve())!=l||g&&u(new g)!=m||h&&u(new h)!=n)&&(u=function(a){var b=i(a),c="[object Object]"==b?a.constructor:void 0,d=c?j(c):"";if(d)switch(d){case p:return o;case q:return k;case r:return l;case s:return m;case t:return n}return b}),a.exports=u},78606:(a,b,c)=>{"use strict";c.d(b,{C:()=>e,F9:()=>i,PP:()=>h,wM:()=>f});let d=["contains","regex","equals","always"];function e(a){return"string"==typeof a&&d.includes(a)}function f(a){try{return new RegExp(a),!0}catch{return!1}}function g(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>"string"==typeof a?a:a&&"object"==typeof a&&"text"in a&&"string"==typeof a.text?a.text:"").join(""):""}function h(a,b="last-assistant"){if(!Array.isArray(a)||0===a.length)return null;if("last-message"===b)return g(a[a.length-1]?.content);for(let b=a.length-1;b>=0;b--)if(a[b]?.role==="assistant")return g(a[b]?.content);return null}function i(a,b){let c;if(!a)return!1;let d="string"==typeof b?b:"",e="string"==typeof a.value?a.value:String(a.value??"");switch(a.kind){case"contains":c=a.ignoreCase?d.toLowerCase().includes(e.toLowerCase()):d.includes(e);break;case"equals":c=a.ignoreCase?d.toLowerCase()===e.toLowerCase():d===e;break;case"regex":{let b;try{b=new RegExp(e,a.ignoreCase?"i":void 0)}catch(a){return console.warn("[edgeConditions] invalid regex predicate; treating as no-match",e,a),!1}c=b.test(d);break}case"always":c=!0;break;default:return console.warn("[edgeConditions] unknown condition kind; treating as no-match",a.kind),!1}return a.negate?!c:c}},78629:function(a,b,c){var d;d=c(67278),c(33263),c(52117),c(46007),c(70522),function(){var a=d.lib,b=a.WordArray,c=a.BlockCipher,e=d.algo,f=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],g=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],h=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],i=[{0:8421888,0x10000000:32768,0x20000000:8421378,0x30000000:2,0x40000000:512,0x50000000:8421890,0x60000000:8389122,0x70000000:8388608,0x80000000:514,0x90000000:8389120,0xa0000000:33280,0xb0000000:8421376,0xc0000000:32770,0xd0000000:8388610,0xe0000000:0,0xf0000000:33282,0x8000000:0,0x18000000:8421890,0x28000000:33282,0x38000000:32768,0x48000000:8421888,0x58000000:512,0x68000000:8421378,0x78000000:2,0x88000000:8389120,0x98000000:33280,0xa8000000:8421376,0xb8000000:8389122,0xc8000000:8388610,0xd8000000:32770,0xe8000000:514,0xf8000000:8388608,1:32768,0x10000001:2,0x20000001:8421888,0x30000001:8388608,0x40000001:8421378,0x50000001:33280,0x60000001:512,0x70000001:8389122,0x80000001:8421890,0x90000001:8421376,0xa0000001:8388610,0xb0000001:33282,0xc0000001:514,0xd0000001:8389120,0xe0000001:32770,0xf0000001:0,0x8000001:8421890,0x18000001:8421376,0x28000001:8388608,0x38000001:512,0x48000001:32768,0x58000001:8388610,0x68000001:2,0x78000001:33282,0x88000001:32770,0x98000001:8389122,0xa8000001:514,0xb8000001:8421888,0xc8000001:8389120,0xd8000001:0,0xe8000001:33280,0xf8000001:8421378},{0:0x40084010,0x1000000:16384,0x2000000:524288,0x3000000:0x40080010,0x4000000:0x40000010,0x5000000:0x40084000,0x6000000:0x40004000,0x7000000:16,0x8000000:540672,0x9000000:0x40004010,0xa000000:0x40000000,0xb000000:540688,0xc000000:524304,0xd000000:0,0xe000000:16400,0xf000000:0x40080000,8388608:0x40004000,0x1800000:540688,0x2800000:16,0x3800000:0x40004010,0x4800000:0x40084010,0x5800000:0x40000000,0x6800000:524288,0x7800000:0x40080010,0x8800000:524304,0x9800000:0,0xa800000:16384,0xb800000:0x40080000,0xc800000:0x40000010,0xd800000:540672,0xe800000:0x40084000,0xf800000:16400,0x10000000:0,0x11000000:0x40080010,0x12000000:0x40004010,0x13000000:0x40084000,0x14000000:0x40080000,0x15000000:16,0x16000000:540688,0x17000000:16384,0x18000000:16400,0x19000000:524288,0x1a000000:524304,0x1b000000:0x40000010,0x1c000000:540672,0x1d000000:0x40004000,0x1e000000:0x40000000,0x1f000000:0x40084010,0x10800000:540688,0x11800000:524288,0x12800000:0x40080000,0x13800000:16384,0x14800000:0x40004000,0x15800000:0x40084010,0x16800000:16,0x17800000:0x40000000,0x18800000:0x40084000,0x19800000:0x40000010,0x1a800000:0x40004010,0x1b800000:524304,0x1c800000:0,0x1d800000:16400,0x1e800000:0x40080010,0x1f800000:540672},{0:260,1048576:0,2097152:0x4000100,3145728:65796,4194304:65540,5242880:0x4000004,6291456:0x4010104,7340032:0x4010000,8388608:0x4000000,9437184:0x4010100,0xa00000:65792,0xb00000:0x4010004,0xc00000:0x4000104,0xd00000:65536,0xe00000:4,0xf00000:256,524288:0x4010100,1572864:0x4010004,2621440:0,3670016:0x4000100,4718592:0x4000004,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,0xa80000:0x4010000,0xb80000:65796,0xc80000:65792,0xd80000:0x4000104,0xe80000:0x4010104,0xf80000:0x4000000,0x1000000:0x4010100,0x1100000:65540,0x1200000:65536,0x1300000:0x4000100,0x1400000:256,0x1500000:0x4010104,0x1600000:0x4000004,0x1700000:0,0x1800000:0x4000104,0x1900000:0x4000000,0x1a00000:4,0x1b00000:65792,0x1c00000:0x4010000,0x1d00000:260,0x1e00000:65796,0x1f00000:0x4010004,0x1080000:0x4000000,0x1180000:260,0x1280000:0x4010100,0x1380000:0,0x1480000:65540,0x1580000:0x4000100,0x1680000:256,0x1780000:0x4010004,0x1880000:65536,0x1980000:0x4010104,0x1a80000:65796,0x1b80000:0x4000004,0x1c80000:0x4000104,0x1d80000:0x4010000,0x1e80000:4,0x1f80000:65792},{0:0x80401000,65536:0x80001040,131072:4198464,196608:0x80400000,262144:0,327680:4198400,393216:0x80000040,458752:4194368,524288:0x80000000,589824:4194304,655360:64,720896:0x80001000,786432:0x80400040,851968:4160,917504:4096,983040:0x80401040,32768:0x80001040,98304:64,163840:0x80400040,229376:0x80001000,294912:4198400,360448:0x80401040,425984:0,491520:0x80400000,557056:4096,622592:0x80401000,688128:4194304,753664:4160,819200:0x80000000,884736:4194368,950272:4198464,1015808:0x80000040,1048576:4194368,1114112:4198400,1179648:0x80000040,1245184:0,1310720:4160,1376256:0x80400040,1441792:0x80401000,1507328:0x80001040,1572864:0x80401040,1638400:0x80000000,1703936:0x80400000,1769472:4198464,1835008:0x80001000,1900544:4194304,1966080:64,2031616:4096,1081344:0x80400000,1146880:0x80401040,1212416:0,1277952:4198400,1343488:4194368,1409024:0x80000000,1474560:0x80001040,1540096:64,1605632:0x80000040,1671168:4096,1736704:0x80001000,1802240:0x80400040,1867776:4160,1933312:0x80401000,1998848:4194304,2064384:4198464},{0:128,4096:0x1040000,8192:262144,12288:0x20000000,16384:0x20040080,20480:0x1000080,24576:0x21000080,28672:262272,32768:0x1000000,36864:0x20040000,40960:0x20000080,45056:0x21040080,49152:0x21040000,53248:0,57344:0x1040080,61440:0x21000000,2048:0x1040080,6144:0x21000080,10240:128,14336:0x1040000,18432:262144,22528:0x20040080,26624:0x21040000,30720:0x20000000,34816:0x20040000,38912:0,43008:0x21040080,47104:0x1000080,51200:0x20000080,55296:0x21000000,59392:0x1000000,63488:262272,65536:262144,69632:128,73728:0x20000000,77824:0x21000080,81920:0x1000080,86016:0x21040000,90112:0x20040080,94208:0x1000000,98304:0x21040080,102400:0x21000000,106496:0x1040000,110592:0x20040000,114688:262272,118784:0x20000080,122880:0,126976:0x1040080,67584:0x21000080,71680:0x1000000,75776:0x1040000,79872:0x20040080,83968:0x20000000,88064:0x1040080,92160:128,96256:0x21040000,100352:262272,104448:0x21040080,108544:0,112640:0x21000000,116736:0x1000080,120832:262144,124928:0x20040000,129024:0x20000080},{0:0x10000008,256:8192,512:0x10200000,768:0x10202008,1024:0x10002000,1280:2097152,1536:2097160,1792:0x10000000,2048:0,2304:0x10002008,2560:2105344,2816:8,3072:0x10200008,3328:2105352,3584:8200,3840:0x10202000,128:0x10200000,384:0x10202008,640:8,896:2097152,1152:2105352,1408:0x10000008,1664:0x10002000,1920:8200,2176:2097160,2432:8192,2688:0x10002008,2944:0x10200008,3200:0,3456:0x10202000,3712:2105344,3968:0x10000000,4096:0x10002000,4352:0x10200008,4608:0x10202008,4864:8200,5120:2097152,5376:0x10000000,5632:0x10000008,5888:2105344,6144:2105352,6400:0,6656:8,6912:0x10200000,7168:8192,7424:0x10002008,7680:0x10202000,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:0x10000008,5248:0x10002000,5504:8200,5760:0x10202008,6016:0x10200000,6272:0x10202000,6528:0x10200008,6784:8192,7040:2105352,7296:2097160,7552:0,7808:0x10000000,8064:0x10002008},{0:1048576,16:0x2000401,32:1024,48:1049601,64:0x2100401,80:0,96:1,112:0x2100001,128:0x2000400,144:1048577,160:0x2000001,176:0x2100400,192:0x2100000,208:1025,224:1049600,240:0x2000000,8:0x2100001,24:0,40:0x2000401,56:0x2100400,72:1048576,88:0x2000001,104:0x2000000,120:1025,136:1049601,152:0x2000400,168:0x2100000,184:1048577,200:1024,216:0x2100401,232:1,248:1049600,256:0x2000000,272:1048576,288:0x2000401,304:0x2100001,320:1048577,336:0x2000400,352:0x2100400,368:1049601,384:1025,400:0x2100401,416:1049600,432:1,448:0,464:0x2100000,480:0x2000001,496:1024,264:1049600,280:0x2000401,296:0x2100001,312:1,328:0x2000000,344:1048576,360:1025,376:0x2100400,392:0x2000001,408:0x2100000,424:0,440:0x2100401,456:1049601,472:1024,488:0x2000400,504:1048577},{0:0x8000820,1:131072,2:0x8000000,3:32,4:131104,5:0x8020820,6:0x8020800,7:2048,8:0x8020000,9:0x8000800,10:133120,11:0x8020020,12:2080,13:0,14:0x8000020,15:133152,0x80000000:2048,0x80000001:0x8020820,0x80000002:0x8000820,0x80000003:0x8000000,0x80000004:0x8020000,0x80000005:133120,0x80000006:133152,0x80000007:32,0x80000008:0x8000020,0x80000009:2080,0x8000000a:131104,0x8000000b:0x8020800,0x8000000c:0,0x8000000d:0x8020020,0x8000000e:0x8000800,0x8000000f:131072,16:133152,17:0x8020800,18:32,19:2048,20:0x8000800,21:0x8000020,22:0x8020020,23:131072,24:0,25:131104,26:0x8020000,27:0x8000820,28:0x8020820,29:133120,30:2080,31:0x8000000,0x80000010:131072,0x80000011:2048,0x80000012:0x8020020,0x80000013:133152,0x80000014:32,0x80000015:0x8020000,0x80000016:0x8000000,0x80000017:0x8000820,0x80000018:0x8020820,0x80000019:0x8000020,0x8000001a:0x8000800,0x8000001b:0,0x8000001c:133120,0x8000001d:2080,0x8000001e:131104,0x8000001f:0x8020800}],j=[0xf8000001,0x1f800000,0x1f80000,2064384,129024,8064,504,0x8000001f],k=e.DES=c.extend({_doReset:function(){for(var a=this._key.words,b=[],c=0;c<56;c++){var d=f[c]-1;b[c]=a[d>>>5]>>>31-d%32&1}for(var e=this._subKeys=[],i=0;i<16;i++){for(var j=e[i]=[],k=h[i],c=0;c<24;c++)j[c/6|0]|=b[(g[c]-1+k)%28]<<31-c%6,j[4+(c/6|0)]|=b[28+(g[c+24]-1+k)%28]<<31-c%6;j[0]=j[0]<<1|j[0]>>>31;for(var c=1;c<7;c++)j[c]=j[c]>>>(c-1)*4+3;j[7]=j[7]<<5|j[7]>>>27}for(var l=this._invSubKeys=[],c=0;c<16;c++)l[c]=e[15-c]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._subKeys)},decryptBlock:function(a,b){this._doCryptBlock(a,b,this._invSubKeys)},_doCryptBlock:function(a,b,c){this._lBlock=a[b],this._rBlock=a[b+1],l.call(this,4,0xf0f0f0f),l.call(this,16,65535),m.call(this,2,0x33333333),m.call(this,8,0xff00ff),l.call(this,1,0x55555555);for(var d=0;d<16;d++){for(var e=c[d],f=this._lBlock,g=this._rBlock,h=0,k=0;k<8;k++)h|=i[k][((g^e[k])&j[k])>>>0];this._lBlock=g,this._rBlock=f^h}var n=this._lBlock;this._lBlock=this._rBlock,this._rBlock=n,l.call(this,1,0x55555555),m.call(this,8,0xff00ff),m.call(this,2,0x33333333),l.call(this,16,65535),l.call(this,4,0xf0f0f0f),a[b]=this._lBlock,a[b+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function l(a,b){var c=(this._lBlock>>>a^this._rBlock)&b;this._rBlock^=c,this._lBlock^=c<<a}function m(a,b){var c=(this._rBlock>>>a^this._lBlock)&b;this._lBlock^=c,this._rBlock^=c<<a}d.DES=c._createHelper(k);var n=e.TripleDES=c.extend({_doReset:function(){var a=this._key.words;if(2!==a.length&&4!==a.length&&a.length<6)throw Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var c=a.slice(0,2),d=a.length<4?a.slice(0,2):a.slice(2,4),e=a.length<6?a.slice(0,2):a.slice(4,6);this._des1=k.createEncryptor(b.create(c)),this._des2=k.createEncryptor(b.create(d)),this._des3=k.createEncryptor(b.create(e))},encryptBlock:function(a,b){this._des1.encryptBlock(a,b),this._des2.decryptBlock(a,b),this._des3.encryptBlock(a,b)},decryptBlock:function(a,b){this._des3.decryptBlock(a,b),this._des2.encryptBlock(a,b),this._des1.decryptBlock(a,b)},keySize:6,ivSize:2,blockSize:2});d.TripleDES=c._createHelper(n)}(),a.exports=d.TripleDES},78734:function(a,b,c){var d;d=c(67278),c(47973),function(a){var b=d.lib,c=b.WordArray,e=b.Hasher,f=d.x64.Word,g=d.algo,h=[],i=[],j=[];!function(){for(var a=1,b=0,c=0;c<24;c++){h[a+5*b]=(c+1)*(c+2)/2%64;var d=b%5,e=(2*a+3*b)%5;a=d,b=e}for(var a=0;a<5;a++)for(var b=0;b<5;b++)i[a+5*b]=b+(2*a+3*b)%5*5;for(var g=1,k=0;k<24;k++){for(var l=0,m=0,n=0;n<7;n++){if(1&g){var o=(1<<n)-1;o<32?m^=1<<o:l^=1<<o-32}128&g?g=g<<1^113:g<<=1}j[k]=f.create(l,m)}}();for(var k=[],l=0;l<25;l++)k[l]=f.create();var m=g.SHA3=e.extend({cfg:e.cfg.extend({outputLength:512}),_doReset:function(){for(var a=this._state=[],b=0;b<25;b++)a[b]=new f.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(a,b){for(var c=this._state,d=this.blockSize/2,e=0;e<d;e++){var f=a[b+2*e],g=a[b+2*e+1];f=(f<<8|f>>>24)&0xff00ff|(f<<24|f>>>8)&0xff00ff00,g=(g<<8|g>>>24)&0xff00ff|(g<<24|g>>>8)&0xff00ff00;var l=c[e];l.high^=g,l.low^=f}for(var m=0;m<24;m++){for(var n=0;n<5;n++){for(var o=0,p=0,q=0;q<5;q++){var l=c[n+5*q];o^=l.high,p^=l.low}var r=k[n];r.high=o,r.low=p}for(var n=0;n<5;n++)for(var s=k[(n+4)%5],t=k[(n+1)%5],u=t.high,v=t.low,o=s.high^(u<<1|v>>>31),p=s.low^(v<<1|u>>>31),q=0;q<5;q++){var l=c[n+5*q];l.high^=o,l.low^=p}for(var w=1;w<25;w++){var o,p,l=c[w],x=l.high,y=l.low,z=h[w];z<32?(o=x<<z|y>>>32-z,p=y<<z|x>>>32-z):(o=y<<z-32|x>>>64-z,p=x<<z-32|y>>>64-z);var A=k[i[w]];A.high=o,A.low=p}var B=k[0],C=c[0];B.high=C.high,B.low=C.low;for(var n=0;n<5;n++)for(var q=0;q<5;q++){var w=n+5*q,l=c[w],D=k[w],E=k[(n+1)%5+5*q],F=k[(n+2)%5+5*q];l.high=D.high^~E.high&F.high,l.low=D.low^~E.low&F.low}var l=c[0],G=j[m];l.high^=G.high,l.low^=G.low}},_doFinalize:function(){var b=this._data,d=b.words;this._nDataBytes;var e=8*b.sigBytes,f=32*this.blockSize;d[e>>>5]|=1<<24-e%32,d[(a.ceil((e+1)/f)*f>>>5)-1]|=128,b.sigBytes=4*d.length,this._process();for(var g=this._state,h=this.cfg.outputLength/8,i=h/8,j=[],k=0;k<i;k++){var l=g[k],m=l.high,n=l.low;m=(m<<8|m>>>24)&0xff00ff|(m<<24|m>>>8)&0xff00ff00,n=(n<<8|n>>>24)&0xff00ff|(n<<24|n>>>8)&0xff00ff00,j.push(n),j.push(m)}return new c.init(j,h)},clone:function(){for(var a=e.clone.call(this),b=a._state=this._state.slice(0),c=0;c<25;c++)b[c]=b[c].clone();return a}});d.SHA3=e._createHelper(m),d.HmacSHA3=e._createHmacHelper(m)}(Math),a.exports=d.SHA3},78853:a=>{a.exports=function(a,b){return null==a?void 0:a[b]}},79035:(a,b,c)=>{a=c.nmd(a);var d=c(96918),e=b&&!b.nodeType&&b,f=e&&a&&!a.nodeType&&a,g=f&&f.exports===e?d.Buffer:void 0,h=g?g.allocUnsafe:void 0;a.exports=function(a,b){if(b)return a.slice();var c=a.length,d=h?h(c):new a.constructor(c);return a.copy(d),d}},79111:(a,b,c)=>{"use strict";c.d(b,{EI:()=>B,N2:()=>u,Pv:()=>o,VH:()=>s,Vt:()=>A,YM:()=>t,Zf:()=>r,av:()=>E,bB:()=>C,l_:()=>z,ln:()=>w,pL:()=>D,w5:()=>F});var d=c(29021),e=c(33873),f=c.n(e),g=c(14247),h=c(18230),i=c(85510);let j=(0,h.h)("utils/storage/backend"),k=f().join((0,i.getDataDir)(),"db"),l=f().join((0,i.getDataDir)(),".next","storage"),m=a=>f().join(k,`${a}.json`);async function n(){try{await d.promises.access(k),j.verbose(`Storage directory exists: ${k}`)}catch{j.debug(`Creating storage directory: ${k}`),await d.promises.mkdir(k,{recursive:!0})}try{await d.promises.access(l),j.warn(`Old storage directory found: ${l}. This may cause data inconsistency issues.`)}catch{}}async function o(){for(let a of(j.debug("Verifying storage system initialization"),await n(),Object.values(g.Z)))try{let b=m(a),c=!1;try{await d.promises.access(b),c=!0}catch{}j.debug(`Storage check: ${a} - ${c?"File exists":"File does not exist yet"}`);let e=f().join(l,`${a}.json`);try{await d.promises.access(e),c?j.warn(`Found ${a} in both old and new storage locations. This may cause data inconsistency.`):j.warn(`Found ${a} in old storage location but not in new location. This may cause data loss.`)}catch{}}catch(b){j.error(`Storage verification failed for ${a}:`,b)}j.debug("Storage verification completed")}let p=new Map,q=0;async function r(a,b){let c=f().dirname(a);await d.promises.mkdir(c,{recursive:!0});let e=`${a}.tmp.${process.pid}.${++q}`;try{await d.promises.writeFile(e,b),await d.promises.rename(e,a)}catch(a){try{await d.promises.unlink(e)}catch{}throw a}}async function s(a,b){let c=m(a),d=(p.get(a)??Promise.resolve()).catch(()=>{}).then(()=>r(c,JSON.stringify(b,null,2)));p.set(a,d);try{await d,j.verbose(`Successfully saved item to: ${c}`)}catch(b){throw j.error(`Error saving item with key "${a}" to ${c}:`,b),b}finally{p.get(a)===d&&p.delete(a)}}async function t(a,b){try{await n();let c=m(a),e=await d.promises.readFile(c,"utf-8");if(0===e.trim().length)return j.warn(`Item with key "${a}" at ${c} is empty; treating as missing and returning default.`),b;try{let a=JSON.parse(e);return j.verbose(`Successfully loaded item from: ${c}`),a}catch(b){j.error(`CRITICAL: Failed to parse JSON from ${c}:`,b);let a=`${c}.corrupted.${Date.now()}.bak`;try{await d.promises.writeFile(a,e),j.info(`Created backup of corrupted file at: ${a}`)}catch(a){j.error("Failed to create backup of corrupted file:",a)}throw Error(`Failed to parse JSON from ${c}. A backup has been created at ${a}. Original error: ${b.message}`)}}catch(c){if("ENOENT"===c.code)return j.verbose(`Item with key "${a}" not found at ${m(a)}, returning default.`),b;throw j.error(`CRITICAL: Error loading item with key "${a}" from ${m(a)}:`,c),c}}async function u(a){let b=m(a);try{await d.promises.unlink(b),j.verbose(`Successfully cleared item: ${b}`)}catch(c){"ENOENT"!==c.code?j.warn(`Error clearing item with key "${a}" at ${b}:`,c):j.verbose(`Item with key "${a}" not found at ${b}, nothing to clear.`)}}let v=/^[A-Za-z0-9_-]{1,64}$/;function w(a){if("string"!=typeof a||!v.test(a))throw Error(`Unsafe collection item id: ${JSON.stringify(a)}`)}let x=a=>f().join(k,a),y=(a,b)=>f().join(x(a),`${b}.json`);function z(a,b){let c=(p.get(a)??Promise.resolve()).catch(()=>{}).then(b);return p.set(a,c),c.catch(()=>{}).finally(()=>{p.get(a)===c&&p.delete(a)}),c}async function A(a,b,c){w(b);let d=y(a,b);try{await z(`${a}/${b}`,()=>r(d,JSON.stringify(c,null,2))),j.verbose(`Successfully saved collection item: ${d}`)}catch(c){throw j.error(`Error saving collection item "${a}/${b}" to ${d}:`,c),c}}async function B(a,b,c){w(b);let e=y(a,b);try{let f=await d.promises.readFile(e,"utf-8");if(0===f.trim().length)return j.warn(`Collection item "${a}/${b}" at ${e} is empty; treating as missing.`),c;try{return JSON.parse(f)}catch(b){j.error(`CRITICAL: Failed to parse JSON from ${e}:`,b);let a=`${e}.corrupted.${Date.now()}.bak`;try{await d.promises.writeFile(a,f),j.info(`Created backup of corrupted file at: ${a}`)}catch(a){j.error("Failed to create backup of corrupted file:",a)}throw Error(`Failed to parse JSON from ${e}. A backup has been created at ${a}. Original error: ${b.message}`)}}catch(d){if("ENOENT"===d.code)return j.verbose(`Collection item "${a}/${b}" not found at ${e}, returning default.`),c;throw j.error(`CRITICAL: Error loading collection item "${a}/${b}" from ${e}:`,d),d}}async function C(a,b){w(b);let c=y(a,b);await z(`${a}/${b}`,async()=>{try{await d.promises.unlink(c),j.verbose(`Successfully deleted collection item: ${c}`)}catch(d){if("ENOENT"!==d.code)throw d;j.verbose(`Collection item "${a}/${b}" not found at ${c}, nothing to delete.`)}})}async function D(a){let b,c=x(a);try{b=await d.promises.readdir(c)}catch(a){if("ENOENT"===a.code)return[];throw a}let e=[];for(let a of b){if(!a.endsWith(".json")||a.includes(".tmp.")||a.includes(".corrupted.")||a.endsWith(".bak"))continue;let b=f().join(c,a);try{let a=await d.promises.readFile(b,"utf-8");if(0===a.trim().length){j.warn(`Collection item file ${b} is empty; skipping.`);continue}e.push(JSON.parse(a))}catch(a){j.error(`Failed to read collection item ${b}; skipping.`,a)}}return e}async function E(a){let b,c=x(a);try{b=await d.promises.readdir(c)}catch(a){if("ENOENT"===a.code)return[];throw a}let e=[];for(let a of b){if(!a.endsWith(".json")||a.includes(".tmp.")||a.includes(".corrupted.")||a.endsWith(".bak"))continue;let b=f().join(c,a);try{let[a,c]=await Promise.all([d.promises.readFile(b,"utf-8"),d.promises.stat(b)]);if(0===a.trim().length){j.warn(`Collection item file ${b} is empty; skipping.`);continue}e.push({item:JSON.parse(a),mtimeMs:c.mtimeMs})}catch(a){j.error(`Failed to read collection item ${b}; skipping.`,a)}}return e}async function F(a,b,c){let e,f,g=m(a);try{e=await d.promises.readFile(g,"utf-8")}catch(a){if("ENOENT"===a.code)return 0;throw a}if(0===e.trim().length)return await d.promises.rename(g,`${g}.migrated-${Date.now()}.bak`),0;try{f=JSON.parse(e)}catch(b){return j.error(`Migration: legacy ${a}.json is not valid JSON; leaving it in place.`,b),0}if(!Array.isArray(f))return j.error(`Migration: legacy ${a}.json is not an array; leaving it in place.`),0;for(let a of(await d.promises.mkdir(x(b),{recursive:!0}),f)){let e;try{e=c(a),w(e)}catch(a){j.error(`Migration: skipping ${b} item with invalid/unsafe id`,a);continue}let f=y(b,e);try{await d.promises.access(f),j.debug(`Migration: ${b}/${e} already exists; keeping the existing file.`);continue}catch{}await r(f,JSON.stringify(a,null,2))}return await d.promises.rename(g,`${g}.migrated-${Date.now()}.bak`),j.info(`Migration: moved ${f.length} ${b} item(s) from ${a}.json to per-item storage.`),f.length}},79215:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.validateKeywordUsage=b.validSchemaType=b.funcKeywordCode=b.macroKeywordCode=void 0;let d=c(31849),e=c(60359),f=c(97025),g=c(70428);function h(a){let{gen:b,data:c,it:e}=a;b.if(e.parentData,()=>b.assign(c,(0,d._)`${e.parentData}[${e.parentDataProperty}]`))}function i(a,b,c){if(void 0===c)throw Error(`keyword "${b}" failed to compile`);return a.scopeValue("keyword","function"==typeof c?{ref:c}:{ref:c,code:(0,d.stringify)(c)})}b.macroKeywordCode=function(a,b){let{gen:c,keyword:e,schema:f,parentSchema:g,it:h}=a,j=b.macro.call(h.self,f,g,h),k=i(c,e,j);!1!==h.opts.validateSchema&&h.self.validateSchema(j,!0);let l=c.name("valid");a.subschema({schema:j,schemaPath:d.nil,errSchemaPath:`${h.errSchemaPath}/${e}`,topSchemaRef:k,compositeRule:!0},l),a.pass(l,()=>a.error(!0))},b.funcKeywordCode=function(a,b){var c;let{gen:j,keyword:k,schema:l,parentSchema:m,$data:n,it:o}=a;!function({schemaEnv:a},b){if(b.async&&!a.$async)throw Error("async keyword in sync schema")}(o,b);let p=i(j,k,!n&&b.compile?b.compile.call(o.self,l,m,o):b.validate),q=j.let("valid");function r(c=b.async?(0,d._)`await `:d.nil){let g=o.opts.passContext?e.default.this:e.default.self,h=!("compile"in b&&!n||!1===b.schema);j.assign(q,(0,d._)`${c}${(0,f.callValidateCode)(a,p,g,h)}`,b.modifying)}function s(a){var c;j.if((0,d.not)(null!=(c=b.valid)?c:q),a)}a.block$data(q,function(){if(!1===b.errors)r(),b.modifying&&h(a),s(()=>a.error());else{let c=b.async?function(){let a=j.let("ruleErrs",null);return j.try(()=>r((0,d._)`await `),b=>j.assign(q,!1).if((0,d._)`${b} instanceof ${o.ValidationError}`,()=>j.assign(a,(0,d._)`${b}.errors`),()=>j.throw(b))),a}():function(){let a=(0,d._)`${p}.errors`;return j.assign(a,null),r(d.nil),a}();b.modifying&&h(a),s(()=>(function(a,b){let{gen:c}=a;c.if((0,d._)`Array.isArray(${b})`,()=>{c.assign(e.default.vErrors,(0,d._)`${e.default.vErrors} === null ? ${b} : ${e.default.vErrors}.concat(${b})`).assign(e.default.errors,(0,d._)`${e.default.vErrors}.length`),(0,g.extendErrors)(a)},()=>a.error())})(a,c))}}),a.ok(null!=(c=b.valid)?c:q)},b.validSchemaType=function(a,b,c=!1){return!b.length||b.some(b=>"array"===b?Array.isArray(a):"object"===b?a&&"object"==typeof a&&!Array.isArray(a):typeof a==b||c&&void 0===a)},b.validateKeywordUsage=function({schema:a,opts:b,self:c,errSchemaPath:d},e,f){if(Array.isArray(e.keyword)?!e.keyword.includes(f):e.keyword!==f)throw Error("ajv implementation error");let g=e.dependencies;if(null==g?void 0:g.some(b=>!Object.prototype.hasOwnProperty.call(a,b)))throw Error(`parent schema must have dependencies of ${f}: ${g.join(",")}`);if(e.validateSchema&&!e.validateSchema(a[f])){let a=`keyword "${f}" value is invalid at path "${d}": `+c.errorsText(e.validateSchema.errors);if("log"===b.validateSchema)c.logger.error(a);else throw Error(a)}}},79490:a=>{function b(a,b,c,d){return Math.round(a/c)+" "+d+(b>=1.5*c?"s":"")}a.exports=function(a,c){c=c||{};var d,e,f,g,h=typeof a;if("string"===h&&a.length>0){var i=a;if(!((i=String(i)).length>100)){var j=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);if(j){var k=parseFloat(j[1]);switch((j[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*k;case"weeks":case"week":case"w":return 6048e5*k;case"days":case"day":case"d":return 864e5*k;case"hours":case"hour":case"hrs":case"hr":case"h":return 36e5*k;case"minutes":case"minute":case"mins":case"min":case"m":return 6e4*k;case"seconds":case"second":case"secs":case"sec":case"s":return 1e3*k;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return k;default:break}}}return}if("number"===h&&isFinite(a)){return c.long?(e=Math.abs(d=a))>=864e5?b(d,e,864e5,"day"):e>=36e5?b(d,e,36e5,"hour"):e>=6e4?b(d,e,6e4,"minute"):e>=1e3?b(d,e,1e3,"second"):d+" ms":(g=Math.abs(f=a))>=864e5?Math.round(f/864e5)+"d":g>=36e5?Math.round(f/36e5)+"h":g>=6e4?Math.round(f/6e4)+"m":g>=1e3?Math.round(f/1e3)+"s":f+"ms"}throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(a))}},79522:(a,b,c)=>{"use strict";var d=c(23598)("%Object.defineProperty%",!0),e=c(48181)(),f=c(75786),g=c(28136),h=e?Symbol.toStringTag:null;a.exports=function(a,b){var c=arguments.length>2&&!!arguments[2]&&arguments[2].force,e=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(void 0!==c&&"boolean"!=typeof c||void 0!==e&&"boolean"!=typeof e)throw new g("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");h&&(c||!f(a,h))&&(d?d(a,h,{configurable:!e,enumerable:!1,value:b,writable:!1}):a[h]=b)}},79792:function(a,b,c){"use strict";var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.instance=b.Gaxios=b.GaxiosError=void 0,b.request=h;let f=c(41067);Object.defineProperty(b,"Gaxios",{enumerable:!0,get:function(){return f.Gaxios}});var g=c(81231);async function h(a){return b.instance.request(a)}Object.defineProperty(b,"GaxiosError",{enumerable:!0,get:function(){return g.GaxiosError}}),e(c(4313),b),b.instance=new f.Gaxios},79861:(a,b,c)=>{"use strict";c.d(b,{AH:()=>f,O$:()=>p,XQ:()=>q,Yr:()=>m,cy:()=>s,jg:()=>t,nO:()=>n,vf:()=>o,zz:()=>r});let d={npm:"npx",pypi:"uvx",oci:"docker",nuget:"dnx"},e={npm:"npm",pypi:"PyPI",oci:"Docker",nuget:"NuGet",mcpb:"MCPB",cargo:"Cargo"};function f(a){var b;let c=[];for(let f of a.packages??[])(function(a){if(!a.identifier||!d[a.registryType]&&!a.runtimeHint)return!1;let b=a.transport?.type;return!b||"stdio"===b})(f)&&c.push({kind:"package",label:`${e[b=f.registryType]||b}: ${f.identifier}`,pkg:f});for(let b of a.remotes??[])b.url&&("streamable-http"===b.type||"sse"===b.type)&&c.push({kind:"remote",label:`Remote (${"sse"===b.type?"SSE":"Streamable HTTP"}): ${b.url}`,remote:b});return c}let g=new Set(["mcp","server","mcp-server","mcpserver"]);function h(a){return(function(a){let b=a.indexOf("/"),c=b>=0?a.slice(0,b):"",d=b>=0?a.slice(b+1):a;if(!g.has(d.toLowerCase())||!c)return d;let e=c.split(".").pop()||"";return e?`${e}-${d}`:d})(a).replace(/[^a-zA-Z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")||"mcp-server"}function i(a){let b=a.value??a.default;return"named"===a.type?a.name?void 0!==b&&""!==b?[a.name,b]:a.isRequired&&a.valueHint?[a.name,`<${a.valueHint}>`]:a.isRequired?[a.name]:[]:[]:void 0!==b&&""!==b?[b]:a.isRequired?[`<${a.valueHint||"value"}>`]:[]}function j(a){return(a??[]).flatMap(i)}function k(a){return{name:h(a.name),disabled:!1,autoApprove:[],env:{},_buildCommand:"",_installCommand:""}}function l(a){return a.version?`${a.identifier}@${a.version}`:a.identifier}function m(a,b){let c="package"===b.kind?function(a,b){let c,e=b.runtimeHint||d[b.registryType],f=j(b.packageArguments),g=j(b.runtimeArguments),h=function(a){let b={};for(let c of a??[]){if(!c.name)continue;let a=c.value??c.default??"";b[c.name]=c.isSecret?{value:a,metadata:{isSecret:!0}}:a}return b}(b.environmentVariables);switch(b.registryType){case"npm":c=[...g,"-y",l(b),...f];break;case"pypi":c=[...g,b.version?`${b.identifier}==${b.version}`:b.identifier,...f];break;case"oci":{let a=Object.keys(h).flatMap(a=>["-e",a]);c=[..."run"===g[0]?[]:["run","-i","--rm"],...g,...a,function(a){let b=a.identifier.split("/").pop()||a.identifier;return!(b.includes(":")||b.includes("@"))&&a.version?`${a.identifier}:${a.version}`:a.identifier}(b),...f];break}case"nuget":c=[...g,l(b),"--yes",...f];break;default:c=[...g,l(b),...f]}return{...k(a),transport:"stdio",command:e,args:c,env:h,rootPath:"."}}(a,b.pkg):function(a,b){let c={};for(let a of b.headers??[])a.name&&(c[a.name]=a.value??a.default??"");let d=k(a);return{...d,transport:"sse"===b.type?"sse":"streamable",serverUrl:b.url,headers:c,rootPath:`mcp-servers/${d.name}`}}(a,b.remote),e="package"===b.kind?b.pkg.version??a.version:a.version,f={type:"registry",registryName:a.name,...e?{version:e}:{}};return{...c,source:f}}function n(a){return"active"===a}function o(a){let b=a?._meta?.["io.modelcontextprotocol.registry/official"]?.status;return"string"==typeof b&&b.length>0?b:"unverified"}function p(a,b,c,d){let e=m(b,c),f=e.transport??"stdio";return{registryName:a,resolvedName:b.name,serverName:e.name??h(b.name),transport:f,...e.command?{command:e.command}:{},...Array.isArray(e.args)?{args:e.args}:{},...e.serverUrl?{serverUrl:e.serverUrl}:{},requiredEnvNames:"package"===c.kind?(c.pkg.environmentVariables??[]).filter(a=>a.isRequired&&a.name).map(a=>a.name):(c.remote.headers??[]).filter(a=>a.isRequired&&a.name).map(a=>a.name),verificationStatus:d}}function q(a){let b;try{b=new URL(a)}catch{return null}let c=b.searchParams.get("q");if(c)return`/v0.1/servers?search=${encodeURIComponent(c)}&version=latest&limit=1`;if(/^\/v[\d.]+\/servers\/[^/]+\/versions\/[^/]+$/.test(b.pathname))return b.pathname;let d=b.pathname.match(/^\/v[\d.]+\/servers\/([^/]+)(?:\/versions)?\/?$/);if(d){let a=decodeURIComponent(d[1]);return`/v0.1/servers?search=${encodeURIComponent(a)}&version=latest&limit=1`}return null}function r(a){return a?.servers&&a.servers.length>0?a.servers[0]:a?.server?.name?a:null}function s(a,b){if(!b||0===Object.keys(b).length)return a;let c={...a.env??{}};for(let[a,d]of Object.entries(b)){let b=c[a];b&&"object"==typeof b&&b.metadata?.isSecret?c[a]={value:d,metadata:{isSecret:!0}}:c[a]=d}return{...a,env:c}}function t(a,b){return"package"===a.kind?(a.pkg.environmentVariables??[]).filter(a=>a.isRequired&&!(a.value??a.default)&&!b?.[a.name]).map(a=>a.name):(a.remote.headers??[]).filter(a=>a.isRequired&&!(a.value??a.default)).map(a=>a.name)}},79917:(a,b,c)=>{"use strict";a.exports=c(72886).vendored["react-rsc"].ReactDOM},80031:(a,b,c)=>{"use strict";let d,e,f;c.d(b,{Ay:()=>dt});var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW,aX,aY,aZ,a$,a_,a0,a1,a2,a3,a4,a5=c(2417);let a6=function(){let{crypto:a}=globalThis;if(a?.randomUUID)return a6=a.randomUUID.bind(a),a.randomUUID();let b=new Uint8Array(1),c=a?()=>a.getRandomValues(b)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,a=>(a^c()&15>>a/4).toString(16))};var a7=c(31169);let a8=(a,b)=>new Promise(c=>{if(b?.aborted)return c();let d=()=>{clearTimeout(e),c()},e=setTimeout(()=>{b?.removeEventListener("abort",d),c()},a);b?.addEventListener("abort",d,{once:!0})});var a9=c(76666);let ba="0.105.0",bb=a=>"x32"===a?"x32":"x86_64"===a||"x64"===a?"x64":"arm"===a?"arm":"aarch64"===a||"arm64"===a?"arm64":a?`other:${a}`:"unknown",bc=a=>(a=a.toLowerCase()).includes("ios")?"iOS":"android"===a?"Android":"darwin"===a?"MacOS":"win32"===a?"Windows":"freebsd"===a?"FreeBSD":"openbsd"===a?"OpenBSD":"linux"===a?"Linux":a?`Other:${a}`:"Unknown",bd=()=>d??(d=(()=>{let a="undefined"!=typeof Deno&&null!=Deno.build?"deno":"undefined"!=typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":bc(Deno.build.os),"X-Stainless-Arch":bb(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("undefined"!=typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":bc(globalThis.process.platform??"unknown"),"X-Stainless-Arch":bb(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let b=function(){if("undefined"==typeof navigator||!navigator)return null;for(let{key:a,pattern:b}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let c=b.exec(navigator.userAgent);if(c){let b=c[1]||0,d=c[2]||0,e=c[3]||0;return{browser:a,version:`${b}.${d}.${e}`}}}return null}();return b?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${b.browser}`,"X-Stainless-Runtime-Version":b.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}})());function be(...a){let b=globalThis.ReadableStream;if(void 0===b)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new b(...a)}function bf(a){let b=Symbol.asyncIterator in a?a[Symbol.asyncIterator]():a[Symbol.iterator]();return be({start(){},async pull(a){let{done:c,value:d}=await b.next();c?a.close():a.enqueue(d)},async cancel(){await b.return?.()}})}function bg(a){if(a[Symbol.asyncIterator])return a;let b=a.getReader();return{async next(){try{let a=await b.read();return a?.done&&b.releaseLock(),a}catch(a){throw b.releaseLock(),a}},async return(){let a=b.cancel();return b.releaseLock(),await a,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function bh(a){if(null===a||"object"!=typeof a)return;if(a[Symbol.asyncIterator])return void await a[Symbol.asyncIterator]().return?.();let b=a.getReader(),c=b.cancel();b.releaseLock(),await c}let bi=({headers:a,body:b})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(b)});var bj=c(17736),bk=c(30429);let bl="/v1/oauth/token",bm="oauth-2025-04-20";function bn(a){let b;if(!a)return;try{b=new URL(a)}catch(b){throw new bu(`Invalid token endpoint base URL "${a}": ${b}`)}if("https:"===b.protocol)return;let c=b.hostname.toLowerCase().replace(/^\[|\]$/g,"");if("http:"!==b.protocol||"localhost"!==c&&"127.0.0.1"!==c&&"::1"!==c)throw new bu(`Refusing to send credential over non-https token endpoint "${a}"`)}async function bo(a,b){let c,d=await bt(a);try{c=JSON.parse(d)}catch{throw new bu(`Token endpoint returned non-JSON response (status ${a.status})`,a.status,bq(d),b)}if(!c.access_token)throw new bu(`Token endpoint response missing access_token: ${JSON.stringify(bq(c))}`,a.status,bq(c),b);if(c.token_type&&"bearer"!==c.token_type.toLowerCase())throw new bu(`Token endpoint response: unsupported token_type "${c.token_type}" (want Bearer)`,a.status,bq(c),b);return c}let bp=new Set(["error","error_description","error_uri"]);function bq(a){if(null==a)return a;if("string"==typeof a){let b;try{b=JSON.parse(a)}catch{if(a.length<=2e3)return a;return a.slice(0,2e3)+`... <${a.length-2e3} more chars>`}return JSON.stringify(bq(b))}if("object"==typeof a&&!Array.isArray(a)){let b={};for(let[c,d]of Object.entries(a))bp.has(c)&&(b[c]=d);return b}return null}async function br(a,b=a=>console.warn(`anthropic-sdk: ${a}`)){let d;if("undefined"==typeof process||"win32"===process.platform)return;let e=await Promise.resolve().then(c.t.bind(c,73024,19)),f=a;try{f=await e.promises.realpath(a),d=await e.promises.stat(f)}catch{return}let g=511&d.mode;if(18&g)throw new bu(`Credentials file at ${f} is group/world-writable (mode 0o${g.toString(8)}); this allows other local users to plant tokens. Run \`chmod 600 ${f}\`.`);if(36&g)throw new bu(`Credentials file at ${f} is group/world-readable (mode 0o${g.toString(8)}); run \`chmod 600 ${f}\` before retrying.`);"function"==typeof process.getuid&&d.uid!==process.getuid()&&b(`credentials file at ${f} is owned by uid ${d.uid} (current process uid ${process.getuid()}); verify this is intentional.`)}async function bs(a,b){let d=await Promise.resolve().then(c.t.bind(c,73024,19)),e=(await Promise.resolve().then(c.t.bind(c,76760,19))).dirname(a);await d.promises.mkdir(e,{recursive:!0,mode:448});let f=`${a}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;try{let c=await d.promises.open(f,"w",384);try{await c.writeFile(JSON.stringify(b,null,2)),await c.sync()}finally{await c.close()}await d.promises.rename(f,a)}catch(a){throw await d.promises.unlink(f).catch(()=>{}),a}try{let a=await d.promises.open(e,"r");try{await a.sync()}finally{await a.close()}}catch{}}async function bt(a){let b;if(!a.body)return"";let c=a.body.getReader(),d=[],e=0;for(;;){let{done:a,value:b}=await c.read();if(a)break;if(e+b.length>1048576){let a=1048576-e;a>0&&d.push(b.subarray(0,a)),await c.cancel();break}d.push(b),e+=b.length}if(1===d.length)b=d[0];else{b=new Uint8Array(d.reduce((a,b)=>a+b.length,0));let a=0;for(let c of d)b.set(c,a),a+=c.length}return new TextDecoder("utf-8").decode(b)}class bu extends bk.pJ{constructor(a,b=null,c=null,d=null){super(a),this.statusCode=b,this.body=c,this.requestId=d}}function bv(){return Math.floor(Date.now()/1e3)}class bw{constructor(a,b){this.cached=null,this.pendingRefresh=null,this.nextForce=!1,this.lastAdvisoryError=0,this.provider=a,this.onAdvisoryRefreshError=b}async getToken(){let a=this.nextForce;this.nextForce=!1;let b=this.cached;if(a||null==b)return(await this.refresh(a)).token;if(null==b.expiresAt)return b.token;let c=b.expiresAt-bv();return c>120?b.token:c>30?(this.backgroundRefresh(),b.token):(await this.refresh()).token}invalidate(){this.cached=null,this.nextForce=!0}refresh(a=!1){return this.pendingRefresh&&!a?this.pendingRefresh:this.doRefresh(a)}backgroundRefresh(){!this.pendingRefresh&&(bv()-this.lastAdvisoryError<5||this.doRefresh().catch(a=>{this.lastAdvisoryError=bv(),this.onAdvisoryRefreshError?.(a)}))}doRefresh(a=!1){return this.pendingRefresh=this.provider(a?{forceRefresh:!0}:void 0).then(a=>(this.cached=a,this.pendingRefresh=null,a),a=>{throw this.pendingRefresh=null,a}),this.pendingRefresh}}var bx=c(17592),by=c(44873);let bz=/^[A-Za-z0-9_.-]+$/;function bA(a){if(!a)throw Error("profile name is empty");if("."===a||".."===a)throw Error(`profile name "${a}" is not allowed`);if(a.includes("/")||a.includes("\\"))throw Error(`profile name "${a}" must not contain path separators`);if(!bz.test(a))throw Error(`profile name "${a}" contains disallowed characters (allowed: letters, digits, '_', '.', '-')`)}let bB=async a=>{var b,d;let e,f,g=await bD();if(null===g)return null;let h=a??await bF();if(null===h)return null;bA(h);let i=await Promise.resolve().then(c.t.bind(c,73024,19)),j=(await Promise.resolve().then(c.t.bind(c,76760,19))).join(g,"configs",`${h}.json`);try{e=await i.promises.readFile(j,"utf-8")}catch(a){if(a?.code!=="ENOENT")throw Error(`failed to read config file ${j}: ${a}`);e=null}if(null===e){let a=(0,by.sx)("ANTHROPIC_ORGANIZATION_ID"),b=(0,by.sx)("ANTHROPIC_IDENTITY_TOKEN_FILE"),c=(0,by.sx)("ANTHROPIC_FEDERATION_RULE_ID");return c&&a?{fromFile:!1,config:{organization_id:a,workspace_id:(0,by.sx)("ANTHROPIC_WORKSPACE_ID"),base_url:(0,by.sx)("ANTHROPIC_BASE_URL"),authentication:{type:"oidc_federation",federation_rule_id:c,service_account_id:(0,by.sx)("ANTHROPIC_SERVICE_ACCOUNT_ID"),identity_token:b?{source:"file",path:b}:void 0,scope:(0,by.sx)("ANTHROPIC_SCOPE")}}}:null}try{f=JSON.parse(e)}catch(a){throw Error(`failed to parse config file ${j}: ${a}`)}if(!f.authentication)throw Error(`config file ${j} is missing "authentication"`);let k=f.authentication.type;if("oidc_federation"!==k&&"user_oauth"!==k)throw Error(`authentication.type "${k}" is not a known authentication type`);if(f.organization_id??(f.organization_id=(0,by.sx)("ANTHROPIC_ORGANIZATION_ID")),f.workspace_id??(f.workspace_id=(0,by.sx)("ANTHROPIC_WORKSPACE_ID")),f.base_url??(f.base_url=(0,by.sx)("ANTHROPIC_BASE_URL")),(b=f.authentication).scope??(b.scope=(0,by.sx)("ANTHROPIC_SCOPE")),"oidc_federation"===f.authentication.type){if(!f.authentication.identity_token){let a=(0,by.sx)("ANTHROPIC_IDENTITY_TOKEN_FILE");a&&(f.authentication.identity_token={source:"file",path:a})}f.authentication.federation_rule_id||(f.authentication.federation_rule_id=(0,by.sx)("ANTHROPIC_FEDERATION_RULE_ID")??""),(d=f.authentication).service_account_id??(d.service_account_id=(0,by.sx)("ANTHROPIC_SERVICE_ACCOUNT_ID"))}return{config:f,fromFile:!0}},bC=async(a,b)=>{if(a?.authentication.credentials_path)return a.authentication.credentials_path;let d=await bD();if(!d)return null;let e=b??await bF();return e?(bA(e),(await Promise.resolve().then(c.t.bind(c,76760,19))).join(d,"credentials",`${e}.json`)):null},bD=async()=>{if(!bE())return null;let a=await Promise.resolve().then(c.t.bind(c,76760,19)),b=(0,by.sx)("ANTHROPIC_CONFIG_DIR");if(b)return b;if("Windows"===bd()["X-Stainless-OS"]){let b=(0,by.sx)("APPDATA");if(b)return a.join(b,"Anthropic");let c=(0,by.sx)("USERPROFILE");return c?a.join(c,"AppData","Roaming","Anthropic"):null}let d=(0,by.sx)("XDG_CONFIG_HOME");if(d)return a.join(d,"anthropic");let e=(0,by.sx)("HOME");return e?a.join(e,".config","anthropic"):null},bE=()=>{let a=bd()["X-Stainless-Runtime"];return"node"===a||"deno"===a},bF=async()=>{let a=await bD();if(!a)return null;let b=(0,by.sx)("ANTHROPIC_PROFILE");if(b)return b;let d=await Promise.resolve().then(c.t.bind(c,73024,19)),e=(await Promise.resolve().then(c.t.bind(c,76760,19))).join(a,"active_config");try{return(await d.promises.readFile(e,"utf-8")).trim()||"default"}catch(a){if(a?.code!=="ENOENT")throw Error(`failed to read ${e}: ${a}`);return"default"}};function bG(a){if(!a)throw new bk.pJ("Identity token file path is empty");return async()=>{let b,d=await Promise.resolve().then(c.t.bind(c,73024,19));try{b=await d.promises.readFile(a,"utf-8")}catch(b){throw new bk.pJ(`Failed to read identity token file at ${a}: ${b}`)}let e=b.trim();if(!e)throw new bk.pJ(`Identity token file at ${a} is empty`);return e}}function bH(a,b){let d=a.authentication.credentials_path??null,e=(a.base_url||b.baseURL).replace(/\/+$/,""),f=function(a,b,d,e){var f,g,h,i,j,k;switch(a.authentication.type){case"oidc_federation":{let g=a.authentication,l=function(a){if(a.identity_token){let b=a.identity_token.source;if("file"!==b)throw new bu(`identity_token.source "${b}" is not supported by this SDK version (only "file")`);if(!a.identity_token.path)throw new bu('identity_token.source "file" requires a non-empty path');return bG(a.identity_token.path)}let b=(0,bx.s)("ANTHROPIC_IDENTITY_TOKEN_FILE");if(b)return bG(b);let c=(0,bx.s)("ANTHROPIC_IDENTITY_TOKEN");if(c){if(!c)throw new bk.pJ("Identity token value is empty");return()=>c}return null}(g);if(!l)throw new bu("oidc_federation config requires an identity token (set authentication.identity_token, ANTHROPIC_IDENTITY_TOKEN_FILE, or ANTHROPIC_IDENTITY_TOKEN)");if(!g.federation_rule_id)throw new bu("oidc_federation config requires 'federation_rule_id'. Set it in authentication.federation_rule_id in your profile, or via ANTHROPIC_FEDERATION_RULE_ID (profile takes precedence).");if(!a.organization_id)throw new bu("oidc_federation config requires organization_id (set ANTHROPIC_ORGANIZATION_ID or config.organization_id)");let m=(f={identityTokenProvider:l,federationRuleId:g.federation_rule_id,organizationId:a.organization_id,serviceAccountId:g.service_account_id,workspaceId:a.workspace_id,baseURL:d,fetch:e.fetch,userAgent:e.userAgent},async()=>{let a;bn(f.baseURL);let b=await f.identityTokenProvider();if(b.length>16384)throw new bu(`Identity token is ${Math.ceil(b.length/1024)} KiB, exceeds the 16 KiB assertion limit`);let c={grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:b,federation_rule_id:f.federationRuleId,organization_id:f.organizationId};f.serviceAccountId&&(c.service_account_id=f.serviceAccountId),f.workspaceId&&(c.workspace_id=f.workspaceId);let d=`${f.baseURL}${bl}`;try{a=await f.fetch(d,{method:"POST",headers:{"Content-Type":"application/json","anthropic-beta":`${bm},oidc-federation-2026-04-01`,"User-Agent":f.userAgent||`anthropic-sdk-typescript/${ba} oidcFederationProvider`},body:JSON.stringify(c)})}catch(a){throw new bu(`Failed to reach token endpoint ${d}: ${a}`)}let e=a.headers.get("Request-Id");if(!a.ok){let b=bq(await a.text().catch(()=>"")),c="";if(401===a.status){let a=f.workspaceId?"":"If your federation rule is scoped to multiple workspaces, set the ANTHROPIC_WORKSPACE_ID environment variable, the 'workspace_id' config key, or the `workspaceId` option. ";c=` Ensure your federation rule matches your identity token. ${a}View your authentication events in the Workload identity page of Claude Console for more details.`}throw new bu(`Token exchange failed with status ${a.status}${e?` (request-id ${e})`:""}: ${b}${c}`,a.status,b,e)}let g=await bo(a,e),h=Number(g.expires_in);if(!Number.isFinite(h))throw new bu(`Token endpoint response missing required fields: ${JSON.stringify(bq(g))}`,a.status,bq(g),e);return{token:g.access_token,expiresAt:bv()+h}});if(b){return h=m,i=b,j=e.onCacheWriteError,k=e.onSafetyWarning,async a=>{let b,d=await Promise.resolve().then(c.t.bind(c,73024,19));await br(i,k);try{let c=await d.promises.readFile(i,"utf-8");b=JSON.parse(c);let e=b?.access_token;if(e&&!a?.forceRefresh){let a=b?.expires_at;if(null==a||bv()<a-30)return{token:e,expiresAt:a??null}}}catch(a){"ENOENT"===a?.code||a instanceof SyntaxError||j?.(a)}let e=await h(a);try{await bs(i,{...b??{},version:"1.0",type:"oauth_token",access_token:e.token,expires_at:e.expiresAt})}catch(a){j?.(a)}return e}}return m}case"user_oauth":if(!b)throw new bu("user_oauth config requires authentication.credentials_path (or load via a profile so it defaults to <config_dir>/credentials/<profile>.json)");return g={credentialsPath:b,clientId:a.authentication.client_id,baseURL:d,fetch:e.fetch,userAgent:e.userAgent,onSafetyWarning:e.onSafetyWarning},async a=>{let b,d,e,f=await Promise.resolve().then(c.t.bind(c,73024,19));await br(g.credentialsPath,g.onSafetyWarning);try{b=await f.promises.readFile(g.credentialsPath,"utf-8")}catch(a){throw new bu(`Credentials file not found at ${g.credentialsPath}: ${a}`)}try{d=JSON.parse(b)}catch(a){throw new bu(`Credentials file at ${g.credentialsPath} is not valid JSON: ${a}`)}let h=d.access_token;if(!h)throw new bu(`Credentials file at ${g.credentialsPath} must include 'access_token'`);let i=d.expires_at;if(!a?.forceRefresh&&(null==i||bv()<i-30))return{token:h,expiresAt:i??null};let j=d.refresh_token;if(!g.clientId||!j)throw new bu(`Access token at ${g.credentialsPath} has expired and no refresh is available (client_id ${g.clientId?"set":"empty"}, refresh_token ${j?"set":"empty"})`);bn(g.baseURL);let k={grant_type:"refresh_token",refresh_token:j,client_id:g.clientId},l=`${g.baseURL}${bl}`;try{e=await g.fetch(l,{method:"POST",headers:{"Content-Type":"application/json","anthropic-beta":bm,"User-Agent":g.userAgent||`anthropic-sdk-typescript/${ba} userOAuthProvider`},body:JSON.stringify(k)})}catch(a){throw new bu(`User OAuth refresh failed to reach token endpoint: ${a}`)}let m=e.headers.get("Request-Id");if(!e.ok){let a=await e.text().catch(()=>"");throw new bu(`User OAuth refresh failed (HTTP ${e.status}): ${bq(a)}`,e.status,bq(a),m)}let n=await bo(e,m),o=Number(n.expires_in);if(!Number.isFinite(o))throw new bu(`User OAuth refresh response missing or invalid expires_in: ${JSON.stringify(bq(n))}`,e.status,bq(n),m);let p=bv()+o,q=n.refresh_token||j;return await bs(g.credentialsPath,{...d,version:"1.0",type:"oauth_token",access_token:n.access_token,expires_at:p,refresh_token:q}),{token:n.access_token,expiresAt:p}};default:{let b=a.authentication.type;throw new bu(`authentication.type "${b}" is not a known authentication type`)}}}(a,d,e,b),g={};return a.workspace_id&&"user_oauth"===a.authentication.type&&(g["anthropic-workspace-id"]=a.workspace_id),{provider:f,extraHeaders:g,baseURL:a.base_url||void 0}}async function bI(a,b){let c=await bB(b);if(!c)return null;let{config:d,fromFile:e}=c;return bH(d.authentication.credentials_path||!e?d:{...d,authentication:{...d.authentication,credentials_path:await bC(d,b)??void 0}},a)}function bJ(a){let b;return(e??(e=(b=new globalThis.TextEncoder).encode.bind(b)))(a)}function bK(a){let b;return(f??(f=(b=new globalThis.TextDecoder).decode.bind(b)))(a)}class bL{constructor(){g.set(this,void 0),h.set(this,void 0),(0,a5.G)(this,g,new Uint8Array,"f"),(0,a5.G)(this,h,null,"f")}decode(a){let b;if(null==a)return[];let c=a instanceof ArrayBuffer?new Uint8Array(a):"string"==typeof a?bJ(a):a;(0,a5.G)(this,g,function(a){let b=0;for(let c of a)b+=c.length;let c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.length;return c}([(0,a5.g)(this,g,"f"),c]),"f");let d=[];for(;null!=(b=function(a,b){for(let c=b??0;c<a.length;c++){if(10===a[c])return{preceding:c,index:c+1,carriage:!1};if(13===a[c])return{preceding:c,index:c+1,carriage:!0}}return null}((0,a5.g)(this,g,"f"),(0,a5.g)(this,h,"f")));){if(b.carriage&&null==(0,a5.g)(this,h,"f")){(0,a5.G)(this,h,b.index,"f");continue}if(null!=(0,a5.g)(this,h,"f")&&(b.index!==(0,a5.g)(this,h,"f")+1||b.carriage)){d.push(bK((0,a5.g)(this,g,"f").subarray(0,(0,a5.g)(this,h,"f")-1))),(0,a5.G)(this,g,(0,a5.g)(this,g,"f").subarray((0,a5.g)(this,h,"f")),"f"),(0,a5.G)(this,h,null,"f");continue}let a=null!==(0,a5.g)(this,h,"f")?b.preceding-1:b.preceding,c=bK((0,a5.g)(this,g,"f").subarray(0,a));d.push(c),(0,a5.G)(this,g,(0,a5.g)(this,g,"f").subarray(b.index),"f"),(0,a5.G)(this,h,null,"f")}return d}flush(){return(0,a5.g)(this,g,"f").length?this.decode("\n"):[]}}g=new WeakMap,h=new WeakMap,bL.NEWLINE_CHARS=new Set(["\n","\r"]),bL.NEWLINE_REGEXP=/\r\n|[\n\r]/g;var bM=c(84001);class bN{constructor(a,b,c){this.iterator=a,i.set(this,void 0),this.controller=b,(0,a5.G)(this,i,c,"f")}static rawEvents(a,b=new AbortController){return bO(a,b)}static fromSSEResponse(a,b,c){let d=!1,e=c?(0,bM.WG)(c):console;async function*f(){if(d)throw new bk.pJ("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");d=!0;let c=!1;try{for await(let c of bO(a,b)){if("completion"===c.event)try{yield JSON.parse(c.data)}catch(a){throw e.error("Could not parse message into JSON:",c.data),e.error("From chunk:",c.raw),a}if("message_start"===c.event||"message_delta"===c.event||"message_stop"===c.event||"content_block_start"===c.event||"content_block_delta"===c.event||"content_block_stop"===c.event||"message"===c.event||"user.message"===c.event||"user.interrupt"===c.event||"user.tool_confirmation"===c.event||"user.custom_tool_result"===c.event||"user.tool_result"===c.event||"agent.message"===c.event||"agent.thinking"===c.event||"agent.tool_use"===c.event||"agent.tool_result"===c.event||"agent.mcp_tool_use"===c.event||"agent.mcp_tool_result"===c.event||"agent.custom_tool_use"===c.event||"agent.thread_context_compacted"===c.event||"session.status_running"===c.event||"session.status_idle"===c.event||"session.status_rescheduled"===c.event||"session.status_terminated"===c.event||"session.error"===c.event||"session.deleted"===c.event||"session.updated"===c.event||"span.model_request_start"===c.event||"span.model_request_end"===c.event||"span.outcome_evaluation_start"===c.event||"span.outcome_evaluation_ongoing"===c.event||"span.outcome_evaluation_end"===c.event||"user.define_outcome"===c.event||"agent.thread_message_received"===c.event||"agent.thread_message_sent"===c.event||"agent.session_thread_message_received"===c.event||"agent.session_thread_message_sent"===c.event||"session.thread_created"===c.event||"session.thread_status_created"===c.event||"session.thread_status_running"===c.event||"session.thread_status_idle"===c.event||"session.thread_status_rescheduled"===c.event||"session.thread_status_terminated"===c.event)try{yield JSON.parse(c.data)}catch(a){throw e.error("Could not parse message into JSON:",c.data),e.error("From chunk:",c.raw),a}if("ping"!==c.event&&"error"===c.event){let b=(0,a7.ml)(c.data)??c.data,d=b?.error?.type;throw new bk.LG(void 0,b,void 0,a.headers,d)}}c=!0}catch(a){if((0,a9.z)(a))return;throw a}finally{c||b.abort()}}return new bN(f,b,c)}static fromReadableStream(a,b,c){let d=!1;async function*e(){let b=new bL;for await(let c of bg(a))for(let a of b.decode(c))yield a;for(let a of b.flush())yield a}return new bN(async function*(){if(d)throw new bk.pJ("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");d=!0;let a=!1;try{for await(let b of e())!a&&b&&(yield JSON.parse(b));a=!0}catch(a){if((0,a9.z)(a))return;throw a}finally{a||b.abort()}},b,c)}[(i=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let a=[],b=[],c=this.iterator(),d=d=>({next:()=>{if(0===d.length){let d=c.next();a.push(d),b.push(d)}return d.shift()}});return[new bN(()=>d(a),this.controller,(0,a5.g)(this,i,"f")),new bN(()=>d(b),this.controller,(0,a5.g)(this,i,"f"))]}toReadableStream(){let a,b=this;return be({async start(){a=b[Symbol.asyncIterator]()},async pull(b){try{let{value:c,done:d}=await a.next();if(d)return b.close();let e=bJ(JSON.stringify(c)+"\n");b.enqueue(e)}catch(a){b.error(a)}},async cancel(){await a.return?.()}})}}async function*bO(a,b){if(!a.body){if(b.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new bk.pJ("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new bk.pJ("Attempted to iterate over a response with no body")}let c=new bQ,d=new bL;for await(let b of bP(bg(a.body)))for(let a of d.decode(b)){let b=c.decode(a);b&&(yield b)}for(let a of d.flush()){let b=c.decode(a);b&&(yield b)}}async function*bP(a){let b=new Uint8Array;for await(let c of a){let a;if(null==c)continue;let d=c instanceof ArrayBuffer?new Uint8Array(c):"string"==typeof c?bJ(c):c,e=new Uint8Array(b.length+d.length);for(e.set(b),e.set(d,b.length),b=e;-1!==(a=function(a){for(let b=0;b<a.length-1;b++){if(10===a[b]&&10===a[b+1]||13===a[b]&&13===a[b+1])return b+2;if(13===a[b]&&10===a[b+1]&&b+3<a.length&&13===a[b+2]&&10===a[b+3])return b+4}return -1}(b));)yield b.slice(0,a),b=b.slice(a)}b.length>0&&(yield b)}class bQ{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(a){if(a.endsWith("\r")&&(a=a.substring(0,a.length-1)),!a){if(!this.event&&!this.data.length)return null;let a={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(a),a.startsWith(":"))return null;let[b,c,d]=function(a,b){let c=a.indexOf(":");return -1!==c?[a.substring(0,c),b,a.substring(c+b.length)]:[a,"",""]}(a,":");return d.startsWith(" ")&&(d=d.substring(1)),"event"===b?this.event=d:"data"===b&&this.data.push(d),null}}async function bR(a,b){let{response:c,requestLogID:d,retryOfRequestLogID:e,startTime:f}=b,g=await (async()=>{if(b.options.stream)return(0,bM.WG)(a).debug("response",c.status,c.url,c.headers,c.body),bN.fromSSEResponse(c,b.controller);if(204===c.status)return null;if(b.options.__binaryResponse)return c;let d=c.headers.get("content-type"),e=d?.split(";")[0]?.trim();if(e?.includes("application/json")||e?.endsWith("+json")){if("0"===c.headers.get("content-length"))return;return bS(await c.json(),c)}return await c.text()})();return(0,bM.WG)(a).debug(`[${d}] response parsed`,(0,bM.xL)({retryOfRequestLogID:e,url:c.url,status:c.status,body:g,durationMs:Date.now()-f})),g}function bS(a,b){return!a||"object"!=typeof a||Array.isArray(a)?a:Object.defineProperty(a,"_request_id",{value:b.headers.get("request-id"),enumerable:!1})}let bT=new WeakSet;function bU(a){return"object"==typeof a&&null!==a&&bT.has(a)}function bV(a,b,c,d){return async(e,f={})=>{if(0===b.length)return a.call(void 0,e,f);let g=f.headers instanceof Headers?f.headers:new Headers(f.headers),h=await (function(a,b,c,d){let e=async({url:b,...c})=>{try{return await a.call(void 0,b,c)}catch(b){let a=(0,a9.r)(b);throw bT.add(a),a}},f=function(a,b){let c=new WeakMap;return{options:a,logger:b?(0,bM.WG)(b):(0,bM.Um)(),parse(b){if(a?.stream&&b.ok)return bW(b,a);let d=c.get(b);return d||(d=bW(b,a),c.set(b,d)),d}}}(c,d);for(let a=b.length-1;a>=0;a--){let c=b[a],d=e;e=async a=>c(a,d,f)}return e})(a,b,c,d)({...f,headers:g,url:"string"==typeof e?e:e instanceof URL?e.href:e.url});if(h.bodyUsed||h.body?.locked)throw new bk.pJ("middleware consumed the response body; use response.clone() to inspect it, or return new Response(body, response) to consume and replace it");return h}}async function bW(a,b){if(a.bodyUsed||a.body?.locked)throw new bk.pJ("cannot ctx.parse() a response whose body was already consumed; call ctx.parse() instead of reading the body, or read via response.clone()");if(b?.stream&&a.ok)return bN.fromSSEResponse(a.clone(),new AbortController);if(204===a.status)return null;if(b?.__binaryResponse)return a;let c=a.headers.get("content-type"),d=c?.split(";")[0]?.trim();if(d?.includes("application/json")||d?.endsWith("+json")){if("0"===a.headers.get("content-length"))return;return bS(await a.clone().json(),a)}return await a.clone().text()}class bX extends Promise{constructor(a,b,c=bR){super(a=>{a(null)}),this.responsePromise=b,this.parseResponse=c,j.set(this,void 0),(0,a5.G)(this,j,a,"f")}_thenUnwrap(a){return new bX((0,a5.g)(this,j,"f"),this.responsePromise,async(b,c)=>bS(a(await this.parseResponse(b,c),c),c.response))}asResponse(){return this.responsePromise.then(a=>a.response)}async withResponse(){let[a,b]=await Promise.all([this.parse(),this.asResponse()]);return{data:a,response:b,request_id:b.headers.get("request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(a=>this.parseResponse((0,a5.g)(this,j,"f"),a))),this.parsedPromise}then(a,b){return this.parse().then(a,b)}catch(a){return this.parse().catch(a)}finally(a){return this.parse().finally(a)}}j=new WeakMap;class bY{constructor(a,b,c,d){k.set(this,void 0),(0,a5.G)(this,k,a,"f"),this.options=d,this.response=b,this.body=c}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageRequestOptions()}async getNextPage(){let a=this.nextPageRequestOptions();if(!a)throw new bk.pJ("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await (0,a5.g)(this,k,"f").requestAPIList(this.constructor,a)}async *iterPages(){let a=this;for(yield a;a.hasNextPage();)a=await a.getNextPage(),yield a}async *[(k=new WeakMap,Symbol.asyncIterator)](){for await(let a of this.iterPages())for(let b of a.getPaginatedItems())yield b}}class bZ extends bX{constructor(a,b,c){super(a,b,async(a,b)=>new c(a,b.response,await bR(a,b),b.options))}async *[Symbol.asyncIterator](){for await(let a of(await this))yield a}}class b$ extends bY{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1,this.first_id=c.first_id||null,this.last_id=c.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let a=this.first_id;return a?{...this.options,query:{...(0,a7.i8)(this.options.query),before_id:a}}:null}let a=this.last_id;return a?{...this.options,query:{...(0,a7.i8)(this.options.query),after_id:a}}:null}}class b_ extends bY{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.next_page=c.next_page||null}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){let a=this.next_page;return a?{...this.options,query:{...(0,a7.i8)(this.options.query),page:a}}:null}}let b0=()=>{if("undefined"==typeof File){let{process:a}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof a?.versions?.node&&20>parseInt(a.versions.node.split("."))?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function b1(a,b,c){return b0(),new File(a,b??"unknown_file",c)}function b2(a,b){let c="object"==typeof a&&null!==a&&("name"in a&&a.name&&String(a.name)||"url"in a&&a.url&&String(a.url)||"filename"in a&&a.filename&&String(a.filename)||"path"in a&&a.path&&String(a.path))||"";return b?c.split(/[\\/]/).pop()||void 0:c}let b3=a=>null!=a&&"object"==typeof a&&"function"==typeof a[Symbol.asyncIterator],b4=async(a,b,c=!0)=>({...a,body:await b6(a.body,b,c)}),b5=new WeakMap,b6=async(a,b,c=!0)=>{if(!await function(a){let b="function"==typeof a?a:a.fetch,c=b5.get(b);if(c)return c;let d=(async()=>{try{let a="Response"in b?b.Response:(await b("data:,")).constructor,c=new FormData;if(c.toString()===await new a(c).text())return!1;return!0}catch{return!0}})();return b5.set(b,d),d}(b))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let d=new FormData;return await Promise.all(Object.entries(a||{}).map(([a,b])=>b9(d,a,b,c))),d},b7=a=>a instanceof Blob&&"name"in a,b8=a=>{if((a=>"object"==typeof a&&null!==a&&(a instanceof Response||b3(a)||b7(a)))(a))return!0;if(Array.isArray(a))return a.some(b8);if(a&&"object"==typeof a){for(let b in a)if(b8(a[b]))return!0}return!1},b9=async(a,b,c,d)=>{if(void 0!==c){if(null==c)throw TypeError(`Received null for "${b}"; to pass null in FormData, you must use the string 'null'`);if("string"==typeof c||"number"==typeof c||"boolean"==typeof c)a.append(b,String(c));else if(c instanceof Response){let e={},f=c.headers.get("Content-Type");f&&(e={type:f}),a.append(b,b1([await c.blob()],b2(c,d),e))}else if(b3(c))a.append(b,b1([await new Response(bf(c)).blob()],b2(c,d)));else if(b7(c))a.append(b,b1([c],b2(c,d),{type:c.type}));else if(Array.isArray(c))await Promise.all(c.map(c=>b9(a,b+"[]",c,d)));else if("object"==typeof c)await Promise.all(Object.entries(c).map(([c,e])=>b9(a,`${b}[${c}]`,e,d)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${c} instead`)}},ca=a=>null!=a&&"object"==typeof a&&"number"==typeof a.size&&"string"==typeof a.type&&"function"==typeof a.text&&"function"==typeof a.slice&&"function"==typeof a.arrayBuffer;async function cb(a,b,c){let d,e;if(b0(),a=await a,b||(b=b2(a,!0)),null!=(d=a)&&"object"==typeof d&&"string"==typeof d.name&&"number"==typeof d.lastModified&&ca(d))return a instanceof File&&null==b&&null==c?a:b1([await a.arrayBuffer()],b??a.name,{type:a.type,lastModified:a.lastModified,...c});if(null!=(e=a)&&"object"==typeof e&&"string"==typeof e.url&&"function"==typeof e.blob){let d=await a.blob();return b||(b=new URL(a.url).pathname.split(/[\\/]/).pop()),b1(await cc(d),b,c)}let f=await cc(a);if(!c?.type){let a=f.find(a=>"object"==typeof a&&"type"in a&&a.type);"string"==typeof a&&(c={...c,type:a})}return b1(f,b,c)}async function cc(a){let b=[];if("string"==typeof a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer)b.push(a);else if(ca(a))b.push(a instanceof Blob?a:await a.arrayBuffer());else if(b3(a))for await(let c of a)b.push(...await cc(c));else{let b=a?.constructor?.name;throw Error(`Unexpected data type: ${typeof a}${b?`; constructor: ${b}`:""}${function(a){if("object"!=typeof a||null===a)return"";let b=Object.getOwnPropertyNames(a);return`; props: [${b.map(a=>`"${a}"`).join(", ")}]`}(a)}`)}return b}class cd{constructor(a){this._client=a}}let ce=Symbol.for("brand.privateNullableHeaders"),cf=a=>{let b=new Headers,c=new Set;for(let d of a){let a=new Set;for(let[e,f]of function*(a){let b;if(!a)return;if(ce in a){let{values:b,nulls:c}=a;for(let a of(yield*b.entries(),c))yield[a,null];return}let c=!1;for(let d of(a instanceof Headers?b=a.entries():(0,a7.MH)(a)?b=a:(c=!0,b=Object.entries(a??{})),b)){let a=d[0];if("string"!=typeof a)throw TypeError("expected header name to be a string");let b=(0,a7.MH)(d[1])?d[1]:[d[1]],e=!1;for(let d of b)void 0!==d&&(c&&!e&&(e=!0,yield[a,null]),yield[a,d])}}(d)){let d=e.toLowerCase();a.has(d)||(b.delete(e),a.add(d)),null===f?(b.delete(e),c.add(d)):(b.append(e,f),c.delete(d))}}return{[ce]:!0,values:b,nulls:c}};function cg(a){return a.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}let ch=Object.freeze(Object.create(null)),ci=((a=cg)=>function(b,...c){let d;if(1===b.length)return b[0];let e=!1,f=[],g=b.reduce((b,d,g)=>{/[?#]/.test(d)&&(e=!0);let h=c[g],i=(e?encodeURIComponent:a)(""+h);return g!==c.length&&(null==h||"object"==typeof h&&h.toString===Object.getPrototypeOf(Object.getPrototypeOf(h.hasOwnProperty??ch)??ch)?.toString)&&(i=h+"",f.push({start:b.length+d.length,length:i.length,error:`Value of type ${Object.prototype.toString.call(h).slice(8,-1)} is not a valid path parameter`})),b+d+(g===c.length?"":i)},""),h=g.split(/[?#]/,1)[0],i=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;for(;null!==(d=i.exec(h));)f.push({start:d.index,length:d[0].length,error:`Value "${d[0]}" can't be safely passed as a path parameter`});if(f.sort((a,b)=>a.start-b.start),f.length>0){let a=0,b=f.reduce((b,c)=>{let d=" ".repeat(c.start-a),e="^".repeat(c.length);return a=c.start+c.length,b+d+e},"");throw new bk.pJ(`Path parameters result in path with invalid segments:
382
+ - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`))}function X(a,b,c,d){if(0!==b){if(c.hasSuspenseAboveBody)return;if(d.syncDynamicErrorWithStack)throw W(a,d.syncDynamicErrorWithStack),new f.StaticGenBailoutError;let e=c.dynamicErrors;if(e.length>0){for(let b=0;b<e.length;b++)W(a,e[b]);throw new f.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new f.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new f.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new f.StaticGenBailoutError}function Y(a,b){return a.runtimeStagePromise?a.runtimeStagePromise.then(()=>b):b}},76654:(a,b,c)=>{"use strict";c.r(b),c.d(b,{persistConversationState:()=>g});var d=c(79111),e=c(44479);let f=(0,c(18230).h)("backend/execution/flow/persistConversationState");async function g(a,b){let c="conversations/",g=String(a).startsWith(c)?String(a).slice(c.length):String(a);return((0,d.ln)(g),null!=b.conversationId&&(0,d.ln)(b.conversationId),b.ephemeral)?(f.debug(`Refusing to persist ephemeral state (key ${a}); ephemeral runs never reach the conversations store.`),Promise.resolve()):(0,e.isConversationDeleted)(b.conversationId)?(f.info(`Refusing to persist state for deleted conversation ${b.conversationId} (key ${a}).`),Promise.resolve()):(0,d.VH)(a,{...b,executionTrace:void 0,emit:void 0})}},76666:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&("name"in a&&"AbortError"===a.name||"message"in a&&String(a.message).includes("FetchRequestCanceledException"))}c.d(b,{r:()=>e,z:()=>d});let e=a=>{if(a instanceof Error)return a;if("object"==typeof a&&null!==a){try{if("[object Error]"===Object.prototype.toString.call(a)){let b=Error(a.message,a.cause?{cause:a.cause}:{});return a.stack&&(b.stack=a.stack),a.cause&&!b.cause&&(b.cause=a.cause),a.name&&(b.name=a.name),b}}catch{}try{return Error(JSON.stringify(a))}catch{}}return Error(a)}},76787:a=>{a.exports=function(a){return null!=a&&"object"==typeof a}},77776:(a,b,c)=>{"use strict";var d=c(4090);a.exports=Function.prototype.bind||d},77874:a=>{"use strict";var b=Object.prototype.hasOwnProperty,c=Object.prototype.toString,d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=function(a){return"function"==typeof Array.isArray?Array.isArray(a):"[object Array]"===c.call(a)},g=function(a){if(!a||"[object Object]"!==c.call(a))return!1;var d,e=b.call(a,"constructor"),f=a.constructor&&a.constructor.prototype&&b.call(a.constructor.prototype,"isPrototypeOf");if(a.constructor&&!e&&!f)return!1;for(d in a);return void 0===d||b.call(a,d)},h=function(a,b){d&&"__proto__"===b.name?d(a,b.name,{enumerable:!0,configurable:!0,value:b.newValue,writable:!0}):a[b.name]=b.newValue},i=function(a,c){if("__proto__"===c){if(!b.call(a,c))return;else if(e)return e(a,c).value}return a[c]};a.exports=function a(){var b,c,d,e,j,k,l=arguments[0],m=1,n=arguments.length,o=!1;for("boolean"==typeof l&&(o=l,l=arguments[1]||{},m=2),(null==l||"object"!=typeof l&&"function"!=typeof l)&&(l={});m<n;++m)if(b=arguments[m],null!=b)for(c in b)d=i(l,c),l!==(e=i(b,c))&&(o&&e&&(g(e)||(j=f(e)))?(j?(j=!1,k=d&&f(d)?d:[]):k=d&&g(d)?d:{},h(l,{name:c,newValue:a(o,k,e)})):void 0!==e&&h(l,{name:c,newValue:e}));return l}},78140:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.validateTuple=void 0;let d=c(31849),e=c(83593),f=c(97025);function g(a,b,c=a.schema){let{gen:f,parentSchema:h,data:i,keyword:j,it:k}=a;(function(a){let{opts:d,errSchemaPath:f}=k,g=c.length,h=g===a.minItems&&(g===a.maxItems||!1===a[b]);if(d.strictTuples&&!h){let a=`"${j}" is ${g}-tuple, but minItems or maxItems/${b} are not specified or different at path "${f}"`;(0,e.checkStrictMode)(k,a,d.strictTuples)}})(h),k.opts.unevaluated&&c.length&&!0!==k.items&&(k.items=e.mergeEvaluated.items(f,c.length,k.items));let l=f.name("valid"),m=f.const("len",(0,d._)`${i}.length`);c.forEach((b,c)=>{(0,e.alwaysValidSchema)(k,b)||(f.if((0,d._)`${m} > ${c}`,()=>a.subschema({keyword:j,schemaProp:c,dataProp:c},l)),a.ok(l))})}b.validateTuple=g,b.default={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(a){let{schema:b,it:c}=a;if(Array.isArray(b))return g(a,"additionalItems",b);c.items=!0,(0,e.alwaysValidSchema)(c,b)||a.ok((0,f.validateArray)(a))}}},78178:(a,b,c)=>{var d=c(18313),e=c(13356),f=c(86233),g=c(10110),h=c(74772),i=c(2269),j=c(53346),k="[object Map]",l="[object Promise]",m="[object Set]",n="[object WeakMap]",o="[object DataView]",p=j(d),q=j(e),r=j(f),s=j(g),t=j(h),u=i;(d&&u(new d(new ArrayBuffer(1)))!=o||e&&u(new e)!=k||f&&u(f.resolve())!=l||g&&u(new g)!=m||h&&u(new h)!=n)&&(u=function(a){var b=i(a),c="[object Object]"==b?a.constructor:void 0,d=c?j(c):"";if(d)switch(d){case p:return o;case q:return k;case r:return l;case s:return m;case t:return n}return b}),a.exports=u},78606:(a,b,c)=>{"use strict";c.d(b,{C:()=>e,F9:()=>i,PP:()=>h,wM:()=>f});let d=["contains","regex","equals","always"];function e(a){return"string"==typeof a&&d.includes(a)}function f(a){try{return new RegExp(a),!0}catch{return!1}}function g(a){return"string"==typeof a?a:Array.isArray(a)?a.map(a=>"string"==typeof a?a:a&&"object"==typeof a&&"text"in a&&"string"==typeof a.text?a.text:"").join(""):""}function h(a,b="last-assistant"){if(!Array.isArray(a)||0===a.length)return null;if("last-message"===b)return g(a[a.length-1]?.content);for(let b=a.length-1;b>=0;b--)if(a[b]?.role==="assistant")return g(a[b]?.content);return null}function i(a,b){let c;if(!a)return!1;let d="string"==typeof b?b:"",e="string"==typeof a.value?a.value:String(a.value??"");switch(a.kind){case"contains":c=a.ignoreCase?d.toLowerCase().includes(e.toLowerCase()):d.includes(e);break;case"equals":c=a.ignoreCase?d.toLowerCase()===e.toLowerCase():d===e;break;case"regex":{let b;try{b=new RegExp(e,a.ignoreCase?"i":void 0)}catch(a){return console.warn("[edgeConditions] invalid regex predicate; treating as no-match",e,a),!1}c=b.test(d);break}case"always":c=!0;break;default:return console.warn("[edgeConditions] unknown condition kind; treating as no-match",a.kind),!1}return a.negate?!c:c}},78629:function(a,b,c){var d;d=c(67278),c(33263),c(52117),c(46007),c(70522),function(){var a=d.lib,b=a.WordArray,c=a.BlockCipher,e=d.algo,f=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],g=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],h=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],i=[{0:8421888,0x10000000:32768,0x20000000:8421378,0x30000000:2,0x40000000:512,0x50000000:8421890,0x60000000:8389122,0x70000000:8388608,0x80000000:514,0x90000000:8389120,0xa0000000:33280,0xb0000000:8421376,0xc0000000:32770,0xd0000000:8388610,0xe0000000:0,0xf0000000:33282,0x8000000:0,0x18000000:8421890,0x28000000:33282,0x38000000:32768,0x48000000:8421888,0x58000000:512,0x68000000:8421378,0x78000000:2,0x88000000:8389120,0x98000000:33280,0xa8000000:8421376,0xb8000000:8389122,0xc8000000:8388610,0xd8000000:32770,0xe8000000:514,0xf8000000:8388608,1:32768,0x10000001:2,0x20000001:8421888,0x30000001:8388608,0x40000001:8421378,0x50000001:33280,0x60000001:512,0x70000001:8389122,0x80000001:8421890,0x90000001:8421376,0xa0000001:8388610,0xb0000001:33282,0xc0000001:514,0xd0000001:8389120,0xe0000001:32770,0xf0000001:0,0x8000001:8421890,0x18000001:8421376,0x28000001:8388608,0x38000001:512,0x48000001:32768,0x58000001:8388610,0x68000001:2,0x78000001:33282,0x88000001:32770,0x98000001:8389122,0xa8000001:514,0xb8000001:8421888,0xc8000001:8389120,0xd8000001:0,0xe8000001:33280,0xf8000001:8421378},{0:0x40084010,0x1000000:16384,0x2000000:524288,0x3000000:0x40080010,0x4000000:0x40000010,0x5000000:0x40084000,0x6000000:0x40004000,0x7000000:16,0x8000000:540672,0x9000000:0x40004010,0xa000000:0x40000000,0xb000000:540688,0xc000000:524304,0xd000000:0,0xe000000:16400,0xf000000:0x40080000,8388608:0x40004000,0x1800000:540688,0x2800000:16,0x3800000:0x40004010,0x4800000:0x40084010,0x5800000:0x40000000,0x6800000:524288,0x7800000:0x40080010,0x8800000:524304,0x9800000:0,0xa800000:16384,0xb800000:0x40080000,0xc800000:0x40000010,0xd800000:540672,0xe800000:0x40084000,0xf800000:16400,0x10000000:0,0x11000000:0x40080010,0x12000000:0x40004010,0x13000000:0x40084000,0x14000000:0x40080000,0x15000000:16,0x16000000:540688,0x17000000:16384,0x18000000:16400,0x19000000:524288,0x1a000000:524304,0x1b000000:0x40000010,0x1c000000:540672,0x1d000000:0x40004000,0x1e000000:0x40000000,0x1f000000:0x40084010,0x10800000:540688,0x11800000:524288,0x12800000:0x40080000,0x13800000:16384,0x14800000:0x40004000,0x15800000:0x40084010,0x16800000:16,0x17800000:0x40000000,0x18800000:0x40084000,0x19800000:0x40000010,0x1a800000:0x40004010,0x1b800000:524304,0x1c800000:0,0x1d800000:16400,0x1e800000:0x40080010,0x1f800000:540672},{0:260,1048576:0,2097152:0x4000100,3145728:65796,4194304:65540,5242880:0x4000004,6291456:0x4010104,7340032:0x4010000,8388608:0x4000000,9437184:0x4010100,0xa00000:65792,0xb00000:0x4010004,0xc00000:0x4000104,0xd00000:65536,0xe00000:4,0xf00000:256,524288:0x4010100,1572864:0x4010004,2621440:0,3670016:0x4000100,4718592:0x4000004,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,0xa80000:0x4010000,0xb80000:65796,0xc80000:65792,0xd80000:0x4000104,0xe80000:0x4010104,0xf80000:0x4000000,0x1000000:0x4010100,0x1100000:65540,0x1200000:65536,0x1300000:0x4000100,0x1400000:256,0x1500000:0x4010104,0x1600000:0x4000004,0x1700000:0,0x1800000:0x4000104,0x1900000:0x4000000,0x1a00000:4,0x1b00000:65792,0x1c00000:0x4010000,0x1d00000:260,0x1e00000:65796,0x1f00000:0x4010004,0x1080000:0x4000000,0x1180000:260,0x1280000:0x4010100,0x1380000:0,0x1480000:65540,0x1580000:0x4000100,0x1680000:256,0x1780000:0x4010004,0x1880000:65536,0x1980000:0x4010104,0x1a80000:65796,0x1b80000:0x4000004,0x1c80000:0x4000104,0x1d80000:0x4010000,0x1e80000:4,0x1f80000:65792},{0:0x80401000,65536:0x80001040,131072:4198464,196608:0x80400000,262144:0,327680:4198400,393216:0x80000040,458752:4194368,524288:0x80000000,589824:4194304,655360:64,720896:0x80001000,786432:0x80400040,851968:4160,917504:4096,983040:0x80401040,32768:0x80001040,98304:64,163840:0x80400040,229376:0x80001000,294912:4198400,360448:0x80401040,425984:0,491520:0x80400000,557056:4096,622592:0x80401000,688128:4194304,753664:4160,819200:0x80000000,884736:4194368,950272:4198464,1015808:0x80000040,1048576:4194368,1114112:4198400,1179648:0x80000040,1245184:0,1310720:4160,1376256:0x80400040,1441792:0x80401000,1507328:0x80001040,1572864:0x80401040,1638400:0x80000000,1703936:0x80400000,1769472:4198464,1835008:0x80001000,1900544:4194304,1966080:64,2031616:4096,1081344:0x80400000,1146880:0x80401040,1212416:0,1277952:4198400,1343488:4194368,1409024:0x80000000,1474560:0x80001040,1540096:64,1605632:0x80000040,1671168:4096,1736704:0x80001000,1802240:0x80400040,1867776:4160,1933312:0x80401000,1998848:4194304,2064384:4198464},{0:128,4096:0x1040000,8192:262144,12288:0x20000000,16384:0x20040080,20480:0x1000080,24576:0x21000080,28672:262272,32768:0x1000000,36864:0x20040000,40960:0x20000080,45056:0x21040080,49152:0x21040000,53248:0,57344:0x1040080,61440:0x21000000,2048:0x1040080,6144:0x21000080,10240:128,14336:0x1040000,18432:262144,22528:0x20040080,26624:0x21040000,30720:0x20000000,34816:0x20040000,38912:0,43008:0x21040080,47104:0x1000080,51200:0x20000080,55296:0x21000000,59392:0x1000000,63488:262272,65536:262144,69632:128,73728:0x20000000,77824:0x21000080,81920:0x1000080,86016:0x21040000,90112:0x20040080,94208:0x1000000,98304:0x21040080,102400:0x21000000,106496:0x1040000,110592:0x20040000,114688:262272,118784:0x20000080,122880:0,126976:0x1040080,67584:0x21000080,71680:0x1000000,75776:0x1040000,79872:0x20040080,83968:0x20000000,88064:0x1040080,92160:128,96256:0x21040000,100352:262272,104448:0x21040080,108544:0,112640:0x21000000,116736:0x1000080,120832:262144,124928:0x20040000,129024:0x20000080},{0:0x10000008,256:8192,512:0x10200000,768:0x10202008,1024:0x10002000,1280:2097152,1536:2097160,1792:0x10000000,2048:0,2304:0x10002008,2560:2105344,2816:8,3072:0x10200008,3328:2105352,3584:8200,3840:0x10202000,128:0x10200000,384:0x10202008,640:8,896:2097152,1152:2105352,1408:0x10000008,1664:0x10002000,1920:8200,2176:2097160,2432:8192,2688:0x10002008,2944:0x10200008,3200:0,3456:0x10202000,3712:2105344,3968:0x10000000,4096:0x10002000,4352:0x10200008,4608:0x10202008,4864:8200,5120:2097152,5376:0x10000000,5632:0x10000008,5888:2105344,6144:2105352,6400:0,6656:8,6912:0x10200000,7168:8192,7424:0x10002008,7680:0x10202000,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:0x10000008,5248:0x10002000,5504:8200,5760:0x10202008,6016:0x10200000,6272:0x10202000,6528:0x10200008,6784:8192,7040:2105352,7296:2097160,7552:0,7808:0x10000000,8064:0x10002008},{0:1048576,16:0x2000401,32:1024,48:1049601,64:0x2100401,80:0,96:1,112:0x2100001,128:0x2000400,144:1048577,160:0x2000001,176:0x2100400,192:0x2100000,208:1025,224:1049600,240:0x2000000,8:0x2100001,24:0,40:0x2000401,56:0x2100400,72:1048576,88:0x2000001,104:0x2000000,120:1025,136:1049601,152:0x2000400,168:0x2100000,184:1048577,200:1024,216:0x2100401,232:1,248:1049600,256:0x2000000,272:1048576,288:0x2000401,304:0x2100001,320:1048577,336:0x2000400,352:0x2100400,368:1049601,384:1025,400:0x2100401,416:1049600,432:1,448:0,464:0x2100000,480:0x2000001,496:1024,264:1049600,280:0x2000401,296:0x2100001,312:1,328:0x2000000,344:1048576,360:1025,376:0x2100400,392:0x2000001,408:0x2100000,424:0,440:0x2100401,456:1049601,472:1024,488:0x2000400,504:1048577},{0:0x8000820,1:131072,2:0x8000000,3:32,4:131104,5:0x8020820,6:0x8020800,7:2048,8:0x8020000,9:0x8000800,10:133120,11:0x8020020,12:2080,13:0,14:0x8000020,15:133152,0x80000000:2048,0x80000001:0x8020820,0x80000002:0x8000820,0x80000003:0x8000000,0x80000004:0x8020000,0x80000005:133120,0x80000006:133152,0x80000007:32,0x80000008:0x8000020,0x80000009:2080,0x8000000a:131104,0x8000000b:0x8020800,0x8000000c:0,0x8000000d:0x8020020,0x8000000e:0x8000800,0x8000000f:131072,16:133152,17:0x8020800,18:32,19:2048,20:0x8000800,21:0x8000020,22:0x8020020,23:131072,24:0,25:131104,26:0x8020000,27:0x8000820,28:0x8020820,29:133120,30:2080,31:0x8000000,0x80000010:131072,0x80000011:2048,0x80000012:0x8020020,0x80000013:133152,0x80000014:32,0x80000015:0x8020000,0x80000016:0x8000000,0x80000017:0x8000820,0x80000018:0x8020820,0x80000019:0x8000020,0x8000001a:0x8000800,0x8000001b:0,0x8000001c:133120,0x8000001d:2080,0x8000001e:131104,0x8000001f:0x8020800}],j=[0xf8000001,0x1f800000,0x1f80000,2064384,129024,8064,504,0x8000001f],k=e.DES=c.extend({_doReset:function(){for(var a=this._key.words,b=[],c=0;c<56;c++){var d=f[c]-1;b[c]=a[d>>>5]>>>31-d%32&1}for(var e=this._subKeys=[],i=0;i<16;i++){for(var j=e[i]=[],k=h[i],c=0;c<24;c++)j[c/6|0]|=b[(g[c]-1+k)%28]<<31-c%6,j[4+(c/6|0)]|=b[28+(g[c+24]-1+k)%28]<<31-c%6;j[0]=j[0]<<1|j[0]>>>31;for(var c=1;c<7;c++)j[c]=j[c]>>>(c-1)*4+3;j[7]=j[7]<<5|j[7]>>>27}for(var l=this._invSubKeys=[],c=0;c<16;c++)l[c]=e[15-c]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._subKeys)},decryptBlock:function(a,b){this._doCryptBlock(a,b,this._invSubKeys)},_doCryptBlock:function(a,b,c){this._lBlock=a[b],this._rBlock=a[b+1],l.call(this,4,0xf0f0f0f),l.call(this,16,65535),m.call(this,2,0x33333333),m.call(this,8,0xff00ff),l.call(this,1,0x55555555);for(var d=0;d<16;d++){for(var e=c[d],f=this._lBlock,g=this._rBlock,h=0,k=0;k<8;k++)h|=i[k][((g^e[k])&j[k])>>>0];this._lBlock=g,this._rBlock=f^h}var n=this._lBlock;this._lBlock=this._rBlock,this._rBlock=n,l.call(this,1,0x55555555),m.call(this,8,0xff00ff),m.call(this,2,0x33333333),l.call(this,16,65535),l.call(this,4,0xf0f0f0f),a[b]=this._lBlock,a[b+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function l(a,b){var c=(this._lBlock>>>a^this._rBlock)&b;this._rBlock^=c,this._lBlock^=c<<a}function m(a,b){var c=(this._rBlock>>>a^this._lBlock)&b;this._lBlock^=c,this._rBlock^=c<<a}d.DES=c._createHelper(k);var n=e.TripleDES=c.extend({_doReset:function(){var a=this._key.words;if(2!==a.length&&4!==a.length&&a.length<6)throw Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var c=a.slice(0,2),d=a.length<4?a.slice(0,2):a.slice(2,4),e=a.length<6?a.slice(0,2):a.slice(4,6);this._des1=k.createEncryptor(b.create(c)),this._des2=k.createEncryptor(b.create(d)),this._des3=k.createEncryptor(b.create(e))},encryptBlock:function(a,b){this._des1.encryptBlock(a,b),this._des2.decryptBlock(a,b),this._des3.encryptBlock(a,b)},decryptBlock:function(a,b){this._des3.decryptBlock(a,b),this._des2.encryptBlock(a,b),this._des1.decryptBlock(a,b)},keySize:6,ivSize:2,blockSize:2});d.TripleDES=c._createHelper(n)}(),a.exports=d.TripleDES},78734:function(a,b,c){var d;d=c(67278),c(47973),function(a){var b=d.lib,c=b.WordArray,e=b.Hasher,f=d.x64.Word,g=d.algo,h=[],i=[],j=[];!function(){for(var a=1,b=0,c=0;c<24;c++){h[a+5*b]=(c+1)*(c+2)/2%64;var d=b%5,e=(2*a+3*b)%5;a=d,b=e}for(var a=0;a<5;a++)for(var b=0;b<5;b++)i[a+5*b]=b+(2*a+3*b)%5*5;for(var g=1,k=0;k<24;k++){for(var l=0,m=0,n=0;n<7;n++){if(1&g){var o=(1<<n)-1;o<32?m^=1<<o:l^=1<<o-32}128&g?g=g<<1^113:g<<=1}j[k]=f.create(l,m)}}();for(var k=[],l=0;l<25;l++)k[l]=f.create();var m=g.SHA3=e.extend({cfg:e.cfg.extend({outputLength:512}),_doReset:function(){for(var a=this._state=[],b=0;b<25;b++)a[b]=new f.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(a,b){for(var c=this._state,d=this.blockSize/2,e=0;e<d;e++){var f=a[b+2*e],g=a[b+2*e+1];f=(f<<8|f>>>24)&0xff00ff|(f<<24|f>>>8)&0xff00ff00,g=(g<<8|g>>>24)&0xff00ff|(g<<24|g>>>8)&0xff00ff00;var l=c[e];l.high^=g,l.low^=f}for(var m=0;m<24;m++){for(var n=0;n<5;n++){for(var o=0,p=0,q=0;q<5;q++){var l=c[n+5*q];o^=l.high,p^=l.low}var r=k[n];r.high=o,r.low=p}for(var n=0;n<5;n++)for(var s=k[(n+4)%5],t=k[(n+1)%5],u=t.high,v=t.low,o=s.high^(u<<1|v>>>31),p=s.low^(v<<1|u>>>31),q=0;q<5;q++){var l=c[n+5*q];l.high^=o,l.low^=p}for(var w=1;w<25;w++){var o,p,l=c[w],x=l.high,y=l.low,z=h[w];z<32?(o=x<<z|y>>>32-z,p=y<<z|x>>>32-z):(o=y<<z-32|x>>>64-z,p=x<<z-32|y>>>64-z);var A=k[i[w]];A.high=o,A.low=p}var B=k[0],C=c[0];B.high=C.high,B.low=C.low;for(var n=0;n<5;n++)for(var q=0;q<5;q++){var w=n+5*q,l=c[w],D=k[w],E=k[(n+1)%5+5*q],F=k[(n+2)%5+5*q];l.high=D.high^~E.high&F.high,l.low=D.low^~E.low&F.low}var l=c[0],G=j[m];l.high^=G.high,l.low^=G.low}},_doFinalize:function(){var b=this._data,d=b.words;this._nDataBytes;var e=8*b.sigBytes,f=32*this.blockSize;d[e>>>5]|=1<<24-e%32,d[(a.ceil((e+1)/f)*f>>>5)-1]|=128,b.sigBytes=4*d.length,this._process();for(var g=this._state,h=this.cfg.outputLength/8,i=h/8,j=[],k=0;k<i;k++){var l=g[k],m=l.high,n=l.low;m=(m<<8|m>>>24)&0xff00ff|(m<<24|m>>>8)&0xff00ff00,n=(n<<8|n>>>24)&0xff00ff|(n<<24|n>>>8)&0xff00ff00,j.push(n),j.push(m)}return new c.init(j,h)},clone:function(){for(var a=e.clone.call(this),b=a._state=this._state.slice(0),c=0;c<25;c++)b[c]=b[c].clone();return a}});d.SHA3=e._createHelper(m),d.HmacSHA3=e._createHmacHelper(m)}(Math),a.exports=d.SHA3},78853:a=>{a.exports=function(a,b){return null==a?void 0:a[b]}},79035:(a,b,c)=>{a=c.nmd(a);var d=c(96918),e=b&&!b.nodeType&&b,f=e&&a&&!a.nodeType&&a,g=f&&f.exports===e?d.Buffer:void 0,h=g?g.allocUnsafe:void 0;a.exports=function(a,b){if(b)return a.slice();var c=a.length,d=h?h(c):new a.constructor(c);return a.copy(d),d}},79111:(a,b,c)=>{"use strict";c.d(b,{EI:()=>B,N2:()=>u,Pv:()=>o,VH:()=>s,Vt:()=>A,YM:()=>t,Zf:()=>r,av:()=>E,bB:()=>C,l_:()=>z,ln:()=>w,pL:()=>D,w5:()=>F});var d=c(29021),e=c(33873),f=c.n(e),g=c(14247),h=c(18230),i=c(85510);let j=(0,h.h)("utils/storage/backend"),k=f().join((0,i.getDataDir)(),"db"),l=f().join((0,i.getDataDir)(),".next","storage"),m=a=>f().join(k,`${a}.json`);async function n(){try{await d.promises.access(k),j.verbose(`Storage directory exists: ${k}`)}catch{j.debug(`Creating storage directory: ${k}`),await d.promises.mkdir(k,{recursive:!0})}try{await d.promises.access(l),j.warn(`Old storage directory found: ${l}. This may cause data inconsistency issues.`)}catch{}}async function o(){for(let a of(j.debug("Verifying storage system initialization"),await n(),Object.values(g.Z)))try{let b=m(a),c=!1;try{await d.promises.access(b),c=!0}catch{}j.debug(`Storage check: ${a} - ${c?"File exists":"File does not exist yet"}`);let e=f().join(l,`${a}.json`);try{await d.promises.access(e),c?j.warn(`Found ${a} in both old and new storage locations. This may cause data inconsistency.`):j.warn(`Found ${a} in old storage location but not in new location. This may cause data loss.`)}catch{}}catch(b){j.error(`Storage verification failed for ${a}:`,b)}j.debug("Storage verification completed")}let p=new Map,q=0;async function r(a,b){let c=f().dirname(a);await d.promises.mkdir(c,{recursive:!0});let e=`${a}.tmp.${process.pid}.${++q}`;try{await d.promises.writeFile(e,b),await d.promises.rename(e,a)}catch(a){try{await d.promises.unlink(e)}catch{}throw a}}async function s(a,b){let c=m(a),d=(p.get(a)??Promise.resolve()).catch(()=>{}).then(()=>r(c,JSON.stringify(b,null,2)));p.set(a,d);try{await d,j.verbose(`Successfully saved item to: ${c}`)}catch(b){throw j.error(`Error saving item with key "${a}" to ${c}:`,b),b}finally{p.get(a)===d&&p.delete(a)}}async function t(a,b){try{await n();let c=m(a),e=await d.promises.readFile(c,"utf-8");if(0===e.trim().length)return j.warn(`Item with key "${a}" at ${c} is empty; treating as missing and returning default.`),b;try{let a=JSON.parse(e);return j.verbose(`Successfully loaded item from: ${c}`),a}catch(b){j.error(`CRITICAL: Failed to parse JSON from ${c}:`,b);let a=`${c}.corrupted.${Date.now()}.bak`;try{await d.promises.writeFile(a,e),j.info(`Created backup of corrupted file at: ${a}`)}catch(a){j.error("Failed to create backup of corrupted file:",a)}throw Error(`Failed to parse JSON from ${c}. A backup has been created at ${a}. Original error: ${b.message}`)}}catch(c){if("ENOENT"===c.code)return j.verbose(`Item with key "${a}" not found at ${m(a)}, returning default.`),b;throw j.error(`CRITICAL: Error loading item with key "${a}" from ${m(a)}:`,c),c}}async function u(a){let b=m(a);try{await d.promises.unlink(b),j.verbose(`Successfully cleared item: ${b}`)}catch(c){"ENOENT"!==c.code?j.warn(`Error clearing item with key "${a}" at ${b}:`,c):j.verbose(`Item with key "${a}" not found at ${b}, nothing to clear.`)}}let v=/^[A-Za-z0-9_-]{1,64}$/;function w(a){if("string"!=typeof a||!v.test(a))throw Error(`Unsafe collection item id: ${JSON.stringify(a)}`)}let x=a=>f().join(k,a),y=(a,b)=>f().join(x(a),`${b}.json`);function z(a,b){let c=(p.get(a)??Promise.resolve()).catch(()=>{}).then(b);return p.set(a,c),c.catch(()=>{}).finally(()=>{p.get(a)===c&&p.delete(a)}),c}async function A(a,b,c){w(b);let d=y(a,b);try{await z(`${a}/${b}`,()=>r(d,JSON.stringify(c,null,2))),j.verbose(`Successfully saved collection item: ${d}`)}catch(c){throw j.error(`Error saving collection item "${a}/${b}" to ${d}:`,c),c}}async function B(a,b,c){w(b);let e=y(a,b);try{let f=await d.promises.readFile(e,"utf-8");if(0===f.trim().length)return j.warn(`Collection item "${a}/${b}" at ${e} is empty; treating as missing.`),c;try{return JSON.parse(f)}catch(b){j.error(`CRITICAL: Failed to parse JSON from ${e}:`,b);let a=`${e}.corrupted.${Date.now()}.bak`;try{await d.promises.writeFile(a,f),j.info(`Created backup of corrupted file at: ${a}`)}catch(a){j.error("Failed to create backup of corrupted file:",a)}throw Error(`Failed to parse JSON from ${e}. A backup has been created at ${a}. Original error: ${b.message}`)}}catch(d){if("ENOENT"===d.code)return j.verbose(`Collection item "${a}/${b}" not found at ${e}, returning default.`),c;throw j.error(`CRITICAL: Error loading collection item "${a}/${b}" from ${e}:`,d),d}}async function C(a,b){w(b);let c=y(a,b);await z(`${a}/${b}`,async()=>{try{await d.promises.unlink(c),j.verbose(`Successfully deleted collection item: ${c}`)}catch(d){if("ENOENT"!==d.code)throw d;j.verbose(`Collection item "${a}/${b}" not found at ${c}, nothing to delete.`)}})}async function D(a){let b,c=x(a);try{b=await d.promises.readdir(c)}catch(a){if("ENOENT"===a.code)return[];throw a}let e=[];for(let a of b){if(!a.endsWith(".json")||a.includes(".tmp.")||a.includes(".corrupted.")||a.endsWith(".bak"))continue;let b=f().join(c,a);try{let a=await d.promises.readFile(b,"utf-8");if(0===a.trim().length){j.warn(`Collection item file ${b} is empty; skipping.`);continue}e.push(JSON.parse(a))}catch(a){j.error(`Failed to read collection item ${b}; skipping.`,a)}}return e}async function E(a){let b,c=x(a);try{b=await d.promises.readdir(c)}catch(a){if("ENOENT"===a.code)return[];throw a}let e=[];for(let a of b){if(!a.endsWith(".json")||a.includes(".tmp.")||a.includes(".corrupted.")||a.endsWith(".bak"))continue;let b=f().join(c,a);try{let[a,c]=await Promise.all([d.promises.readFile(b,"utf-8"),d.promises.stat(b)]);if(0===a.trim().length){j.warn(`Collection item file ${b} is empty; skipping.`);continue}e.push({item:JSON.parse(a),mtimeMs:c.mtimeMs})}catch(a){j.error(`Failed to read collection item ${b}; skipping.`,a)}}return e}async function F(a,b,c){let e,f,g=m(a);try{e=await d.promises.readFile(g,"utf-8")}catch(a){if("ENOENT"===a.code)return 0;throw a}if(0===e.trim().length)return await d.promises.rename(g,`${g}.migrated-${Date.now()}.bak`),0;try{f=JSON.parse(e)}catch(b){return j.error(`Migration: legacy ${a}.json is not valid JSON; leaving it in place.`,b),0}if(!Array.isArray(f))return j.error(`Migration: legacy ${a}.json is not an array; leaving it in place.`),0;for(let a of(await d.promises.mkdir(x(b),{recursive:!0}),f)){let e;try{e=c(a),w(e)}catch(a){j.error(`Migration: skipping ${b} item with invalid/unsafe id`,a);continue}let f=y(b,e);try{await d.promises.access(f),j.debug(`Migration: ${b}/${e} already exists; keeping the existing file.`);continue}catch{}await r(f,JSON.stringify(a,null,2))}return await d.promises.rename(g,`${g}.migrated-${Date.now()}.bak`),j.info(`Migration: moved ${f.length} ${b} item(s) from ${a}.json to per-item storage.`),f.length}},79215:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.validateKeywordUsage=b.validSchemaType=b.funcKeywordCode=b.macroKeywordCode=void 0;let d=c(31849),e=c(60359),f=c(97025),g=c(70428);function h(a){let{gen:b,data:c,it:e}=a;b.if(e.parentData,()=>b.assign(c,(0,d._)`${e.parentData}[${e.parentDataProperty}]`))}function i(a,b,c){if(void 0===c)throw Error(`keyword "${b}" failed to compile`);return a.scopeValue("keyword","function"==typeof c?{ref:c}:{ref:c,code:(0,d.stringify)(c)})}b.macroKeywordCode=function(a,b){let{gen:c,keyword:e,schema:f,parentSchema:g,it:h}=a,j=b.macro.call(h.self,f,g,h),k=i(c,e,j);!1!==h.opts.validateSchema&&h.self.validateSchema(j,!0);let l=c.name("valid");a.subschema({schema:j,schemaPath:d.nil,errSchemaPath:`${h.errSchemaPath}/${e}`,topSchemaRef:k,compositeRule:!0},l),a.pass(l,()=>a.error(!0))},b.funcKeywordCode=function(a,b){var c;let{gen:j,keyword:k,schema:l,parentSchema:m,$data:n,it:o}=a;!function({schemaEnv:a},b){if(b.async&&!a.$async)throw Error("async keyword in sync schema")}(o,b);let p=i(j,k,!n&&b.compile?b.compile.call(o.self,l,m,o):b.validate),q=j.let("valid");function r(c=b.async?(0,d._)`await `:d.nil){let g=o.opts.passContext?e.default.this:e.default.self,h=!("compile"in b&&!n||!1===b.schema);j.assign(q,(0,d._)`${c}${(0,f.callValidateCode)(a,p,g,h)}`,b.modifying)}function s(a){var c;j.if((0,d.not)(null!=(c=b.valid)?c:q),a)}a.block$data(q,function(){if(!1===b.errors)r(),b.modifying&&h(a),s(()=>a.error());else{let c=b.async?function(){let a=j.let("ruleErrs",null);return j.try(()=>r((0,d._)`await `),b=>j.assign(q,!1).if((0,d._)`${b} instanceof ${o.ValidationError}`,()=>j.assign(a,(0,d._)`${b}.errors`),()=>j.throw(b))),a}():function(){let a=(0,d._)`${p}.errors`;return j.assign(a,null),r(d.nil),a}();b.modifying&&h(a),s(()=>(function(a,b){let{gen:c}=a;c.if((0,d._)`Array.isArray(${b})`,()=>{c.assign(e.default.vErrors,(0,d._)`${e.default.vErrors} === null ? ${b} : ${e.default.vErrors}.concat(${b})`).assign(e.default.errors,(0,d._)`${e.default.vErrors}.length`),(0,g.extendErrors)(a)},()=>a.error())})(a,c))}}),a.ok(null!=(c=b.valid)?c:q)},b.validSchemaType=function(a,b,c=!1){return!b.length||b.some(b=>"array"===b?Array.isArray(a):"object"===b?a&&"object"==typeof a&&!Array.isArray(a):typeof a==b||c&&void 0===a)},b.validateKeywordUsage=function({schema:a,opts:b,self:c,errSchemaPath:d},e,f){if(Array.isArray(e.keyword)?!e.keyword.includes(f):e.keyword!==f)throw Error("ajv implementation error");let g=e.dependencies;if(null==g?void 0:g.some(b=>!Object.prototype.hasOwnProperty.call(a,b)))throw Error(`parent schema must have dependencies of ${f}: ${g.join(",")}`);if(e.validateSchema&&!e.validateSchema(a[f])){let a=`keyword "${f}" value is invalid at path "${d}": `+c.errorsText(e.validateSchema.errors);if("log"===b.validateSchema)c.logger.error(a);else throw Error(a)}}},79490:a=>{function b(a,b,c,d){return Math.round(a/c)+" "+d+(b>=1.5*c?"s":"")}a.exports=function(a,c){c=c||{};var d,e,f,g,h=typeof a;if("string"===h&&a.length>0){var i=a;if(!((i=String(i)).length>100)){var j=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);if(j){var k=parseFloat(j[1]);switch((j[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*k;case"weeks":case"week":case"w":return 6048e5*k;case"days":case"day":case"d":return 864e5*k;case"hours":case"hour":case"hrs":case"hr":case"h":return 36e5*k;case"minutes":case"minute":case"mins":case"min":case"m":return 6e4*k;case"seconds":case"second":case"secs":case"sec":case"s":return 1e3*k;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return k;default:break}}}return}if("number"===h&&isFinite(a)){return c.long?(e=Math.abs(d=a))>=864e5?b(d,e,864e5,"day"):e>=36e5?b(d,e,36e5,"hour"):e>=6e4?b(d,e,6e4,"minute"):e>=1e3?b(d,e,1e3,"second"):d+" ms":(g=Math.abs(f=a))>=864e5?Math.round(f/864e5)+"d":g>=36e5?Math.round(f/36e5)+"h":g>=6e4?Math.round(f/6e4)+"m":g>=1e3?Math.round(f/1e3)+"s":f+"ms"}throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(a))}},79522:(a,b,c)=>{"use strict";var d=c(23598)("%Object.defineProperty%",!0),e=c(48181)(),f=c(75786),g=c(28136),h=e?Symbol.toStringTag:null;a.exports=function(a,b){var c=arguments.length>2&&!!arguments[2]&&arguments[2].force,e=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(void 0!==c&&"boolean"!=typeof c||void 0!==e&&"boolean"!=typeof e)throw new g("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");h&&(c||!f(a,h))&&(d?d(a,h,{configurable:!e,enumerable:!1,value:b,writable:!1}):a[h]=b)}},79792:function(a,b,c){"use strict";var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.instance=b.Gaxios=b.GaxiosError=void 0,b.request=h;let f=c(41067);Object.defineProperty(b,"Gaxios",{enumerable:!0,get:function(){return f.Gaxios}});var g=c(81231);async function h(a){return b.instance.request(a)}Object.defineProperty(b,"GaxiosError",{enumerable:!0,get:function(){return g.GaxiosError}}),e(c(4313),b),b.instance=new f.Gaxios},79861:(a,b,c)=>{"use strict";c.d(b,{AH:()=>f,O$:()=>p,XQ:()=>q,Yr:()=>m,cy:()=>s,jg:()=>t,nO:()=>n,vf:()=>o,zz:()=>r});let d={npm:"npx",pypi:"uvx",oci:"docker",nuget:"dnx"},e={npm:"npm",pypi:"PyPI",oci:"Docker",nuget:"NuGet",mcpb:"MCPB",cargo:"Cargo"};function f(a){var b;let c=[];for(let f of a.packages??[])(function(a){if(!a.identifier||!d[a.registryType]&&!a.runtimeHint)return!1;let b=a.transport?.type;return!b||"stdio"===b})(f)&&c.push({kind:"package",label:`${e[b=f.registryType]||b}: ${f.identifier}`,pkg:f});for(let b of a.remotes??[])b.url&&("streamable-http"===b.type||"sse"===b.type)&&c.push({kind:"remote",label:`Remote (${"sse"===b.type?"SSE":"Streamable HTTP"}): ${b.url}`,remote:b});return c}let g=new Set(["mcp","server","mcp-server","mcpserver"]);function h(a){return(function(a){let b=a.indexOf("/"),c=b>=0?a.slice(0,b):"",d=b>=0?a.slice(b+1):a;if(!g.has(d.toLowerCase())||!c)return d;let e=c.split(".").pop()||"";return e?`${e}-${d}`:d})(a).replace(/[^a-zA-Z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")||"mcp-server"}function i(a){let b=a.value??a.default;return"named"===a.type?a.name?void 0!==b&&""!==b?[a.name,b]:a.isRequired&&a.valueHint?[a.name,`<${a.valueHint}>`]:a.isRequired?[a.name]:[]:[]:void 0!==b&&""!==b?[b]:a.isRequired?[`<${a.valueHint||"value"}>`]:[]}function j(a){return(a??[]).flatMap(i)}function k(a){return{name:h(a.name),disabled:!1,autoApprove:[],env:{},_buildCommand:"",_installCommand:""}}function l(a){return a.version?`${a.identifier}@${a.version}`:a.identifier}function m(a,b){let c="package"===b.kind?function(a,b){let c,e=b.runtimeHint||d[b.registryType],f=j(b.packageArguments),g=j(b.runtimeArguments),h=function(a){let b={};for(let c of a??[]){if(!c.name)continue;let a=c.value??c.default??"";b[c.name]=c.isSecret?{value:a,metadata:{isSecret:!0}}:a}return b}(b.environmentVariables);switch(b.registryType){case"npm":c=[...g,"-y",l(b),...f];break;case"pypi":c=[...g,b.version?`${b.identifier}==${b.version}`:b.identifier,...f];break;case"oci":{let a=Object.keys(h).flatMap(a=>["-e",a]);c=[..."run"===g[0]?[]:["run","-i","--rm"],...g,...a,function(a){let b=a.identifier.split("/").pop()||a.identifier;return!(b.includes(":")||b.includes("@"))&&a.version?`${a.identifier}:${a.version}`:a.identifier}(b),...f];break}case"nuget":c=[...g,l(b),"--yes",...f];break;default:c=[...g,l(b),...f]}return{...k(a),transport:"stdio",command:e,args:c,env:h,rootPath:"."}}(a,b.pkg):function(a,b){let c={};for(let a of b.headers??[])a.name&&(c[a.name]=a.value??a.default??"");let d=k(a);return{...d,transport:"sse"===b.type?"sse":"streamable",serverUrl:b.url,headers:c,rootPath:`mcp-servers/${d.name}`}}(a,b.remote),e="package"===b.kind?b.pkg.version??a.version:a.version,f={type:"registry",registryName:a.name,...e?{version:e}:{}};return{...c,source:f}}function n(a){return"active"===a}function o(a){let b=a?._meta?.["io.modelcontextprotocol.registry/official"]?.status;return"string"==typeof b&&b.length>0?b:"unverified"}function p(a,b,c,d){let e=m(b,c),f=e.transport??"stdio";return{registryName:a,resolvedName:b.name,serverName:e.name??h(b.name),transport:f,...e.command?{command:e.command}:{},...Array.isArray(e.args)?{args:e.args}:{},...e.serverUrl?{serverUrl:e.serverUrl}:{},requiredEnvNames:"package"===c.kind?(c.pkg.environmentVariables??[]).filter(a=>a.isRequired&&a.name).map(a=>a.name):(c.remote.headers??[]).filter(a=>a.isRequired&&a.name).map(a=>a.name),verificationStatus:d}}function q(a){let b;try{b=new URL(a)}catch{return null}let c=b.searchParams.get("q");if(c)return`/v0.1/servers?search=${encodeURIComponent(c)}&version=latest&limit=1`;if(/^\/v[\d.]+\/servers\/[^/]+\/versions\/[^/]+$/.test(b.pathname))return b.pathname;let d=b.pathname.match(/^\/v[\d.]+\/servers\/([^/]+)(?:\/versions)?\/?$/);if(d){let a=decodeURIComponent(d[1]);return`/v0.1/servers?search=${encodeURIComponent(a)}&version=latest&limit=1`}return null}function r(a){return a?.servers&&a.servers.length>0?a.servers[0]:a?.server?.name?a:null}function s(a,b){if(!b||0===Object.keys(b).length)return a;let c={...a.env??{}};for(let[a,d]of Object.entries(b)){let b=c[a];b&&"object"==typeof b&&b.metadata?.isSecret?c[a]={value:d,metadata:{isSecret:!0}}:c[a]=d}return{...a,env:c}}function t(a,b){return"package"===a.kind?(a.pkg.environmentVariables??[]).filter(a=>a.isRequired&&!(a.value??a.default)&&!b?.[a.name]).map(a=>a.name):(a.remote.headers??[]).filter(a=>a.isRequired&&!(a.value??a.default)&&!b?.[a.name]).map(a=>a.name)}},79917:(a,b,c)=>{"use strict";a.exports=c(72886).vendored["react-rsc"].ReactDOM},80031:(a,b,c)=>{"use strict";let d,e,f;c.d(b,{Ay:()=>dt});var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR,aS,aT,aU,aV,aW,aX,aY,aZ,a$,a_,a0,a1,a2,a3,a4,a5=c(2417);let a6=function(){let{crypto:a}=globalThis;if(a?.randomUUID)return a6=a.randomUUID.bind(a),a.randomUUID();let b=new Uint8Array(1),c=a?()=>a.getRandomValues(b)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,a=>(a^c()&15>>a/4).toString(16))};var a7=c(31169);let a8=(a,b)=>new Promise(c=>{if(b?.aborted)return c();let d=()=>{clearTimeout(e),c()},e=setTimeout(()=>{b?.removeEventListener("abort",d),c()},a);b?.addEventListener("abort",d,{once:!0})});var a9=c(76666);let ba="0.105.0",bb=a=>"x32"===a?"x32":"x86_64"===a||"x64"===a?"x64":"arm"===a?"arm":"aarch64"===a||"arm64"===a?"arm64":a?`other:${a}`:"unknown",bc=a=>(a=a.toLowerCase()).includes("ios")?"iOS":"android"===a?"Android":"darwin"===a?"MacOS":"win32"===a?"Windows":"freebsd"===a?"FreeBSD":"openbsd"===a?"OpenBSD":"linux"===a?"Linux":a?`Other:${a}`:"Unknown",bd=()=>d??(d=(()=>{let a="undefined"!=typeof Deno&&null!=Deno.build?"deno":"undefined"!=typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":bc(Deno.build.os),"X-Stainless-Arch":bb(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("undefined"!=typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":bc(globalThis.process.platform??"unknown"),"X-Stainless-Arch":bb(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let b=function(){if("undefined"==typeof navigator||!navigator)return null;for(let{key:a,pattern:b}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let c=b.exec(navigator.userAgent);if(c){let b=c[1]||0,d=c[2]||0,e=c[3]||0;return{browser:a,version:`${b}.${d}.${e}`}}}return null}();return b?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${b.browser}`,"X-Stainless-Runtime-Version":b.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ba,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}})());function be(...a){let b=globalThis.ReadableStream;if(void 0===b)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new b(...a)}function bf(a){let b=Symbol.asyncIterator in a?a[Symbol.asyncIterator]():a[Symbol.iterator]();return be({start(){},async pull(a){let{done:c,value:d}=await b.next();c?a.close():a.enqueue(d)},async cancel(){await b.return?.()}})}function bg(a){if(a[Symbol.asyncIterator])return a;let b=a.getReader();return{async next(){try{let a=await b.read();return a?.done&&b.releaseLock(),a}catch(a){throw b.releaseLock(),a}},async return(){let a=b.cancel();return b.releaseLock(),await a,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function bh(a){if(null===a||"object"!=typeof a)return;if(a[Symbol.asyncIterator])return void await a[Symbol.asyncIterator]().return?.();let b=a.getReader(),c=b.cancel();b.releaseLock(),await c}let bi=({headers:a,body:b})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(b)});var bj=c(17736),bk=c(30429);let bl="/v1/oauth/token",bm="oauth-2025-04-20";function bn(a){let b;if(!a)return;try{b=new URL(a)}catch(b){throw new bu(`Invalid token endpoint base URL "${a}": ${b}`)}if("https:"===b.protocol)return;let c=b.hostname.toLowerCase().replace(/^\[|\]$/g,"");if("http:"!==b.protocol||"localhost"!==c&&"127.0.0.1"!==c&&"::1"!==c)throw new bu(`Refusing to send credential over non-https token endpoint "${a}"`)}async function bo(a,b){let c,d=await bt(a);try{c=JSON.parse(d)}catch{throw new bu(`Token endpoint returned non-JSON response (status ${a.status})`,a.status,bq(d),b)}if(!c.access_token)throw new bu(`Token endpoint response missing access_token: ${JSON.stringify(bq(c))}`,a.status,bq(c),b);if(c.token_type&&"bearer"!==c.token_type.toLowerCase())throw new bu(`Token endpoint response: unsupported token_type "${c.token_type}" (want Bearer)`,a.status,bq(c),b);return c}let bp=new Set(["error","error_description","error_uri"]);function bq(a){if(null==a)return a;if("string"==typeof a){let b;try{b=JSON.parse(a)}catch{if(a.length<=2e3)return a;return a.slice(0,2e3)+`... <${a.length-2e3} more chars>`}return JSON.stringify(bq(b))}if("object"==typeof a&&!Array.isArray(a)){let b={};for(let[c,d]of Object.entries(a))bp.has(c)&&(b[c]=d);return b}return null}async function br(a,b=a=>console.warn(`anthropic-sdk: ${a}`)){let d;if("undefined"==typeof process||"win32"===process.platform)return;let e=await Promise.resolve().then(c.t.bind(c,73024,19)),f=a;try{f=await e.promises.realpath(a),d=await e.promises.stat(f)}catch{return}let g=511&d.mode;if(18&g)throw new bu(`Credentials file at ${f} is group/world-writable (mode 0o${g.toString(8)}); this allows other local users to plant tokens. Run \`chmod 600 ${f}\`.`);if(36&g)throw new bu(`Credentials file at ${f} is group/world-readable (mode 0o${g.toString(8)}); run \`chmod 600 ${f}\` before retrying.`);"function"==typeof process.getuid&&d.uid!==process.getuid()&&b(`credentials file at ${f} is owned by uid ${d.uid} (current process uid ${process.getuid()}); verify this is intentional.`)}async function bs(a,b){let d=await Promise.resolve().then(c.t.bind(c,73024,19)),e=(await Promise.resolve().then(c.t.bind(c,76760,19))).dirname(a);await d.promises.mkdir(e,{recursive:!0,mode:448});let f=`${a}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;try{let c=await d.promises.open(f,"w",384);try{await c.writeFile(JSON.stringify(b,null,2)),await c.sync()}finally{await c.close()}await d.promises.rename(f,a)}catch(a){throw await d.promises.unlink(f).catch(()=>{}),a}try{let a=await d.promises.open(e,"r");try{await a.sync()}finally{await a.close()}}catch{}}async function bt(a){let b;if(!a.body)return"";let c=a.body.getReader(),d=[],e=0;for(;;){let{done:a,value:b}=await c.read();if(a)break;if(e+b.length>1048576){let a=1048576-e;a>0&&d.push(b.subarray(0,a)),await c.cancel();break}d.push(b),e+=b.length}if(1===d.length)b=d[0];else{b=new Uint8Array(d.reduce((a,b)=>a+b.length,0));let a=0;for(let c of d)b.set(c,a),a+=c.length}return new TextDecoder("utf-8").decode(b)}class bu extends bk.pJ{constructor(a,b=null,c=null,d=null){super(a),this.statusCode=b,this.body=c,this.requestId=d}}function bv(){return Math.floor(Date.now()/1e3)}class bw{constructor(a,b){this.cached=null,this.pendingRefresh=null,this.nextForce=!1,this.lastAdvisoryError=0,this.provider=a,this.onAdvisoryRefreshError=b}async getToken(){let a=this.nextForce;this.nextForce=!1;let b=this.cached;if(a||null==b)return(await this.refresh(a)).token;if(null==b.expiresAt)return b.token;let c=b.expiresAt-bv();return c>120?b.token:c>30?(this.backgroundRefresh(),b.token):(await this.refresh()).token}invalidate(){this.cached=null,this.nextForce=!0}refresh(a=!1){return this.pendingRefresh&&!a?this.pendingRefresh:this.doRefresh(a)}backgroundRefresh(){!this.pendingRefresh&&(bv()-this.lastAdvisoryError<5||this.doRefresh().catch(a=>{this.lastAdvisoryError=bv(),this.onAdvisoryRefreshError?.(a)}))}doRefresh(a=!1){return this.pendingRefresh=this.provider(a?{forceRefresh:!0}:void 0).then(a=>(this.cached=a,this.pendingRefresh=null,a),a=>{throw this.pendingRefresh=null,a}),this.pendingRefresh}}var bx=c(17592),by=c(44873);let bz=/^[A-Za-z0-9_.-]+$/;function bA(a){if(!a)throw Error("profile name is empty");if("."===a||".."===a)throw Error(`profile name "${a}" is not allowed`);if(a.includes("/")||a.includes("\\"))throw Error(`profile name "${a}" must not contain path separators`);if(!bz.test(a))throw Error(`profile name "${a}" contains disallowed characters (allowed: letters, digits, '_', '.', '-')`)}let bB=async a=>{var b,d;let e,f,g=await bD();if(null===g)return null;let h=a??await bF();if(null===h)return null;bA(h);let i=await Promise.resolve().then(c.t.bind(c,73024,19)),j=(await Promise.resolve().then(c.t.bind(c,76760,19))).join(g,"configs",`${h}.json`);try{e=await i.promises.readFile(j,"utf-8")}catch(a){if(a?.code!=="ENOENT")throw Error(`failed to read config file ${j}: ${a}`);e=null}if(null===e){let a=(0,by.sx)("ANTHROPIC_ORGANIZATION_ID"),b=(0,by.sx)("ANTHROPIC_IDENTITY_TOKEN_FILE"),c=(0,by.sx)("ANTHROPIC_FEDERATION_RULE_ID");return c&&a?{fromFile:!1,config:{organization_id:a,workspace_id:(0,by.sx)("ANTHROPIC_WORKSPACE_ID"),base_url:(0,by.sx)("ANTHROPIC_BASE_URL"),authentication:{type:"oidc_federation",federation_rule_id:c,service_account_id:(0,by.sx)("ANTHROPIC_SERVICE_ACCOUNT_ID"),identity_token:b?{source:"file",path:b}:void 0,scope:(0,by.sx)("ANTHROPIC_SCOPE")}}}:null}try{f=JSON.parse(e)}catch(a){throw Error(`failed to parse config file ${j}: ${a}`)}if(!f.authentication)throw Error(`config file ${j} is missing "authentication"`);let k=f.authentication.type;if("oidc_federation"!==k&&"user_oauth"!==k)throw Error(`authentication.type "${k}" is not a known authentication type`);if(f.organization_id??(f.organization_id=(0,by.sx)("ANTHROPIC_ORGANIZATION_ID")),f.workspace_id??(f.workspace_id=(0,by.sx)("ANTHROPIC_WORKSPACE_ID")),f.base_url??(f.base_url=(0,by.sx)("ANTHROPIC_BASE_URL")),(b=f.authentication).scope??(b.scope=(0,by.sx)("ANTHROPIC_SCOPE")),"oidc_federation"===f.authentication.type){if(!f.authentication.identity_token){let a=(0,by.sx)("ANTHROPIC_IDENTITY_TOKEN_FILE");a&&(f.authentication.identity_token={source:"file",path:a})}f.authentication.federation_rule_id||(f.authentication.federation_rule_id=(0,by.sx)("ANTHROPIC_FEDERATION_RULE_ID")??""),(d=f.authentication).service_account_id??(d.service_account_id=(0,by.sx)("ANTHROPIC_SERVICE_ACCOUNT_ID"))}return{config:f,fromFile:!0}},bC=async(a,b)=>{if(a?.authentication.credentials_path)return a.authentication.credentials_path;let d=await bD();if(!d)return null;let e=b??await bF();return e?(bA(e),(await Promise.resolve().then(c.t.bind(c,76760,19))).join(d,"credentials",`${e}.json`)):null},bD=async()=>{if(!bE())return null;let a=await Promise.resolve().then(c.t.bind(c,76760,19)),b=(0,by.sx)("ANTHROPIC_CONFIG_DIR");if(b)return b;if("Windows"===bd()["X-Stainless-OS"]){let b=(0,by.sx)("APPDATA");if(b)return a.join(b,"Anthropic");let c=(0,by.sx)("USERPROFILE");return c?a.join(c,"AppData","Roaming","Anthropic"):null}let d=(0,by.sx)("XDG_CONFIG_HOME");if(d)return a.join(d,"anthropic");let e=(0,by.sx)("HOME");return e?a.join(e,".config","anthropic"):null},bE=()=>{let a=bd()["X-Stainless-Runtime"];return"node"===a||"deno"===a},bF=async()=>{let a=await bD();if(!a)return null;let b=(0,by.sx)("ANTHROPIC_PROFILE");if(b)return b;let d=await Promise.resolve().then(c.t.bind(c,73024,19)),e=(await Promise.resolve().then(c.t.bind(c,76760,19))).join(a,"active_config");try{return(await d.promises.readFile(e,"utf-8")).trim()||"default"}catch(a){if(a?.code!=="ENOENT")throw Error(`failed to read ${e}: ${a}`);return"default"}};function bG(a){if(!a)throw new bk.pJ("Identity token file path is empty");return async()=>{let b,d=await Promise.resolve().then(c.t.bind(c,73024,19));try{b=await d.promises.readFile(a,"utf-8")}catch(b){throw new bk.pJ(`Failed to read identity token file at ${a}: ${b}`)}let e=b.trim();if(!e)throw new bk.pJ(`Identity token file at ${a} is empty`);return e}}function bH(a,b){let d=a.authentication.credentials_path??null,e=(a.base_url||b.baseURL).replace(/\/+$/,""),f=function(a,b,d,e){var f,g,h,i,j,k;switch(a.authentication.type){case"oidc_federation":{let g=a.authentication,l=function(a){if(a.identity_token){let b=a.identity_token.source;if("file"!==b)throw new bu(`identity_token.source "${b}" is not supported by this SDK version (only "file")`);if(!a.identity_token.path)throw new bu('identity_token.source "file" requires a non-empty path');return bG(a.identity_token.path)}let b=(0,bx.s)("ANTHROPIC_IDENTITY_TOKEN_FILE");if(b)return bG(b);let c=(0,bx.s)("ANTHROPIC_IDENTITY_TOKEN");if(c){if(!c)throw new bk.pJ("Identity token value is empty");return()=>c}return null}(g);if(!l)throw new bu("oidc_federation config requires an identity token (set authentication.identity_token, ANTHROPIC_IDENTITY_TOKEN_FILE, or ANTHROPIC_IDENTITY_TOKEN)");if(!g.federation_rule_id)throw new bu("oidc_federation config requires 'federation_rule_id'. Set it in authentication.federation_rule_id in your profile, or via ANTHROPIC_FEDERATION_RULE_ID (profile takes precedence).");if(!a.organization_id)throw new bu("oidc_federation config requires organization_id (set ANTHROPIC_ORGANIZATION_ID or config.organization_id)");let m=(f={identityTokenProvider:l,federationRuleId:g.federation_rule_id,organizationId:a.organization_id,serviceAccountId:g.service_account_id,workspaceId:a.workspace_id,baseURL:d,fetch:e.fetch,userAgent:e.userAgent},async()=>{let a;bn(f.baseURL);let b=await f.identityTokenProvider();if(b.length>16384)throw new bu(`Identity token is ${Math.ceil(b.length/1024)} KiB, exceeds the 16 KiB assertion limit`);let c={grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:b,federation_rule_id:f.federationRuleId,organization_id:f.organizationId};f.serviceAccountId&&(c.service_account_id=f.serviceAccountId),f.workspaceId&&(c.workspace_id=f.workspaceId);let d=`${f.baseURL}${bl}`;try{a=await f.fetch(d,{method:"POST",headers:{"Content-Type":"application/json","anthropic-beta":`${bm},oidc-federation-2026-04-01`,"User-Agent":f.userAgent||`anthropic-sdk-typescript/${ba} oidcFederationProvider`},body:JSON.stringify(c)})}catch(a){throw new bu(`Failed to reach token endpoint ${d}: ${a}`)}let e=a.headers.get("Request-Id");if(!a.ok){let b=bq(await a.text().catch(()=>"")),c="";if(401===a.status){let a=f.workspaceId?"":"If your federation rule is scoped to multiple workspaces, set the ANTHROPIC_WORKSPACE_ID environment variable, the 'workspace_id' config key, or the `workspaceId` option. ";c=` Ensure your federation rule matches your identity token. ${a}View your authentication events in the Workload identity page of Claude Console for more details.`}throw new bu(`Token exchange failed with status ${a.status}${e?` (request-id ${e})`:""}: ${b}${c}`,a.status,b,e)}let g=await bo(a,e),h=Number(g.expires_in);if(!Number.isFinite(h))throw new bu(`Token endpoint response missing required fields: ${JSON.stringify(bq(g))}`,a.status,bq(g),e);return{token:g.access_token,expiresAt:bv()+h}});if(b){return h=m,i=b,j=e.onCacheWriteError,k=e.onSafetyWarning,async a=>{let b,d=await Promise.resolve().then(c.t.bind(c,73024,19));await br(i,k);try{let c=await d.promises.readFile(i,"utf-8");b=JSON.parse(c);let e=b?.access_token;if(e&&!a?.forceRefresh){let a=b?.expires_at;if(null==a||bv()<a-30)return{token:e,expiresAt:a??null}}}catch(a){"ENOENT"===a?.code||a instanceof SyntaxError||j?.(a)}let e=await h(a);try{await bs(i,{...b??{},version:"1.0",type:"oauth_token",access_token:e.token,expires_at:e.expiresAt})}catch(a){j?.(a)}return e}}return m}case"user_oauth":if(!b)throw new bu("user_oauth config requires authentication.credentials_path (or load via a profile so it defaults to <config_dir>/credentials/<profile>.json)");return g={credentialsPath:b,clientId:a.authentication.client_id,baseURL:d,fetch:e.fetch,userAgent:e.userAgent,onSafetyWarning:e.onSafetyWarning},async a=>{let b,d,e,f=await Promise.resolve().then(c.t.bind(c,73024,19));await br(g.credentialsPath,g.onSafetyWarning);try{b=await f.promises.readFile(g.credentialsPath,"utf-8")}catch(a){throw new bu(`Credentials file not found at ${g.credentialsPath}: ${a}`)}try{d=JSON.parse(b)}catch(a){throw new bu(`Credentials file at ${g.credentialsPath} is not valid JSON: ${a}`)}let h=d.access_token;if(!h)throw new bu(`Credentials file at ${g.credentialsPath} must include 'access_token'`);let i=d.expires_at;if(!a?.forceRefresh&&(null==i||bv()<i-30))return{token:h,expiresAt:i??null};let j=d.refresh_token;if(!g.clientId||!j)throw new bu(`Access token at ${g.credentialsPath} has expired and no refresh is available (client_id ${g.clientId?"set":"empty"}, refresh_token ${j?"set":"empty"})`);bn(g.baseURL);let k={grant_type:"refresh_token",refresh_token:j,client_id:g.clientId},l=`${g.baseURL}${bl}`;try{e=await g.fetch(l,{method:"POST",headers:{"Content-Type":"application/json","anthropic-beta":bm,"User-Agent":g.userAgent||`anthropic-sdk-typescript/${ba} userOAuthProvider`},body:JSON.stringify(k)})}catch(a){throw new bu(`User OAuth refresh failed to reach token endpoint: ${a}`)}let m=e.headers.get("Request-Id");if(!e.ok){let a=await e.text().catch(()=>"");throw new bu(`User OAuth refresh failed (HTTP ${e.status}): ${bq(a)}`,e.status,bq(a),m)}let n=await bo(e,m),o=Number(n.expires_in);if(!Number.isFinite(o))throw new bu(`User OAuth refresh response missing or invalid expires_in: ${JSON.stringify(bq(n))}`,e.status,bq(n),m);let p=bv()+o,q=n.refresh_token||j;return await bs(g.credentialsPath,{...d,version:"1.0",type:"oauth_token",access_token:n.access_token,expires_at:p,refresh_token:q}),{token:n.access_token,expiresAt:p}};default:{let b=a.authentication.type;throw new bu(`authentication.type "${b}" is not a known authentication type`)}}}(a,d,e,b),g={};return a.workspace_id&&"user_oauth"===a.authentication.type&&(g["anthropic-workspace-id"]=a.workspace_id),{provider:f,extraHeaders:g,baseURL:a.base_url||void 0}}async function bI(a,b){let c=await bB(b);if(!c)return null;let{config:d,fromFile:e}=c;return bH(d.authentication.credentials_path||!e?d:{...d,authentication:{...d.authentication,credentials_path:await bC(d,b)??void 0}},a)}function bJ(a){let b;return(e??(e=(b=new globalThis.TextEncoder).encode.bind(b)))(a)}function bK(a){let b;return(f??(f=(b=new globalThis.TextDecoder).decode.bind(b)))(a)}class bL{constructor(){g.set(this,void 0),h.set(this,void 0),(0,a5.G)(this,g,new Uint8Array,"f"),(0,a5.G)(this,h,null,"f")}decode(a){let b;if(null==a)return[];let c=a instanceof ArrayBuffer?new Uint8Array(a):"string"==typeof a?bJ(a):a;(0,a5.G)(this,g,function(a){let b=0;for(let c of a)b+=c.length;let c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.length;return c}([(0,a5.g)(this,g,"f"),c]),"f");let d=[];for(;null!=(b=function(a,b){for(let c=b??0;c<a.length;c++){if(10===a[c])return{preceding:c,index:c+1,carriage:!1};if(13===a[c])return{preceding:c,index:c+1,carriage:!0}}return null}((0,a5.g)(this,g,"f"),(0,a5.g)(this,h,"f")));){if(b.carriage&&null==(0,a5.g)(this,h,"f")){(0,a5.G)(this,h,b.index,"f");continue}if(null!=(0,a5.g)(this,h,"f")&&(b.index!==(0,a5.g)(this,h,"f")+1||b.carriage)){d.push(bK((0,a5.g)(this,g,"f").subarray(0,(0,a5.g)(this,h,"f")-1))),(0,a5.G)(this,g,(0,a5.g)(this,g,"f").subarray((0,a5.g)(this,h,"f")),"f"),(0,a5.G)(this,h,null,"f");continue}let a=null!==(0,a5.g)(this,h,"f")?b.preceding-1:b.preceding,c=bK((0,a5.g)(this,g,"f").subarray(0,a));d.push(c),(0,a5.G)(this,g,(0,a5.g)(this,g,"f").subarray(b.index),"f"),(0,a5.G)(this,h,null,"f")}return d}flush(){return(0,a5.g)(this,g,"f").length?this.decode("\n"):[]}}g=new WeakMap,h=new WeakMap,bL.NEWLINE_CHARS=new Set(["\n","\r"]),bL.NEWLINE_REGEXP=/\r\n|[\n\r]/g;var bM=c(84001);class bN{constructor(a,b,c){this.iterator=a,i.set(this,void 0),this.controller=b,(0,a5.G)(this,i,c,"f")}static rawEvents(a,b=new AbortController){return bO(a,b)}static fromSSEResponse(a,b,c){let d=!1,e=c?(0,bM.WG)(c):console;async function*f(){if(d)throw new bk.pJ("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");d=!0;let c=!1;try{for await(let c of bO(a,b)){if("completion"===c.event)try{yield JSON.parse(c.data)}catch(a){throw e.error("Could not parse message into JSON:",c.data),e.error("From chunk:",c.raw),a}if("message_start"===c.event||"message_delta"===c.event||"message_stop"===c.event||"content_block_start"===c.event||"content_block_delta"===c.event||"content_block_stop"===c.event||"message"===c.event||"user.message"===c.event||"user.interrupt"===c.event||"user.tool_confirmation"===c.event||"user.custom_tool_result"===c.event||"user.tool_result"===c.event||"agent.message"===c.event||"agent.thinking"===c.event||"agent.tool_use"===c.event||"agent.tool_result"===c.event||"agent.mcp_tool_use"===c.event||"agent.mcp_tool_result"===c.event||"agent.custom_tool_use"===c.event||"agent.thread_context_compacted"===c.event||"session.status_running"===c.event||"session.status_idle"===c.event||"session.status_rescheduled"===c.event||"session.status_terminated"===c.event||"session.error"===c.event||"session.deleted"===c.event||"session.updated"===c.event||"span.model_request_start"===c.event||"span.model_request_end"===c.event||"span.outcome_evaluation_start"===c.event||"span.outcome_evaluation_ongoing"===c.event||"span.outcome_evaluation_end"===c.event||"user.define_outcome"===c.event||"agent.thread_message_received"===c.event||"agent.thread_message_sent"===c.event||"agent.session_thread_message_received"===c.event||"agent.session_thread_message_sent"===c.event||"session.thread_created"===c.event||"session.thread_status_created"===c.event||"session.thread_status_running"===c.event||"session.thread_status_idle"===c.event||"session.thread_status_rescheduled"===c.event||"session.thread_status_terminated"===c.event)try{yield JSON.parse(c.data)}catch(a){throw e.error("Could not parse message into JSON:",c.data),e.error("From chunk:",c.raw),a}if("ping"!==c.event&&"error"===c.event){let b=(0,a7.ml)(c.data)??c.data,d=b?.error?.type;throw new bk.LG(void 0,b,void 0,a.headers,d)}}c=!0}catch(a){if((0,a9.z)(a))return;throw a}finally{c||b.abort()}}return new bN(f,b,c)}static fromReadableStream(a,b,c){let d=!1;async function*e(){let b=new bL;for await(let c of bg(a))for(let a of b.decode(c))yield a;for(let a of b.flush())yield a}return new bN(async function*(){if(d)throw new bk.pJ("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");d=!0;let a=!1;try{for await(let b of e())!a&&b&&(yield JSON.parse(b));a=!0}catch(a){if((0,a9.z)(a))return;throw a}finally{a||b.abort()}},b,c)}[(i=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let a=[],b=[],c=this.iterator(),d=d=>({next:()=>{if(0===d.length){let d=c.next();a.push(d),b.push(d)}return d.shift()}});return[new bN(()=>d(a),this.controller,(0,a5.g)(this,i,"f")),new bN(()=>d(b),this.controller,(0,a5.g)(this,i,"f"))]}toReadableStream(){let a,b=this;return be({async start(){a=b[Symbol.asyncIterator]()},async pull(b){try{let{value:c,done:d}=await a.next();if(d)return b.close();let e=bJ(JSON.stringify(c)+"\n");b.enqueue(e)}catch(a){b.error(a)}},async cancel(){await a.return?.()}})}}async function*bO(a,b){if(!a.body){if(b.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new bk.pJ("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new bk.pJ("Attempted to iterate over a response with no body")}let c=new bQ,d=new bL;for await(let b of bP(bg(a.body)))for(let a of d.decode(b)){let b=c.decode(a);b&&(yield b)}for(let a of d.flush()){let b=c.decode(a);b&&(yield b)}}async function*bP(a){let b=new Uint8Array;for await(let c of a){let a;if(null==c)continue;let d=c instanceof ArrayBuffer?new Uint8Array(c):"string"==typeof c?bJ(c):c,e=new Uint8Array(b.length+d.length);for(e.set(b),e.set(d,b.length),b=e;-1!==(a=function(a){for(let b=0;b<a.length-1;b++){if(10===a[b]&&10===a[b+1]||13===a[b]&&13===a[b+1])return b+2;if(13===a[b]&&10===a[b+1]&&b+3<a.length&&13===a[b+2]&&10===a[b+3])return b+4}return -1}(b));)yield b.slice(0,a),b=b.slice(a)}b.length>0&&(yield b)}class bQ{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(a){if(a.endsWith("\r")&&(a=a.substring(0,a.length-1)),!a){if(!this.event&&!this.data.length)return null;let a={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(a),a.startsWith(":"))return null;let[b,c,d]=function(a,b){let c=a.indexOf(":");return -1!==c?[a.substring(0,c),b,a.substring(c+b.length)]:[a,"",""]}(a,":");return d.startsWith(" ")&&(d=d.substring(1)),"event"===b?this.event=d:"data"===b&&this.data.push(d),null}}async function bR(a,b){let{response:c,requestLogID:d,retryOfRequestLogID:e,startTime:f}=b,g=await (async()=>{if(b.options.stream)return(0,bM.WG)(a).debug("response",c.status,c.url,c.headers,c.body),bN.fromSSEResponse(c,b.controller);if(204===c.status)return null;if(b.options.__binaryResponse)return c;let d=c.headers.get("content-type"),e=d?.split(";")[0]?.trim();if(e?.includes("application/json")||e?.endsWith("+json")){if("0"===c.headers.get("content-length"))return;return bS(await c.json(),c)}return await c.text()})();return(0,bM.WG)(a).debug(`[${d}] response parsed`,(0,bM.xL)({retryOfRequestLogID:e,url:c.url,status:c.status,body:g,durationMs:Date.now()-f})),g}function bS(a,b){return!a||"object"!=typeof a||Array.isArray(a)?a:Object.defineProperty(a,"_request_id",{value:b.headers.get("request-id"),enumerable:!1})}let bT=new WeakSet;function bU(a){return"object"==typeof a&&null!==a&&bT.has(a)}function bV(a,b,c,d){return async(e,f={})=>{if(0===b.length)return a.call(void 0,e,f);let g=f.headers instanceof Headers?f.headers:new Headers(f.headers),h=await (function(a,b,c,d){let e=async({url:b,...c})=>{try{return await a.call(void 0,b,c)}catch(b){let a=(0,a9.r)(b);throw bT.add(a),a}},f=function(a,b){let c=new WeakMap;return{options:a,logger:b?(0,bM.WG)(b):(0,bM.Um)(),parse(b){if(a?.stream&&b.ok)return bW(b,a);let d=c.get(b);return d||(d=bW(b,a),c.set(b,d)),d}}}(c,d);for(let a=b.length-1;a>=0;a--){let c=b[a],d=e;e=async a=>c(a,d,f)}return e})(a,b,c,d)({...f,headers:g,url:"string"==typeof e?e:e instanceof URL?e.href:e.url});if(h.bodyUsed||h.body?.locked)throw new bk.pJ("middleware consumed the response body; use response.clone() to inspect it, or return new Response(body, response) to consume and replace it");return h}}async function bW(a,b){if(a.bodyUsed||a.body?.locked)throw new bk.pJ("cannot ctx.parse() a response whose body was already consumed; call ctx.parse() instead of reading the body, or read via response.clone()");if(b?.stream&&a.ok)return bN.fromSSEResponse(a.clone(),new AbortController);if(204===a.status)return null;if(b?.__binaryResponse)return a;let c=a.headers.get("content-type"),d=c?.split(";")[0]?.trim();if(d?.includes("application/json")||d?.endsWith("+json")){if("0"===a.headers.get("content-length"))return;return bS(await a.clone().json(),a)}return await a.clone().text()}class bX extends Promise{constructor(a,b,c=bR){super(a=>{a(null)}),this.responsePromise=b,this.parseResponse=c,j.set(this,void 0),(0,a5.G)(this,j,a,"f")}_thenUnwrap(a){return new bX((0,a5.g)(this,j,"f"),this.responsePromise,async(b,c)=>bS(a(await this.parseResponse(b,c),c),c.response))}asResponse(){return this.responsePromise.then(a=>a.response)}async withResponse(){let[a,b]=await Promise.all([this.parse(),this.asResponse()]);return{data:a,response:b,request_id:b.headers.get("request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(a=>this.parseResponse((0,a5.g)(this,j,"f"),a))),this.parsedPromise}then(a,b){return this.parse().then(a,b)}catch(a){return this.parse().catch(a)}finally(a){return this.parse().finally(a)}}j=new WeakMap;class bY{constructor(a,b,c,d){k.set(this,void 0),(0,a5.G)(this,k,a,"f"),this.options=d,this.response=b,this.body=c}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageRequestOptions()}async getNextPage(){let a=this.nextPageRequestOptions();if(!a)throw new bk.pJ("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await (0,a5.g)(this,k,"f").requestAPIList(this.constructor,a)}async *iterPages(){let a=this;for(yield a;a.hasNextPage();)a=await a.getNextPage(),yield a}async *[(k=new WeakMap,Symbol.asyncIterator)](){for await(let a of this.iterPages())for(let b of a.getPaginatedItems())yield b}}class bZ extends bX{constructor(a,b,c){super(a,b,async(a,b)=>new c(a,b.response,await bR(a,b),b.options))}async *[Symbol.asyncIterator](){for await(let a of(await this))yield a}}class b$ extends bY{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1,this.first_id=c.first_id||null,this.last_id=c.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let a=this.first_id;return a?{...this.options,query:{...(0,a7.i8)(this.options.query),before_id:a}}:null}let a=this.last_id;return a?{...this.options,query:{...(0,a7.i8)(this.options.query),after_id:a}}:null}}class b_ extends bY{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.next_page=c.next_page||null}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){let a=this.next_page;return a?{...this.options,query:{...(0,a7.i8)(this.options.query),page:a}}:null}}let b0=()=>{if("undefined"==typeof File){let{process:a}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof a?.versions?.node&&20>parseInt(a.versions.node.split("."))?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function b1(a,b,c){return b0(),new File(a,b??"unknown_file",c)}function b2(a,b){let c="object"==typeof a&&null!==a&&("name"in a&&a.name&&String(a.name)||"url"in a&&a.url&&String(a.url)||"filename"in a&&a.filename&&String(a.filename)||"path"in a&&a.path&&String(a.path))||"";return b?c.split(/[\\/]/).pop()||void 0:c}let b3=a=>null!=a&&"object"==typeof a&&"function"==typeof a[Symbol.asyncIterator],b4=async(a,b,c=!0)=>({...a,body:await b6(a.body,b,c)}),b5=new WeakMap,b6=async(a,b,c=!0)=>{if(!await function(a){let b="function"==typeof a?a:a.fetch,c=b5.get(b);if(c)return c;let d=(async()=>{try{let a="Response"in b?b.Response:(await b("data:,")).constructor,c=new FormData;if(c.toString()===await new a(c).text())return!1;return!0}catch{return!0}})();return b5.set(b,d),d}(b))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let d=new FormData;return await Promise.all(Object.entries(a||{}).map(([a,b])=>b9(d,a,b,c))),d},b7=a=>a instanceof Blob&&"name"in a,b8=a=>{if((a=>"object"==typeof a&&null!==a&&(a instanceof Response||b3(a)||b7(a)))(a))return!0;if(Array.isArray(a))return a.some(b8);if(a&&"object"==typeof a){for(let b in a)if(b8(a[b]))return!0}return!1},b9=async(a,b,c,d)=>{if(void 0!==c){if(null==c)throw TypeError(`Received null for "${b}"; to pass null in FormData, you must use the string 'null'`);if("string"==typeof c||"number"==typeof c||"boolean"==typeof c)a.append(b,String(c));else if(c instanceof Response){let e={},f=c.headers.get("Content-Type");f&&(e={type:f}),a.append(b,b1([await c.blob()],b2(c,d),e))}else if(b3(c))a.append(b,b1([await new Response(bf(c)).blob()],b2(c,d)));else if(b7(c))a.append(b,b1([c],b2(c,d),{type:c.type}));else if(Array.isArray(c))await Promise.all(c.map(c=>b9(a,b+"[]",c,d)));else if("object"==typeof c)await Promise.all(Object.entries(c).map(([c,e])=>b9(a,`${b}[${c}]`,e,d)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${c} instead`)}},ca=a=>null!=a&&"object"==typeof a&&"number"==typeof a.size&&"string"==typeof a.type&&"function"==typeof a.text&&"function"==typeof a.slice&&"function"==typeof a.arrayBuffer;async function cb(a,b,c){let d,e;if(b0(),a=await a,b||(b=b2(a,!0)),null!=(d=a)&&"object"==typeof d&&"string"==typeof d.name&&"number"==typeof d.lastModified&&ca(d))return a instanceof File&&null==b&&null==c?a:b1([await a.arrayBuffer()],b??a.name,{type:a.type,lastModified:a.lastModified,...c});if(null!=(e=a)&&"object"==typeof e&&"string"==typeof e.url&&"function"==typeof e.blob){let d=await a.blob();return b||(b=new URL(a.url).pathname.split(/[\\/]/).pop()),b1(await cc(d),b,c)}let f=await cc(a);if(!c?.type){let a=f.find(a=>"object"==typeof a&&"type"in a&&a.type);"string"==typeof a&&(c={...c,type:a})}return b1(f,b,c)}async function cc(a){let b=[];if("string"==typeof a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer)b.push(a);else if(ca(a))b.push(a instanceof Blob?a:await a.arrayBuffer());else if(b3(a))for await(let c of a)b.push(...await cc(c));else{let b=a?.constructor?.name;throw Error(`Unexpected data type: ${typeof a}${b?`; constructor: ${b}`:""}${function(a){if("object"!=typeof a||null===a)return"";let b=Object.getOwnPropertyNames(a);return`; props: [${b.map(a=>`"${a}"`).join(", ")}]`}(a)}`)}return b}class cd{constructor(a){this._client=a}}let ce=Symbol.for("brand.privateNullableHeaders"),cf=a=>{let b=new Headers,c=new Set;for(let d of a){let a=new Set;for(let[e,f]of function*(a){let b;if(!a)return;if(ce in a){let{values:b,nulls:c}=a;for(let a of(yield*b.entries(),c))yield[a,null];return}let c=!1;for(let d of(a instanceof Headers?b=a.entries():(0,a7.MH)(a)?b=a:(c=!0,b=Object.entries(a??{})),b)){let a=d[0];if("string"!=typeof a)throw TypeError("expected header name to be a string");let b=(0,a7.MH)(d[1])?d[1]:[d[1]],e=!1;for(let d of b)void 0!==d&&(c&&!e&&(e=!0,yield[a,null]),yield[a,d])}}(d)){let d=e.toLowerCase();a.has(d)||(b.delete(e),a.add(d)),null===f?(b.delete(e),c.add(d)):(b.append(e,f),c.delete(d))}}return{[ce]:!0,values:b,nulls:c}};function cg(a){return a.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}let ch=Object.freeze(Object.create(null)),ci=((a=cg)=>function(b,...c){let d;if(1===b.length)return b[0];let e=!1,f=[],g=b.reduce((b,d,g)=>{/[?#]/.test(d)&&(e=!0);let h=c[g],i=(e?encodeURIComponent:a)(""+h);return g!==c.length&&(null==h||"object"==typeof h&&h.toString===Object.getPrototypeOf(Object.getPrototypeOf(h.hasOwnProperty??ch)??ch)?.toString)&&(i=h+"",f.push({start:b.length+d.length,length:i.length,error:`Value of type ${Object.prototype.toString.call(h).slice(8,-1)} is not a valid path parameter`})),b+d+(g===c.length?"":i)},""),h=g.split(/[?#]/,1)[0],i=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;for(;null!==(d=i.exec(h));)f.push({start:d.index,length:d[0].length,error:`Value "${d[0]}" can't be safely passed as a path parameter`});if(f.sort((a,b)=>a.start-b.start),f.length>0){let a=0,b=f.reduce((b,c)=>{let d=" ".repeat(c.start-a),e="^".repeat(c.length);return a=c.start+c.length,b+d+e},"");throw new bk.pJ(`Path parameters result in path with invalid segments:
383
383
  ${f.map(a=>a.error).join("\n")}
384
384
  ${g}
385
385
  ${b}`)}return g})(cg);class cj extends cd{retrieve(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/deployment_runs/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/deployment_runs?beta=true",b_,{query:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}}class ck extends cd{create(a,b){let{betas:c,...d}=a;return this._client.post("/v1/deployments?beta=true",{body:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}retrieve(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/deployments/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}update(a,b,c){let{betas:d,...e}=b;return this._client.post(ci`/v1/deployments/${a}?beta=true`,{body:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/deployments?beta=true",b_,{query:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}archive(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/deployments/${a}/archive?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}pause(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/deployments/${a}/pause?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}run(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/deployments/${a}/run?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}unpause(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/deployments/${a}/unpause?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}}let cl=Symbol("anthropic.sdk.stainlessHelper");function cm(a){return"object"==typeof a&&null!==a&&cl in a}function cn(a,b){let c=new Set;if(a)for(let b of a)cm(b)&&c.add(b[cl]);if(b){for(let a of b)if(cm(a)&&c.add(a[cl]),Array.isArray(a.content))for(let b of a.content)cm(b)&&c.add(b[cl])}return Array.from(c)}function co(a,b){let c=cn(a,b);return 0===c.length?{}:{"x-stainless-helper":c.join(", ")}}class cp extends cd{list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/files?beta=true",b$,{query:d,...b,headers:cf([{"anthropic-beta":[...c??[],"files-api-2025-04-14"].toString()},b?.headers])})}delete(a,b={},c){let{betas:d}=b??{};return this._client.delete(ci`/v1/files/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"files-api-2025-04-14"].toString()},c?.headers])})}download(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/files/${a}/content?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},c?.headers]),__binaryResponse:!0})}retrieveMetadata(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/files/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"files-api-2025-04-14"].toString()},c?.headers])})}upload(a,b){var c;let{betas:d,...e}=a;return this._client.post("/v1/files?beta=true",b4({body:e,...b,headers:cf([{"anthropic-beta":[...d??[],"files-api-2025-04-14"].toString()},cm(c=e.file)?{"x-stainless-helper":c[cl]}:{},b?.headers])},this._client))}}class cq extends cd{retrieve(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/models/${a}?beta=true`,{...c,headers:cf([{...d?.toString()!=null?{"anthropic-beta":d?.toString()}:void 0},c?.headers])})}list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/models?beta=true",b$,{query:d,...b,headers:cf([{...c?.toString()!=null?{"anthropic-beta":c?.toString()}:void 0},b?.headers])})}}class cr extends cd{create(a,b){let{betas:c,...d}=a;return this._client.post("/v1/user_profiles?beta=true",{body:d,...b,headers:cf([{"anthropic-beta":[...c??[],"user-profiles-2026-03-24"].toString()},b?.headers])})}retrieve(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/user_profiles/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"user-profiles-2026-03-24"].toString()},c?.headers])})}update(a,b,c){let{betas:d,...e}=b;return this._client.post(ci`/v1/user_profiles/${a}?beta=true`,{body:e,...c,headers:cf([{"anthropic-beta":[...d??[],"user-profiles-2026-03-24"].toString()},c?.headers])})}list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/user_profiles?beta=true",b_,{query:d,...b,headers:cf([{"anthropic-beta":[...c??[],"user-profiles-2026-03-24"].toString()},b?.headers])})}createEnrollmentURL(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/user_profiles/${a}/enrollment_url?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"user-profiles-2026-03-24"].toString()},c?.headers])})}}var cs=c(15184);class ct extends cd{unwrap(a,{headers:b,key:c}){if(void 0!==b){let d=void 0===c?this._client.webhookKey:c;if(null===d)throw Error("Webhook key must not be null in order to unwrap");new cs.KD(d).verify(a,b)}return JSON.parse(a)}}class cu extends cd{list(a,b={},c){let{betas:d,...e}=b??{};return this._client.getAPIList(ci`/v1/agents/${a}/versions?beta=true`,b_,{query:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}}class cv extends cd{constructor(){super(...arguments),this.versions=new cu(this._client)}create(a,b){let{betas:c,...d}=a;return this._client.post("/v1/agents?beta=true",{body:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}retrieve(a,b={},c){let{betas:d,...e}=b??{};return this._client.get(ci`/v1/agents/${a}?beta=true`,{query:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}update(a,b,c){let{betas:d,...e}=b;return this._client.post(ci`/v1/agents/${a}?beta=true`,{body:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/agents?beta=true",b_,{query:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}archive(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/agents/${a}/archive?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}}function cw(a,b){if(!a)return()=>{};if(a.aborted)return b.abort(),()=>{};let c=()=>b.abort();return a.addEventListener("abort",c),()=>a.removeEventListener("abort",c)}function cx(a,b){return a instanceof bk.LG&&a.status===b}function cy(a){return a instanceof bk.LG&&"number"==typeof a.status&&a.status>=400&&a.status<500&&!cx(a,408)&&!cx(a,409)&&!cx(a,429)}function cz(a,{authToken:b,helper:c}){if(!b)throw new bk.pJ(`copyClientForHelper: expected a non-empty authToken but received ${JSON.stringify(b)}`);let d=a._options.defaultHeaders,e=a._authState?.extraHeaders,f=cf([e?Object.fromEntries(Object.entries(e).filter(([a])=>{let b=a.toLowerCase();return"authorization"!==b&&"x-api-key"!==b})):void 0,d,{"x-stainless-helper":c}]);return a.withOptions({apiKey:null,authToken:b,baseURL:a.baseURL,credentials:void 0,defaultHeaders:f})}cv.Versions=cu;class cA{constructor(a){l.set(this,void 0),m.set(this,!1),n.set(this,void 0),o.set(this,void 0),p.set(this,void 0),q.set(this,void 0),r.set(this,void 0),s.set(this,void 0),t.set(this,void 0),this.client=a.client,this.environmentId=a.environmentId,this.environmentKey=a.environmentKey,this.workerId=a.workerId??function(){let a=globalThis.process?.env,b=a?.HOSTNAME;return b?`${b}-${a6()}`:a6()}(),(0,a5.G)(this,l,cz(a.client,{authToken:a.environmentKey,helper:"environments-work-poller"}),"f"),(0,a5.G)(this,p,a.autoStop??!0,"f"),(0,a5.G)(this,q,a.drain??!1,"f"),(0,a5.G)(this,r,void 0===a.blockMs?999:a.blockMs,"f"),(0,a5.G)(this,s,a.reclaimOlderThanMs??null,"f"),(0,a5.G)(this,t,a.requestOptions,"f"),(0,a5.G)(this,n,new AbortController,"f"),(0,a5.G)(this,o,cw(a.signal,(0,a5.g)(this,n,"f")),"f")}get signal(){return(0,a5.g)(this,n,"f").signal}abort(){(0,a5.g)(this,n,"f").abort()}async *[(l=new WeakMap,m=new WeakMap,n=new WeakMap,o=new WeakMap,p=new WeakMap,q=new WeakMap,r=new WeakMap,s=new WeakMap,t=new WeakMap,Symbol.asyncIterator)](){if((0,a5.g)(this,m,"f"))throw new bk.pJ("Cannot iterate over a consumed WorkPoller");(0,a5.G)(this,m,!0,"f");let a=(0,bM.WG)(this.client);a.info("poller starting",{component:"work-poller",environment_id:this.environmentId});try{let b=0;for(;!(0,a5.g)(this,n,"f").signal.aborted;){let c;try{c=await (0,a5.g)(this,l,"f").beta.environments.work.poll(this.environmentId,{"Anthropic-Worker-ID":this.workerId,...null!==(0,a5.g)(this,r,"f")?{block_ms:(0,a5.g)(this,r,"f")}:{},...null!==(0,a5.g)(this,s,"f")?{reclaim_older_than_ms:(0,a5.g)(this,s,"f")}:{}},{headers:cf([(0,a5.g)(this,t,"f")?.headers]),signal:(0,a5.g)(this,n,"f").signal})}catch(d){if((0,a5.g)(this,n,"f").signal.aborted)return;if(cy(d))throw a.error("poll failed permanently, stopping poller",{error:String(d)}),d;let c=function(a){return Math.min(1e3*2**a,6e4)}(b)*(1-.25*Math.random());a.warn("poll failed, backing off",{error:String(d),backoff_ms:c}),b++,await a8(c,(0,a5.g)(this,n,"f").signal);continue}if(b=0,null==c){if((0,a5.g)(this,q,"f"))return;await a8(1e3+2e3*Math.random(),(0,a5.g)(this,n,"f").signal);continue}a.info("claimed work",{component:"work-poller",environment_id:this.environmentId,work_id:c.id,work_type:c.data.type});try{await (0,a5.g)(this,l,"f").beta.environments.work.ack(c.id,{environment_id:c.environment_id},{headers:cf([(0,a5.g)(this,t,"f")?.headers]),signal:(0,a5.g)(this,n,"f").signal})}catch(b){a.error("ack failed",{work_id:c.id,error:String(b)});continue}try{yield c}finally{if((0,a5.g)(this,p,"f"))try{await (0,a5.g)(this,l,"f").beta.environments.work.stop(c.id,{environment_id:c.environment_id},{headers:cf([(0,a5.g)(this,t,"f")?.headers])})}catch(b){cx(b,409)||a.warn("stop failed",{work_id:c.id,error:String(b)})}}}}finally{(0,a5.g)(this,o,"f").call(this)}}}class cB{constructor(){u.set(this,[]),v.set(this,[]),w.set(this,!1)}push(a){if((0,a5.g)(this,w,"f"))return!1;let b=(0,a5.g)(this,v,"f").shift();return b?b({done:!1,value:a}):(0,a5.g)(this,u,"f").push(a),!0}close(){if(!(0,a5.g)(this,w,"f"))for((0,a5.G)(this,w,!0,"f");(0,a5.g)(this,v,"f").length>0;)(0,a5.g)(this,v,"f").shift()({done:!0,value:void 0})}next(a){return(0,a5.g)(this,u,"f").length>0?Promise.resolve({done:!1,value:(0,a5.g)(this,u,"f").shift()}):(0,a5.g)(this,w,"f")||a?.aborted?Promise.resolve({done:!0,value:void 0}):new Promise(b=>{let c=c=>{a?.removeEventListener("abort",d),b(c)},d=()=>{let a=(0,a5.g)(this,v,"f").indexOf(c);a>=0&&(0,a5.g)(this,v,"f").splice(a,1),b({done:!0,value:void 0})};(0,a5.g)(this,v,"f").push(c),a?.addEventListener("abort",d,{once:!0})})}tryShift(){return(0,a5.g)(this,u,"f").shift()}}u=new WeakMap,v=new WeakMap,w=new WeakMap;var cC=c(16511);function cD(a){return"name"in a?a.name:a.mcp_server_name}async function cE(a,b,c){try{let d=a.parse?a.parse(b):b;return{content:await a.run(d,c),isError:!1}}catch(a){return{content:a instanceof cC.v?a.content:`Error: ${a instanceof Error?a.message:String(a)}`,isError:!0}}}function cF(a){return"session.status_idle"===a.type&&a.stop_reason?.type==="end_turn"}class cG{constructor(a,b){x.add(this),y.set(this,!1),z.set(this,void 0),A.set(this,void 0),B.set(this,void 0),C.set(this,void 0),D.set(this,void 0),E.set(this,new Set),F.set(this,new Set),G.set(this,new cB),H.set(this,0),I.set(this,null),J.set(this,void 0),this.client=b.client,this.sessionId=a,this.tools=b.tools,this.maxIdleMs=b.maxIdleMs??6e4,(0,a5.G)(this,D,(0,bM.WG)(b.client),"f"),(0,a5.G)(this,C,new Map(b.tools.map(a=>[cD(a),a])),"f"),(0,a5.G)(this,z,new AbortController,"f"),(0,a5.G)(this,A,cw(b.signal,(0,a5.g)(this,z,"f")),"f"),(0,a5.G)(this,B,b.requestOptions,"f")}get signal(){return(0,a5.g)(this,z,"f").signal}abort(){(0,a5.g)(this,z,"f").abort()}async *[(y=new WeakMap,z=new WeakMap,A=new WeakMap,B=new WeakMap,C=new WeakMap,D=new WeakMap,E=new WeakMap,F=new WeakMap,G=new WeakMap,H=new WeakMap,I=new WeakMap,J=new WeakMap,x=new WeakSet,Symbol.asyncIterator)](){if((0,a5.g)(this,y,"f"))throw new bk.pJ("Cannot iterate over a consumed SessionToolRunner");(0,a5.G)(this,y,!0,"f"),(0,a5.g)(this,D,"f").info("session tool runner starting",{component:"session-tool-runner",session_id:this.sessionId});let a=(0,a5.g)(this,x,"m",L).call(this).catch(a=>{(0,a5.g)(this,z,"f").signal.aborted||(0,a5.g)(this,D,"f").error("stream loop failed",{error:String(a)}),(0,a5.g)(this,z,"f").abort()});try{let b;for(;;){let a=await (0,a5.g)(this,G,"f").next((0,a5.g)(this,z,"f").signal);if(a.done)break;yield a.value}for(await a;void 0!==(b=(0,a5.g)(this,G,"f").tryShift());)yield b}finally{(0,a5.g)(this,z,"f").abort(),(0,a5.g)(this,x,"m",Q).call(this),await a;try{await (0,a5.g)(this,x,"m",T).call(this)}catch(a){(0,a5.g)(this,D,"f").warn("drain failed",{error:String(a)})}for(let a of((0,a5.g)(this,G,"f").close(),this.tools))try{await a.close?.()}catch(b){(0,a5.g)(this,D,"f").warn("tool.close failed",{tool:cD(a),error:String(b)})}(0,a5.g)(this,A,"f").call(this)}}}K=function(){return{...(0,a5.g)(this,B,"f"),headers:cf([{"x-stainless-helper":"SessionToolRunner"},(0,a5.g)(this,B,"f")?.headers]),signal:(0,a5.g)(this,z,"f").signal}},L=async function(){let a=(0,a5.g)(this,z,"f"),b=500;for(;!a.signal.aborted;){try{let a=await this.client.beta.sessions.events.stream(this.sessionId,{},(0,a5.g)(this,x,"m",K).call(this));for await(let c of(await (0,a5.g)(this,x,"m",M).call(this),a))if(b=500,await (0,a5.g)(this,x,"m",O).call(this,c))return}catch(c){if(a.signal.throwIfAborted(),cy(c))throw(0,a5.g)(this,D,"f").error("permanent stream failure, shutting down",{error:String(c)}),a.abort(),c;(0,a5.g)(this,D,"f").warn("stream disconnected, reconnecting",{error:String(c),backoff_ms:b})}a.signal.throwIfAborted(),await a8(b,a.signal),b=Math.min(2*b,1e4)}},M=async function(){let a=(0,a5.g)(this,z,"f"),b=[],c=!1;try{for await(let a of this.client.beta.sessions.events.list(this.sessionId,{limit:1e3},(0,a5.g)(this,x,"m",K).call(this)))(0,a5.g)(this,x,"m",N).call(this,a,b),c=cF(a)}catch(c){for(let d of(a.signal.throwIfAborted(),(0,a5.g)(this,D,"f").warn("reconcile list failed",{error:String(c)}),b))(0,a5.g)(this,E,"f").delete(d.id);return}let d=b.filter(a=>!(0,a5.g)(this,F,"f").has(a.id));for(let a of(c&&0===d.length?(0,a5.g)(this,x,"m",P).call(this):(0,a5.g)(this,x,"m",Q).call(this),d))await (0,a5.g)(this,x,"m",R).call(this,a)},N=function(a,b){"agent.tool_use"===a.type||"agent.custom_tool_use"===a.type?((0,a5.g)(this,E,"f").add(a.id),(0,a5.g)(this,F,"f").has(a.id)||b.push(a)):"user.tool_result"===a.type?(0,a5.g)(this,F,"f").add(a.tool_use_id):"user.custom_tool_result"===a.type&&(0,a5.g)(this,F,"f").add(a.custom_tool_use_id)},O=async function(a){switch(cF(a)?(0,a5.g)(this,x,"m",P).call(this):(0,a5.g)(this,x,"m",Q).call(this),a.type){case"agent.tool_use":case"agent.custom_tool_use":return(0,a5.g)(this,E,"f").has(a.id)||((0,a5.g)(this,E,"f").add(a.id),await (0,a5.g)(this,x,"m",R).call(this,a)),!1;case"user.tool_result":return(0,a5.g)(this,F,"f").add(a.tool_use_id),!1;case"user.custom_tool_result":return(0,a5.g)(this,F,"f").add(a.custom_tool_use_id),!1;case"session.status_terminated":case"session.deleted":return(0,a5.g)(this,D,"f").info("session terminated",{component:"session-tool-runner",session_id:this.sessionId}),(0,a5.g)(this,z,"f").abort(),!0;default:return!1}},P=function(){(0,a5.g)(this,x,"m",Q).call(this),this.maxIdleMs<=0||(0,a5.G)(this,J,setTimeout(()=>{(0,a5.g)(this,D,"f").info("session idle after end_turn; stopping",{component:"session-tool-runner",session_id:this.sessionId,max_idle_ms:this.maxIdleMs}),(0,a5.g)(this,z,"f").abort()},this.maxIdleMs),"f")},Q=function(){void 0!==(0,a5.g)(this,J,"f")&&(clearTimeout((0,a5.g)(this,J,"f")),(0,a5.G)(this,J,void 0,"f"))},R=async function(a){var b,c,d,e,f;if(!(0,a5.g)(this,F,"f").has(a.id)){(0,a5.g)(this,D,"f").info("executing tool",{component:"session-tool-runner",session_id:this.sessionId,tool:a.name,tool_use_id:a.id}),(0,a5.G)(this,H,(b=(0,a5.g)(this,H,"f"),++b),"f");try{let b,c,g=(0,a5.g)(this,C,"f").get(a.name);if(!g){(0,a5.g)(this,D,"f").info("tool not owned by this runner; leaving the tool_use_id pending for its owner",{component:"session-tool-runner",session_id:this.sessionId,tool:a.name,tool_use_id:a.id}),(0,a5.g)(this,G,"f").push({event:a,toolUseId:a.id,name:a.name,isError:!1,posted:!1});return}let h=new AbortController,i=cw((0,a5.g)(this,z,"f").signal,h),j=setTimeout(()=>h.abort(),12e4);try{let d=await cE(g,a.input,{toolUse:a,toolUseBlock:a,signal:h.signal});b=d.content,c=d.isError}finally{clearTimeout(j),i()}let k=(d=a,e=c,f=function(a){if("string"==typeof a)return[{type:"text",text:a||"(no output)"}];let b=a.map(a=>"text"===a.type?{type:"text",text:a.text||"(no output)"}:"image"===a.type||"document"===a.type?a:"search_result"===a.type?{type:"search_result",source:a.source,title:a.title,content:a.content.map(a=>({type:"text",text:a.text})),citations:{enabled:a.citations?.enabled??!1}}:{type:"text",text:JSON.stringify(a)});return b.length>0?b:[{type:"text",text:"(no output)"}]}(b),"agent.custom_tool_use"===d.type?{type:"user.custom_tool_result",custom_tool_use_id:d.id,is_error:e,content:f}:{type:"user.tool_result",tool_use_id:d.id,is_error:e,content:f}),l=await (0,a5.g)(this,x,"m",S).call(this,k,a.id);(0,a5.g)(this,G,"f").push({event:a,result:k,toolUseId:a.id,name:a.name,isError:c,posted:l})}finally{(0,a5.G)(this,H,(c=(0,a5.g)(this,H,"f"),--c),"f"),0===(0,a5.g)(this,H,"f")&&(0,a5.g)(this,I,"f")?.call(this)}}},S=async function(a,b){let c,d=(0,a5.g)(this,z,"f");for(let e=0;e<3;e++){d.signal.throwIfAborted();try{return await this.client.beta.sessions.events.send(this.sessionId,{events:[a]},(0,a5.g)(this,x,"m",K).call(this)),(0,a5.g)(this,F,"f").add(b),!0}catch(a){if(c=a,cy(a))break;e<2&&await a8((e+1)*1e3,d.signal)}}return(0,a5.g)(this,D,"f").error("failed to send tool result",{tool_use_id:b,error:String(c)}),!1},T=async function(){0!==(0,a5.g)(this,H,"f")&&(await Promise.race([new Promise(a=>(0,a5.G)(this,I,a,"f")),a8(3e4)]),(0,a5.G)(this,I,null,"f"),(0,a5.g)(this,H,"f")>0&&(0,a5.g)(this,D,"f").warn("drain timeout exceeded"))};class cH{constructor(a){U.add(this),V.set(this,void 0),this.client=a.client,this.environmentId=a.environmentId,this.environmentKey=a.environmentKey,this.tools=a.tools,this.workdir=a.workdir??process.cwd(),this.unrestrictedPaths=a.unrestrictedPaths,this.maxFileBytes=a.maxFileBytes,this.maxIdleMs=a.maxIdleMs,this.workerId=a.workerId,this.requestOptions=a.requestOptions,(0,a5.G)(this,V,a.signal,"f")}async run(a){let{environmentId:b,environmentKey:c}=this;if(void 0===b||void 0===c)throw new bk.pJ("EnvironmentWorker.run: environmentId and environmentKey are required to poll for work");let d=a??(0,a5.g)(this,V,"f"),e=new cA({client:this.client,environmentId:b,environmentKey:c,...void 0!==this.workerId?{workerId:this.workerId}:{},...d?{signal:d}:{},...void 0!==this.requestOptions?{requestOptions:this.requestOptions}:{},autoStop:!1});for await(let a of e)await (0,a5.g)(this,U,"m",W).call(this,a,c,e.signal)}async handleItem(a){let b=a?.workId??(0,bx.s)("ANTHROPIC_WORK_ID"),c=a?.environmentId??(0,bx.s)("ANTHROPIC_ENVIRONMENT_ID"),d=a?.sessionId??(0,bx.s)("ANTHROPIC_SESSION_ID"),e=a?.environmentKey??this.environmentKey??(0,bx.s)("ANTHROPIC_ENVIRONMENT_KEY");if(!b)throw new bk.pJ("handleItem: workId is required — pass it or set ANTHROPIC_WORK_ID");if(!c)throw new bk.pJ("handleItem: environmentId is required — pass it or set ANTHROPIC_ENVIRONMENT_ID");if(!d)throw new bk.pJ("handleItem: sessionId is required — pass it or set ANTHROPIC_SESSION_ID");if(!e)throw new bk.pJ("handleItem: environmentKey is required — pass it, construct the worker with it, or set ANTHROPIC_ENVIRONMENT_KEY");await (0,a5.g)(this,U,"m",W).call(this,{id:b,environment_id:c,data:{type:"session",id:d}},e,a?.signal??(0,a5.g)(this,V,"f"))}}async function cI(a,b,c,d){try{await a.beta.environments.work.stop(b.id,{environment_id:b.environment_id,force:!0},{...d,headers:cf([d?.headers])})}catch(a){cx(a,409)||c.error("force-stop on exit failed",{work_id:b.id,error:String(a)})}}async function cJ(a,b,c,d,e){let f=3e4,g="NO_HEARTBEAT",h=async()=>{try{let h=await a.beta.environments.work.heartbeat(b.id,{environment_id:b.environment_id,expected_last_heartbeat:g},{...e,headers:cf([e?.headers]),signal:c.signal});g=h.last_heartbeat,h.ttl_seconds>0&&(f=Math.max(1e3,Math.min(1e3*h.ttl_seconds/2,3e4))),("stopping"===h.state||"stopped"===h.state)&&(d.info("heartbeat signals shutdown",{work_id:b.id,state:h.state}),c.abort()),h.lease_extended||(d.warn("lease not extended, shutting down",{work_id:b.id}),c.abort())}catch(a){if(c.signal.throwIfAborted(),cy(a))throw d.error("permanent heartbeat failure",{work_id:b.id,error:String(a)}),c.abort(),a;d.warn("transient heartbeat failure",{work_id:b.id,error:String(a)})}};for(await h();!c.signal.aborted;)await a8(f,c.signal),c.signal.throwIfAborted(),await h()}V=new WeakMap,U=new WeakSet,W=async function(a,b,d){let e=(0,bM.WG)(this.client),f=cz(this.client,{authToken:b,helper:"environments-worker"}),g=a.data.id,h={workdir:this.workdir,client:this.client,sessionId:g,...void 0!==this.unrestrictedPaths?{unrestrictedPaths:this.unrestrictedPaths}:{},...void 0!==this.maxFileBytes?{maxFileBytes:this.maxFileBytes}:{}},i=await c.e(7412).then(c.bind(c,7412)),j=async()=>{};try{j=await i.setupSkills(h)}catch(b){e.warn("skill setup failed",{session_id:g,work_id:a.id,error:String(b)})}let k="function"==typeof this.tools?this.tools(h):this.tools??i.betaAgentToolset20260401(h),l=new AbortController,m=cw(d,l),n=cJ(f,a,l,e,this.requestOptions).catch(b=>{l.signal.aborted||e.error("heartbeat loop failed",{work_id:a.id,error:String(b)}),l.abort()});try{for await(let a of new cG(g,{client:f,tools:k,...void 0!==this.maxIdleMs?{maxIdleMs:this.maxIdleMs}:{},...void 0!==this.requestOptions?{requestOptions:this.requestOptions}:{},signal:l.signal}));}finally{l.abort(),m(),await n,await j().catch(b=>{e.warn("skill cleanup failed",{session_id:g,work_id:a.id,error:String(b)})}),await cI(f,a,e,this.requestOptions)}};class cK extends cd{retrieve(a,b,c){let{environment_id:d,betas:e}=b;return this._client.get(ci`/v1/environments/${d}/work/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...e??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}update(a,b,c){let{environment_id:d,betas:e,...f}=b;return this._client.post(ci`/v1/environments/${d}/work/${a}?beta=true`,{body:f,...c,headers:cf([{"anthropic-beta":[...e??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}list(a,b={},c){let{betas:d,...e}=b??{};return this._client.getAPIList(ci`/v1/environments/${a}/work?beta=true`,b_,{query:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}ack(a,b,c){let{environment_id:d,betas:e}=b;return this._client.post(ci`/v1/environments/${d}/work/${a}/ack?beta=true`,{...c,headers:cf([{"anthropic-beta":[...e??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}heartbeat(a,b,c){let{environment_id:d,desired_ttl_seconds:e,expected_last_heartbeat:f,betas:g}=b;return this._client.post(ci`/v1/environments/${d}/work/${a}/heartbeat?beta=true`,{query:{desired_ttl_seconds:e,expected_last_heartbeat:f},...c,headers:cf([{"anthropic-beta":[...g??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}poll(a,b={},c){let{betas:d,"Anthropic-Worker-ID":e,...f}=b??{};return this._client.get(ci`/v1/environments/${a}/work/poll?beta=true`,{query:f,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString(),...null!=e?{"Anthropic-Worker-ID":e}:void 0},c?.headers])})}stats(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/environments/${a}/work/stats?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}stop(a,b,c){let{environment_id:d,betas:e,...f}=b;return this._client.post(ci`/v1/environments/${d}/work/${a}/stop?beta=true`,{body:f,...c,headers:cf([{"anthropic-beta":[...e??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}poller(a){return new cA({...a,client:this._client})}worker(a){return new cH({...a,client:this._client})}}cK.WorkPoller=cA,cK.EnvironmentWorker=cH;class cL extends cd{constructor(){super(...arguments),this.work=new cK(this._client)}create(a,b){let{betas:c,...d}=a;return this._client.post("/v1/environments?beta=true",{body:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}retrieve(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/environments/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}update(a,b,c){let{betas:d,...e}=b;return this._client.post(ci`/v1/environments/${a}?beta=true`,{body:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/environments?beta=true",b_,{query:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}delete(a,b={},c){let{betas:d}=b??{};return this._client.delete(ci`/v1/environments/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}archive(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/environments/${a}/archive?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}}cL.Work=cK;class cM extends cd{create(a,b,c){let{view:d,betas:e,...f}=b;return this._client.post(ci`/v1/memory_stores/${a}/memories?beta=true`,{query:{view:d},body:f,...c,headers:cf([{"anthropic-beta":[...e??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}retrieve(a,b,c){let{memory_store_id:d,betas:e,...f}=b;return this._client.get(ci`/v1/memory_stores/${d}/memories/${a}?beta=true`,{query:f,...c,headers:cf([{"anthropic-beta":[...e??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}update(a,b,c){let{memory_store_id:d,view:e,betas:f,...g}=b;return this._client.post(ci`/v1/memory_stores/${d}/memories/${a}?beta=true`,{query:{view:e},body:g,...c,headers:cf([{"anthropic-beta":[...f??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}list(a,b={},c){let{betas:d,...e}=b??{};return this._client.getAPIList(ci`/v1/memory_stores/${a}/memories?beta=true`,b_,{query:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}delete(a,b,c){let{memory_store_id:d,expected_content_sha256:e,betas:f}=b;return this._client.delete(ci`/v1/memory_stores/${d}/memories/${a}?beta=true`,{query:{expected_content_sha256:e},...c,headers:cf([{"anthropic-beta":[...f??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}}class cN extends cd{retrieve(a,b,c){let{memory_store_id:d,betas:e,...f}=b;return this._client.get(ci`/v1/memory_stores/${d}/memory_versions/${a}?beta=true`,{query:f,...c,headers:cf([{"anthropic-beta":[...e??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}list(a,b={},c){let{betas:d,...e}=b??{};return this._client.getAPIList(ci`/v1/memory_stores/${a}/memory_versions?beta=true`,b_,{query:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}redact(a,b,c){let{memory_store_id:d,betas:e}=b;return this._client.post(ci`/v1/memory_stores/${d}/memory_versions/${a}/redact?beta=true`,{...c,headers:cf([{"anthropic-beta":[...e??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}}class cO extends cd{constructor(){super(...arguments),this.memories=new cM(this._client),this.memoryVersions=new cN(this._client)}create(a,b){let{betas:c,...d}=a;return this._client.post("/v1/memory_stores?beta=true",{body:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}retrieve(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/memory_stores/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}update(a,b,c){let{betas:d,...e}=b;return this._client.post(ci`/v1/memory_stores/${a}?beta=true`,{body:e,...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/memory_stores?beta=true",b_,{query:d,...b,headers:cf([{"anthropic-beta":[...c??[],"managed-agents-2026-04-01"].toString()},b?.headers])})}delete(a,b={},c){let{betas:d}=b??{};return this._client.delete(ci`/v1/memory_stores/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}archive(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/memory_stores/${a}/archive?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"managed-agents-2026-04-01"].toString()},c?.headers])})}}cO.Memories=cM,cO.MemoryVersions=cN;class cP{constructor(a,b){this.iterator=a,this.controller=b}async *decoder(){let a=new bL;for await(let b of this.iterator)for(let c of a.decode(b))yield JSON.parse(c);for(let b of a.flush())yield JSON.parse(b)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(a,b){if(!a.body){if(b.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new bk.pJ("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new bk.pJ("Attempted to iterate over a response with no body")}return new cP(bg(a.body),b)}}class cQ extends cd{create(a,b){let{betas:c,...d}=a;return this._client.post("/v1/messages/batches?beta=true",{body:d,...b,headers:cf([{"anthropic-beta":[...c??[],"message-batches-2024-09-24"].toString()},b?.headers])})}retrieve(a,b={},c){let{betas:d}=b??{};return this._client.get(ci`/v1/messages/batches/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"message-batches-2024-09-24"].toString()},c?.headers])})}list(a={},b){let{betas:c,...d}=a??{};return this._client.getAPIList("/v1/messages/batches?beta=true",b$,{query:d,...b,headers:cf([{"anthropic-beta":[...c??[],"message-batches-2024-09-24"].toString()},b?.headers])})}delete(a,b={},c){let{betas:d}=b??{};return this._client.delete(ci`/v1/messages/batches/${a}?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"message-batches-2024-09-24"].toString()},c?.headers])})}cancel(a,b={},c){let{betas:d}=b??{};return this._client.post(ci`/v1/messages/batches/${a}/cancel?beta=true`,{...c,headers:cf([{"anthropic-beta":[...d??[],"message-batches-2024-09-24"].toString()},c?.headers])})}async results(a,b={},c){let d=await this.retrieve(a);if(!d.results_url)throw new bk.pJ(`No batch \`results_url\`; Has it finished processing? ${d.processing_status} - ${d.id}`);let{betas:e}=b??{};return this._client.get(d.results_url,{...c,headers:cf([{"anthropic-beta":[...e??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},c?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((a,b)=>cP.fromResponse(b.response,b.controller))}}let cR={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};function cS(a){return a?.output_format??a?.output_config?.format}function cT(a,b,c){let d=cS(b);return b&&"parse"in(d??{})?cU(a,b,c):{...a,content:a.content.map(a=>"text"===a.type?Object.defineProperty(Object.defineProperty({...a},"parsed_output",{value:null,enumerable:!1}),"parsed",{get:()=>(c.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null),enumerable:!1}):a),parsed_output:null}}function cU(a,b,c){let d=null,e=a.content.map(a=>{if("text"===a.type){let e=function(a,b){let c=cS(a);if(c?.type!=="json_schema")return null;try{if("parse"in c)return c.parse(b);return JSON.parse(b)}catch(a){throw new bk.pJ(`Failed to parse structured output: ${a}`)}}(b,a.text);return null===d&&(d=e),Object.defineProperty(Object.defineProperty({...a},"parsed_output",{value:e,enumerable:!1}),"parsed",{get:()=>(c.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),e),enumerable:!1})}return a});return{...a,content:e,parsed_output:d}}let cV=a=>{if(0===a.length)return a;let b=a[a.length-1];switch(b.type){case"separator":return cV(a=a.slice(0,a.length-1));case"number":let c=b.value[b.value.length-1];if("."===c||"-"===c||"+"===c||"e"===c||"E"===c)return cV(a=a.slice(0,a.length-1));case"string":let d=a[a.length-2];if(d?.type==="delimiter"||d?.type==="brace"&&"{"===d.value)return cV(a=a.slice(0,a.length-1));break;case"delimiter":return cV(a=a.slice(0,a.length-1))}return a},cW="__json_buf";function cX(a,b){let c,d={};for(let b of Object.keys(a))"input"!==b&&(d[b]=a[b]);Object.defineProperty(d,cW,{value:b,enumerable:!1,writable:!0});let e=!1;return Object.defineProperty(d,"input",{enumerable:!0,configurable:!0,get(){if(!e){var a;let d,f;c=b?JSON.parse((a=cV((a=>{let b=0,c=[];for(;b<a.length;){let d=a[b];if("\\"===d){b++;continue}if("{"===d){c.push({type:"brace",value:"{"}),b++;continue}if("}"===d){c.push({type:"brace",value:"}"}),b++;continue}if("["===d){c.push({type:"paren",value:"["}),b++;continue}if("]"===d){c.push({type:"paren",value:"]"}),b++;continue}if(":"===d){c.push({type:"separator",value:":"}),b++;continue}if(","===d){c.push({type:"delimiter",value:","}),b++;continue}if('"'===d){let e="",f=!1;for(d=a[++b];'"'!==d;){if(b===a.length){f=!0;break}if("\\"===d){if(++b===a.length){f=!0;break}e+=d+a[b],d=a[++b]}else e+=d,d=a[++b]}d=a[++b],f||c.push({type:"string",value:e});continue}let e=/\s/;if(d&&e.test(d)){b++;continue}let f=/[0-9]/;if(d&&f.test(d)||"-"===d||"."===d){let e="";for("-"===d&&(e+=d,d=a[++b]);d&&(f.test(d)||"."===d||"e"===d||"E"===d||("-"===d||"+"===d)&&("e"===e[e.length-1]||"E"===e[e.length-1]));)e+=d,d=a[++b];c.push({type:"number",value:e});continue}let g=/[a-z]/i;if(d&&g.test(d)){let e="";for(;d&&g.test(d)&&b!==a.length;)e+=d,d=a[++b];"true"==e||"false"==e||"null"===e?c.push({type:"name",value:e}):b++;continue}b++}return c})(b)),d=[],a.map(a=>{"brace"===a.type&&("{"===a.value?d.push("}"):d.splice(d.lastIndexOf("}"),1)),"paren"===a.type&&("["===a.value?d.push("]"):d.splice(d.lastIndexOf("]"),1))}),d.length>0&&d.reverse().map(b=>{"}"===b?a.push({type:"brace",value:"}"}):"]"===b&&a.push({type:"paren",value:"]"})}),f="",a.map(a=>{"string"===a.type?f+='"'+a.value+'"':f+=a.value}),f)):{},e=!0}return c}}),d}function cY(a){return"tool_use"===a.type||"server_tool_use"===a.type||"mcp_tool_use"===a.type}class cZ{constructor(a,b){X.add(this),this.messages=[],this.receivedMessages=[],Y.set(this,void 0),Z.set(this,null),this.controller=new AbortController,$.set(this,void 0),_.set(this,()=>{}),aa.set(this,()=>{}),ab.set(this,void 0),ac.set(this,()=>{}),ad.set(this,()=>{}),ae.set(this,{}),af.set(this,!1),ag.set(this,!1),ah.set(this,!1),ai.set(this,!1),aj.set(this,void 0),ak.set(this,void 0),al.set(this,void 0),ao.set(this,a=>{if((0,a5.G)(this,ag,!0,"f"),(0,a9.z)(a)&&(a=new bk.cH),a instanceof bk.cH)return(0,a5.G)(this,ah,!0,"f"),this._emit("abort",a);if(a instanceof bk.pJ)return this._emit("error",a);if(a instanceof Error){let b=new bk.pJ(a.message);return b.cause=a,this._emit("error",b)}return this._emit("error",new bk.pJ(String(a)))}),(0,a5.G)(this,$,new Promise((a,b)=>{(0,a5.G)(this,_,a,"f"),(0,a5.G)(this,aa,b,"f")}),"f"),(0,a5.G)(this,ab,new Promise((a,b)=>{(0,a5.G)(this,ac,a,"f"),(0,a5.G)(this,ad,b,"f")}),"f"),(0,a5.g)(this,$,"f").catch(()=>{}),(0,a5.g)(this,ab,"f").catch(()=>{}),(0,a5.G)(this,Z,a,"f"),(0,a5.G)(this,al,b?.logger??console,"f")}get response(){return(0,a5.g)(this,aj,"f")}get request_id(){return(0,a5.g)(this,ak,"f")}async withResponse(){(0,a5.G)(this,ai,!0,"f");let a=await (0,a5.g)(this,$,"f");if(!a)throw Error("Could not resolve a `Response` object");return{data:this,response:a,request_id:a.headers.get("request-id")}}static fromReadableStream(a){let b=new cZ(null);return b._run(()=>b._fromReadableStream(a)),b}static createMessage(a,b,c,{logger:d}={}){let e=new cZ(b,{logger:d});for(let a of b.messages)e._addMessageParam(a);return(0,a5.G)(e,Z,{...b,stream:!0},"f"),e._run(()=>e._createMessage(a,{...b,stream:!0},{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),e}_run(a){a().then(()=>{this._emitFinal(),this._emit("end")},(0,a5.g)(this,ao,"f"))}_addMessageParam(a){this.messages.push(a)}_addMessage(a,b=!0){this.receivedMessages.push(a),b&&this._emit("message",a)}async _createMessage(a,b,c){let d,e=c?.signal;e&&(e.aborted&&this.controller.abort(),d=this.controller.abort.bind(this.controller),e.addEventListener("abort",d));try{(0,a5.g)(this,X,"m",ap).call(this);let{response:d,data:e}=await a.create({...b,stream:!0},{...c,signal:this.controller.signal}).withResponse();for await(let a of(this._connected(d),e))(0,a5.g)(this,X,"m",aq).call(this,a);if(e.controller.signal?.aborted)throw new bk.cH;(0,a5.g)(this,X,"m",ar).call(this)}finally{e&&d&&e.removeEventListener("abort",d)}}_connected(a){this.ended||((0,a5.G)(this,aj,a,"f"),(0,a5.G)(this,ak,a?.headers.get("request-id"),"f"),(0,a5.g)(this,_,"f").call(this,a),this._emit("connect"))}get ended(){return(0,a5.g)(this,af,"f")}get errored(){return(0,a5.g)(this,ag,"f")}get aborted(){return(0,a5.g)(this,ah,"f")}abort(){this.controller.abort()}on(a,b){return((0,a5.g)(this,ae,"f")[a]||((0,a5.g)(this,ae,"f")[a]=[])).push({listener:b}),this}off(a,b){let c=(0,a5.g)(this,ae,"f")[a];if(!c)return this;let d=c.findIndex(a=>a.listener===b);return d>=0&&c.splice(d,1),this}once(a,b){return((0,a5.g)(this,ae,"f")[a]||((0,a5.g)(this,ae,"f")[a]=[])).push({listener:b,once:!0}),this}emitted(a){return new Promise((b,c)=>{(0,a5.G)(this,ai,!0,"f"),"error"!==a&&this.once("error",c),this.once(a,b)})}async done(){(0,a5.G)(this,ai,!0,"f"),await (0,a5.g)(this,ab,"f")}get currentMessage(){return(0,a5.g)(this,Y,"f")}async finalMessage(){return await this.done(),(0,a5.g)(this,X,"m",am).call(this)}async finalText(){return await this.done(),(0,a5.g)(this,X,"m",an).call(this)}_emit(a,...b){if((0,a5.g)(this,af,"f"))return;"end"===a&&((0,a5.G)(this,af,!0,"f"),(0,a5.g)(this,ac,"f").call(this));let c=(0,a5.g)(this,ae,"f")[a];if(c&&((0,a5.g)(this,ae,"f")[a]=c.filter(a=>!a.once),c.forEach(({listener:a})=>a(...b))),"abort"===a){let a=b[0];(0,a5.g)(this,ai,"f")||c?.length||Promise.reject(a),(0,a5.g)(this,aa,"f").call(this,a),(0,a5.g)(this,ad,"f").call(this,a),this._emit("end");return}if("error"===a){let a=b[0];(0,a5.g)(this,ai,"f")||c?.length||Promise.reject(a),(0,a5.g)(this,aa,"f").call(this,a),(0,a5.g)(this,ad,"f").call(this,a),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",(0,a5.g)(this,X,"m",am).call(this))}async _fromReadableStream(a,b){let c,d=b?.signal;d&&(d.aborted&&this.controller.abort(),c=this.controller.abort.bind(this.controller),d.addEventListener("abort",c));try{(0,a5.g)(this,X,"m",ap).call(this),this._connected(null);let b=bN.fromReadableStream(a,this.controller);for await(let a of b)(0,a5.g)(this,X,"m",aq).call(this,a);if(b.controller.signal?.aborted)throw new bk.cH;(0,a5.g)(this,X,"m",ar).call(this)}finally{d&&c&&d.removeEventListener("abort",c)}}[(Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ab=new WeakMap,ac=new WeakMap,ad=new WeakMap,ae=new WeakMap,af=new WeakMap,ag=new WeakMap,ah=new WeakMap,ai=new WeakMap,aj=new WeakMap,ak=new WeakMap,al=new WeakMap,ao=new WeakMap,X=new WeakSet,am=function(){if(0===this.receivedMessages.length)throw new bk.pJ("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},an=function(){if(0===this.receivedMessages.length)throw new bk.pJ("stream ended without producing a Message with role=assistant");let a=this.receivedMessages.at(-1).content.filter(a=>"text"===a.type).map(a=>a.text);if(0===a.length)throw new bk.pJ("stream ended without producing a content block with type=text");return a.join(" ")},ap=function(){this.ended||(0,a5.G)(this,Y,void 0,"f")},aq=function(a){if(this.ended)return;let b=(0,a5.g)(this,X,"m",as).call(this,a);switch(this._emit("streamEvent",a,b),a.type){case"content_block_delta":{let c=b.content.at(-1);switch(a.delta.type){case"text_delta":"text"===c.type&&this._emit("text",a.delta.text,c.text||"");break;case"citations_delta":"text"===c.type&&this._emit("citation",a.delta.citation,c.citations??[]);break;case"input_json_delta":if(cY(c)&&(0,a5.g)(this,ae,"f").inputJson?.length){let b;try{b=c.input}catch(a){(0,a5.g)(this,ao,"f").call(this,(0,a5.g)(this,X,"m",at).call(this,c,a));break}this._emit("inputJson",a.delta.partial_json,b)}break;case"thinking_delta":"thinking"===c.type&&this._emit("thinking",a.delta.thinking,c.thinking);break;case"signature_delta":"thinking"===c.type&&this._emit("signature",c.signature);break;case"compaction_delta":"compaction"===c.type&&c.content&&this._emit("compaction",c.content);break;default:a.delta}break}case"message_stop":this._addMessageParam(b),this._addMessage(cT(b,(0,a5.g)(this,Z,"f"),{logger:(0,a5.g)(this,al,"f")}),!0);break;case"content_block_stop":this._emit("contentBlock",b.content.at(-1));break;case"message_start":(0,a5.G)(this,Y,b,"f")}},ar=function(){if(this.ended)throw new bk.pJ("stream has ended, this shouldn't happen");let a=(0,a5.g)(this,Y,"f");if(!a)throw new bk.pJ("request ended without sending any chunks");return(0,a5.G)(this,Y,void 0,"f"),cT(a,(0,a5.g)(this,Z,"f"),{logger:(0,a5.g)(this,al,"f")})},as=function(a){let b=(0,a5.g)(this,Y,"f");if("message_start"===a.type){if(b)throw new bk.pJ(`Unexpected event order, got ${a.type} before receiving "message_stop"`);return a.message}if(!b)throw new bk.pJ(`Unexpected event order, got ${a.type} before "message_start"`);switch(a.type){case"message_stop":return b;case"message_delta":return b.container=a.delta.container,b.stop_reason=a.delta.stop_reason,b.stop_sequence=a.delta.stop_sequence,null!=a.delta.stop_details&&(b.stop_details=a.delta.stop_details),b.usage.output_tokens=a.usage.output_tokens,b.context_management=a.context_management,null!=a.usage.input_tokens&&(b.usage.input_tokens=a.usage.input_tokens),null!=a.usage.cache_creation_input_tokens&&(b.usage.cache_creation_input_tokens=a.usage.cache_creation_input_tokens),null!=a.usage.cache_read_input_tokens&&(b.usage.cache_read_input_tokens=a.usage.cache_read_input_tokens),null!=a.usage.server_tool_use&&(b.usage.server_tool_use=a.usage.server_tool_use),null!=a.usage.iterations&&(b.usage.iterations=a.usage.iterations),b;case"content_block_start":return b.content.push(a.content_block),"fallback"===a.content_block.type&&(b.model=a.content_block.to.model),b;case"content_block_delta":{let c=b.content.at(a.index);switch(a.delta.type){case"text_delta":c?.type==="text"&&(b.content[a.index]={...c,text:(c.text||"")+a.delta.text});break;case"citations_delta":c?.type==="text"&&(b.content[a.index]={...c,citations:[...c.citations??[],a.delta.citation]});break;case"input_json_delta":if(c&&cY(c)){let d=(c[cW]||"")+a.delta.partial_json;b.content[a.index]=cX(c,d)}break;case"thinking_delta":c?.type==="thinking"&&(b.content[a.index]={...c,thinking:c.thinking+a.delta.thinking});break;case"signature_delta":c?.type==="thinking"&&(b.content[a.index]={...c,signature:a.delta.signature});break;case"compaction_delta":c?.type==="compaction"&&(b.content[a.index]={...c,content:(c.content||"")+a.delta.content,encrypted_content:a.delta.encrypted_content});break;default:a.delta}return b}case"content_block_stop":{let c=b.content.at(a.index);if(c&&cY(c)&&cW in c){let a;try{a=c.input}catch(b){a={},(0,a5.g)(this,ao,"f").call(this,(0,a5.g)(this,X,"m",at).call(this,c,b))}Object.defineProperty(c,"input",{value:a,enumerable:!0,configurable:!0,writable:!0})}return b}}},at=function(a,b){let c=a[cW];return new bk.pJ(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${b}. JSON: ${c}`)},Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("streamEvent",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new bN(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}var c$=c(51442);let c_=`You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
@@ -432,4 +432,4 @@ Stderr output:
432
432
  ${d}`:`MCP error ${a.code}: ${e}`}let f=i4(a);return d?`${f}
433
433
 
434
434
  Stderr output:
435
- ${d}`:f}let i6=["OAuth authentication required","UnauthorizedError","invalid_token","token_expired","HTTP 401","HTTP 403","Missing Authorization header","Authorization header is required"];function i7(a){if(!(a instanceof Error))return!1;if(i8(a))return!0;let b=a.code;return 401===b||403===b||i6.some(b=>a.message.includes(b))}function i8(a){if(!(a instanceof Error))return!1;if("OAuthAuthenticationRequired"===a.name)return!0;let b=a.errorCode;return"string"==typeof b&&b.length>0||a.message.includes("OAuth authentication required")}let i9=new Set(["npx","bunx","uvx","pipx","dlx"]),ja=new Set(["pnpm","yarn","bun","npm"]),jb=new Set(["dlx","exec","x"]);function jc(a,b=[]){let c=((a||"").split(/[\\/]/).filter(Boolean).pop()||"").toLowerCase().replace(/\.(cmd|exe|bat|ps1)$/i,"");if(i9.has(c))return!0;if(ja.has(c)){let a=(b[0]||"").toLowerCase();return jb.has(a)}return!1}let jd=new Set(["node","npm","npx"]);var je=c(28181),jf=c(12763),jg=c(39848),jh=c(5091);let ji=(0,o.h)("backend/services/mcp/sampling");function jj(a){return a.sampling}function jk(a){let b=jj(a);return!!(b?.enabled&&b.modelId)}function jl(a){let b=[];return async c=>{let d=jj(a);if(!d?.enabled||!d.modelId)throw new s.Nh(s.O4.InvalidRequest,"Sampling is not enabled for this server");let e=d.maxCallsPerMinute??10,f=Date.now(),g=f-6e4;for(;b.length>0&&b[0]<g;)b.shift();if(b.length>=e)throw ji.warn(`Sampling rate limit (${e}/min) hit for ${a.name}`),new s.Nh(s.O4.InvalidRequest,`Sampling rate limit of ${e}/min exceeded`);b.push(f);let h=await jf.modelService.getModel(d.modelId);if(!h)throw new s.Nh(s.O4.InternalError,`Sampling model not found: ${d.modelId}`);let i=await jf.modelService.resolveAndDecryptApiKey(h.ApiKey);if(!i)throw new s.Nh(s.O4.InternalError,"Could not resolve the sampling model API key");let j=c.params,k=function(a){let b=[];for(let c of(a.systemPrompt&&b.push({role:"system",content:a.systemPrompt}),a.messages||[])){let a=c.content,d=a?.type==="text"&&"string"==typeof a.text?a.text:`[unsupported ${a?.type||"non-text"} content omitted]`;b.push({role:c.role,content:d})}return b}(j),l="number"==typeof j.temperature?j.temperature:.7;ji.info(`Sampling for ${a.name} via model ${h.name} (${k.length} messages)`);let m=(0,jg.getCompletionAdapter)(h),n=d.maxTokens??(0,jh.normalizeMaxTokens)(h.maxTokens),{completion:o}=await m.createCompletion({model:h,apiKey:i,messages:k,temperature:l,maxTokens:n}),p=o.choices?.[0]?.message?.content;return{role:"assistant",content:{type:"text",text:"string"==typeof p?p:""},model:h.name,stopReason:"endTurn"}}}var jm=c(96249),jn=c(81970);let jo=(0,o.h)("backend/services/mcp/elicitationRegistry"),jp=globalThis,jq=jp.__flujoElicitationRegistry??(jp.__flujoElicitationRegistry=new Map),jr=(0,o.h)("backend/services/mcp/elicitation");function js(a){return a.elicitation}function jt(a){let b=js(a);return!!b?.enabled}function ju(a){return async b=>{if(!jt(a))throw new s.Nh(s.O4.MethodNotFound,"Elicitation is not enabled for this server");let c=(0,jn.lx)(a.name);if(!c)return jr.warn(`Elicitation request from ${a.name} outside an active run; auto-cancelling`),{action:"cancel"};if(c.getUnattended())return jr.warn(`Elicitation request from ${a.name} in unattended run ${c.conversationId}; auto-cancelling`),{action:"cancel"};let d=b.params;if(d?.mode==="url")return jr.warn(`Elicitation URL mode is not supported in V1 (server: ${a.name}); auto-cancelling`),{action:"cancel"};let e=d?.message??"Additional information required",f=d?.requestedSchema??{type:"object",properties:{}},g=crypto.randomUUID();jr.info(`Suspending for elicitation ${g} from ${a.name} in conv ${c.conversationId}`),jm.$.emitterFor(c.conversationId)({type:"run:awaiting_elicitation",elicitationId:g,message:e,requestedSchema:f});let h=await function(a,b=3e5){return new Promise(c=>{let d=setTimeout(()=>{jq.has(a)&&(jo.warn(`Elicitation ${a} timed out after ${b}ms; auto-cancelling`),jq.delete(a),c({action:"cancel"}))},b);jq.set(a,{resolve:c,timer:d})})}(g);return jr.info(`Elicitation ${g} resolved with action=${h.action}`),h}}var jv=c(12190);let jw=["key","secret","token","password"];function jx(a,b){return a&&"object"==typeof a&&"value"in a?{value:a.value??"",isSecret:!!a.metadata?.isSecret}:{value:a??"",isSecret:jw.some(a=>b.toLowerCase().includes(a))||"authorization"===b.trim().toLowerCase()}}function jy(a){return a===jv.RJ||a===jv.gF}var jz=c(48254);function jA(a){return[function(a){let b=jj(a);return b?.enabled?JSON.stringify({m:b.modelId,t:b.maxTokens,r:b.maxCallsPerMinute}):""}(a),function(a){let b=js(a);return b?.enabled?"e:1":""}(a),!0===a.enableMcpApps?"mcp-apps:on":"mcp-apps:off"].join("|")}let jB=(0,o.h)("backend/services/mcp/connection");async function jC(a){let b=a;if(a.env&&"object"==typeof a.env){let c={};for(let[b,d]of Object.entries(a.env)){if(!b)continue;let a=d&&"object"==typeof d&&"value"in d?d.value??"":d??"";if(!a||jy(a))continue;let e=await (0,t.G)(a);e&&(c[b]=e)}b={...b,env:c}}if("streamable"!==a.transport&&"sse"!==a.transport||!a.headers||"object"!=typeof a.headers)return b;let c={};for(let[b,d]of Object.entries(a.headers)){if(!b)continue;let{value:a}=jx(d,b);if(!a||jy(a))continue;let e=await (0,t.G)(a);e&&(c[b]=e)}return{...b,headers:c}}function jD(a){let b={};for(let[c,d]of Object.entries(a)){if(!c)continue;let{value:a}=jx(d,c);"string"==typeof a&&a.length>0&&(b[c]=a)}return b}function jE(a){let b={};if(a)for(let[c,d]of Object.entries(a))d&&"object"==typeof d&&"value"in d?b[c]=d.value:b[c]=d;return b}function jF(a){return JSON.stringify({command:a.command,args:a.args??[],env:jE(a.env),cwd:String(a.cwd??""),rootPath:a.rootPath??""})}function jG(a){return JSON.stringify({transport:a.transport,url:a.serverUrl??"",headers:a.headers??{},requestInit:a.requestInit??{},eventSourceInit:a.eventSourceInit??{},reconnectionOptions:a.reconnectionOptions??{},sessionId:a.sessionId??"",oauthClientId:a.oauthClientId??"",oauthClientInformation:a.oauthClientInformation??{},oauthClientSecret:a.oauthClientSecret??"",oauthTokens:a.oauthTokens??{}})}function jH(a){jB.debug("Entering createNewClient method");let b=jk(a),c=jt(a),d=!0===a.enableMcpApps,e=new hW({name:`flujo-${a.name}-client`,version:"3.35.0"},{capabilities:{experimental:{},roots:{listChanged:!0},...b?{sampling:{}}:{},...c?{elicitation:{}}:{},...d?{extensions:{[jz.OF]:{mimeTypes:[jz.cM]}}}:{}}});return(0,je.FP)(e,a),b&&e.setRequestHandler(s.u9,jl(a)),c&&e.setRequestHandler(s.$9,ju(a)),e.__flujoCapKey=jA(a),e}function jI(a){if(jB.debug("Entering createTransport method"),"streamable"===a.transport){jB.info(`Creating streamable http transport for server ${a.name} with URL ${a.serverUrl}`);let b={};if(a.requestInit&&"object"==typeof a.requestInit&&(b.requestInit=a.requestInit),a.reconnectionOptions&&"object"==typeof a.reconnectionOptions&&(b.reconnectionOptions=a.reconnectionOptions),"string"==typeof a.sessionId&&a.sessionId.length>0&&(b.sessionId=a.sessionId),a.headers&&"object"==typeof a.headers){let c=jD(a.headers);Object.keys(c).length>0&&(b.requestInit={...b.requestInit||{},headers:{...b.requestInit?.headers||{},...c}},jB.info(`Applied ${Object.keys(c).length} custom header(s) for ${a.name}: ${Object.keys(c).join(", ")}`))}a.oauthClientId||a.oauthClientInformation?(jB.info(`Setting up OAuth authentication for ${a.name}`),b.authProvider=i$(a),a.oauthTokens?.access_token?(jB.debug(`OAuth provider configured for ${a.name} with existing tokens`),jB.debug(`Token expires in: ${a.oauthTokens.expires_in} seconds`)):jB.debug(`OAuth provider configured for ${a.name} - will initiate OAuth flow if needed`)):jB.debug(`No OAuth configuration found for ${a.name}`);let c=new iT(new URL(a.serverUrl),b);return c.__flujoHttpKey=jG(a),c}if("sse"===a.transport){jB.info(`Creating legacy sse transport for server ${a.name} with URL ${a.serverUrl}`);let b={};if(a.requestInit&&"object"==typeof a.requestInit&&(b.requestInit=a.requestInit),a.eventSourceInit&&"object"==typeof a.eventSourceInit&&(b.eventSourceInit=a.eventSourceInit),a.headers&&"object"==typeof a.headers){let c=jD(a.headers);Object.keys(c).length>0&&(b.requestInit={...b.requestInit||{},headers:{...b.requestInit?.headers||{},...c}},jB.info(`Applied ${Object.keys(c).length} custom header(s) for ${a.name}: ${Object.keys(c).join(", ")}`))}let c=new iV(new URL(a.serverUrl),b);return c.__flujoHttpKey=jG(a),c}if("websocket"===a.transport)return jB.info(`Creating WebSocket transport for server ${a.name} with URL ${a.websocketUrl}`),new h$(new URL(a.websocketUrl));{var b=a;if(jB.debug("Entering createStdioTransport method"),"stdio"!==b.transport)throw Error("Cannot create stdio transport for non-stdio config");let{command:c,args:d,env:e,cwd:f}=jJ(b);jB.info(`Creating StdioClientTransport for ${b.name} with stderr: 'pipe'`);let g=new hZ({command:c,args:d,env:e,cwd:f,stderr:"pipe"});return g.__flujoStdioKey=jF(b),g.stderr?jB.info(`Stderr stream is available for ${b.name}`):jB.warn(`Stderr stream is NOT available for ${b.name}`),g}}function jJ(a){let b=a.command,c=a.args?[...a.args]:[],d=`${u.VL}/${a.name}`;jB.info(`Creating stdio transport for server ${a.name}`),jB.debug(`Original command: ${b}`),jB.debug(`Original args: ${JSON.stringify(c)}`),jB.debug(`Server directory: ${d}`);let e=!m.isAbsolute(b)&&(b.includes("/")||b.includes("\\")),f=!b.includes("/")&&!b.includes("\\");if(jB.debug(`Is relative path: ${e}`),jB.debug(`Is just filename: ${f}`),"win32"===iX.platform()&&b.toLowerCase().endsWith(".bat"))if(jB.debug(`Detected .bat file on Windows: ${b}`),f){let a=m.join((0,p.getDataDir)(),d,b);jB.debug(`Checking if file exists at: ${a}`);let e=iW.existsSync(a);jB.debug(`File exists: ${e}`),e?(jB.debug(`Using full path to .bat file: ${a}`),c=["/c",a,...c]):(jB.warn(`WARNING: .bat file not found at ${a}`),c=["/c",b,...c]),b="cmd.exe"}else jB.debug(`Using cmd.exe with path as provided: ${b}`),c=["/c",b,...c],b="cmd.exe";let g=function(a,b){if(!a||!(!a.includes("/")&&!a.includes("\\")))return a;let c=a.toLowerCase();if(!jd.has(c))return a;if("node"===c)return b.execPath||a;if(!b.execPath)return a;let d=b.dirname(b.execPath);for(let a of"win32"===b.platform?[`${c}.cmd`,`${c}.exe`,c]:[c]){let c=b.joinPath(d,a);if(b.fileExists(c))return c}return a}(b,{execPath:process.execPath,platform:iX.platform(),dirname:m.dirname,joinPath:m.join,fileExists:iW.existsSync});g!==b&&(jB.debug(`Resolved Node toolchain command "${b}" to absolute path: ${g}`),b=g),jB.debug(`Final command: ${b}`),jB.debug(`Final args: ${JSON.stringify(c)}`);let h=function({command:a,args:b=[],rootPath:c,cwd:d,serverName:e,defaultCwd:f}){let g=c||d||f;return e&&jc(a,b)&&(g.split(/[\\/]/).filter(Boolean).pop()||"")===e&&function(a){let b=a.match(/^(.*[\\/])[^\\/]+[\\/]*$/);return b?b[1].replace(/[\\/]+$/,""):""}(g)||g}({command:a.command,args:a.args,rootPath:a.rootPath,cwd:a.cwd,serverName:a.name,defaultCwd:`${u.VL}/${a.name}`}),i=m.isAbsolute(h)?h:m.join((0,p.getDataDir)(),h);jB.debug(`cwd: ${i}`),jB.debug(`env: ${JSON.stringify(a.env)}`);let j=jE(a.env);return jB.verbose("Transformed environment variables",JSON.stringify(j)),{command:b,args:c,env:j,cwd:i}}function jK(a,b){return null!==a.exitCode||null!==a.signalCode?Promise.resolve(!0):new Promise(c=>{let d=()=>{clearTimeout(e),c(!0)},e=setTimeout(()=>{a.removeListener("exit",d),c(!1)},b);e.unref?.(),a.once("exit",d)})}async function jL(a,b,c,d){jB.debug("Entering safelyCloseClient method");let e=d?.gracePeriodMs??15e3,f=d?.killEscalationMs??5e3;try{let c=a.transport?._process;if(c&&"function"==typeof c.kill&&null===c.exitCode&&null===c.signalCode){try{c.stdin&&!c.stdin.destroyed&&(c.stdin.end(),jB.debug(`Closed stdin for graceful shutdown for ${b}`))}catch(a){jB.warn(`Error closing stdin for ${b}:`,a)}let a=await jK(c,e);if(!a){jB.warn(`Process did not exit within ${e}ms after stdin close, sending SIGTERM for ${b}`);try{c.kill("SIGTERM")}catch(a){jB.error(`Error sending SIGTERM for ${b}:`,a)}a=await jK(c,f)}if(a)jB.info(`Process exited gracefully for ${b}`);else{jB.warn(`Process did not respond to SIGTERM, sending SIGKILL for ${b}`);try{c.kill("SIGKILL")}catch(a){jB.error(`Error sending SIGKILL for ${b}:`,a)}}}await a.close(),jB.info(`Client closed successfully for ${b}`)}catch(a){jB.warn(`Error closing client for ${b}:`,a)}}let jM=(0,o.h)("backend/services/mcp/betaClient");async function jN(){try{let a=await (0,hP.YM)(hQ.Z.SPEECH_SETTINGS,void 0);return!!a?.experimental?.mcpBetaProtocol}catch(a){return jM.warn("Failed to read mcpBetaProtocol setting; defaulting to disabled",{err:a}),!1}}function jO(a){return!0===a.__flujoBeta}function jP(a){let b=jk(a),c=jt(a),d=!0===a.enableMcpApps,e=new hD({name:`flujo-${a.name}-client`,version:"3.27.0"},{capabilities:{roots:{listChanged:!0},...b?{sampling:{}}:{},...c?{elicitation:{}}:{},...d?{extensions:{[jz.OF]:{mimeTypes:[jz.cM]}}}:{}},versionNegotiation:{mode:"auto"}});if(e.setRequestHandler("roots/list",(0,je.sG)(a)),b){let b=jl(a);e.setRequestHandler("sampling/createMessage",async a=>b(a))}if(c){let b=ju(a);e.setRequestHandler("elicitation/create",async a=>b(a))}return e.__flujoBeta=!0,e.__flujoCapKey=jA(a),jM.info(`Created v2-beta MCP client for ${a.name} (version negotiation: auto)`),e}function jQ(a){let b=a.requestInit&&"object"==typeof a.requestInit?a.requestInit:void 0;if(a.headers&&"object"==typeof a.headers){let c=jD(a.headers);Object.keys(c).length>0&&(b={...b||{},headers:{...b?.headers||{},...c}})}return b}function jR(a){if("websocket"===a.transport)throw Error("The v2-beta MCP SDK has no websocket transport; use the v1 path");if("streamable"===a.transport){let b={},c=jQ(a);c&&(b.requestInit=c),a.reconnectionOptions&&"object"==typeof a.reconnectionOptions&&(b.reconnectionOptions=a.reconnectionOptions),"string"==typeof a.sessionId&&a.sessionId.length>0&&(b.sessionId=a.sessionId),(a.oauthClientId||a.oauthClientInformation)&&(b.authProvider=i$(a));let d=new hJ(new URL(a.serverUrl),b);return d.__flujoHttpKey=jG(a),d.__flujoKind="streamable",jM.info(`Created v2-beta streamable transport for ${a.name}`),d}if("sse"===a.transport){let b={},c=jQ(a);c&&(b.requestInit=c),a.eventSourceInit&&"object"==typeof a.eventSourceInit&&(b.eventSourceInit=a.eventSourceInit);let d=new hF(new URL(a.serverUrl),b);return d.__flujoHttpKey=jG(a),d.__flujoKind="sse",jM.info(`Created v2-beta SSE transport for ${a.name}`),d}let{command:b,args:c,env:d,cwd:e}=jJ(a),f=new hO({command:b,args:c,env:d,cwd:e,stderr:"pipe"});return f.__flujoStdioKey=jF(a),f.__flujoKind="stdio",jM.info(`Created v2-beta stdio transport for ${a.name}`),f}let jS=a=>new Promise(b=>setTimeout(b,a)),jT=(0,o.h)("backend/services/mcp/tools"),jU=0x80000000-1;async function jV(a,b,c="model"){if(jT.debug("Entering listServerTools method"),!a)return jT.warn(`Server ${b} not connected`),{tools:[],error:"Server not connected"};try{jT.info(`Listing tools for server ${b}`);let d=await a.listTools();jT.verbose("Raw response from MCP server:",d);let e=(d.tools||[]).map(a=>({name:a.name,description:a.description||"",inputSchema:a.inputSchema||{},...a.annotations?{annotations:a.annotations}:{},...a._meta?{_meta:a._meta}:{}})),f=(0,jz.zm)(e,c);return jT.verbose(`Processed tools for ${c} audience:`,f),{tools:f}}catch(c){jT.warn(`Failed to list tools for server ${b}:`,c);let a=c instanceof Error?c.message:"Unknown error";return{tools:[],error:a.includes("Connection timeout")?a:`Failed to list tools: ${a}`}}}async function jW(a,b,c,d,e,f,g,h="host"){if(jT.debug("Entering callTool method"),!a)return jT.warn(`Server ${b} not found`),{success:!1,error:`Server ${b} not found`,statusCode:404};let i=void 0!==e&&e>0?Math.min(1e3*e,jU):jU;try{if("app"===h||"model"===h){let d=await jV(a,b,"all");if(d.error)return{success:!1,error:`Could not verify MCP App access to tool '${c}' on '${b}': ${d.error}`,errorType:"tool-authorization-list",statusCode:502};let e=(0,jz.F)(d.tools,b,c,h);if(!e.allowed)return jT.warn(`Rejected ${h} tool call: ${e.error}`),{success:!1,error:e.error,statusCode:e.statusCode}}jT.debug(`Original args for tool ${c}:`,d);let e=await (0,t.resolveGlobalVars)(d),j=function(a,b){if(!a)return{};let c={};for(let d in a){let e=a[d];null==e?(jT.debug(`Normalizing undefined/null value for parameter '${d}' in tool '${b}'`),d.includes("number")||d.endsWith("Count")||d.endsWith("Id")||d.endsWith("Limit")?(c[d]=0,jT.debug(`Using default value 0 for likely number parameter: ${d}`)):d.includes("bool")||d.startsWith("is")||d.startsWith("has")||d.startsWith("should")?(c[d]=!1,jT.debug(`Using default value false for likely boolean parameter: ${d}`)):d.includes("array")||d.endsWith("s")||d.endsWith("List")||d.endsWith("Items")?(c[d]=[],jT.debug(`Using empty array for likely array parameter: ${d}`)):d.includes("object")||d.endsWith("Options")||d.endsWith("Config")||d.endsWith("Settings")?(c[d]={},jT.debug(`Using empty object for likely object parameter: ${d}`)):(c[d]="",jT.debug(`Using empty string for parameter with unknown type: ${d}`))):c[d]=e}return c}("object"==typeof e&&null!==e?e:{},c);jT.debug(`Normalized args for tool ${c}:`,j),jT.debug(`Calling tool ${c} with SDK timeout ${i}ms`);let k={timeout:i,resetTimeoutOnProgress:!0,...g?{signal:g}:{},onprogress:a=>{jT.debug(`Progress for tool ${c}: ${a.progress}${void 0!==a.total?`/${a.total}`:""}${a.message?` — ${a.message}`:""}`),f?.(a)}},l=jO(a)?await a.callTool.call(a,{name:c,arguments:j},k):await a.callTool({name:c,arguments:j},void 0,k);if((0,u.h$)(l)){let d,e=l.task;jT.info(`Tool ${c} on ${b} returned task handle ${e.taskId} (status: ${e.status})`),f?.({progress:0,message:`Task ${e.taskId} created (${e.status})`});let h=Math.min(Math.max(e.pollInterval??5e3,1e3),3e4),j=new Set(["completed","failed","cancelled"]),k=e.status,m=0,n=j.has(k);if("completed"===k)return{success:!0,data:e.result,progressToken:e.taskId};if("failed"===k)return{success:!1,error:e.error??`Task ${e.taskId} failed`,progressToken:e.taskId};let o=()=>(d||(d=(async()=>{try{await a.request({method:"tasks/cancel",params:{taskId:e.taskId}},void 0,{timeout:1e4})}catch(a){jT.warn(`Best-effort cancellation failed for task ${e.taskId}:`,a)}})()),d),p=()=>{o()};g?.addEventListener("abort",p,{once:!0});try{for(;!j.has(k);){if(g?.aborted||(await jS(h),m+=h,g?.aborted))throw await o(),Error(`Tool call cancelled (task ${e.taskId})`);let b=await a.request({method:"tasks/get",params:{taskId:e.taskId}},void 0,{signal:g,timeout:i});if(g?.aborted)throw await o(),Error(`Tool call cancelled (task ${e.taskId})`);let c=b.task;if(k=c.status,n=j.has(k),jT.debug(`Task ${e.taskId} poll: status=${c.status}, elapsed=${m}ms`),f?.({progress:"completed"===c.status?100:Math.min(99,Math.round(m/1e3)),message:`Task ${e.taskId}: ${c.status}`}),"completed"===c.status)return{success:!0,data:c.result,progressToken:e.taskId};if("failed"===c.status)return{success:!1,error:c.error??`Task ${e.taskId} failed`,progressToken:e.taskId}}return{success:!1,error:`Tool '${c}' task ${e.taskId} was cancelled by the server.`,errorType:"cancelled",progressToken:e.taskId}}catch(a){throw n||await o(),a}finally{g?.removeEventListener("abort",p)}}return{success:!0,data:l}}catch(e){jT.warn(`Failed to call tool ${c} on server ${b}:`,e);let a=e instanceof Error?e.message:"Unknown error",d=500;if(g?.aborted)return{success:!1,error:`Tool '${c}' call was cancelled.`,errorType:"cancelled",toolName:c};if(e instanceof s.Nh&&e.code===s.O4.RequestTimeout){let a=Math.round(i/1e3);return jT.warn(`Tool ${c} execution timed out after ${a} seconds`),{success:!1,error:`Tool execution timed out after ${a} seconds`,errorType:"timeout",toolName:c,timeout:a,statusCode:408}}if(a.includes("401")||a.includes("Unauthorized")||a.includes("invalid_token")||a.includes("token_expired"))return jT.info(`OAuth authentication error detected for tool ${c} on server ${b}`),{success:!1,error:"OAuth authentication failed or tokens have expired. Please re-authenticate the server.",statusCode:401,requiresAuthentication:!0};return(a.includes("404")||a.includes("Not Found"))&&(jT.info(`404 error detected for tool ${c} on server ${b} - may indicate OAuth issues`),d=404,a="Tool endpoint not found (404). This may indicate OAuth authentication issues or the server may not be properly configured."),e instanceof s.Nh?(a=`Failed to call tool: ${a} (Code: ${e.code})`,-32601===e.code?d=404:-32602===e.code?d=400:-32603===e.code&&(d=500)):a=`Failed to call tool: ${a}`,{success:!1,error:a,statusCode:d}}}let jX=(0,o.h)("backend/services/mcp/resources");async function jY(a,b){if(jX.debug("Entering listServerResources method"),!a)return jX.warn(`Server ${b} not connected`),{resources:[],error:"Server not connected"};try{jX.info(`Listing resources for server ${b}`);let c=(await a.listResources()).resources||[];return jX.verbose("Processed resources:",c),{resources:c}}catch(c){if(c instanceof s.Nh&&-32601===c.code)return jX.debug(`Server ${b} does not support resources/list`),{resources:[]};jX.warn(`Failed to list resources for server ${b}:`,c);let a=c instanceof Error?c.message:"Unknown error";return{resources:[],error:a.includes("Connection timeout")?a:`Failed to list resources: ${a}`}}}async function jZ(a,b){if(jX.debug("Entering listServerResourceTemplates method"),!a)return jX.warn(`Server ${b} not connected`),{resourceTemplates:[],error:"Server not connected"};try{return jX.info(`Listing resource templates for server ${b}`),{resourceTemplates:(await a.listResourceTemplates()).resourceTemplates||[]}}catch(c){if(c instanceof s.Nh&&-32601===c.code)return jX.debug(`Server ${b} does not support resources/templates/list`),{resourceTemplates:[]};jX.warn(`Failed to list resource templates for server ${b}:`,c);let a=c instanceof Error?c.message:"Unknown error";return{resourceTemplates:[],error:a.includes("Connection timeout")?a:`Failed to list resource templates: ${a}`}}}async function j$(a,b,c){if(jX.debug("Entering readResource method"),!a)return jX.warn(`Server ${b} not found`),{success:!1,error:`Server ${b} not found`,statusCode:404};try{let d=await (0,t.resolveGlobalVars)(c);jX.info(`Reading resource ${d} from server ${b}`);let e=await a.readResource({uri:d});return{success:!0,data:e}}catch(e){jX.warn(`Failed to read resource ${c} on server ${b}:`,e);let a=e instanceof Error?e.message:"Unknown error",d=500;return e instanceof s.Nh?(a=`Failed to read resource: ${a} (Code: ${e.code})`,-32601===e.code?d=404:-32602===e.code&&(d=400)):a=`Failed to read resource: ${a}`,{success:!1,error:a,statusCode:d}}}let j_=(0,o.h)("backend/services/mcp/prompts");async function j0(a,b){if(j_.debug("Entering listServerPrompts method"),!a)return j_.warn(`Server ${b} not connected`),{prompts:[],error:"Server not connected"};try{return j_.info(`Listing prompts for server ${b}`),{prompts:(await a.listPrompts()).prompts||[]}}catch(c){if(c instanceof s.Nh&&-32601===c.code)return j_.debug(`Server ${b} does not support prompts/list`),{prompts:[]};j_.warn(`Failed to list prompts for server ${b}:`,c);let a=c instanceof Error?c.message:"Unknown error";return{prompts:[],error:a.includes("Connection timeout")?a:`Failed to list prompts: ${a}`}}}async function j1(a,b,c,d){if(j_.debug("Entering getPrompt method"),!a)return j_.warn(`Server ${b} not found`),{success:!1,error:`Server ${b} not found`,statusCode:404};try{let e;if(d&&Object.keys(d).length>0){let a=await (0,t.resolveGlobalVars)(d);e="object"==typeof a&&null!==a?a:void 0}j_.info(`Getting prompt ${c} from server ${b}`);let f=await a.getPrompt({name:c,arguments:e});return{success:!0,data:f}}catch(e){j_.warn(`Failed to get prompt ${c} on server ${b}:`,e);let a=e instanceof Error?e.message:"Unknown error",d=500;return e instanceof s.Nh?(a=`Failed to get prompt: ${a} (Code: ${e.code})`,-32601===e.code?d=404:-32602===e.code&&(d=400)):a=`Failed to get prompt: ${a}`,{success:!1,error:a,statusCode:d}}}var j2=c(61800);function j3(a){return"stdio"===a.transport&&jc(a.command,a.args??[])}let j4=(0,o.h)("utils/mcp/oauthProbe");async function j5(a){let b=(await fetch(a,{method:"POST",headers:{"content-type":"application/json",accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{}}),signal:AbortSignal.timeout(5e3)})).headers.get("www-authenticate")||"",c=/\bbearer\b/i.test(b),d=b.match(/resource_metadata\s*=\s*"([^"]+)"/i);return{bearer:c,resourceMetadataUrl:d?.[1]}}async function j6(a){let b=await fetch(a,{headers:{accept:"application/json"},signal:AbortSignal.timeout(5e3)});if(!b.ok)return;let c=await b.json(),d=Array.isArray(c.authorization_servers);if(d||"string"==typeof c.resource)return{authorizationServers:d?c.authorization_servers.filter(a=>"string"==typeof a):void 0}}async function j7(a){try{let b=new URL(a).origin,c=await j5(a).catch(b=>(j4.debug(`readAuthChallenge failed for ${a}: ${b instanceof Error?b.message:String(b)}`),{bearer:!1,resourceMetadataUrl:void 0})),d=[];for(let e of(c.resourceMetadataUrl&&d.push(c.resourceMetadataUrl),d.push(new URL("/.well-known/oauth-protected-resource",b).toString()),d)){let b=await j6(e).catch(()=>void 0);if(b)return j4.info(`OAuth capability confirmed for ${a} via ${e}`),{oauthCapable:!0,resourceMetadataUrl:e,authorizationServers:b.authorizationServers}}if(c.bearer)return j4.info(`OAuth capability inferred for ${a} from a Bearer challenge (no resource metadata)`),{oauthCapable:!0,resourceMetadataUrl:c.resourceMetadataUrl};return j4.debug(`No OAuth capability detected for ${a}`),{oauthCapable:!1}}catch(b){return j4.debug(`probeOAuthSupport failed for ${a}: ${b instanceof Error?b.message:String(b)}`),{oauthCapable:!1}}}let j8=(0,o.h)("backend/services/mcp/resourceNotifications");var j9=c(92018),ka=c(94749);void 0===global.__mcp_clients&&(global.__mcp_clients=new Map),void 0===global.__mcp_connecting&&(global.__mcp_connecting=new Set),void 0===global.__mcp_starting_up&&(global.__mcp_starting_up=!0),void 0===global.__mcp_active_transports&&(global.__mcp_active_transports=new Map),void 0===global.__mcp_client_generation&&(global.__mcp_client_generation=new Map),void 0===global.__mcp_tool_schema_hash&&(global.__mcp_tool_schema_hash=new Map);let kb=(0,o.h)("backend/services/mcp/index");function kc(a){if("streamable"!==a.transport&&"sse"!==a.transport)return!1;let b=a.headers;return!!b&&Object.entries(b).some(([a,b])=>"authorization"===a.toLowerCase()&&jx(b,a).value.trim().length>0)}class kd{async clearLegacyInferredOAuthScopesForHeaderAuth(a){try{let b=await this.loadServerConfigs();if(!Array.isArray(b))return;let c=b.findIndex(b=>b.name===a);if(-1===c||"streamable"!==b[c].transport)return;let d=b[c];if(!kc(d)||d.oauthScopes?.length!==1||"read"!==d.oauthScopes[0]||d.oauthClientId||d.oauthClientSecret||d.oauthClientMetadata||d.oauthClientInformation||d.oauthTokens||d.oauthCodeVerifier||d.authorizationUrl)return;b[c]={...d,oauthScopes:void 0};let e=await (0,r.q)(new Map(b.map(a=>[a.name,a])));e.success?kb.info(`Removed stale inferred OAuth scopes from header-authenticated server ${a}`):kb.warn(`Failed to remove stale inferred OAuth scopes from ${a}: ${e.error}`)}catch(b){kb.warn(`Failed to clean inferred OAuth scopes for ${a}: ${b instanceof Error?b.message:String(b)}`)}}get clients(){return global.__mcp_clients}get connectingServers(){return global.__mcp_connecting}get activeTransports(){return global.__mcp_active_transports}get clientGenerations(){return global.__mcp_client_generation}get toolSchemaHashes(){return global.__mcp_tool_schema_hash}static{this.MAX_STDERR_LOG_ENTRIES=200}appendStderrLog(a,b){let c=this.stderrLogs.get(a)||[];c.push(b),c.length>kd.MAX_STDERR_LOG_ENTRIES&&c.splice(0,c.length-kd.MAX_STDERR_LOG_ENTRIES),this.stderrLogs.set(a,c)}deregisterClient(a){this.clients.delete(a),this.activeTransports.delete(a)}onResourceListChanged(a){let b=this.resourceListVersion.get(a)??0;this.resourceListVersion.set(a,b+1),kb.debug(`onResourceListChanged: server=${a} version=${b+1}`)}onResourceUpdated(a,b){let c=this.pendingResourceUpdates.get(a)??new Set;c.add(b),this.pendingResourceUpdates.set(a,c),kb.debug(`onResourceUpdated: server=${a} uri=${b}`)}getResourceListVersion(a){return this.resourceListVersion.get(a)??0}async subscribeToResource(a,b){try{let c=this.getClient(a);if(!c)return;let d=c.getServerCapabilities?.();if(!d?.resources?.subscribe)return;await c.subscribeResource({uri:b}),kb.debug(`subscribeToResource: server=${a} uri=${b}`)}catch(c){kb.debug(`subscribeToResource: ignored error for ${a}/${b}:`,c)}}clearRetryTimer(a){let b=this.connectionRetryTimers.get(a);b&&(clearTimeout(b),this.connectionRetryTimers.delete(a),kb.debug(`Cleared retry timer for server ${a}`))}scheduleConnectionRetry(a,b){this.clearRetryTimer(a);let c=this.connectionRetryAttempts.get(a)||0;if(c>=5){kb.warn(`Maximum retry attempts (5) reached for server ${a}, stopping retries`),this.connectionRetryAttempts.delete(a);return}let d=Math.min(5e3*Math.pow(2,c),3e5);kb.info(`Scheduling connection retry for server ${a} in ${d}ms (attempt ${c+1}/5)`);let e=setTimeout(async()=>{kb.info(`Attempting to reconnect server ${a} (attempt ${c+1}/5)`);let b=await this.getServerConfig(a);if(!b){kb.info(`Server ${a} configuration not found, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}if(b.disabled){kb.info(`Server ${a} is now disabled, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}let d=this.getClient(a);if(d)try{await d.ping({timeout:5e3}),kb.info(`Server ${a} is already connected and responsive, cancelling retry`),this.connectionRetryAttempts.delete(a);return}catch(b){kb.warn(`Server ${a} has a registered client but ping failed (${b instanceof Error?b.message:String(b)}); reconnecting from scratch`)}this.connectionRetryAttempts.set(a,c+1);try{let e=d?await this.forceReconnect(a):await this.connectServer(b);if(e.success)kb.info(`Successfully reconnected server ${a} after ${c+1} attempts`),this.connectionRetryAttempts.delete(a);else{if(kb.warn(`Failed to reconnect server ${a}: ${e.error}`),e.requiresAuthentication){kb.info(`Server ${a} requires authentication, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}this.scheduleConnectionRetry(a,b)}}catch(c){kb.error(`Error during retry connection for server ${a}:`,c),this.scheduleConnectionRetry(a,b)}},d);this.connectionRetryTimers.set(a,e)}isStartingUp(){return!0===global.__mcp_starting_up}setStartingUp(a){global.__mcp_starting_up=a,kb.info(`Backend startup state set to: ${a?"starting":"complete"}`)}getClientGeneration(a){return this.clientGenerations.get(a)??0}setToolSchemaHash(a,b,c){this.toolSchemaHashes.set(`${a}\0${b}`,c)}getToolSchemaHash(a,b){return this.toolSchemaHashes.get(`${a}\0${b}`)}getClient(a){let b=this.clients.get(a);if(b&&i0(b)){kb.warn(`getClient: client for ${a} has a closed/aborted connection — evicting it`),this.clients.delete(a);return}return kb.debug(`getClient: Looking for client: ${a}`,b?"Found":"Not found"),b}async loadServerConfigs(){kb.debug("loadServerConfigs: Entering method");try{let a=await (0,r.loadServerConfigs)();if(!Array.isArray(a))return kb.warn("loadServerConfigs: Received non-array response",a),a;for(let b of(await (0,ka.XS)())){if(a.some(a=>a.name===b.name)){kb.warn(`loadServerConfigs: A stored server is named "${b.name}" — it shadows FLUJO's built-in server`);continue}a.push(b)}return kb.debug(`loadServerConfigs: Loaded ${a.length} server configs`),a}catch(a){return kb.warn("loadServerConfigs: Failed to load server configs:",a),{success:!1,error:`Failed to load server configs: ${a instanceof Error?a.message:"Unknown error"}`}}}async getServerConfig(a){kb.debug(`getServerConfig: Looking up config for server ${a}`);let b=await this.loadServerConfigs();if(!Array.isArray(b))return kb.warn(`getServerConfig: Failed to load configs for ${a}:`,b.error),null;let c=b.find(b=>b.name===a);return c||(kb.warn(`getServerConfig: Server ${a} not found in configs`),null)}async isServerDisabled(a){let b=await this.getServerConfig(a);return b?.disabled===!0}async isInternalServer(a){if(!(0,ka.Co)(a))return!1;let b=await (0,r.loadServerConfigs)();return!Array.isArray(b)||!b.some(b=>b.name===a)}async connectServer(a){let b="string"==typeof a?a:a.name;if((0,ka.Co)(b)&&("string"!=typeof a?!0===a.builtIn:await this.isInternalServer(b)))return this.connectingServers.delete(b),{success:!0};let c=this.inFlightConnects.get(b);if(c)return kb.debug(`connectServer: reusing in-flight connection attempt for ${b}`),c;let d=this.connectServerInternal(a).finally(()=>{this.inFlightConnects.delete(b)});return this.inFlightConnects.set(b,d),d}async connectServerInternal(a){let b;if("string"==typeof a){kb.info(`connectServer: Looking up config for server ${a}`);let c=await this.getServerConfig(a);if(!c)return kb.warn(`connectServer: Server ${a} not found in configs`),{success:!1,error:`Server configuration for "${a}" not found. The server may have been deleted or not properly configured.`};b=c}else b=a;let c="string"==typeof a?b:await this.getServerConfig(b.name),d=c??b;if((c??b).disabled)return kb.info(`connectServer: Server ${b.name} is disabled — refusing to create a client/transport`),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),{success:!1,error:`Server '${b.name}' is disabled. Enable it on the MCP page to use it.`};let e=(0,j.A)();kb.info(`connectServer: Starting connection for server ${b.name} [RequestID: ${e}]`),this.connectingServers.add(b.name);try{this.stderrLogs.set(b.name,[]),b=await jC(b);let a=await jN()&&"websocket"!==b.transport,c=this.clients.get(b.name);if(c){let{needsNewClient:d,reason:e}=function(a,b,c=!1){if(jB.debug("Entering shouldRecreateClient method"),i0(a))return{needsNewClient:!0,reason:"Existing connection is closed"};if((a.__flujoCapKey??"")!==jA(b))return{needsNewClient:!0,reason:"Client capabilities (sampling/elicitation/MCP Apps) changed"};let d=!0===a.__flujoBeta,e=c&&"websocket"!==b.transport;if(d!==e)return{needsNewClient:!0,reason:e?"Beta MCP protocol enabled":"Beta MCP protocol disabled"};if(d){let c=a.transport;if(!c||c.__flujoKind!==b.transport)return{needsNewClient:!0,reason:`Transport type changed to ${b.transport}`};if("stdio"===b.transport){if(c.__flujoStdioKey!==jF(b))return{needsNewClient:!0,reason:"Connection parameters changed"}}else if(c.__flujoHttpKey!==jG(b))return{needsNewClient:!0,reason:`${b.transport} auth/connection parameters changed`};return{needsNewClient:!1}}if("websocket"===b.transport){if(!(a.transport instanceof h$))return{needsNewClient:!0,reason:"Transport type changed to websocket"}}else if("streamable"===b.transport){if(!(a.transport instanceof iT))return{needsNewClient:!0,reason:"Transport type changed to streamable"};let c=a.transport,d=c._url?.toString();if(void 0!==d&&d!==new URL(b.serverUrl).toString())return{needsNewClient:!0,reason:"Streamable server URL changed"};let e=c.__flujoHttpKey;if(!e)return{needsNewClient:!0,reason:"Existing streamable transport has no config key"};if(e!==jG(b))return{needsNewClient:!0,reason:"Streamable auth/connection parameters changed"}}else if("sse"===b.transport){if(!(a.transport instanceof iV))return{needsNewClient:!0,reason:"Transport type changed to sse"};let c=a.transport,d=c._url?.toString();if(void 0!==d&&d!==new URL(b.serverUrl).toString())return{needsNewClient:!0,reason:"SSE server URL changed"};let e=c.__flujoHttpKey;if(!e)return{needsNewClient:!0,reason:"Existing sse transport has no config key"};if(e!==jG(b))return{needsNewClient:!0,reason:"SSE auth/connection parameters changed"}}else{if(!(a.transport instanceof hZ))return{needsNewClient:!0,reason:"Transport type changed to stdio"};if("stdio"!==b.transport)return{needsNewClient:!0,reason:"Transport type changed from stdio"};let c=a.transport.__flujoStdioKey;if(!c)return{needsNewClient:!0,reason:"Existing stdio transport has no config key"};if(c!==jF(b))return{needsNewClient:!0,reason:"Connection parameters changed"}}return{needsNewClient:!1}}(c,b,a);if(!d)return kb.info(`connectServer: Server ${b.name} is already connected`),this.lastConnectionError.delete(b.name),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),await this.clearLegacyInferredOAuthScopesForHeaderAuth(b.name),{success:!0};kb.info(`connectServer: Existing client for ${b.name} is stale (${e}), recreating`),this.deregisterClient(b.name);try{await jL(c,b.name,b)}catch(a){kb.debug(`connectServer: error closing stale client for ${b.name}: ${a instanceof Error?a.message:String(a)}`)}c=void 0}c=a?jP(b):jH(b);let d=a?jR(b):jI(b);if(a){let a=c.setNotificationHandler?.bind(c);a&&(a("notifications/resources/list_changed",()=>{this.onResourceListChanged(b.name)}),a("notifications/resources/updated",a=>{let c=a?.params?.uri;c&&this.onResourceUpdated(b.name,c)}))}else!function(a,b,c,d){try{a.setNotificationHandler(s.hh,a=>{j8.debug(`resourceListChanged notification received for ${b}`),c(b)})}catch(a){j8.warn(`registerResourceNotificationHandlers: failed to register list_changed for ${b}`,a)}if(d)try{a.setNotificationHandler(s.cL,a=>{let c=a.params?.uri;c&&(j8.debug(`resourceUpdated notification received for ${b} uri=${c}`),d(b,c))})}catch(a){j8.warn(`registerResourceNotificationHandlers: failed to register resource_updated for ${b}`,a)}}(c,b.name,a=>this.onResourceListChanged(a),(a,b)=>this.onResourceUpdated(a,b));let e=d.stderr;if(e&&"function"==typeof e.on){let a=b.name;e.on("data",b=>{let c=b.toString();kb.warn(`stderr: [${a}]: ${c}`),this.appendStderrLog(a,c)})}d.onclose=()=>{if(this.activeTransports.get(b.name)!==d)return void kb.debug(`connectServer: ignoring close event from a stale/deregistered transport for ${b.name}`);kb.warn(`connectServer: Connection closed for server ${b.name}`),this.deregisterClient(b.name),this.getServerConfig(b.name).then(a=>{if(!a||a.disabled)return void kb.info(`Server ${b.name} is now disabled, skipping reconnection logic`);kb.info(`Connection closed for enabled server ${b.name}, scheduling reconnection`),this.scheduleConnectionRetry(b.name,a)}).catch(a=>{kb.warn(`Error checking server config for ${b.name} during onclose:`,a)})},d.onerror=a=>{if(function(a){let b=a instanceof Error?a.message:String(a);return b.includes("SSE stream disconnected")||b.includes("Failed to reconnect SSE stream")||b.includes("Maximum reconnection attempts")||/\bterminated\b/i.test(b)}(a))return void kb.debug(`connectServer: transient SSE stream disconnect for ${b.name} (self-healing, ignored): ${a instanceof Error?a.message:String(a)}`);if(this.activeTransports.get(b.name)!==d)return void kb.debug(`connectServer: ignoring error event from a stale/deregistered transport for ${b.name}`);if(kb.error(`connectServer: Transport error for server ${b.name}:`),a instanceof Error){kb.error(`Error name: ${a.name}`),kb.error(`Error message: ${a.message}`),kb.error(`Error stack: ${a.stack}`);let b=a.code;void 0!==b&&kb.error(`Error code: ${b}`),kb.error(`Error chain: ${i4(a)}`)}else if(a&&"object"==typeof a){kb.error(`Error type: ${typeof a}`),kb.error(`Error constructor: ${a.constructor?.name||"Unknown"}`);let b=Object.getOwnPropertyNames(a);b.length>0?(kb.error(`Error properties: ${b.join(", ")}`),b.forEach(b=>{try{let c=a[b];kb.error(` ${b}: ${"function"==typeof c?"[Function]":JSON.stringify(c)}`)}catch(a){kb.error(` ${b}: [Unable to serialize: ${a}]`)}})):kb.error("Error object has no enumerable properties");try{let b=JSON.stringify(a);kb.error(`JSON stringified error: ${b}`)}catch(a){kb.error(`Cannot JSON stringify error: ${a}`)}}else kb.error(`Error value: ${String(a)} (type: ${typeof a})`);this.appendStderrLog(b.name,`Transport error: ${i4(a)}`),this.deregisterClient(b.name),this.getServerConfig(b.name).then(a=>{if(!a||a.disabled)return void kb.info(`Server ${b.name} is now disabled, skipping reconnection after transport error`);kb.info(`Transport error for enabled server ${b.name}, scheduling reconnection`),this.scheduleConnectionRetry(b.name,a)}).catch(a=>{kb.warn(`Error checking server config for ${b.name} during onerror:`,a)})},await c.connect(d),this.clients.set(b.name,c),this.activeTransports.set(b.name,d),this.clientGenerations.set(b.name,this.getClientGeneration(b.name)+1),this.lastConnectionError.delete(b.name),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),await this.clearLegacyInferredOAuthScopesForHeaderAuth(b.name);let f=function(a){if(jO(a))try{return a.getNegotiatedProtocolVersion()}catch{return}}(c);return kb.info(`connectServer: Successfully connected to ${b.name}`+(f?` (beta SDK, negotiated MCP protocol ${f})`:"")),{success:!0}}catch(j){let a;kb.error(`connectServer: Failed to connect to server ${b.name}:`,j);let c=j instanceof Error?j.message:String(j),e=i8(j),f=i7(j),g=kc(d);if(f&&!g&&("streamable"===b.transport||"sse"===b.transport)){let c=b.serverUrl;c&&(a=(await j7(c)).oauthCapable)}if(e||a){if(kb.info(`OAuth authentication error detected for server ${b.name}: ${c}`),"streamable"===b.transport&&a){let a=b;if(!a.oauthScopes||0===a.oauthScopes.length){kb.info(`Dynamically enabling OAuth for server ${b.name} after capability confirmation`);try{let c={...a,oauthScopes:["read"]},d=await this.loadServerConfigs();if(Array.isArray(d)){let a=d.findIndex(a=>a.name===b.name);-1!==a&&(d[a]=c,await (0,r.q)(new Map(d.map(a=>[a.name,a]))),kb.info(`Updated config for ${b.name} to enable OAuth`))}}catch(a){kb.warn(`Failed to update config for ${b.name} to enable OAuth:`,a)}}}return{success:!1,error:"OAuth authentication failed or tokens have expired. Please re-authenticate.",requiresAuthentication:!0,oauthCapable:!0}}if(f)return{success:!1,error:c,requiresAuthentication:!0,oauthCapable:a};let h=this.stderrLogs.get(b.name)||[],i=i5(j,b,h);return this.lastConnectionError.set(b.name,i),{success:!1,error:i}}finally{this.connectingServers.delete(b.name)}}async testConnection(a,b,c){kb.info(`testConnection: Testing connection to ${a.name||"(unnamed)"} via ${a.transport} transport`);let d=a=>{try{b?.(a)}catch{}},e=[],f=null,g=null;try{let b,h=a,i=c?.storedName||a.name;if(("streamable"===a.transport||"sse"===a.transport)&&i){let b=await this.loadServerConfigs(),c=Array.isArray(b)?b.find(a=>a.name===i):void 0,d=c?.headers,e=a.headers;h={...a,headers:function(a,b){if(!a)return a;let c={};for(let[d,e]of Object.entries(a)){if(!d)continue;let{value:a,isSecret:f}=jx(e,d);if(f&&jy(a)){let a=b?.[d];void 0!==a&&(c[d]=a);continue}c[d]=e}return c}(e,d)}}let j=await jC(h),k=await jN()&&"websocket"!==j.transport;f=k?jP(j):jH(j);let l=(g=k?jR(j):jI(j)).stderr;l&&"function"==typeof l.on&&l.on("data",a=>{let b=a.toString();e.push(b),d({type:"stderr",data:b})}),g.onerror=a=>{let b=`Transport error: ${i4(a)}`;e.push(b),d({type:"stderr",data:b+"\n"})},d({type:"status",phase:"spawning",message:"Starting server / opening transport..."});let m=j3(a)?9e4:15e3,n=j3(a),o=new Promise((a,c)=>{b=setTimeout(()=>c(Error(`Connection timeout after ${m/1e3}s`+(n?" — the package may still be downloading via npx/uvx. Try running the Test again (the package is cached after the first download), or verify the command and network access.":""))),m)});d({type:"status",phase:"handshaking",message:"Performing MCP handshake..."});try{await Promise.race([f.connect(g),o])}finally{b&&clearTimeout(b)}d({type:"status",phase:"listing-tools",message:"Handshake OK — listing tools..."});let p=0;try{let a=await f.listTools();p=Array.isArray(a?.tools)?a.tools.length:0}catch(b){kb.debug(`testConnection: connected to ${a.name} but listTools failed: ${b instanceof Error?b.message:String(b)}`)}return kb.info(`testConnection: Successfully connected to ${a.name} (${p} tools)`),d({type:"result",success:!0,data:{toolCount:p}}),{success:!0,data:{toolCount:p}}}catch(g){let b;kb.warn(`testConnection: Failed to connect to ${a.name}:`,g);let c=i7(g);if(c&&("streamable"===a.transport||"sse"===a.transport)){let c=a.serverUrl;c&&(b=(await j7(c)).oauthCapable)}let f=i5(g,a,e);return d({type:"result",success:!1,error:f,requiresAuthentication:c,oauthCapable:b}),{success:!1,error:f,requiresAuthentication:c,oauthCapable:b}}finally{if(f)try{await jL(f,a.name,a,{gracePeriodMs:3e3,killEscalationMs:2e3})}catch(b){kb.debug(`testConnection: error closing test client for ${a.name}: ${b instanceof Error?b.message:String(b)}`)}}}setNodeRoots(a,b,c){for(let d of(0,je.eS)(a,b,c))this.notifyRootsChanged(d)}notifyRootsChanged(a){let b=this.getClient(a);if(!b)return void kb.debug(`notifyRootsChanged: ${a} not connected, skipping notification`);try{b.sendRootsListChanged().catch(b=>{kb.warn(`notifyRootsChanged: failed to notify ${a}:`,b)}),kb.debug(`notifyRootsChanged: sent roots/list_changed to ${a}`)}catch(b){kb.warn(`notifyRootsChanged: failed to notify ${a}:`,b)}}async disconnectServer(a){if(kb.debug(`disconnectServer: Entering method for server ${a}`),await this.isInternalServer(a))return{success:!0};this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a);let b=this.getClient(a);if(!b)return kb.warn(`disconnectServer: Server ${a} not found in clients map`),this.deregisterClient(a),{success:!1,error:`Server ${a} not found`};this.deregisterClient(a);try{let c=await this.getServerConfig(a);return await jL(b,a,c||void 0),kb.info(`disconnectServer: Disconnected server ${a}`),{success:!0}}catch(b){return kb.warn(`disconnectServer: Failed to disconnect server ${a}:`,b),{success:!1,error:`Failed to disconnect server: ${b instanceof Error?b.message:"Unknown error"}`}}}async forceReconnect(a){if(kb.info(`forceReconnect: Forcing fresh connection for server ${a}`),await this.isInternalServer(a))return{success:!0};let b=this.clients.get(a);if(b){this.deregisterClient(a);let c=await this.getServerConfig(a);try{await jL(b,a,c||void 0)}catch(b){kb.debug(`forceReconnect: error closing stale client for ${a}: ${b instanceof Error?b.message:String(b)}`)}}return this.connectServer(a)}async listServerTools(a,b="model"){if(kb.debug(`listServerTools: Entering method for server ${a}, audience ${b}`),await this.isInternalServer(a)){if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`listServerTools: ${b}`),{tools:[],error:b}}let{internalToolDefinitionsFor:d}=await c.e(1114).then(c.bind(c,91114)),e=await d(a);return{tools:(0,jz.zm)(e,b)}}if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`listServerTools: ${b}`),{tools:[],error:b}}let d=this.getClient(a);d||kb.warn(`listServerTools: Client not found for ${a}`);let e=await jV(d,a,b);if(e.error){kb.warn(`listServerTools: Listing tools for ${a} failed (${e.error}); forcing reconnect and retrying once`);let c=await this.forceReconnect(a);if(!c.success)return kb.warn(`listServerTools: Reconnect for ${a} failed: ${c.error}`),{tools:[],error:c.error||e.error};d=this.clients.get(a),(e=await jV(d,a,b)).error?kb.warn(`listServerTools: Retry after reconnect still failed for ${a}:`,e.error):kb.info(`listServerTools: Recovered after reconnect for ${a}; listed ${e.tools.length} tools`)}else kb.info(`listServerTools: Listed ${e.tools.length} tools for ${a}`);return e}async callTool(a,b,d,e,f,g,h,i="host"){if(kb.debug(`callTool: Entering method for server ${a}, tool ${b}, source ${i}`),await this.isInternalServer(a)){if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`callTool: ${b}`),{success:!1,error:b}}let{internalCallToolFor:e,internalToolDefinitionsFor:f}=await c.e(1114).then(c.bind(c,91114));if("app"===i||"model"===i){let c=await f(a),d=(0,jz.F)(c,a,b,i);if(!d.allowed)return kb.warn(`callTool: Rejected ${i} call to built-in tool: ${d.error}`),{success:!1,error:d.error,statusCode:d.statusCode}}let h=await e(this,a,b,d,g,i);return kb.info(`callTool: Dispatched internal tool ${b} on ${a}`),{success:!0,data:h}}if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`callTool: ${b}`),{success:!1,error:b}}let j=this.getClient(a);if(!j){kb.warn(`callTool: No client for ${a}; forcing reconnect before calling ${b}`);let c=await this.forceReconnect(a);c.success?j=this.clients.get(a):kb.warn(`callTool: Reconnect for ${a} failed: ${c.error}`)}let k=await jW(j,a,b,d,e,f,h,i);return kb.info(`callTool: Called tool ${b} on ${a}`),k}async callToolFromApp(a,b,c,d,e){let f=await this.checkMcpAppAccess(a);if(f)return f;let g=await this.callTool(a,b,c,d,void 0,void 0,e,"app");if("tool-authorization-list"!==g.errorType)return g;kb.warn(`callToolFromApp: visibility lookup failed for ${a}/${b}; reconnecting and retrying once before dispatch`);let h=await this.forceReconnect(a);return h.success?g=await this.callTool(a,b,c,d,void 0,void 0,e,"app"):{success:!1,error:h.error||g.error,statusCode:g.statusCode}}async isMcpAppAccessEnabled(a){let b=await this.isInternalServer(a),c=await this.getServerConfig(a);return c?.disabled!==!0&&(!!b||c?.enableMcpApps===!0)}async checkMcpAppAccess(a){if(await this.isMcpAppAccessEnabled(a))return null;let b=`MCP Apps are not enabled for server '${a}'. Enable them on the MCP page before opening or using this app.`;return kb.warn(`MCP App access denied: ${b}`),{success:!1,error:b,statusCode:403}}async readResourceFromApp(a,b){let c=await this.checkMcpAppAccess(a);return c||this.readResource(a,b)}async listWithReconnect(a,b,c){if(await this.isInternalServer(a))return c;if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`listWithReconnect: ${b}`),{...c,error:b}}let d=this.getClient(a);d||kb.warn(`listWithReconnect: Client not found for ${a}`);let e=await b(d,a);if(!e.error)return e;kb.warn(`listWithReconnect: Listing for ${a} failed (${e.error}); forcing reconnect and retrying once`);let f=await this.forceReconnect(a);return f.success?(d=this.clients.get(a),(e=await b(d,a)).error?kb.warn(`listWithReconnect: Retry after reconnect still failed for ${a}:`,e.error):kb.info(`listWithReconnect: Recovered after reconnect for ${a}`),e):(kb.warn(`listWithReconnect: Reconnect for ${a} failed: ${f.error}`),{...c,error:f.error||e.error})}async listServerResources(a){if(kb.debug(`listServerResources: Entering method for server ${a}`),a===j9._&&await this.isInternalServer(a)){let{internalListResources:a}=await c.e(4436).then(c.bind(c,94436));return a()}if(a===ka.K3){let{filesystemListResources:a}=await c.e(9724).then(c.bind(c,19724));return a()}return this.listWithReconnect(a,jY,{resources:[]})}async listServerResourceTemplates(a){if(kb.debug(`listServerResourceTemplates: Entering method for server ${a}`),a===j9._&&await this.isInternalServer(a)){let{internalListResourceTemplates:a}=await c.e(4436).then(c.bind(c,94436));return a()}return this.listWithReconnect(a,jZ,{resourceTemplates:[]})}async readResource(a,b){if(kb.debug(`readResource: Entering method for server ${a}, uri ${b}`),a===j9._&&await this.isInternalServer(a)){let{internalReadResource:a}=await c.e(4436).then(c.bind(c,94436));return a(b)}if(a===ka.K3){let{filesystemReadResource:a,isFilesystemAppUri:d,isTouchedFileUri:e,readTouchedFileResource:f}=await c.e(9724).then(c.bind(c,19724));if(d(b))return a(b);if(e(b))return f(b)}let d=this.getClient(a);d||kb.warn(`readResource: Client not found for ${a}`);let e=await j$(d,a,b);return kb.info(`readResource: Read resource ${b} on ${a}`),e}async listServerPrompts(a){return kb.debug(`listServerPrompts: Entering method for server ${a}`),this.listWithReconnect(a,j0,{prompts:[]})}async getPrompt(a,b,c){kb.debug(`getPrompt: Entering method for server ${a}, prompt ${b}`);let d=this.getClient(a);d||kb.warn(`getPrompt: Client not found for ${a}`);let e=await j1(d,a,b,c);return kb.info(`getPrompt: Got prompt ${b} on ${a}`),e}async resolveOAuthSecretForSave(a,b){return a===jv.RJ?b??"":a?a.startsWith("${global:")||a.startsWith("encrypted:")||a.startsWith("encrypted_failed:")?a:await (0,j2.Rs)(a):""}async resolveHeadersForSave(a,b){let c={};for(let[d,e]of Object.entries(a||{})){if(!d)continue;let{value:a,isSecret:f}=jx(e,d);if(!f){""!==a&&(c[d]={value:a,metadata:{isSecret:!1}});continue}if(jy(a)){let a=b?.[d];void 0!==a&&(c[d]=a);continue}if(a){if("string"==typeof a&&a.startsWith("${global:")||a.startsWith("encrypted:")||a.startsWith("encrypted_failed:")){c[d]={value:a,metadata:{isSecret:!0}};continue}c[d]={value:await (0,j2.Rs)(a),metadata:{isSecret:!0}}}}return c}async ensureRemoteServerRootDir(a){try{if(!["streamable","sse","websocket"].includes(a.transport))return;let b=(a.rootPath||"").trim();if(!b)return;let c=n().resolve((0,p.getDataDir)(),b);if(n().dirname(c)===c)return;await l().mkdir(c,{recursive:!0}),kb.debug(`ensureRemoteServerRootDir: ensured ${c} for ${a.name}`)}catch(b){kb.warn(`ensureRemoteServerRootDir: could not create root dir for ${a.name}:`,b)}}async updateServerConfig(a,b){if(kb.debug(`updateServerConfig: Entering method for server ${a}`),await this.isInternalServer(a)){let c=Object.keys(b).filter(a=>"name"!==a),d=void 0===b.name||b.name===a,e=c.length>0&&c.every(a=>"disabled"===a)&&"boolean"==typeof b.disabled&&d,f=(a===ka.K3||a===ka.PA)&&c.length>0&&c.every(a=>"roots"===a)&&Array.isArray(b.roots)&&d;if(e){await (0,ka.LV)(a,b.disabled),kb.info(`updateServerConfig: Toggled built-in server ${a} disabled=${b.disabled}`);let c=await this.loadServerConfigs();return(Array.isArray(c)?c.find(b=>b.name===a):void 0)??{success:!0}}if(f){await (0,ka.Eu)(a,b.roots),kb.info(`updateServerConfig: Set built-in ${a} roots (${b.roots.length})`);let c=await this.loadServerConfigs();return(Array.isArray(c)?c.find(b=>b.name===a):void 0)??{success:!0}}return{success:!1,error:`"${a}" is a FLUJO built-in server: only enabling/disabling it is allowed, not editing.`}}let c=await this.loadServerConfigs();if(!Array.isArray(c))return kb.warn("updateServerConfig: Failed to load configs:",c.error),c;let d=c.find(b=>b.name===a),e=!!d&&"string"==typeof b.name&&b.name!==a;if(e&&c.some(a=>a.name===b.name))return kb.warn(`updateServerConfig: Refusing to rename ${a} -> ${b.name}: name already in use`),{success:!1,error:`A server named "${b.name}" already exists`};if(!d&&b.name)kb.info(`updateServerConfig: Creating new server config for ${b.name}`),d={name:b.name,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],_buildCommand:"",_installCommand:"",rootPath:""},c.push(d);else if(!d)return kb.warn(`updateServerConfig: Server ${a} not found`),{success:!1,error:`Server ${a} not found`};let f=b.oauthClientSecret;if(void 0!==f){let a=d.oauthClientSecret;b.oauthClientSecret=await this.resolveOAuthSecretForSave(f,a)}let g=b.headers;if(void 0!==g){let a=d.headers;b.headers=await this.resolveHeadersForSave(g,a)}let h={...d};h={...d,...b};let i=JSON.stringify(d.roots??[])!==JSON.stringify(h.roots??[])||(d.rootPath??"")!==(h.rootPath??""),j=c.findIndex(b=>b.name===a);-1!==j?c[j]=h:h.name&&c.push(h);let k=await (0,r.q)(new Map(c.map(a=>[a.name,a])));return k.success?(await this.ensureRemoteServerRootDir(h),e?(this.clients.has(a)?await this.disconnectServer(a):(this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a)),this.stderrLogs.delete(a),this.lastConnectionError.delete(a),await this.handleConnectionStateChange(h.name,h)):await this.handleConnectionStateChange(a,h),i&&this.notifyRootsChanged(h.name),kb.info(`updateServerConfig: Successfully updated config for ${a}${e?` (renamed to ${h.name})`:""}`),h):(kb.warn(`updateServerConfig: Failed to save config for ${a}:`,k.error),k)}async handleConnectionStateChange(a,b){kb.debug(`handleConnectionStateChange: Entering method for server ${a}`);let c=!!this.getClient(a),d=!b.disabled;if(c&&!d){kb.info(`handleConnectionStateChange: Disconnecting disabled server ${a}`);try{await this.disconnectServer(a)}catch(b){kb.warn(`handleConnectionStateChange: Failed to disconnect server ${a} during update:`,b)}}else!c&&d?(kb.info(`handleConnectionStateChange: Connecting previously disabled server ${a}`),await this.connectServer(b)):c&&d?(kb.info(`handleConnectionStateChange: Re-applying config to connected server ${a}`),await this.connectServer(b)):d||(kb.info(`handleConnectionStateChange: Clearing retry timers for disabled server ${a}`),this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a))}async clearRetryTimersForDisabledServers(){kb.debug("clearRetryTimersForDisabledServers: Checking for disabled servers with active retry timers");try{let a=await this.loadServerConfigs();if(!Array.isArray(a))return void kb.warn("clearRetryTimersForDisabledServers: Failed to load server configs");for(let b of a.filter(a=>a.disabled))this.connectionRetryTimers.has(b.name)&&(kb.info(`clearRetryTimersForDisabledServers: Clearing retry timer for disabled server ${b.name}`),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name))}catch(a){kb.error("clearRetryTimersForDisabledServers: Error clearing retry timers:",a)}}async deleteServerConfig(a){if(kb.debug(`deleteServerConfig: Entering method for server ${a}`),await this.isInternalServer(a))return{success:!1,error:`"${j9._}" is FLUJO's built-in server and cannot be deleted.`};this.clients.has(a)&&(kb.info(`deleteServerConfig: Disconnecting server ${a} before deletion`),await this.disconnectServer(a));let b=await this.loadServerConfigs();if(!Array.isArray(b))return kb.warn("deleteServerConfig: Failed to load configs:",b.error),b;let c=b.findIndex(b=>b.name===a);if(-1===c)return kb.warn(`deleteServerConfig: Server ${a} not found in configs`),{success:!1,error:`Server ${a} not found`};b.splice(c,1),kb.debug(`deleteServerConfig: Saving updated configs after deleting ${a}`);let d=await (0,r.q)(new Map(b.map(a=>[a.name,a])));return d.success?kb.info(`deleteServerConfig: Successfully deleted server ${a}`):kb.warn(`deleteServerConfig: Error saving configs after deleting ${a}:`,d.error),d}async getServerStatus(a){if(await this.isInternalServer(a))return await this.isServerDisabled(a)?{status:"disconnected"}:{status:"connected"};let b=await this.getServerConfig(a);if(!b)return kb.warn(`getServerStatus: Server ${a} not found`),{status:"error",message:`Server ${a} configuration not found. The server may have been deleted or not properly configured.`};if(b.disabled)return kb.debug(`getServerStatus: Server ${a} is disabled`),{status:"disconnected"};let c=!!this.getClient(a);if("streamable"===b.transport&&!c&&b.oauthScopes&&b.oauthScopes.length>0){if(!b.oauthTokens||!b.oauthTokens.access_token)return kb.info(`getServerStatus: Server ${a} requires OAuth authentication but has no valid tokens`),{status:"requires_authentication",message:"OAuth authentication required. Click the authenticate button to complete the OAuth flow."};if(!b.oauthTokens.refresh_token&&b.oauthTokens.expires_in&&b.oauthTokens.issued_at){let c=b.oauthTokens.issued_at,d=b.oauthTokens.expires_in;if(Math.floor(Date.now()/1e3)>=c+d)return kb.info(`getServerStatus: OAuth tokens for ${a} have expired and no refresh token is available`),{status:"requires_authentication",message:"OAuth tokens have expired. Please re-authenticate."}}}let d=(this.stderrLogs.get(a)||[]).join("\n").trim(),e=this.lastConnectionError.get(a);if(c||this.getClient(a))return kb.info(`getServerStatus: Server ${a} is connected`),{status:"connected",stderrOutput:d||void 0};{let b=this.isStartingUp()&&!this.lastConnectionError.has(a);if(this.connectingServers.has(a)||b)return kb.info(`getServerStatus: Server ${a} is still connecting`),{status:"connecting",message:"Server is starting up. This may take a few moments."};if(d&&(d.includes("OAuth authentication required")||d.includes("invalid_token")))return kb.info(`getServerStatus: OAuth authentication error detected for ${a}`),{status:"requires_authentication",message:"OAuth authentication required. Please complete the OAuth flow.",stderrOutput:d};let c=d||e;return c?(kb.info(`getServerStatus: Using ${d?"stderr output":"persisted connection error"} as error message for ${a}`),{status:"error",message:c,stderrOutput:d||void 0}):(kb.info(`getServerStatus: No specific error details available for ${a}`),{status:"error",message:`Server ${a} is configured but not connected. The server process may have crashed or been terminated.`,stderrOutput:void 0})}}async startEnabledServers(){kb.info("Starting all enabled servers"),this.setStartingUp(!0);try{await this.clearRetryTimersForDisabledServers();let a=await this.loadServerConfigs();if(!Array.isArray(a))return void kb.warn("Failed to load server configs, cannot start servers");let b=a.filter(a=>!a.disabled);kb.info(`Found ${b.length} enabled servers to start`),kb.debug(`${b}`),b.forEach(a=>this.connectingServers.add(a.name));let c=Math.max(1,Number(process.env.FLUJO_MCP_BOOT_CONCURRENCY)||2);kb.info(`Connecting ${b.length} enabled servers with boot concurrency ${c}`),await (0,q.P)(b,c,async a=>{kb.info(`Starting server: ${a.name}`),await this.connectServer(a).catch(b=>{kb.error(`Failed to start server ${a.name}:`,b)})})}finally{this.setStartingUp(!1)}}async getAvailableClients(){try{let a=await this.loadServerConfigs();if(!a||"error"in a)return kb.warn("getAvailableClients: Failed to load server configs:",a?.error),[];return(await Promise.all(a.map(async a=>{try{let b=await this.getServerStatus(a.name);return{name:a.name,status:"string"==typeof b?b:b.status,connected:"string"==typeof b?"connected"===b:"connected"===b.status}}catch(b){return kb.warn(`getAvailableClients: Error getting status for ${a.name}:`,b),{name:a.name,status:"error",connected:!1}}}))).map(a=>`${a.name} (${a.status})`)}catch(a){return kb.error("getAvailableClients: Error getting available clients:",a),[]}}constructor(){this.stderrLogs=new Map,this.lastConnectionError=new Map,this.inFlightConnects=new Map,this.connectionRetryTimers=new Map,this.connectionRetryAttempts=new Map,this.resourceListVersion=new Map,this.pendingResourceUpdates=new Map}}let ke=new kd},88593:function(a,b,c){"use strict";var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.createCrypto=function(){return h()?new f.BrowserCrypto:new g.NodeCrypto},b.hasBrowserCrypto=h;let f=c(11486),g=c(64098);function h(){return"undefined"!=typeof window&&void 0!==window.crypto&&void 0!==window.crypto.subtle}e(c(89629),b)},88634:(a,b,c)=>{"use strict";var d=c(91378),e=c(28354),f=c(33873),g=c(81630),h=c(55591),i=c(79551).parse,j=c(29021),k=c(27910).Stream,l=c(55511),m=c(88659),n=c(19814),o=c(79522),p=c(75786),q=c(2007);function r(a){return String(a).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22")}function s(a){if(!(this instanceof s))return new s(a);for(var b in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],d.call(this),a=a||{})this[b]=a[b]}e.inherits(s,d),s.LINE_BREAK="\r\n",s.DEFAULT_CONTENT_TYPE="application/octet-stream",s.prototype.append=function(a,b,c){"string"==typeof(c=c||{})&&(c={filename:c});var e=d.prototype.append.bind(this);if(("number"==typeof b||null==b)&&(b=String(b)),Array.isArray(b))return void this._error(Error("Arrays are not supported."));var f=this._multiPartHeader(a,b,c),g=this._multiPartFooter();e(f),e(b),e(g),this._trackLength(f,b,c)},s.prototype._trackLength=function(a,b,c){var d=0;null!=c.knownLength?d+=Number(c.knownLength):Buffer.isBuffer(b)?d=b.length:"string"==typeof b&&(d=Buffer.byteLength(b)),this._valueLength+=d,this._overheadLength+=Buffer.byteLength(a)+s.LINE_BREAK.length,b&&(b.path||b.readable&&p(b,"httpVersion")||b instanceof k)&&(c.knownLength||this._valuesToMeasure.push(b))},s.prototype._lengthRetriever=function(a,b){p(a,"fd")?void 0!=a.end&&a.end!=1/0&&void 0!=a.start?b(null,a.end+1-(a.start?a.start:0)):j.stat(a.path,function(c,d){if(c)return void b(c);b(null,d.size-(a.start?a.start:0))}):p(a,"httpVersion")?b(null,Number(a.headers["content-length"])):p(a,"httpModule")?(a.on("response",function(c){a.pause(),b(null,Number(c.headers["content-length"]))}),a.resume()):b("Unknown stream")},s.prototype._multiPartHeader=function(a,b,c){if("string"==typeof c.header)return c.header;var d,e=this._getContentDisposition(b,c),f=this._getContentType(b,c),g="",h={"Content-Disposition":["form-data",'name="'+r(a)+'"'].concat(e||[]),"Content-Type":[].concat(f||[])};for(var i in"object"==typeof c.header&&q(h,c.header),h)if(p(h,i)){if(null==(d=h[i]))continue;Array.isArray(d)||(d=[d]),d.length&&(g+=i+": "+d.join("; ")+s.LINE_BREAK)}return"--"+this.getBoundary()+s.LINE_BREAK+g+s.LINE_BREAK},s.prototype._getContentDisposition=function(a,b){var c;if("string"==typeof b.filepath?c=f.normalize(b.filepath).replace(/\\/g,"/"):b.filename||a&&(a.name||a.path)?c=f.basename(b.filename||a&&(a.name||a.path)):a&&a.readable&&p(a,"httpVersion")&&(c=f.basename(a.client._httpMessage.path||"")),c)return'filename="'+r(c)+'"'},s.prototype._getContentType=function(a,b){var c=b.contentType;return!c&&a&&a.name&&(c=m.lookup(a.name)),!c&&a&&a.path&&(c=m.lookup(a.path)),!c&&a&&a.readable&&p(a,"httpVersion")&&(c=a.headers["content-type"]),!c&&(b.filepath||b.filename)&&(c=m.lookup(b.filepath||b.filename)),!c&&a&&"object"==typeof a&&(c=s.DEFAULT_CONTENT_TYPE),c},s.prototype._multiPartFooter=function(){return(function(a){var b=s.LINE_BREAK;0===this._streams.length&&(b+=this._lastBoundary()),a(b)}).bind(this)},s.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+s.LINE_BREAK},s.prototype.getHeaders=function(a){var b,c={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(b in a)p(a,b)&&(c[b.toLowerCase()]=a[b]);return c},s.prototype.setBoundary=function(a){if("string"!=typeof a)throw TypeError("FormData boundary must be a string");this._boundary=a},s.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},s.prototype.getBuffer=function(){for(var a=new Buffer.alloc(0),b=this.getBoundary(),c=0,d=this._streams.length;c<d;c++)"function"!=typeof this._streams[c]&&(a=Buffer.isBuffer(this._streams[c])?Buffer.concat([a,this._streams[c]]):Buffer.concat([a,Buffer.from(this._streams[c])]),("string"!=typeof this._streams[c]||this._streams[c].substring(2,b.length+2)!==b)&&(a=Buffer.concat([a,Buffer.from(s.LINE_BREAK)])));return Buffer.concat([a,Buffer.from(this._lastBoundary())])},s.prototype._generateBoundary=function(){this._boundary="--------------------------"+l.randomBytes(12).toString("hex")},s.prototype.getLengthSync=function(){var a=this._overheadLength+this._valueLength;return this._streams.length&&(a+=this._lastBoundary().length),this.hasKnownLength()||this._error(Error("Cannot calculate proper length in synchronous way.")),a},s.prototype.hasKnownLength=function(){var a=!0;return this._valuesToMeasure.length&&(a=!1),a},s.prototype.getLength=function(a){var b=this._overheadLength+this._valueLength;if(this._streams.length&&(b+=this._lastBoundary().length),!this._valuesToMeasure.length)return void process.nextTick(a.bind(this,null,b));n.parallel(this._valuesToMeasure,this._lengthRetriever,function(c,d){if(c)return void a(c);d.forEach(function(a){b+=a}),a(null,b)})},s.prototype.submit=function(a,b){var c,d,e={method:"post"};return"string"==typeof a?d=q({port:(a=i(a)).port,path:a.pathname,host:a.hostname,protocol:a.protocol},e):(d=q(a,e)).port||(d.port="https:"===d.protocol?443:80),d.headers=this.getHeaders(a.headers),c="https:"===d.protocol?h.request(d):g.request(d),this.getLength((function(a,d){if(a&&"Unknown stream"!==a)return void this._error(a);if(d&&c.setHeader("Content-Length",d),this.pipe(c),b){var e,f=function(a,d){return c.removeListener("error",f),c.removeListener("response",e),b.call(this,a,d)};e=f.bind(this,null),c.on("error",f),c.on("response",e)}}).bind(this)),c},s.prototype._error=function(a){this.error||(this.error=a,this.pause(),this.emit("error",a))},s.prototype.toString=function(){return"[object FormData]"},o(s.prototype,"FormData"),a.exports=s},88659:(a,b,c)=>{"use strict";var d=c(42696),e=c(33873).extname,f=/^\s*([^;\s]*)(?:;|\s|$)/,g=/^text\//i;function h(a){if(!a||"string"!=typeof a)return!1;var b=f.exec(a),c=b&&d[b[1].toLowerCase()];return c&&c.charset?c.charset:!!(b&&g.test(b[1]))&&"UTF-8"}b.charset=h,b.charsets={lookup:h},b.contentType=function(a){if(!a||"string"!=typeof a)return!1;var c=-1===a.indexOf("/")?b.lookup(a):a;if(!c)return!1;if(-1===c.indexOf("charset")){var d=b.charset(c);d&&(c+="; charset="+d.toLowerCase())}return c},b.extension=function(a){if(!a||"string"!=typeof a)return!1;var c=f.exec(a),d=c&&b.extensions[c[1].toLowerCase()];return!!d&&!!d.length&&d[0]},b.extensions=Object.create(null),b.lookup=function(a){if(!a||"string"!=typeof a)return!1;var c=e("x."+a).toLowerCase().substr(1);return!!c&&(b.types[c]||!1)},b.types=Object.create(null),function(a,b){var c=["nginx","apache",void 0,"iana"];Object.keys(d).forEach(function(e){var f=d[e],g=f.extensions;if(g&&g.length){a[e]=g;for(var h=0;h<g.length;h++){var i=g[h];if(b[i]){var j=c.indexOf(d[b[i]].source),k=c.indexOf(f.source);if("application/octet-stream"!==b[i]&&(j>k||j===k&&"application/"===b[i].substr(0,12)))continue}b[i]=e}}})}(b.extensions,b.types)},88803:(a,b,c)=>{"use strict";function d(a,b,c){if(!a)throw Error(`${c} does not support task creation (required for ${b})`);if("tools/call"===b&&!a.tools?.call)throw Error(`${c} does not support task creation for tools/call (required for ${b})`)}function e(a,b,c){if(!a)throw Error(`${c} does not support task creation (required for ${b})`);switch(b){case"sampling/createMessage":if(!a.sampling?.createMessage)throw Error(`${c} does not support task creation for sampling/createMessage (required for ${b})`);break;case"elicitation/create":if(!a.elicitation?.create)throw Error(`${c} does not support task creation for elicitation/create (required for ${b})`)}}c.d(b,{s:()=>e,z:()=>d})},89095:(a,b,c)=>{var d=c(15144),e=c(90637),f=c(56947);a.exports=function(a){return f(a)?d(a):e(a)}},89108:a=>{a.exports=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}},89629:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.fromArrayBufferToHex=function(a){return Array.from(new Uint8Array(a)).map(a=>a.toString(16).padStart(2,"0")).join("")}},89850:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(55511);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();let i=(a=a||{}).random??a.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=i[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(i)}},90126:(a,b,c)=>{var d=c(23150);a.exports=function(a){var b=!1;return d(function(){b=!0}),function(c,e){b?a(c,e):d(function(){a(c,e)})}}},90637:(a,b,c)=>{var d=c(8100),e=c(24363),f=Object.prototype.hasOwnProperty;a.exports=function(a){if(!d(a))return e(a);var b=[];for(var c in Object(a))f.call(a,c)&&"constructor"!=c&&b.push(c);return b}},91233:(a,b,c)=>{"use strict";var d,e=c(39247),f=c(33324);try{d=[].__proto__===Array.prototype}catch(a){if(!a||"object"!=typeof a||!("code"in a)||"ERR_PROTO_ACCESS"!==a.code)throw a}var g=!!d&&f&&f(Object.prototype,"__proto__"),h=Object,i=h.getPrototypeOf;a.exports=g&&"function"==typeof g.get?e([g.get]):"function"==typeof i&&function(a){return i(null==a?a:h(a))}},91362:(a,b,c)=>{var d=c(61048);a.exports=function(a){return d(this,a).has(a)}},91378:(a,b,c)=>{var d=c(28354),e=c(27910).Stream,f=c(14702);function g(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}a.exports=g,d.inherits(g,e),g.create=function(a){var b=new this;for(var c in a=a||{})b[c]=a[c];return b},g.isStreamLike=function(a){return"function"!=typeof a&&"string"!=typeof a&&"boolean"!=typeof a&&"number"!=typeof a&&!Buffer.isBuffer(a)},g.prototype.append=function(a){if(g.isStreamLike(a)){if(!(a instanceof f)){var b=f.create(a,{maxDataSize:1/0,pauseStream:this.pauseStreams});a.on("data",this._checkDataSize.bind(this)),a=b}this._handleErrors(a),this.pauseStreams&&a.pause()}return this._streams.push(a),this},g.prototype.pipe=function(a,b){return e.prototype.pipe.call(this,a,b),this.resume(),a},g.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}},g.prototype._realGetNext=function(){var a=this._streams.shift();return void 0===a?void this.end():"function"!=typeof a?void this._pipeNext(a):void a((function(a){g.isStreamLike(a)&&(a.on("data",this._checkDataSize.bind(this)),this._handleErrors(a)),this._pipeNext(a)}).bind(this))},g.prototype._pipeNext=function(a){if(this._currentStream=a,g.isStreamLike(a)){a.on("end",this._getNext.bind(this)),a.pipe(this,{end:!1});return}this.write(a),this._getNext()},g.prototype._handleErrors=function(a){var b=this;a.on("error",function(a){b._emitError(a)})},g.prototype.write=function(a){this.emit("data",a)},g.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},g.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},g.prototype.end=function(){this._reset(),this.emit("end")},g.prototype.destroy=function(){this._reset(),this.emit("close")},g.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},g.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var a="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(Error(a))}},g.prototype._updateDataSize=function(){this.dataSize=0;var a=this;this._streams.forEach(function(b){b.dataSize&&(a.dataSize+=b.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},g.prototype._emitError=function(a){this._reset(),this.emit("error",a)}},91480:a=>{"use strict";let b=/([()\][%!^"`<>&|;, *?])/g;a.exports.command=function(a){return a.replace(b,"^$1")},a.exports.argument=function(a,c){return a=(a=(a=`${a}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),a=(a=`"${a}"`).replace(b,"^$1"),c&&(a=a.replace(b,"^$1")),a}},91527:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});let d=a=>"function"==typeof a},91704:(a,b,c)=>{var d=c(22271);a.exports=function(){try{var a=d(Object,"defineProperty");return a({},"",{}),a}catch(a){}}()},91781:(a,b,c)=>{var d=c(92878).Buffer,e=c(27910);function f(a){if(this.buffer=null,this.writable=!0,this.readable=!0,!a)return this.buffer=d.alloc(0),this;if("function"==typeof a.pipe)return this.buffer=d.alloc(0),a.pipe(this),this;if(a.length||"object"==typeof a)return this.buffer=a,this.writable=!1,process.nextTick((function(){this.emit("end",a),this.readable=!1,this.emit("close")}).bind(this)),this;throw TypeError("Unexpected data type ("+typeof a+")")}c(28354).inherits(f,e),f.prototype.write=function(a){this.buffer=d.concat([this.buffer,d.from(a)]),this.emit("data",a)},f.prototype.end=function(a){a&&this.write(a),this.emit("end",a),this.emit("close"),this.writable=!1,this.readable=!1},a.exports=f},92018:(a,b,c)=>{"use strict";c.d(b,{_:()=>d,z:()=>e});let d="flujo";function e(){return{name:d,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:"",_buildCommand:"",_installCommand:"",builtIn:!0,exposeAsMcpServer:!0}}},92111:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});let d=c(31638),e=c(97025),f=c(83593),g=c(68300);b.default={keyword:"properties",type:"object",schemaType:"object",code(a){let{gen:b,schema:c,parentSchema:h,data:i,it:j}=a;"all"===j.opts.removeAdditional&&void 0===h.additionalProperties&&g.default.code(new d.KeywordCxt(j,g.default,"additionalProperties"));let k=(0,e.allSchemaProperties)(c);for(let a of k)j.definedProperties.add(a);j.opts.unevaluated&&k.length&&!0!==j.props&&(j.props=f.mergeEvaluated.props(b,(0,f.toHash)(k),j.props));let l=k.filter(a=>!(0,f.alwaysValidSchema)(j,c[a]));if(0===l.length)return;let m=b.name("valid");for(let d of l){var n;(n=d,j.opts.useDefaults&&!j.compositeRule&&void 0!==c[n].default)?o(d):(b.if((0,e.propertyInData)(b,i,d,j.opts.ownProperties)),o(d),j.allErrors||b.else().var(m,!0),b.endIf()),a.it.definedProperties.add(d),a.ok(m)}function o(b){a.subschema({keyword:"properties",schemaProp:b,dataProp:b},m)}}}},92349:(a,b,c)=>{var d=c(42995);a.exports=function(){this.__data__=d?d(null):{},this.size=0}},92642:a=>{var b=Object.prototype.hasOwnProperty;a.exports=function(a){var c=a.length,d=new a.constructor(c);return c&&"string"==typeof a[0]&&b.call(a,"index")&&(d.index=a.index,d.input=a.input),d}},92878:(a,b,c)=>{var d=c(79428),e=d.Buffer;function f(a,b){for(var c in a)b[c]=a[c]}function g(a,b,c){return e(a,b,c)}e.from&&e.alloc&&e.allocUnsafe&&e.allocUnsafeSlow?a.exports=d:(f(d,b),b.Buffer=g),g.prototype=Object.create(e.prototype),f(e,g),g.from=function(a,b,c){if("number"==typeof a)throw TypeError("Argument must not be a number");return e(a,b,c)},g.alloc=function(a,b,c){if("number"!=typeof a)throw TypeError("Argument must be a number");var d=e(a);return void 0!==b?"string"==typeof c?d.fill(b,c):d.fill(b):d.fill(0),d},g.allocUnsafe=function(a){if("number"!=typeof a)throw TypeError("Argument must be a number");return e(a)},g.allocUnsafeSlow=function(a){if("number"!=typeof a)throw TypeError("Argument must be a number");return d.SlowBuffer(a)}},93111:(a,b,c)=>{"use strict";let d,{Duplex:e}=c(27910),{randomFillSync:f}=c(55511),{types:{isUint8Array:g}}=c(28354),h=c(74240),{EMPTY_BUFFER:i,kWebSocket:j,NOOP:k}=c(32995),{isBlob:l,isValidStatusCode:m}=c(26649),{mask:n,toBuffer:o}=c(27047),p=Symbol("kByteLength"),q=Buffer.alloc(4),r=8192;class s{constructor(a,b,c){this._extensions=b||{},c&&(this._generateMask=c,this._maskBuffer=Buffer.alloc(4)),this._socket=a,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=k,this[j]=void 0}static frame(a,b){let c,e,g=!1,h=2,i=!1;b.mask&&(c=b.maskBuffer||q,b.generateMask?b.generateMask(c):(8192===r&&(void 0===d&&(d=Buffer.alloc(8192)),f(d,0,8192),r=0),c[0]=d[r++],c[1]=d[r++],c[2]=d[r++],c[3]=d[r++]),i=(c[0]|c[1]|c[2]|c[3])==0,h=6),"string"==typeof a?e=(!b.mask||i)&&void 0!==b[p]?b[p]:(a=Buffer.from(a)).length:(e=a.length,g=b.mask&&b.readOnly&&!i);let j=e;e>=65536?(h+=8,j=127):e>125&&(h+=2,j=126);let k=Buffer.allocUnsafe(g?e+h:h);return(k[0]=b.fin?128|b.opcode:b.opcode,b.rsv1&&(k[0]|=64),k[1]=j,126===j?k.writeUInt16BE(e,2):127===j&&(k[2]=k[3]=0,k.writeUIntBE(e,4,6)),b.mask)?(k[1]|=128,k[h-4]=c[0],k[h-3]=c[1],k[h-2]=c[2],k[h-1]=c[3],i)?[k,a]:g?(n(a,c,k,h,e),[k]):(n(a,c,a,0,e),[k,a]):[k,a]}close(a,b,c,d){let e;if(void 0===a)e=i;else if("number"==typeof a&&m(a))if(void 0!==b&&b.length){let c=Buffer.byteLength(b);if(c>123)throw RangeError("The message must not be greater than 123 bytes");if((e=Buffer.allocUnsafe(2+c)).writeUInt16BE(a,0),"string"==typeof b)e.write(b,2);else if(g(b))e.set(b,2);else throw TypeError("Second argument must be a string or a Uint8Array")}else(e=Buffer.allocUnsafe(2)).writeUInt16BE(a,0);else throw TypeError("First argument must be a valid error code number");let f={[p]:e.length,fin:!0,generateMask:this._generateMask,mask:c,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,e,!1,f,d]):this.sendFrame(s.frame(e,f),d)}ping(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[p]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:9,readOnly:e,rsv1:!1};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(s.frame(a,f),c)}pong(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[p]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:10,readOnly:e,rsv1:!1};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(s.frame(a,f),c)}send(a,b,c){let d,e,f=this._extensions[h.extensionName],g=b.binary?2:1,i=b.compress;"string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),this._firstFragment?(this._firstFragment=!1,i&&f&&f.params[f._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=d>=f._threshold),this._compress=i):(i=!1,g=0),b.fin&&(this._firstFragment=!0);let j={[p]:d,fin:b.fin,generateMask:this._generateMask,mask:b.mask,maskBuffer:this._maskBuffer,opcode:g,readOnly:e,rsv1:i};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,this._compress,j,c]):this.getBlobData(a,this._compress,j,c):0!==this._state?this.enqueue([this.dispatch,a,this._compress,j,c]):this.dispatch(a,this._compress,j,c)}getBlobData(a,b,c,d){this._bufferedBytes+=c[p],this._state=2,a.arrayBuffer().then(a=>{if(this._socket.destroyed){let a=Error("The socket was closed while the blob was being read");process.nextTick(t,this,a,d);return}this._bufferedBytes-=c[p];let e=o(a);b?this.dispatch(e,b,c,d):(this._state=0,this.sendFrame(s.frame(e,c),d),this.dequeue())}).catch(a=>{process.nextTick(u,this,a,d)})}dispatch(a,b,c,d){if(!b)return void this.sendFrame(s.frame(a,c),d);let e=this._extensions[h.extensionName];this._bufferedBytes+=c[p],this._state=1,e.compress(a,c.fin,(a,b)=>{if(this._socket.destroyed)return void t(this,Error("The socket was closed while data was being compressed"),d);this._bufferedBytes-=c[p],this._state=0,c.readOnly=!1,this.sendFrame(s.frame(b,c),d),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let a=this._queue.shift();this._bufferedBytes-=a[3][p],Reflect.apply(a[0],this,a.slice(1))}}enqueue(a){this._bufferedBytes+=a[3][p],this._queue.push(a)}sendFrame(a,b){2===a.length?(this._socket.cork(),this._socket.write(a[0]),this._socket.write(a[1],b),this._socket.uncork()):this._socket.write(a[0],b)}}function t(a,b,c){"function"==typeof c&&c(b);for(let c=0;c<a._queue.length;c++){let d=a._queue[c],e=d[d.length-1];"function"==typeof e&&e(b)}}function u(a,b,c){t(a,b,c),a.onerror(b)}a.exports=s},93113:(a,b,c)=>{var d=c(80782),e=c(55e3),f=c(13356);a.exports=function(){this.size=0,this.__data__={hash:new d,map:new(f||e),string:new d}}},93209:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.ExternalAccountClient=void 0;let d=c(35294),e=c(62888),f=c(73925),g=c(27305);class h{constructor(){throw Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(a){return a&&a.type===d.EXTERNAL_ACCOUNT_TYPE?a.credential_source?.environment_id?new f.AwsClient(a):a.credential_source?.executable?new g.PluggableAuthClient(a):new e.IdentityPoolClient(a):null}}b.ExternalAccountClient=h},93704:(a,b,c)=>{"use strict";c.d(b,{Y:()=>ce});let d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:a=>`Symbol(${a})`;function e(){}function f(a){return"object"==typeof a&&null!==a||"function"==typeof a}function g(a,b){try{Object.defineProperty(a,"name",{value:b,configurable:!0})}catch(a){}}let h=Promise,i=Promise.prototype.then,j=Promise.resolve.bind(h),k=Promise.reject.bind(h);function l(a){return new h(a)}function m(a,b,c){return i.call(a,b,c)}function n(a,b,c){m(m(a,b,c),void 0,e)}function o(a){m(a,void 0,e)}let p=a=>{if("function"==typeof queueMicrotask)p=queueMicrotask;else{let a=j(void 0);p=b=>m(a,b)}return p(a)};function q(a,b,c){if("function"!=typeof a)throw TypeError("Argument is not a function");return Function.prototype.apply.call(a,b,c)}function r(a,b,c){try{var d;return d=q(a,b,c),j(d)}catch(a){return k(a)}}class s{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(a){let b=this._back,c=b;16383===b._elements.length&&(c={_elements:[],_next:void 0}),b._elements.push(a),c!==b&&(this._back=c,b._next=c),++this._size}shift(){let a=this._front,b=a,c=this._cursor,d=c+1,e=a._elements,f=e[c];return 16384===d&&(b=a._next,d=0),--this._size,this._cursor=d,a!==b&&(this._front=b),e[c]=void 0,f}forEach(a){let b=this._cursor,c=this._front,d=c._elements;for(;!(b===d.length&&void 0===c._next||b===d.length&&(d=(c=c._next)._elements,b=0,0===d.length));)a(d[b]),++b}peek(){let a=this._front,b=this._cursor;return a._elements[b]}}let t=d("[[AbortSteps]]"),u=d("[[ErrorSteps]]"),v=d("[[CancelSteps]]"),w=d("[[PullSteps]]"),x=d("[[ReleaseSteps]]");function y(a,b){var c,d;a._ownerReadableStream=b,b._reader=a,"readable"===b._state?C(a):"closed"===b._state?(C(a),E(a)):(c=a,d=b._storedError,C(c),D(c,d))}function z(a,b){return bA(a._ownerReadableStream,b)}function A(a){var b,c;let d=a._ownerReadableStream;"readable"===d._state?D(a,TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):(b=a,c=TypeError("Reader was released and can no longer be used to monitor the stream's closedness"),C(b),D(b,c)),d._readableStreamController[x](),d._reader=void 0,a._ownerReadableStream=void 0}function B(a){return TypeError("Cannot "+a+" a stream using a released reader")}function C(a){a._closedPromise=l((b,c)=>{a._closedPromise_resolve=b,a._closedPromise_reject=c})}function D(a,b){void 0!==a._closedPromise_reject&&(o(a._closedPromise),a._closedPromise_reject(b),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}function E(a){void 0!==a._closedPromise_resolve&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}let F=Number.isFinite||function(a){return"number"==typeof a&&isFinite(a)},G=Math.trunc||function(a){return a<0?Math.ceil(a):Math.floor(a)};function H(a,b){if(void 0!==a&&"object"!=typeof a&&"function"!=typeof a)throw TypeError(`${b} is not an object.`)}function I(a,b){if("function"!=typeof a)throw TypeError(`${b} is not a function.`)}function J(a,b){if(("object"!=typeof a||null===a)&&"function"!=typeof a)throw TypeError(`${b} is not an object.`)}function K(a,b,c){if(void 0===a)throw TypeError(`Parameter ${b} is required in '${c}'.`)}function L(a,b,c){if(void 0===a)throw TypeError(`${b} is required in '${c}'.`)}function M(a){return Number(a)}function N(a,b){var c,d;let e=Number.MAX_SAFE_INTEGER,f=Number(a);if(!F(f=0===(c=f)?0:c))throw TypeError(`${b} is not a finite number`);if((f=0===(d=G(f))?0:d)<0||f>e)throw TypeError(`${b} is outside the accepted range of 0 to ${e}, inclusive`);return F(f)&&0!==f?f:0}function O(a){if(!f(a)||"function"!=typeof a.getReader)return!1;try{return"boolean"==typeof a.locked}catch(a){return!1}}function P(a){if(!f(a)||"function"!=typeof a.getWriter)return!1;try{return"boolean"==typeof a.locked}catch(a){return!1}}function Q(a,b){if(!by(a))throw TypeError(`${b} is not a ReadableStream.`)}function R(a,b){a._reader._readRequests.push(b)}function S(a,b,c){let d=a._reader._readRequests.shift();c?d._closeSteps():d._chunkSteps(b)}function T(a){return a._reader._readRequests.length}function U(a){let b=a._reader;return void 0!==b&&!!W(b)}class V{constructor(a){if(K(a,1,"ReadableStreamDefaultReader"),Q(a,"First parameter"),bz(a))throw TypeError("This stream has already been locked for exclusive reading by another reader");y(this,a),this._readRequests=new s}get closed(){return W(this)?this._closedPromise:k(Y("closed"))}cancel(a){return W(this)?void 0===this._ownerReadableStream?k(B("cancel")):z(this,a):k(Y("cancel"))}read(){let a,b;if(!W(this))return k(Y("read"));if(void 0===this._ownerReadableStream)return k(B("read from"));let c=l((c,d)=>{a=c,b=d});return function(a,b){let c=a._ownerReadableStream;c._disturbed=!0,"closed"===c._state?b._closeSteps():"errored"===c._state?b._errorSteps(c._storedError):c._readableStreamController[w](b)}(this,{_chunkSteps:b=>a({value:b,done:!1}),_closeSteps:()=>a({value:void 0,done:!0}),_errorSteps:a=>b(a)}),c}releaseLock(){if(!W(this))throw Y("releaseLock");void 0!==this._ownerReadableStream&&(A(this),X(this,TypeError("Reader was released")))}}function W(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readRequests")&&a instanceof V}function X(a,b){let c=a._readRequests;a._readRequests=new s,c.forEach(a=>{a._errorSteps(b)})}function Y(a){return TypeError(`ReadableStreamDefaultReader.prototype.${a} can only be used on a ReadableStreamDefaultReader`)}Object.defineProperties(V.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),g(V.prototype.cancel,"cancel"),g(V.prototype.read,"read"),g(V.prototype.releaseLock,"releaseLock"),"symbol"==typeof d.toStringTag&&Object.defineProperty(V.prototype,d.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});class Z{constructor(a,b){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=a,this._preventCancel=b}next(){let a=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?m(this._ongoingPromise,a,a):a(),this._ongoingPromise}return(a){let b=()=>this._returnSteps(a);return this._ongoingPromise?m(this._ongoingPromise,b,b):b()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let a=this._reader;return void 0===a?k(B("iterate")):m(a.read(),a=>{var b;return this._ongoingPromise=void 0,a.done&&(this._isFinished=!0,null==(b=this._reader)||b.releaseLock(),this._reader=void 0),a},a=>{var b;throw this._ongoingPromise=void 0,this._isFinished=!0,null==(b=this._reader)||b.releaseLock(),this._reader=void 0,a})}_returnSteps(a){if(this._isFinished)return Promise.resolve({value:a,done:!0});this._isFinished=!0;let b=this._reader;if(void 0===b)return k(B("finish iterating"));if(this._reader=void 0,!this._preventCancel){let c=b.cancel(a);return b.releaseLock(),m(c,()=>({value:a,done:!0}),void 0)}return b.releaseLock(),j({value:a,done:!0})}}let $={next(){return _(this)?this._asyncIteratorImpl.next():k(aa("next"))},return(a){return _(this)?this._asyncIteratorImpl.return(a):k(aa("return"))}};function _(a){if(!f(a)||!Object.prototype.hasOwnProperty.call(a,"_asyncIteratorImpl"))return!1;try{return a._asyncIteratorImpl instanceof Z}catch(a){return!1}}function aa(a){return TypeError(`ReadableStreamAsyncIterator.${a} can only be used on a ReadableSteamAsyncIterator`)}"symbol"==typeof d.asyncIterator&&Object.defineProperty($,d.asyncIterator,{value(){return this},writable:!0,configurable:!0});let ab=Number.isNaN||function(a){return a!=a};function ac(a,b,c,d,e){new Uint8Array(a).set(new Uint8Array(c,d,e),b)}function ad(a){return new Uint8Array(function(a,b,c){if(a.slice)return a.slice(b,c);let d=c-b,e=new ArrayBuffer(d);return ac(e,0,a,b,d),e}(a.buffer,a.byteOffset,a.byteOffset+a.byteLength))}function ae(a){let b=a._queue.shift();return a._queueTotalSize-=b.size,a._queueTotalSize<0&&(a._queueTotalSize=0),b.value}function af(a,b,c){if("number"!=typeof c||ab(c)||c<0||c===1/0)throw RangeError("Size must be a finite, non-NaN, non-negative number.");a._queue.push({value:b,size:c}),a._queueTotalSize+=c}function ag(a){a._queue=new s,a._queueTotalSize=0}class ah{constructor(){throw TypeError("Illegal constructor")}get view(){if(!ak(this))throw aD("view");return this._view}respond(a){if(!ak(this))throw aD("respond");if(K(a,1,"respond"),a=N(a,"First parameter"),void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");this._view.buffer,function(a,b){let c=a._pendingPullIntos.peek();if("closed"===a._controlledReadableByteStream._state){if(0!==b)throw TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(0===b)throw TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(c.bytesFilled+b>c.byteLength)throw RangeError("bytesWritten out of range")}c.buffer=c.buffer,ax(a,b)}(this._associatedReadableByteStreamController,a)}respondWithNewView(a){if(!ak(this))throw aD("respondWithNewView");if(K(a,1,"respondWithNewView"),!ArrayBuffer.isView(a))throw TypeError("You can only respond with array buffer views");if(void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");a.buffer,function(a,b){let c=a._pendingPullIntos.peek();if("closed"===a._controlledReadableByteStream._state){if(0!==b.byteLength)throw TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(0===b.byteLength)throw TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(c.byteOffset+c.bytesFilled!==b.byteOffset)throw RangeError("The region specified by view does not match byobRequest");if(c.bufferByteLength!==b.buffer.byteLength)throw RangeError("The buffer of view has different capacity than byobRequest");if(c.bytesFilled+b.byteLength>c.byteLength)throw RangeError("The region specified by view is larger than byobRequest");let d=b.byteLength;c.buffer=b.buffer,ax(a,d)}(this._associatedReadableByteStreamController,a)}}Object.defineProperties(ah.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),g(ah.prototype.respond,"respond"),g(ah.prototype.respondWithNewView,"respondWithNewView"),"symbol"==typeof d.toStringTag&&Object.defineProperty(ah.prototype,d.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class ai{constructor(){throw TypeError("Illegal constructor")}get byobRequest(){if(!aj(this))throw aE("byobRequest");return function(a){if(null===a._byobRequest&&a._pendingPullIntos.length>0){let b=a._pendingPullIntos.peek(),c=new Uint8Array(b.buffer,b.byteOffset+b.bytesFilled,b.byteLength-b.bytesFilled),d=Object.create(ah.prototype);d._associatedReadableByteStreamController=a,d._view=c,a._byobRequest=d}return a._byobRequest}(this)}get desiredSize(){if(!aj(this))throw aE("desiredSize");return aC(this)}close(){if(!aj(this))throw aE("close");if(this._closeRequested)throw TypeError("The stream has already been closed; do not close it again!");let a=this._controlledReadableByteStream._state;if("readable"!==a)throw TypeError(`The stream (in ${a} state) is not in the readable state and cannot be closed`);!function(a){let b=a._controlledReadableByteStream;if(!a._closeRequested&&"readable"===b._state){if(a._queueTotalSize>0)return a._closeRequested=!0;if(a._pendingPullIntos.length>0&&a._pendingPullIntos.peek().bytesFilled>0){let b=TypeError("Insufficient bytes to fill elements in the given buffer");throw aA(a,b),b}az(a),bB(b)}}(this)}enqueue(a){if(!aj(this))throw aE("enqueue");if(K(a,1,"enqueue"),!ArrayBuffer.isView(a))throw TypeError("chunk must be an array buffer view");if(0===a.byteLength)throw TypeError("chunk must have non-zero byteLength");if(0===a.buffer.byteLength)throw TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw TypeError("stream is closed or draining");let b=this._controlledReadableByteStream._state;if("readable"!==b)throw TypeError(`The stream (in ${b} state) is not in the readable state and cannot be enqueued to`);!function(a,b){let c=a._controlledReadableByteStream;if(a._closeRequested||"readable"!==c._state)return;let d=b.buffer,e=b.byteOffset,f=b.byteLength;if(a._pendingPullIntos.length>0){let b=a._pendingPullIntos.peek();b.buffer,av(a),b.buffer=b.buffer,"none"===b.readerType&&ar(a,b)}U(c)?(function(a){let b=a._controlledReadableByteStream._reader;for(;b._readRequests.length>0;){if(0===a._queueTotalSize)return;aB(a,b._readRequests.shift())}}(a),0===T(c))?ap(a,d,e,f):(a._pendingPullIntos.length>0&&ay(a),S(c,new Uint8Array(d,e,f),!1)):aH(c)?(ap(a,d,e,f),aw(a)):ap(a,d,e,f),al(a)}(this,a)}error(a){if(!aj(this))throw aE("error");aA(this,a)}[v](a){am(this),ag(this);let b=this._cancelAlgorithm(a);return az(this),b}[w](a){let b=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void aB(this,a);let c=this._autoAllocateChunkSize;if(void 0!==c){let b;try{b=new ArrayBuffer(c)}catch(b){return void a._errorSteps(b)}let d={buffer:b,bufferByteLength:c,byteOffset:0,byteLength:c,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(d)}R(b,a),al(this)}[x](){if(this._pendingPullIntos.length>0){let a=this._pendingPullIntos.peek();a.readerType="none",this._pendingPullIntos=new s,this._pendingPullIntos.push(a)}}}function aj(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledReadableByteStream")&&a instanceof ai}function ak(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_associatedReadableByteStreamController")&&a instanceof ah}function al(a){if(function(a){let b=a._controlledReadableByteStream;return"readable"===b._state&&!a._closeRequested&&!!a._started&&!!(U(b)&&T(b)>0||aH(b)&&aG(b)>0||aC(a)>0)}(a)){if(a._pulling)return void(a._pullAgain=!0);a._pulling=!0,n(a._pullAlgorithm(),()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,al(a)),null),b=>(aA(a,b),null))}}function am(a){av(a),a._pendingPullIntos=new s}function an(a,b){let c=!1;"closed"===a._state&&(c=!0);let d=ao(b);"default"===b.readerType?S(a,d,c):function(a,b,c){let d=a._reader._readIntoRequests.shift();c?d._closeSteps(b):d._chunkSteps(b)}(a,d,c)}function ao(a){let b=a.bytesFilled,c=a.elementSize;return new a.viewConstructor(a.buffer,a.byteOffset,b/c)}function ap(a,b,c,d){a._queue.push({buffer:b,byteOffset:c,byteLength:d}),a._queueTotalSize+=d}function aq(a,b,c,d){let e;try{e=b.slice(c,c+d)}catch(b){throw aA(a,b),b}ap(a,e,0,d)}function ar(a,b){b.bytesFilled>0&&aq(a,b.buffer,b.byteOffset,b.bytesFilled),ay(a)}function as(a,b){let c=b.elementSize,d=b.bytesFilled-b.bytesFilled%c,e=Math.min(a._queueTotalSize,b.byteLength-b.bytesFilled),f=b.bytesFilled+e,g=f-f%c,h=e,i=!1;g>d&&(h=g-b.bytesFilled,i=!0);let j=a._queue;for(;h>0;){let c=j.peek(),d=Math.min(h,c.byteLength),e=b.byteOffset+b.bytesFilled;ac(b.buffer,e,c.buffer,c.byteOffset,d),c.byteLength===d?j.shift():(c.byteOffset+=d,c.byteLength-=d),a._queueTotalSize-=d,at(a,d,b),h-=d}return i}function at(a,b,c){c.bytesFilled+=b}function au(a){0===a._queueTotalSize&&a._closeRequested?(az(a),bB(a._controlledReadableByteStream)):al(a)}function av(a){null!==a._byobRequest&&(a._byobRequest._associatedReadableByteStreamController=void 0,a._byobRequest._view=null,a._byobRequest=null)}function aw(a){for(;a._pendingPullIntos.length>0;){if(0===a._queueTotalSize)return;let b=a._pendingPullIntos.peek();as(a,b)&&(ay(a),an(a._controlledReadableByteStream,b))}}function ax(a,b){let c=a._pendingPullIntos.peek();av(a),"closed"===a._controlledReadableByteStream._state?function(a,b){"none"===b.readerType&&ay(a);let c=a._controlledReadableByteStream;if(aH(c))for(;aG(c)>0;)an(c,ay(a))}(a,c):function(a,b,c){if(at(0,b,c),"none"===c.readerType)return ar(a,c),aw(a);if(c.bytesFilled<c.elementSize)return;ay(a);let d=c.bytesFilled%c.elementSize;if(d>0){let b=c.byteOffset+c.bytesFilled;aq(a,c.buffer,b-d,d)}c.bytesFilled-=d,an(a._controlledReadableByteStream,c),aw(a)}(a,b,c),al(a)}function ay(a){return a._pendingPullIntos.shift()}function az(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0}function aA(a,b){let c=a._controlledReadableByteStream;"readable"===c._state&&(am(a),ag(a),az(a),bC(c,b))}function aB(a,b){let c=a._queue.shift();a._queueTotalSize-=c.byteLength,au(a);let d=new Uint8Array(c.buffer,c.byteOffset,c.byteLength);b._chunkSteps(d)}function aC(a){let b=a._controlledReadableByteStream._state;return"errored"===b?null:"closed"===b?0:a._strategyHWM-a._queueTotalSize}function aD(a){return TypeError(`ReadableStreamBYOBRequest.prototype.${a} can only be used on a ReadableStreamBYOBRequest`)}function aE(a){return TypeError(`ReadableByteStreamController.prototype.${a} can only be used on a ReadableByteStreamController`)}function aF(a,b){a._reader._readIntoRequests.push(b)}function aG(a){return a._reader._readIntoRequests.length}function aH(a){let b=a._reader;return void 0!==b&&!!aJ(b)}Object.defineProperties(ai.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),g(ai.prototype.close,"close"),g(ai.prototype.enqueue,"enqueue"),g(ai.prototype.error,"error"),"symbol"==typeof d.toStringTag&&Object.defineProperty(ai.prototype,d.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class aI{constructor(a){if(K(a,1,"ReadableStreamBYOBReader"),Q(a,"First parameter"),bz(a))throw TypeError("This stream has already been locked for exclusive reading by another reader");if(!aj(a._readableStreamController))throw TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");y(this,a),this._readIntoRequests=new s}get closed(){return aJ(this)?this._closedPromise:k(aL("closed"))}cancel(a){return aJ(this)?void 0===this._ownerReadableStream?k(B("cancel")):z(this,a):k(aL("cancel"))}read(a){let b,c;if(!aJ(this))return k(aL("read"));if(!ArrayBuffer.isView(a))return k(TypeError("view must be an array buffer view"));if(0===a.byteLength)return k(TypeError("view must have non-zero byteLength"));if(0===a.buffer.byteLength)return k(TypeError("view's buffer must have non-zero byteLength"));if(a.buffer,void 0===this._ownerReadableStream)return k(B("read from"));let d=l((a,d)=>{b=a,c=d});return function(a,b,c){let d=a._ownerReadableStream;d._disturbed=!0,"errored"===d._state?c._errorSteps(d._storedError):function(a,b,c){let d=a._controlledReadableByteStream,e=1;b.constructor!==DataView&&(e=b.constructor.BYTES_PER_ELEMENT);let f=b.constructor,g=b.buffer,h={buffer:g,bufferByteLength:g.byteLength,byteOffset:b.byteOffset,byteLength:b.byteLength,bytesFilled:0,elementSize:e,viewConstructor:f,readerType:"byob"};if(a._pendingPullIntos.length>0)return a._pendingPullIntos.push(h),aF(d,c);if("closed"!==d._state){if(a._queueTotalSize>0){if(as(a,h)){let b=ao(h);return au(a),c._chunkSteps(b)}if(a._closeRequested){let b=TypeError("Insufficient bytes to fill elements in the given buffer");return aA(a,b),c._errorSteps(b)}}a._pendingPullIntos.push(h),aF(d,c),al(a)}else{let a=new f(h.buffer,h.byteOffset,0);c._closeSteps(a)}}(d._readableStreamController,b,c)}(this,a,{_chunkSteps:a=>b({value:a,done:!1}),_closeSteps:a=>b({value:a,done:!0}),_errorSteps:a=>c(a)}),d}releaseLock(){if(!aJ(this))throw aL("releaseLock");void 0!==this._ownerReadableStream&&(A(this),aK(this,TypeError("Reader was released")))}}function aJ(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readIntoRequests")&&a instanceof aI}function aK(a,b){let c=a._readIntoRequests;a._readIntoRequests=new s,c.forEach(a=>{a._errorSteps(b)})}function aL(a){return TypeError(`ReadableStreamBYOBReader.prototype.${a} can only be used on a ReadableStreamBYOBReader`)}function aM(a,b){let{highWaterMark:c}=a;if(void 0===c)return b;if(ab(c)||c<0)throw RangeError("Invalid highWaterMark");return c}function aN(a){let{size:b}=a;return b||(()=>1)}function aO(a,b){var c;H(a,b);let d=null==a?void 0:a.highWaterMark,e=null==a?void 0:a.size;return{highWaterMark:void 0===d?void 0:M(d),size:void 0===e?void 0:(I(c=e,`${b} has member 'size' that`),a=>M(c(a)))}}Object.defineProperties(aI.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),g(aI.prototype.cancel,"cancel"),g(aI.prototype.read,"read"),g(aI.prototype.releaseLock,"releaseLock"),"symbol"==typeof d.toStringTag&&Object.defineProperty(aI.prototype,d.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});let aP="function"==typeof AbortController;class aQ{constructor(a={},b={}){void 0===a?a=null:J(a,"First parameter");let c=aO(b,"Second parameter"),d=function(a,b){H(a,b);let c=null==a?void 0:a.abort,d=null==a?void 0:a.close,e=null==a?void 0:a.start,f=null==a?void 0:a.type,g=null==a?void 0:a.write;return{abort:void 0===c?void 0:(I(c,`${b} has member 'abort' that`),b=>r(c,a,[b])),close:void 0===d?void 0:(I(d,`${b} has member 'close' that`),()=>r(d,a,[])),start:void 0===e?void 0:(I(e,`${b} has member 'start' that`),b=>q(e,a,[b])),write:void 0===g?void 0:(I(g,`${b} has member 'write' that`),(b,c)=>r(g,a,[b,c])),type:f}}(a,"First parameter");if(this._state="writable",this._storedError=void 0,this._writer=void 0,this._writableStreamController=void 0,this._writeRequests=new s,this._inFlightWriteRequest=void 0,this._closeRequest=void 0,this._inFlightCloseRequest=void 0,this._pendingAbortRequest=void 0,this._backpressure=!1,void 0!==d.type)throw RangeError("Invalid type is specified");let e=aN(c);!function(a,b,c,d){let e,f,g,h,i=Object.create(a3.prototype);e=void 0!==b.start?()=>b.start(i):()=>{},f=void 0!==b.write?a=>b.write(a,i):()=>j(void 0),g=void 0!==b.close?()=>b.close():()=>j(void 0),h=void 0!==b.abort?a=>b.abort(a):()=>j(void 0),i._controlledWritableStream=a,a._writableStreamController=i,i._queue=void 0,i._queueTotalSize=void 0,ag(i),i._abortReason=void 0,i._abortController=function(){if(aP)return new AbortController}(),i._started=!1,i._strategySizeAlgorithm=d,i._strategyHWM=c,i._writeAlgorithm=f,i._closeAlgorithm=g,i._abortAlgorithm=h,a$(a,0>=a6(i)),n(j(e()),()=>(i._started=!0,a7(i),null),b=>(i._started=!0,aV(a,b),null))}(this,d,aM(c,1),e)}get locked(){if(!aR(this))throw ba("locked");return aS(this)}abort(a){return aR(this)?aS(this)?k(TypeError("Cannot abort a stream that already has a writer")):aT(this,a):k(ba("abort"))}close(){return aR(this)?aS(this)?k(TypeError("Cannot close a stream that already has a writer")):aY(this)?k(TypeError("Cannot close an already-closing stream")):aU(this):k(ba("close"))}getWriter(){if(!aR(this))throw ba("getWriter");return new a_(this)}}function aR(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_writableStreamController")&&a instanceof aQ}function aS(a){return void 0!==a._writer}function aT(a,b){var c;if("closed"===a._state||"errored"===a._state)return j(void 0);a._writableStreamController._abortReason=b,null==(c=a._writableStreamController._abortController)||c.abort(b);let d=a._state;if("closed"===d||"errored"===d)return j(void 0);if(void 0!==a._pendingAbortRequest)return a._pendingAbortRequest._promise;let e=!1;"erroring"===d&&(e=!0,b=void 0);let f=l((c,d)=>{a._pendingAbortRequest={_promise:void 0,_resolve:c,_reject:d,_reason:b,_wasAlreadyErroring:e}});return a._pendingAbortRequest._promise=f,e||aW(a,b),f}function aU(a){var b;let c=a._state;if("closed"===c||"errored"===c)return k(TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let d=l((b,c)=>{a._closeRequest={_resolve:b,_reject:c}}),e=a._writer;return void 0!==e&&a._backpressure&&"writable"===c&&bk(e),af(b=a._writableStreamController,a2,0),a7(b),d}function aV(a,b){"writable"!==a._state?aX(a):aW(a,b)}function aW(a,b){let c=a._writableStreamController;a._state="erroring",a._storedError=b;let d=a._writer;void 0!==d&&a1(d,b),void 0===a._inFlightWriteRequest&&void 0===a._inFlightCloseRequest&&c._started&&aX(a)}function aX(a){a._state="errored",a._writableStreamController[u]();let b=a._storedError;if(a._writeRequests.forEach(a=>{a._reject(b)}),a._writeRequests=new s,void 0===a._pendingAbortRequest)return void aZ(a);let c=a._pendingAbortRequest;if(a._pendingAbortRequest=void 0,c._wasAlreadyErroring)return c._reject(b),void aZ(a);n(a._writableStreamController[t](c._reason),()=>(c._resolve(),aZ(a),null),b=>(c._reject(b),aZ(a),null))}function aY(a){return void 0!==a._closeRequest||void 0!==a._inFlightCloseRequest}function aZ(a){void 0!==a._closeRequest&&(a._closeRequest._reject(a._storedError),a._closeRequest=void 0);let b=a._writer;void 0!==b&&bf(b,a._storedError)}function a$(a,b){let c=a._writer;void 0!==c&&b!==a._backpressure&&(b?bh(c):bk(c)),a._backpressure=b}Object.defineProperties(aQ.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),g(aQ.prototype.abort,"abort"),g(aQ.prototype.close,"close"),g(aQ.prototype.getWriter,"getWriter"),"symbol"==typeof d.toStringTag&&Object.defineProperty(aQ.prototype,d.toStringTag,{value:"WritableStream",configurable:!0});class a_{constructor(a){if(K(a,1,"WritableStreamDefaultWriter"),function(a,b){if(!aR(a))throw TypeError(`${b} is not a WritableStream.`)}(a,"First parameter"),aS(a))throw TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=a,a._writer=this;let b=a._state;if("writable"===b)!aY(a)&&a._backpressure?bh(this):function(a){bh(a),bk(a)}(this),be(this);else if("erroring"===b)bi(this,a._storedError),be(this);else if("closed"===b)(function(a){bh(a),bk(a)})(this),be(this),bg(this);else{let b=a._storedError;bi(this,b),function(a,b){be(a),bf(a,b)}(this,b)}}get closed(){return a0(this)?this._closedPromise:k(bc("closed"))}get desiredSize(){if(!a0(this))throw bc("desiredSize");if(void 0===this._ownerWritableStream)throw bd("desiredSize");let a=this._ownerWritableStream,b=a._state;return"errored"===b||"erroring"===b?null:"closed"===b?0:a6(a._writableStreamController)}get ready(){return a0(this)?this._readyPromise:k(bc("ready"))}abort(a){return a0(this)?void 0===this._ownerWritableStream?k(bd("abort")):aT(this._ownerWritableStream,a):k(bc("abort"))}close(){if(!a0(this))return k(bc("close"));let a=this._ownerWritableStream;return void 0===a?k(bd("close")):aY(a)?k(TypeError("Cannot close an already-closing stream")):aU(this._ownerWritableStream)}releaseLock(){if(!a0(this))throw bc("releaseLock");void 0!==this._ownerWritableStream&&function(a){var b,c;let d=a._ownerWritableStream,e=TypeError("Writer was released and can no longer be used to monitor the stream's closedness");a1(a,e),"pending"===a._closedPromiseState?bf(a,e):(b=a,c=e,be(b),bf(b,c)),d._writer=void 0,a._ownerWritableStream=void 0}(this)}write(a){return a0(this)?void 0===this._ownerWritableStream?k(bd("write to")):function(a,b){let c=a._ownerWritableStream,d=c._writableStreamController,e=function(a,b){try{return a._strategySizeAlgorithm(b)}catch(b){return a8(a,b),1}}(d,b);if(c!==a._ownerWritableStream)return k(bd("write to"));let f=c._state;if("errored"===f)return k(c._storedError);if(aY(c)||"closed"===f)return k(TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===f)return k(c._storedError);let g=l((a,b)=>{c._writeRequests.push({_resolve:a,_reject:b})});return function(a,b,c){try{af(a,b,c)}catch(b){return void a8(a,b)}let d=a._controlledWritableStream;aY(d)||"writable"!==d._state||a$(d,0>=a6(a)),a7(a)}(d,b,e),g}(this,a):k(bc("write"))}}function a0(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_ownerWritableStream")&&a instanceof a_}function a1(a,b){"pending"===a._readyPromiseState?bj(a,b):bi(a,b)}Object.defineProperties(a_.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),g(a_.prototype.abort,"abort"),g(a_.prototype.close,"close"),g(a_.prototype.releaseLock,"releaseLock"),g(a_.prototype.write,"write"),"symbol"==typeof d.toStringTag&&Object.defineProperty(a_.prototype,d.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});let a2={};class a3{constructor(){throw TypeError("Illegal constructor")}get abortReason(){if(!a4(this))throw bb("abortReason");return this._abortReason}get signal(){if(!a4(this))throw bb("signal");if(void 0===this._abortController)throw TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(a){if(!a4(this))throw bb("error");"writable"===this._controlledWritableStream._state&&a9(this,a)}[t](a){let b=this._abortAlgorithm(a);return a5(this),b}[u](){ag(this)}}function a4(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledWritableStream")&&a instanceof a3}function a5(a){a._writeAlgorithm=void 0,a._closeAlgorithm=void 0,a._abortAlgorithm=void 0,a._strategySizeAlgorithm=void 0}function a6(a){return a._strategyHWM-a._queueTotalSize}function a7(a){let b=a._controlledWritableStream;if(!a._started||void 0!==b._inFlightWriteRequest)return;if("erroring"===b._state)return void aX(b);if(0===a._queue.length)return;let c=a._queue.peek().value;c===a2?function(a){let b=a._controlledWritableStream;b._inFlightCloseRequest=b._closeRequest,b._closeRequest=void 0,ae(a);let c=a._closeAlgorithm();a5(a),n(c,()=>((function(a){a._inFlightCloseRequest._resolve(void 0),a._inFlightCloseRequest=void 0,"erroring"===a._state&&(a._storedError=void 0,void 0!==a._pendingAbortRequest&&(a._pendingAbortRequest._resolve(),a._pendingAbortRequest=void 0)),a._state="closed";let b=a._writer;void 0!==b&&bg(b)})(b),null),a=>(b._inFlightCloseRequest._reject(a),b._inFlightCloseRequest=void 0,void 0!==b._pendingAbortRequest&&(b._pendingAbortRequest._reject(a),b._pendingAbortRequest=void 0),aV(b,a),null))}(a):function(a,b){let c=a._controlledWritableStream;c._inFlightWriteRequest=c._writeRequests.shift(),n(a._writeAlgorithm(b),()=>{c._inFlightWriteRequest._resolve(void 0),c._inFlightWriteRequest=void 0;let b=c._state;return ae(a),aY(c)||"writable"!==b||a$(c,0>=a6(a)),a7(a),null},b=>("writable"===c._state&&a5(a),c._inFlightWriteRequest._reject(b),c._inFlightWriteRequest=void 0,aV(c,b),null))}(a,c)}function a8(a,b){"writable"===a._controlledWritableStream._state&&a9(a,b)}function a9(a,b){let c=a._controlledWritableStream;a5(a),aW(c,b)}function ba(a){return TypeError(`WritableStream.prototype.${a} can only be used on a WritableStream`)}function bb(a){return TypeError(`WritableStreamDefaultController.prototype.${a} can only be used on a WritableStreamDefaultController`)}function bc(a){return TypeError(`WritableStreamDefaultWriter.prototype.${a} can only be used on a WritableStreamDefaultWriter`)}function bd(a){return TypeError("Cannot "+a+" a stream using a released writer")}function be(a){a._closedPromise=l((b,c)=>{a._closedPromise_resolve=b,a._closedPromise_reject=c,a._closedPromiseState="pending"})}function bf(a,b){void 0!==a._closedPromise_reject&&(o(a._closedPromise),a._closedPromise_reject(b),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="rejected")}function bg(a){void 0!==a._closedPromise_resolve&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="resolved")}function bh(a){a._readyPromise=l((b,c)=>{a._readyPromise_resolve=b,a._readyPromise_reject=c}),a._readyPromiseState="pending"}function bi(a,b){bh(a),bj(a,b)}function bj(a,b){void 0!==a._readyPromise_reject&&(o(a._readyPromise),a._readyPromise_reject(b),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="rejected")}function bk(a){void 0!==a._readyPromise_resolve&&(a._readyPromise_resolve(void 0),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="fulfilled")}Object.defineProperties(a3.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(a3.prototype,d.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});let bl="undefined"!=typeof DOMException?DOMException:void 0,bm=!function(a){if("function"!=typeof a&&"object"!=typeof a)return!1;try{return new a,!0}catch(a){return!1}}(bl)?function(){let a=function(a,b){this.message=a||"",this.name=b||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return a.prototype=Object.create(Error.prototype),Object.defineProperty(a.prototype,"constructor",{value:a,writable:!0,configurable:!0}),a}():bl;function bn(a,b,c,d,e,f){let g=a.getReader(),h=b.getWriter();by(a)&&(a._disturbed=!0);let i,q,r,s=!1,t=!1,u="readable",v="writable",w=!1,x=!1,y=l(a=>{r=a}),z=Promise.resolve(void 0);return l((A,B)=>{let C;function D(){if(s)return;let a=l((a,b)=>{!function c(d){d?a():m(s?j(!0):m(h.ready,()=>m(g.read(),a=>!!a.done||(o(z=h.write(a.value)),!1))),c,b)}(!1)});o(a)}function E(){return u="closed",c?I():H(()=>(aR(b)&&(w=aY(b),v=b._state),w||"closed"===v?j(void 0):"erroring"===v||"errored"===v?k(q):(w=!0,h.close())),!1,void 0),null}function F(a){return s||(u="errored",i=a,d?I(!0,a):H(()=>h.abort(a),!0,a)),null}function G(a){return t||(v="errored",q=a,e?I(!0,a):H(()=>g.cancel(a),!0,a)),null}if(void 0!==f&&(C=()=>{let a=void 0!==f.reason?f.reason:new bm("Aborted","AbortError"),b=[];d||b.push(()=>"writable"===v?h.abort(a):j(void 0)),e||b.push(()=>"readable"===u?g.cancel(a):j(void 0)),H(()=>Promise.all(b.map(a=>a())),!0,a)},f.aborted?C():f.addEventListener("abort",C)),by(a)&&(u=a._state,i=a._storedError),aR(b)&&(v=b._state,q=b._storedError,w=aY(b)),by(a)&&aR(b)&&(x=!0,r()),"errored"===u)F(i);else if("erroring"===v||"errored"===v)G(q);else if("closed"===u)E();else if(w||"closed"===v){let a=TypeError("the destination writable stream closed before all data could be piped to it");e?I(!0,a):H(()=>g.cancel(a),!0,a)}function H(a,b,c){function d(){let a;return"writable"!==v||w?e():n(j(function b(){if(a!==z)return a=z,m(z,b,b)}()),e),null}function e(){return a?n(a(),()=>J(b,c),a=>J(!0,a)):J(b,c),null}s||(s=!0,x?d():n(y,d))}function I(a,b){H(void 0,a,b)}function J(a,b){return t=!0,h.releaseLock(),g.releaseLock(),void 0!==f&&f.removeEventListener("abort",C),a?B(b):A(void 0),null}s||(n(g.closed,E,F),n(h.closed,function(){return t||(v="closed"),null},G)),x?D():p(()=>{x=!0,r(),D()})})}class bo{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!bp(this))throw bv("desiredSize");return bt(this)}close(){if(!bp(this))throw bv("close");if(!bu(this))throw TypeError("The stream is not in a state that permits close");!function(a){if(!bu(a))return;let b=a._controlledReadableStream;a._closeRequested=!0,0===a._queue.length&&(br(a),bB(b))}(this)}enqueue(a){if(!bp(this))throw bv("enqueue");if(!bu(this))throw TypeError("The stream is not in a state that permits enqueue");if(!bu(this))return;let b=this._controlledReadableStream;if(bz(b)&&T(b)>0)S(b,a,!1);else{let b;try{b=this._strategySizeAlgorithm(a)}catch(a){throw bs(this,a),a}try{af(this,a,b)}catch(a){throw bs(this,a),a}}bq(this)}error(a){if(!bp(this))throw bv("error");bs(this,a)}[v](a){ag(this);let b=this._cancelAlgorithm(a);return br(this),b}[w](a){let b=this._controlledReadableStream;if(this._queue.length>0){let c=ae(this);this._closeRequested&&0===this._queue.length?(br(this),bB(b)):bq(this),a._chunkSteps(c)}else R(b,a),bq(this)}[x](){}}function bp(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledReadableStream")&&a instanceof bo}function bq(a){if(function(a){let b=a._controlledReadableStream;return!!bu(a)&&!!a._started&&!!(bz(b)&&T(b)>0||bt(a)>0)}(a)){if(a._pulling)return void(a._pullAgain=!0);a._pulling=!0,n(a._pullAlgorithm(),()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,bq(a)),null),b=>(bs(a,b),null))}}function br(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0,a._strategySizeAlgorithm=void 0}function bs(a,b){let c=a._controlledReadableStream;"readable"===c._state&&(ag(a),br(a),bC(c,b))}function bt(a){let b=a._controlledReadableStream._state;return"errored"===b?null:"closed"===b?0:a._strategyHWM-a._queueTotalSize}function bu(a){return!a._closeRequested&&"readable"===a._controlledReadableStream._state}function bv(a){return TypeError(`ReadableStreamDefaultController.prototype.${a} can only be used on a ReadableStreamDefaultController`)}function bw(a,b){H(a,b);let c=null==a?void 0:a.preventAbort,d=null==a?void 0:a.preventCancel,e=null==a?void 0:a.preventClose,f=null==a?void 0:a.signal;return void 0!==f&&function(a,b){if(!function(a){if("object"!=typeof a||null===a)return!1;try{return"boolean"==typeof a.aborted}catch(a){return!1}}(a))throw TypeError(`${b} is not an AbortSignal.`)}(f,`${b} has member 'signal' that`),{preventAbort:!!c,preventCancel:!!d,preventClose:!!e,signal:f}}Object.defineProperties(bo.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),g(bo.prototype.close,"close"),g(bo.prototype.enqueue,"enqueue"),g(bo.prototype.error,"error"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bo.prototype,d.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class bx{constructor(a={},b={}){void 0===a?a=null:J(a,"First parameter");let c=aO(b,"Second parameter"),d=function(a,b){H(a,b);let c=null==a?void 0:a.autoAllocateChunkSize,d=null==a?void 0:a.cancel,e=null==a?void 0:a.pull,f=null==a?void 0:a.start,g=null==a?void 0:a.type;return{autoAllocateChunkSize:void 0===c?void 0:N(c,`${b} has member 'autoAllocateChunkSize' that`),cancel:void 0===d?void 0:(I(d,`${b} has member 'cancel' that`),b=>r(d,a,[b])),pull:void 0===e?void 0:(I(e,`${b} has member 'pull' that`),b=>r(e,a,[b])),start:void 0===f?void 0:(I(f,`${b} has member 'start' that`),b=>q(f,a,[b])),type:void 0===g?void 0:function(a,b){if("bytes"!=(a=`${a}`))throw TypeError(`${b} '${a}' is not a valid enumeration value for ReadableStreamType`);return a}(g,`${b} has member 'type' that`)}}(a,"First parameter");if(this._state="readable",this._reader=void 0,this._storedError=void 0,this._disturbed=!1,"bytes"===d.type){if(void 0!==c.size)throw RangeError("The strategy for a byte stream cannot have a size function");!function(a,b,c){let d,e,f,g=Object.create(ai.prototype);d=void 0!==b.start?()=>b.start(g):()=>{},e=void 0!==b.pull?()=>b.pull(g):()=>j(void 0),f=void 0!==b.cancel?a=>b.cancel(a):()=>j(void 0);let h=b.autoAllocateChunkSize;if(0===h)throw TypeError("autoAllocateChunkSize must be greater than 0");g._controlledReadableByteStream=a,g._pullAgain=!1,g._pulling=!1,g._byobRequest=null,g._queue=g._queueTotalSize=void 0,ag(g),g._closeRequested=!1,g._started=!1,g._strategyHWM=c,g._pullAlgorithm=e,g._cancelAlgorithm=f,g._autoAllocateChunkSize=h,g._pendingPullIntos=new s,a._readableStreamController=g,n(j(d()),()=>(g._started=!0,al(g),null),a=>(aA(g,a),null))}(this,d,aM(c,0))}else{let a=aN(c);!function(a,b,c,d){let e,f,g,h=Object.create(bo.prototype);e=void 0!==b.start?()=>b.start(h):()=>{},f=void 0!==b.pull?()=>b.pull(h):()=>j(void 0),g=void 0!==b.cancel?a=>b.cancel(a):()=>j(void 0),h._controlledReadableStream=a,h._queue=void 0,h._queueTotalSize=void 0,ag(h),h._started=!1,h._closeRequested=!1,h._pullAgain=!1,h._pulling=!1,h._strategySizeAlgorithm=d,h._strategyHWM=c,h._pullAlgorithm=f,h._cancelAlgorithm=g,a._readableStreamController=h,n(j(e()),()=>(h._started=!0,bq(h),null),a=>(bs(h,a),null))}(this,d,aM(c,1),a)}}get locked(){if(!by(this))throw bD("locked");return bz(this)}cancel(a){return by(this)?bz(this)?k(TypeError("Cannot cancel a stream that already has a reader")):bA(this,a):k(bD("cancel"))}getReader(a){if(!by(this))throw bD("getReader");return void 0===function(a,b){H(a,b);let c=null==a?void 0:a.mode;return{mode:void 0===c?void 0:function(a,b){if("byob"!=(a=`${a}`))throw TypeError(`${b} '${a}' is not a valid enumeration value for ReadableStreamReaderMode`);return a}(c,`${b} has member 'mode' that`)}}(a,"First parameter").mode?new V(this):new aI(this)}pipeThrough(a,b={}){if(!O(this))throw bD("pipeThrough");K(a,1,"pipeThrough");let c=function(a,b){H(a,b);let c=null==a?void 0:a.readable;L(c,"readable","ReadableWritablePair"),function(a,b){if(!O(a))throw TypeError(`${b} is not a ReadableStream.`)}(c,`${b} has member 'readable' that`);let d=null==a?void 0:a.writable;return L(d,"writable","ReadableWritablePair"),function(a,b){if(!P(a))throw TypeError(`${b} is not a WritableStream.`)}(d,`${b} has member 'writable' that`),{readable:c,writable:d}}(a,"First parameter"),d=bw(b,"Second parameter");if(this.locked)throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(c.writable.locked)throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return o(bn(this,c.writable,d.preventClose,d.preventAbort,d.preventCancel,d.signal)),c.readable}pipeTo(a,b={}){let c;if(!O(this))return k(bD("pipeTo"));if(void 0===a)return k("Parameter 1 is required in 'pipeTo'.");if(!P(a))return k(TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));try{c=bw(b,"Second parameter")}catch(a){return k(a)}return this.locked?k(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):a.locked?k(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):bn(this,a,c.preventClose,c.preventAbort,c.preventCancel,c.signal)}tee(){if(!O(this))throw bD("tee");if(this.locked)throw TypeError("Cannot tee a stream that already has a reader");return!function(a){try{return a.getReader({mode:"byob"}).releaseLock(),!0}catch(a){return!1}}(this)?function(a,b){let c=a.getReader(),d,e,f,g,h,i=!1,k=!1,m=!1,o=!1,p=l(a=>{h=a});function q(){return i?k=!0:(i=!0,n(c.read(),a=>{if(k=!1,a.done)return m||f.close(),o||g.close(),m&&o||h(void 0),null;let b=a.value;return m||f.enqueue(b),o||g.enqueue(b),i=!1,k&&q(),null},()=>(i=!1,null))),j(void 0)}let r=new bx({start(a){f=a},pull:q,cancel:function(a){if(m=!0,d=a,o){let a=[d,e],b=c.cancel(a);h(b)}return p}}),s=new bx({start(a){g=a},pull:q,cancel:function(a){if(o=!0,e=a,m){let a=[d,e],b=c.cancel(a);h(b)}return p}});return n(c.closed,void 0,a=>(f.error(a),g.error(a),m&&o||h(void 0),null)),[r,s]}(this):function(a){let b,c,d,e,f,g=a.getReader(),h=!1,i=!1,k=!1,m=!1,o=!1,p=!1,q=l(a=>{f=a});function r(a){n(a.closed,void 0,b=>(a!==g||(d.error(b),e.error(b),o&&p||f(void 0)),null))}function s(){h&&(g.releaseLock(),r(g=a.getReader()),h=!1),n(g.read(),a=>{var b,c;if(k=!1,m=!1,a.done)return o||d.close(),p||e.close(),null==(b=d.byobRequest)||b.respond(0),null==(c=e.byobRequest)||c.respond(0),o&&p||f(void 0),null;let h=a.value,j=h;if(!o&&!p)try{j=ad(h)}catch(a){return d.error(a),e.error(a),f(g.cancel(a)),null}return o||d.enqueue(h),p||e.enqueue(j),i=!1,k?u():m&&v(),null},()=>(i=!1,null))}function t(b,c){h||(g.releaseLock(),r(g=a.getReader({mode:"byob"})),h=!0);let j=c?e:d,l=c?d:e;n(g.read(b),a=>{var b;k=!1,m=!1;let d=c?p:o,e=c?o:p;if(a.done){d||j.close(),e||l.close();let c=a.value;return void 0!==c&&(d||j.byobRequest.respondWithNewView(c),e||null==(b=l.byobRequest)||b.respond(0)),d&&e||f(void 0),null}let h=a.value;if(e)d||j.byobRequest.respondWithNewView(h);else{let a;try{a=ad(h)}catch(a){return j.error(a),l.error(a),f(g.cancel(a)),null}d||j.byobRequest.respondWithNewView(h),l.enqueue(a)}return i=!1,k?u():m&&v(),null},()=>(i=!1,null))}function u(){if(i)return k=!0,j(void 0);i=!0;let a=d.byobRequest;return null===a?s():t(a.view,!1),j(void 0)}function v(){if(i)return m=!0,j(void 0);i=!0;let a=e.byobRequest;return null===a?s():t(a.view,!0),j(void 0)}let w=new bx({type:"bytes",start(a){d=a},pull:u,cancel:function(a){if(o=!0,b=a,p){let a=[b,c],d=g.cancel(a);f(d)}return q}}),x=new bx({type:"bytes",start(a){e=a},pull:v,cancel:function(a){if(p=!0,c=a,o){let a=[b,c],d=g.cancel(a);f(d)}return q}});return r(g),[w,x]}(this)}values(a){if(!O(this))throw bD("values");return function(a,b){let c=new Z(a.getReader(),b),d=Object.create($);return d._asyncIteratorImpl=c,d}(this,(H(a,"First parameter"),{preventCancel:!!(null==a?void 0:a.preventCancel)}).preventCancel)}}function by(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readableStreamController")&&a instanceof bx}function bz(a){return void 0!==a._reader}function bA(a,b){if(a._disturbed=!0,"closed"===a._state)return j(void 0);if("errored"===a._state)return k(a._storedError);bB(a);let c=a._reader;if(void 0!==c&&aJ(c)){let a=c._readIntoRequests;c._readIntoRequests=new s,a.forEach(a=>{a._closeSteps(void 0)})}return m(a._readableStreamController[v](b),e,void 0)}function bB(a){a._state="closed";let b=a._reader;if(void 0!==b&&(E(b),W(b))){let a=b._readRequests;b._readRequests=new s,a.forEach(a=>{a._closeSteps()})}}function bC(a,b){a._state="errored",a._storedError=b;let c=a._reader;void 0!==c&&(D(c,b),W(c)?X(c,b):aK(c,b))}function bD(a){return TypeError(`ReadableStream.prototype.${a} can only be used on a ReadableStream`)}function bE(a,b){H(a,b);let c=null==a?void 0:a.highWaterMark;return L(c,"highWaterMark","QueuingStrategyInit"),{highWaterMark:M(c)}}Object.defineProperties(bx.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),g(bx.prototype.cancel,"cancel"),g(bx.prototype.getReader,"getReader"),g(bx.prototype.pipeThrough,"pipeThrough"),g(bx.prototype.pipeTo,"pipeTo"),g(bx.prototype.tee,"tee"),g(bx.prototype.values,"values"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bx.prototype,d.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof d.asyncIterator&&Object.defineProperty(bx.prototype,d.asyncIterator,{value:bx.prototype.values,writable:!0,configurable:!0});let bF=a=>a.byteLength;g(bF,"size");class bG{constructor(a){K(a,1,"ByteLengthQueuingStrategy"),a=bE(a,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=a.highWaterMark}get highWaterMark(){if(!bI(this))throw bH("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!bI(this))throw bH("size");return bF}}function bH(a){return TypeError(`ByteLengthQueuingStrategy.prototype.${a} can only be used on a ByteLengthQueuingStrategy`)}function bI(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_byteLengthQueuingStrategyHighWaterMark")&&a instanceof bG}Object.defineProperties(bG.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bG.prototype,d.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});let bJ=()=>1;g(bJ,"size");class bK{constructor(a){K(a,1,"CountQueuingStrategy"),a=bE(a,"First parameter"),this._countQueuingStrategyHighWaterMark=a.highWaterMark}get highWaterMark(){if(!bM(this))throw bL("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!bM(this))throw bL("size");return bJ}}function bL(a){return TypeError(`CountQueuingStrategy.prototype.${a} can only be used on a CountQueuingStrategy`)}function bM(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_countQueuingStrategyHighWaterMark")&&a instanceof bK}Object.defineProperties(bK.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bK.prototype,d.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class bN{constructor(a={},b={},c={}){let d;void 0===a&&(a=null);let e=aO(b,"Second parameter"),f=aO(c,"Third parameter"),g=function(a,b){H(a,b);let c=null==a?void 0:a.flush,d=null==a?void 0:a.readableType,e=null==a?void 0:a.start,f=null==a?void 0:a.transform,g=null==a?void 0:a.writableType;return{flush:void 0===c?void 0:(I(c,`${b} has member 'flush' that`),b=>r(c,a,[b])),readableType:d,start:void 0===e?void 0:(I(e,`${b} has member 'start' that`),b=>q(e,a,[b])),transform:void 0===f?void 0:(I(f,`${b} has member 'transform' that`),(b,c)=>r(f,a,[b,c])),writableType:g}}(a,"First parameter");if(void 0!==g.readableType)throw RangeError("Invalid readableType specified");if(void 0!==g.writableType)throw RangeError("Invalid writableType specified");let h=aM(f,0),i=aN(f),n=aM(e,1),o=aN(e);!function(a,b,c,d,e,f){var g,h,i;function k(){return b}a._writableState="writable",a._writableStoredError=void 0,a._writableHasInFlightOperation=!1,a._writableStarted=!1,g=function(b){let c=a._transformStreamController;return a._backpressure?m(a._backpressureChangePromise,()=>{if("erroring"===(aR(a._writable)?a._writable._state:a._writableState))throw aR(a._writable)?a._writable._storedError:a._writableStoredError;return bW(c,b)},void 0):bW(c,b)},h=function(){var b=a;let c=b._transformStreamController,d=c._flushAlgorithm();return bU(c),m(d,()=>{if("errored"===b._readableState)throw b._readableStoredError;bZ(b)&&b$(b)},a=>{throw bP(b,a),b._readableStoredError})},a._writable=new aQ({start(b){a._writableController=b;try{let c=b.signal;void 0!==c&&c.addEventListener("abort",()=>{"writable"===a._writableState&&(a._writableState="erroring",c.reason&&(a._writableStoredError=c.reason))})}catch(a){}return m(k(),()=>(a._writableStarted=!0,b4(a),null),b=>{throw a._writableStarted=!0,b1(a,b),b})},write:b=>(a._writableHasInFlightOperation=!0,m(g(b),()=>(a._writableHasInFlightOperation=!1,b4(a),null),b=>{throw a._writableHasInFlightOperation=!1,b1(a,b),b})),close:()=>(a._writableHasInFlightOperation=!0,m(h(),()=>(a._writableHasInFlightOperation=!1,"erroring"===a._writableState&&(a._writableStoredError=void 0),a._writableState="closed",null),b=>{throw a._writableHasInFlightOperation=!1,a._writableState,b1(a,b),b})),abort:b=>(a._writableState="errored",a._writableStoredError=b,function(b){return bP(a,b),j(void 0)}(b))},{highWaterMark:c,size:d}),a._readableState="readable",a._readableStoredError=void 0,a._readableCloseRequested=!1,a._readablePulling=!1,i=function(){return bR(a,!1),a._backpressureChangePromise},a._readable=new bx({start:b=>(a._readableController=b,k().catch(b=>{b_(a,b)})),pull:()=>(a._readablePulling=!0,i().catch(b=>{b_(a,b)})),cancel:b=>(a._readableState="closed",function(b){return bQ(a,b),j(void 0)}(b))},{highWaterMark:e,size:f}),a._backpressure=void 0,a._backpressureChangePromise=void 0,a._backpressureChangePromise_resolve=void 0,bR(a,!0),a._transformStreamController=void 0}(this,l(a=>{d=a}),n,o,h,i),function(a,b){let c,d,e=Object.create(bS.prototype);c=void 0!==b.transform?a=>b.transform(a,e):a=>{try{var b;return bV(e,a),b=void 0,j(b)}catch(a){return k(a)}},d=void 0!==b.flush?()=>b.flush(e):()=>j(void 0),e._controlledTransformStream=a,a._transformStreamController=e,e._transformAlgorithm=c,e._flushAlgorithm=d}(this,g),void 0!==g.start?d(g.start(this._transformStreamController)):d(void 0)}get readable(){if(!bO(this))throw bY("readable");return this._readable}get writable(){if(!bO(this))throw bY("writable");return this._writable}}function bO(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_transformStreamController")&&a instanceof bN}function bP(a,b){b_(a,b),bQ(a,b)}function bQ(a,b){bU(a._transformStreamController),a._writableController.error(b),"writable"===a._writableState&&b2(a,b),a._backpressure&&bR(a,!1)}function bR(a,b){void 0!==a._backpressureChangePromise&&a._backpressureChangePromise_resolve(),a._backpressureChangePromise=l(b=>{a._backpressureChangePromise_resolve=b}),a._backpressure=b}Object.defineProperties(bN.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bN.prototype,d.toStringTag,{value:"TransformStream",configurable:!0});class bS{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!bT(this))throw bX("desiredSize");return b0(this._controlledTransformStream)}enqueue(a){if(!bT(this))throw bX("enqueue");bV(this,a)}error(a){if(!bT(this))throw bX("error");bP(this._controlledTransformStream,a)}terminate(){if(!bT(this))throw bX("terminate");let a=this._controlledTransformStream;bZ(a)&&b$(a),bQ(a,TypeError("TransformStream terminated"))}}function bT(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledTransformStream")&&a instanceof bS}function bU(a){a._transformAlgorithm=void 0,a._flushAlgorithm=void 0}function bV(a,b){let c=a._controlledTransformStream;if(!bZ(c))throw TypeError("Readable side is not in a state that permits enqueue");try{c._readablePulling=!1;try{c._readableController.enqueue(b)}catch(a){throw b_(c,a),a}}catch(a){throw bQ(c,a),c._readableStoredError}!(bZ(c)&&(c._readablePulling||b0(c)>0))!==c._backpressure&&bR(c,!0)}function bW(a,b){return m(a._transformAlgorithm(b),void 0,b=>{throw bP(a._controlledTransformStream,b),b})}function bX(a){return TypeError(`TransformStreamDefaultController.prototype.${a} can only be used on a TransformStreamDefaultController`)}function bY(a){return TypeError(`TransformStream.prototype.${a} can only be used on a TransformStream`)}function bZ(a){return!a._readableCloseRequested&&"readable"===a._readableState}function b$(a){a._readableState="closed",a._readableCloseRequested=!0,a._readableController.close()}function b_(a,b){"readable"===a._readableState&&(a._readableState="errored",a._readableStoredError=b),a._readableController.error(b)}function b0(a){return a._readableController.desiredSize}function b1(a,b){"writable"!==a._writableState?b3(a):b2(a,b)}function b2(a,b){a._writableState="erroring",a._writableStoredError=b,!a._writableHasInFlightOperation&&a._writableStarted&&b3(a)}function b3(a){a._writableState="errored"}function b4(a){"erroring"===a._writableState&&b3(a)}Object.defineProperties(bS.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),g(bS.prototype.enqueue,"enqueue"),g(bS.prototype.error,"error"),g(bS.prototype.terminate,"terminate"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bS.prototype,d.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var b5,b6,b7,b8=c(91527);async function*b9(a){let b=a.byteOffset+a.byteLength,c=a.byteOffset;for(;c!==b;){let d=Math.min(b-c,65536),e=a.buffer.slice(c,c+d);c+=e.byteLength,yield new Uint8Array(e)}}async function*ca(a){let b=0;for(;b!==a.size;){let c=a.slice(b,Math.min(a.size,b+65536)),d=await c.arrayBuffer();b+=d.byteLength,yield new Uint8Array(d)}}async function*cb(a,b=!1){for(let c of a)ArrayBuffer.isView(c)?b?yield*b9(c):yield c:(0,b8.T)(c.stream)?yield*c.stream():yield*ca(c)}var cc=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)},cd=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c};class ce{constructor(a=[],b={}){if(b5.set(this,[]),b6.set(this,""),b7.set(this,0),null!=b||(b={}),"object"!=typeof a||null===a)throw TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(!(0,b8.T)(a[Symbol.iterator]))throw TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if("object"!=typeof b&&!(0,b8.T)(b))throw TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");let c=new TextEncoder;for(let b of a){let a;a=ArrayBuffer.isView(b)?new Uint8Array(b.buffer.slice(b.byteOffset,b.byteOffset+b.byteLength)):b instanceof ArrayBuffer?new Uint8Array(b.slice(0)):b instanceof ce?b:c.encode(String(b)),cd(this,b7,cc(this,b7,"f")+(ArrayBuffer.isView(a)?a.byteLength:a.size),"f"),cc(this,b5,"f").push(a)}let d=void 0===b.type?"":String(b.type);cd(this,b6,/^[\x20-\x7E]*$/.test(d)?d:"","f")}static[(b5=new WeakMap,b6=new WeakMap,b7=new WeakMap,Symbol.hasInstance)](a){return!!(a&&"object"==typeof a&&(0,b8.T)(a.constructor)&&((0,b8.T)(a.stream)||(0,b8.T)(a.arrayBuffer))&&/^(Blob|File)$/.test(a[Symbol.toStringTag]))}get type(){return cc(this,b6,"f")}get size(){return cc(this,b7,"f")}slice(a,b,c){return new ce(function*(a,b,c=0,d){null!=d||(d=b);let e=c<0?Math.max(b+c,0):Math.min(c,b),f=d<0?Math.max(b+d,0):Math.min(d,b),g=Math.max(f-e,0),h=0;for(let b of a){if(h>=g)break;let a=ArrayBuffer.isView(b)?b.byteLength:b.size;if(e&&a<=e)e-=a,f-=a;else{let c;ArrayBuffer.isView(b)?h+=(c=b.subarray(e,Math.min(a,f))).byteLength:h+=(c=b.slice(e,Math.min(a,f))).size,f-=a,e=0,yield c}}}(cc(this,b5,"f"),this.size,a,b),{type:c})}async text(){let a=new TextDecoder,b="";for await(let c of cb(cc(this,b5,"f")))b+=a.decode(c,{stream:!0});return b+a.decode()}async arrayBuffer(){let a=new Uint8Array(this.size),b=0;for await(let c of cb(cc(this,b5,"f")))a.set(c,b),b+=c.length;return a.buffer}stream(){let a=cb(cc(this,b5,"f"),!0);return new bx({async pull(b){let{value:c,done:d}=await a.next();if(d)return queueMicrotask(()=>b.close());b.enqueue(c)},async cancel(){await a.return()}})}get[Symbol.toStringTag](){return"Blob"}}Object.defineProperties(ce.prototype,{type:{enumerable:!0},size:{enumerable:!0},slice:{enumerable:!0},stream:{enumerable:!0},text:{enumerable:!0},arrayBuffer:{enumerable:!0}})},94672:(a,b,c)=>{"use strict";var d="undefined"!=typeof Symbol&&Symbol,e=c(11870);a.exports=function(){return"function"==typeof d&&"function"==typeof Symbol&&"symbol"==typeof d("foo")&&"symbol"==typeof Symbol("bar")&&e()}},94749:(a,b,c)=>{"use strict";c.d(b,{AC:()=>o,Co:()=>h.C,Eu:()=>p,K3:()=>j,LV:()=>n,PA:()=>k,XS:()=>q});var d=c(79111),e=c(14247),f=c(18230),g=c(92018),h=c(36600);let i=(0,f.h)("backend/services/mcp/internal/registry"),j="filesystem",k="bash",l=h.H;async function m(){try{let a=await (0,d.YM)(e.Z.MCP_INTERNAL_OVERRIDES,{});return a&&"object"==typeof a?a:{}}catch(a){return i.warn("loadInternalOverrides: failed to read overrides",a),{}}}async function n(a,b){let c=await m();c[a]={...c[a]??{},disabled:b},await (0,d.VH)(e.Z.MCP_INTERNAL_OVERRIDES,c),i.info(`setInternalServerDisabled: ${a} -> disabled=${b}`)}async function o(a){let b=await m(),c=b[a]?.roots;return Array.isArray(c)?c.filter(a=>"string"==typeof a&&a.trim().length>0):[]}async function p(a,b){let c=Array.from(new Set((Array.isArray(b)?b:[]).map(a=>"string"==typeof a?a.trim():"").filter(Boolean))),f=await m();f[a]={...f[a]??{},roots:c},await (0,d.VH)(e.Z.MCP_INTERNAL_OVERRIDES,f),i.info(`setInternalServerRoots: ${a} -> ${c.length} root(s)`)}async function q(){let a=await m();return l.map(a=>{var b;return(b=a)===g._?(0,g.z)():{name:b,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:"",_buildCommand:"",_installCommand:"",builtIn:!0,exposeAsMcpServer:!0}}).map(b=>{let c=a[b.name];if(!c)return b;let d={...b};return c.disabled&&(d.disabled=!0),Array.isArray(c.roots)&&c.roots.length&&(d.roots=c.roots),d})}},95158:(a,b,c)=>{var d=c(55e3),e=c(34693),f=c(28315),g=c(42082),h=c(27950),i=c(11782);function j(a){var b=this.__data__=new d(a);this.size=b.size}j.prototype.clear=e,j.prototype.delete=f,j.prototype.get=g,j.prototype.has=h,j.prototype.set=i,a.exports=j},96016:(a,b,c)=>{var d=c(32390),e=c(23854),f=c(83246),g=c(5113),h=c(598);a.exports=function(a,b,c){var i=a.constructor;switch(b){case"[object ArrayBuffer]":return d(a);case"[object Boolean]":case"[object Date]":return new i(+a);case"[object DataView]":return e(a,c);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return h(a,c);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(a);case"[object RegExp]":return f(a);case"[object Symbol]":return g(a)}}},96101:a=>{a.exports=function(a,b){for(var c=-1,d=Array(a);++c<a;)d[c]=b(c);return d}},96239:(a,b,c)=>{"use strict";let{Writable:d}=c(27910),e=c(74240),{BINARY_TYPES:f,EMPTY_BUFFER:g,kStatusCode:h,kWebSocket:i}=c(32995),{concat:j,toArrayBuffer:k,unmask:l}=c(27047),{isValidStatusCode:m,isValidUTF8:n}=c(26649),o=Buffer[Symbol.species];class p extends d{constructor(a={}){super(),this._allowSynchronousEvents=void 0===a.allowSynchronousEvents||a.allowSynchronousEvents,this._binaryType=a.binaryType||f[0],this._extensions=a.extensions||{},this._isServer=!!a.isServer,this._maxBufferedChunks=0|a.maxBufferedChunks,this._maxFragments=0|a.maxFragments,this._maxPayload=0|a.maxPayload,this._skipUTF8Validation=!!a.skipUTF8Validation,this[i]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(a,b,c){return 8===this._opcode&&0==this._state?c():this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks?void c(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS")):void(this._bufferedBytes+=a.length,this._buffers.push(a),this.startLoop(c))}consume(a){if(this._bufferedBytes-=a,a===this._buffers[0].length)return this._buffers.shift();if(a<this._buffers[0].length){let b=this._buffers[0];return this._buffers[0]=new o(b.buffer,b.byteOffset+a,b.length-a),new o(b.buffer,b.byteOffset,a)}let b=Buffer.allocUnsafe(a);do{let c=this._buffers[0],d=b.length-a;a>=c.length?b.set(this._buffers.shift(),d):(b.set(new Uint8Array(c.buffer,c.byteOffset,a),d),this._buffers[0]=new o(c.buffer,c.byteOffset+a,c.length-a)),a-=c.length}while(a>0);return b}startLoop(a){this._loop=!0;do switch(this._state){case 0:this.getInfo(a);break;case 1:this.getPayloadLength16(a);break;case 2:this.getPayloadLength64(a);break;case 3:this.getMask();break;case 4:this.getData(a);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||a()}getInfo(a){if(this._bufferedBytes<2){this._loop=!1;return}let b=this.consume(2);if((48&b[0])!=0)return void a(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let c=(64&b[0])==64;if(c&&!this._extensions[e.extensionName])return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&b[0])==128,this._opcode=15&b[0],this._payloadLength=127&b[1],0===this._opcode){if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void a(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=c}else{if(!(this._opcode>7)||!(this._opcode<11))return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void a(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void a(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&b[1])==128,this._isServer){if(!this._masked)return void a(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void a(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(a)}getPayloadLength16(a){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(a)}getPayloadLength64(a){if(this._bufferedBytes<8){this._loop=!1;return}let b=this.consume(8),c=b.readUInt32BE(0);if(c>2097151)return void a(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));this._payloadLength=0x100000000*c+b.readUInt32BE(4),this.haveLength(a)}haveLength(a){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return void a(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(a){let b=g;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}b=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&l(b,this._mask)}if(this._opcode>7)return void this.controlMessage(b,a);if(this._compressed){this._state=5,this.decompress(b,a);return}if(b.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments)return void a(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));this._messageLength=this._totalPayloadLength,this._fragments.push(b)}this.dataMessage(a)}decompress(a,b){this._extensions[e.extensionName].decompress(a,this._fin,(a,c)=>{if(a)return b(a);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void b(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));if(this._maxFragments>0&&this._fragments.length>=this._maxFragments)return void b(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));this._fragments.push(c)}this.dataMessage(b),0===this._state&&this.startLoop(b)})}dataMessage(a){if(!this._fin){this._state=0;return}let b=this._messageLength,c=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let d;d="nodebuffer"===this._binaryType?j(c,b):"arraybuffer"===this._binaryType?k(j(c,b)):"blob"===this._binaryType?new Blob(c):c,this._allowSynchronousEvents?(this.emit("message",d,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!0),this._state=0,this.startLoop(a)}))}else{let d=j(c,b);if(!this._skipUTF8Validation&&!n(d))return void a(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",d,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!1),this._state=0,this.startLoop(a)}))}}controlMessage(a,b){if(8===this._opcode){if(0===a.length)this._loop=!1,this.emit("conclude",1005,g),this.end();else{let c=a.readUInt16BE(0);if(!m(c))return void b(this.createError(RangeError,`invalid status code ${c}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let d=new o(a.buffer,a.byteOffset+2,a.length-2);if(!this._skipUTF8Validation&&!n(d))return void b(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",c,d),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",a),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",a),this._state=0,this.startLoop(b)}))}createError(a,b,c,d,e){this._loop=!1,this._errored=!0;let f=new a(c?`Invalid WebSocket frame: ${b}`:b);return Error.captureStackTrace(f,this.createError),f.code=e,f[h]=d,f}}a.exports=p},96249:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(94735),e=c(34115);let f=(0,c(18230).h)("backend/execution/flow/engine/ExecutionEventBus");class g{getChannel(a){let b=this.channels.get(a);if(!b){let c=new d.EventEmitter;c.setMaxListeners(0),b={emitter:c,seq:0,buffer:[]},this.channels.set(a,b)}return b}cancelCleanup(a){let b=this.cleanupTimers.get(a);b&&(clearTimeout(b),this.cleanupTimers.delete(a))}scheduleCleanup(a,b){this.cancelCleanup(a);let c=setTimeout(()=>{this.cleanupTimers.delete(a);let c=this.channels.get(a);c&&c.seq===b&&(c.emitter.listenerCount("event")>0||this.channels.delete(a))},3e5);"function"==typeof c.unref&&c.unref(),this.cleanupTimers.set(a,c)}emit(a,b){let c=this.getChannel(a),d=(0,e.allocateSeq)(a);c.seq=d+1;let f={...b,conversationId:a,seq:d,timestamp:Date.now()};return c.buffer.push(f),c.buffer.length>1e3&&c.buffer.shift(),c.emitter.emit("event",f),(0,e.appendFromBus)(f),this.publishGlobal(f),"run:done"===f.type?this.scheduleCleanup(a,c.seq):this.cancelCleanup(a),f}emitterFor(a){return b=>{try{this.emit(a,b)}catch(b){f.warn(`Failed to emit execution event for ${a}`,{err:b})}}}getBufferedSince(a,b){let c=this.channels.get(a);return c?c.buffer.filter(a=>a.seq>=b):[]}currentSeq(a){return this.channels.get(a)?.seq??0}subscribe(a,b){let c=this.getChannel(a);return c.emitter.on("event",b),()=>{c.emitter.off("event",b)}}publishGlobal(a){let b={globalSeq:this.globalSeq++,event:a};this.globalBuffer.push(b),this.globalBuffer.length>5e3&&this.globalBuffer.shift(),this.globalEmitter.emit("event",b)}subscribeGlobal(a){return this.globalEmitter.on("event",a),()=>{this.globalEmitter.off("event",a)}}getGlobalBufferedSince(a){return this.globalBuffer.filter(b=>b.globalSeq>=a)}currentGlobalSeq(){return this.globalSeq}constructor(){this.channels=new Map,this.cleanupTimers=new Map,this.globalEmitter=(()=>{let a=new d.EventEmitter;return a.setMaxListeners(0),a})(),this.globalSeq=0,this.globalBuffer=[]}}let h=globalThis,i=h.__flujoExecutionEventBus??(h.__flujoExecutionEventBus=new g)},96655:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},96698:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleAuth=b.GoogleAuthExceptionMessages=void 0;let d=c(79646),e=c(29021),f=c(79792),g=c(70916),h=c(21820),i=c(33873),j=c(88593),k=c(745),l=c(58500),m=c(25203),n=c(74829),o=c(31995),p=c(83e3),q=c(93209),r=c(35294),s=c(49502),t=c(29694),u=c(24420),v=c(45388);b.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:"Unable to detect a Project Id in the current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",NO_CREDENTIALS_FOUND:"Unable to find credentials in current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:"Unable to detect a Universe Domain in the current environment.\nTo learn more about Universe Domain retrieval, visit: \nhttps://cloud.google.com/compute/docs/metadata/predefined-metadata-keys"};class w{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#E=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(a={}){if(this._cachedProjectId=a.projectId||null,this.cachedCredential=a.authClient||null,this.keyFilename=a.keyFilename||a.keyFile,this.scopes=a.scopes,this.clientOptions=a.clientOptions||{},this.jsonContent=a.credentials||null,this.apiKey=a.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw RangeError(b.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);a.universeDomain&&(this.clientOptions.universeDomain=a.universeDomain)}setGapicJWTValues(a){a.defaultServicePath=this.defaultServicePath,a.useJWTAccessWithScope=this.useJWTAccessWithScope,a.defaultScopes=this.defaultScopes}getProjectId(a){if(!a)return this.getProjectIdAsync();this.getProjectIdAsync().then(b=>a(null,b),a)}async getProjectIdOptional(){try{return await this.getProjectId()}catch(a){if(a instanceof Error&&a.message===b.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw a}}async findAndCacheProjectId(){let a=null;if(a||=await this.getProductionProjectId(),a||=await this.getFileProjectId(),a||=await this.getDefaultServiceProjectId(),a||=await this.getGCEProjectId(),a||=await this.getExternalAccountClientProjectId())return this._cachedProjectId=a,a;throw Error(b.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let a;try{a=await g.universe("universe-domain"),a||=s.DEFAULT_UNIVERSE}catch(b){if(b&&b?.response?.status===404)a=s.DEFAULT_UNIVERSE;else throw b}return a}async getUniverseDomain(){let a=(0,v.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{a??=(await this.getClient()).universeDomain}catch{a??=s.DEFAULT_UNIVERSE}return a}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(a={},b){let c;if("function"==typeof a?b=a:c=a,!b)return this.getApplicationDefaultAsync(c);this.getApplicationDefaultAsync(c).then(a=>b(null,a.credential,a.projectId),b)}async getApplicationDefaultAsync(a={}){let c;if(this.cachedCredential)return await this.#F(this.cachedCredential,null);if((c=await this._tryGetApplicationCredentialsFromEnvironmentVariable(a))||(c=await this._tryGetApplicationCredentialsFromWellKnownFile(a)))return c instanceof n.JWT?c.scopes=this.scopes:c instanceof r.BaseExternalAccountClient&&(c.scopes=this.getAnyScopes()),await this.#F(c);if(await this._checkIsGCE())return a.scopes=this.getAnyScopes(),await this.#F(new k.Compute(a));throw Error(b.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async #F(a,b=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let c=await this.getProjectIdOptional();return b&&(a.quotaProjectId=b),this.cachedCredential=a,{credential:a,projectId:c}}async _checkIsGCE(){return void 0===this.checkIsGCE&&(this.checkIsGCE=g.getGCPResidency()||await g.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(a){let b=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!b||0===b.length)return null;try{return this._getApplicationCredentialsFromFilePath(b,a)}catch(a){throw a instanceof Error&&(a.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${a.message}`),a}}async _tryGetApplicationCredentialsFromWellKnownFile(a){let b=null;if(this._isWindows())b=process.env.APPDATA;else{let a=process.env.HOME;a&&(b=i.join(a,".config"))}return(b&&(b=i.join(b,"gcloud","application_default_credentials.json"),e.existsSync(b)||(b=null)),b)?await this._getApplicationCredentialsFromFilePath(b,a):null}async _getApplicationCredentialsFromFilePath(a,b={}){if(!a||0===a.length)throw Error("The file path is invalid.");try{if(a=e.realpathSync(a),!e.lstatSync(a).isFile())throw Error()}catch(b){throw b instanceof Error&&(b.message=`The file at ${a} does not exist, or it is not a file. ${b.message}`),b}let c=e.createReadStream(a);return this.fromStream(c,b)}fromImpersonatedJSON(a){if(!a)throw Error("Must pass in a JSON object containing an impersonated refresh token");if(a.type!==p.IMPERSONATED_ACCOUNT_TYPE)throw Error(`The incoming JSON object does not have the "${p.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!a.source_credentials)throw Error("The incoming JSON object does not contain a source_credentials field");if(!a.service_account_impersonation_url)throw Error("The incoming JSON object does not contain a service_account_impersonation_url field");let b=this.fromJSON(a.source_credentials);if(a.service_account_impersonation_url?.length>256)throw RangeError(`Target principal is too long: ${a.service_account_impersonation_url}`);let c=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(a.service_account_impersonation_url)?.groups?.target;if(!c)throw RangeError(`Cannot extract target principal from ${a.service_account_impersonation_url}`);let d=(this.scopes||a.scopes||this.defaultScopes)??[];return new p.Impersonated({...a,sourceClient:b,targetPrincipal:c,targetScopes:Array.isArray(d)?d:[d]})}fromJSON(a,b={}){let c,d=(0,v.originalOrCamelOptions)(b).get("universe_domain");return a.type===o.USER_REFRESH_ACCOUNT_TYPE?(c=new o.UserRefreshClient(b)).fromJSON(a):a.type===p.IMPERSONATED_ACCOUNT_TYPE?c=this.fromImpersonatedJSON(a):a.type===r.EXTERNAL_ACCOUNT_TYPE?(c=q.ExternalAccountClient.fromJSON({...a,...b})).scopes=this.getAnyScopes():a.type===t.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?c=new t.ExternalAccountAuthorizedUserClient({...a,...b}):a.type===u.GDCH_SERVICE_ACCOUNT_TYPE?(c=new u.GdchClient(b)).fromJSON(a):(b.scopes=this.scopes,c=new n.JWT(b),this.setGapicJWTValues(c),c.fromJSON(a)),d&&(c.universeDomain=d),c}_cacheClientFromJSON(a,b){let c=this.fromJSON(a,b);return this.jsonContent=a,this.cachedCredential=c,c}fromStream(a,b={},c){let d={};if("function"==typeof b?c=b:d=b,!c)return this.fromStreamAsync(a,d);this.fromStreamAsync(a,d).then(a=>c(null,a),c)}fromStreamAsync(a,b){return new Promise((c,d)=>{if(!a)throw Error("Must pass in a stream containing the Google auth settings.");let e=[];a.setEncoding("utf8").on("error",d).on("data",a=>e.push(a)).on("end",()=>{try{try{let a=JSON.parse(e.join("")),d=this._cacheClientFromJSON(a,b);return c(d)}catch(b){if(!this.keyFilename)throw b;let a=new n.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=a,this.setGapicJWTValues(a),c(a)}}catch(a){return d(a)}})})}fromAPIKey(a,b={}){return new n.JWT({...b,apiKey:a})}_isWindows(){let a=h.platform();return!!a&&!!(a.length>=3)&&"win"===a.substring(0,3).toLowerCase()}async getDefaultServiceProjectId(){return new Promise(a=>{(0,d.exec)("gcloud config config-helper --format json",(b,c)=>{if(!b&&c)try{let b=JSON.parse(c).configuration.properties.core.project;a(b);return}catch(a){}a(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let a=await this.getClient();if(a&&a.projectId)return a.projectId}let a=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return a?a.projectId:null}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==r.EXTERNAL_ACCOUNT_TYPE)return null;let a=await this.getClient();return await a.getProjectId()}async getGCEProjectId(){try{return await g.project("project-id")}catch(a){return null}}getCredentials(a){if(!a)return this.getCredentialsAsync();this.getCredentialsAsync().then(b=>a(null,b),a)}async getCredentialsAsync(){let a=await this.getClient();if(a instanceof p.Impersonated)return{client_email:a.getTargetPrincipal()};if(a instanceof r.BaseExternalAccountClient){let b=a.getServiceAccountEmail();if(b)return{client_email:b,universe_domain:a.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[a,b]=await Promise.all([g.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:a,universe_domain:b}}throw Error(b.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#E=this.#E||this.#G();try{let a=await this.#E;if(a instanceof u.GdchClient&&!a.apiAudience){let b=this.clientOptions,c=b.apiEndpoint||b.servicePath;if(c){let b=c.startsWith("http")?"":"https://",d=`${b}${c}/`.replace(/\/+$/,"/"),e=a.createWithGdchAudience(d);return this.cachedCredential=e,e}}return a}finally{this.#E=null}}async #G(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let a=i.resolve(this.keyFilename),b=e.createReadStream(a);return await this.fromStreamAsync(b,this.clientOptions)}if(this.apiKey){let a=await this.fromAPIKey(this.apiKey,this.clientOptions);a.scopes=this.scopes;let{credential:b}=await this.#F(a);return b}{let{credential:a}=await this.getApplicationDefaultAsync(this.clientOptions);return a}}async getIdTokenClient(a){let b=await this.getClient();if(!("fetchIdToken"in b))throw Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new l.IdTokenClient({targetAudience:a,idTokenProvider:b})}async getAccessToken(){let a=await this.getClient();return(await a.getAccessToken()).token}async getRequestHeaders(a){return(await this.getClient()).getRequestHeaders(a)}async authorizeRequest(a={}){let b=a.url,c=await this.getClient(),d=await c.getRequestHeaders(b);return a.headers=f.Gaxios.mergeHeaders(a.headers,d),a}async fetch(...a){return(await this.getClient()).fetch(...a)}async request(a){return(await this.getClient()).request(a)}getEnv(){return(0,m.getEnv)()}async sign(a,b){let c=await this.getClient(),d=await this.getUniverseDomain();if(b=b||`https://iamcredentials.${d}/v1/projects/-/serviceAccounts/`,c instanceof p.Impersonated)return(await c.sign(a)).signedBlob;let e=(0,j.createCrypto)();if(c instanceof n.JWT&&c.key)return await e.sign(c.key,a);let f=await this.getCredentials();if(!f.client_email)throw Error("Cannot sign data without `client_email`.");return this.signBlob(e,f.client_email,a,b)}async signBlob(a,b,c,d){let e=new URL(d+`${b}:signBlob`);return(await this.request({method:"POST",url:e.href,data:{payload:a.encodeBase64StringUtf8(c)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}}b.GoogleAuth=w},96918:(a,b,c)=>{var d=c(58009),e="object"==typeof self&&self&&self.Object===Object&&self;a.exports=d||e||Function("return this")()},97025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.validateUnion=b.validateArray=b.usePattern=b.callValidateCode=b.schemaProperties=b.allSchemaProperties=b.noPropertyInData=b.propertyInData=b.isOwnProperty=b.hasPropFunc=b.reportMissingProp=b.checkMissingProp=b.checkReportMissingProp=void 0;let d=c(31849),e=c(83593),f=c(60359),g=c(83593);function h(a){return a.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,d._)`Object.prototype.hasOwnProperty`})}function i(a,b,c){return(0,d._)`${h(a)}.call(${b}, ${c})`}function j(a,b,c,e){let f=(0,d._)`${b}${(0,d.getProperty)(c)} === undefined`;return e?(0,d.or)(f,(0,d.not)(i(a,b,c))):f}function k(a){return a?Object.keys(a).filter(a=>"__proto__"!==a):[]}b.checkReportMissingProp=function(a,b){let{gen:c,data:e,it:f}=a;c.if(j(c,e,b,f.opts.ownProperties),()=>{a.setParams({missingProperty:(0,d._)`${b}`},!0),a.error()})},b.checkMissingProp=function({gen:a,data:b,it:{opts:c}},e,f){return(0,d.or)(...e.map(e=>(0,d.and)(j(a,b,e,c.ownProperties),(0,d._)`${f} = ${e}`)))},b.reportMissingProp=function(a,b){a.setParams({missingProperty:b},!0),a.error()},b.hasPropFunc=h,b.isOwnProperty=i,b.propertyInData=function(a,b,c,e){let f=(0,d._)`${b}${(0,d.getProperty)(c)} !== undefined`;return e?(0,d._)`${f} && ${i(a,b,c)}`:f},b.noPropertyInData=j,b.allSchemaProperties=k,b.schemaProperties=function(a,b){return k(b).filter(c=>!(0,e.alwaysValidSchema)(a,b[c]))},b.callValidateCode=function({schemaCode:a,data:b,it:{gen:c,topSchemaRef:e,schemaPath:g,errorPath:h},it:i},j,k,l){let m=l?(0,d._)`${a}, ${b}, ${e}${g}`:b,n=[[f.default.instancePath,(0,d.strConcat)(f.default.instancePath,h)],[f.default.parentData,i.parentData],[f.default.parentDataProperty,i.parentDataProperty],[f.default.rootData,f.default.rootData]];i.opts.dynamicRef&&n.push([f.default.dynamicAnchors,f.default.dynamicAnchors]);let o=(0,d._)`${m}, ${c.object(...n)}`;return k!==d.nil?(0,d._)`${j}.call(${k}, ${o})`:(0,d._)`${j}(${o})`};let l=(0,d._)`new RegExp`;b.usePattern=function({gen:a,it:{opts:b}},c){let e=b.unicodeRegExp?"u":"",{regExp:f}=b.code,h=f(c,e);return a.scopeValue("pattern",{key:h.toString(),ref:h,code:(0,d._)`${"new RegExp"===f.code?l:(0,g.useFunc)(a,f)}(${c}, ${e})`})},b.validateArray=function(a){let{gen:b,data:c,keyword:f,it:g}=a,h=b.name("valid");if(g.allErrors){let a=b.let("valid",!0);return i(()=>b.assign(a,!1)),a}return b.var(h,!0),i(()=>b.break()),h;function i(g){let i=b.const("len",(0,d._)`${c}.length`);b.forRange("i",0,i,c=>{a.subschema({keyword:f,dataProp:c,dataPropType:e.Type.Num},h),b.if((0,d.not)(h),g)})}},b.validateUnion=function(a){let{gen:b,schema:c,keyword:f,it:g}=a;if(!Array.isArray(c))throw Error("ajv implementation error");if(c.some(a=>(0,e.alwaysValidSchema)(g,a))&&!g.opts.unevaluated)return;let h=b.let("valid",!1),i=b.name("_valid");b.block(()=>c.forEach((c,e)=>{let g=a.subschema({keyword:f,schemaProp:e,compositeRule:!0},i);b.assign(h,(0,d._)`${h} || ${i}`),a.mergeValidEvaluated(g,i)||b.if((0,d.not)(h))})),a.result(h,()=>a.reset(),()=>a.error(!0))}},97161:a=>{"use strict";a.exports.mixin=function(a,b){let c=Object.getOwnPropertyNames(b);for(let d=0;d<c.length;++d)Object.defineProperty(a,c[d],Object.getOwnPropertyDescriptor(b,c[d]))},a.exports.wrapperSymbol=Symbol("wrapper"),a.exports.implSymbol=Symbol("impl"),a.exports.wrapperForImpl=function(b){return b[a.exports.wrapperSymbol]},a.exports.implForWrapper=function(b){return b[a.exports.implSymbol]}},97198:a=>{a.exports=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b}},97236:a=>{"use strict";a.exports="undefined"!=typeof Reflect&&Reflect&&Reflect.apply},97250:(a,b,c)=>{"undefined"==typeof process||"renderer"===process.type||process.__nwjs?a.exports=c(81278):a.exports=c(35730)},97832:(a,b,c)=>{"use strict";c.d(b,{Do:()=>y,pF:()=>x,hO:()=>t,Gz:()=>z,C3:()=>B,eS:()=>A});var d=c(16977),e=c.n(d),f=c(79111),g=c(14247),h=c(18230);let i=(0,h.h)("utils/encryption/session"),j=global.__flujo_encryption_sessions??(global.__flujo_encryption_sessions=new Map),k=(0,h.h)("utils/encryption/secure");class l extends Error{constructor(a="Encryption is locked: user password required to access secrets"){super(a),this.name="EncryptionLockedError",Object.setPrototypeOf(this,l.prototype)}}let m="data_encryption_key",n="data_encryption_iv",o="data_encryption_salt",p="encryption_type";var q=function(a){return a.DEFAULT="default",a.USER="user",a}(q||{});function r(){let a=e().enc.Utf8.parse("flujo_fixed_salt_v1");return e().PBKDF2("FLUJO~",a,{keySize:8,iterations:1e5})}function s(a){let b;try{b=a.toString(e().enc.Utf8)}catch{return null}return RegExp("^[0-9a-f]{16}$").test(b)?b:null}async function t(){k.debug("initializeDefaultEncryption: Entering method");try{if(await z())return!0;let a=r(),b=e().lib.WordArray.random(8),c=e().lib.WordArray.random(16),d=e().AES.encrypt(b.toString(),a,{iv:c,mode:e().mode.CBC,padding:e().pad.Pkcs7}),h=e().enc.Utf8.parse("flujo_fixed_salt_v1"),i={[m]:d.toString(),[n]:c.toString(),[o]:h.toString(),encryption_version:1,[p]:"default"};return await (0,f.VH)(g.Z.ENCRYPTION_KEY,i),!0}catch(a){return k.error("initializeDefaultEncryption: Failed to initialize default encryption:",a),!1}}async function u(){k.debug("getDefaultDEK: Entering method");try{let a=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!a){if(!await t())return k.error("getDefaultDEK: Failed to initialize default encryption"),null;return await u()}if("default"!==a[p])return k.error("getDefaultDEK: Not using default encryption"),null;let b=a[m],c=e().enc.Hex.parse(a[n]),d=r(),h=e().AES.decrypt(b,d,{iv:c,mode:e().mode.CBC,padding:e().pad.Pkcs7});if(!s(h))return k.error("getDefaultDEK: Failed to decrypt DEK with default key"),null;return e().enc.Hex.parse(h.toString())}catch(a){return k.error("getDefaultDEK: Failed to get default DEK:",a),null}}async function v(a){k.debug("getUserDEK: Entering method");try{let b=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!b)return k.error("getUserDEK: No encryption metadata found"),null;if("user"!==b[p])return k.error("getUserDEK: Not using user encryption"),null;let c=b[m],d=e().enc.Hex.parse(b[n]),h=e().enc.Hex.parse(b[o]),i=e().PBKDF2(a,h,{keySize:8,iterations:1e5}),j=e().AES.decrypt(c,i,{iv:d,mode:e().mode.CBC,padding:e().pad.Pkcs7});if(!s(j))return k.error("getUserDEK: Failed to decrypt DEK with provided password"),null;return e().enc.Hex.parse(j.toString())}catch(a){return k.error("getUserDEK: Failed to get user DEK:",a),null}}async function w(a,b=!1){k.debug("getDEK: Entering method");try{if(b&&a){k.debug("getDEK: Using session token");let b=function(a){let b=j.get(a);if(!b)return i.warn(`Session not found: ${a}`),null;let c=Date.now();return c-b.createdAt>72e5?(i.warn(`Session expired: ${a}`),j.delete(a),null):(b.lastUsed=c,b.dek)}(a);if(b)return e().enc.Hex.parse(b);k.warn("getDEK: Invalid or expired session token, falling back to default encryption")}let c=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!c){if(k.info("getDEK: No encryption metadata found, initializing default encryption"),!await t())return k.error("getDEK: Failed to initialize default encryption"),null;return await w(a,b)}if("user"!==c[p])return await u();{let c=global.__flujo_server_dek??null;if(c)return k.debug("getDEK: Using server unlock state for user encryption"),e().enc.Hex.parse(c);if(a&&!b){let b=await v(a);if(b)return b;k.warn("getDEK: Provided password did not yield a valid user DEK")}throw k.warn("getDEK: User encryption is locked (no unlock state or valid credential)"),new l}}catch(a){if(a instanceof l)throw a;k.error("getDEK: Failed to get DEK:",a);try{if(k.warn("getDEK: Attempting to initialize default encryption as error recovery"),await t())return await u()}catch(a){k.error("getDEK: Failed to initialize default encryption as error recovery:",a)}return null}}async function x(a,b,c=!1){k.debug("encryptWithPassword: Entering method");try{let d=await w(b,c);if(!d)return null;let f=e().lib.WordArray.random(16),g=e().AES.encrypt(a,d,{iv:f,mode:e().mode.CBC,padding:e().pad.Pkcs7});return f.toString()+":"+g.toString()}catch(a){if(a instanceof l)throw a;return k.error("encryptWithPassword: Failed to encrypt data:",a),null}}async function y(a,b,c=!1){k.debug("decryptWithPassword: Entering method");try{let d=await w(b,c);if(!d)return null;let f=a.split(":");if(2!==f.length)return k.error("decryptWithPassword: Invalid ciphertext format"),null;let g=e().enc.Hex.parse(f[0]),h=f[1];return e().AES.decrypt(h,d,{iv:g,mode:e().mode.CBC,padding:e().pad.Pkcs7}).toString(e().enc.Utf8)}catch(a){if(a instanceof l)throw a;return k.error("decryptWithPassword: Failed to decrypt data:",a),null}}async function z(){return k.debug("isEncryptionInitialized: Entering method"),null!==await (0,f.YM)(g.Z.ENCRYPTION_KEY,null)}async function A(){k.debug("isUserEncryptionEnabled: Entering method");let a=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);return null!=a&&"user"===a[p]}async function B(){return await A()&&!global.__flujo_server_dek}},97887:(a,b,c)=>{"use strict";let d=c(33873),e=c(3258),f=c(91480),g=c(53859),h="win32"===process.platform,i=/\.(?:com|exe)$/i,j=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;a.exports=function(a,b,c){b&&!Array.isArray(b)&&(c=b,b=null);let k={command:a,args:b=b?b.slice(0):[],options:c=Object.assign({},c),file:void 0,original:{command:a,args:b}};return c.shell?k:function(a){if(!h)return a;let b=function(a){a.file=e(a);let b=a.file&&g(a.file);return b?(a.args.unshift(a.file),a.command=b,e(a)):a.file}(a),c=!i.test(b);if(a.options.forceShell||c){let c=j.test(b);a.command=d.normalize(a.command),a.command=f.command(a.command),a.args=a.args.map(a=>f.argument(a,c));let e=[a.command].concat(a.args).join(" ");a.args=["/d","/s","/c",`"${e}"`],a.command=process.env.comspec||"cmd.exe",a.options.windowsVerbatimArguments=!0}return a}(k)}},97922:(a,b,c)=>{a.exports=c(96918).Symbol},98142:(a,b,c)=>{var d=c(61048);a.exports=function(a){return d(this,a).get(a)}},98229:a=>{"use strict";a.exports=Math.pow},98402:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(29005)},99139:(a,b,c)=>{var d=c(44724),e=c(84833),f=c(68041);a.exports=function(a,b,c){for(var g=e(a);g.index<(g.keyedList||a).length;)d(a,b,g,function(a,b){return a?void c(a,b):0===Object.keys(g.jobs).length?void c(null,g.results):void 0}),g.index++;return f.bind(g,c)}},99276:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});let d=c(31849),e=c(83593),f=c(97025),g=c(84817);b.default={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:a}})=>(0,d.str)`must NOT have more than ${a} items`,params:({params:{len:a}})=>(0,d._)`{limit: ${a}}`},code(a){let{schema:b,parentSchema:c,it:d}=a,{prefixItems:h}=c;d.items=!0,(0,e.alwaysValidSchema)(d,b)||(h?(0,g.validateAdditionalItems)(a,h):a.ok((0,f.validateArray)(a)))}}},99303:(a,b,c)=>{var d=c(61048);a.exports=function(a){var b=d(this,a).delete(a);return this.size-=!!b,b}},99925:(a,b,c)=>{"use strict";let d=c(67729),e=c(97161),f=c(24860),g=e.implSymbol;function h(b){if(!this||this[g]||!(this instanceof h))throw TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let c=[];for(let a=0;a<arguments.length&&a<2;++a)c[a]=arguments[a];c[0]=d.USVString(c[0]),void 0!==c[1]&&(c[1]=d.USVString(c[1])),a.exports.setup(this,c)}h.prototype.toJSON=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");let b=[];for(let a=0;a<arguments.length&&a<0;++a)b[a]=arguments[a];return this[g].toJSON.apply(this[g],b)},Object.defineProperty(h.prototype,"href",{get(){return this[g].href},set(a){a=d.USVString(a),this[g].href=a},enumerable:!0,configurable:!0}),h.prototype.toString=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");return this.href},Object.defineProperty(h.prototype,"origin",{get(){return this[g].origin},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"protocol",{get(){return this[g].protocol},set(a){a=d.USVString(a),this[g].protocol=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"username",{get(){return this[g].username},set(a){a=d.USVString(a),this[g].username=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"password",{get(){return this[g].password},set(a){a=d.USVString(a),this[g].password=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"host",{get(){return this[g].host},set(a){a=d.USVString(a),this[g].host=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hostname",{get(){return this[g].hostname},set(a){a=d.USVString(a),this[g].hostname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"port",{get(){return this[g].port},set(a){a=d.USVString(a),this[g].port=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"pathname",{get(){return this[g].pathname},set(a){a=d.USVString(a),this[g].pathname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"search",{get(){return this[g].search},set(a){a=d.USVString(a),this[g].search=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hash",{get(){return this[g].hash},set(a){a=d.USVString(a),this[g].hash=a},enumerable:!0,configurable:!0}),a.exports={is:a=>!!a&&a[g]instanceof f.implementation,create(a,b){let c=Object.create(h.prototype);return this.setup(c,a,b),c},setup(a,b,c){c||(c={}),c.wrapper=a,a[g]=new f.implementation(b,c),a[g][e.wrapperSymbol]=a},interface:h,expose:{Window:{URL:h},Worker:{URL:h}}}}};
435
+ ${d}`:f}let i6=["OAuth authentication required","UnauthorizedError","invalid_token","token_expired","HTTP 401","HTTP 403","Missing Authorization header","Authorization header is required"];function i7(a){if(!(a instanceof Error))return!1;if(i8(a))return!0;let b=a.code;return 401===b||403===b||i6.some(b=>a.message.includes(b))}function i8(a){if(!(a instanceof Error))return!1;if("OAuthAuthenticationRequired"===a.name)return!0;let b=a.errorCode;return"string"==typeof b&&b.length>0||a.message.includes("OAuth authentication required")}let i9=new Set(["npx","bunx","uvx","pipx","dlx"]),ja=new Set(["pnpm","yarn","bun","npm"]),jb=new Set(["dlx","exec","x"]);function jc(a,b=[]){let c=((a||"").split(/[\\/]/).filter(Boolean).pop()||"").toLowerCase().replace(/\.(cmd|exe|bat|ps1)$/i,"");if(i9.has(c))return!0;if(ja.has(c)){let a=(b[0]||"").toLowerCase();return jb.has(a)}return!1}let jd=new Set(["node","npm","npx"]);var je=c(28181),jf=c(12763),jg=c(39848),jh=c(5091);let ji=(0,o.h)("backend/services/mcp/sampling");function jj(a){return a.sampling}function jk(a){let b=jj(a);return!!(b?.enabled&&b.modelId)}function jl(a){let b=[];return async c=>{let d=jj(a);if(!d?.enabled||!d.modelId)throw new s.Nh(s.O4.InvalidRequest,"Sampling is not enabled for this server");let e=d.maxCallsPerMinute??10,f=Date.now(),g=f-6e4;for(;b.length>0&&b[0]<g;)b.shift();if(b.length>=e)throw ji.warn(`Sampling rate limit (${e}/min) hit for ${a.name}`),new s.Nh(s.O4.InvalidRequest,`Sampling rate limit of ${e}/min exceeded`);b.push(f);let h=await jf.modelService.getModel(d.modelId);if(!h)throw new s.Nh(s.O4.InternalError,`Sampling model not found: ${d.modelId}`);let i=await jf.modelService.resolveAndDecryptApiKey(h.ApiKey);if(!i)throw new s.Nh(s.O4.InternalError,"Could not resolve the sampling model API key");let j=c.params,k=function(a){let b=[];for(let c of(a.systemPrompt&&b.push({role:"system",content:a.systemPrompt}),a.messages||[])){let a=c.content,d=a?.type==="text"&&"string"==typeof a.text?a.text:`[unsupported ${a?.type||"non-text"} content omitted]`;b.push({role:c.role,content:d})}return b}(j),l="number"==typeof j.temperature?j.temperature:.7;ji.info(`Sampling for ${a.name} via model ${h.name} (${k.length} messages)`);let m=(0,jg.getCompletionAdapter)(h),n=d.maxTokens??(0,jh.normalizeMaxTokens)(h.maxTokens),{completion:o}=await m.createCompletion({model:h,apiKey:i,messages:k,temperature:l,maxTokens:n}),p=o.choices?.[0]?.message?.content;return{role:"assistant",content:{type:"text",text:"string"==typeof p?p:""},model:h.name,stopReason:"endTurn"}}}var jm=c(96249),jn=c(81970);let jo=(0,o.h)("backend/services/mcp/elicitationRegistry"),jp=globalThis,jq=jp.__flujoElicitationRegistry??(jp.__flujoElicitationRegistry=new Map),jr=(0,o.h)("backend/services/mcp/elicitation");function js(a){return a.elicitation}function jt(a){let b=js(a);return!!b?.enabled}function ju(a){return async b=>{if(!jt(a))throw new s.Nh(s.O4.MethodNotFound,"Elicitation is not enabled for this server");let c=(0,jn.lx)(a.name);if(!c)return jr.warn(`Elicitation request from ${a.name} outside an active run; auto-cancelling`),{action:"cancel"};if(c.getUnattended())return jr.warn(`Elicitation request from ${a.name} in unattended run ${c.conversationId}; auto-cancelling`),{action:"cancel"};let d=b.params;if(d?.mode==="url")return jr.warn(`Elicitation URL mode is not supported in V1 (server: ${a.name}); auto-cancelling`),{action:"cancel"};let e=d?.message??"Additional information required",f=d?.requestedSchema??{type:"object",properties:{}},g=crypto.randomUUID();jr.info(`Suspending for elicitation ${g} from ${a.name} in conv ${c.conversationId}`),jm.$.emitterFor(c.conversationId)({type:"run:awaiting_elicitation",elicitationId:g,message:e,requestedSchema:f});let h=await function(a,b=3e5){return new Promise(c=>{let d=setTimeout(()=>{jq.has(a)&&(jo.warn(`Elicitation ${a} timed out after ${b}ms; auto-cancelling`),jq.delete(a),c({action:"cancel"}))},b);jq.set(a,{resolve:c,timer:d})})}(g);return jr.info(`Elicitation ${g} resolved with action=${h.action}`),h}}var jv=c(12190);let jw=["key","secret","token","password"];function jx(a,b){return a&&"object"==typeof a&&"value"in a?{value:a.value??"",isSecret:!!a.metadata?.isSecret}:{value:a??"",isSecret:jw.some(a=>b.toLowerCase().includes(a))||"authorization"===b.trim().toLowerCase()}}function jy(a){return a===jv.RJ||a===jv.gF}var jz=c(48254);function jA(a){return[function(a){let b=jj(a);return b?.enabled?JSON.stringify({m:b.modelId,t:b.maxTokens,r:b.maxCallsPerMinute}):""}(a),function(a){let b=js(a);return b?.enabled?"e:1":""}(a),!0===a.enableMcpApps?"mcp-apps:on":"mcp-apps:off"].join("|")}let jB=(0,o.h)("backend/services/mcp/connection");async function jC(a){let b=a;if(a.env&&"object"==typeof a.env){let c={};for(let[b,d]of Object.entries(a.env)){if(!b)continue;let a=d&&"object"==typeof d&&"value"in d?d.value??"":d??"";if(!a||jy(a))continue;let e=await (0,t.G)(a);e&&(c[b]=e)}b={...b,env:c}}if("streamable"!==a.transport&&"sse"!==a.transport||!a.headers||"object"!=typeof a.headers)return b;let c={};for(let[b,d]of Object.entries(a.headers)){if(!b)continue;let{value:a}=jx(d,b);if(!a||jy(a))continue;let e=await (0,t.G)(a);e&&(c[b]=e)}return{...b,headers:c}}function jD(a){let b={};for(let[c,d]of Object.entries(a)){if(!c)continue;let{value:a}=jx(d,c);"string"==typeof a&&a.length>0&&(b[c]=a)}return b}function jE(a){let b={};if(a)for(let[c,d]of Object.entries(a))d&&"object"==typeof d&&"value"in d?b[c]=d.value:b[c]=d;return b}function jF(a){return JSON.stringify({command:a.command,args:a.args??[],env:jE(a.env),cwd:String(a.cwd??""),rootPath:a.rootPath??""})}function jG(a){return JSON.stringify({transport:a.transport,url:a.serverUrl??"",headers:a.headers??{},requestInit:a.requestInit??{},eventSourceInit:a.eventSourceInit??{},reconnectionOptions:a.reconnectionOptions??{},sessionId:a.sessionId??"",oauthClientId:a.oauthClientId??"",oauthClientInformation:a.oauthClientInformation??{},oauthClientSecret:a.oauthClientSecret??"",oauthTokens:a.oauthTokens??{}})}function jH(a){jB.debug("Entering createNewClient method");let b=jk(a),c=jt(a),d=!0===a.enableMcpApps,e=new hW({name:`flujo-${a.name}-client`,version:"3.38.0"},{capabilities:{experimental:{},roots:{listChanged:!0},...b?{sampling:{}}:{},...c?{elicitation:{}}:{},...d?{extensions:{[jz.OF]:{mimeTypes:[jz.cM]}}}:{}}});return(0,je.FP)(e,a),b&&e.setRequestHandler(s.u9,jl(a)),c&&e.setRequestHandler(s.$9,ju(a)),e.__flujoCapKey=jA(a),e}function jI(a){if(jB.debug("Entering createTransport method"),"streamable"===a.transport){jB.info(`Creating streamable http transport for server ${a.name} with URL ${a.serverUrl}`);let b={};if(a.requestInit&&"object"==typeof a.requestInit&&(b.requestInit=a.requestInit),a.reconnectionOptions&&"object"==typeof a.reconnectionOptions&&(b.reconnectionOptions=a.reconnectionOptions),"string"==typeof a.sessionId&&a.sessionId.length>0&&(b.sessionId=a.sessionId),a.headers&&"object"==typeof a.headers){let c=jD(a.headers);Object.keys(c).length>0&&(b.requestInit={...b.requestInit||{},headers:{...b.requestInit?.headers||{},...c}},jB.info(`Applied ${Object.keys(c).length} custom header(s) for ${a.name}: ${Object.keys(c).join(", ")}`))}a.oauthClientId||a.oauthClientInformation?(jB.info(`Setting up OAuth authentication for ${a.name}`),b.authProvider=i$(a),a.oauthTokens?.access_token?(jB.debug(`OAuth provider configured for ${a.name} with existing tokens`),jB.debug(`Token expires in: ${a.oauthTokens.expires_in} seconds`)):jB.debug(`OAuth provider configured for ${a.name} - will initiate OAuth flow if needed`)):jB.debug(`No OAuth configuration found for ${a.name}`);let c=new iT(new URL(a.serverUrl),b);return c.__flujoHttpKey=jG(a),c}if("sse"===a.transport){jB.info(`Creating legacy sse transport for server ${a.name} with URL ${a.serverUrl}`);let b={};if(a.requestInit&&"object"==typeof a.requestInit&&(b.requestInit=a.requestInit),a.eventSourceInit&&"object"==typeof a.eventSourceInit&&(b.eventSourceInit=a.eventSourceInit),a.headers&&"object"==typeof a.headers){let c=jD(a.headers);Object.keys(c).length>0&&(b.requestInit={...b.requestInit||{},headers:{...b.requestInit?.headers||{},...c}},jB.info(`Applied ${Object.keys(c).length} custom header(s) for ${a.name}: ${Object.keys(c).join(", ")}`))}let c=new iV(new URL(a.serverUrl),b);return c.__flujoHttpKey=jG(a),c}if("websocket"===a.transport)return jB.info(`Creating WebSocket transport for server ${a.name} with URL ${a.websocketUrl}`),new h$(new URL(a.websocketUrl));{var b=a;if(jB.debug("Entering createStdioTransport method"),"stdio"!==b.transport)throw Error("Cannot create stdio transport for non-stdio config");let{command:c,args:d,env:e,cwd:f}=jJ(b);jB.info(`Creating StdioClientTransport for ${b.name} with stderr: 'pipe'`);let g=new hZ({command:c,args:d,env:e,cwd:f,stderr:"pipe"});return g.__flujoStdioKey=jF(b),g.stderr?jB.info(`Stderr stream is available for ${b.name}`):jB.warn(`Stderr stream is NOT available for ${b.name}`),g}}function jJ(a){let b=a.command,c=a.args?[...a.args]:[],d=`${u.VL}/${a.name}`;jB.info(`Creating stdio transport for server ${a.name}`),jB.debug(`Original command: ${b}`),jB.debug(`Original args: ${JSON.stringify(c)}`),jB.debug(`Server directory: ${d}`);let e=!m.isAbsolute(b)&&(b.includes("/")||b.includes("\\")),f=!b.includes("/")&&!b.includes("\\");if(jB.debug(`Is relative path: ${e}`),jB.debug(`Is just filename: ${f}`),"win32"===iX.platform()&&b.toLowerCase().endsWith(".bat"))if(jB.debug(`Detected .bat file on Windows: ${b}`),f){let a=m.join((0,p.getDataDir)(),d,b);jB.debug(`Checking if file exists at: ${a}`);let e=iW.existsSync(a);jB.debug(`File exists: ${e}`),e?(jB.debug(`Using full path to .bat file: ${a}`),c=["/c",a,...c]):(jB.warn(`WARNING: .bat file not found at ${a}`),c=["/c",b,...c]),b="cmd.exe"}else jB.debug(`Using cmd.exe with path as provided: ${b}`),c=["/c",b,...c],b="cmd.exe";let g=function(a,b){if(!a||!(!a.includes("/")&&!a.includes("\\")))return a;let c=a.toLowerCase();if(!jd.has(c))return a;if("node"===c)return b.execPath||a;if(!b.execPath)return a;let d=b.dirname(b.execPath);for(let a of"win32"===b.platform?[`${c}.cmd`,`${c}.exe`,c]:[c]){let c=b.joinPath(d,a);if(b.fileExists(c))return c}return a}(b,{execPath:process.execPath,platform:iX.platform(),dirname:m.dirname,joinPath:m.join,fileExists:iW.existsSync});g!==b&&(jB.debug(`Resolved Node toolchain command "${b}" to absolute path: ${g}`),b=g),jB.debug(`Final command: ${b}`),jB.debug(`Final args: ${JSON.stringify(c)}`);let h=function({command:a,args:b=[],rootPath:c,cwd:d,serverName:e,defaultCwd:f}){let g=c||d||f;return e&&jc(a,b)&&(g.split(/[\\/]/).filter(Boolean).pop()||"")===e&&function(a){let b=a.match(/^(.*[\\/])[^\\/]+[\\/]*$/);return b?b[1].replace(/[\\/]+$/,""):""}(g)||g}({command:a.command,args:a.args,rootPath:a.rootPath,cwd:a.cwd,serverName:a.name,defaultCwd:`${u.VL}/${a.name}`}),i=m.isAbsolute(h)?h:m.join((0,p.getDataDir)(),h);jB.debug(`cwd: ${i}`),jB.debug(`env: ${JSON.stringify(a.env)}`);let j=jE(a.env);return jB.verbose("Transformed environment variables",JSON.stringify(j)),{command:b,args:c,env:j,cwd:i}}function jK(a,b){return null!==a.exitCode||null!==a.signalCode?Promise.resolve(!0):new Promise(c=>{let d=()=>{clearTimeout(e),c(!0)},e=setTimeout(()=>{a.removeListener("exit",d),c(!1)},b);e.unref?.(),a.once("exit",d)})}async function jL(a,b,c,d){jB.debug("Entering safelyCloseClient method");let e=d?.gracePeriodMs??15e3,f=d?.killEscalationMs??5e3;try{let c=a.transport?._process;if(c&&"function"==typeof c.kill&&null===c.exitCode&&null===c.signalCode){try{c.stdin&&!c.stdin.destroyed&&(c.stdin.end(),jB.debug(`Closed stdin for graceful shutdown for ${b}`))}catch(a){jB.warn(`Error closing stdin for ${b}:`,a)}let a=await jK(c,e);if(!a){jB.warn(`Process did not exit within ${e}ms after stdin close, sending SIGTERM for ${b}`);try{c.kill("SIGTERM")}catch(a){jB.error(`Error sending SIGTERM for ${b}:`,a)}a=await jK(c,f)}if(a)jB.info(`Process exited gracefully for ${b}`);else{jB.warn(`Process did not respond to SIGTERM, sending SIGKILL for ${b}`);try{c.kill("SIGKILL")}catch(a){jB.error(`Error sending SIGKILL for ${b}:`,a)}}}await a.close(),jB.info(`Client closed successfully for ${b}`)}catch(a){jB.warn(`Error closing client for ${b}:`,a)}}let jM=(0,o.h)("backend/services/mcp/betaClient");async function jN(){try{let a=await (0,hP.YM)(hQ.Z.SPEECH_SETTINGS,void 0);return!!a?.experimental?.mcpBetaProtocol}catch(a){return jM.warn("Failed to read mcpBetaProtocol setting; defaulting to disabled",{err:a}),!1}}function jO(a){return!0===a.__flujoBeta}function jP(a){let b=jk(a),c=jt(a),d=!0===a.enableMcpApps,e=new hD({name:`flujo-${a.name}-client`,version:"3.27.0"},{capabilities:{roots:{listChanged:!0},...b?{sampling:{}}:{},...c?{elicitation:{}}:{},...d?{extensions:{[jz.OF]:{mimeTypes:[jz.cM]}}}:{}},versionNegotiation:{mode:"auto"}});if(e.setRequestHandler("roots/list",(0,je.sG)(a)),b){let b=jl(a);e.setRequestHandler("sampling/createMessage",async a=>b(a))}if(c){let b=ju(a);e.setRequestHandler("elicitation/create",async a=>b(a))}return e.__flujoBeta=!0,e.__flujoCapKey=jA(a),jM.info(`Created v2-beta MCP client for ${a.name} (version negotiation: auto)`),e}function jQ(a){let b=a.requestInit&&"object"==typeof a.requestInit?a.requestInit:void 0;if(a.headers&&"object"==typeof a.headers){let c=jD(a.headers);Object.keys(c).length>0&&(b={...b||{},headers:{...b?.headers||{},...c}})}return b}function jR(a){if("websocket"===a.transport)throw Error("The v2-beta MCP SDK has no websocket transport; use the v1 path");if("streamable"===a.transport){let b={},c=jQ(a);c&&(b.requestInit=c),a.reconnectionOptions&&"object"==typeof a.reconnectionOptions&&(b.reconnectionOptions=a.reconnectionOptions),"string"==typeof a.sessionId&&a.sessionId.length>0&&(b.sessionId=a.sessionId),(a.oauthClientId||a.oauthClientInformation)&&(b.authProvider=i$(a));let d=new hJ(new URL(a.serverUrl),b);return d.__flujoHttpKey=jG(a),d.__flujoKind="streamable",jM.info(`Created v2-beta streamable transport for ${a.name}`),d}if("sse"===a.transport){let b={},c=jQ(a);c&&(b.requestInit=c),a.eventSourceInit&&"object"==typeof a.eventSourceInit&&(b.eventSourceInit=a.eventSourceInit);let d=new hF(new URL(a.serverUrl),b);return d.__flujoHttpKey=jG(a),d.__flujoKind="sse",jM.info(`Created v2-beta SSE transport for ${a.name}`),d}let{command:b,args:c,env:d,cwd:e}=jJ(a),f=new hO({command:b,args:c,env:d,cwd:e,stderr:"pipe"});return f.__flujoStdioKey=jF(a),f.__flujoKind="stdio",jM.info(`Created v2-beta stdio transport for ${a.name}`),f}let jS=a=>new Promise(b=>setTimeout(b,a)),jT=(0,o.h)("backend/services/mcp/tools"),jU=0x80000000-1;async function jV(a,b,c="model"){if(jT.debug("Entering listServerTools method"),!a)return jT.warn(`Server ${b} not connected`),{tools:[],error:"Server not connected"};try{jT.info(`Listing tools for server ${b}`);let d=await a.listTools();jT.verbose("Raw response from MCP server:",d);let e=(d.tools||[]).map(a=>({name:a.name,description:a.description||"",inputSchema:a.inputSchema||{},...a.annotations?{annotations:a.annotations}:{},...a._meta?{_meta:a._meta}:{}})),f=(0,jz.zm)(e,c);return jT.verbose(`Processed tools for ${c} audience:`,f),{tools:f}}catch(c){jT.warn(`Failed to list tools for server ${b}:`,c);let a=c instanceof Error?c.message:"Unknown error";return{tools:[],error:a.includes("Connection timeout")?a:`Failed to list tools: ${a}`}}}async function jW(a,b,c,d,e,f,g,h="host"){if(jT.debug("Entering callTool method"),!a)return jT.warn(`Server ${b} not found`),{success:!1,error:`Server ${b} not found`,statusCode:404};let i=void 0!==e&&e>0?Math.min(1e3*e,jU):jU;try{if("app"===h||"model"===h){let d=await jV(a,b,"all");if(d.error)return{success:!1,error:`Could not verify MCP App access to tool '${c}' on '${b}': ${d.error}`,errorType:"tool-authorization-list",statusCode:502};let e=(0,jz.F)(d.tools,b,c,h);if(!e.allowed)return jT.warn(`Rejected ${h} tool call: ${e.error}`),{success:!1,error:e.error,statusCode:e.statusCode}}jT.debug(`Original args for tool ${c}:`,d);let e=await (0,t.resolveGlobalVars)(d),j=function(a,b){if(!a)return{};let c={};for(let d in a){let e=a[d];null==e?(jT.debug(`Normalizing undefined/null value for parameter '${d}' in tool '${b}'`),d.includes("number")||d.endsWith("Count")||d.endsWith("Id")||d.endsWith("Limit")?(c[d]=0,jT.debug(`Using default value 0 for likely number parameter: ${d}`)):d.includes("bool")||d.startsWith("is")||d.startsWith("has")||d.startsWith("should")?(c[d]=!1,jT.debug(`Using default value false for likely boolean parameter: ${d}`)):d.includes("array")||d.endsWith("s")||d.endsWith("List")||d.endsWith("Items")?(c[d]=[],jT.debug(`Using empty array for likely array parameter: ${d}`)):d.includes("object")||d.endsWith("Options")||d.endsWith("Config")||d.endsWith("Settings")?(c[d]={},jT.debug(`Using empty object for likely object parameter: ${d}`)):(c[d]="",jT.debug(`Using empty string for parameter with unknown type: ${d}`))):c[d]=e}return c}("object"==typeof e&&null!==e?e:{},c);jT.debug(`Normalized args for tool ${c}:`,j),jT.debug(`Calling tool ${c} with SDK timeout ${i}ms`);let k={timeout:i,resetTimeoutOnProgress:!0,...g?{signal:g}:{},onprogress:a=>{jT.debug(`Progress for tool ${c}: ${a.progress}${void 0!==a.total?`/${a.total}`:""}${a.message?` — ${a.message}`:""}`),f?.(a)}},l=jO(a)?await a.callTool.call(a,{name:c,arguments:j},k):await a.callTool({name:c,arguments:j},void 0,k);if((0,u.h$)(l)){let d,e=l.task;jT.info(`Tool ${c} on ${b} returned task handle ${e.taskId} (status: ${e.status})`),f?.({progress:0,message:`Task ${e.taskId} created (${e.status})`});let h=Math.min(Math.max(e.pollInterval??5e3,1e3),3e4),j=new Set(["completed","failed","cancelled"]),k=e.status,m=0,n=j.has(k);if("completed"===k)return{success:!0,data:e.result,progressToken:e.taskId};if("failed"===k)return{success:!1,error:e.error??`Task ${e.taskId} failed`,progressToken:e.taskId};let o=()=>(d||(d=(async()=>{try{await a.request({method:"tasks/cancel",params:{taskId:e.taskId}},void 0,{timeout:1e4})}catch(a){jT.warn(`Best-effort cancellation failed for task ${e.taskId}:`,a)}})()),d),p=()=>{o()};g?.addEventListener("abort",p,{once:!0});try{for(;!j.has(k);){if(g?.aborted||(await jS(h),m+=h,g?.aborted))throw await o(),Error(`Tool call cancelled (task ${e.taskId})`);let b=await a.request({method:"tasks/get",params:{taskId:e.taskId}},void 0,{signal:g,timeout:i});if(g?.aborted)throw await o(),Error(`Tool call cancelled (task ${e.taskId})`);let c=b.task;if(k=c.status,n=j.has(k),jT.debug(`Task ${e.taskId} poll: status=${c.status}, elapsed=${m}ms`),f?.({progress:"completed"===c.status?100:Math.min(99,Math.round(m/1e3)),message:`Task ${e.taskId}: ${c.status}`}),"completed"===c.status)return{success:!0,data:c.result,progressToken:e.taskId};if("failed"===c.status)return{success:!1,error:c.error??`Task ${e.taskId} failed`,progressToken:e.taskId}}return{success:!1,error:`Tool '${c}' task ${e.taskId} was cancelled by the server.`,errorType:"cancelled",progressToken:e.taskId}}catch(a){throw n||await o(),a}finally{g?.removeEventListener("abort",p)}}return{success:!0,data:l}}catch(e){jT.warn(`Failed to call tool ${c} on server ${b}:`,e);let a=e instanceof Error?e.message:"Unknown error",d=500;if(g?.aborted)return{success:!1,error:`Tool '${c}' call was cancelled.`,errorType:"cancelled",toolName:c};if(e instanceof s.Nh&&e.code===s.O4.RequestTimeout){let a=Math.round(i/1e3);return jT.warn(`Tool ${c} execution timed out after ${a} seconds`),{success:!1,error:`Tool execution timed out after ${a} seconds`,errorType:"timeout",toolName:c,timeout:a,statusCode:408}}if(a.includes("401")||a.includes("Unauthorized")||a.includes("invalid_token")||a.includes("token_expired"))return jT.info(`OAuth authentication error detected for tool ${c} on server ${b}`),{success:!1,error:"OAuth authentication failed or tokens have expired. Please re-authenticate the server.",statusCode:401,requiresAuthentication:!0};return(a.includes("404")||a.includes("Not Found"))&&(jT.info(`404 error detected for tool ${c} on server ${b} - may indicate OAuth issues`),d=404,a="Tool endpoint not found (404). This may indicate OAuth authentication issues or the server may not be properly configured."),e instanceof s.Nh?(a=`Failed to call tool: ${a} (Code: ${e.code})`,-32601===e.code?d=404:-32602===e.code?d=400:-32603===e.code&&(d=500)):a=`Failed to call tool: ${a}`,{success:!1,error:a,statusCode:d}}}let jX=(0,o.h)("backend/services/mcp/resources");async function jY(a,b){if(jX.debug("Entering listServerResources method"),!a)return jX.warn(`Server ${b} not connected`),{resources:[],error:"Server not connected"};try{jX.info(`Listing resources for server ${b}`);let c=(await a.listResources()).resources||[];return jX.verbose("Processed resources:",c),{resources:c}}catch(c){if(c instanceof s.Nh&&-32601===c.code)return jX.debug(`Server ${b} does not support resources/list`),{resources:[]};jX.warn(`Failed to list resources for server ${b}:`,c);let a=c instanceof Error?c.message:"Unknown error";return{resources:[],error:a.includes("Connection timeout")?a:`Failed to list resources: ${a}`}}}async function jZ(a,b){if(jX.debug("Entering listServerResourceTemplates method"),!a)return jX.warn(`Server ${b} not connected`),{resourceTemplates:[],error:"Server not connected"};try{return jX.info(`Listing resource templates for server ${b}`),{resourceTemplates:(await a.listResourceTemplates()).resourceTemplates||[]}}catch(c){if(c instanceof s.Nh&&-32601===c.code)return jX.debug(`Server ${b} does not support resources/templates/list`),{resourceTemplates:[]};jX.warn(`Failed to list resource templates for server ${b}:`,c);let a=c instanceof Error?c.message:"Unknown error";return{resourceTemplates:[],error:a.includes("Connection timeout")?a:`Failed to list resource templates: ${a}`}}}async function j$(a,b,c){if(jX.debug("Entering readResource method"),!a)return jX.warn(`Server ${b} not found`),{success:!1,error:`Server ${b} not found`,statusCode:404};try{let d=await (0,t.resolveGlobalVars)(c);jX.info(`Reading resource ${d} from server ${b}`);let e=await a.readResource({uri:d});return{success:!0,data:e}}catch(e){jX.warn(`Failed to read resource ${c} on server ${b}:`,e);let a=e instanceof Error?e.message:"Unknown error",d=500;return e instanceof s.Nh?(a=`Failed to read resource: ${a} (Code: ${e.code})`,-32601===e.code?d=404:-32602===e.code&&(d=400)):a=`Failed to read resource: ${a}`,{success:!1,error:a,statusCode:d}}}let j_=(0,o.h)("backend/services/mcp/prompts");async function j0(a,b){if(j_.debug("Entering listServerPrompts method"),!a)return j_.warn(`Server ${b} not connected`),{prompts:[],error:"Server not connected"};try{return j_.info(`Listing prompts for server ${b}`),{prompts:(await a.listPrompts()).prompts||[]}}catch(c){if(c instanceof s.Nh&&-32601===c.code)return j_.debug(`Server ${b} does not support prompts/list`),{prompts:[]};j_.warn(`Failed to list prompts for server ${b}:`,c);let a=c instanceof Error?c.message:"Unknown error";return{prompts:[],error:a.includes("Connection timeout")?a:`Failed to list prompts: ${a}`}}}async function j1(a,b,c,d){if(j_.debug("Entering getPrompt method"),!a)return j_.warn(`Server ${b} not found`),{success:!1,error:`Server ${b} not found`,statusCode:404};try{let e;if(d&&Object.keys(d).length>0){let a=await (0,t.resolveGlobalVars)(d);e="object"==typeof a&&null!==a?a:void 0}j_.info(`Getting prompt ${c} from server ${b}`);let f=await a.getPrompt({name:c,arguments:e});return{success:!0,data:f}}catch(e){j_.warn(`Failed to get prompt ${c} on server ${b}:`,e);let a=e instanceof Error?e.message:"Unknown error",d=500;return e instanceof s.Nh?(a=`Failed to get prompt: ${a} (Code: ${e.code})`,-32601===e.code?d=404:-32602===e.code&&(d=400)):a=`Failed to get prompt: ${a}`,{success:!1,error:a,statusCode:d}}}var j2=c(61800);function j3(a){return"stdio"===a.transport&&jc(a.command,a.args??[])}let j4=(0,o.h)("utils/mcp/oauthProbe");async function j5(a){let b=(await fetch(a,{method:"POST",headers:{"content-type":"application/json",accept:"application/json, text/event-stream"},body:JSON.stringify({jsonrpc:"2.0",id:0,method:"initialize",params:{}}),signal:AbortSignal.timeout(5e3)})).headers.get("www-authenticate")||"",c=/\bbearer\b/i.test(b),d=b.match(/resource_metadata\s*=\s*"([^"]+)"/i);return{bearer:c,resourceMetadataUrl:d?.[1]}}async function j6(a){let b=await fetch(a,{headers:{accept:"application/json"},signal:AbortSignal.timeout(5e3)});if(!b.ok)return;let c=await b.json(),d=Array.isArray(c.authorization_servers);if(d||"string"==typeof c.resource)return{authorizationServers:d?c.authorization_servers.filter(a=>"string"==typeof a):void 0}}async function j7(a){try{let b=new URL(a).origin,c=await j5(a).catch(b=>(j4.debug(`readAuthChallenge failed for ${a}: ${b instanceof Error?b.message:String(b)}`),{bearer:!1,resourceMetadataUrl:void 0})),d=[];for(let e of(c.resourceMetadataUrl&&d.push(c.resourceMetadataUrl),d.push(new URL("/.well-known/oauth-protected-resource",b).toString()),d)){let b=await j6(e).catch(()=>void 0);if(b)return j4.info(`OAuth capability confirmed for ${a} via ${e}`),{oauthCapable:!0,resourceMetadataUrl:e,authorizationServers:b.authorizationServers}}if(c.bearer)return j4.info(`OAuth capability inferred for ${a} from a Bearer challenge (no resource metadata)`),{oauthCapable:!0,resourceMetadataUrl:c.resourceMetadataUrl};return j4.debug(`No OAuth capability detected for ${a}`),{oauthCapable:!1}}catch(b){return j4.debug(`probeOAuthSupport failed for ${a}: ${b instanceof Error?b.message:String(b)}`),{oauthCapable:!1}}}let j8=(0,o.h)("backend/services/mcp/resourceNotifications");var j9=c(92018),ka=c(94749);void 0===global.__mcp_clients&&(global.__mcp_clients=new Map),void 0===global.__mcp_connecting&&(global.__mcp_connecting=new Set),void 0===global.__mcp_starting_up&&(global.__mcp_starting_up=!0),void 0===global.__mcp_active_transports&&(global.__mcp_active_transports=new Map),void 0===global.__mcp_client_generation&&(global.__mcp_client_generation=new Map),void 0===global.__mcp_tool_schema_hash&&(global.__mcp_tool_schema_hash=new Map);let kb=(0,o.h)("backend/services/mcp/index");function kc(a){if("streamable"!==a.transport&&"sse"!==a.transport)return!1;let b=a.headers;return!!b&&Object.entries(b).some(([a,b])=>"authorization"===a.toLowerCase()&&jx(b,a).value.trim().length>0)}class kd{async clearLegacyInferredOAuthScopesForHeaderAuth(a){try{let b=await this.loadServerConfigs();if(!Array.isArray(b))return;let c=b.findIndex(b=>b.name===a);if(-1===c||"streamable"!==b[c].transport)return;let d=b[c];if(!kc(d)||d.oauthScopes?.length!==1||"read"!==d.oauthScopes[0]||d.oauthClientId||d.oauthClientSecret||d.oauthClientMetadata||d.oauthClientInformation||d.oauthTokens||d.oauthCodeVerifier||d.authorizationUrl)return;b[c]={...d,oauthScopes:void 0};let e=await (0,r.q)(new Map(b.map(a=>[a.name,a])));e.success?kb.info(`Removed stale inferred OAuth scopes from header-authenticated server ${a}`):kb.warn(`Failed to remove stale inferred OAuth scopes from ${a}: ${e.error}`)}catch(b){kb.warn(`Failed to clean inferred OAuth scopes for ${a}: ${b instanceof Error?b.message:String(b)}`)}}get clients(){return global.__mcp_clients}get connectingServers(){return global.__mcp_connecting}get activeTransports(){return global.__mcp_active_transports}get clientGenerations(){return global.__mcp_client_generation}get toolSchemaHashes(){return global.__mcp_tool_schema_hash}static{this.MAX_STDERR_LOG_ENTRIES=200}appendStderrLog(a,b){let c=this.stderrLogs.get(a)||[];c.push(b),c.length>kd.MAX_STDERR_LOG_ENTRIES&&c.splice(0,c.length-kd.MAX_STDERR_LOG_ENTRIES),this.stderrLogs.set(a,c)}deregisterClient(a){this.clients.delete(a),this.activeTransports.delete(a)}onResourceListChanged(a){let b=this.resourceListVersion.get(a)??0;this.resourceListVersion.set(a,b+1),kb.debug(`onResourceListChanged: server=${a} version=${b+1}`)}onResourceUpdated(a,b){let c=this.pendingResourceUpdates.get(a)??new Set;c.add(b),this.pendingResourceUpdates.set(a,c),kb.debug(`onResourceUpdated: server=${a} uri=${b}`)}getResourceListVersion(a){return this.resourceListVersion.get(a)??0}async subscribeToResource(a,b){try{let c=this.getClient(a);if(!c)return;let d=c.getServerCapabilities?.();if(!d?.resources?.subscribe)return;await c.subscribeResource({uri:b}),kb.debug(`subscribeToResource: server=${a} uri=${b}`)}catch(c){kb.debug(`subscribeToResource: ignored error for ${a}/${b}:`,c)}}clearRetryTimer(a){let b=this.connectionRetryTimers.get(a);b&&(clearTimeout(b),this.connectionRetryTimers.delete(a),kb.debug(`Cleared retry timer for server ${a}`))}scheduleConnectionRetry(a,b){this.clearRetryTimer(a);let c=this.connectionRetryAttempts.get(a)||0;if(c>=5){kb.warn(`Maximum retry attempts (5) reached for server ${a}, stopping retries`),this.connectionRetryAttempts.delete(a);return}let d=Math.min(5e3*Math.pow(2,c),3e5);kb.info(`Scheduling connection retry for server ${a} in ${d}ms (attempt ${c+1}/5)`);let e=setTimeout(async()=>{kb.info(`Attempting to reconnect server ${a} (attempt ${c+1}/5)`);let b=await this.getServerConfig(a);if(!b){kb.info(`Server ${a} configuration not found, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}if(b.disabled){kb.info(`Server ${a} is now disabled, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}let d=this.getClient(a);if(d)try{await d.ping({timeout:5e3}),kb.info(`Server ${a} is already connected and responsive, cancelling retry`),this.connectionRetryAttempts.delete(a);return}catch(b){kb.warn(`Server ${a} has a registered client but ping failed (${b instanceof Error?b.message:String(b)}); reconnecting from scratch`)}this.connectionRetryAttempts.set(a,c+1);try{let e=d?await this.forceReconnect(a):await this.connectServer(b);if(e.success)kb.info(`Successfully reconnected server ${a} after ${c+1} attempts`),this.connectionRetryAttempts.delete(a);else{if(kb.warn(`Failed to reconnect server ${a}: ${e.error}`),e.requiresAuthentication){kb.info(`Server ${a} requires authentication, stopping retry attempts`),this.connectionRetryAttempts.delete(a);return}this.scheduleConnectionRetry(a,b)}}catch(c){kb.error(`Error during retry connection for server ${a}:`,c),this.scheduleConnectionRetry(a,b)}},d);this.connectionRetryTimers.set(a,e)}isStartingUp(){return!0===global.__mcp_starting_up}setStartingUp(a){global.__mcp_starting_up=a,kb.info(`Backend startup state set to: ${a?"starting":"complete"}`)}getClientGeneration(a){return this.clientGenerations.get(a)??0}setToolSchemaHash(a,b,c){this.toolSchemaHashes.set(`${a}\0${b}`,c)}getToolSchemaHash(a,b){return this.toolSchemaHashes.get(`${a}\0${b}`)}getClient(a){let b=this.clients.get(a);if(b&&i0(b)){kb.warn(`getClient: client for ${a} has a closed/aborted connection — evicting it`),this.clients.delete(a);return}return kb.debug(`getClient: Looking for client: ${a}`,b?"Found":"Not found"),b}async loadServerConfigs(){kb.debug("loadServerConfigs: Entering method");try{let a=await (0,r.loadServerConfigs)();if(!Array.isArray(a))return kb.warn("loadServerConfigs: Received non-array response",a),a;for(let b of(await (0,ka.XS)())){if(a.some(a=>a.name===b.name)){kb.warn(`loadServerConfigs: A stored server is named "${b.name}" — it shadows FLUJO's built-in server`);continue}a.push(b)}return kb.debug(`loadServerConfigs: Loaded ${a.length} server configs`),a}catch(a){return kb.warn("loadServerConfigs: Failed to load server configs:",a),{success:!1,error:`Failed to load server configs: ${a instanceof Error?a.message:"Unknown error"}`}}}async getServerConfig(a){kb.debug(`getServerConfig: Looking up config for server ${a}`);let b=await this.loadServerConfigs();if(!Array.isArray(b))return kb.warn(`getServerConfig: Failed to load configs for ${a}:`,b.error),null;let c=b.find(b=>b.name===a);return c||(kb.warn(`getServerConfig: Server ${a} not found in configs`),null)}async isServerDisabled(a){let b=await this.getServerConfig(a);return b?.disabled===!0}async isInternalServer(a){if(!(0,ka.Co)(a))return!1;let b=await (0,r.loadServerConfigs)();return!Array.isArray(b)||!b.some(b=>b.name===a)}async connectServer(a){let b="string"==typeof a?a:a.name;if((0,ka.Co)(b)&&("string"!=typeof a?!0===a.builtIn:await this.isInternalServer(b)))return this.connectingServers.delete(b),{success:!0};let c=this.inFlightConnects.get(b);if(c)return kb.debug(`connectServer: reusing in-flight connection attempt for ${b}`),c;let d=this.connectServerInternal(a).finally(()=>{this.inFlightConnects.delete(b)});return this.inFlightConnects.set(b,d),d}async connectServerInternal(a){let b;if("string"==typeof a){kb.info(`connectServer: Looking up config for server ${a}`);let c=await this.getServerConfig(a);if(!c)return kb.warn(`connectServer: Server ${a} not found in configs`),{success:!1,error:`Server configuration for "${a}" not found. The server may have been deleted or not properly configured.`};b=c}else b=a;let c="string"==typeof a?b:await this.getServerConfig(b.name),d=c??b;if((c??b).disabled)return kb.info(`connectServer: Server ${b.name} is disabled — refusing to create a client/transport`),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),{success:!1,error:`Server '${b.name}' is disabled. Enable it on the MCP page to use it.`};let e=(0,j.A)();kb.info(`connectServer: Starting connection for server ${b.name} [RequestID: ${e}]`),this.connectingServers.add(b.name);try{this.stderrLogs.set(b.name,[]),b=await jC(b);let a=await jN()&&"websocket"!==b.transport,c=this.clients.get(b.name);if(c){let{needsNewClient:d,reason:e}=function(a,b,c=!1){if(jB.debug("Entering shouldRecreateClient method"),i0(a))return{needsNewClient:!0,reason:"Existing connection is closed"};if((a.__flujoCapKey??"")!==jA(b))return{needsNewClient:!0,reason:"Client capabilities (sampling/elicitation/MCP Apps) changed"};let d=!0===a.__flujoBeta,e=c&&"websocket"!==b.transport;if(d!==e)return{needsNewClient:!0,reason:e?"Beta MCP protocol enabled":"Beta MCP protocol disabled"};if(d){let c=a.transport;if(!c||c.__flujoKind!==b.transport)return{needsNewClient:!0,reason:`Transport type changed to ${b.transport}`};if("stdio"===b.transport){if(c.__flujoStdioKey!==jF(b))return{needsNewClient:!0,reason:"Connection parameters changed"}}else if(c.__flujoHttpKey!==jG(b))return{needsNewClient:!0,reason:`${b.transport} auth/connection parameters changed`};return{needsNewClient:!1}}if("websocket"===b.transport){if(!(a.transport instanceof h$))return{needsNewClient:!0,reason:"Transport type changed to websocket"}}else if("streamable"===b.transport){if(!(a.transport instanceof iT))return{needsNewClient:!0,reason:"Transport type changed to streamable"};let c=a.transport,d=c._url?.toString();if(void 0!==d&&d!==new URL(b.serverUrl).toString())return{needsNewClient:!0,reason:"Streamable server URL changed"};let e=c.__flujoHttpKey;if(!e)return{needsNewClient:!0,reason:"Existing streamable transport has no config key"};if(e!==jG(b))return{needsNewClient:!0,reason:"Streamable auth/connection parameters changed"}}else if("sse"===b.transport){if(!(a.transport instanceof iV))return{needsNewClient:!0,reason:"Transport type changed to sse"};let c=a.transport,d=c._url?.toString();if(void 0!==d&&d!==new URL(b.serverUrl).toString())return{needsNewClient:!0,reason:"SSE server URL changed"};let e=c.__flujoHttpKey;if(!e)return{needsNewClient:!0,reason:"Existing sse transport has no config key"};if(e!==jG(b))return{needsNewClient:!0,reason:"SSE auth/connection parameters changed"}}else{if(!(a.transport instanceof hZ))return{needsNewClient:!0,reason:"Transport type changed to stdio"};if("stdio"!==b.transport)return{needsNewClient:!0,reason:"Transport type changed from stdio"};let c=a.transport.__flujoStdioKey;if(!c)return{needsNewClient:!0,reason:"Existing stdio transport has no config key"};if(c!==jF(b))return{needsNewClient:!0,reason:"Connection parameters changed"}}return{needsNewClient:!1}}(c,b,a);if(!d)return kb.info(`connectServer: Server ${b.name} is already connected`),this.lastConnectionError.delete(b.name),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),await this.clearLegacyInferredOAuthScopesForHeaderAuth(b.name),{success:!0};kb.info(`connectServer: Existing client for ${b.name} is stale (${e}), recreating`),this.deregisterClient(b.name);try{await jL(c,b.name,b)}catch(a){kb.debug(`connectServer: error closing stale client for ${b.name}: ${a instanceof Error?a.message:String(a)}`)}c=void 0}c=a?jP(b):jH(b);let d=a?jR(b):jI(b);if(a){let a=c.setNotificationHandler?.bind(c);a&&(a("notifications/resources/list_changed",()=>{this.onResourceListChanged(b.name)}),a("notifications/resources/updated",a=>{let c=a?.params?.uri;c&&this.onResourceUpdated(b.name,c)}))}else!function(a,b,c,d){try{a.setNotificationHandler(s.hh,a=>{j8.debug(`resourceListChanged notification received for ${b}`),c(b)})}catch(a){j8.warn(`registerResourceNotificationHandlers: failed to register list_changed for ${b}`,a)}if(d)try{a.setNotificationHandler(s.cL,a=>{let c=a.params?.uri;c&&(j8.debug(`resourceUpdated notification received for ${b} uri=${c}`),d(b,c))})}catch(a){j8.warn(`registerResourceNotificationHandlers: failed to register resource_updated for ${b}`,a)}}(c,b.name,a=>this.onResourceListChanged(a),(a,b)=>this.onResourceUpdated(a,b));let e=d.stderr;if(e&&"function"==typeof e.on){let a=b.name;e.on("data",b=>{let c=b.toString();kb.warn(`stderr: [${a}]: ${c}`),this.appendStderrLog(a,c)})}d.onclose=()=>{if(this.activeTransports.get(b.name)!==d)return void kb.debug(`connectServer: ignoring close event from a stale/deregistered transport for ${b.name}`);kb.warn(`connectServer: Connection closed for server ${b.name}`),this.deregisterClient(b.name),this.getServerConfig(b.name).then(a=>{if(!a||a.disabled)return void kb.info(`Server ${b.name} is now disabled, skipping reconnection logic`);kb.info(`Connection closed for enabled server ${b.name}, scheduling reconnection`),this.scheduleConnectionRetry(b.name,a)}).catch(a=>{kb.warn(`Error checking server config for ${b.name} during onclose:`,a)})},d.onerror=a=>{if(function(a){let b=a instanceof Error?a.message:String(a);return b.includes("SSE stream disconnected")||b.includes("Failed to reconnect SSE stream")||b.includes("Maximum reconnection attempts")||/\bterminated\b/i.test(b)}(a))return void kb.debug(`connectServer: transient SSE stream disconnect for ${b.name} (self-healing, ignored): ${a instanceof Error?a.message:String(a)}`);if(this.activeTransports.get(b.name)!==d)return void kb.debug(`connectServer: ignoring error event from a stale/deregistered transport for ${b.name}`);if(kb.error(`connectServer: Transport error for server ${b.name}:`),a instanceof Error){kb.error(`Error name: ${a.name}`),kb.error(`Error message: ${a.message}`),kb.error(`Error stack: ${a.stack}`);let b=a.code;void 0!==b&&kb.error(`Error code: ${b}`),kb.error(`Error chain: ${i4(a)}`)}else if(a&&"object"==typeof a){kb.error(`Error type: ${typeof a}`),kb.error(`Error constructor: ${a.constructor?.name||"Unknown"}`);let b=Object.getOwnPropertyNames(a);b.length>0?(kb.error(`Error properties: ${b.join(", ")}`),b.forEach(b=>{try{let c=a[b];kb.error(` ${b}: ${"function"==typeof c?"[Function]":JSON.stringify(c)}`)}catch(a){kb.error(` ${b}: [Unable to serialize: ${a}]`)}})):kb.error("Error object has no enumerable properties");try{let b=JSON.stringify(a);kb.error(`JSON stringified error: ${b}`)}catch(a){kb.error(`Cannot JSON stringify error: ${a}`)}}else kb.error(`Error value: ${String(a)} (type: ${typeof a})`);this.appendStderrLog(b.name,`Transport error: ${i4(a)}`),this.deregisterClient(b.name),this.getServerConfig(b.name).then(a=>{if(!a||a.disabled)return void kb.info(`Server ${b.name} is now disabled, skipping reconnection after transport error`);kb.info(`Transport error for enabled server ${b.name}, scheduling reconnection`),this.scheduleConnectionRetry(b.name,a)}).catch(a=>{kb.warn(`Error checking server config for ${b.name} during onerror:`,a)})},await c.connect(d),this.clients.set(b.name,c),this.activeTransports.set(b.name,d),this.clientGenerations.set(b.name,this.getClientGeneration(b.name)+1),this.lastConnectionError.delete(b.name),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name),await this.clearLegacyInferredOAuthScopesForHeaderAuth(b.name);let f=function(a){if(jO(a))try{return a.getNegotiatedProtocolVersion()}catch{return}}(c);return kb.info(`connectServer: Successfully connected to ${b.name}`+(f?` (beta SDK, negotiated MCP protocol ${f})`:"")),{success:!0}}catch(j){let a;kb.error(`connectServer: Failed to connect to server ${b.name}:`,j);let c=j instanceof Error?j.message:String(j),e=i8(j),f=i7(j),g=kc(d);if(f&&!g&&("streamable"===b.transport||"sse"===b.transport)){let c=b.serverUrl;c&&(a=(await j7(c)).oauthCapable)}if(e||a){if(kb.info(`OAuth authentication error detected for server ${b.name}: ${c}`),"streamable"===b.transport&&a){let a=b;if(!a.oauthScopes||0===a.oauthScopes.length){kb.info(`Dynamically enabling OAuth for server ${b.name} after capability confirmation`);try{let c={...a,oauthScopes:["read"]},d=await this.loadServerConfigs();if(Array.isArray(d)){let a=d.findIndex(a=>a.name===b.name);-1!==a&&(d[a]=c,await (0,r.q)(new Map(d.map(a=>[a.name,a]))),kb.info(`Updated config for ${b.name} to enable OAuth`))}}catch(a){kb.warn(`Failed to update config for ${b.name} to enable OAuth:`,a)}}}return{success:!1,error:"OAuth authentication failed or tokens have expired. Please re-authenticate.",requiresAuthentication:!0,oauthCapable:!0}}if(f)return{success:!1,error:c,requiresAuthentication:!0,oauthCapable:a};let h=this.stderrLogs.get(b.name)||[],i=i5(j,b,h);return this.lastConnectionError.set(b.name,i),{success:!1,error:i}}finally{this.connectingServers.delete(b.name)}}async testConnection(a,b,c){kb.info(`testConnection: Testing connection to ${a.name||"(unnamed)"} via ${a.transport} transport`);let d=a=>{try{b?.(a)}catch{}},e=[],f=null,g=null;try{let b,h=a,i=c?.storedName||a.name;if(("streamable"===a.transport||"sse"===a.transport)&&i){let b=await this.loadServerConfigs(),c=Array.isArray(b)?b.find(a=>a.name===i):void 0,d=c?.headers,e=a.headers;h={...a,headers:function(a,b){if(!a)return a;let c={};for(let[d,e]of Object.entries(a)){if(!d)continue;let{value:a,isSecret:f}=jx(e,d);if(f&&jy(a)){let a=b?.[d];void 0!==a&&(c[d]=a);continue}c[d]=e}return c}(e,d)}}let j=await jC(h),k=await jN()&&"websocket"!==j.transport;f=k?jP(j):jH(j);let l=(g=k?jR(j):jI(j)).stderr;l&&"function"==typeof l.on&&l.on("data",a=>{let b=a.toString();e.push(b),d({type:"stderr",data:b})}),g.onerror=a=>{let b=`Transport error: ${i4(a)}`;e.push(b),d({type:"stderr",data:b+"\n"})},d({type:"status",phase:"spawning",message:"Starting server / opening transport..."});let m=j3(a)?9e4:15e3,n=j3(a),o=new Promise((a,c)=>{b=setTimeout(()=>c(Error(`Connection timeout after ${m/1e3}s`+(n?" — the package may still be downloading via npx/uvx. Try running the Test again (the package is cached after the first download), or verify the command and network access.":""))),m)});d({type:"status",phase:"handshaking",message:"Performing MCP handshake..."});try{await Promise.race([f.connect(g),o])}finally{b&&clearTimeout(b)}d({type:"status",phase:"listing-tools",message:"Handshake OK — listing tools..."});let p=0;try{let a=await f.listTools();p=Array.isArray(a?.tools)?a.tools.length:0}catch(b){kb.debug(`testConnection: connected to ${a.name} but listTools failed: ${b instanceof Error?b.message:String(b)}`)}return kb.info(`testConnection: Successfully connected to ${a.name} (${p} tools)`),d({type:"result",success:!0,data:{toolCount:p}}),{success:!0,data:{toolCount:p}}}catch(g){let b;kb.warn(`testConnection: Failed to connect to ${a.name}:`,g);let c=i7(g);if(c&&("streamable"===a.transport||"sse"===a.transport)){let c=a.serverUrl;c&&(b=(await j7(c)).oauthCapable)}let f=i5(g,a,e);return d({type:"result",success:!1,error:f,requiresAuthentication:c,oauthCapable:b}),{success:!1,error:f,requiresAuthentication:c,oauthCapable:b}}finally{if(f)try{await jL(f,a.name,a,{gracePeriodMs:3e3,killEscalationMs:2e3})}catch(b){kb.debug(`testConnection: error closing test client for ${a.name}: ${b instanceof Error?b.message:String(b)}`)}}}setNodeRoots(a,b,c){for(let d of(0,je.eS)(a,b,c))this.notifyRootsChanged(d)}notifyRootsChanged(a){let b=this.getClient(a);if(!b)return void kb.debug(`notifyRootsChanged: ${a} not connected, skipping notification`);try{b.sendRootsListChanged().catch(b=>{kb.warn(`notifyRootsChanged: failed to notify ${a}:`,b)}),kb.debug(`notifyRootsChanged: sent roots/list_changed to ${a}`)}catch(b){kb.warn(`notifyRootsChanged: failed to notify ${a}:`,b)}}async disconnectServer(a){if(kb.debug(`disconnectServer: Entering method for server ${a}`),await this.isInternalServer(a))return{success:!0};this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a);let b=this.getClient(a);if(!b)return kb.warn(`disconnectServer: Server ${a} not found in clients map`),this.deregisterClient(a),{success:!1,error:`Server ${a} not found`};this.deregisterClient(a);try{let c=await this.getServerConfig(a);return await jL(b,a,c||void 0),kb.info(`disconnectServer: Disconnected server ${a}`),{success:!0}}catch(b){return kb.warn(`disconnectServer: Failed to disconnect server ${a}:`,b),{success:!1,error:`Failed to disconnect server: ${b instanceof Error?b.message:"Unknown error"}`}}}async forceReconnect(a){if(kb.info(`forceReconnect: Forcing fresh connection for server ${a}`),await this.isInternalServer(a))return{success:!0};let b=this.clients.get(a);if(b){this.deregisterClient(a);let c=await this.getServerConfig(a);try{await jL(b,a,c||void 0)}catch(b){kb.debug(`forceReconnect: error closing stale client for ${a}: ${b instanceof Error?b.message:String(b)}`)}}return this.connectServer(a)}async listServerTools(a,b="model"){if(kb.debug(`listServerTools: Entering method for server ${a}, audience ${b}`),await this.isInternalServer(a)){if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`listServerTools: ${b}`),{tools:[],error:b}}let{internalToolDefinitionsFor:d}=await c.e(1114).then(c.bind(c,91114)),e=await d(a);return{tools:(0,jz.zm)(e,b)}}if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`listServerTools: ${b}`),{tools:[],error:b}}let d=this.getClient(a);d||kb.warn(`listServerTools: Client not found for ${a}`);let e=await jV(d,a,b);if(e.error){kb.warn(`listServerTools: Listing tools for ${a} failed (${e.error}); forcing reconnect and retrying once`);let c=await this.forceReconnect(a);if(!c.success)return kb.warn(`listServerTools: Reconnect for ${a} failed: ${c.error}`),{tools:[],error:c.error||e.error};d=this.clients.get(a),(e=await jV(d,a,b)).error?kb.warn(`listServerTools: Retry after reconnect still failed for ${a}:`,e.error):kb.info(`listServerTools: Recovered after reconnect for ${a}; listed ${e.tools.length} tools`)}else kb.info(`listServerTools: Listed ${e.tools.length} tools for ${a}`);return e}async callTool(a,b,d,e,f,g,h,i="host"){if(kb.debug(`callTool: Entering method for server ${a}, tool ${b}, source ${i}`),await this.isInternalServer(a)){if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`callTool: ${b}`),{success:!1,error:b}}let{internalCallToolFor:e,internalToolDefinitionsFor:f}=await c.e(1114).then(c.bind(c,91114));if("app"===i||"model"===i){let c=await f(a),d=(0,jz.F)(c,a,b,i);if(!d.allowed)return kb.warn(`callTool: Rejected ${i} call to built-in tool: ${d.error}`),{success:!1,error:d.error,statusCode:d.statusCode}}let h=await e(this,a,b,d,g,i);return kb.info(`callTool: Dispatched internal tool ${b} on ${a}`),{success:!0,data:h}}if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`callTool: ${b}`),{success:!1,error:b}}let j=this.getClient(a);if(!j){kb.warn(`callTool: No client for ${a}; forcing reconnect before calling ${b}`);let c=await this.forceReconnect(a);c.success?j=this.clients.get(a):kb.warn(`callTool: Reconnect for ${a} failed: ${c.error}`)}let k=await jW(j,a,b,d,e,f,h,i);return kb.info(`callTool: Called tool ${b} on ${a}`),k}async callToolFromApp(a,b,c,d,e){let f=await this.checkMcpAppAccess(a);if(f)return f;let g=await this.callTool(a,b,c,d,void 0,void 0,e,"app");if("tool-authorization-list"!==g.errorType)return g;kb.warn(`callToolFromApp: visibility lookup failed for ${a}/${b}; reconnecting and retrying once before dispatch`);let h=await this.forceReconnect(a);return h.success?g=await this.callTool(a,b,c,d,void 0,void 0,e,"app"):{success:!1,error:h.error||g.error,statusCode:g.statusCode}}async isMcpAppAccessEnabled(a){let b=await this.isInternalServer(a),c=await this.getServerConfig(a);return c?.disabled!==!0&&(!!b||c?.enableMcpApps===!0)}async checkMcpAppAccess(a){if(await this.isMcpAppAccessEnabled(a))return null;let b=`MCP Apps are not enabled for server '${a}'. Enable them on the MCP page before opening or using this app.`;return kb.warn(`MCP App access denied: ${b}`),{success:!1,error:b,statusCode:403}}async readResourceFromApp(a,b){let c=await this.checkMcpAppAccess(a);return c||this.readResource(a,b)}async listWithReconnect(a,b,c){if(await this.isInternalServer(a))return c;if(await this.isServerDisabled(a)){let b=`Server '${a}' is disabled. Enable it on the MCP page to use it.`;return kb.warn(`listWithReconnect: ${b}`),{...c,error:b}}let d=this.getClient(a);d||kb.warn(`listWithReconnect: Client not found for ${a}`);let e=await b(d,a);if(!e.error)return e;kb.warn(`listWithReconnect: Listing for ${a} failed (${e.error}); forcing reconnect and retrying once`);let f=await this.forceReconnect(a);return f.success?(d=this.clients.get(a),(e=await b(d,a)).error?kb.warn(`listWithReconnect: Retry after reconnect still failed for ${a}:`,e.error):kb.info(`listWithReconnect: Recovered after reconnect for ${a}`),e):(kb.warn(`listWithReconnect: Reconnect for ${a} failed: ${f.error}`),{...c,error:f.error||e.error})}async listServerResources(a){if(kb.debug(`listServerResources: Entering method for server ${a}`),a===j9._&&await this.isInternalServer(a)){let{internalListResources:a}=await c.e(4436).then(c.bind(c,94436));return a()}if(a===ka.K3){let{filesystemListResources:a}=await c.e(9724).then(c.bind(c,19724));return a()}return this.listWithReconnect(a,jY,{resources:[]})}async listServerResourceTemplates(a){if(kb.debug(`listServerResourceTemplates: Entering method for server ${a}`),a===j9._&&await this.isInternalServer(a)){let{internalListResourceTemplates:a}=await c.e(4436).then(c.bind(c,94436));return a()}return this.listWithReconnect(a,jZ,{resourceTemplates:[]})}async readResource(a,b){if(kb.debug(`readResource: Entering method for server ${a}, uri ${b}`),a===j9._&&await this.isInternalServer(a)){let{internalReadResource:a}=await c.e(4436).then(c.bind(c,94436));return a(b)}if(a===ka.K3){let{filesystemReadResource:a,isFilesystemAppUri:d,isTouchedFileUri:e,readTouchedFileResource:f}=await c.e(9724).then(c.bind(c,19724));if(d(b))return a(b);if(e(b))return f(b)}let d=this.getClient(a);d||kb.warn(`readResource: Client not found for ${a}`);let e=await j$(d,a,b);return kb.info(`readResource: Read resource ${b} on ${a}`),e}async listServerPrompts(a){return kb.debug(`listServerPrompts: Entering method for server ${a}`),this.listWithReconnect(a,j0,{prompts:[]})}async getPrompt(a,b,c){kb.debug(`getPrompt: Entering method for server ${a}, prompt ${b}`);let d=this.getClient(a);d||kb.warn(`getPrompt: Client not found for ${a}`);let e=await j1(d,a,b,c);return kb.info(`getPrompt: Got prompt ${b} on ${a}`),e}async resolveOAuthSecretForSave(a,b){return a===jv.RJ?b??"":a?a.startsWith("${global:")||a.startsWith("encrypted:")||a.startsWith("encrypted_failed:")?a:await (0,j2.Rs)(a):""}async resolveHeadersForSave(a,b){let c={};for(let[d,e]of Object.entries(a||{})){if(!d)continue;let{value:a,isSecret:f}=jx(e,d);if(!f){""!==a&&(c[d]={value:a,metadata:{isSecret:!1}});continue}if(jy(a)){let a=b?.[d];void 0!==a&&(c[d]=a);continue}if(a){if("string"==typeof a&&a.startsWith("${global:")||a.startsWith("encrypted:")||a.startsWith("encrypted_failed:")){c[d]={value:a,metadata:{isSecret:!0}};continue}c[d]={value:await (0,j2.Rs)(a),metadata:{isSecret:!0}}}}return c}async ensureRemoteServerRootDir(a){try{if(!["streamable","sse","websocket"].includes(a.transport))return;let b=(a.rootPath||"").trim();if(!b)return;let c=n().resolve((0,p.getDataDir)(),b);if(n().dirname(c)===c)return;await l().mkdir(c,{recursive:!0}),kb.debug(`ensureRemoteServerRootDir: ensured ${c} for ${a.name}`)}catch(b){kb.warn(`ensureRemoteServerRootDir: could not create root dir for ${a.name}:`,b)}}async updateServerConfig(a,b){if(kb.debug(`updateServerConfig: Entering method for server ${a}`),await this.isInternalServer(a)){let c=Object.keys(b).filter(a=>"name"!==a),d=void 0===b.name||b.name===a,e=c.length>0&&c.every(a=>"disabled"===a)&&"boolean"==typeof b.disabled&&d,f=(a===ka.K3||a===ka.PA)&&c.length>0&&c.every(a=>"roots"===a)&&Array.isArray(b.roots)&&d;if(e){await (0,ka.LV)(a,b.disabled),kb.info(`updateServerConfig: Toggled built-in server ${a} disabled=${b.disabled}`);let c=await this.loadServerConfigs();return(Array.isArray(c)?c.find(b=>b.name===a):void 0)??{success:!0}}if(f){await (0,ka.Eu)(a,b.roots),kb.info(`updateServerConfig: Set built-in ${a} roots (${b.roots.length})`);let c=await this.loadServerConfigs();return(Array.isArray(c)?c.find(b=>b.name===a):void 0)??{success:!0}}return{success:!1,error:`"${a}" is a FLUJO built-in server: only enabling/disabling it is allowed, not editing.`}}let c=await this.loadServerConfigs();if(!Array.isArray(c))return kb.warn("updateServerConfig: Failed to load configs:",c.error),c;let d=c.find(b=>b.name===a),e=!!d&&"string"==typeof b.name&&b.name!==a;if(e&&c.some(a=>a.name===b.name))return kb.warn(`updateServerConfig: Refusing to rename ${a} -> ${b.name}: name already in use`),{success:!1,error:`A server named "${b.name}" already exists`};if(!d&&b.name)kb.info(`updateServerConfig: Creating new server config for ${b.name}`),d={name:b.name,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],_buildCommand:"",_installCommand:"",rootPath:""},c.push(d);else if(!d)return kb.warn(`updateServerConfig: Server ${a} not found`),{success:!1,error:`Server ${a} not found`};let f=b.oauthClientSecret;if(void 0!==f){let a=d.oauthClientSecret;b.oauthClientSecret=await this.resolveOAuthSecretForSave(f,a)}let g=b.headers;if(void 0!==g){let a=d.headers;b.headers=await this.resolveHeadersForSave(g,a)}let h={...d};h={...d,...b};let i=JSON.stringify(d.roots??[])!==JSON.stringify(h.roots??[])||(d.rootPath??"")!==(h.rootPath??""),j=c.findIndex(b=>b.name===a);-1!==j?c[j]=h:h.name&&c.push(h);let k=await (0,r.q)(new Map(c.map(a=>[a.name,a])));return k.success?(await this.ensureRemoteServerRootDir(h),e?(this.clients.has(a)?await this.disconnectServer(a):(this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a)),this.stderrLogs.delete(a),this.lastConnectionError.delete(a),await this.handleConnectionStateChange(h.name,h)):await this.handleConnectionStateChange(a,h),i&&this.notifyRootsChanged(h.name),kb.info(`updateServerConfig: Successfully updated config for ${a}${e?` (renamed to ${h.name})`:""}`),h):(kb.warn(`updateServerConfig: Failed to save config for ${a}:`,k.error),k)}async handleConnectionStateChange(a,b){kb.debug(`handleConnectionStateChange: Entering method for server ${a}`);let c=!!this.getClient(a),d=!b.disabled;if(c&&!d){kb.info(`handleConnectionStateChange: Disconnecting disabled server ${a}`);try{await this.disconnectServer(a)}catch(b){kb.warn(`handleConnectionStateChange: Failed to disconnect server ${a} during update:`,b)}}else!c&&d?(kb.info(`handleConnectionStateChange: Connecting previously disabled server ${a}`),await this.connectServer(b)):c&&d?(kb.info(`handleConnectionStateChange: Re-applying config to connected server ${a}`),await this.connectServer(b)):d||(kb.info(`handleConnectionStateChange: Clearing retry timers for disabled server ${a}`),this.clearRetryTimer(a),this.connectionRetryAttempts.delete(a))}async clearRetryTimersForDisabledServers(){kb.debug("clearRetryTimersForDisabledServers: Checking for disabled servers with active retry timers");try{let a=await this.loadServerConfigs();if(!Array.isArray(a))return void kb.warn("clearRetryTimersForDisabledServers: Failed to load server configs");for(let b of a.filter(a=>a.disabled))this.connectionRetryTimers.has(b.name)&&(kb.info(`clearRetryTimersForDisabledServers: Clearing retry timer for disabled server ${b.name}`),this.clearRetryTimer(b.name),this.connectionRetryAttempts.delete(b.name))}catch(a){kb.error("clearRetryTimersForDisabledServers: Error clearing retry timers:",a)}}async deleteServerConfig(a){if(kb.debug(`deleteServerConfig: Entering method for server ${a}`),await this.isInternalServer(a))return{success:!1,error:`"${j9._}" is FLUJO's built-in server and cannot be deleted.`};this.clients.has(a)&&(kb.info(`deleteServerConfig: Disconnecting server ${a} before deletion`),await this.disconnectServer(a));let b=await this.loadServerConfigs();if(!Array.isArray(b))return kb.warn("deleteServerConfig: Failed to load configs:",b.error),b;let c=b.findIndex(b=>b.name===a);if(-1===c)return kb.warn(`deleteServerConfig: Server ${a} not found in configs`),{success:!1,error:`Server ${a} not found`};b.splice(c,1),kb.debug(`deleteServerConfig: Saving updated configs after deleting ${a}`);let d=await (0,r.q)(new Map(b.map(a=>[a.name,a])));return d.success?kb.info(`deleteServerConfig: Successfully deleted server ${a}`):kb.warn(`deleteServerConfig: Error saving configs after deleting ${a}:`,d.error),d}async getServerStatus(a){if(await this.isInternalServer(a))return await this.isServerDisabled(a)?{status:"disconnected"}:{status:"connected"};let b=await this.getServerConfig(a);if(!b)return kb.warn(`getServerStatus: Server ${a} not found`),{status:"error",message:`Server ${a} configuration not found. The server may have been deleted or not properly configured.`};if(b.disabled)return kb.debug(`getServerStatus: Server ${a} is disabled`),{status:"disconnected"};let c=!!this.getClient(a);if("streamable"===b.transport&&!c&&b.oauthScopes&&b.oauthScopes.length>0){if(!b.oauthTokens||!b.oauthTokens.access_token)return kb.info(`getServerStatus: Server ${a} requires OAuth authentication but has no valid tokens`),{status:"requires_authentication",message:"OAuth authentication required. Click the authenticate button to complete the OAuth flow."};if(!b.oauthTokens.refresh_token&&b.oauthTokens.expires_in&&b.oauthTokens.issued_at){let c=b.oauthTokens.issued_at,d=b.oauthTokens.expires_in;if(Math.floor(Date.now()/1e3)>=c+d)return kb.info(`getServerStatus: OAuth tokens for ${a} have expired and no refresh token is available`),{status:"requires_authentication",message:"OAuth tokens have expired. Please re-authenticate."}}}let d=(this.stderrLogs.get(a)||[]).join("\n").trim(),e=this.lastConnectionError.get(a);if(c||this.getClient(a))return kb.info(`getServerStatus: Server ${a} is connected`),{status:"connected",stderrOutput:d||void 0};{let b=this.isStartingUp()&&!this.lastConnectionError.has(a);if(this.connectingServers.has(a)||b)return kb.info(`getServerStatus: Server ${a} is still connecting`),{status:"connecting",message:"Server is starting up. This may take a few moments."};if(d&&(d.includes("OAuth authentication required")||d.includes("invalid_token")))return kb.info(`getServerStatus: OAuth authentication error detected for ${a}`),{status:"requires_authentication",message:"OAuth authentication required. Please complete the OAuth flow.",stderrOutput:d};let c=d||e;return c?(kb.info(`getServerStatus: Using ${d?"stderr output":"persisted connection error"} as error message for ${a}`),{status:"error",message:c,stderrOutput:d||void 0}):(kb.info(`getServerStatus: No specific error details available for ${a}`),{status:"error",message:`Server ${a} is configured but not connected. The server process may have crashed or been terminated.`,stderrOutput:void 0})}}async startEnabledServers(){kb.info("Starting all enabled servers"),this.setStartingUp(!0);try{await this.clearRetryTimersForDisabledServers();let a=await this.loadServerConfigs();if(!Array.isArray(a))return void kb.warn("Failed to load server configs, cannot start servers");let b=a.filter(a=>!a.disabled);kb.info(`Found ${b.length} enabled servers to start`),kb.debug(`${b}`),b.forEach(a=>this.connectingServers.add(a.name));let c=Math.max(1,Number(process.env.FLUJO_MCP_BOOT_CONCURRENCY)||2);kb.info(`Connecting ${b.length} enabled servers with boot concurrency ${c}`),await (0,q.P)(b,c,async a=>{kb.info(`Starting server: ${a.name}`),await this.connectServer(a).catch(b=>{kb.error(`Failed to start server ${a.name}:`,b)})})}finally{this.setStartingUp(!1)}}async getAvailableClients(){try{let a=await this.loadServerConfigs();if(!a||"error"in a)return kb.warn("getAvailableClients: Failed to load server configs:",a?.error),[];return(await Promise.all(a.map(async a=>{try{let b=await this.getServerStatus(a.name);return{name:a.name,status:"string"==typeof b?b:b.status,connected:"string"==typeof b?"connected"===b:"connected"===b.status}}catch(b){return kb.warn(`getAvailableClients: Error getting status for ${a.name}:`,b),{name:a.name,status:"error",connected:!1}}}))).map(a=>`${a.name} (${a.status})`)}catch(a){return kb.error("getAvailableClients: Error getting available clients:",a),[]}}constructor(){this.stderrLogs=new Map,this.lastConnectionError=new Map,this.inFlightConnects=new Map,this.connectionRetryTimers=new Map,this.connectionRetryAttempts=new Map,this.resourceListVersion=new Map,this.pendingResourceUpdates=new Map}}let ke=new kd},88593:function(a,b,c){"use strict";var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.createCrypto=function(){return h()?new f.BrowserCrypto:new g.NodeCrypto},b.hasBrowserCrypto=h;let f=c(11486),g=c(64098);function h(){return"undefined"!=typeof window&&void 0!==window.crypto&&void 0!==window.crypto.subtle}e(c(89629),b)},88634:(a,b,c)=>{"use strict";var d=c(91378),e=c(28354),f=c(33873),g=c(81630),h=c(55591),i=c(79551).parse,j=c(29021),k=c(27910).Stream,l=c(55511),m=c(88659),n=c(19814),o=c(79522),p=c(75786),q=c(2007);function r(a){return String(a).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22")}function s(a){if(!(this instanceof s))return new s(a);for(var b in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],d.call(this),a=a||{})this[b]=a[b]}e.inherits(s,d),s.LINE_BREAK="\r\n",s.DEFAULT_CONTENT_TYPE="application/octet-stream",s.prototype.append=function(a,b,c){"string"==typeof(c=c||{})&&(c={filename:c});var e=d.prototype.append.bind(this);if(("number"==typeof b||null==b)&&(b=String(b)),Array.isArray(b))return void this._error(Error("Arrays are not supported."));var f=this._multiPartHeader(a,b,c),g=this._multiPartFooter();e(f),e(b),e(g),this._trackLength(f,b,c)},s.prototype._trackLength=function(a,b,c){var d=0;null!=c.knownLength?d+=Number(c.knownLength):Buffer.isBuffer(b)?d=b.length:"string"==typeof b&&(d=Buffer.byteLength(b)),this._valueLength+=d,this._overheadLength+=Buffer.byteLength(a)+s.LINE_BREAK.length,b&&(b.path||b.readable&&p(b,"httpVersion")||b instanceof k)&&(c.knownLength||this._valuesToMeasure.push(b))},s.prototype._lengthRetriever=function(a,b){p(a,"fd")?void 0!=a.end&&a.end!=1/0&&void 0!=a.start?b(null,a.end+1-(a.start?a.start:0)):j.stat(a.path,function(c,d){if(c)return void b(c);b(null,d.size-(a.start?a.start:0))}):p(a,"httpVersion")?b(null,Number(a.headers["content-length"])):p(a,"httpModule")?(a.on("response",function(c){a.pause(),b(null,Number(c.headers["content-length"]))}),a.resume()):b("Unknown stream")},s.prototype._multiPartHeader=function(a,b,c){if("string"==typeof c.header)return c.header;var d,e=this._getContentDisposition(b,c),f=this._getContentType(b,c),g="",h={"Content-Disposition":["form-data",'name="'+r(a)+'"'].concat(e||[]),"Content-Type":[].concat(f||[])};for(var i in"object"==typeof c.header&&q(h,c.header),h)if(p(h,i)){if(null==(d=h[i]))continue;Array.isArray(d)||(d=[d]),d.length&&(g+=i+": "+d.join("; ")+s.LINE_BREAK)}return"--"+this.getBoundary()+s.LINE_BREAK+g+s.LINE_BREAK},s.prototype._getContentDisposition=function(a,b){var c;if("string"==typeof b.filepath?c=f.normalize(b.filepath).replace(/\\/g,"/"):b.filename||a&&(a.name||a.path)?c=f.basename(b.filename||a&&(a.name||a.path)):a&&a.readable&&p(a,"httpVersion")&&(c=f.basename(a.client._httpMessage.path||"")),c)return'filename="'+r(c)+'"'},s.prototype._getContentType=function(a,b){var c=b.contentType;return!c&&a&&a.name&&(c=m.lookup(a.name)),!c&&a&&a.path&&(c=m.lookup(a.path)),!c&&a&&a.readable&&p(a,"httpVersion")&&(c=a.headers["content-type"]),!c&&(b.filepath||b.filename)&&(c=m.lookup(b.filepath||b.filename)),!c&&a&&"object"==typeof a&&(c=s.DEFAULT_CONTENT_TYPE),c},s.prototype._multiPartFooter=function(){return(function(a){var b=s.LINE_BREAK;0===this._streams.length&&(b+=this._lastBoundary()),a(b)}).bind(this)},s.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+s.LINE_BREAK},s.prototype.getHeaders=function(a){var b,c={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(b in a)p(a,b)&&(c[b.toLowerCase()]=a[b]);return c},s.prototype.setBoundary=function(a){if("string"!=typeof a)throw TypeError("FormData boundary must be a string");this._boundary=a},s.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},s.prototype.getBuffer=function(){for(var a=new Buffer.alloc(0),b=this.getBoundary(),c=0,d=this._streams.length;c<d;c++)"function"!=typeof this._streams[c]&&(a=Buffer.isBuffer(this._streams[c])?Buffer.concat([a,this._streams[c]]):Buffer.concat([a,Buffer.from(this._streams[c])]),("string"!=typeof this._streams[c]||this._streams[c].substring(2,b.length+2)!==b)&&(a=Buffer.concat([a,Buffer.from(s.LINE_BREAK)])));return Buffer.concat([a,Buffer.from(this._lastBoundary())])},s.prototype._generateBoundary=function(){this._boundary="--------------------------"+l.randomBytes(12).toString("hex")},s.prototype.getLengthSync=function(){var a=this._overheadLength+this._valueLength;return this._streams.length&&(a+=this._lastBoundary().length),this.hasKnownLength()||this._error(Error("Cannot calculate proper length in synchronous way.")),a},s.prototype.hasKnownLength=function(){var a=!0;return this._valuesToMeasure.length&&(a=!1),a},s.prototype.getLength=function(a){var b=this._overheadLength+this._valueLength;if(this._streams.length&&(b+=this._lastBoundary().length),!this._valuesToMeasure.length)return void process.nextTick(a.bind(this,null,b));n.parallel(this._valuesToMeasure,this._lengthRetriever,function(c,d){if(c)return void a(c);d.forEach(function(a){b+=a}),a(null,b)})},s.prototype.submit=function(a,b){var c,d,e={method:"post"};return"string"==typeof a?d=q({port:(a=i(a)).port,path:a.pathname,host:a.hostname,protocol:a.protocol},e):(d=q(a,e)).port||(d.port="https:"===d.protocol?443:80),d.headers=this.getHeaders(a.headers),c="https:"===d.protocol?h.request(d):g.request(d),this.getLength((function(a,d){if(a&&"Unknown stream"!==a)return void this._error(a);if(d&&c.setHeader("Content-Length",d),this.pipe(c),b){var e,f=function(a,d){return c.removeListener("error",f),c.removeListener("response",e),b.call(this,a,d)};e=f.bind(this,null),c.on("error",f),c.on("response",e)}}).bind(this)),c},s.prototype._error=function(a){this.error||(this.error=a,this.pause(),this.emit("error",a))},s.prototype.toString=function(){return"[object FormData]"},o(s.prototype,"FormData"),a.exports=s},88659:(a,b,c)=>{"use strict";var d=c(42696),e=c(33873).extname,f=/^\s*([^;\s]*)(?:;|\s|$)/,g=/^text\//i;function h(a){if(!a||"string"!=typeof a)return!1;var b=f.exec(a),c=b&&d[b[1].toLowerCase()];return c&&c.charset?c.charset:!!(b&&g.test(b[1]))&&"UTF-8"}b.charset=h,b.charsets={lookup:h},b.contentType=function(a){if(!a||"string"!=typeof a)return!1;var c=-1===a.indexOf("/")?b.lookup(a):a;if(!c)return!1;if(-1===c.indexOf("charset")){var d=b.charset(c);d&&(c+="; charset="+d.toLowerCase())}return c},b.extension=function(a){if(!a||"string"!=typeof a)return!1;var c=f.exec(a),d=c&&b.extensions[c[1].toLowerCase()];return!!d&&!!d.length&&d[0]},b.extensions=Object.create(null),b.lookup=function(a){if(!a||"string"!=typeof a)return!1;var c=e("x."+a).toLowerCase().substr(1);return!!c&&(b.types[c]||!1)},b.types=Object.create(null),function(a,b){var c=["nginx","apache",void 0,"iana"];Object.keys(d).forEach(function(e){var f=d[e],g=f.extensions;if(g&&g.length){a[e]=g;for(var h=0;h<g.length;h++){var i=g[h];if(b[i]){var j=c.indexOf(d[b[i]].source),k=c.indexOf(f.source);if("application/octet-stream"!==b[i]&&(j>k||j===k&&"application/"===b[i].substr(0,12)))continue}b[i]=e}}})}(b.extensions,b.types)},88803:(a,b,c)=>{"use strict";function d(a,b,c){if(!a)throw Error(`${c} does not support task creation (required for ${b})`);if("tools/call"===b&&!a.tools?.call)throw Error(`${c} does not support task creation for tools/call (required for ${b})`)}function e(a,b,c){if(!a)throw Error(`${c} does not support task creation (required for ${b})`);switch(b){case"sampling/createMessage":if(!a.sampling?.createMessage)throw Error(`${c} does not support task creation for sampling/createMessage (required for ${b})`);break;case"elicitation/create":if(!a.elicitation?.create)throw Error(`${c} does not support task creation for elicitation/create (required for ${b})`)}}c.d(b,{s:()=>e,z:()=>d})},89095:(a,b,c)=>{var d=c(15144),e=c(90637),f=c(56947);a.exports=function(a){return f(a)?d(a):e(a)}},89108:a=>{a.exports=function(a,b){var c=-1,d=a.length;for(b||(b=Array(d));++c<d;)b[c]=a[c];return b}},89629:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.fromArrayBufferToHex=function(a){return Array.from(new Uint8Array(a)).map(a=>a.toString(16).padStart(2,"0")).join("")}},89850:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(55511);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();let i=(a=a||{}).random??a.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(i.length<16)throw Error("Random bytes length must be >= 16");if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=i[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(i)}},90126:(a,b,c)=>{var d=c(23150);a.exports=function(a){var b=!1;return d(function(){b=!0}),function(c,e){b?a(c,e):d(function(){a(c,e)})}}},90637:(a,b,c)=>{var d=c(8100),e=c(24363),f=Object.prototype.hasOwnProperty;a.exports=function(a){if(!d(a))return e(a);var b=[];for(var c in Object(a))f.call(a,c)&&"constructor"!=c&&b.push(c);return b}},91233:(a,b,c)=>{"use strict";var d,e=c(39247),f=c(33324);try{d=[].__proto__===Array.prototype}catch(a){if(!a||"object"!=typeof a||!("code"in a)||"ERR_PROTO_ACCESS"!==a.code)throw a}var g=!!d&&f&&f(Object.prototype,"__proto__"),h=Object,i=h.getPrototypeOf;a.exports=g&&"function"==typeof g.get?e([g.get]):"function"==typeof i&&function(a){return i(null==a?a:h(a))}},91362:(a,b,c)=>{var d=c(61048);a.exports=function(a){return d(this,a).has(a)}},91378:(a,b,c)=>{var d=c(28354),e=c(27910).Stream,f=c(14702);function g(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}a.exports=g,d.inherits(g,e),g.create=function(a){var b=new this;for(var c in a=a||{})b[c]=a[c];return b},g.isStreamLike=function(a){return"function"!=typeof a&&"string"!=typeof a&&"boolean"!=typeof a&&"number"!=typeof a&&!Buffer.isBuffer(a)},g.prototype.append=function(a){if(g.isStreamLike(a)){if(!(a instanceof f)){var b=f.create(a,{maxDataSize:1/0,pauseStream:this.pauseStreams});a.on("data",this._checkDataSize.bind(this)),a=b}this._handleErrors(a),this.pauseStreams&&a.pause()}return this._streams.push(a),this},g.prototype.pipe=function(a,b){return e.prototype.pipe.call(this,a,b),this.resume(),a},g.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}},g.prototype._realGetNext=function(){var a=this._streams.shift();return void 0===a?void this.end():"function"!=typeof a?void this._pipeNext(a):void a((function(a){g.isStreamLike(a)&&(a.on("data",this._checkDataSize.bind(this)),this._handleErrors(a)),this._pipeNext(a)}).bind(this))},g.prototype._pipeNext=function(a){if(this._currentStream=a,g.isStreamLike(a)){a.on("end",this._getNext.bind(this)),a.pipe(this,{end:!1});return}this.write(a),this._getNext()},g.prototype._handleErrors=function(a){var b=this;a.on("error",function(a){b._emitError(a)})},g.prototype.write=function(a){this.emit("data",a)},g.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},g.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},g.prototype.end=function(){this._reset(),this.emit("end")},g.prototype.destroy=function(){this._reset(),this.emit("close")},g.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},g.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var a="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(Error(a))}},g.prototype._updateDataSize=function(){this.dataSize=0;var a=this;this._streams.forEach(function(b){b.dataSize&&(a.dataSize+=b.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},g.prototype._emitError=function(a){this._reset(),this.emit("error",a)}},91480:a=>{"use strict";let b=/([()\][%!^"`<>&|;, *?])/g;a.exports.command=function(a){return a.replace(b,"^$1")},a.exports.argument=function(a,c){return a=(a=(a=`${a}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),a=(a=`"${a}"`).replace(b,"^$1"),c&&(a=a.replace(b,"^$1")),a}},91527:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});let d=a=>"function"==typeof a},91704:(a,b,c)=>{var d=c(22271);a.exports=function(){try{var a=d(Object,"defineProperty");return a({},"",{}),a}catch(a){}}()},91781:(a,b,c)=>{var d=c(92878).Buffer,e=c(27910);function f(a){if(this.buffer=null,this.writable=!0,this.readable=!0,!a)return this.buffer=d.alloc(0),this;if("function"==typeof a.pipe)return this.buffer=d.alloc(0),a.pipe(this),this;if(a.length||"object"==typeof a)return this.buffer=a,this.writable=!1,process.nextTick((function(){this.emit("end",a),this.readable=!1,this.emit("close")}).bind(this)),this;throw TypeError("Unexpected data type ("+typeof a+")")}c(28354).inherits(f,e),f.prototype.write=function(a){this.buffer=d.concat([this.buffer,d.from(a)]),this.emit("data",a)},f.prototype.end=function(a){a&&this.write(a),this.emit("end",a),this.emit("close"),this.writable=!1,this.readable=!1},a.exports=f},92018:(a,b,c)=>{"use strict";c.d(b,{_:()=>d,z:()=>e});let d="flujo";function e(){return{name:d,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:"",_buildCommand:"",_installCommand:"",builtIn:!0,exposeAsMcpServer:!0}}},92111:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});let d=c(31638),e=c(97025),f=c(83593),g=c(68300);b.default={keyword:"properties",type:"object",schemaType:"object",code(a){let{gen:b,schema:c,parentSchema:h,data:i,it:j}=a;"all"===j.opts.removeAdditional&&void 0===h.additionalProperties&&g.default.code(new d.KeywordCxt(j,g.default,"additionalProperties"));let k=(0,e.allSchemaProperties)(c);for(let a of k)j.definedProperties.add(a);j.opts.unevaluated&&k.length&&!0!==j.props&&(j.props=f.mergeEvaluated.props(b,(0,f.toHash)(k),j.props));let l=k.filter(a=>!(0,f.alwaysValidSchema)(j,c[a]));if(0===l.length)return;let m=b.name("valid");for(let d of l){var n;(n=d,j.opts.useDefaults&&!j.compositeRule&&void 0!==c[n].default)?o(d):(b.if((0,e.propertyInData)(b,i,d,j.opts.ownProperties)),o(d),j.allErrors||b.else().var(m,!0),b.endIf()),a.it.definedProperties.add(d),a.ok(m)}function o(b){a.subschema({keyword:"properties",schemaProp:b,dataProp:b},m)}}}},92349:(a,b,c)=>{var d=c(42995);a.exports=function(){this.__data__=d?d(null):{},this.size=0}},92642:a=>{var b=Object.prototype.hasOwnProperty;a.exports=function(a){var c=a.length,d=new a.constructor(c);return c&&"string"==typeof a[0]&&b.call(a,"index")&&(d.index=a.index,d.input=a.input),d}},92878:(a,b,c)=>{var d=c(79428),e=d.Buffer;function f(a,b){for(var c in a)b[c]=a[c]}function g(a,b,c){return e(a,b,c)}e.from&&e.alloc&&e.allocUnsafe&&e.allocUnsafeSlow?a.exports=d:(f(d,b),b.Buffer=g),g.prototype=Object.create(e.prototype),f(e,g),g.from=function(a,b,c){if("number"==typeof a)throw TypeError("Argument must not be a number");return e(a,b,c)},g.alloc=function(a,b,c){if("number"!=typeof a)throw TypeError("Argument must be a number");var d=e(a);return void 0!==b?"string"==typeof c?d.fill(b,c):d.fill(b):d.fill(0),d},g.allocUnsafe=function(a){if("number"!=typeof a)throw TypeError("Argument must be a number");return e(a)},g.allocUnsafeSlow=function(a){if("number"!=typeof a)throw TypeError("Argument must be a number");return d.SlowBuffer(a)}},93111:(a,b,c)=>{"use strict";let d,{Duplex:e}=c(27910),{randomFillSync:f}=c(55511),{types:{isUint8Array:g}}=c(28354),h=c(74240),{EMPTY_BUFFER:i,kWebSocket:j,NOOP:k}=c(32995),{isBlob:l,isValidStatusCode:m}=c(26649),{mask:n,toBuffer:o}=c(27047),p=Symbol("kByteLength"),q=Buffer.alloc(4),r=8192;class s{constructor(a,b,c){this._extensions=b||{},c&&(this._generateMask=c,this._maskBuffer=Buffer.alloc(4)),this._socket=a,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=k,this[j]=void 0}static frame(a,b){let c,e,g=!1,h=2,i=!1;b.mask&&(c=b.maskBuffer||q,b.generateMask?b.generateMask(c):(8192===r&&(void 0===d&&(d=Buffer.alloc(8192)),f(d,0,8192),r=0),c[0]=d[r++],c[1]=d[r++],c[2]=d[r++],c[3]=d[r++]),i=(c[0]|c[1]|c[2]|c[3])==0,h=6),"string"==typeof a?e=(!b.mask||i)&&void 0!==b[p]?b[p]:(a=Buffer.from(a)).length:(e=a.length,g=b.mask&&b.readOnly&&!i);let j=e;e>=65536?(h+=8,j=127):e>125&&(h+=2,j=126);let k=Buffer.allocUnsafe(g?e+h:h);return(k[0]=b.fin?128|b.opcode:b.opcode,b.rsv1&&(k[0]|=64),k[1]=j,126===j?k.writeUInt16BE(e,2):127===j&&(k[2]=k[3]=0,k.writeUIntBE(e,4,6)),b.mask)?(k[1]|=128,k[h-4]=c[0],k[h-3]=c[1],k[h-2]=c[2],k[h-1]=c[3],i)?[k,a]:g?(n(a,c,k,h,e),[k]):(n(a,c,a,0,e),[k,a]):[k,a]}close(a,b,c,d){let e;if(void 0===a)e=i;else if("number"==typeof a&&m(a))if(void 0!==b&&b.length){let c=Buffer.byteLength(b);if(c>123)throw RangeError("The message must not be greater than 123 bytes");if((e=Buffer.allocUnsafe(2+c)).writeUInt16BE(a,0),"string"==typeof b)e.write(b,2);else if(g(b))e.set(b,2);else throw TypeError("Second argument must be a string or a Uint8Array")}else(e=Buffer.allocUnsafe(2)).writeUInt16BE(a,0);else throw TypeError("First argument must be a valid error code number");let f={[p]:e.length,fin:!0,generateMask:this._generateMask,mask:c,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,e,!1,f,d]):this.sendFrame(s.frame(e,f),d)}ping(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[p]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:9,readOnly:e,rsv1:!1};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(s.frame(a,f),c)}pong(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[p]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:10,readOnly:e,rsv1:!1};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(s.frame(a,f),c)}send(a,b,c){let d,e,f=this._extensions[h.extensionName],g=b.binary?2:1,i=b.compress;"string"==typeof a?(d=Buffer.byteLength(a),e=!1):l(a)?(d=a.size,e=!1):(d=(a=o(a)).length,e=o.readOnly),this._firstFragment?(this._firstFragment=!1,i&&f&&f.params[f._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=d>=f._threshold),this._compress=i):(i=!1,g=0),b.fin&&(this._firstFragment=!0);let j={[p]:d,fin:b.fin,generateMask:this._generateMask,mask:b.mask,maskBuffer:this._maskBuffer,opcode:g,readOnly:e,rsv1:i};l(a)?0!==this._state?this.enqueue([this.getBlobData,a,this._compress,j,c]):this.getBlobData(a,this._compress,j,c):0!==this._state?this.enqueue([this.dispatch,a,this._compress,j,c]):this.dispatch(a,this._compress,j,c)}getBlobData(a,b,c,d){this._bufferedBytes+=c[p],this._state=2,a.arrayBuffer().then(a=>{if(this._socket.destroyed){let a=Error("The socket was closed while the blob was being read");process.nextTick(t,this,a,d);return}this._bufferedBytes-=c[p];let e=o(a);b?this.dispatch(e,b,c,d):(this._state=0,this.sendFrame(s.frame(e,c),d),this.dequeue())}).catch(a=>{process.nextTick(u,this,a,d)})}dispatch(a,b,c,d){if(!b)return void this.sendFrame(s.frame(a,c),d);let e=this._extensions[h.extensionName];this._bufferedBytes+=c[p],this._state=1,e.compress(a,c.fin,(a,b)=>{if(this._socket.destroyed)return void t(this,Error("The socket was closed while data was being compressed"),d);this._bufferedBytes-=c[p],this._state=0,c.readOnly=!1,this.sendFrame(s.frame(b,c),d),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let a=this._queue.shift();this._bufferedBytes-=a[3][p],Reflect.apply(a[0],this,a.slice(1))}}enqueue(a){this._bufferedBytes+=a[3][p],this._queue.push(a)}sendFrame(a,b){2===a.length?(this._socket.cork(),this._socket.write(a[0]),this._socket.write(a[1],b),this._socket.uncork()):this._socket.write(a[0],b)}}function t(a,b,c){"function"==typeof c&&c(b);for(let c=0;c<a._queue.length;c++){let d=a._queue[c],e=d[d.length-1];"function"==typeof e&&e(b)}}function u(a,b,c){t(a,b,c),a.onerror(b)}a.exports=s},93113:(a,b,c)=>{var d=c(80782),e=c(55e3),f=c(13356);a.exports=function(){this.size=0,this.__data__={hash:new d,map:new(f||e),string:new d}}},93209:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.ExternalAccountClient=void 0;let d=c(35294),e=c(62888),f=c(73925),g=c(27305);class h{constructor(){throw Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(a){return a&&a.type===d.EXTERNAL_ACCOUNT_TYPE?a.credential_source?.environment_id?new f.AwsClient(a):a.credential_source?.executable?new g.PluggableAuthClient(a):new e.IdentityPoolClient(a):null}}b.ExternalAccountClient=h},93704:(a,b,c)=>{"use strict";c.d(b,{Y:()=>ce});let d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol:a=>`Symbol(${a})`;function e(){}function f(a){return"object"==typeof a&&null!==a||"function"==typeof a}function g(a,b){try{Object.defineProperty(a,"name",{value:b,configurable:!0})}catch(a){}}let h=Promise,i=Promise.prototype.then,j=Promise.resolve.bind(h),k=Promise.reject.bind(h);function l(a){return new h(a)}function m(a,b,c){return i.call(a,b,c)}function n(a,b,c){m(m(a,b,c),void 0,e)}function o(a){m(a,void 0,e)}let p=a=>{if("function"==typeof queueMicrotask)p=queueMicrotask;else{let a=j(void 0);p=b=>m(a,b)}return p(a)};function q(a,b,c){if("function"!=typeof a)throw TypeError("Argument is not a function");return Function.prototype.apply.call(a,b,c)}function r(a,b,c){try{var d;return d=q(a,b,c),j(d)}catch(a){return k(a)}}class s{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(a){let b=this._back,c=b;16383===b._elements.length&&(c={_elements:[],_next:void 0}),b._elements.push(a),c!==b&&(this._back=c,b._next=c),++this._size}shift(){let a=this._front,b=a,c=this._cursor,d=c+1,e=a._elements,f=e[c];return 16384===d&&(b=a._next,d=0),--this._size,this._cursor=d,a!==b&&(this._front=b),e[c]=void 0,f}forEach(a){let b=this._cursor,c=this._front,d=c._elements;for(;!(b===d.length&&void 0===c._next||b===d.length&&(d=(c=c._next)._elements,b=0,0===d.length));)a(d[b]),++b}peek(){let a=this._front,b=this._cursor;return a._elements[b]}}let t=d("[[AbortSteps]]"),u=d("[[ErrorSteps]]"),v=d("[[CancelSteps]]"),w=d("[[PullSteps]]"),x=d("[[ReleaseSteps]]");function y(a,b){var c,d;a._ownerReadableStream=b,b._reader=a,"readable"===b._state?C(a):"closed"===b._state?(C(a),E(a)):(c=a,d=b._storedError,C(c),D(c,d))}function z(a,b){return bA(a._ownerReadableStream,b)}function A(a){var b,c;let d=a._ownerReadableStream;"readable"===d._state?D(a,TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):(b=a,c=TypeError("Reader was released and can no longer be used to monitor the stream's closedness"),C(b),D(b,c)),d._readableStreamController[x](),d._reader=void 0,a._ownerReadableStream=void 0}function B(a){return TypeError("Cannot "+a+" a stream using a released reader")}function C(a){a._closedPromise=l((b,c)=>{a._closedPromise_resolve=b,a._closedPromise_reject=c})}function D(a,b){void 0!==a._closedPromise_reject&&(o(a._closedPromise),a._closedPromise_reject(b),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}function E(a){void 0!==a._closedPromise_resolve&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}let F=Number.isFinite||function(a){return"number"==typeof a&&isFinite(a)},G=Math.trunc||function(a){return a<0?Math.ceil(a):Math.floor(a)};function H(a,b){if(void 0!==a&&"object"!=typeof a&&"function"!=typeof a)throw TypeError(`${b} is not an object.`)}function I(a,b){if("function"!=typeof a)throw TypeError(`${b} is not a function.`)}function J(a,b){if(("object"!=typeof a||null===a)&&"function"!=typeof a)throw TypeError(`${b} is not an object.`)}function K(a,b,c){if(void 0===a)throw TypeError(`Parameter ${b} is required in '${c}'.`)}function L(a,b,c){if(void 0===a)throw TypeError(`${b} is required in '${c}'.`)}function M(a){return Number(a)}function N(a,b){var c,d;let e=Number.MAX_SAFE_INTEGER,f=Number(a);if(!F(f=0===(c=f)?0:c))throw TypeError(`${b} is not a finite number`);if((f=0===(d=G(f))?0:d)<0||f>e)throw TypeError(`${b} is outside the accepted range of 0 to ${e}, inclusive`);return F(f)&&0!==f?f:0}function O(a){if(!f(a)||"function"!=typeof a.getReader)return!1;try{return"boolean"==typeof a.locked}catch(a){return!1}}function P(a){if(!f(a)||"function"!=typeof a.getWriter)return!1;try{return"boolean"==typeof a.locked}catch(a){return!1}}function Q(a,b){if(!by(a))throw TypeError(`${b} is not a ReadableStream.`)}function R(a,b){a._reader._readRequests.push(b)}function S(a,b,c){let d=a._reader._readRequests.shift();c?d._closeSteps():d._chunkSteps(b)}function T(a){return a._reader._readRequests.length}function U(a){let b=a._reader;return void 0!==b&&!!W(b)}class V{constructor(a){if(K(a,1,"ReadableStreamDefaultReader"),Q(a,"First parameter"),bz(a))throw TypeError("This stream has already been locked for exclusive reading by another reader");y(this,a),this._readRequests=new s}get closed(){return W(this)?this._closedPromise:k(Y("closed"))}cancel(a){return W(this)?void 0===this._ownerReadableStream?k(B("cancel")):z(this,a):k(Y("cancel"))}read(){let a,b;if(!W(this))return k(Y("read"));if(void 0===this._ownerReadableStream)return k(B("read from"));let c=l((c,d)=>{a=c,b=d});return function(a,b){let c=a._ownerReadableStream;c._disturbed=!0,"closed"===c._state?b._closeSteps():"errored"===c._state?b._errorSteps(c._storedError):c._readableStreamController[w](b)}(this,{_chunkSteps:b=>a({value:b,done:!1}),_closeSteps:()=>a({value:void 0,done:!0}),_errorSteps:a=>b(a)}),c}releaseLock(){if(!W(this))throw Y("releaseLock");void 0!==this._ownerReadableStream&&(A(this),X(this,TypeError("Reader was released")))}}function W(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readRequests")&&a instanceof V}function X(a,b){let c=a._readRequests;a._readRequests=new s,c.forEach(a=>{a._errorSteps(b)})}function Y(a){return TypeError(`ReadableStreamDefaultReader.prototype.${a} can only be used on a ReadableStreamDefaultReader`)}Object.defineProperties(V.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),g(V.prototype.cancel,"cancel"),g(V.prototype.read,"read"),g(V.prototype.releaseLock,"releaseLock"),"symbol"==typeof d.toStringTag&&Object.defineProperty(V.prototype,d.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});class Z{constructor(a,b){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=a,this._preventCancel=b}next(){let a=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?m(this._ongoingPromise,a,a):a(),this._ongoingPromise}return(a){let b=()=>this._returnSteps(a);return this._ongoingPromise?m(this._ongoingPromise,b,b):b()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let a=this._reader;return void 0===a?k(B("iterate")):m(a.read(),a=>{var b;return this._ongoingPromise=void 0,a.done&&(this._isFinished=!0,null==(b=this._reader)||b.releaseLock(),this._reader=void 0),a},a=>{var b;throw this._ongoingPromise=void 0,this._isFinished=!0,null==(b=this._reader)||b.releaseLock(),this._reader=void 0,a})}_returnSteps(a){if(this._isFinished)return Promise.resolve({value:a,done:!0});this._isFinished=!0;let b=this._reader;if(void 0===b)return k(B("finish iterating"));if(this._reader=void 0,!this._preventCancel){let c=b.cancel(a);return b.releaseLock(),m(c,()=>({value:a,done:!0}),void 0)}return b.releaseLock(),j({value:a,done:!0})}}let $={next(){return _(this)?this._asyncIteratorImpl.next():k(aa("next"))},return(a){return _(this)?this._asyncIteratorImpl.return(a):k(aa("return"))}};function _(a){if(!f(a)||!Object.prototype.hasOwnProperty.call(a,"_asyncIteratorImpl"))return!1;try{return a._asyncIteratorImpl instanceof Z}catch(a){return!1}}function aa(a){return TypeError(`ReadableStreamAsyncIterator.${a} can only be used on a ReadableSteamAsyncIterator`)}"symbol"==typeof d.asyncIterator&&Object.defineProperty($,d.asyncIterator,{value(){return this},writable:!0,configurable:!0});let ab=Number.isNaN||function(a){return a!=a};function ac(a,b,c,d,e){new Uint8Array(a).set(new Uint8Array(c,d,e),b)}function ad(a){return new Uint8Array(function(a,b,c){if(a.slice)return a.slice(b,c);let d=c-b,e=new ArrayBuffer(d);return ac(e,0,a,b,d),e}(a.buffer,a.byteOffset,a.byteOffset+a.byteLength))}function ae(a){let b=a._queue.shift();return a._queueTotalSize-=b.size,a._queueTotalSize<0&&(a._queueTotalSize=0),b.value}function af(a,b,c){if("number"!=typeof c||ab(c)||c<0||c===1/0)throw RangeError("Size must be a finite, non-NaN, non-negative number.");a._queue.push({value:b,size:c}),a._queueTotalSize+=c}function ag(a){a._queue=new s,a._queueTotalSize=0}class ah{constructor(){throw TypeError("Illegal constructor")}get view(){if(!ak(this))throw aD("view");return this._view}respond(a){if(!ak(this))throw aD("respond");if(K(a,1,"respond"),a=N(a,"First parameter"),void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");this._view.buffer,function(a,b){let c=a._pendingPullIntos.peek();if("closed"===a._controlledReadableByteStream._state){if(0!==b)throw TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(0===b)throw TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(c.bytesFilled+b>c.byteLength)throw RangeError("bytesWritten out of range")}c.buffer=c.buffer,ax(a,b)}(this._associatedReadableByteStreamController,a)}respondWithNewView(a){if(!ak(this))throw aD("respondWithNewView");if(K(a,1,"respondWithNewView"),!ArrayBuffer.isView(a))throw TypeError("You can only respond with array buffer views");if(void 0===this._associatedReadableByteStreamController)throw TypeError("This BYOB request has been invalidated");a.buffer,function(a,b){let c=a._pendingPullIntos.peek();if("closed"===a._controlledReadableByteStream._state){if(0!==b.byteLength)throw TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(0===b.byteLength)throw TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(c.byteOffset+c.bytesFilled!==b.byteOffset)throw RangeError("The region specified by view does not match byobRequest");if(c.bufferByteLength!==b.buffer.byteLength)throw RangeError("The buffer of view has different capacity than byobRequest");if(c.bytesFilled+b.byteLength>c.byteLength)throw RangeError("The region specified by view is larger than byobRequest");let d=b.byteLength;c.buffer=b.buffer,ax(a,d)}(this._associatedReadableByteStreamController,a)}}Object.defineProperties(ah.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),g(ah.prototype.respond,"respond"),g(ah.prototype.respondWithNewView,"respondWithNewView"),"symbol"==typeof d.toStringTag&&Object.defineProperty(ah.prototype,d.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class ai{constructor(){throw TypeError("Illegal constructor")}get byobRequest(){if(!aj(this))throw aE("byobRequest");return function(a){if(null===a._byobRequest&&a._pendingPullIntos.length>0){let b=a._pendingPullIntos.peek(),c=new Uint8Array(b.buffer,b.byteOffset+b.bytesFilled,b.byteLength-b.bytesFilled),d=Object.create(ah.prototype);d._associatedReadableByteStreamController=a,d._view=c,a._byobRequest=d}return a._byobRequest}(this)}get desiredSize(){if(!aj(this))throw aE("desiredSize");return aC(this)}close(){if(!aj(this))throw aE("close");if(this._closeRequested)throw TypeError("The stream has already been closed; do not close it again!");let a=this._controlledReadableByteStream._state;if("readable"!==a)throw TypeError(`The stream (in ${a} state) is not in the readable state and cannot be closed`);!function(a){let b=a._controlledReadableByteStream;if(!a._closeRequested&&"readable"===b._state){if(a._queueTotalSize>0)return a._closeRequested=!0;if(a._pendingPullIntos.length>0&&a._pendingPullIntos.peek().bytesFilled>0){let b=TypeError("Insufficient bytes to fill elements in the given buffer");throw aA(a,b),b}az(a),bB(b)}}(this)}enqueue(a){if(!aj(this))throw aE("enqueue");if(K(a,1,"enqueue"),!ArrayBuffer.isView(a))throw TypeError("chunk must be an array buffer view");if(0===a.byteLength)throw TypeError("chunk must have non-zero byteLength");if(0===a.buffer.byteLength)throw TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw TypeError("stream is closed or draining");let b=this._controlledReadableByteStream._state;if("readable"!==b)throw TypeError(`The stream (in ${b} state) is not in the readable state and cannot be enqueued to`);!function(a,b){let c=a._controlledReadableByteStream;if(a._closeRequested||"readable"!==c._state)return;let d=b.buffer,e=b.byteOffset,f=b.byteLength;if(a._pendingPullIntos.length>0){let b=a._pendingPullIntos.peek();b.buffer,av(a),b.buffer=b.buffer,"none"===b.readerType&&ar(a,b)}U(c)?(function(a){let b=a._controlledReadableByteStream._reader;for(;b._readRequests.length>0;){if(0===a._queueTotalSize)return;aB(a,b._readRequests.shift())}}(a),0===T(c))?ap(a,d,e,f):(a._pendingPullIntos.length>0&&ay(a),S(c,new Uint8Array(d,e,f),!1)):aH(c)?(ap(a,d,e,f),aw(a)):ap(a,d,e,f),al(a)}(this,a)}error(a){if(!aj(this))throw aE("error");aA(this,a)}[v](a){am(this),ag(this);let b=this._cancelAlgorithm(a);return az(this),b}[w](a){let b=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void aB(this,a);let c=this._autoAllocateChunkSize;if(void 0!==c){let b;try{b=new ArrayBuffer(c)}catch(b){return void a._errorSteps(b)}let d={buffer:b,bufferByteLength:c,byteOffset:0,byteLength:c,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(d)}R(b,a),al(this)}[x](){if(this._pendingPullIntos.length>0){let a=this._pendingPullIntos.peek();a.readerType="none",this._pendingPullIntos=new s,this._pendingPullIntos.push(a)}}}function aj(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledReadableByteStream")&&a instanceof ai}function ak(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_associatedReadableByteStreamController")&&a instanceof ah}function al(a){if(function(a){let b=a._controlledReadableByteStream;return"readable"===b._state&&!a._closeRequested&&!!a._started&&!!(U(b)&&T(b)>0||aH(b)&&aG(b)>0||aC(a)>0)}(a)){if(a._pulling)return void(a._pullAgain=!0);a._pulling=!0,n(a._pullAlgorithm(),()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,al(a)),null),b=>(aA(a,b),null))}}function am(a){av(a),a._pendingPullIntos=new s}function an(a,b){let c=!1;"closed"===a._state&&(c=!0);let d=ao(b);"default"===b.readerType?S(a,d,c):function(a,b,c){let d=a._reader._readIntoRequests.shift();c?d._closeSteps(b):d._chunkSteps(b)}(a,d,c)}function ao(a){let b=a.bytesFilled,c=a.elementSize;return new a.viewConstructor(a.buffer,a.byteOffset,b/c)}function ap(a,b,c,d){a._queue.push({buffer:b,byteOffset:c,byteLength:d}),a._queueTotalSize+=d}function aq(a,b,c,d){let e;try{e=b.slice(c,c+d)}catch(b){throw aA(a,b),b}ap(a,e,0,d)}function ar(a,b){b.bytesFilled>0&&aq(a,b.buffer,b.byteOffset,b.bytesFilled),ay(a)}function as(a,b){let c=b.elementSize,d=b.bytesFilled-b.bytesFilled%c,e=Math.min(a._queueTotalSize,b.byteLength-b.bytesFilled),f=b.bytesFilled+e,g=f-f%c,h=e,i=!1;g>d&&(h=g-b.bytesFilled,i=!0);let j=a._queue;for(;h>0;){let c=j.peek(),d=Math.min(h,c.byteLength),e=b.byteOffset+b.bytesFilled;ac(b.buffer,e,c.buffer,c.byteOffset,d),c.byteLength===d?j.shift():(c.byteOffset+=d,c.byteLength-=d),a._queueTotalSize-=d,at(a,d,b),h-=d}return i}function at(a,b,c){c.bytesFilled+=b}function au(a){0===a._queueTotalSize&&a._closeRequested?(az(a),bB(a._controlledReadableByteStream)):al(a)}function av(a){null!==a._byobRequest&&(a._byobRequest._associatedReadableByteStreamController=void 0,a._byobRequest._view=null,a._byobRequest=null)}function aw(a){for(;a._pendingPullIntos.length>0;){if(0===a._queueTotalSize)return;let b=a._pendingPullIntos.peek();as(a,b)&&(ay(a),an(a._controlledReadableByteStream,b))}}function ax(a,b){let c=a._pendingPullIntos.peek();av(a),"closed"===a._controlledReadableByteStream._state?function(a,b){"none"===b.readerType&&ay(a);let c=a._controlledReadableByteStream;if(aH(c))for(;aG(c)>0;)an(c,ay(a))}(a,c):function(a,b,c){if(at(0,b,c),"none"===c.readerType)return ar(a,c),aw(a);if(c.bytesFilled<c.elementSize)return;ay(a);let d=c.bytesFilled%c.elementSize;if(d>0){let b=c.byteOffset+c.bytesFilled;aq(a,c.buffer,b-d,d)}c.bytesFilled-=d,an(a._controlledReadableByteStream,c),aw(a)}(a,b,c),al(a)}function ay(a){return a._pendingPullIntos.shift()}function az(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0}function aA(a,b){let c=a._controlledReadableByteStream;"readable"===c._state&&(am(a),ag(a),az(a),bC(c,b))}function aB(a,b){let c=a._queue.shift();a._queueTotalSize-=c.byteLength,au(a);let d=new Uint8Array(c.buffer,c.byteOffset,c.byteLength);b._chunkSteps(d)}function aC(a){let b=a._controlledReadableByteStream._state;return"errored"===b?null:"closed"===b?0:a._strategyHWM-a._queueTotalSize}function aD(a){return TypeError(`ReadableStreamBYOBRequest.prototype.${a} can only be used on a ReadableStreamBYOBRequest`)}function aE(a){return TypeError(`ReadableByteStreamController.prototype.${a} can only be used on a ReadableByteStreamController`)}function aF(a,b){a._reader._readIntoRequests.push(b)}function aG(a){return a._reader._readIntoRequests.length}function aH(a){let b=a._reader;return void 0!==b&&!!aJ(b)}Object.defineProperties(ai.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),g(ai.prototype.close,"close"),g(ai.prototype.enqueue,"enqueue"),g(ai.prototype.error,"error"),"symbol"==typeof d.toStringTag&&Object.defineProperty(ai.prototype,d.toStringTag,{value:"ReadableByteStreamController",configurable:!0});class aI{constructor(a){if(K(a,1,"ReadableStreamBYOBReader"),Q(a,"First parameter"),bz(a))throw TypeError("This stream has already been locked for exclusive reading by another reader");if(!aj(a._readableStreamController))throw TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");y(this,a),this._readIntoRequests=new s}get closed(){return aJ(this)?this._closedPromise:k(aL("closed"))}cancel(a){return aJ(this)?void 0===this._ownerReadableStream?k(B("cancel")):z(this,a):k(aL("cancel"))}read(a){let b,c;if(!aJ(this))return k(aL("read"));if(!ArrayBuffer.isView(a))return k(TypeError("view must be an array buffer view"));if(0===a.byteLength)return k(TypeError("view must have non-zero byteLength"));if(0===a.buffer.byteLength)return k(TypeError("view's buffer must have non-zero byteLength"));if(a.buffer,void 0===this._ownerReadableStream)return k(B("read from"));let d=l((a,d)=>{b=a,c=d});return function(a,b,c){let d=a._ownerReadableStream;d._disturbed=!0,"errored"===d._state?c._errorSteps(d._storedError):function(a,b,c){let d=a._controlledReadableByteStream,e=1;b.constructor!==DataView&&(e=b.constructor.BYTES_PER_ELEMENT);let f=b.constructor,g=b.buffer,h={buffer:g,bufferByteLength:g.byteLength,byteOffset:b.byteOffset,byteLength:b.byteLength,bytesFilled:0,elementSize:e,viewConstructor:f,readerType:"byob"};if(a._pendingPullIntos.length>0)return a._pendingPullIntos.push(h),aF(d,c);if("closed"!==d._state){if(a._queueTotalSize>0){if(as(a,h)){let b=ao(h);return au(a),c._chunkSteps(b)}if(a._closeRequested){let b=TypeError("Insufficient bytes to fill elements in the given buffer");return aA(a,b),c._errorSteps(b)}}a._pendingPullIntos.push(h),aF(d,c),al(a)}else{let a=new f(h.buffer,h.byteOffset,0);c._closeSteps(a)}}(d._readableStreamController,b,c)}(this,a,{_chunkSteps:a=>b({value:a,done:!1}),_closeSteps:a=>b({value:a,done:!0}),_errorSteps:a=>c(a)}),d}releaseLock(){if(!aJ(this))throw aL("releaseLock");void 0!==this._ownerReadableStream&&(A(this),aK(this,TypeError("Reader was released")))}}function aJ(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readIntoRequests")&&a instanceof aI}function aK(a,b){let c=a._readIntoRequests;a._readIntoRequests=new s,c.forEach(a=>{a._errorSteps(b)})}function aL(a){return TypeError(`ReadableStreamBYOBReader.prototype.${a} can only be used on a ReadableStreamBYOBReader`)}function aM(a,b){let{highWaterMark:c}=a;if(void 0===c)return b;if(ab(c)||c<0)throw RangeError("Invalid highWaterMark");return c}function aN(a){let{size:b}=a;return b||(()=>1)}function aO(a,b){var c;H(a,b);let d=null==a?void 0:a.highWaterMark,e=null==a?void 0:a.size;return{highWaterMark:void 0===d?void 0:M(d),size:void 0===e?void 0:(I(c=e,`${b} has member 'size' that`),a=>M(c(a)))}}Object.defineProperties(aI.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),g(aI.prototype.cancel,"cancel"),g(aI.prototype.read,"read"),g(aI.prototype.releaseLock,"releaseLock"),"symbol"==typeof d.toStringTag&&Object.defineProperty(aI.prototype,d.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});let aP="function"==typeof AbortController;class aQ{constructor(a={},b={}){void 0===a?a=null:J(a,"First parameter");let c=aO(b,"Second parameter"),d=function(a,b){H(a,b);let c=null==a?void 0:a.abort,d=null==a?void 0:a.close,e=null==a?void 0:a.start,f=null==a?void 0:a.type,g=null==a?void 0:a.write;return{abort:void 0===c?void 0:(I(c,`${b} has member 'abort' that`),b=>r(c,a,[b])),close:void 0===d?void 0:(I(d,`${b} has member 'close' that`),()=>r(d,a,[])),start:void 0===e?void 0:(I(e,`${b} has member 'start' that`),b=>q(e,a,[b])),write:void 0===g?void 0:(I(g,`${b} has member 'write' that`),(b,c)=>r(g,a,[b,c])),type:f}}(a,"First parameter");if(this._state="writable",this._storedError=void 0,this._writer=void 0,this._writableStreamController=void 0,this._writeRequests=new s,this._inFlightWriteRequest=void 0,this._closeRequest=void 0,this._inFlightCloseRequest=void 0,this._pendingAbortRequest=void 0,this._backpressure=!1,void 0!==d.type)throw RangeError("Invalid type is specified");let e=aN(c);!function(a,b,c,d){let e,f,g,h,i=Object.create(a3.prototype);e=void 0!==b.start?()=>b.start(i):()=>{},f=void 0!==b.write?a=>b.write(a,i):()=>j(void 0),g=void 0!==b.close?()=>b.close():()=>j(void 0),h=void 0!==b.abort?a=>b.abort(a):()=>j(void 0),i._controlledWritableStream=a,a._writableStreamController=i,i._queue=void 0,i._queueTotalSize=void 0,ag(i),i._abortReason=void 0,i._abortController=function(){if(aP)return new AbortController}(),i._started=!1,i._strategySizeAlgorithm=d,i._strategyHWM=c,i._writeAlgorithm=f,i._closeAlgorithm=g,i._abortAlgorithm=h,a$(a,0>=a6(i)),n(j(e()),()=>(i._started=!0,a7(i),null),b=>(i._started=!0,aV(a,b),null))}(this,d,aM(c,1),e)}get locked(){if(!aR(this))throw ba("locked");return aS(this)}abort(a){return aR(this)?aS(this)?k(TypeError("Cannot abort a stream that already has a writer")):aT(this,a):k(ba("abort"))}close(){return aR(this)?aS(this)?k(TypeError("Cannot close a stream that already has a writer")):aY(this)?k(TypeError("Cannot close an already-closing stream")):aU(this):k(ba("close"))}getWriter(){if(!aR(this))throw ba("getWriter");return new a_(this)}}function aR(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_writableStreamController")&&a instanceof aQ}function aS(a){return void 0!==a._writer}function aT(a,b){var c;if("closed"===a._state||"errored"===a._state)return j(void 0);a._writableStreamController._abortReason=b,null==(c=a._writableStreamController._abortController)||c.abort(b);let d=a._state;if("closed"===d||"errored"===d)return j(void 0);if(void 0!==a._pendingAbortRequest)return a._pendingAbortRequest._promise;let e=!1;"erroring"===d&&(e=!0,b=void 0);let f=l((c,d)=>{a._pendingAbortRequest={_promise:void 0,_resolve:c,_reject:d,_reason:b,_wasAlreadyErroring:e}});return a._pendingAbortRequest._promise=f,e||aW(a,b),f}function aU(a){var b;let c=a._state;if("closed"===c||"errored"===c)return k(TypeError(`The stream (in ${c} state) is not in the writable state and cannot be closed`));let d=l((b,c)=>{a._closeRequest={_resolve:b,_reject:c}}),e=a._writer;return void 0!==e&&a._backpressure&&"writable"===c&&bk(e),af(b=a._writableStreamController,a2,0),a7(b),d}function aV(a,b){"writable"!==a._state?aX(a):aW(a,b)}function aW(a,b){let c=a._writableStreamController;a._state="erroring",a._storedError=b;let d=a._writer;void 0!==d&&a1(d,b),void 0===a._inFlightWriteRequest&&void 0===a._inFlightCloseRequest&&c._started&&aX(a)}function aX(a){a._state="errored",a._writableStreamController[u]();let b=a._storedError;if(a._writeRequests.forEach(a=>{a._reject(b)}),a._writeRequests=new s,void 0===a._pendingAbortRequest)return void aZ(a);let c=a._pendingAbortRequest;if(a._pendingAbortRequest=void 0,c._wasAlreadyErroring)return c._reject(b),void aZ(a);n(a._writableStreamController[t](c._reason),()=>(c._resolve(),aZ(a),null),b=>(c._reject(b),aZ(a),null))}function aY(a){return void 0!==a._closeRequest||void 0!==a._inFlightCloseRequest}function aZ(a){void 0!==a._closeRequest&&(a._closeRequest._reject(a._storedError),a._closeRequest=void 0);let b=a._writer;void 0!==b&&bf(b,a._storedError)}function a$(a,b){let c=a._writer;void 0!==c&&b!==a._backpressure&&(b?bh(c):bk(c)),a._backpressure=b}Object.defineProperties(aQ.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),g(aQ.prototype.abort,"abort"),g(aQ.prototype.close,"close"),g(aQ.prototype.getWriter,"getWriter"),"symbol"==typeof d.toStringTag&&Object.defineProperty(aQ.prototype,d.toStringTag,{value:"WritableStream",configurable:!0});class a_{constructor(a){if(K(a,1,"WritableStreamDefaultWriter"),function(a,b){if(!aR(a))throw TypeError(`${b} is not a WritableStream.`)}(a,"First parameter"),aS(a))throw TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=a,a._writer=this;let b=a._state;if("writable"===b)!aY(a)&&a._backpressure?bh(this):function(a){bh(a),bk(a)}(this),be(this);else if("erroring"===b)bi(this,a._storedError),be(this);else if("closed"===b)(function(a){bh(a),bk(a)})(this),be(this),bg(this);else{let b=a._storedError;bi(this,b),function(a,b){be(a),bf(a,b)}(this,b)}}get closed(){return a0(this)?this._closedPromise:k(bc("closed"))}get desiredSize(){if(!a0(this))throw bc("desiredSize");if(void 0===this._ownerWritableStream)throw bd("desiredSize");let a=this._ownerWritableStream,b=a._state;return"errored"===b||"erroring"===b?null:"closed"===b?0:a6(a._writableStreamController)}get ready(){return a0(this)?this._readyPromise:k(bc("ready"))}abort(a){return a0(this)?void 0===this._ownerWritableStream?k(bd("abort")):aT(this._ownerWritableStream,a):k(bc("abort"))}close(){if(!a0(this))return k(bc("close"));let a=this._ownerWritableStream;return void 0===a?k(bd("close")):aY(a)?k(TypeError("Cannot close an already-closing stream")):aU(this._ownerWritableStream)}releaseLock(){if(!a0(this))throw bc("releaseLock");void 0!==this._ownerWritableStream&&function(a){var b,c;let d=a._ownerWritableStream,e=TypeError("Writer was released and can no longer be used to monitor the stream's closedness");a1(a,e),"pending"===a._closedPromiseState?bf(a,e):(b=a,c=e,be(b),bf(b,c)),d._writer=void 0,a._ownerWritableStream=void 0}(this)}write(a){return a0(this)?void 0===this._ownerWritableStream?k(bd("write to")):function(a,b){let c=a._ownerWritableStream,d=c._writableStreamController,e=function(a,b){try{return a._strategySizeAlgorithm(b)}catch(b){return a8(a,b),1}}(d,b);if(c!==a._ownerWritableStream)return k(bd("write to"));let f=c._state;if("errored"===f)return k(c._storedError);if(aY(c)||"closed"===f)return k(TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===f)return k(c._storedError);let g=l((a,b)=>{c._writeRequests.push({_resolve:a,_reject:b})});return function(a,b,c){try{af(a,b,c)}catch(b){return void a8(a,b)}let d=a._controlledWritableStream;aY(d)||"writable"!==d._state||a$(d,0>=a6(a)),a7(a)}(d,b,e),g}(this,a):k(bc("write"))}}function a0(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_ownerWritableStream")&&a instanceof a_}function a1(a,b){"pending"===a._readyPromiseState?bj(a,b):bi(a,b)}Object.defineProperties(a_.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),g(a_.prototype.abort,"abort"),g(a_.prototype.close,"close"),g(a_.prototype.releaseLock,"releaseLock"),g(a_.prototype.write,"write"),"symbol"==typeof d.toStringTag&&Object.defineProperty(a_.prototype,d.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});let a2={};class a3{constructor(){throw TypeError("Illegal constructor")}get abortReason(){if(!a4(this))throw bb("abortReason");return this._abortReason}get signal(){if(!a4(this))throw bb("signal");if(void 0===this._abortController)throw TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(a){if(!a4(this))throw bb("error");"writable"===this._controlledWritableStream._state&&a9(this,a)}[t](a){let b=this._abortAlgorithm(a);return a5(this),b}[u](){ag(this)}}function a4(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledWritableStream")&&a instanceof a3}function a5(a){a._writeAlgorithm=void 0,a._closeAlgorithm=void 0,a._abortAlgorithm=void 0,a._strategySizeAlgorithm=void 0}function a6(a){return a._strategyHWM-a._queueTotalSize}function a7(a){let b=a._controlledWritableStream;if(!a._started||void 0!==b._inFlightWriteRequest)return;if("erroring"===b._state)return void aX(b);if(0===a._queue.length)return;let c=a._queue.peek().value;c===a2?function(a){let b=a._controlledWritableStream;b._inFlightCloseRequest=b._closeRequest,b._closeRequest=void 0,ae(a);let c=a._closeAlgorithm();a5(a),n(c,()=>((function(a){a._inFlightCloseRequest._resolve(void 0),a._inFlightCloseRequest=void 0,"erroring"===a._state&&(a._storedError=void 0,void 0!==a._pendingAbortRequest&&(a._pendingAbortRequest._resolve(),a._pendingAbortRequest=void 0)),a._state="closed";let b=a._writer;void 0!==b&&bg(b)})(b),null),a=>(b._inFlightCloseRequest._reject(a),b._inFlightCloseRequest=void 0,void 0!==b._pendingAbortRequest&&(b._pendingAbortRequest._reject(a),b._pendingAbortRequest=void 0),aV(b,a),null))}(a):function(a,b){let c=a._controlledWritableStream;c._inFlightWriteRequest=c._writeRequests.shift(),n(a._writeAlgorithm(b),()=>{c._inFlightWriteRequest._resolve(void 0),c._inFlightWriteRequest=void 0;let b=c._state;return ae(a),aY(c)||"writable"!==b||a$(c,0>=a6(a)),a7(a),null},b=>("writable"===c._state&&a5(a),c._inFlightWriteRequest._reject(b),c._inFlightWriteRequest=void 0,aV(c,b),null))}(a,c)}function a8(a,b){"writable"===a._controlledWritableStream._state&&a9(a,b)}function a9(a,b){let c=a._controlledWritableStream;a5(a),aW(c,b)}function ba(a){return TypeError(`WritableStream.prototype.${a} can only be used on a WritableStream`)}function bb(a){return TypeError(`WritableStreamDefaultController.prototype.${a} can only be used on a WritableStreamDefaultController`)}function bc(a){return TypeError(`WritableStreamDefaultWriter.prototype.${a} can only be used on a WritableStreamDefaultWriter`)}function bd(a){return TypeError("Cannot "+a+" a stream using a released writer")}function be(a){a._closedPromise=l((b,c)=>{a._closedPromise_resolve=b,a._closedPromise_reject=c,a._closedPromiseState="pending"})}function bf(a,b){void 0!==a._closedPromise_reject&&(o(a._closedPromise),a._closedPromise_reject(b),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="rejected")}function bg(a){void 0!==a._closedPromise_resolve&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="resolved")}function bh(a){a._readyPromise=l((b,c)=>{a._readyPromise_resolve=b,a._readyPromise_reject=c}),a._readyPromiseState="pending"}function bi(a,b){bh(a),bj(a,b)}function bj(a,b){void 0!==a._readyPromise_reject&&(o(a._readyPromise),a._readyPromise_reject(b),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="rejected")}function bk(a){void 0!==a._readyPromise_resolve&&(a._readyPromise_resolve(void 0),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="fulfilled")}Object.defineProperties(a3.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(a3.prototype,d.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});let bl="undefined"!=typeof DOMException?DOMException:void 0,bm=!function(a){if("function"!=typeof a&&"object"!=typeof a)return!1;try{return new a,!0}catch(a){return!1}}(bl)?function(){let a=function(a,b){this.message=a||"",this.name=b||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return a.prototype=Object.create(Error.prototype),Object.defineProperty(a.prototype,"constructor",{value:a,writable:!0,configurable:!0}),a}():bl;function bn(a,b,c,d,e,f){let g=a.getReader(),h=b.getWriter();by(a)&&(a._disturbed=!0);let i,q,r,s=!1,t=!1,u="readable",v="writable",w=!1,x=!1,y=l(a=>{r=a}),z=Promise.resolve(void 0);return l((A,B)=>{let C;function D(){if(s)return;let a=l((a,b)=>{!function c(d){d?a():m(s?j(!0):m(h.ready,()=>m(g.read(),a=>!!a.done||(o(z=h.write(a.value)),!1))),c,b)}(!1)});o(a)}function E(){return u="closed",c?I():H(()=>(aR(b)&&(w=aY(b),v=b._state),w||"closed"===v?j(void 0):"erroring"===v||"errored"===v?k(q):(w=!0,h.close())),!1,void 0),null}function F(a){return s||(u="errored",i=a,d?I(!0,a):H(()=>h.abort(a),!0,a)),null}function G(a){return t||(v="errored",q=a,e?I(!0,a):H(()=>g.cancel(a),!0,a)),null}if(void 0!==f&&(C=()=>{let a=void 0!==f.reason?f.reason:new bm("Aborted","AbortError"),b=[];d||b.push(()=>"writable"===v?h.abort(a):j(void 0)),e||b.push(()=>"readable"===u?g.cancel(a):j(void 0)),H(()=>Promise.all(b.map(a=>a())),!0,a)},f.aborted?C():f.addEventListener("abort",C)),by(a)&&(u=a._state,i=a._storedError),aR(b)&&(v=b._state,q=b._storedError,w=aY(b)),by(a)&&aR(b)&&(x=!0,r()),"errored"===u)F(i);else if("erroring"===v||"errored"===v)G(q);else if("closed"===u)E();else if(w||"closed"===v){let a=TypeError("the destination writable stream closed before all data could be piped to it");e?I(!0,a):H(()=>g.cancel(a),!0,a)}function H(a,b,c){function d(){let a;return"writable"!==v||w?e():n(j(function b(){if(a!==z)return a=z,m(z,b,b)}()),e),null}function e(){return a?n(a(),()=>J(b,c),a=>J(!0,a)):J(b,c),null}s||(s=!0,x?d():n(y,d))}function I(a,b){H(void 0,a,b)}function J(a,b){return t=!0,h.releaseLock(),g.releaseLock(),void 0!==f&&f.removeEventListener("abort",C),a?B(b):A(void 0),null}s||(n(g.closed,E,F),n(h.closed,function(){return t||(v="closed"),null},G)),x?D():p(()=>{x=!0,r(),D()})})}class bo{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!bp(this))throw bv("desiredSize");return bt(this)}close(){if(!bp(this))throw bv("close");if(!bu(this))throw TypeError("The stream is not in a state that permits close");!function(a){if(!bu(a))return;let b=a._controlledReadableStream;a._closeRequested=!0,0===a._queue.length&&(br(a),bB(b))}(this)}enqueue(a){if(!bp(this))throw bv("enqueue");if(!bu(this))throw TypeError("The stream is not in a state that permits enqueue");if(!bu(this))return;let b=this._controlledReadableStream;if(bz(b)&&T(b)>0)S(b,a,!1);else{let b;try{b=this._strategySizeAlgorithm(a)}catch(a){throw bs(this,a),a}try{af(this,a,b)}catch(a){throw bs(this,a),a}}bq(this)}error(a){if(!bp(this))throw bv("error");bs(this,a)}[v](a){ag(this);let b=this._cancelAlgorithm(a);return br(this),b}[w](a){let b=this._controlledReadableStream;if(this._queue.length>0){let c=ae(this);this._closeRequested&&0===this._queue.length?(br(this),bB(b)):bq(this),a._chunkSteps(c)}else R(b,a),bq(this)}[x](){}}function bp(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledReadableStream")&&a instanceof bo}function bq(a){if(function(a){let b=a._controlledReadableStream;return!!bu(a)&&!!a._started&&!!(bz(b)&&T(b)>0||bt(a)>0)}(a)){if(a._pulling)return void(a._pullAgain=!0);a._pulling=!0,n(a._pullAlgorithm(),()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,bq(a)),null),b=>(bs(a,b),null))}}function br(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0,a._strategySizeAlgorithm=void 0}function bs(a,b){let c=a._controlledReadableStream;"readable"===c._state&&(ag(a),br(a),bC(c,b))}function bt(a){let b=a._controlledReadableStream._state;return"errored"===b?null:"closed"===b?0:a._strategyHWM-a._queueTotalSize}function bu(a){return!a._closeRequested&&"readable"===a._controlledReadableStream._state}function bv(a){return TypeError(`ReadableStreamDefaultController.prototype.${a} can only be used on a ReadableStreamDefaultController`)}function bw(a,b){H(a,b);let c=null==a?void 0:a.preventAbort,d=null==a?void 0:a.preventCancel,e=null==a?void 0:a.preventClose,f=null==a?void 0:a.signal;return void 0!==f&&function(a,b){if(!function(a){if("object"!=typeof a||null===a)return!1;try{return"boolean"==typeof a.aborted}catch(a){return!1}}(a))throw TypeError(`${b} is not an AbortSignal.`)}(f,`${b} has member 'signal' that`),{preventAbort:!!c,preventCancel:!!d,preventClose:!!e,signal:f}}Object.defineProperties(bo.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),g(bo.prototype.close,"close"),g(bo.prototype.enqueue,"enqueue"),g(bo.prototype.error,"error"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bo.prototype,d.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});class bx{constructor(a={},b={}){void 0===a?a=null:J(a,"First parameter");let c=aO(b,"Second parameter"),d=function(a,b){H(a,b);let c=null==a?void 0:a.autoAllocateChunkSize,d=null==a?void 0:a.cancel,e=null==a?void 0:a.pull,f=null==a?void 0:a.start,g=null==a?void 0:a.type;return{autoAllocateChunkSize:void 0===c?void 0:N(c,`${b} has member 'autoAllocateChunkSize' that`),cancel:void 0===d?void 0:(I(d,`${b} has member 'cancel' that`),b=>r(d,a,[b])),pull:void 0===e?void 0:(I(e,`${b} has member 'pull' that`),b=>r(e,a,[b])),start:void 0===f?void 0:(I(f,`${b} has member 'start' that`),b=>q(f,a,[b])),type:void 0===g?void 0:function(a,b){if("bytes"!=(a=`${a}`))throw TypeError(`${b} '${a}' is not a valid enumeration value for ReadableStreamType`);return a}(g,`${b} has member 'type' that`)}}(a,"First parameter");if(this._state="readable",this._reader=void 0,this._storedError=void 0,this._disturbed=!1,"bytes"===d.type){if(void 0!==c.size)throw RangeError("The strategy for a byte stream cannot have a size function");!function(a,b,c){let d,e,f,g=Object.create(ai.prototype);d=void 0!==b.start?()=>b.start(g):()=>{},e=void 0!==b.pull?()=>b.pull(g):()=>j(void 0),f=void 0!==b.cancel?a=>b.cancel(a):()=>j(void 0);let h=b.autoAllocateChunkSize;if(0===h)throw TypeError("autoAllocateChunkSize must be greater than 0");g._controlledReadableByteStream=a,g._pullAgain=!1,g._pulling=!1,g._byobRequest=null,g._queue=g._queueTotalSize=void 0,ag(g),g._closeRequested=!1,g._started=!1,g._strategyHWM=c,g._pullAlgorithm=e,g._cancelAlgorithm=f,g._autoAllocateChunkSize=h,g._pendingPullIntos=new s,a._readableStreamController=g,n(j(d()),()=>(g._started=!0,al(g),null),a=>(aA(g,a),null))}(this,d,aM(c,0))}else{let a=aN(c);!function(a,b,c,d){let e,f,g,h=Object.create(bo.prototype);e=void 0!==b.start?()=>b.start(h):()=>{},f=void 0!==b.pull?()=>b.pull(h):()=>j(void 0),g=void 0!==b.cancel?a=>b.cancel(a):()=>j(void 0),h._controlledReadableStream=a,h._queue=void 0,h._queueTotalSize=void 0,ag(h),h._started=!1,h._closeRequested=!1,h._pullAgain=!1,h._pulling=!1,h._strategySizeAlgorithm=d,h._strategyHWM=c,h._pullAlgorithm=f,h._cancelAlgorithm=g,a._readableStreamController=h,n(j(e()),()=>(h._started=!0,bq(h),null),a=>(bs(h,a),null))}(this,d,aM(c,1),a)}}get locked(){if(!by(this))throw bD("locked");return bz(this)}cancel(a){return by(this)?bz(this)?k(TypeError("Cannot cancel a stream that already has a reader")):bA(this,a):k(bD("cancel"))}getReader(a){if(!by(this))throw bD("getReader");return void 0===function(a,b){H(a,b);let c=null==a?void 0:a.mode;return{mode:void 0===c?void 0:function(a,b){if("byob"!=(a=`${a}`))throw TypeError(`${b} '${a}' is not a valid enumeration value for ReadableStreamReaderMode`);return a}(c,`${b} has member 'mode' that`)}}(a,"First parameter").mode?new V(this):new aI(this)}pipeThrough(a,b={}){if(!O(this))throw bD("pipeThrough");K(a,1,"pipeThrough");let c=function(a,b){H(a,b);let c=null==a?void 0:a.readable;L(c,"readable","ReadableWritablePair"),function(a,b){if(!O(a))throw TypeError(`${b} is not a ReadableStream.`)}(c,`${b} has member 'readable' that`);let d=null==a?void 0:a.writable;return L(d,"writable","ReadableWritablePair"),function(a,b){if(!P(a))throw TypeError(`${b} is not a WritableStream.`)}(d,`${b} has member 'writable' that`),{readable:c,writable:d}}(a,"First parameter"),d=bw(b,"Second parameter");if(this.locked)throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(c.writable.locked)throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return o(bn(this,c.writable,d.preventClose,d.preventAbort,d.preventCancel,d.signal)),c.readable}pipeTo(a,b={}){let c;if(!O(this))return k(bD("pipeTo"));if(void 0===a)return k("Parameter 1 is required in 'pipeTo'.");if(!P(a))return k(TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));try{c=bw(b,"Second parameter")}catch(a){return k(a)}return this.locked?k(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):a.locked?k(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):bn(this,a,c.preventClose,c.preventAbort,c.preventCancel,c.signal)}tee(){if(!O(this))throw bD("tee");if(this.locked)throw TypeError("Cannot tee a stream that already has a reader");return!function(a){try{return a.getReader({mode:"byob"}).releaseLock(),!0}catch(a){return!1}}(this)?function(a,b){let c=a.getReader(),d,e,f,g,h,i=!1,k=!1,m=!1,o=!1,p=l(a=>{h=a});function q(){return i?k=!0:(i=!0,n(c.read(),a=>{if(k=!1,a.done)return m||f.close(),o||g.close(),m&&o||h(void 0),null;let b=a.value;return m||f.enqueue(b),o||g.enqueue(b),i=!1,k&&q(),null},()=>(i=!1,null))),j(void 0)}let r=new bx({start(a){f=a},pull:q,cancel:function(a){if(m=!0,d=a,o){let a=[d,e],b=c.cancel(a);h(b)}return p}}),s=new bx({start(a){g=a},pull:q,cancel:function(a){if(o=!0,e=a,m){let a=[d,e],b=c.cancel(a);h(b)}return p}});return n(c.closed,void 0,a=>(f.error(a),g.error(a),m&&o||h(void 0),null)),[r,s]}(this):function(a){let b,c,d,e,f,g=a.getReader(),h=!1,i=!1,k=!1,m=!1,o=!1,p=!1,q=l(a=>{f=a});function r(a){n(a.closed,void 0,b=>(a!==g||(d.error(b),e.error(b),o&&p||f(void 0)),null))}function s(){h&&(g.releaseLock(),r(g=a.getReader()),h=!1),n(g.read(),a=>{var b,c;if(k=!1,m=!1,a.done)return o||d.close(),p||e.close(),null==(b=d.byobRequest)||b.respond(0),null==(c=e.byobRequest)||c.respond(0),o&&p||f(void 0),null;let h=a.value,j=h;if(!o&&!p)try{j=ad(h)}catch(a){return d.error(a),e.error(a),f(g.cancel(a)),null}return o||d.enqueue(h),p||e.enqueue(j),i=!1,k?u():m&&v(),null},()=>(i=!1,null))}function t(b,c){h||(g.releaseLock(),r(g=a.getReader({mode:"byob"})),h=!0);let j=c?e:d,l=c?d:e;n(g.read(b),a=>{var b;k=!1,m=!1;let d=c?p:o,e=c?o:p;if(a.done){d||j.close(),e||l.close();let c=a.value;return void 0!==c&&(d||j.byobRequest.respondWithNewView(c),e||null==(b=l.byobRequest)||b.respond(0)),d&&e||f(void 0),null}let h=a.value;if(e)d||j.byobRequest.respondWithNewView(h);else{let a;try{a=ad(h)}catch(a){return j.error(a),l.error(a),f(g.cancel(a)),null}d||j.byobRequest.respondWithNewView(h),l.enqueue(a)}return i=!1,k?u():m&&v(),null},()=>(i=!1,null))}function u(){if(i)return k=!0,j(void 0);i=!0;let a=d.byobRequest;return null===a?s():t(a.view,!1),j(void 0)}function v(){if(i)return m=!0,j(void 0);i=!0;let a=e.byobRequest;return null===a?s():t(a.view,!0),j(void 0)}let w=new bx({type:"bytes",start(a){d=a},pull:u,cancel:function(a){if(o=!0,b=a,p){let a=[b,c],d=g.cancel(a);f(d)}return q}}),x=new bx({type:"bytes",start(a){e=a},pull:v,cancel:function(a){if(p=!0,c=a,o){let a=[b,c],d=g.cancel(a);f(d)}return q}});return r(g),[w,x]}(this)}values(a){if(!O(this))throw bD("values");return function(a,b){let c=new Z(a.getReader(),b),d=Object.create($);return d._asyncIteratorImpl=c,d}(this,(H(a,"First parameter"),{preventCancel:!!(null==a?void 0:a.preventCancel)}).preventCancel)}}function by(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_readableStreamController")&&a instanceof bx}function bz(a){return void 0!==a._reader}function bA(a,b){if(a._disturbed=!0,"closed"===a._state)return j(void 0);if("errored"===a._state)return k(a._storedError);bB(a);let c=a._reader;if(void 0!==c&&aJ(c)){let a=c._readIntoRequests;c._readIntoRequests=new s,a.forEach(a=>{a._closeSteps(void 0)})}return m(a._readableStreamController[v](b),e,void 0)}function bB(a){a._state="closed";let b=a._reader;if(void 0!==b&&(E(b),W(b))){let a=b._readRequests;b._readRequests=new s,a.forEach(a=>{a._closeSteps()})}}function bC(a,b){a._state="errored",a._storedError=b;let c=a._reader;void 0!==c&&(D(c,b),W(c)?X(c,b):aK(c,b))}function bD(a){return TypeError(`ReadableStream.prototype.${a} can only be used on a ReadableStream`)}function bE(a,b){H(a,b);let c=null==a?void 0:a.highWaterMark;return L(c,"highWaterMark","QueuingStrategyInit"),{highWaterMark:M(c)}}Object.defineProperties(bx.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),g(bx.prototype.cancel,"cancel"),g(bx.prototype.getReader,"getReader"),g(bx.prototype.pipeThrough,"pipeThrough"),g(bx.prototype.pipeTo,"pipeTo"),g(bx.prototype.tee,"tee"),g(bx.prototype.values,"values"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bx.prototype,d.toStringTag,{value:"ReadableStream",configurable:!0}),"symbol"==typeof d.asyncIterator&&Object.defineProperty(bx.prototype,d.asyncIterator,{value:bx.prototype.values,writable:!0,configurable:!0});let bF=a=>a.byteLength;g(bF,"size");class bG{constructor(a){K(a,1,"ByteLengthQueuingStrategy"),a=bE(a,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=a.highWaterMark}get highWaterMark(){if(!bI(this))throw bH("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!bI(this))throw bH("size");return bF}}function bH(a){return TypeError(`ByteLengthQueuingStrategy.prototype.${a} can only be used on a ByteLengthQueuingStrategy`)}function bI(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_byteLengthQueuingStrategyHighWaterMark")&&a instanceof bG}Object.defineProperties(bG.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bG.prototype,d.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});let bJ=()=>1;g(bJ,"size");class bK{constructor(a){K(a,1,"CountQueuingStrategy"),a=bE(a,"First parameter"),this._countQueuingStrategyHighWaterMark=a.highWaterMark}get highWaterMark(){if(!bM(this))throw bL("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!bM(this))throw bL("size");return bJ}}function bL(a){return TypeError(`CountQueuingStrategy.prototype.${a} can only be used on a CountQueuingStrategy`)}function bM(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_countQueuingStrategyHighWaterMark")&&a instanceof bK}Object.defineProperties(bK.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bK.prototype,d.toStringTag,{value:"CountQueuingStrategy",configurable:!0});class bN{constructor(a={},b={},c={}){let d;void 0===a&&(a=null);let e=aO(b,"Second parameter"),f=aO(c,"Third parameter"),g=function(a,b){H(a,b);let c=null==a?void 0:a.flush,d=null==a?void 0:a.readableType,e=null==a?void 0:a.start,f=null==a?void 0:a.transform,g=null==a?void 0:a.writableType;return{flush:void 0===c?void 0:(I(c,`${b} has member 'flush' that`),b=>r(c,a,[b])),readableType:d,start:void 0===e?void 0:(I(e,`${b} has member 'start' that`),b=>q(e,a,[b])),transform:void 0===f?void 0:(I(f,`${b} has member 'transform' that`),(b,c)=>r(f,a,[b,c])),writableType:g}}(a,"First parameter");if(void 0!==g.readableType)throw RangeError("Invalid readableType specified");if(void 0!==g.writableType)throw RangeError("Invalid writableType specified");let h=aM(f,0),i=aN(f),n=aM(e,1),o=aN(e);!function(a,b,c,d,e,f){var g,h,i;function k(){return b}a._writableState="writable",a._writableStoredError=void 0,a._writableHasInFlightOperation=!1,a._writableStarted=!1,g=function(b){let c=a._transformStreamController;return a._backpressure?m(a._backpressureChangePromise,()=>{if("erroring"===(aR(a._writable)?a._writable._state:a._writableState))throw aR(a._writable)?a._writable._storedError:a._writableStoredError;return bW(c,b)},void 0):bW(c,b)},h=function(){var b=a;let c=b._transformStreamController,d=c._flushAlgorithm();return bU(c),m(d,()=>{if("errored"===b._readableState)throw b._readableStoredError;bZ(b)&&b$(b)},a=>{throw bP(b,a),b._readableStoredError})},a._writable=new aQ({start(b){a._writableController=b;try{let c=b.signal;void 0!==c&&c.addEventListener("abort",()=>{"writable"===a._writableState&&(a._writableState="erroring",c.reason&&(a._writableStoredError=c.reason))})}catch(a){}return m(k(),()=>(a._writableStarted=!0,b4(a),null),b=>{throw a._writableStarted=!0,b1(a,b),b})},write:b=>(a._writableHasInFlightOperation=!0,m(g(b),()=>(a._writableHasInFlightOperation=!1,b4(a),null),b=>{throw a._writableHasInFlightOperation=!1,b1(a,b),b})),close:()=>(a._writableHasInFlightOperation=!0,m(h(),()=>(a._writableHasInFlightOperation=!1,"erroring"===a._writableState&&(a._writableStoredError=void 0),a._writableState="closed",null),b=>{throw a._writableHasInFlightOperation=!1,a._writableState,b1(a,b),b})),abort:b=>(a._writableState="errored",a._writableStoredError=b,function(b){return bP(a,b),j(void 0)}(b))},{highWaterMark:c,size:d}),a._readableState="readable",a._readableStoredError=void 0,a._readableCloseRequested=!1,a._readablePulling=!1,i=function(){return bR(a,!1),a._backpressureChangePromise},a._readable=new bx({start:b=>(a._readableController=b,k().catch(b=>{b_(a,b)})),pull:()=>(a._readablePulling=!0,i().catch(b=>{b_(a,b)})),cancel:b=>(a._readableState="closed",function(b){return bQ(a,b),j(void 0)}(b))},{highWaterMark:e,size:f}),a._backpressure=void 0,a._backpressureChangePromise=void 0,a._backpressureChangePromise_resolve=void 0,bR(a,!0),a._transformStreamController=void 0}(this,l(a=>{d=a}),n,o,h,i),function(a,b){let c,d,e=Object.create(bS.prototype);c=void 0!==b.transform?a=>b.transform(a,e):a=>{try{var b;return bV(e,a),b=void 0,j(b)}catch(a){return k(a)}},d=void 0!==b.flush?()=>b.flush(e):()=>j(void 0),e._controlledTransformStream=a,a._transformStreamController=e,e._transformAlgorithm=c,e._flushAlgorithm=d}(this,g),void 0!==g.start?d(g.start(this._transformStreamController)):d(void 0)}get readable(){if(!bO(this))throw bY("readable");return this._readable}get writable(){if(!bO(this))throw bY("writable");return this._writable}}function bO(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_transformStreamController")&&a instanceof bN}function bP(a,b){b_(a,b),bQ(a,b)}function bQ(a,b){bU(a._transformStreamController),a._writableController.error(b),"writable"===a._writableState&&b2(a,b),a._backpressure&&bR(a,!1)}function bR(a,b){void 0!==a._backpressureChangePromise&&a._backpressureChangePromise_resolve(),a._backpressureChangePromise=l(b=>{a._backpressureChangePromise_resolve=b}),a._backpressure=b}Object.defineProperties(bN.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),"symbol"==typeof d.toStringTag&&Object.defineProperty(bN.prototype,d.toStringTag,{value:"TransformStream",configurable:!0});class bS{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!bT(this))throw bX("desiredSize");return b0(this._controlledTransformStream)}enqueue(a){if(!bT(this))throw bX("enqueue");bV(this,a)}error(a){if(!bT(this))throw bX("error");bP(this._controlledTransformStream,a)}terminate(){if(!bT(this))throw bX("terminate");let a=this._controlledTransformStream;bZ(a)&&b$(a),bQ(a,TypeError("TransformStream terminated"))}}function bT(a){return!!f(a)&&!!Object.prototype.hasOwnProperty.call(a,"_controlledTransformStream")&&a instanceof bS}function bU(a){a._transformAlgorithm=void 0,a._flushAlgorithm=void 0}function bV(a,b){let c=a._controlledTransformStream;if(!bZ(c))throw TypeError("Readable side is not in a state that permits enqueue");try{c._readablePulling=!1;try{c._readableController.enqueue(b)}catch(a){throw b_(c,a),a}}catch(a){throw bQ(c,a),c._readableStoredError}!(bZ(c)&&(c._readablePulling||b0(c)>0))!==c._backpressure&&bR(c,!0)}function bW(a,b){return m(a._transformAlgorithm(b),void 0,b=>{throw bP(a._controlledTransformStream,b),b})}function bX(a){return TypeError(`TransformStreamDefaultController.prototype.${a} can only be used on a TransformStreamDefaultController`)}function bY(a){return TypeError(`TransformStream.prototype.${a} can only be used on a TransformStream`)}function bZ(a){return!a._readableCloseRequested&&"readable"===a._readableState}function b$(a){a._readableState="closed",a._readableCloseRequested=!0,a._readableController.close()}function b_(a,b){"readable"===a._readableState&&(a._readableState="errored",a._readableStoredError=b),a._readableController.error(b)}function b0(a){return a._readableController.desiredSize}function b1(a,b){"writable"!==a._writableState?b3(a):b2(a,b)}function b2(a,b){a._writableState="erroring",a._writableStoredError=b,!a._writableHasInFlightOperation&&a._writableStarted&&b3(a)}function b3(a){a._writableState="errored"}function b4(a){"erroring"===a._writableState&&b3(a)}Object.defineProperties(bS.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),g(bS.prototype.enqueue,"enqueue"),g(bS.prototype.error,"error"),g(bS.prototype.terminate,"terminate"),"symbol"==typeof d.toStringTag&&Object.defineProperty(bS.prototype,d.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});var b5,b6,b7,b8=c(91527);async function*b9(a){let b=a.byteOffset+a.byteLength,c=a.byteOffset;for(;c!==b;){let d=Math.min(b-c,65536),e=a.buffer.slice(c,c+d);c+=e.byteLength,yield new Uint8Array(e)}}async function*ca(a){let b=0;for(;b!==a.size;){let c=a.slice(b,Math.min(a.size,b+65536)),d=await c.arrayBuffer();b+=d.byteLength,yield new Uint8Array(d)}}async function*cb(a,b=!1){for(let c of a)ArrayBuffer.isView(c)?b?yield*b9(c):yield c:(0,b8.T)(c.stream)?yield*c.stream():yield*ca(c)}var cc=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)},cd=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c};class ce{constructor(a=[],b={}){if(b5.set(this,[]),b6.set(this,""),b7.set(this,0),null!=b||(b={}),"object"!=typeof a||null===a)throw TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(!(0,b8.T)(a[Symbol.iterator]))throw TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if("object"!=typeof b&&!(0,b8.T)(b))throw TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");let c=new TextEncoder;for(let b of a){let a;a=ArrayBuffer.isView(b)?new Uint8Array(b.buffer.slice(b.byteOffset,b.byteOffset+b.byteLength)):b instanceof ArrayBuffer?new Uint8Array(b.slice(0)):b instanceof ce?b:c.encode(String(b)),cd(this,b7,cc(this,b7,"f")+(ArrayBuffer.isView(a)?a.byteLength:a.size),"f"),cc(this,b5,"f").push(a)}let d=void 0===b.type?"":String(b.type);cd(this,b6,/^[\x20-\x7E]*$/.test(d)?d:"","f")}static[(b5=new WeakMap,b6=new WeakMap,b7=new WeakMap,Symbol.hasInstance)](a){return!!(a&&"object"==typeof a&&(0,b8.T)(a.constructor)&&((0,b8.T)(a.stream)||(0,b8.T)(a.arrayBuffer))&&/^(Blob|File)$/.test(a[Symbol.toStringTag]))}get type(){return cc(this,b6,"f")}get size(){return cc(this,b7,"f")}slice(a,b,c){return new ce(function*(a,b,c=0,d){null!=d||(d=b);let e=c<0?Math.max(b+c,0):Math.min(c,b),f=d<0?Math.max(b+d,0):Math.min(d,b),g=Math.max(f-e,0),h=0;for(let b of a){if(h>=g)break;let a=ArrayBuffer.isView(b)?b.byteLength:b.size;if(e&&a<=e)e-=a,f-=a;else{let c;ArrayBuffer.isView(b)?h+=(c=b.subarray(e,Math.min(a,f))).byteLength:h+=(c=b.slice(e,Math.min(a,f))).size,f-=a,e=0,yield c}}}(cc(this,b5,"f"),this.size,a,b),{type:c})}async text(){let a=new TextDecoder,b="";for await(let c of cb(cc(this,b5,"f")))b+=a.decode(c,{stream:!0});return b+a.decode()}async arrayBuffer(){let a=new Uint8Array(this.size),b=0;for await(let c of cb(cc(this,b5,"f")))a.set(c,b),b+=c.length;return a.buffer}stream(){let a=cb(cc(this,b5,"f"),!0);return new bx({async pull(b){let{value:c,done:d}=await a.next();if(d)return queueMicrotask(()=>b.close());b.enqueue(c)},async cancel(){await a.return()}})}get[Symbol.toStringTag](){return"Blob"}}Object.defineProperties(ce.prototype,{type:{enumerable:!0},size:{enumerable:!0},slice:{enumerable:!0},stream:{enumerable:!0},text:{enumerable:!0},arrayBuffer:{enumerable:!0}})},94672:(a,b,c)=>{"use strict";var d="undefined"!=typeof Symbol&&Symbol,e=c(11870);a.exports=function(){return"function"==typeof d&&"function"==typeof Symbol&&"symbol"==typeof d("foo")&&"symbol"==typeof Symbol("bar")&&e()}},94749:(a,b,c)=>{"use strict";c.d(b,{AC:()=>o,Co:()=>h.C,Eu:()=>p,K3:()=>j,LV:()=>n,PA:()=>k,XS:()=>q});var d=c(79111),e=c(14247),f=c(18230),g=c(92018),h=c(36600);let i=(0,f.h)("backend/services/mcp/internal/registry"),j="filesystem",k="bash",l=h.H;async function m(){try{let a=await (0,d.YM)(e.Z.MCP_INTERNAL_OVERRIDES,{});return a&&"object"==typeof a?a:{}}catch(a){return i.warn("loadInternalOverrides: failed to read overrides",a),{}}}async function n(a,b){let c=await m();c[a]={...c[a]??{},disabled:b},await (0,d.VH)(e.Z.MCP_INTERNAL_OVERRIDES,c),i.info(`setInternalServerDisabled: ${a} -> disabled=${b}`)}async function o(a){let b=await m(),c=b[a]?.roots;return Array.isArray(c)?c.filter(a=>"string"==typeof a&&a.trim().length>0):[]}async function p(a,b){let c=Array.from(new Set((Array.isArray(b)?b:[]).map(a=>"string"==typeof a?a.trim():"").filter(Boolean))),f=await m();f[a]={...f[a]??{},roots:c},await (0,d.VH)(e.Z.MCP_INTERNAL_OVERRIDES,f),i.info(`setInternalServerRoots: ${a} -> ${c.length} root(s)`)}async function q(){let a=await m();return l.map(a=>{var b;return(b=a)===g._?(0,g.z)():{name:b,transport:"stdio",command:"",args:[],env:{},disabled:!1,autoApprove:[],rootPath:"",_buildCommand:"",_installCommand:"",builtIn:!0,exposeAsMcpServer:!0}}).map(b=>{let c=a[b.name];if(!c)return b;let d={...b};return c.disabled&&(d.disabled=!0),Array.isArray(c.roots)&&c.roots.length&&(d.roots=c.roots),d})}},95158:(a,b,c)=>{var d=c(55e3),e=c(34693),f=c(28315),g=c(42082),h=c(27950),i=c(11782);function j(a){var b=this.__data__=new d(a);this.size=b.size}j.prototype.clear=e,j.prototype.delete=f,j.prototype.get=g,j.prototype.has=h,j.prototype.set=i,a.exports=j},96016:(a,b,c)=>{var d=c(32390),e=c(23854),f=c(83246),g=c(5113),h=c(598);a.exports=function(a,b,c){var i=a.constructor;switch(b){case"[object ArrayBuffer]":return d(a);case"[object Boolean]":case"[object Date]":return new i(+a);case"[object DataView]":return e(a,c);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return h(a,c);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(a);case"[object RegExp]":return f(a);case"[object Symbol]":return g(a)}}},96101:a=>{a.exports=function(a,b){for(var c=-1,d=Array(a);++c<a;)d[c]=b(c);return d}},96239:(a,b,c)=>{"use strict";let{Writable:d}=c(27910),e=c(74240),{BINARY_TYPES:f,EMPTY_BUFFER:g,kStatusCode:h,kWebSocket:i}=c(32995),{concat:j,toArrayBuffer:k,unmask:l}=c(27047),{isValidStatusCode:m,isValidUTF8:n}=c(26649),o=Buffer[Symbol.species];class p extends d{constructor(a={}){super(),this._allowSynchronousEvents=void 0===a.allowSynchronousEvents||a.allowSynchronousEvents,this._binaryType=a.binaryType||f[0],this._extensions=a.extensions||{},this._isServer=!!a.isServer,this._maxBufferedChunks=0|a.maxBufferedChunks,this._maxFragments=0|a.maxFragments,this._maxPayload=0|a.maxPayload,this._skipUTF8Validation=!!a.skipUTF8Validation,this[i]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(a,b,c){return 8===this._opcode&&0==this._state?c():this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks?void c(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS")):void(this._bufferedBytes+=a.length,this._buffers.push(a),this.startLoop(c))}consume(a){if(this._bufferedBytes-=a,a===this._buffers[0].length)return this._buffers.shift();if(a<this._buffers[0].length){let b=this._buffers[0];return this._buffers[0]=new o(b.buffer,b.byteOffset+a,b.length-a),new o(b.buffer,b.byteOffset,a)}let b=Buffer.allocUnsafe(a);do{let c=this._buffers[0],d=b.length-a;a>=c.length?b.set(this._buffers.shift(),d):(b.set(new Uint8Array(c.buffer,c.byteOffset,a),d),this._buffers[0]=new o(c.buffer,c.byteOffset+a,c.length-a)),a-=c.length}while(a>0);return b}startLoop(a){this._loop=!0;do switch(this._state){case 0:this.getInfo(a);break;case 1:this.getPayloadLength16(a);break;case 2:this.getPayloadLength64(a);break;case 3:this.getMask();break;case 4:this.getData(a);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||a()}getInfo(a){if(this._bufferedBytes<2){this._loop=!1;return}let b=this.consume(2);if((48&b[0])!=0)return void a(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let c=(64&b[0])==64;if(c&&!this._extensions[e.extensionName])return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&b[0])==128,this._opcode=15&b[0],this._payloadLength=127&b[1],0===this._opcode){if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void a(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=c}else{if(!(this._opcode>7)||!(this._opcode<11))return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void a(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void a(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&b[1])==128,this._isServer){if(!this._masked)return void a(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void a(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(a)}getPayloadLength16(a){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(a)}getPayloadLength64(a){if(this._bufferedBytes<8){this._loop=!1;return}let b=this.consume(8),c=b.readUInt32BE(0);if(c>2097151)return void a(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));this._payloadLength=0x100000000*c+b.readUInt32BE(4),this.haveLength(a)}haveLength(a){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return void a(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(a){let b=g;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}b=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&l(b,this._mask)}if(this._opcode>7)return void this.controlMessage(b,a);if(this._compressed){this._state=5,this.decompress(b,a);return}if(b.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments)return void a(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));this._messageLength=this._totalPayloadLength,this._fragments.push(b)}this.dataMessage(a)}decompress(a,b){this._extensions[e.extensionName].decompress(a,this._fin,(a,c)=>{if(a)return b(a);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void b(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));if(this._maxFragments>0&&this._fragments.length>=this._maxFragments)return void b(this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));this._fragments.push(c)}this.dataMessage(b),0===this._state&&this.startLoop(b)})}dataMessage(a){if(!this._fin){this._state=0;return}let b=this._messageLength,c=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let d;d="nodebuffer"===this._binaryType?j(c,b):"arraybuffer"===this._binaryType?k(j(c,b)):"blob"===this._binaryType?new Blob(c):c,this._allowSynchronousEvents?(this.emit("message",d,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!0),this._state=0,this.startLoop(a)}))}else{let d=j(c,b);if(!this._skipUTF8Validation&&!n(d))return void a(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",d,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!1),this._state=0,this.startLoop(a)}))}}controlMessage(a,b){if(8===this._opcode){if(0===a.length)this._loop=!1,this.emit("conclude",1005,g),this.end();else{let c=a.readUInt16BE(0);if(!m(c))return void b(this.createError(RangeError,`invalid status code ${c}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let d=new o(a.buffer,a.byteOffset+2,a.length-2);if(!this._skipUTF8Validation&&!n(d))return void b(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",c,d),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",a),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",a),this._state=0,this.startLoop(b)}))}createError(a,b,c,d,e){this._loop=!1,this._errored=!0;let f=new a(c?`Invalid WebSocket frame: ${b}`:b);return Error.captureStackTrace(f,this.createError),f.code=e,f[h]=d,f}}a.exports=p},96249:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(94735),e=c(34115);let f=(0,c(18230).h)("backend/execution/flow/engine/ExecutionEventBus");class g{getChannel(a){let b=this.channels.get(a);if(!b){let c=new d.EventEmitter;c.setMaxListeners(0),b={emitter:c,seq:0,buffer:[]},this.channels.set(a,b)}return b}cancelCleanup(a){let b=this.cleanupTimers.get(a);b&&(clearTimeout(b),this.cleanupTimers.delete(a))}scheduleCleanup(a,b){this.cancelCleanup(a);let c=setTimeout(()=>{this.cleanupTimers.delete(a);let c=this.channels.get(a);c&&c.seq===b&&(c.emitter.listenerCount("event")>0||this.channels.delete(a))},3e5);"function"==typeof c.unref&&c.unref(),this.cleanupTimers.set(a,c)}emit(a,b){let c=this.getChannel(a),d=(0,e.allocateSeq)(a);c.seq=d+1;let f={...b,conversationId:a,seq:d,timestamp:Date.now()};return c.buffer.push(f),c.buffer.length>1e3&&c.buffer.shift(),c.emitter.emit("event",f),(0,e.appendFromBus)(f),this.publishGlobal(f),"run:done"===f.type?this.scheduleCleanup(a,c.seq):this.cancelCleanup(a),f}emitterFor(a){return b=>{try{this.emit(a,b)}catch(b){f.warn(`Failed to emit execution event for ${a}`,{err:b})}}}getBufferedSince(a,b){let c=this.channels.get(a);return c?c.buffer.filter(a=>a.seq>=b):[]}currentSeq(a){return this.channels.get(a)?.seq??0}subscribe(a,b){let c=this.getChannel(a);return c.emitter.on("event",b),()=>{c.emitter.off("event",b)}}publishGlobal(a){let b={globalSeq:this.globalSeq++,event:a};this.globalBuffer.push(b),this.globalBuffer.length>5e3&&this.globalBuffer.shift(),this.globalEmitter.emit("event",b)}subscribeGlobal(a){return this.globalEmitter.on("event",a),()=>{this.globalEmitter.off("event",a)}}getGlobalBufferedSince(a){return this.globalBuffer.filter(b=>b.globalSeq>=a)}currentGlobalSeq(){return this.globalSeq}constructor(){this.channels=new Map,this.cleanupTimers=new Map,this.globalEmitter=(()=>{let a=new d.EventEmitter;return a.setMaxListeners(0),a})(),this.globalSeq=0,this.globalBuffer=[]}}let h=globalThis,i=h.__flujoExecutionEventBus??(h.__flujoExecutionEventBus=new g)},96655:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},96698:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleAuth=b.GoogleAuthExceptionMessages=void 0;let d=c(79646),e=c(29021),f=c(79792),g=c(70916),h=c(21820),i=c(33873),j=c(88593),k=c(745),l=c(58500),m=c(25203),n=c(74829),o=c(31995),p=c(83e3),q=c(93209),r=c(35294),s=c(49502),t=c(29694),u=c(24420),v=c(45388);b.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:"Unable to detect a Project Id in the current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",NO_CREDENTIALS_FOUND:"Unable to find credentials in current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started",NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:"Unable to detect a Universe Domain in the current environment.\nTo learn more about Universe Domain retrieval, visit: \nhttps://cloud.google.com/compute/docs/metadata/predefined-metadata-keys"};class w{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#E=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(a={}){if(this._cachedProjectId=a.projectId||null,this.cachedCredential=a.authClient||null,this.keyFilename=a.keyFilename||a.keyFile,this.scopes=a.scopes,this.clientOptions=a.clientOptions||{},this.jsonContent=a.credentials||null,this.apiKey=a.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw RangeError(b.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);a.universeDomain&&(this.clientOptions.universeDomain=a.universeDomain)}setGapicJWTValues(a){a.defaultServicePath=this.defaultServicePath,a.useJWTAccessWithScope=this.useJWTAccessWithScope,a.defaultScopes=this.defaultScopes}getProjectId(a){if(!a)return this.getProjectIdAsync();this.getProjectIdAsync().then(b=>a(null,b),a)}async getProjectIdOptional(){try{return await this.getProjectId()}catch(a){if(a instanceof Error&&a.message===b.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw a}}async findAndCacheProjectId(){let a=null;if(a||=await this.getProductionProjectId(),a||=await this.getFileProjectId(),a||=await this.getDefaultServiceProjectId(),a||=await this.getGCEProjectId(),a||=await this.getExternalAccountClientProjectId())return this._cachedProjectId=a,a;throw Error(b.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let a;try{a=await g.universe("universe-domain"),a||=s.DEFAULT_UNIVERSE}catch(b){if(b&&b?.response?.status===404)a=s.DEFAULT_UNIVERSE;else throw b}return a}async getUniverseDomain(){let a=(0,v.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{a??=(await this.getClient()).universeDomain}catch{a??=s.DEFAULT_UNIVERSE}return a}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(a={},b){let c;if("function"==typeof a?b=a:c=a,!b)return this.getApplicationDefaultAsync(c);this.getApplicationDefaultAsync(c).then(a=>b(null,a.credential,a.projectId),b)}async getApplicationDefaultAsync(a={}){let c;if(this.cachedCredential)return await this.#F(this.cachedCredential,null);if((c=await this._tryGetApplicationCredentialsFromEnvironmentVariable(a))||(c=await this._tryGetApplicationCredentialsFromWellKnownFile(a)))return c instanceof n.JWT?c.scopes=this.scopes:c instanceof r.BaseExternalAccountClient&&(c.scopes=this.getAnyScopes()),await this.#F(c);if(await this._checkIsGCE())return a.scopes=this.getAnyScopes(),await this.#F(new k.Compute(a));throw Error(b.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async #F(a,b=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let c=await this.getProjectIdOptional();return b&&(a.quotaProjectId=b),this.cachedCredential=a,{credential:a,projectId:c}}async _checkIsGCE(){return void 0===this.checkIsGCE&&(this.checkIsGCE=g.getGCPResidency()||await g.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(a){let b=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!b||0===b.length)return null;try{return this._getApplicationCredentialsFromFilePath(b,a)}catch(a){throw a instanceof Error&&(a.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${a.message}`),a}}async _tryGetApplicationCredentialsFromWellKnownFile(a){let b=null;if(this._isWindows())b=process.env.APPDATA;else{let a=process.env.HOME;a&&(b=i.join(a,".config"))}return(b&&(b=i.join(b,"gcloud","application_default_credentials.json"),e.existsSync(b)||(b=null)),b)?await this._getApplicationCredentialsFromFilePath(b,a):null}async _getApplicationCredentialsFromFilePath(a,b={}){if(!a||0===a.length)throw Error("The file path is invalid.");try{if(a=e.realpathSync(a),!e.lstatSync(a).isFile())throw Error()}catch(b){throw b instanceof Error&&(b.message=`The file at ${a} does not exist, or it is not a file. ${b.message}`),b}let c=e.createReadStream(a);return this.fromStream(c,b)}fromImpersonatedJSON(a){if(!a)throw Error("Must pass in a JSON object containing an impersonated refresh token");if(a.type!==p.IMPERSONATED_ACCOUNT_TYPE)throw Error(`The incoming JSON object does not have the "${p.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!a.source_credentials)throw Error("The incoming JSON object does not contain a source_credentials field");if(!a.service_account_impersonation_url)throw Error("The incoming JSON object does not contain a service_account_impersonation_url field");let b=this.fromJSON(a.source_credentials);if(a.service_account_impersonation_url?.length>256)throw RangeError(`Target principal is too long: ${a.service_account_impersonation_url}`);let c=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(a.service_account_impersonation_url)?.groups?.target;if(!c)throw RangeError(`Cannot extract target principal from ${a.service_account_impersonation_url}`);let d=(this.scopes||a.scopes||this.defaultScopes)??[];return new p.Impersonated({...a,sourceClient:b,targetPrincipal:c,targetScopes:Array.isArray(d)?d:[d]})}fromJSON(a,b={}){let c,d=(0,v.originalOrCamelOptions)(b).get("universe_domain");return a.type===o.USER_REFRESH_ACCOUNT_TYPE?(c=new o.UserRefreshClient(b)).fromJSON(a):a.type===p.IMPERSONATED_ACCOUNT_TYPE?c=this.fromImpersonatedJSON(a):a.type===r.EXTERNAL_ACCOUNT_TYPE?(c=q.ExternalAccountClient.fromJSON({...a,...b})).scopes=this.getAnyScopes():a.type===t.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?c=new t.ExternalAccountAuthorizedUserClient({...a,...b}):a.type===u.GDCH_SERVICE_ACCOUNT_TYPE?(c=new u.GdchClient(b)).fromJSON(a):(b.scopes=this.scopes,c=new n.JWT(b),this.setGapicJWTValues(c),c.fromJSON(a)),d&&(c.universeDomain=d),c}_cacheClientFromJSON(a,b){let c=this.fromJSON(a,b);return this.jsonContent=a,this.cachedCredential=c,c}fromStream(a,b={},c){let d={};if("function"==typeof b?c=b:d=b,!c)return this.fromStreamAsync(a,d);this.fromStreamAsync(a,d).then(a=>c(null,a),c)}fromStreamAsync(a,b){return new Promise((c,d)=>{if(!a)throw Error("Must pass in a stream containing the Google auth settings.");let e=[];a.setEncoding("utf8").on("error",d).on("data",a=>e.push(a)).on("end",()=>{try{try{let a=JSON.parse(e.join("")),d=this._cacheClientFromJSON(a,b);return c(d)}catch(b){if(!this.keyFilename)throw b;let a=new n.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=a,this.setGapicJWTValues(a),c(a)}}catch(a){return d(a)}})})}fromAPIKey(a,b={}){return new n.JWT({...b,apiKey:a})}_isWindows(){let a=h.platform();return!!a&&!!(a.length>=3)&&"win"===a.substring(0,3).toLowerCase()}async getDefaultServiceProjectId(){return new Promise(a=>{(0,d.exec)("gcloud config config-helper --format json",(b,c)=>{if(!b&&c)try{let b=JSON.parse(c).configuration.properties.core.project;a(b);return}catch(a){}a(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let a=await this.getClient();if(a&&a.projectId)return a.projectId}let a=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return a?a.projectId:null}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==r.EXTERNAL_ACCOUNT_TYPE)return null;let a=await this.getClient();return await a.getProjectId()}async getGCEProjectId(){try{return await g.project("project-id")}catch(a){return null}}getCredentials(a){if(!a)return this.getCredentialsAsync();this.getCredentialsAsync().then(b=>a(null,b),a)}async getCredentialsAsync(){let a=await this.getClient();if(a instanceof p.Impersonated)return{client_email:a.getTargetPrincipal()};if(a instanceof r.BaseExternalAccountClient){let b=a.getServiceAccountEmail();if(b)return{client_email:b,universe_domain:a.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[a,b]=await Promise.all([g.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:a,universe_domain:b}}throw Error(b.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#E=this.#E||this.#G();try{let a=await this.#E;if(a instanceof u.GdchClient&&!a.apiAudience){let b=this.clientOptions,c=b.apiEndpoint||b.servicePath;if(c){let b=c.startsWith("http")?"":"https://",d=`${b}${c}/`.replace(/\/+$/,"/"),e=a.createWithGdchAudience(d);return this.cachedCredential=e,e}}return a}finally{this.#E=null}}async #G(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let a=i.resolve(this.keyFilename),b=e.createReadStream(a);return await this.fromStreamAsync(b,this.clientOptions)}if(this.apiKey){let a=await this.fromAPIKey(this.apiKey,this.clientOptions);a.scopes=this.scopes;let{credential:b}=await this.#F(a);return b}{let{credential:a}=await this.getApplicationDefaultAsync(this.clientOptions);return a}}async getIdTokenClient(a){let b=await this.getClient();if(!("fetchIdToken"in b))throw Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new l.IdTokenClient({targetAudience:a,idTokenProvider:b})}async getAccessToken(){let a=await this.getClient();return(await a.getAccessToken()).token}async getRequestHeaders(a){return(await this.getClient()).getRequestHeaders(a)}async authorizeRequest(a={}){let b=a.url,c=await this.getClient(),d=await c.getRequestHeaders(b);return a.headers=f.Gaxios.mergeHeaders(a.headers,d),a}async fetch(...a){return(await this.getClient()).fetch(...a)}async request(a){return(await this.getClient()).request(a)}getEnv(){return(0,m.getEnv)()}async sign(a,b){let c=await this.getClient(),d=await this.getUniverseDomain();if(b=b||`https://iamcredentials.${d}/v1/projects/-/serviceAccounts/`,c instanceof p.Impersonated)return(await c.sign(a)).signedBlob;let e=(0,j.createCrypto)();if(c instanceof n.JWT&&c.key)return await e.sign(c.key,a);let f=await this.getCredentials();if(!f.client_email)throw Error("Cannot sign data without `client_email`.");return this.signBlob(e,f.client_email,a,b)}async signBlob(a,b,c,d){let e=new URL(d+`${b}:signBlob`);return(await this.request({method:"POST",url:e.href,data:{payload:a.encodeBase64StringUtf8(c)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}}b.GoogleAuth=w},96918:(a,b,c)=>{var d=c(58009),e="object"==typeof self&&self&&self.Object===Object&&self;a.exports=d||e||Function("return this")()},97025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.validateUnion=b.validateArray=b.usePattern=b.callValidateCode=b.schemaProperties=b.allSchemaProperties=b.noPropertyInData=b.propertyInData=b.isOwnProperty=b.hasPropFunc=b.reportMissingProp=b.checkMissingProp=b.checkReportMissingProp=void 0;let d=c(31849),e=c(83593),f=c(60359),g=c(83593);function h(a){return a.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,d._)`Object.prototype.hasOwnProperty`})}function i(a,b,c){return(0,d._)`${h(a)}.call(${b}, ${c})`}function j(a,b,c,e){let f=(0,d._)`${b}${(0,d.getProperty)(c)} === undefined`;return e?(0,d.or)(f,(0,d.not)(i(a,b,c))):f}function k(a){return a?Object.keys(a).filter(a=>"__proto__"!==a):[]}b.checkReportMissingProp=function(a,b){let{gen:c,data:e,it:f}=a;c.if(j(c,e,b,f.opts.ownProperties),()=>{a.setParams({missingProperty:(0,d._)`${b}`},!0),a.error()})},b.checkMissingProp=function({gen:a,data:b,it:{opts:c}},e,f){return(0,d.or)(...e.map(e=>(0,d.and)(j(a,b,e,c.ownProperties),(0,d._)`${f} = ${e}`)))},b.reportMissingProp=function(a,b){a.setParams({missingProperty:b},!0),a.error()},b.hasPropFunc=h,b.isOwnProperty=i,b.propertyInData=function(a,b,c,e){let f=(0,d._)`${b}${(0,d.getProperty)(c)} !== undefined`;return e?(0,d._)`${f} && ${i(a,b,c)}`:f},b.noPropertyInData=j,b.allSchemaProperties=k,b.schemaProperties=function(a,b){return k(b).filter(c=>!(0,e.alwaysValidSchema)(a,b[c]))},b.callValidateCode=function({schemaCode:a,data:b,it:{gen:c,topSchemaRef:e,schemaPath:g,errorPath:h},it:i},j,k,l){let m=l?(0,d._)`${a}, ${b}, ${e}${g}`:b,n=[[f.default.instancePath,(0,d.strConcat)(f.default.instancePath,h)],[f.default.parentData,i.parentData],[f.default.parentDataProperty,i.parentDataProperty],[f.default.rootData,f.default.rootData]];i.opts.dynamicRef&&n.push([f.default.dynamicAnchors,f.default.dynamicAnchors]);let o=(0,d._)`${m}, ${c.object(...n)}`;return k!==d.nil?(0,d._)`${j}.call(${k}, ${o})`:(0,d._)`${j}(${o})`};let l=(0,d._)`new RegExp`;b.usePattern=function({gen:a,it:{opts:b}},c){let e=b.unicodeRegExp?"u":"",{regExp:f}=b.code,h=f(c,e);return a.scopeValue("pattern",{key:h.toString(),ref:h,code:(0,d._)`${"new RegExp"===f.code?l:(0,g.useFunc)(a,f)}(${c}, ${e})`})},b.validateArray=function(a){let{gen:b,data:c,keyword:f,it:g}=a,h=b.name("valid");if(g.allErrors){let a=b.let("valid",!0);return i(()=>b.assign(a,!1)),a}return b.var(h,!0),i(()=>b.break()),h;function i(g){let i=b.const("len",(0,d._)`${c}.length`);b.forRange("i",0,i,c=>{a.subschema({keyword:f,dataProp:c,dataPropType:e.Type.Num},h),b.if((0,d.not)(h),g)})}},b.validateUnion=function(a){let{gen:b,schema:c,keyword:f,it:g}=a;if(!Array.isArray(c))throw Error("ajv implementation error");if(c.some(a=>(0,e.alwaysValidSchema)(g,a))&&!g.opts.unevaluated)return;let h=b.let("valid",!1),i=b.name("_valid");b.block(()=>c.forEach((c,e)=>{let g=a.subschema({keyword:f,schemaProp:e,compositeRule:!0},i);b.assign(h,(0,d._)`${h} || ${i}`),a.mergeValidEvaluated(g,i)||b.if((0,d.not)(h))})),a.result(h,()=>a.reset(),()=>a.error(!0))}},97161:a=>{"use strict";a.exports.mixin=function(a,b){let c=Object.getOwnPropertyNames(b);for(let d=0;d<c.length;++d)Object.defineProperty(a,c[d],Object.getOwnPropertyDescriptor(b,c[d]))},a.exports.wrapperSymbol=Symbol("wrapper"),a.exports.implSymbol=Symbol("impl"),a.exports.wrapperForImpl=function(b){return b[a.exports.wrapperSymbol]},a.exports.implForWrapper=function(b){return b[a.exports.implSymbol]}},97198:a=>{a.exports=function(a){var b=[];if(null!=a)for(var c in Object(a))b.push(c);return b}},97236:a=>{"use strict";a.exports="undefined"!=typeof Reflect&&Reflect&&Reflect.apply},97250:(a,b,c)=>{"undefined"==typeof process||"renderer"===process.type||process.__nwjs?a.exports=c(81278):a.exports=c(35730)},97832:(a,b,c)=>{"use strict";c.d(b,{Do:()=>y,pF:()=>x,hO:()=>t,Gz:()=>z,C3:()=>B,eS:()=>A});var d=c(16977),e=c.n(d),f=c(79111),g=c(14247),h=c(18230);let i=(0,h.h)("utils/encryption/session"),j=global.__flujo_encryption_sessions??(global.__flujo_encryption_sessions=new Map),k=(0,h.h)("utils/encryption/secure");class l extends Error{constructor(a="Encryption is locked: user password required to access secrets"){super(a),this.name="EncryptionLockedError",Object.setPrototypeOf(this,l.prototype)}}let m="data_encryption_key",n="data_encryption_iv",o="data_encryption_salt",p="encryption_type";var q=function(a){return a.DEFAULT="default",a.USER="user",a}(q||{});function r(){let a=e().enc.Utf8.parse("flujo_fixed_salt_v1");return e().PBKDF2("FLUJO~",a,{keySize:8,iterations:1e5})}function s(a){let b;try{b=a.toString(e().enc.Utf8)}catch{return null}return RegExp("^[0-9a-f]{16}$").test(b)?b:null}async function t(){k.debug("initializeDefaultEncryption: Entering method");try{if(await z())return!0;let a=r(),b=e().lib.WordArray.random(8),c=e().lib.WordArray.random(16),d=e().AES.encrypt(b.toString(),a,{iv:c,mode:e().mode.CBC,padding:e().pad.Pkcs7}),h=e().enc.Utf8.parse("flujo_fixed_salt_v1"),i={[m]:d.toString(),[n]:c.toString(),[o]:h.toString(),encryption_version:1,[p]:"default"};return await (0,f.VH)(g.Z.ENCRYPTION_KEY,i),!0}catch(a){return k.error("initializeDefaultEncryption: Failed to initialize default encryption:",a),!1}}async function u(){k.debug("getDefaultDEK: Entering method");try{let a=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!a){if(!await t())return k.error("getDefaultDEK: Failed to initialize default encryption"),null;return await u()}if("default"!==a[p])return k.error("getDefaultDEK: Not using default encryption"),null;let b=a[m],c=e().enc.Hex.parse(a[n]),d=r(),h=e().AES.decrypt(b,d,{iv:c,mode:e().mode.CBC,padding:e().pad.Pkcs7});if(!s(h))return k.error("getDefaultDEK: Failed to decrypt DEK with default key"),null;return e().enc.Hex.parse(h.toString())}catch(a){return k.error("getDefaultDEK: Failed to get default DEK:",a),null}}async function v(a){k.debug("getUserDEK: Entering method");try{let b=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!b)return k.error("getUserDEK: No encryption metadata found"),null;if("user"!==b[p])return k.error("getUserDEK: Not using user encryption"),null;let c=b[m],d=e().enc.Hex.parse(b[n]),h=e().enc.Hex.parse(b[o]),i=e().PBKDF2(a,h,{keySize:8,iterations:1e5}),j=e().AES.decrypt(c,i,{iv:d,mode:e().mode.CBC,padding:e().pad.Pkcs7});if(!s(j))return k.error("getUserDEK: Failed to decrypt DEK with provided password"),null;return e().enc.Hex.parse(j.toString())}catch(a){return k.error("getUserDEK: Failed to get user DEK:",a),null}}async function w(a,b=!1){k.debug("getDEK: Entering method");try{if(b&&a){k.debug("getDEK: Using session token");let b=function(a){let b=j.get(a);if(!b)return i.warn(`Session not found: ${a}`),null;let c=Date.now();return c-b.createdAt>72e5?(i.warn(`Session expired: ${a}`),j.delete(a),null):(b.lastUsed=c,b.dek)}(a);if(b)return e().enc.Hex.parse(b);k.warn("getDEK: Invalid or expired session token, falling back to default encryption")}let c=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);if(!c){if(k.info("getDEK: No encryption metadata found, initializing default encryption"),!await t())return k.error("getDEK: Failed to initialize default encryption"),null;return await w(a,b)}if("user"!==c[p])return await u();{let c=global.__flujo_server_dek??null;if(c)return k.debug("getDEK: Using server unlock state for user encryption"),e().enc.Hex.parse(c);if(a&&!b){let b=await v(a);if(b)return b;k.warn("getDEK: Provided password did not yield a valid user DEK")}throw k.warn("getDEK: User encryption is locked (no unlock state or valid credential)"),new l}}catch(a){if(a instanceof l)throw a;k.error("getDEK: Failed to get DEK:",a);try{if(k.warn("getDEK: Attempting to initialize default encryption as error recovery"),await t())return await u()}catch(a){k.error("getDEK: Failed to initialize default encryption as error recovery:",a)}return null}}async function x(a,b,c=!1){k.debug("encryptWithPassword: Entering method");try{let d=await w(b,c);if(!d)return null;let f=e().lib.WordArray.random(16),g=e().AES.encrypt(a,d,{iv:f,mode:e().mode.CBC,padding:e().pad.Pkcs7});return f.toString()+":"+g.toString()}catch(a){if(a instanceof l)throw a;return k.error("encryptWithPassword: Failed to encrypt data:",a),null}}async function y(a,b,c=!1){k.debug("decryptWithPassword: Entering method");try{let d=await w(b,c);if(!d)return null;let f=a.split(":");if(2!==f.length)return k.error("decryptWithPassword: Invalid ciphertext format"),null;let g=e().enc.Hex.parse(f[0]),h=f[1];return e().AES.decrypt(h,d,{iv:g,mode:e().mode.CBC,padding:e().pad.Pkcs7}).toString(e().enc.Utf8)}catch(a){if(a instanceof l)throw a;return k.error("decryptWithPassword: Failed to decrypt data:",a),null}}async function z(){return k.debug("isEncryptionInitialized: Entering method"),null!==await (0,f.YM)(g.Z.ENCRYPTION_KEY,null)}async function A(){k.debug("isUserEncryptionEnabled: Entering method");let a=await (0,f.YM)(g.Z.ENCRYPTION_KEY,null);return null!=a&&"user"===a[p]}async function B(){return await A()&&!global.__flujo_server_dek}},97887:(a,b,c)=>{"use strict";let d=c(33873),e=c(3258),f=c(91480),g=c(53859),h="win32"===process.platform,i=/\.(?:com|exe)$/i,j=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;a.exports=function(a,b,c){b&&!Array.isArray(b)&&(c=b,b=null);let k={command:a,args:b=b?b.slice(0):[],options:c=Object.assign({},c),file:void 0,original:{command:a,args:b}};return c.shell?k:function(a){if(!h)return a;let b=function(a){a.file=e(a);let b=a.file&&g(a.file);return b?(a.args.unshift(a.file),a.command=b,e(a)):a.file}(a),c=!i.test(b);if(a.options.forceShell||c){let c=j.test(b);a.command=d.normalize(a.command),a.command=f.command(a.command),a.args=a.args.map(a=>f.argument(a,c));let e=[a.command].concat(a.args).join(" ");a.args=["/d","/s","/c",`"${e}"`],a.command=process.env.comspec||"cmd.exe",a.options.windowsVerbatimArguments=!0}return a}(k)}},97922:(a,b,c)=>{a.exports=c(96918).Symbol},98142:(a,b,c)=>{var d=c(61048);a.exports=function(a){return d(this,a).get(a)}},98229:a=>{"use strict";a.exports=Math.pow},98402:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(29005)},99139:(a,b,c)=>{var d=c(44724),e=c(84833),f=c(68041);a.exports=function(a,b,c){for(var g=e(a);g.index<(g.keyedList||a).length;)d(a,b,g,function(a,b){return a?void c(a,b):0===Object.keys(g.jobs).length?void c(null,g.results):void 0}),g.index++;return f.bind(g,c)}},99276:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});let d=c(31849),e=c(83593),f=c(97025),g=c(84817);b.default={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:a}})=>(0,d.str)`must NOT have more than ${a} items`,params:({params:{len:a}})=>(0,d._)`{limit: ${a}}`},code(a){let{schema:b,parentSchema:c,it:d}=a,{prefixItems:h}=c;d.items=!0,(0,e.alwaysValidSchema)(d,b)||(h?(0,g.validateAdditionalItems)(a,h):a.ok((0,f.validateArray)(a)))}}},99303:(a,b,c)=>{var d=c(61048);a.exports=function(a){var b=d(this,a).delete(a);return this.size-=!!b,b}},99925:(a,b,c)=>{"use strict";let d=c(67729),e=c(97161),f=c(24860),g=e.implSymbol;function h(b){if(!this||this[g]||!(this instanceof h))throw TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let c=[];for(let a=0;a<arguments.length&&a<2;++a)c[a]=arguments[a];c[0]=d.USVString(c[0]),void 0!==c[1]&&(c[1]=d.USVString(c[1])),a.exports.setup(this,c)}h.prototype.toJSON=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");let b=[];for(let a=0;a<arguments.length&&a<0;++a)b[a]=arguments[a];return this[g].toJSON.apply(this[g],b)},Object.defineProperty(h.prototype,"href",{get(){return this[g].href},set(a){a=d.USVString(a),this[g].href=a},enumerable:!0,configurable:!0}),h.prototype.toString=function(){if(!this||!a.exports.is(this))throw TypeError("Illegal invocation");return this.href},Object.defineProperty(h.prototype,"origin",{get(){return this[g].origin},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"protocol",{get(){return this[g].protocol},set(a){a=d.USVString(a),this[g].protocol=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"username",{get(){return this[g].username},set(a){a=d.USVString(a),this[g].username=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"password",{get(){return this[g].password},set(a){a=d.USVString(a),this[g].password=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"host",{get(){return this[g].host},set(a){a=d.USVString(a),this[g].host=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hostname",{get(){return this[g].hostname},set(a){a=d.USVString(a),this[g].hostname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"port",{get(){return this[g].port},set(a){a=d.USVString(a),this[g].port=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"pathname",{get(){return this[g].pathname},set(a){a=d.USVString(a),this[g].pathname=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"search",{get(){return this[g].search},set(a){a=d.USVString(a),this[g].search=a},enumerable:!0,configurable:!0}),Object.defineProperty(h.prototype,"hash",{get(){return this[g].hash},set(a){a=d.USVString(a),this[g].hash=a},enumerable:!0,configurable:!0}),a.exports={is:a=>!!a&&a[g]instanceof f.implementation,create(a,b){let c=Object.create(h.prototype);return this.setup(c,a,b),c},setup(a,b,c){c||(c={}),c.wrapper=a,a[g]=new f.implementation(b,c),a[g][e.wrapperSymbol]=a},interface:h,expose:{Window:{URL:h},Worker:{URL:h}}}}};