@pen.dev/cli 0.3.3 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +13 -6
  2. package/dist/anthropic-messages-xcJLXjiT.mjs +40 -0
  3. package/dist/azure-openai-responses-CoA9_5_J.mjs +2 -0
  4. package/dist/dist-Dmu1Pp1Y.mjs +1580 -0
  5. package/dist/{dist-BY6vOcMF.mjs → dist-L3CkgNK3.mjs} +2 -2
  6. package/dist/{error-body-D2Mrqb4g.mjs → error-body-BBlqjbe7.mjs} +1 -1
  7. package/dist/google-generative-ai-CFHCNDEQ.mjs +2 -0
  8. package/dist/google-shared-DolBdAGX.mjs +318 -0
  9. package/dist/google-vertex-tT_ymu8S.mjs +2 -0
  10. package/dist/index.mjs +2 -2
  11. package/dist/lib-EA7A-_Pc.mjs +9 -0
  12. package/dist/mistral-conversations-CsN5eF3B.mjs +5 -0
  13. package/dist/models-BBd5zwn6.mjs +2 -0
  14. package/dist/node_modules/@highagency/pencil-wasm/package.json +1 -1
  15. package/dist/node_modules/@highagency/pencil-wasm/pencil.d.ts +3 -0
  16. package/dist/node_modules/@highagency/pencil-wasm/pencil.js +1 -1
  17. package/dist/node_modules/@highagency/pencil-wasm/pencil.wasm +0 -0
  18. package/dist/openai-CbFQ5q5I.mjs +18 -0
  19. package/dist/openai-codex-responses-BIh-ZL5a.mjs +8 -0
  20. package/dist/openai-completions-CLJSzdfY.mjs +6 -0
  21. package/dist/openai-responses-DKbl253t.mjs +2 -0
  22. package/dist/openai-responses-shared-Brqyk2bc.mjs +11 -0
  23. package/dist/{openrouter-images-BbBWg9zF.mjs → openrouter-images-C8mOFqx9.mjs} +1 -1
  24. package/dist/out/mcp-server-darwin-arm64 +0 -0
  25. package/dist/out/mcp-server-darwin-x64 +0 -0
  26. package/dist/out/mcp-server-linux-arm64 +0 -0
  27. package/dist/out/mcp-server-linux-x64 +0 -0
  28. package/dist/out/mcp-server-windows-arm64.exe +0 -0
  29. package/dist/out/mcp-server-windows-x64.exe +0 -0
  30. package/dist/out/skills/pen-dev/SKILL.md +204 -0
  31. package/dist/out/skills/pen-dev/execute.md +364 -0
  32. package/dist/out/skills/pen-dev/guide/code.md +198 -0
  33. package/dist/out/skills/pen-dev/guide/components.md +45 -0
  34. package/dist/out/skills/pen-dev/guide/design-system.md +556 -0
  35. package/dist/out/skills/pen-dev/guide/landing-page.md +31 -0
  36. package/dist/out/skills/pen-dev/guide/mobile-app.md +31 -0
  37. package/dist/out/skills/pen-dev/guide/slides.md +222 -0
  38. package/dist/out/skills/pen-dev/guide/table.md +37 -0
  39. package/dist/out/skills/pen-dev/guide/tailwind.md +328 -0
  40. package/dist/out/skills/pen-dev/guide/web-app.md +245 -0
  41. package/dist/out/skills/pen-dev/pen-schema.md +202 -0
  42. package/dist/out/skills/pen-dev/scripts-and-shaders.md +94 -0
  43. package/dist/{pi-messages-CSXUHkjV.mjs → pi-messages-CucvyzBS.mjs} +2 -2
  44. package/dist/transform-messages-1ulTEFY1.mjs +2 -0
  45. package/dist/typescript-D0uAMumm.mjs +6 -0
  46. package/package.json +3 -3
  47. package/dist/anthropic-messages-Bf-fvkNu.mjs +0 -40
  48. package/dist/azure-openai-responses-CzgVqECr.mjs +0 -2
  49. package/dist/completionchunk-BQtPqA8U.mjs +0 -28
  50. package/dist/dist-BEo0Z8Vf.mjs +0 -1558
  51. package/dist/google-generative-ai-DSOqI0LF.mjs +0 -2
  52. package/dist/google-shared-CetPT_Vt.mjs +0 -318
  53. package/dist/google-vertex-CPtOc5oU.mjs +0 -2
  54. package/dist/mistral-conversations-CUsdbDQ8.mjs +0 -10
  55. package/dist/models-CwK5xZH9.mjs +0 -2
  56. package/dist/openai-Brr_V-tF.mjs +0 -17
  57. package/dist/openai-codex-responses-Cb5pfH5S.mjs +0 -8
  58. package/dist/openai-completions-BvTlcCeP.mjs +0 -6
  59. package/dist/openai-responses-IuaLTEHh.mjs +0 -2
  60. package/dist/openai-responses-shared-D4d0NbBE.mjs +0 -11
  61. package/dist/otel-CaADOqYZ.mjs +0 -4
  62. package/dist/transform-messages-CSBQpmXO.mjs +0 -2
  63. /package/dist/{deferred-tools-D8j2Ra6f.mjs → deferred-tools-CozAnCQL.mjs} +0 -0
  64. /package/dist/{github-copilot-headers-DZOfokGy.mjs → github-copilot-headers-DCj7hJoC.mjs} +0 -0
  65. /package/dist/{hash-Kp92CI9R.mjs → hash-DNYCELl4.mjs} +0 -0
  66. /package/dist/{headers-BvGum5dc.mjs → headers-DlpC0ues.mjs} +0 -0
  67. /package/dist/{openai-prompt-cache-t4kk9puG.mjs → openai-prompt-cache-tVHrB8oW.mjs} +0 -0
  68. /package/dist/{photon_rs-BySSRmP5.mjs → photon_rs-o0nbTM4F.mjs} +0 -0
  69. /package/dist/{provider-retry-BM3ArvaW.mjs → provider-retry-GaV_ioT7.mjs} +0 -0
  70. /package/dist/{sanitize-unicode-CHjuq5rK.mjs → sanitize-unicode-D-15laVS.mjs} +0 -0
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ import{ct as e}from"./index.mjs";var t=e(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(function(t){var r=e[t];typeof r==`object`&&!Object.isFrozen(r)&&n(r)}),e}var r=n;r.default=n;var i=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function a(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`)}function o(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}let s=e=>!!e.kind;var c=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=a(e)}openNode(e){if(!s(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){s(e)&&(this.buffer+=`</span>`)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},l=class e{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},u=class extends l{constructor(e){super(),this.options=e}addKeyword(e,t){e!==``&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){e!==``&&this.add(e)}addSublanguage(e,t){let n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new c(this,this.options).value()}finalize(){return!0}};function d(e){return new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`),`m`)}function f(e){return e?typeof e==`string`?e:e.source:null}function p(...e){return e.map(e=>f(e)).join(``)}function m(...e){return`(`+e.map(e=>f(e)).join(`|`)+`)`}function h(e){return RegExp(e.toString()+`|`).exec(``).length-1}function g(e,t){let n=e&&e.exec(t);return n&&n.index===0}let _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function v(e,t=`|`){let n=0;return e.map(e=>{n+=1;let t=n,r=f(e),i=``;for(;r.length>0;){let e=_.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}let y=/\b\B/,b=`[a-zA-Z]\\w*`,x=`[a-zA-Z_]\\w*`,S=`\\b\\d+(\\.\\d+)?`,C=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,w=`\\b(0b[01]+)`,T=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=p(t,/.*\b/,e.binary,/\b.*/)),o({className:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},E={begin:`\\\\[\\s\\S]`,relevance:0},D={className:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[E]},O={className:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[E]},k={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},A=function(e,t,n={}){let r=o({className:`comment`,begin:e,end:t,contains:[]},n);return r.contains.push(k),r.contains.push({className:`doctag`,begin:`(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):`,relevance:0}),r},j=A(`//`,`$`),M=A(`/\\*`,`\\*/`),N=A(`#`,`$`),P={className:`number`,begin:S,relevance:0},F={className:`number`,begin:C,relevance:0},I={className:`number`,begin:w,relevance:0},L={className:`number`,begin:S+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},R={begin:/(?=\/[^/\n]*\/)/,contains:[{className:`regexp`,begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[E,{begin:/\[/,end:/\]/,relevance:0,contains:[E]}]}]},z={className:`title`,begin:b,relevance:0},B={className:`title`,begin:x,relevance:0},V={begin:`\\.\\s*`+x,relevance:0};var H=Object.freeze({__proto__:null,MATCH_NOTHING_RE:y,IDENT_RE:b,UNDERSCORE_IDENT_RE:x,NUMBER_RE:S,C_NUMBER_RE:C,BINARY_NUMBER_RE:w,RE_STARTERS_RE:`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,SHEBANG:T,BACKSLASH_ESCAPE:E,APOS_STRING_MODE:D,QUOTE_STRING_MODE:O,PHRASAL_WORDS_MODE:k,COMMENT:A,C_LINE_COMMENT_MODE:j,C_BLOCK_COMMENT_MODE:M,HASH_COMMENT_MODE:N,NUMBER_MODE:P,C_NUMBER_MODE:F,BINARY_NUMBER_MODE:I,CSS_NUMBER_MODE:L,REGEXP_MODE:R,TITLE_MODE:z,UNDERSCORE_TITLE_MODE:B,METHOD_GUARD:V,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function U(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function W(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=U,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function G(e,t){Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function K(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ee(e,t){e.relevance===void 0&&(e.relevance=1)}let q=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`];function J(e,t,n=`keyword`){let r={};return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,J(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,te(n[0],n[1])]})}}function te(e,t){return t?Number(t):ne(e)?0:1}function ne(e){return q.includes(e.toLowerCase())}function re(e,{plugins:t}){function n(t,n){return new RegExp(f(t),`m`+(e.case_insensitive?`i`:``)+(n?`g`:``))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=h(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null),this.matcherRe=n(v(this.regexes.map(e=>e[1])),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new r;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function a(e){let t=new i;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function s(t,r){let i=t;if(t.isCompiled)return i;[K].forEach(e=>e(t,r)),e.compilerExtensions.forEach(e=>e(t,r)),t.__beforeBegin=null,[W,G,ee].forEach(e=>e(t,r)),t.isCompiled=!0;let o=null;if(typeof t.keywords==`object`&&(o=t.keywords.$pattern,delete t.keywords.$pattern),t.keywords&&=J(t.keywords,e.case_insensitive),t.lexemes&&o)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return o=o||t.lexemes||/\w+/,i.keywordPatternRe=n(o,!0),r&&(t.begin||=/\B|\b/,i.beginRe=n(t.begin),t.endSameAsBegin&&(t.end=t.begin),!t.end&&!t.endsWithParent&&(t.end=/\B|\b/),t.end&&(i.endRe=n(t.end)),i.terminatorEnd=f(t.end)||``,t.endsWithParent&&r.terminatorEnd&&(i.terminatorEnd+=(t.end?`|`:``)+r.terminatorEnd)),t.illegal&&(i.illegalRe=n(t.illegal)),t.contains||=[],t.contains=[].concat(...t.contains.map(function(e){return ie(e===`self`?t:e)})),t.contains.forEach(function(e){s(e,i)}),t.starts&&s(t.starts,r),i.matcher=a(i),i}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=o(e.classNameAliases||{}),s(e)}function Y(e){return e?e.endsWithParent||Y(e.starts):!1}function ie(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return o(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Y(e)?o(e,{starts:e.starts?o(e.starts):null}):Object.isFrozen(e)?o(e):e}var ae=`10.7.3`;function oe(e){return!!(e||e===``)}function se(e){let t={props:[`language`,`code`,`autodetect`],data:function(){return{detectedLanguage:``,unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?``:`hljs `+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,a(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||oe(this.autodetect)},ignoreIllegals(){return!0}},render(e){return e(`pre`,{},[e(`code`,{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component(`highlightjs`,t)}}}}let ce={"after:highlightElement":({el:e,result:t,text:n})=>{let r=le(e);if(!r.length)return;let i=document.createElement(`div`);i.innerHTML=t.value,t.value=ue(r,le(i),n)}};function X(e){return e.nodeName.toLowerCase()}function le(e){let t=[];return(function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)i.nodeType===3?r+=i.nodeValue.length:i.nodeType===1&&(t.push({event:`start`,offset:r,node:i}),r=e(i,r),X(i).match(/br|hr|img|input/)||t.push({event:`stop`,offset:r,node:i}));return r})(e,0),t}function ue(e,t,n){let r=0,i=``,o=[];function s(){return!e.length||!t.length?e.length?e:t:e[0].offset===t[0].offset?t[0].event===`start`?e:t:e[0].offset<t[0].offset?e:t}function c(e){function t(e){return` `+e.nodeName+`="`+a(e.value)+`"`}i+=`<`+X(e)+[].map.call(e.attributes,t).join(``)+`>`}function l(e){i+=`</`+X(e)+`>`}function u(e){(e.event===`start`?c:l)(e.node)}for(;e.length||t.length;){let t=s();if(i+=a(n.substring(r,t[0].offset)),r=t[0].offset,t===e){o.reverse().forEach(l);do u(t.splice(0,1)[0]),t=s();while(t===e&&t.length&&t[0].offset===r);o.reverse().forEach(c)}else t[0].event===`start`?o.push(t[0].node):o.pop(),u(t.splice(0,1)[0])}return i+a(n.substr(r))}let de={},Z=e=>{console.error(e)},fe=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Q=(e,t)=>{de[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),de[`${e}/${t}`]=!0)},$=a,pe=o,me=Symbol(`nomatch`);t.exports=function(e){let t=Object.create(null),n=Object.create(null),a=[],o=!0,s=/(^(<[^>]+>|\t|)+|\n)/gm,c=`Could not find the language '{}', did you forget to load/include a language module?`,l={disableAutodetect:!0,name:`Plain text`,contains:[]},f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function m(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=f.languageDetectRe.exec(t);if(n){let t=I(n[1]);return t||(fe(c.replace(`{}`,n[1])),fe(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>p(e)||I(e))}function h(e,t,n,r){let i=``,a=``;typeof t==`object`?(i=e,n=t.ignoreIllegals,a=t.language,r=void 0):(Q(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),Q(`10.7.0`,`Please use highlight(code, options) instead.
3
+ https://github.com/highlightjs/highlight.js/issues/2277`),a=e,i=t);let o={code:i,language:a};V(`before:highlight`,o);let s=o.result?o.result:_(o.language,o.code,n,r);return s.code=o.code,V(`after:highlight`,s),s}function _(e,n,r,s){function l(e,t){let n=E.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){if(!k.keywords){j.addText(M);return}let e=0;k.keywordPatternRe.lastIndex=0;let t=k.keywordPatternRe.exec(M),n=``;for(;t;){n+=M.substring(e,t.index);let r=l(k,t);if(r){let[e,i]=r;if(j.addText(n),n=``,N+=i,e.startsWith(`_`))n+=t[0];else{let n=E.classNameAliases[e]||e;j.addKeyword(t[0],n)}}else n+=t[0];e=k.keywordPatternRe.lastIndex,t=k.keywordPatternRe.exec(M)}n+=M.substr(e),j.addText(n)}function p(){if(M===``)return;let e=null;if(typeof k.subLanguage==`string`){if(!t[k.subLanguage]){j.addText(M);return}e=_(k.subLanguage,M,!0,A[k.subLanguage]),A[k.subLanguage]=e.top}else e=y(M,k.subLanguage.length?k.subLanguage:null);k.relevance>0&&(N+=e.relevance),j.addSublanguage(e.emitter,e.language)}function m(){k.subLanguage==null?u():p(),M=``}function h(e){return e.className&&j.openNode(E.classNameAliases[e.className]||e.className),k=Object.create(e,{parent:{value:k}}),k}function v(e,t,n){let r=g(e.endRe,n);if(r){if(e[`on:end`]){let n=new i(e);e[`on:end`](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return v(e.parent,t,n)}function b(e){return k.matcher.regexIndex===0?(M+=e[0],1):(L=!0,0)}function x(e){let t=e[0],n=e.rule,r=new i(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,r),r.isMatchIgnored))return b(t);return n&&n.endSameAsBegin&&(n.endRe=d(t)),n.skip?M+=t:(n.excludeBegin&&(M+=t),m(),!n.returnBegin&&!n.excludeBegin&&(M=t)),h(n),n.returnBegin?0:t.length}function S(e){let t=e[0],r=n.substr(e.index),i=v(k,e,r);if(!i)return me;let a=k;a.skip?M+=t:(a.returnEnd||a.excludeEnd||(M+=t),m(),a.excludeEnd&&(M=t));do k.className&&j.closeNode(),!k.skip&&!k.subLanguage&&(N+=k.relevance),k=k.parent;while(k!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),h(i.starts)),a.returnEnd?0:t.length}function C(){let e=[];for(let t=k;t!==E;t=t.parent)t.className&&e.unshift(t.className);e.forEach(e=>j.openNode(e))}let w={};function T(t,i){let a=i&&i[0];if(M+=t,a==null)return m(),0;if(w.type===`begin`&&i.type===`end`&&w.index===i.index&&a===``){if(M+=n.slice(i.index,i.index+1),!o){let t=Error(`0 width match regex`);throw t.languageName=e,t.badRule=w.rule,t}return 1}if(w=i,i.type===`begin`)return x(i);if(i.type===`illegal`&&!r){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(k.className||`<unnamed>`)+`"`);throw e.mode=k,e}else if(i.type===`end`){let e=S(i);if(e!==me)return e}if(i.type===`illegal`&&a===``)return 1;if(F>1e5&&F>i.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return M+=a,a.length}let E=I(e);if(!E)throw Z(c.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let D=re(E,{plugins:a}),O=``,k=s||D,A={},j=new f.__emitter(f);C();let M=``,N=0,P=0,F=0,L=!1;try{for(k.matcher.considerAll();;){F++,L?L=!1:k.matcher.considerAll(),k.matcher.lastIndex=P;let e=k.matcher.exec(n);if(!e)break;let t=T(n.substring(P,e.index),e);P=e.index+t}return T(n.substr(P)),j.closeAllNodes(),j.finalize(),O=j.toHTML(),{relevance:Math.floor(N),value:O,language:e,illegal:!1,emitter:j,top:k}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(P-100,P+100),mode:t.mode},sofar:O,relevance:0,value:$(n),emitter:j};if(o)return{illegal:!1,relevance:0,value:$(n),emitter:j,language:e,top:k,errorRaised:t};throw t}}function v(e){let t={relevance:0,emitter:new f.__emitter(f),value:$(e),illegal:!1,top:l};return t.emitter.addText(e),t}function y(e,n){n=n||f.languages||Object.keys(t);let r=v(e),i=n.filter(I).filter(R).map(t=>_(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(I(e.language).supersetOf===t.language)return 1;if(I(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.second_best=o,s}function b(e){return f.tabReplace||f.useBR?e.replace(s,e=>e===`
4
+ `?f.useBR?`<br>`:e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function x(e,t,r){let i=t?n[t]:r;e.classList.add(`hljs`),i&&e.classList.add(i)}let S={"before:highlightElement":({el:e})=>{f.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,``).replace(/<br[ /]*>/g,`
5
+ `))},"after:highlightElement":({result:e})=>{f.useBR&&(e.value=e.value.replace(/\n/g,`<br>`))}},C=/^(<[^>]+>|\t)+/gm,w={"after:highlightElement":({result:e})=>{f.tabReplace&&(e.value=e.value.replace(C,e=>e.replace(/\t/g,f.tabReplace)))}};function T(e){let t=null,n=m(e);if(p(n))return;V(`before:highlightElement`,{el:e,language:n}),t=e;let r=t.textContent,i=n?h(r,{language:n,ignoreIllegals:!0}):y(r);V(`after:highlightElement`,{el:e,result:i,text:r}),e.innerHTML=i.value,x(e,n,i.language),e.result={language:i.language,re:i.relevance,relavance:i.relevance},i.second_best&&(e.second_best={language:i.second_best.language,re:i.second_best.relevance,relavance:i.second_best.relevance})}function E(e){e.useBR&&(Q(`10.3.0`,`'useBR' will be removed entirely in v11.0`),Q(`10.3.0`,`Please see https://github.com/highlightjs/highlight.js/issues/2559`)),f=pe(f,e)}let D=()=>{D.called||(D.called=!0,Q(`10.6.0`,`initHighlighting() is deprecated. Use highlightAll() instead.`),document.querySelectorAll(`pre code`).forEach(T))};function O(){Q(`10.6.0`,`initHighlightingOnLoad() is deprecated. Use highlightAll() instead.`),k=!0}let k=!1;function A(){if(document.readyState===`loading`){k=!0;return}document.querySelectorAll(`pre code`).forEach(T)}function j(){k&&A()}typeof window<`u`&&window.addEventListener&&window.addEventListener(`DOMContentLoaded`,j,!1);function M(n,r){let i=null;try{i=r(e)}catch(e){if(Z(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)Z(e);else throw e;i=l}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&L(i.aliases,{languageName:n})}function N(e){delete t[e];for(let t of Object.keys(n))n[t]===e&&delete n[t]}function P(){return Object.keys(t)}function F(e){Q(`10.4.0`,`requireLanguage will be removed entirely in v11.`),Q(`10.4.0`,`Please see https://github.com/highlightjs/highlight.js/pull/2844`);let t=I(e);if(t)return t;throw Error(`The '{}' language is required, but not loaded.`.replace(`{}`,e))}function I(e){return e=(e||``).toLowerCase(),t[e]||t[n[e]]}function L(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{n[e.toLowerCase()]=t})}function R(e){let t=I(e);return t&&!t.disableAutodetect}function z(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function B(e){z(e),a.push(e)}function V(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function U(e){return Q(`10.2.0`,`fixMarkup will be removed entirely in v11.0`),Q(`10.2.0`,`Please see https://github.com/highlightjs/highlight.js/issues/2534`),b(e)}function W(e){return Q(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),Q(`10.7.0`,`Please use highlightElement now.`),T(e)}Object.assign(e,{highlight:h,highlightAuto:y,highlightAll:A,fixMarkup:U,highlightElement:T,highlightBlock:W,configure:E,initHighlighting:D,initHighlightingOnLoad:O,registerLanguage:M,unregisterLanguage:N,listLanguages:P,getLanguage:I,registerAliases:L,requireLanguage:F,autoDetection:R,inherit:pe,addPlugin:B,vuePlugin:se(e).VuePlugin}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=ae;for(let e in H)typeof H[e]==`object`&&r(H[e]);return Object.assign(e,H),e.addPlugin(S),e.addPlugin(ce),e.addPlugin(w),e}({})})),n=e(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(...e){return e.map(e=>n(e)).join(``)}function i(e){let t={},n={begin:/\$\{/,end:/\}/,contains:[`self`,{begin:/:-/,contains:[t]}]};Object.assign(t,{className:`variable`,variants:[{begin:r(/\$[\w\d#@][\w\d_]*/,`(?![\\w\\d])(?![$])`)},n]});let i={className:`subst`,begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:`string`})]}},o={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(o);let s={className:``,begin:/\\"/},c={className:`string`,begin:/'/,end:/'/},l={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:`number`},e.NUMBER_MODE,t]},u=e.SHEBANG({binary:`(${[`fish`,`bash`,`zsh`,`sh`,`csh`,`ksh`,`tcsh`,`dash`,`scsh`].join(`|`)})`,relevance:10}),d={className:`function`,begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:`Bash`,aliases:[`sh`,`zsh`],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:`if then else elif fi for while in do done case esac function`,literal:`true false`,built_in:`break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp`},contains:[u,e.SHEBANG(),d,l,e.HASH_COMMENT_MODE,a,o,s,c,t]}}t.exports=i})),r=e(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(e){return i(`(`,e,`)?`)}function i(...e){return e.map(e=>n(e)).join(``)}function a(e){let t=e.COMMENT(`//`,`$`,{contains:[{begin:/\\\n/}]}),n=`decltype\\(auto\\)`,i=`[a-zA-Z_]\\w*::`,a=`(`+n+`|`+r(i)+`[a-zA-Z_]\\w*`+r(`<[^<>]+>`)+`)`,o={className:`keyword`,begin:`\\b[a-z\\d_]*_t\\b`},s={className:`string`,variants:[{begin:`(u8?|U|L)?"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]},{begin:`(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)`,end:`'`,illegal:`.`},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:`number`,variants:[{begin:`\\b(0b[01']+)`},{begin:`(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)`},{begin:`(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)`}],relevance:0},l={className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":`if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:`meta-string`}),{className:`meta-string`,begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},u={className:`title`,begin:r(i)+e.IDENT_RE,relevance:0},d=r(i)+e.IDENT_RE+`\\s*\\(`,f={keyword:`int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq`,built_in:`std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary`,literal:`true false nullptr NULL`},p=[l,o,t,e.C_BLOCK_COMMENT_MODE,c,s],m={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:`new throw return else`,end:/;/}],keywords:f,contains:p.concat([{begin:/\(/,end:/\)/,keywords:f,contains:p.concat([`self`]),relevance:0}]),relevance:0},h={className:`function`,begin:`(`+a+`[\\*&\\s]+)+`+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:f,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:f,relevance:0},{begin:d,returnBegin:!0,contains:[u],relevance:0},{className:`params`,begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,s,c,o,{begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[`self`,t,e.C_BLOCK_COMMENT_MODE,s,c,o]}]},o,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:`C`,aliases:[`h`],keywords:f,disableAutodetect:!0,illegal:`</`,contains:[].concat(m,h,p,[l,{begin:`\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<`,end:`>`,keywords:f,contains:[`self`,o]},{begin:e.IDENT_RE+`::`,keywords:f},{className:`class`,beginKeywords:`enum class struct union`,end:/[{;:<>=]/,contains:[{beginKeywords:`final class struct`},e.TITLE_MODE]}]),exports:{preprocessor:l,strings:s,keywords:f}}}t.exports=a})),i=e(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(e){return a(`(?=`,e,`)`)}function i(e){return a(`(`,e,`)?`)}function a(...e){return e.map(e=>n(e)).join(``)}function o(e){let t=e.COMMENT(`//`,`$`,{contains:[{begin:/\\\n/}]}),n=`decltype\\(auto\\)`,o=`[a-zA-Z_]\\w*::`,s=`(`+n+`|`+i(o)+`[a-zA-Z_]\\w*`+i(`<[^<>]+>`)+`)`,c={className:`keyword`,begin:`\\b[a-z\\d_]*_t\\b`},l={className:`string`,variants:[{begin:`(u8?|U|L)?"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]},{begin:`(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)`,end:`'`,illegal:`.`},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},u={className:`number`,variants:[{begin:`\\b(0b[01']+)`},{begin:`(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)`},{begin:`(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)`}],relevance:0},d={className:`meta`,begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":`if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include`},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:`meta-string`}),{className:`meta-string`,begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},f={className:`title`,begin:i(o)+e.IDENT_RE,relevance:0},p=i(o)+e.IDENT_RE+`\\s*\\(`,m={keyword:`int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq`,built_in:`_Bool _Complex _Imaginary`,_relevance_hints:`asin.atan2.atan.calloc.ceil.cosh.cos.exit.exp.fabs.floor.fmod.fprintf.fputs.free.frexp.auto_ptr.deque.list.queue.stack.vector.map.set.pair.bitset.multiset.multimap.unordered_set.fscanf.future.isalnum.isalpha.iscntrl.isdigit.isgraph.islower.isprint.ispunct.isspace.isupper.isxdigit.tolower.toupper.labs.ldexp.log10.log.malloc.realloc.memchr.memcmp.memcpy.memset.modf.pow.printf.putchar.puts.scanf.sinh.sin.snprintf.sprintf.sqrt.sscanf.strcat.strchr.strcmp.strcpy.strcspn.strlen.strncat.strncmp.strncpy.strpbrk.strrchr.strspn.strstr.tanh.tan.unordered_map.unordered_multiset.unordered_multimap.priority_queue.make_pair.array.shared_ptr.abort.terminate.abs.acos.vfprintf.vprintf.vsprintf.endl.initializer_list.unique_ptr.complex.imaginary.std.string.wstring.cin.cout.cerr.clog.stdin.stdout.stderr.stringstream.istringstream.ostringstream`.split(`.`),literal:`true false nullptr NULL`},h={className:`function.dispatch`,relevance:0,keywords:m,begin:a(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!while)/,e.IDENT_RE,r(/\s*\(/))},g=[h,d,c,t,e.C_BLOCK_COMMENT_MODE,u,l],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:`new throw return else`,end:/;/}],keywords:m,contains:g.concat([{begin:/\(/,end:/\)/,keywords:m,contains:g.concat([`self`]),relevance:0}]),relevance:0},v={className:`function`,begin:`(`+s+`[\\*&\\s]+)+`+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:m,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:m,relevance:0},{begin:p,returnBegin:!0,contains:[f],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,u]},{className:`params`,begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,l,u,c,{begin:/\(/,end:/\)/,keywords:m,relevance:0,contains:[`self`,t,e.C_BLOCK_COMMENT_MODE,l,u,c]}]},c,t,e.C_BLOCK_COMMENT_MODE,d]};return{name:`C++`,aliases:[`cc`,`c++`,`h++`,`hpp`,`hh`,`hxx`,`cxx`],keywords:m,illegal:`</`,classNameAliases:{"function.dispatch":`built_in`},contains:[].concat(_,v,h,g,[d,{begin:`\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<`,end:`>`,keywords:m,contains:[`self`,c]},{begin:e.IDENT_RE+`::`,keywords:m},{className:`class`,beginKeywords:`enum class struct union`,end:/[{;:<>=]/,contains:[{beginKeywords:`final class struct`},e.TITLE_MODE]}]),exports:{preprocessor:d,strings:l,keywords:m}}}t.exports=o})),a=e(((e,t)=>{function n(e){let t=[`bool`,`byte`,`char`,`decimal`,`delegate`,`double`,`dynamic`,`enum`,`float`,`int`,`long`,`nint`,`nuint`,`object`,`sbyte`,`short`,`string`,`ulong`,`uint`,`ushort`],n=[`public`,`private`,`protected`,`static`,`internal`,`protected`,`abstract`,`async`,`extern`,`override`,`unsafe`,`virtual`,`new`,`sealed`,`partial`],r={keyword:`abstract.as.base.break.case.class.const.continue.do.else.event.explicit.extern.finally.fixed.for.foreach.goto.if.implicit.in.interface.internal.is.lock.namespace.new.operator.out.override.params.private.protected.public.readonly.record.ref.return.sealed.sizeof.stackalloc.static.struct.switch.this.throw.try.typeof.unchecked.unsafe.using.virtual.void.volatile.while`.split(`.`).concat(`add.alias.and.ascending.async.await.by.descending.equals.from.get.global.group.init.into.join.let.nameof.not.notnull.on.or.orderby.partial.remove.select.set.unmanaged.value|0.var.when.where.with.yield`.split(`.`)),built_in:t,literal:[`default`,`false`,`null`,`true`]},i=e.inherit(e.TITLE_MODE,{begin:`[a-zA-Z](\\.?\\w)*`}),a={className:`number`,variants:[{begin:`\\b(0b[01']+)`},{begin:`(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)`},{begin:`(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)`}],relevance:0},o={className:`string`,begin:`@"`,end:`"`,contains:[{begin:`""`}]},s=e.inherit(o,{illegal:/\n/}),c={className:`subst`,begin:/\{/,end:/\}/,keywords:r},l=e.inherit(c,{illegal:/\n/}),u={className:`string`,begin:/\$"/,end:`"`,illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,l]},d={className:`string`,begin:/\$@"/,end:`"`,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:`""`},c]},f=e.inherit(d,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:`""`},l]});c.contains=[d,u,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],l.contains=[f,u,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let p={variants:[d,u,o,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},m={begin:`<`,end:`>`,contains:[{beginKeywords:`in out`},i]},h=e.IDENT_RE+`(<`+e.IDENT_RE+`(\\s*,\\s*`+e.IDENT_RE+`)*>)?(\\[\\])?`,g={begin:`@`+e.IDENT_RE,relevance:0};return{name:`C#`,aliases:[`cs`,`c#`],keywords:r,illegal:/::/,contains:[e.COMMENT(`///`,`$`,{returnBegin:!0,contains:[{className:`doctag`,variants:[{begin:`///`,relevance:0},{begin:`<!--|-->`},{begin:`</?`,end:`>`}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:`meta`,begin:`#`,end:`$`,keywords:{"meta-keyword":`if else elif endif define undef warning error line region endregion pragma checksum`}},p,a,{beginKeywords:`class interface`,relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:`where class`},i,m,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:`namespace`,relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:`record`,relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[i,m,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`meta`,begin:`^\\s*\\[`,excludeBegin:!0,end:`\\]`,excludeEnd:!0,contains:[{className:`meta-string`,begin:/"/,end:/"/}]},{beginKeywords:`new return throw await else`,relevance:0},{className:`function`,begin:`(`+h+`\\s+)+`+e.IDENT_RE+`\\s*(<.+>\\s*)?\\(`,returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:r,contains:[{beginKeywords:n.join(` `),relevance:0},{begin:e.IDENT_RE+`\\s*(<.+>\\s*)?\\(`,returnBegin:!0,contains:[e.TITLE_MODE,m],relevance:0},{className:`params`,begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:r,relevance:0,contains:[p,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},g]}}t.exports=n})),o=e(((e,t)=>{function n(e){let t={className:`subst`,variants:[{begin:`\\$[A-Za-z0-9_]+`}]},n={className:`subst`,variants:[{begin:/\$\{/,end:/\}/}],keywords:`true false null this is new super`},r={className:`string`,variants:[{begin:`r'''`,end:`'''`},{begin:`r"""`,end:`"""`},{begin:`r'`,end:`'`,illegal:`\\n`},{begin:`r"`,end:`"`,illegal:`\\n`},{begin:`'''`,end:`'''`,contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:`"""`,end:`"""`,contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:`'`,end:`'`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE,t,n]},{begin:`"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE,t,n]}]};n.contains=[e.C_NUMBER_MODE,r];let i=`Comparable.DateTime.Duration.Function.Iterable.Iterator.List.Map.Match.Object.Pattern.RegExp.Set.Stopwatch.String.StringBuffer.StringSink.Symbol.Type.Uri.bool.double.int.num.Element.ElementList`.split(`.`),a=i.map(e=>`${e}?`);return{name:`Dart`,keywords:{keyword:`abstract as assert async await break case catch class const continue covariant default deferred do dynamic else enum export extends extension external factory false final finally for Function get hide if implements import in inferface is late library mixin new null on operator part required rethrow return set show static super switch sync this throw true try typedef var void while with yield`,built_in:i.concat(a).concat([`Never`,`Null`,`dynamic`,`print`,`document`,`querySelector`,`querySelectorAll`,`window`]),$pattern:/[A-Za-z][A-Za-z0-9_]*\??/},contains:[r,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:`markdown`,relevance:0}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:`markdown`,begin:`.`,end:`$`,relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:`class`,beginKeywords:`class interface`,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},e.C_NUMBER_MODE,{className:`meta`,begin:`@[A-Za-z]+`},{begin:`=>`}]}}t.exports=n})),s=e(((e,t)=>{function n(e){let t={keyword:`break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune`,literal:`true false iota nil`,built_in:`append cap close complex copy imag len make new panic print println real recover delete`};return{name:`Go`,aliases:[`golang`],keywords:t,illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:`string`,variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:`number`,variants:[{begin:e.C_NUMBER_RE+`[i]`,relevance:1},e.C_NUMBER_MODE]},{begin:/:=/},{className:`function`,beginKeywords:`func`,end:`\\s*(\\{|$)`,excludeEnd:!0,contains:[e.TITLE_MODE,{className:`params`,begin:/\(/,end:/\)/,keywords:t,illegal:/["']/}]}]}}t.exports=n})),c=e(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(e){return i(`(?=`,e,`)`)}function i(...e){return e.map(e=>n(e)).join(``)}function a(e,t={}){return t.variants=e,t}function o(e){let t=`[A-Za-z0-9_$]+`,n=a([e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT(`/\\*\\*`,`\\*/`,{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:`doctag`,begin:`@[A-Za-z]+`}]})]),i={className:`regexp`,begin:/~?\/[^\/\n]+\//,contains:[e.BACKSLASH_ESCAPE]},o=a([e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]),s=a([{begin:/"""/,end:/"""/},{begin:/'''/,end:/'''/},{begin:`\\$/`,end:`/\\$`,relevance:10},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE],{className:`string`});return{name:`Groovy`,keywords:{built_in:`this super`,literal:`true false null`,keyword:`byte short char int long boolean float double void def as in assert trait abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof`},contains:[e.SHEBANG({binary:`groovy`,relevance:10}),n,s,i,o,{className:`class`,beginKeywords:`class interface trait enum`,end:/\{/,illegal:`:`,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{className:`meta`,begin:`@[A-Za-z]+`,relevance:0},{className:`attr`,begin:t+`[ ]*:`,relevance:0},{begin:/\?/,end:/:/,relevance:0,contains:[n,s,i,o,`self`]},{className:`symbol`,begin:`^[ ]*`+r(t+`:`),excludeBegin:!0,end:t+`:`,relevance:0}],illegal:/#|<\//}}t.exports=o})),l=e(((e,t)=>{var n=`[0-9](_*[0-9])*`,r=`\\.(${n})`,i=`[0-9a-fA-F](_*[0-9a-fA-F])*`,a={className:`number`,variants:[{begin:`(\\b(${n})((${r})|\\.)?|(${r}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${r})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${r})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(0|[1-9](_*[0-9])*)[lL]?\\b`},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:`\\b0(_*[0-7])*[lL]?\\b`},{begin:`\\b0[bB][01](_*[01])*[lL]?\\b`}],relevance:0};function o(e){var t=`[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*`,n=t+`(<`+t+`(\\s*,\\s*`+t+`)*>)?`,r=`false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do`,i={className:`meta`,begin:`@`+t,contains:[{begin:/\(/,end:/\)/,contains:[`self`]}]};let o=a;return{name:`Java`,aliases:[`jsp`],keywords:r,illegal:/<\/|#/,contains:[e.COMMENT(`/\\*\\*`,`\\*/`,{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:`doctag`,begin:`@[A-Za-z]+`}]}),{begin:/import java\.[a-z]+\./,keywords:`import`,relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:`class`,beginKeywords:`class interface enum`,end:/[{;=]/,excludeEnd:!0,relevance:1,keywords:`class interface enum`,illegal:/[:"\[\]]/,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`new throw return else`,relevance:0},{className:`class`,begin:`record\\s+`+e.UNDERSCORE_IDENT_RE+`\\s*\\(`,returnBegin:!0,excludeEnd:!0,end:/[{;=]/,keywords:r,contains:[{beginKeywords:`record`},{begin:e.UNDERSCORE_IDENT_RE+`\\s*\\(`,returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:`params`,begin:/\(/,end:/\)/,keywords:r,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:`function`,begin:`(`+n+`\\s+)+`+e.UNDERSCORE_IDENT_RE+`\\s*\\(`,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:r,contains:[{begin:e.UNDERSCORE_IDENT_RE+`\\s*\\(`,returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:`params`,begin:/\(/,end:/\)/,keywords:r,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o,i]}}t.exports=o})),u=e(((e,t)=>{let n=`[A-Za-z$_][0-9A-Za-z$_]*`,r=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends`.split(`.`),i=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],a=`setInterval.setTimeout.clearInterval.clearTimeout.require.exports.eval.isFinite.isNaN.parseFloat.parseInt.decodeURI.decodeURIComponent.encodeURI.encodeURIComponent.escape.unescape.arguments.this.super.console.window.document.localStorage.module.global`.split(`.`).concat(`Intl.DataView.Number.Math.Date.String.RegExp.Object.Function.Boolean.Error.Symbol.Set.Map.WeakSet.WeakMap.Proxy.Reflect.JSON.Promise.Float64Array.Int16Array.Int32Array.Int8Array.Uint16Array.Uint32Array.Float32Array.Array.Uint8Array.Uint8ClampedArray.ArrayBuffer.BigInt64Array.BigUint64Array.BigInt`.split(`.`),[`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`]);function o(e){return e?typeof e==`string`?e:e.source:null}function s(e){return c(`(?=`,e,`)`)}function c(...e){return e.map(e=>o(e)).join(``)}function l(e){let t=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},o=n,l={begin:`<>`,end:`</>`},u={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{let r=e[0].length+e.index,i=e.input[r];if(i===`<`){n.ignoreMatch();return}i===`>`&&(t(e,{after:r})||n.ignoreMatch())}},d={$pattern:n,keyword:r,literal:i,built_in:a},f=`[0-9](_?[0-9])*`,p=`\\.(${f})`,m=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,h={className:`number`,variants:[{begin:`(\\b(${m})((${p})|\\.)?|(${p}))[eE][+-]?(${f})\\b`},{begin:`\\b(${m})\\b((${p})\\b|\\.)?|(${p})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},g={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:d,contains:[]},_={begin:"html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:`xml`}},v={begin:"css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:`css`}},y={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,g]},b={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`,contains:[{className:`type`,begin:`\\{`,end:`\\}`,relevance:0},{className:`variable`,begin:o+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,v,y,h,e.REGEXP_MODE];g.contains=x.concat({begin:/\{/,end:/\}/,keywords:d,contains:[`self`].concat(x)});let S=[].concat(b,g.contains),C=S.concat([{begin:/\(/,end:/\)/,keywords:d,contains:[`self`].concat(S)}]),w={className:`params`,begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:C};return{name:`Javascript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:d,exports:{PARAMS_CONTAINS:C},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),{label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,v,y,b,h,{begin:c(/[{,\n]\s*/,s(c(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,o+`\\s*:`))),relevance:0,contains:[{className:`attr`,begin:o+s(`\\s*:`),relevance:0}]},{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,contains:[b,e.REGEXP_MODE,{className:`function`,begin:`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:C}]}]},{begin:/,/,relevance:0},{className:``,begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:l.begin,end:l.end},{begin:u.begin,"on:begin":u.isTrulyOpeningTag,end:u.end}],subLanguage:`xml`,contains:[{begin:u.begin,end:u.end,skip:!0,contains:[`self`]}]}],relevance:0},{className:`function`,beginKeywords:`function`,end:/[{;]/,excludeEnd:!0,keywords:d,contains:[`self`,e.inherit(e.TITLE_MODE,{begin:o}),w],illegal:/%/},{beginKeywords:`while if switch catch for`},{className:`function`,begin:e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,contains:[w,e.inherit(e.TITLE_MODE,{begin:o})]},{variants:[{begin:`\\.`+o},{begin:`\\$`+o}],relevance:0},{className:`class`,beginKeywords:`class`,end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:`extends`},e.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:o}),`self`,w]},{begin:`(get|set)\\s+(?=`+o+`\\()`,end:/\{/,keywords:`get set`,contains:[e.inherit(e.TITLE_MODE,{begin:o}),{begin:/\(\)/},w]},{begin:/\$[(.]/}]}}t.exports=l})),d=e(((e,t)=>{var n=`[0-9](_*[0-9])*`,r=`\\.(${n})`,i=`[0-9a-fA-F](_*[0-9a-fA-F])*`,a={className:`number`,variants:[{begin:`(\\b(${n})((${r})|\\.)?|(${r}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${r})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${r})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(0|[1-9](_*[0-9])*)[lL]?\\b`},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:`\\b0(_*[0-7])*[lL]?\\b`},{begin:`\\b0[bB][01](_*[01])*[lL]?\\b`}],relevance:0};function o(e){let t={keyword:`abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual`,built_in:`Byte Short Char Int Long Boolean Float Double Void Unit Nothing`,literal:`true false null`},n={className:`keyword`,begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:`symbol`,begin:/@\w+/}]}},r={className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`@`},i={className:`subst`,begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},o={className:`variable`,begin:`\\$`+e.UNDERSCORE_IDENT_RE},s={className:`string`,variants:[{begin:`"""`,end:`"""(?=[^"])`,contains:[o,i]},{begin:`'`,end:`'`,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,o,i]}]};i.contains.push(s);let c={className:`meta`,begin:`@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*`+e.UNDERSCORE_IDENT_RE+`)?`},l={className:`meta`,begin:`@`+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(s,{className:`meta-string`})]}]},u=a,d=e.COMMENT(`/\\*`,`\\*/`,{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:`type`,begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=f;return p.variants[1].contains=[f],f.variants[1].contains=[p],{name:`Kotlin`,aliases:[`kt`,`kts`],keywords:t,contains:[e.COMMENT(`/\\*\\*`,`\\*/`,{relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`}]}),e.C_LINE_COMMENT_MODE,d,n,r,c,l,{className:`function`,beginKeywords:`fun`,end:`[(]|$`,returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+`\\s*\\(`,returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:`type`,begin:/</,end:/>/,keywords:`reified`,relevance:0},{className:`params`,begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,c,l,s,e.C_NUMBER_MODE]},d]},{className:`class`,beginKeywords:`class interface trait`,end:/[:\{(]|$/,excludeEnd:!0,illegal:`extends implements`,contains:[{beginKeywords:`public protected internal private constructor`},e.UNDERSCORE_TITLE_MODE,{className:`type`,begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},c,l]},s,{className:`meta`,begin:`^#!/usr/bin/env`,end:`$`,illegal:`
6
+ `},u]}}t.exports=o})),f=e(((e,t)=>{function n(e){let t=`\\[=*\\[`,n=`\\]=*\\]`,r={begin:t,end:n,contains:[`self`]},i=[e.COMMENT(`--(?!`+t+`)`,`$`),e.COMMENT(`--`+t,n,{contains:[r],relevance:10})];return{name:`Lua`,keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:`true false nil`,keyword:`and break do else elseif end for goto if in local not or repeat return then until while`,built_in:`_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove`},contains:i.concat([{className:`function`,beginKeywords:`function`,end:`\\)`,contains:[e.inherit(e.TITLE_MODE,{begin:`([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*`}),{className:`params`,begin:`\\(`,endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:`string`,begin:t,end:n,contains:[r],relevance:5}])}}t.exports=n})),p=e(((e,t)=>{function n(e){let t={keyword:`rec with let in inherit assert if else then`,literal:`true false or and null`,built_in:`import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation`},n={className:`subst`,begin:/\$\{/,end:/\}/,keywords:t},r={begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:`attr`,begin:/\S+/}]},i={className:`string`,contains:[n],variants:[{begin:`''`,end:`''`},{begin:`"`,end:`"`}]},a=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,r];return n.contains=a,{name:`Nix`,aliases:[`nixos`],keywords:t,contains:a}}t.exports=n})),m=e(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(...e){return e.map(e=>n(e)).join(``)}function i(...e){return`(`+e.map(e=>n(e)).join(`|`)+`)`}function a(e){let t=`abs.accept.alarm.and.atan2.bind.binmode.bless.break.caller.chdir.chmod.chomp.chop.chown.chr.chroot.close.closedir.connect.continue.cos.crypt.dbmclose.dbmopen.defined.delete.die.do.dump.each.else.elsif.endgrent.endhostent.endnetent.endprotoent.endpwent.endservent.eof.eval.exec.exists.exit.exp.fcntl.fileno.flock.for.foreach.fork.format.formline.getc.getgrent.getgrgid.getgrnam.gethostbyaddr.gethostbyname.gethostent.getlogin.getnetbyaddr.getnetbyname.getnetent.getpeername.getpgrp.getpriority.getprotobyname.getprotobynumber.getprotoent.getpwent.getpwnam.getpwuid.getservbyname.getservbyport.getservent.getsockname.getsockopt.given.glob.gmtime.goto.grep.gt.hex.if.index.int.ioctl.join.keys.kill.last.lc.lcfirst.length.link.listen.local.localtime.log.lstat.lt.ma.map.mkdir.msgctl.msgget.msgrcv.msgsnd.my.ne.next.no.not.oct.open.opendir.or.ord.our.pack.package.pipe.pop.pos.print.printf.prototype.push.q|0.qq.quotemeta.qw.qx.rand.read.readdir.readline.readlink.readpipe.recv.redo.ref.rename.require.reset.return.reverse.rewinddir.rindex.rmdir.say.scalar.seek.seekdir.select.semctl.semget.semop.send.setgrent.sethostent.setnetent.setpgrp.setpriority.setprotoent.setpwent.setservent.setsockopt.shift.shmctl.shmget.shmread.shmwrite.shutdown.sin.sleep.socket.socketpair.sort.splice.split.sprintf.sqrt.srand.stat.state.study.sub.substr.symlink.syscall.sysopen.sysread.sysseek.system.syswrite.tell.telldir.tie.tied.time.times.tr.truncate.uc.ucfirst.umask.undef.unless.unlink.unpack.unshift.untie.until.use.utime.values.vec.wait.waitpid.wantarray.warn.when.while.write.x|0.xor.y|0`.split(`.`),n=/[dualxmsipngr]{0,12}/,a={$pattern:/[\w.]+/,keyword:t.join(` `)},o={className:`subst`,begin:`[$@]\\{`,end:`\\}`,keywords:a},s={begin:/->\{/,end:/\}/},c={variants:[{begin:/\$\d/},{begin:r(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,`(?![A-Za-z])(?![@$%])`)},{begin:/[$%@][^\s\w{]/,relevance:0}]},l=[e.BACKSLASH_ESCAPE,o,c],u=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],d=(e,t,i=`\\1`)=>{let a=i===`\\1`?i:r(i,t);return r(r(`(?:`,e,`)`),t,/(?:\\.|[^\\\/])*?/,a,/(?:\\.|[^\\\/])*?/,i,n)},f=(e,t,i)=>r(r(`(?:`,e,`)`),t,/(?:\\.|[^\\\/])*?/,i,n),p=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:`string`,contains:l,variants:[{begin:`q[qwxr]?\\s*\\(`,end:`\\)`,relevance:5},{begin:`q[qwxr]?\\s*\\[`,end:`\\]`,relevance:5},{begin:`q[qwxr]?\\s*\\{`,end:`\\}`,relevance:5},{begin:`q[qwxr]?\\s*\\|`,end:`\\|`,relevance:5},{begin:`q[qwxr]?\\s*<`,end:`>`,relevance:5},{begin:`qw\\s+q`,end:`q`,relevance:5},{begin:`'`,end:`'`,contains:[e.BACKSLASH_ESCAPE]},{begin:`"`,end:`"`},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:`-?\\w+\\s*=>`,relevance:0}]},{className:`number`,begin:`(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b`,relevance:0},{begin:`(\\/\\/|`+e.RE_STARTERS_RE+`|\\b(split|return|print|reverse|grep)\\b)\\s*`,keywords:`split return print reverse grep`,relevance:0,contains:[e.HASH_COMMENT_MODE,{className:`regexp`,variants:[{begin:d(`s|tr|y`,i(...u))},{begin:d(`s|tr|y`,`\\(`,`\\)`)},{begin:d(`s|tr|y`,`\\[`,`\\]`)},{begin:d(`s|tr|y`,`\\{`,`\\}`)}],relevance:2},{className:`regexp`,variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:f(`(?:m|qr)?`,/\//,/\//)},{begin:f(`m|qr`,i(...u),/\1/)},{begin:f(`m|qr`,/\(/,/\)/)},{begin:f(`m|qr`,/\[/,/\]/)},{begin:f(`m|qr`,/\{/,/\}/)}]}]},{className:`function`,beginKeywords:`sub`,end:`(\\s*\\(.*?\\))?[;{]`,excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:`-\\w\\b`,relevance:0},{begin:`^__DATA__$`,end:`^__END__$`,subLanguage:`mojolicious`,contains:[{begin:`^@@.*`,end:`$`,className:`comment`}]}];return o.contains=p,s.contains=p,{name:`Perl`,aliases:[`pl`,`pm`],keywords:a,contains:p}}t.exports=a})),h=e(((e,t)=>{function n(e){let t={className:`variable`,begin:`\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*(?![A-Za-z0-9])(?![$])`},n={className:`meta`,variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},r={className:`subst`,variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},i=e.inherit(e.APOS_STRING_MODE,{illegal:null}),a=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(r)}),o=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(r)}),s={className:`string`,contains:[e.BACKSLASH_ESCAPE,n],variants:[e.inherit(i,{begin:`b'`,end:`'`}),e.inherit(a,{begin:`b"`,end:`"`}),a,i,o]},c={className:`number`,variants:[{begin:`\\b0b[01]+(?:_[01]+)*\\b`},{begin:`\\b0o[0-7]+(?:_[0-7]+)*\\b`},{begin:`\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b`},{begin:`(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?`}],relevance:0},l={keyword:`__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield`,literal:`false null true`,built_in:`Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass`};return{aliases:[`php3`,`php4`,`php5`,`php6`,`php7`,`php8`],case_insensitive:!0,keywords:l,contains:[e.HASH_COMMENT_MODE,e.COMMENT(`//`,`$`,{contains:[n]}),e.COMMENT(`/\\*`,`\\*/`,{contains:[{className:`doctag`,begin:`@[A-Za-z]+`}]}),e.COMMENT(`__halt_compiler.+?;`,!1,{endsWithParent:!0,keywords:`__halt_compiler`}),n,{className:`keyword`,begin:/\$this\b/},t,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:`function`,relevance:0,beginKeywords:`fn function`,end:/[;{]/,excludeEnd:!0,illegal:`[$%\\[]`,contains:[{beginKeywords:`use`},e.UNDERSCORE_TITLE_MODE,{begin:`=>`,endsParent:!0},{className:`params`,begin:`\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:[`self`,t,e.C_BLOCK_COMMENT_MODE,s,c]}]},{className:`class`,variants:[{beginKeywords:`enum`,illegal:/[($"]/},{beginKeywords:`class interface trait`,illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:`extends implements`},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`namespace`,relevance:0,end:`;`,illegal:/[.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:`use`,relevance:0,end:`;`,contains:[e.UNDERSCORE_TITLE_MODE]},s,c]}}t.exports=n})),g=e(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(e){return i(`(?=`,e,`)`)}function i(...e){return e.map(e=>n(e)).join(``)}function a(e){let t={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:`and.as.assert.async.await.break.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.nonlocal|10.not.or.pass.raise.return.try.while.with.yield`.split(`.`),built_in:`__import__.abs.all.any.ascii.bin.bool.breakpoint.bytearray.bytes.callable.chr.classmethod.compile.complex.delattr.dict.dir.divmod.enumerate.eval.exec.filter.float.format.frozenset.getattr.globals.hasattr.hash.help.hex.id.input.int.isinstance.issubclass.iter.len.list.locals.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.range.repr.reversed.round.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.vars.zip`.split(`.`),literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},n={className:`meta`,begin:/^(>>>|\.\.\.) /},i={className:`subst`,begin:/\{/,end:/\}/,keywords:t,illegal:/#/},a={begin:/\{\{/,relevance:0},o={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,n],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,n],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,n,a,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,n,a,i]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,a,i]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,a,i]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},s=`[0-9](_?[0-9])*`,c=`(\\b(${s}))?\\.(${s})|\\b(${s})\\.`,l={className:`number`,relevance:0,variants:[{begin:`(\\b(${s})|(${c}))[eE][+-]?(${s})[jJ]?\\b`},{begin:`(${c})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b`},{begin:`\\b0[bB](_?[01])+[lL]?\\b`},{begin:`\\b0[oO](_?[0-7])+[lL]?\\b`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b`},{begin:`\\b(${s})[jJ]\\b`}]},u={className:`comment`,begin:r(/# type:/),end:/$/,keywords:t,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},d={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[`self`,n,l,o,e.HASH_COMMENT_MODE]}]};return i.contains=[o,l,n],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],keywords:t,illegal:/(<\/|->|\?)|=>/,contains:[n,l,{begin:/\bself\b/},{beginKeywords:`if`,relevance:0},o,u,e.HASH_COMMENT_MODE,{variants:[{className:`function`,beginKeywords:`def`},{className:`class`,beginKeywords:`class`}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,d,{begin:/->/,endsWithParent:!0,keywords:t}]},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[l,d,o]}]}}t.exports=a})),_=e(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(e){return i(`(?=`,e,`)`)}function i(...e){return e.map(e=>n(e)).join(``)}function a(e){let t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n={keyword:`and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__`,built_in:`proc lambda`,literal:`true false nil`},a={className:`doctag`,begin:`@[A-Za-z]+`},o={begin:`#<`,end:`>`},s=[e.COMMENT(`#`,`$`,{contains:[a]}),e.COMMENT(`^=begin`,`^=end`,{contains:[a],relevance:10}),e.COMMENT(`^__END__`,`\\n$`)],c={className:`subst`,begin:/#\{/,end:/\}/,keywords:n},l={className:`string`,contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:/<<[-~]?'?(\w+)\n(?:[^\n]*\n)*?\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},u=`[0-9](_?[0-9])*`,d={className:`number`,relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${u}))?([eE][+-]?(${u})|r)?i?\\b`},{begin:`\\b0[dD][0-9](_?[0-9])*r?i?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*r?i?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*r?i?\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b`},{begin:`\\b0(_?[0-7])+r?i?\\b`}]},f={className:`params`,begin:`\\(`,end:`\\)`,endsParent:!0,keywords:n},p=[l,{className:`class`,beginKeywords:`class module`,end:`$|;`,illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:`[A-Za-z_]\\w*(::\\w+)*(\\?|!)?`}),{begin:`<\\s*`,contains:[{begin:`(`+e.IDENT_RE+`::)?`+e.IDENT_RE,relevance:0}]}].concat(s)},{className:`function`,begin:i(/def\s+/,r(t+`\\s*(\\(|;|$)`)),relevance:0,keywords:`def`,end:`$|;`,contains:[e.inherit(e.TITLE_MODE,{begin:t}),f].concat(s)},{begin:e.IDENT_RE+`::`},{className:`symbol`,begin:e.UNDERSCORE_IDENT_RE+`(!|\\?)?:`,relevance:0},{className:`symbol`,begin:`:(?!\\s)`,contains:[l,{begin:t}],relevance:0},d,{className:`variable`,begin:`(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])`},{className:`params`,begin:/\|/,end:/\|/,relevance:0,keywords:n},{begin:`(`+e.RE_STARTERS_RE+`|unless)\\s*`,keywords:`unless`,contains:[{className:`regexp`,contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:`/`,end:`/[a-z]*`},{begin:/%r\{/,end:/\}[a-z]*/},{begin:`%r\\(`,end:`\\)[a-z]*`},{begin:`%r!`,end:`![a-z]*`},{begin:`%r\\[`,end:`\\][a-z]*`}]}].concat(o,s),relevance:0}].concat(o,s);c.contains=p,f.contains=p;let m=[{begin:/^\s*=>/,starts:{end:`$`,contains:p}},{className:`meta`,begin:`^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])`,starts:{end:`$`,contains:p}}];return s.unshift(o),{name:`Ruby`,aliases:[`rb`,`gemspec`,`podspec`,`thor`,`irb`],keywords:n,illegal:/\/\*/,contains:[e.SHEBANG({binary:`ruby`})].concat(m,s,p)}}t.exports=a})),v=e(((e,t)=>{function n(e){let t=`([ui](8|16|32|64|128|size)|f(32|64))?`,n=`drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!`;return{name:`Rust`,aliases:[`rs`],keywords:{$pattern:e.IDENT_RE+`!?`,keyword:`abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield`,literal:`true false Some None Ok Err`,built_in:n},illegal:`</`,contains:[e.C_LINE_COMMENT_MODE,e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:`string`,variants:[{begin:/r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:`symbol`,begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:`number`,variants:[{begin:`\\b0b([01_]+)`+t},{begin:`\\b0o([0-7_]+)`+t},{begin:`\\b0x([A-Fa-f0-9_]+)`+t},{begin:`\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)`+t}],relevance:0},{className:`function`,beginKeywords:`fn`,end:`(\\(|<)`,excludeEnd:!0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:`meta`,begin:`#!?\\[`,end:`\\]`,contains:[{className:`meta-string`,begin:/"/,end:/"/}]},{className:`class`,beginKeywords:`type`,end:`;`,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:`\\S`},{className:`class`,beginKeywords:`trait enum struct union`,end:/\{/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:`[\\w\\d]`},{begin:e.IDENT_RE+`::`,keywords:{built_in:n}},{begin:`->`}]}}t.exports=n})),y=e(((e,t)=>{function n(e){let t={className:`meta`,begin:`@[A-Za-z]+`},n={className:`subst`,variants:[{begin:`\\$[A-Za-z0-9_]+`},{begin:/\$\{/,end:/\}/}]},r={className:`string`,variants:[{begin:`"""`,end:`"""`},{begin:`"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE]},{begin:`[a-z]+"`,end:`"`,illegal:`\\n`,contains:[e.BACKSLASH_ESCAPE,n]},{className:`string`,begin:`[a-z]+"""`,end:`"""`,contains:[n],relevance:10}]},i={className:`symbol`,begin:`'\\w[\\w\\d_]*(?!')`},a={className:`type`,begin:`\\b[A-Z][A-Za-z0-9_]*`,relevance:0},o={className:`title`,begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},s={className:`class`,beginKeywords:`class object trait type`,end:/[:={\[\n;]/,excludeEnd:!0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{beginKeywords:`extends with`,relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[a]},{className:`params`,begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[a]},o]},c={className:`function`,beginKeywords:`def`,end:/[:={\[(\n;]/,excludeEnd:!0,contains:[o]};return{name:`Scala`,keywords:{literal:`true false null`,keyword:`type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit`},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,i,a,c,s,e.C_NUMBER_MODE,t]}}t.exports=n})),b=e(((e,t)=>{function n(e){return e?typeof e==`string`?e:e.source:null}function r(e){return i(`(?=`,e,`)`)}function i(...e){return e.map(e=>n(e)).join(``)}function a(...e){return`(`+e.map(e=>n(e)).join(`|`)+`)`}let o=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),s=[`Protocol`,`Type`].map(o),c=[`init`,`self`].map(o),l=[`Any`,`Self`],u=[`associatedtype`,`async`,`await`,/as\?/,/as!/,`as`,`break`,`case`,`catch`,`class`,`continue`,`convenience`,`default`,`defer`,`deinit`,`didSet`,`do`,`dynamic`,`else`,`enum`,`extension`,`fallthrough`,/fileprivate\(set\)/,`fileprivate`,`final`,`for`,`func`,`get`,`guard`,`if`,`import`,`indirect`,`infix`,/init\?/,/init!/,`inout`,/internal\(set\)/,`internal`,`in`,`is`,`lazy`,`let`,`mutating`,`nonmutating`,/open\(set\)/,`open`,`operator`,`optional`,`override`,`postfix`,`precedencegroup`,`prefix`,/private\(set\)/,`private`,`protocol`,/public\(set\)/,`public`,`repeat`,`required`,`rethrows`,`return`,`set`,`some`,`static`,`struct`,`subscript`,`super`,`switch`,`throws`,`throw`,/try\?/,/try!/,`try`,`typealias`,/unowned\(safe\)/,/unowned\(unsafe\)/,`unowned`,`var`,`weak`,`where`,`while`,`willSet`],d=[`false`,`nil`,`true`],f=[`assignment`,`associativity`,`higherThan`,`left`,`lowerThan`,`none`,`right`],p=[`#colorLiteral`,`#column`,`#dsohandle`,`#else`,`#elseif`,`#endif`,`#error`,`#file`,`#fileID`,`#fileLiteral`,`#filePath`,`#function`,`#if`,`#imageLiteral`,`#keyPath`,`#line`,`#selector`,`#sourceLocation`,`#warn_unqualified_access`,`#warning`],m=`abs.all.any.assert.assertionFailure.debugPrint.dump.fatalError.getVaList.isKnownUniquelyReferenced.max.min.numericCast.pointwiseMax.pointwiseMin.precondition.preconditionFailure.print.readLine.repeatElement.sequence.stride.swap.swift_unboxFromSwiftValueWithType.transcode.type.unsafeBitCast.unsafeDowncast.withExtendedLifetime.withUnsafeMutablePointer.withUnsafePointer.withVaList.withoutActuallyEscaping.zip`.split(`.`),h=a(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),g=a(h,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),_=i(h,g,`*`),v=a(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),y=a(v,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),b=i(v,y,`*`),x=i(/[A-Z]/,y,`*`),S=[`autoclosure`,i(/convention\(/,a(`swift`,`block`,`c`),/\)/),`discardableResult`,`dynamicCallable`,`dynamicMemberLookup`,`escaping`,`frozen`,`GKInspectable`,`IBAction`,`IBDesignable`,`IBInspectable`,`IBOutlet`,`IBSegueAction`,`inlinable`,`main`,`nonobjc`,`NSApplicationMain`,`NSCopying`,`NSManaged`,i(/objc\(/,b,/\)/),`objc`,`objcMembers`,`propertyWrapper`,`requires_stored_property_inits`,`testable`,`UIApplicationMain`,`unknown`,`usableFromInline`],C=[`iOS`,`iOSApplicationExtension`,`macOS`,`macOSApplicationExtension`,`macCatalyst`,`macCatalystApplicationExtension`,`watchOS`,`watchOSApplicationExtension`,`tvOS`,`tvOSApplicationExtension`,`swift`];function w(e){let t={match:/\s+/,relevance:0},n=e.COMMENT(`/\\*`,`\\*/`,{contains:[`self`]}),h=[e.C_LINE_COMMENT_MODE,n],v={className:`keyword`,begin:i(/\./,r(a(...s,...c))),end:a(...s,...c),excludeBegin:!0},w={match:i(/\./,a(...u)),relevance:0},T=u.filter(e=>typeof e==`string`).concat([`_|0`]),E={variants:[{className:`keyword`,match:a(...u.filter(e=>typeof e!=`string`).concat(l).map(o),...c)}]},D={$pattern:a(/\b\w+/,/#\w+/),keyword:T.concat(p),literal:d},O=[v,w,E],k=[{match:i(/\./,a(...m)),relevance:0},{className:`built_in`,match:i(/\b/,a(...m),/(?=\()/)}],A={match:/->/,relevance:0},j=[A,{className:`operator`,relevance:0,variants:[{match:_},{match:`\\.(\\.|${g})+`}]}],M=`([0-9]_*)+`,N=`([0-9a-fA-F]_*)+`,P={className:`number`,relevance:0,variants:[{match:`\\b(${M})(\\.(${M}))?([eE][+-]?(${M}))?\\b`},{match:`\\b0x(${N})(\\.(${N}))?([pP][+-]?(${M}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},F=(e=``)=>({className:`subst`,variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),I=(e=``)=>({className:`subst`,match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),L=(e=``)=>({className:`subst`,label:`interpol`,begin:i(/\\/,e,/\(/),end:/\)/}),R=(e=``)=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[F(e),I(e),L(e)]}),z=(e=``)=>({begin:i(e,/"/),end:i(/"/,e),contains:[F(e),L(e)]}),B={className:`string`,variants:[R(),R(`#`),R(`##`),R(`###`),z(),z(`#`),z(`##`),z(`###`)]},V={match:i(/`/,b,/`/)},H=[V,{className:`variable`,match:/\$\d+/},{className:`variable`,match:`\\$${y}+`}],U=[{match:/(@|#)available/,className:`keyword`,starts:{contains:[{begin:/\(/,end:/\)/,keywords:C,contains:[...j,P,B]}]}},{className:`keyword`,match:i(/@/,a(...S))},{className:`meta`,match:i(/@/,b)}],W={match:r(/\b[A-Z]/),relevance:0,contains:[{className:`type`,match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,y,`+`)},{className:`type`,match:x,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,r(x)),relevance:0}]},G={begin:/</,end:/>/,keywords:D,contains:[...h,...O,...U,A,W]};W.contains.push(G);let K={begin:/\(/,end:/\)/,relevance:0,keywords:D,contains:[`self`,{match:i(b,/\s*:/),keywords:`_|0`,relevance:0},...h,...O,...k,...j,P,B,...H,...U,W]},ee={beginKeywords:`func`,contains:[{className:`title`,match:a(V.match,b,_),endsParent:!0,relevance:0},t]},q={begin:/</,end:/>/,contains:[...h,W]},J={begin:/\(/,end:/\)/,keywords:D,contains:[{begin:a(r(i(b,/\s*:/)),r(i(b,/\s+/,b,/\s*:/))),end:/:/,relevance:0,contains:[{className:`keyword`,match:/\b_\b/},{className:`params`,match:b}]},...h,...O,...j,P,B,...U,W,K],endsParent:!0,illegal:/["']/},te={className:`function`,match:r(/\bfunc\b/),contains:[ee,q,J,t],illegal:[/\[/,/%/]},ne={className:`function`,match:/\b(subscript|init[?!]?)\s*(?=[<(])/,keywords:{keyword:`subscript init init? init!`,$pattern:/\w+[?!]?/},contains:[q,J,t],illegal:/\[|%/},re={beginKeywords:`operator`,end:e.MATCH_NOTHING_RE,contains:[{className:`title`,match:_,endsParent:!0,relevance:0}]},Y={beginKeywords:`precedencegroup`,end:e.MATCH_NOTHING_RE,contains:[{className:`title`,match:x,relevance:0},{begin:/{/,end:/}/,relevance:0,endsParent:!0,keywords:[...f,...d],contains:[W]}]};for(let e of B.variants){let t=e.contains.find(e=>e.label===`interpol`);t.keywords=D;let n=[...O,...k,...j,P,B,...H];t.contains=[...n,{begin:/\(/,end:/\)/,contains:[`self`,...n]}]}return{name:`Swift`,keywords:D,contains:[...h,te,ne,{className:`class`,beginKeywords:`struct protocol class extension enum`,end:`\\{`,excludeEnd:!0,keywords:D,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...O]},re,Y,{beginKeywords:`import`,end:/$/,contains:[...h],relevance:0},...O,...k,...j,P,B,...H,...U,W,K]}}t.exports=w})),x=e(((e,t)=>{let n=`[A-Za-z$_][0-9A-Za-z$_]*`,r=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends`.split(`.`),i=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],a=`setInterval.setTimeout.clearInterval.clearTimeout.require.exports.eval.isFinite.isNaN.parseFloat.parseInt.decodeURI.decodeURIComponent.encodeURI.encodeURIComponent.escape.unescape.arguments.this.super.console.window.document.localStorage.module.global`.split(`.`).concat(`Intl.DataView.Number.Math.Date.String.RegExp.Object.Function.Boolean.Error.Symbol.Set.Map.WeakSet.WeakMap.Proxy.Reflect.JSON.Promise.Float64Array.Int16Array.Int32Array.Int8Array.Uint16Array.Uint32Array.Float32Array.Array.Uint8Array.Uint8ClampedArray.ArrayBuffer.BigInt64Array.BigUint64Array.BigInt`.split(`.`),[`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`]);function o(e){return e?typeof e==`string`?e:e.source:null}function s(e){return c(`(?=`,e,`)`)}function c(...e){return e.map(e=>o(e)).join(``)}function l(e){let t=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},o=n,l={begin:`<>`,end:`</>`},u={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{let r=e[0].length+e.index,i=e.input[r];if(i===`<`){n.ignoreMatch();return}i===`>`&&(t(e,{after:r})||n.ignoreMatch())}},d={$pattern:n,keyword:r,literal:i,built_in:a},f=`[0-9](_?[0-9])*`,p=`\\.(${f})`,m=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,h={className:`number`,variants:[{begin:`(\\b(${m})((${p})|\\.)?|(${p}))[eE][+-]?(${f})\\b`},{begin:`\\b(${m})\\b((${p})\\b|\\.)?|(${p})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},g={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:d,contains:[]},_={begin:"html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:`xml`}},v={begin:"css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:`css`}},y={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,g]},b={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`,contains:[{className:`type`,begin:`\\{`,end:`\\}`,relevance:0},{className:`variable`,begin:o+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,v,y,h,e.REGEXP_MODE];g.contains=x.concat({begin:/\{/,end:/\}/,keywords:d,contains:[`self`].concat(x)});let S=[].concat(b,g.contains),C=S.concat([{begin:/\(/,end:/\)/,keywords:d,contains:[`self`].concat(S)}]),w={className:`params`,begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:C};return{name:`Javascript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:d,exports:{PARAMS_CONTAINS:C},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),{label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,v,y,b,h,{begin:c(/[{,\n]\s*/,s(c(/(((\/\/.*$)|(\/\*(\*[^/]|[^*])*\*\/))\s*)*/,o+`\\s*:`))),relevance:0,contains:[{className:`attr`,begin:o+s(`\\s*:`),relevance:0}]},{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,contains:[b,e.REGEXP_MODE,{className:`function`,begin:`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:C}]}]},{begin:/,/,relevance:0},{className:``,begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:l.begin,end:l.end},{begin:u.begin,"on:begin":u.isTrulyOpeningTag,end:u.end}],subLanguage:`xml`,contains:[{begin:u.begin,end:u.end,skip:!0,contains:[`self`]}]}],relevance:0},{className:`function`,beginKeywords:`function`,end:/[{;]/,excludeEnd:!0,keywords:d,contains:[`self`,e.inherit(e.TITLE_MODE,{begin:o}),w],illegal:/%/},{beginKeywords:`while if switch catch for`},{className:`function`,begin:e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,contains:[w,e.inherit(e.TITLE_MODE,{begin:o})]},{variants:[{begin:`\\.`+o},{begin:`\\$`+o}],relevance:0},{className:`class`,beginKeywords:`class`,end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:`extends`},e.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:o}),`self`,w]},{begin:`(get|set)\\s+(?=`+o+`\\()`,end:/\{/,keywords:`get set`,contains:[e.inherit(e.TITLE_MODE,{begin:o}),{begin:/\(\)/},w]},{begin:/\$[(.]/}]}}function u(e){let t={beginKeywords:`namespace`,end:/\{/,excludeEnd:!0},o={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:`interface extends`},s={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},c={$pattern:n,keyword:r.concat([`type`,`namespace`,`typedef`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`]),literal:i,built_in:a.concat([`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`enum`])},u={className:`meta`,begin:`@[A-Za-z$_][0-9A-Za-z$_]*`},d=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)},f=l(e);Object.assign(f.keywords,c),f.exports.PARAMS_CONTAINS.push(u),f.contains=f.contains.concat([u,t,o]),d(f,`shebang`,e.SHEBANG()),d(f,`use_strict`,s);let p=f.contains.find(e=>e.className===`function`);return p.relevance=0,Object.assign(f,{name:`TypeScript`,aliases:[`ts`,`tsx`]}),f}t.exports=u}));export{a as _,_ as a,n as b,m as c,d,u as f,o as g,s as h,v as i,p as l,c as m,b as n,g as o,l as p,y as r,h as s,x as t,f as u,i as v,t as x,r as y};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pen.dev/cli",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "CLI tool for running the pen.dev AI agent manipulating .pen design files",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",
@@ -10,7 +10,7 @@
10
10
  },
11
11
  "scripts": {
12
12
  "build": "tsdown && npm run bundle:chmod && npm run bundle:mcp && npm run bundle:wasm && npm run bundle:pen-libs && npm run bundle:skill",
13
- "bundle:skill": "cp ../../SKILL.md ./SKILL.md",
13
+ "bundle:skill": "cp ../../SKILL.md ./SKILL.md && rm -rf dist/out/skills && mkdir -p dist/out/skills && cp -Rp ../../skills/pen-dev dist/out/skills/",
14
14
  "build:prod": "npm run build && node scripts/obfuscate.js",
15
15
  "bundle:mcp": "mkdir -p dist/out && cp ../../servers/mcp/mcp-server-* dist/out/ && chmod +x dist/out/mcp-server-*",
16
16
  "bundle:wasm": "node scripts/copy-pencil-wasm.mjs",
@@ -61,7 +61,7 @@
61
61
  "typescript": "^5.0.0"
62
62
  },
63
63
  "engines": {
64
- "node": ">=18.0.0"
64
+ "node": ">=22.0.0"
65
65
  },
66
66
  "files": [
67
67
  "dist",
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env node
2
- import{a as e}from"./diagnostics-B0j2bfEp.mjs";import{t}from"./models-CwK5xZH9.mjs";import{n,t as r}from"./json-parse-BzRcyI3e.mjs";import{t as i}from"./provider-env-CL5ShLlj.mjs";import{t as a}from"./deferred-tools-D8j2Ra6f.mjs";import{t as o}from"./headers-BvGum5dc.mjs";import{t as s}from"./provider-retry-BM3ArvaW.mjs";import{t as c}from"./sanitize-unicode-CHjuq5rK.mjs";import{i as l,l as u,n as d,r as f,t as p}from"./transform-messages-CSBQpmXO.mjs";import{n as ee,t as m}from"./github-copilot-headers-DZOfokGy.mjs";function h(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function g(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}let te=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return te=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function ne(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}const re=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};var _=class extends Error{},v=class e extends _{constructor(t,n,r,i,a){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`request-id`),this.error=n,this.type=a??null}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new ie({message:r,cause:re(n)});let a=n,o=a?.error?.type;return t===400?new oe(t,a,r,i,o):t===401?new se(t,a,r,i,o):t===403?new ce(t,a,r,i,o):t===404?new le(t,a,r,i,o):t===409?new ue(t,a,r,i,o):t===422?new de(t,a,r,i,o):t===429?new fe(t,a,r,i,o):t>=500?new pe(t,a,r,i,o):new e(t,a,r,i,o)}},y=class extends v{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},ie=class extends v{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},ae=class extends ie{constructor({message:e}={}){super({message:e??`Request timed out.`})}},oe=class extends v{},se=class extends v{},ce=class extends v{},le=class extends v{},ue=class extends v{},de=class extends v{},fe=class extends v{},pe=class extends v{};const me=/^[a-z][a-z0-9+.-]*:/i,he=e=>me.test(e);let ge=e=>(ge=Array.isArray,ge(e)),_e=ge;function ve(e){return typeof e==`object`?e??{}:{}}function ye(e){if(!e)return!0;for(let t in e)return!1;return!0}function be(e,t){return Object.prototype.hasOwnProperty.call(e,t)}const xe=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new _(`${e} must be an integer`);if(t<0)throw new _(`${e} must be a positive integer`);return t},Se=e=>{try{return JSON.parse(e)}catch{return}},Ce=e=>new Promise(t=>setTimeout(t,e)),b=`0.91.1`,we=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function Te(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}const Ee=()=>{let e=Te();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":ke(Deno.build.os),"X-Stainless-Arch":Oe(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":ke(globalThis.process.platform??`unknown`),"X-Stainless-Arch":Oe(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=De();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function De(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}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 n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}const Oe=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,ke=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`);let Ae;const je=()=>Ae??=Ee();function Me(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Ne(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function Pe(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return Ne({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function Fe(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function Ie(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}const Le=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)});function Re(e){return Object.entries(e).filter(([e,t])=>t!==void 0).map(([e,t])=>{if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(t===null)return`${encodeURIComponent(e)}=`;throw new _(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(`&`)}function ze(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}let Be;function Ve(e){let t;return(Be??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}let He;function Ue(e){let t;return(He??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var x,S,We=class{constructor(){x.set(this,void 0),S.set(this,void 0),h(this,x,new Uint8Array,`f`),h(this,S,null,`f`)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?Ve(e):e;h(this,x,ze([g(this,x,`f`),t]),`f`);let n=[],r;for(;(r=Ge(g(this,x,`f`),g(this,S,`f`)))!=null;){if(r.carriage&&g(this,S,`f`)==null){h(this,S,r.index,`f`);continue}if(g(this,S,`f`)!=null&&(r.index!==g(this,S,`f`)+1||r.carriage)){n.push(Ue(g(this,x,`f`).subarray(0,g(this,S,`f`)-1))),h(this,x,g(this,x,`f`).subarray(g(this,S,`f`)),`f`),h(this,S,null,`f`);continue}let e=g(this,S,`f`)===null?r.preceding:r.preceding-1,t=Ue(g(this,x,`f`).subarray(0,e));n.push(t),h(this,x,g(this,x,`f`).subarray(r.index),`f`),h(this,S,null,`f`)}return n}flush(){return g(this,x,`f`).length?this.decode(`
3
- `):[]}};x=new WeakMap,S=new WeakMap,We.NEWLINE_CHARS=new Set([`
4
- `,`\r`]),We.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Ge(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function Ke(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}const qe={off:0,error:200,warn:300,info:400,debug:500},Je=(e,t,n)=>{if(e){if(be(qe,e))return e;w(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(qe))}`)}};function C(){}function Ye(e,t,n){return!t||qe[e]>qe[n]?C:t[e].bind(t)}const Xe={error:C,warn:C,info:C,debug:C};let Ze=new WeakMap;function w(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Xe;let r=Ze.get(t);if(r&&r[0]===n)return r[1];let i={error:Ye(`error`,t,n),warn:Ye(`warn`,t,n),info:Ye(`info`,t,n),debug:Ye(`debug`,t,n)};return Ze.set(t,[n,i]),i}const T=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`x-api-key`||e.toLowerCase()===`authorization`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);var Qe,$e=class e{constructor(e,t,n){this.iterator=e,Qe.set(this,void 0),this.controller=t,h(this,Qe,n,`f`)}static fromSSEResponse(t,n,r){let i=!1,a=r?w(r):console;async function*o(){if(i)throw new _("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let e of et(t,n)){if(e.event===`completion`)try{yield JSON.parse(e.data)}catch(t){throw a.error(`Could not parse message into JSON:`,e.data),a.error(`From chunk:`,e.raw),t}if(e.event===`message_start`||e.event===`message_delta`||e.event===`message_stop`||e.event===`content_block_start`||e.event===`content_block_delta`||e.event===`content_block_stop`||e.event===`message`||e.event===`user.message`||e.event===`user.interrupt`||e.event===`user.tool_confirmation`||e.event===`user.custom_tool_result`||e.event===`agent.message`||e.event===`agent.thinking`||e.event===`agent.tool_use`||e.event===`agent.tool_result`||e.event===`agent.mcp_tool_use`||e.event===`agent.mcp_tool_result`||e.event===`agent.custom_tool_use`||e.event===`agent.thread_context_compacted`||e.event===`session.status_running`||e.event===`session.status_idle`||e.event===`session.status_rescheduled`||e.event===`session.status_terminated`||e.event===`session.error`||e.event===`session.deleted`||e.event===`span.model_request_start`||e.event===`span.model_request_end`)try{yield JSON.parse(e.data)}catch(t){throw a.error(`Could not parse message into JSON:`,e.data),a.error(`From chunk:`,e.raw),t}if(e.event!==`ping`&&e.event===`error`){let n=Se(e.data)??e.data,r=n?.error?.type;throw new v(void 0,n,void 0,t.headers,r)}}e=!0}catch(e){if(ne(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new We,n=Fe(t);for await(let t of n)for(let n of e.decode(t))yield n;for(let t of e.flush())yield t}async function*o(){if(i)throw new _("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(ne(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(Qe=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,g(this,Qe,`f`)),new e(()=>i(n),this.controller,g(this,Qe,`f`))]}toReadableStream(){let e=this,t;return Ne({async start(){t=e[Symbol.asyncIterator]()},async pull(e){try{let{value:n,done:r}=await t.next();if(r)return e.close();let i=Ve(JSON.stringify(n)+`
5
- `);e.enqueue(i)}catch(t){e.error(t)}},async cancel(){await t.return?.()}})}};async function*et(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new _(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new _(`Attempted to iterate over a response with no body`);let n=new nt,r=new We,i=Fe(e.body);for await(let e of tt(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*tt(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let e=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?Ve(n):n,r=new Uint8Array(t.length+e.length);r.set(t),r.set(e,t.length),t=r;let i;for(;(i=Ke(t))!==-1;)yield t.slice(0,i),t=t.slice(i)}t.length>0&&(yield t)}var nt=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
6
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],e}if(this.chunks.push(e),e.startsWith(`:`))return null;let[t,n,r]=rt(e,`:`);return r.startsWith(` `)&&(r=r.substring(1)),t===`event`?this.event=r:t===`data`&&this.data.push(r),null}};function rt(e,t){let n=e.indexOf(t);return n===-1?[e,``,``]:[e.substring(0,n),t,e.substring(n+t.length)]}async function it(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:i,startTime:a}=t,o=await(async()=>{if(t.options.stream)return w(e).debug(`response`,n.status,n.url,n.headers,n.body),t.options.__streamClass?t.options.__streamClass.fromSSEResponse(n,t.controller):$e.fromSSEResponse(n,t.controller);if(n.status===204)return null;if(t.options.__binaryResponse)return n;let r=n.headers.get(`content-type`)?.split(`;`)[0]?.trim();return r?.includes(`application/json`)||r?.endsWith(`+json`)?n.headers.get(`content-length`)===`0`?void 0:at(await n.json(),n):await n.text()})();return w(e).debug(`[${r}] response parsed`,T({retryOfRequestLogID:i,url:n.url,status:n.status,body:o,durationMs:Date.now()-a})),o}function at(e,t){return!e||typeof e!=`object`||Array.isArray(e)?e:Object.defineProperty(e,`_request_id`,{value:t.headers.get(`request-id`),enumerable:!1})}var ot,st=class e extends Promise{constructor(e,t,n=it){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=n,ot.set(this,void 0),h(this,ot,e,`f`)}_thenUnwrap(t){return new e(g(this,ot,`f`),this.responsePromise,async(e,n)=>at(t(await this.parseResponse(e,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get(`request-id`)}}parse(){return this.parsedPromise||=this.responsePromise.then(e=>this.parseResponse(g(this,ot,`f`),e)),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};ot=new WeakMap;var ct,lt=class{constructor(e,t,n,r){ct.set(this,void 0),h(this,ct,e,`f`),this.options=r,this.response=t,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new _("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await g(this,ct,`f`).requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(ct=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}},ut=class extends st{constructor(e,t,n){super(e,t,async(e,t)=>new n(e,t.response,await it(e,t),t.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let t of e)yield t}},dt=class extends lt{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.has_more=n.has_more||!1,this.first_id=n.first_id||null,this.last_id=n.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let e=this.first_id;return e?{...this.options,query:{...ve(this.options.query),before_id:e}}:null}let e=this.last_id;return e?{...this.options,query:{...ve(this.options.query),after_id:e}}:null}},E=class extends lt{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.next_page=n.next_page||null}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){let e=this.next_page;return e?{...this.options,query:{...ve(this.options.query),page:e}}:null}};const ft=()=>{if(typeof File>`u`){let{process:e}=globalThis,t=typeof e?.versions?.node==`string`&&parseInt(e.versions.node.split(`.`))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":``))}};function D(e,t,n){return ft(),new File(e,t??`unknown_file`,n)}function pt(e,t){let n=typeof e==`object`&&!!e&&(`name`in e&&e.name&&String(e.name)||`url`in e&&e.url&&String(e.url)||`filename`in e&&e.filename&&String(e.filename)||`path`in e&&e.path&&String(e.path))||``;return t?n.split(/[\\/]/).pop()||void 0:n}const mt=e=>typeof e==`object`&&!!e&&typeof e[Symbol.asyncIterator]==`function`,ht=async(e,t,n=!0)=>({...e,body:await vt(e.body,t,n)}),gt=new WeakMap;function _t(e){let t=typeof e==`function`?e:e.fetch,n=gt.get(t);if(n)return n;let r=(async()=>{try{let e=`Response`in t?t.Response:(await t(`data:,`)).constructor,n=new FormData;return n.toString()!==await new e(n).text()}catch{return!0}})();return gt.set(t,r),r}const vt=async(e,t,n=!0)=>{if(!await _t(t))throw TypeError(`The provided fetch function does not support file uploads with the current global FormData class.`);let r=new FormData;return await Promise.all(Object.entries(e||{}).map(([e,t])=>bt(r,e,t,n))),r},yt=e=>e instanceof Blob&&`name`in e,bt=async(e,t,n,r)=>{if(n!==void 0){if(n==null)throw TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if(typeof n==`string`||typeof n==`number`||typeof n==`boolean`)e.append(t,String(n));else if(n instanceof Response){let i={},a=n.headers.get(`Content-Type`);a&&(i={type:a}),e.append(t,D([await n.blob()],pt(n,r),i))}else if(mt(n))e.append(t,D([await new Response(Pe(n)).blob()],pt(n,r)));else if(yt(n))e.append(t,D([n],pt(n,r),{type:n.type}));else if(Array.isArray(n))await Promise.all(n.map(n=>bt(e,t+`[]`,n,r)));else if(typeof n==`object`)await Promise.all(Object.entries(n).map(([n,i])=>bt(e,`${t}[${n}]`,i,r)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${n} instead`)}},xt=e=>typeof e==`object`&&!!e&&typeof e.size==`number`&&typeof e.type==`string`&&typeof e.text==`function`&&typeof e.slice==`function`&&typeof e.arrayBuffer==`function`,St=e=>typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.lastModified==`number`&&xt(e),Ct=e=>typeof e==`object`&&!!e&&typeof e.url==`string`&&typeof e.blob==`function`;async function wt(e,t,n){if(ft(),e=await e,t||=pt(e,!0),St(e))return e instanceof File&&t==null&&n==null?e:D([await e.arrayBuffer()],t??e.name,{type:e.type,lastModified:e.lastModified,...n});if(Ct(e)){let r=await e.blob();return t||=new URL(e.url).pathname.split(/[\\/]/).pop(),D(await Tt(r),t,n)}let r=await Tt(e);if(!n?.type){let e=r.find(e=>typeof e==`object`&&`type`in e&&e.type);typeof e==`string`&&(n={...n,type:e})}return D(r,t,n)}async function Tt(e){let t=[];if(typeof e==`string`||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(xt(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(mt(e))for await(let n of e)t.push(...await Tt(n));else{let t=e?.constructor?.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:``}${Et(e)}`)}return t}function Et(e){return typeof e!=`object`||!e?``:`; props: [${Object.getOwnPropertyNames(e).map(e=>`"${e}"`).join(`, `)}]`}var O=class{constructor(e){this._client=e}};const Dt=Symbol.for(`brand.privateNullableHeaders`);function*Ot(e){if(!e)return;if(Dt in e){let{values:t,nulls:n}=e;yield*t.entries();for(let e of n)yield[e,null];return}let t=!1,n;e instanceof Headers?n=e.entries():_e(e)?n=e:(t=!0,n=Object.entries(e??{}));for(let e of n){let n=e[0];if(typeof n!=`string`)throw TypeError(`expected header name to be a string`);let r=_e(e[1])?e[1]:[e[1]],i=!1;for(let e of r)e!==void 0&&(t&&!i&&(i=!0,yield[n,null]),yield[n,e])}}const k=e=>{let t=new Headers,n=new Set;for(let r of e){let e=new Set;for(let[i,a]of Ot(r)){let r=i.toLowerCase();e.has(r)||(t.delete(i),e.add(r)),a===null?(t.delete(i),n.add(r)):(t.append(i,a),n.delete(r))}}return{[Dt]:!0,values:t,nulls:n}};function kt(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}const At=Object.freeze(Object.create(null)),A=((e=kt)=>function(t,...n){if(t.length===1)return t[0];let r=!1,i=[],a=t.reduce((t,a,o)=>{/[?#]/.test(a)&&(r=!0);let s=n[o],c=(r?encodeURIComponent:e)(``+s);return o!==n.length&&(s==null||typeof s==`object`&&s.toString===Object.getPrototypeOf(Object.getPrototypeOf(s.hasOwnProperty??At)??At)?.toString)&&(c=s+``,i.push({start:t.length+a.length,length:c.length,error:`Value of type ${Object.prototype.toString.call(s).slice(8,-1)} is not a valid path parameter`})),t+a+(o===n.length?``:c)},``),o=a.split(/[?#]/,1)[0],s=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=s.exec(o))!==null;)i.push({start:c.index,length:c[0].length,error:`Value "${c[0]}" can\'t be safely passed as a path parameter`});if(i.sort((e,t)=>e.start-t.start),i.length>0){let e=0,t=i.reduce((t,n)=>{let r=` `.repeat(n.start-e),i=`^`.repeat(n.length);return e=n.start+n.length,t+r+i},``);throw new _(`Path parameters result in path with invalid segments:\n${i.map(e=>e.error).join(`
7
- `)}\n${a}\n${t}`)}return a})(kt);var jt=class extends O{create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/environments?beta=true`,{body:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/environments/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/environments/${e}?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/environments?beta=true`,E,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(A`/v1/environments/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(A`/v1/environments/${e}/archive?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};const Mt=Symbol(`anthropic.sdk.stainlessHelper`);function Nt(e){return typeof e==`object`&&!!e&&Mt in e}function Pt(e,t){let n=new Set;if(e)for(let t of e)Nt(t)&&n.add(t[Mt]);if(t){for(let e of t)if(Nt(e)&&n.add(e[Mt]),Array.isArray(e.content))for(let t of e.content)Nt(t)&&n.add(t[Mt])}return Array.from(n)}function Ft(e,t){let n=Pt(e,t);return n.length===0?{}:{"x-stainless-helper":n.join(`, `)}}function It(e){return Nt(e)?{"x-stainless-helper":e[Mt]}:{}}var Lt=class extends O{list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/files?beta=true`,dt,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`files-api-2025-04-14`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(A`/v1/files/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`files-api-2025-04-14`].toString()},n?.headers])})}download(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/files/${e}/content?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`files-api-2025-04-14`].toString(),Accept:`application/binary`},n?.headers]),__binaryResponse:!0})}retrieveMetadata(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/files/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`files-api-2025-04-14`].toString()},n?.headers])})}upload(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/files?beta=true`,ht({body:r,...t,headers:k([{"anthropic-beta":[...n??[],`files-api-2025-04-14`].toString()},It(r.file),t?.headers])},this._client))}},Rt=class extends O{retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/models/${e}?beta=true`,{...n,headers:k([{...r?.toString()==null?void 0:{"anthropic-beta":r?.toString()}},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/models?beta=true`,dt,{query:r,...t,headers:k([{...n?.toString()==null?void 0:{"anthropic-beta":n?.toString()}},t?.headers])})}},zt=class extends O{create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/user_profiles?beta=true`,{body:r,...t,headers:k([{"anthropic-beta":[...n??[],`user-profiles-2026-03-24`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/user_profiles/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`user-profiles-2026-03-24`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/user_profiles/${e}?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`user-profiles-2026-03-24`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/user_profiles?beta=true`,E,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`user-profiles-2026-03-24`].toString()},t?.headers])})}createEnrollmentURL(e,t={},n){let{betas:r}=t??{};return this._client.post(A`/v1/user_profiles/${e}/enrollment_url?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`user-profiles-2026-03-24`].toString()},n?.headers])})}},Bt=class extends O{list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(A`/v1/agents/${e}/versions?beta=true`,E,{query:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},Vt=class extends O{constructor(){super(...arguments),this.versions=new Bt(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/agents?beta=true`,{body:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r,...i}=t??{};return this._client.get(A`/v1/agents/${e}?beta=true`,{query:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/agents/${e}?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/agents?beta=true`,E,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(A`/v1/agents/${e}/archive?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};Vt.Versions=Bt;var Ht=class extends O{create(e,t,n){let{view:r,betas:i,...a}=t;return this._client.post(A`/v1/memory_stores/${e}/memories?beta=true`,{query:{view:r},body:a,...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}retrieve(e,t,n){let{memory_store_id:r,betas:i,...a}=t;return this._client.get(A`/v1/memory_stores/${r}/memories/${e}?beta=true`,{query:a,...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{memory_store_id:r,view:i,betas:a,...o}=t;return this._client.post(A`/v1/memory_stores/${r}/memories/${e}?beta=true`,{query:{view:i},body:o,...n,headers:k([{"anthropic-beta":[...a??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(A`/v1/memory_stores/${e}/memories?beta=true`,E,{query:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}delete(e,t,n){let{memory_store_id:r,expected_content_sha256:i,betas:a}=t;return this._client.delete(A`/v1/memory_stores/${r}/memories/${e}?beta=true`,{query:{expected_content_sha256:i},...n,headers:k([{"anthropic-beta":[...a??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},Ut=class extends O{retrieve(e,t,n){let{memory_store_id:r,betas:i,...a}=t;return this._client.get(A`/v1/memory_stores/${r}/memory_versions/${e}?beta=true`,{query:a,...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(A`/v1/memory_stores/${e}/memory_versions?beta=true`,E,{query:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}redact(e,t,n){let{memory_store_id:r,betas:i}=t;return this._client.post(A`/v1/memory_stores/${r}/memory_versions/${e}/redact?beta=true`,{...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},Wt=class extends O{constructor(){super(...arguments),this.memories=new Ht(this._client),this.memoryVersions=new Ut(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/memory_stores?beta=true`,{body:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/memory_stores/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/memory_stores/${e}?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/memory_stores?beta=true`,E,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(A`/v1/memory_stores/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(A`/v1/memory_stores/${e}/archive?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};Wt.Memories=Ht,Wt.MemoryVersions=Ut;const Gt={"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 Kt(e){return e?.output_format??e?.output_config?.format}function qt(e,t,n){let r=Kt(t);return!t||!(`parse`in(r??{}))?{...e,content:e.content.map(e=>{if(e.type===`text`){let t=Object.defineProperty({...e},`parsed_output`,{value:null,enumerable:!1});return Object.defineProperty(t,`parsed`,{get(){return n.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null},enumerable:!1})}return e}),parsed_output:null}:Jt(e,t,n)}function Jt(e,t,n){let r=null,i=e.content.map(e=>{if(e.type===`text`){let i=Yt(t,e.text);r===null&&(r=i);let a=Object.defineProperty({...e},`parsed_output`,{value:i,enumerable:!1});return Object.defineProperty(a,`parsed`,{get(){return n.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),i},enumerable:!1})}return e});return{...e,content:i,parsed_output:r}}function Yt(e,t){let n=Kt(e);if(n?.type!==`json_schema`)return null;try{return`parse`in n?n.parse(t):JSON.parse(t)}catch(e){throw new _(`Failed to parse structured output: ${e}`)}}const Xt=e=>{let t=0,n=[];for(;t<e.length;){let r=e[t];if(r===`\\`){t++;continue}if(r===`{`){n.push({type:`brace`,value:`{`}),t++;continue}if(r===`}`){n.push({type:`brace`,value:`}`}),t++;continue}if(r===`[`){n.push({type:`paren`,value:`[`}),t++;continue}if(r===`]`){n.push({type:`paren`,value:`]`}),t++;continue}if(r===`:`){n.push({type:`separator`,value:`:`}),t++;continue}if(r===`,`){n.push({type:`delimiter`,value:`,`}),t++;continue}if(r===`"`){let i=``,a=!1;for(r=e[++t];r!==`"`;){if(t===e.length){a=!0;break}if(r===`\\`){if(t++,t===e.length){a=!0;break}i+=r+e[t],r=e[++t]}else i+=r,r=e[++t]}r=e[++t],a||n.push({type:`string`,value:i});continue}if(r&&/\s/.test(r)){t++;continue}let i=/[0-9]/;if(r&&i.test(r)||r===`-`||r===`.`){let a=``;for(r===`-`&&(a+=r,r=e[++t]);r&&i.test(r)||r===`.`;)a+=r,r=e[++t];n.push({type:`number`,value:a});continue}let a=/[a-z]/i;if(r&&a.test(r)){let i=``;for(;r&&a.test(r)&&t!==e.length;)i+=r,r=e[++t];if(i==`true`||i==`false`||i===`null`)n.push({type:`name`,value:i});else{t++;continue}continue}t++}return n},Zt=e=>{if(e.length===0)return e;let t=e[e.length-1];switch(t.type){case`separator`:return e=e.slice(0,e.length-1),Zt(e);case`number`:let n=t.value[t.value.length-1];if(n===`.`||n===`-`)return e=e.slice(0,e.length-1),Zt(e);case`string`:let r=e[e.length-2];if(r?.type===`delimiter`||r?.type===`brace`&&r.value===`{`)return e=e.slice(0,e.length-1),Zt(e);break;case`delimiter`:return e=e.slice(0,e.length-1),Zt(e)}return e},Qt=e=>{let t=[];return e.map(e=>{e.type===`brace`&&(e.value===`{`?t.push(`}`):t.splice(t.lastIndexOf(`}`),1)),e.type===`paren`&&(e.value===`[`?t.push(`]`):t.splice(t.lastIndexOf(`]`),1))}),t.length>0&&t.reverse().map(t=>{t===`}`?e.push({type:`brace`,value:`}`}):t===`]`&&e.push({type:`paren`,value:`]`})}),e},$t=e=>{let t=``;return e.map(e=>{switch(e.type){case`string`:t+=`"`+e.value+`"`;break;default:t+=e.value;break}}),t},en=e=>JSON.parse($t(Qt(Zt(Xt(e)))));var j,M,N,tn,nn,rn,P,an,F,I,L,on,sn,R,cn,ln,un,dn,fn,pn,mn,hn,gn,_n;const vn=`__json_buf`;function yn(e){return e.type===`tool_use`||e.type===`server_tool_use`||e.type===`mcp_tool_use`}var bn=class e{constructor(e,t){j.add(this),this.messages=[],this.receivedMessages=[],M.set(this,void 0),N.set(this,null),this.controller=new AbortController,tn.set(this,void 0),nn.set(this,()=>{}),rn.set(this,()=>{}),P.set(this,void 0),an.set(this,()=>{}),F.set(this,()=>{}),I.set(this,{}),L.set(this,!1),on.set(this,!1),sn.set(this,!1),R.set(this,!1),cn.set(this,void 0),ln.set(this,void 0),un.set(this,void 0),pn.set(this,e=>{if(h(this,on,!0,`f`),ne(e)&&(e=new y),e instanceof y)return h(this,sn,!0,`f`),this._emit(`abort`,e);if(e instanceof _)return this._emit(`error`,e);if(e instanceof Error){let t=new _(e.message);return t.cause=e,this._emit(`error`,t)}return this._emit(`error`,new _(String(e)))}),h(this,tn,new Promise((e,t)=>{h(this,nn,e,`f`),h(this,rn,t,`f`)}),`f`),h(this,P,new Promise((e,t)=>{h(this,an,e,`f`),h(this,F,t,`f`)}),`f`),g(this,tn,`f`).catch(()=>{}),g(this,P,`f`).catch(()=>{}),h(this,N,e,`f`),h(this,un,t?.logger??console,`f`)}get response(){return g(this,cn,`f`)}get request_id(){return g(this,ln,`f`)}async withResponse(){h(this,R,!0,`f`);let e=await g(this,tn,`f`);if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get(`request-id`)}}static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static createMessage(t,n,r,{logger:i}={}){let a=new e(n,{logger:i});for(let e of n.messages)a._addMessageParam(e);return h(a,N,{...n,stream:!0},`f`),a._run(()=>a._createMessage(t,{...n,stream:!0},{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":`stream`}})),a}_run(e){e().then(()=>{this._emitFinal(),this._emit(`end`)},g(this,pn,`f`))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit(`message`,e)}async _createMessage(e,t,n){let r=n?.signal,i;r&&(r.aborted&&this.controller.abort(),i=this.controller.abort.bind(this.controller),r.addEventListener(`abort`,i));try{g(this,j,`m`,mn).call(this);let{response:r,data:i}=await e.create({...t,stream:!0},{...n,signal:this.controller.signal}).withResponse();this._connected(r);for await(let e of i)g(this,j,`m`,hn).call(this,e);if(i.controller.signal?.aborted)throw new y;g(this,j,`m`,gn).call(this)}finally{r&&i&&r.removeEventListener(`abort`,i)}}_connected(e){this.ended||(h(this,cn,e,`f`),h(this,ln,e?.headers.get(`request-id`),`f`),g(this,nn,`f`).call(this,e),this._emit(`connect`))}get ended(){return g(this,L,`f`)}get errored(){return g(this,on,`f`)}get aborted(){return g(this,sn,`f`)}abort(){this.controller.abort()}on(e,t){return(g(this,I,`f`)[e]||(g(this,I,`f`)[e]=[])).push({listener:t}),this}off(e,t){let n=g(this,I,`f`)[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(g(this,I,`f`)[e]||(g(this,I,`f`)[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{h(this,R,!0,`f`),e!==`error`&&this.once(`error`,n),this.once(e,t)})}async done(){h(this,R,!0,`f`),await g(this,P,`f`)}get currentMessage(){return g(this,M,`f`)}async finalMessage(){return await this.done(),g(this,j,`m`,dn).call(this)}async finalText(){return await this.done(),g(this,j,`m`,fn).call(this)}_emit(e,...t){if(g(this,L,`f`))return;e===`end`&&(h(this,L,!0,`f`),g(this,an,`f`).call(this));let n=g(this,I,`f`)[e];if(n&&(g(this,I,`f`)[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),e===`abort`){let e=t[0];!g(this,R,`f`)&&!n?.length&&Promise.reject(e),g(this,rn,`f`).call(this,e),g(this,F,`f`).call(this,e),this._emit(`end`);return}if(e===`error`){let e=t[0];!g(this,R,`f`)&&!n?.length&&Promise.reject(e),g(this,rn,`f`).call(this,e),g(this,F,`f`).call(this,e),this._emit(`end`)}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit(`finalMessage`,g(this,j,`m`,dn).call(this))}async _fromReadableStream(e,t){let n=t?.signal,r;n&&(n.aborted&&this.controller.abort(),r=this.controller.abort.bind(this.controller),n.addEventListener(`abort`,r));try{g(this,j,`m`,mn).call(this),this._connected(null);let t=$e.fromReadableStream(e,this.controller);for await(let e of t)g(this,j,`m`,hn).call(this,e);if(t.controller.signal?.aborted)throw new y;g(this,j,`m`,gn).call(this)}finally{n&&r&&n.removeEventListener(`abort`,r)}}[(M=new WeakMap,N=new WeakMap,tn=new WeakMap,nn=new WeakMap,rn=new WeakMap,P=new WeakMap,an=new WeakMap,F=new WeakMap,I=new WeakMap,L=new WeakMap,on=new WeakMap,sn=new WeakMap,R=new WeakMap,cn=new WeakMap,ln=new WeakMap,un=new WeakMap,pn=new WeakMap,j=new WeakSet,dn=function(){if(this.receivedMessages.length===0)throw new _(`stream ended without producing a Message with role=assistant`);return this.receivedMessages.at(-1)},fn=function(){if(this.receivedMessages.length===0)throw new _(`stream ended without producing a Message with role=assistant`);let e=this.receivedMessages.at(-1).content.filter(e=>e.type===`text`).map(e=>e.text);if(e.length===0)throw new _(`stream ended without producing a content block with type=text`);return e.join(` `)},mn=function(){this.ended||h(this,M,void 0,`f`)},hn=function(e){if(this.ended)return;let t=g(this,j,`m`,_n).call(this,e);switch(this._emit(`streamEvent`,e,t),e.type){case`content_block_delta`:{let n=t.content.at(-1);switch(e.delta.type){case`text_delta`:n.type===`text`&&this._emit(`text`,e.delta.text,n.text||``);break;case`citations_delta`:n.type===`text`&&this._emit(`citation`,e.delta.citation,n.citations??[]);break;case`input_json_delta`:yn(n)&&n.input&&this._emit(`inputJson`,e.delta.partial_json,n.input);break;case`thinking_delta`:n.type===`thinking`&&this._emit(`thinking`,e.delta.thinking,n.thinking);break;case`signature_delta`:n.type===`thinking`&&this._emit(`signature`,n.signature);break;case`compaction_delta`:n.type===`compaction`&&n.content&&this._emit(`compaction`,n.content);break;default:e.delta}break}case`message_stop`:this._addMessageParam(t),this._addMessage(qt(t,g(this,N,`f`),{logger:g(this,un,`f`)}),!0);break;case`content_block_stop`:this._emit(`contentBlock`,t.content.at(-1));break;case`message_start`:h(this,M,t,`f`);break;case`content_block_start`:case`message_delta`:break}},gn=function(){if(this.ended)throw new _(`stream has ended, this shouldn't happen`);let e=g(this,M,`f`);if(!e)throw new _(`request ended without sending any chunks`);return h(this,M,void 0,`f`),qt(e,g(this,N,`f`),{logger:g(this,un,`f`)})},_n=function(e){let t=g(this,M,`f`);if(e.type===`message_start`){if(t)throw new _(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new _(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case`message_stop`:return t;case`message_delta`:return t.container=e.delta.container,t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,t.usage.output_tokens=e.usage.output_tokens,t.context_management=e.context_management,e.usage.input_tokens!=null&&(t.usage.input_tokens=e.usage.input_tokens),e.usage.cache_creation_input_tokens!=null&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),e.usage.cache_read_input_tokens!=null&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),e.usage.server_tool_use!=null&&(t.usage.server_tool_use=e.usage.server_tool_use),e.usage.iterations!=null&&(t.usage.iterations=e.usage.iterations),t;case`content_block_start`:return t.content.push(e.content_block),t;case`content_block_delta`:{let n=t.content.at(e.index);switch(e.delta.type){case`text_delta`:n?.type===`text`&&(t.content[e.index]={...n,text:(n.text||``)+e.delta.text});break;case`citations_delta`:n?.type===`text`&&(t.content[e.index]={...n,citations:[...n.citations??[],e.delta.citation]});break;case`input_json_delta`:if(n&&yn(n)){let r=n[vn]||``;r+=e.delta.partial_json;let i={...n};if(Object.defineProperty(i,vn,{value:r,enumerable:!1,writable:!0}),r)try{i.input=en(r)}catch(e){let t=new _(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${e}. JSON: ${r}`);g(this,pn,`f`).call(this,t)}t.content[e.index]=i}break;case`thinking_delta`:n?.type===`thinking`&&(t.content[e.index]={...n,thinking:n.thinking+e.delta.thinking});break;case`signature_delta`:n?.type===`thinking`&&(t.content[e.index]={...n,signature:e.delta.signature});break;case`compaction_delta`:n?.type===`compaction`&&(t.content[e.index]={...n,content:(n.content||``)+e.delta.content});break;default:e.delta}return t}case`content_block_stop`:return t}},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on(`streamEvent`,n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on(`end`,()=>{n=!0;for(let e of t)e.resolve(void 0);t.length=0}),this.on(`abort`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),this.on(`error`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new $e(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}},xn=class extends Error{constructor(e){let t=typeof e==`string`?e:e.map(e=>e.type===`text`?e.text:`[${e.type}]`).join(` `);super(t),this.name=`ToolError`,this.content=e}},Sn,z,B,V,H,U,W,G,Cn,wn,Tn;function En(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Dn=class{constructor(e,t,n){Sn.add(this),this.client=e,z.set(this,!1),B.set(this,!1),V.set(this,void 0),H.set(this,void 0),U.set(this,void 0),W.set(this,void 0),G.set(this,void 0),Cn.set(this,0),h(this,V,{params:{...t,messages:structuredClone(t.messages)}},`f`);let r=[`BetaToolRunner`,...Pt(t.tools,t.messages)].join(`, `);h(this,H,{...n,headers:k([{"x-stainless-helper":r},n?.headers])},`f`),h(this,G,En(),`f`),t.compactionControl?.enabled&&console.warn('Anthropic: The `compactionControl` parameter is deprecated and will be removed in a future version. Use server-side compaction instead by passing `edits: [{ type: "compact_20260112" }]` in the params passed to `toolRunner()`. See https://platform.claude.com/docs/en/build-with-claude/compaction')}async*[(z=new WeakMap,B=new WeakMap,V=new WeakMap,H=new WeakMap,U=new WeakMap,W=new WeakMap,G=new WeakMap,Cn=new WeakMap,Sn=new WeakSet,wn=async function(){let e=g(this,V,`f`).params.compactionControl;if(!e||!e.enabled)return!1;let t=0;if(g(this,U,`f`)!==void 0)try{let e=await g(this,U,`f`);t=e.usage.input_tokens+(e.usage.cache_creation_input_tokens??0)+(e.usage.cache_read_input_tokens??0)+e.usage.output_tokens}catch{return!1}let n=e.contextTokenThreshold??1e5;if(t<n)return!1;let r=e.model??g(this,V,`f`).params.model,i=e.summaryPrompt??`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:
8
- 1. Task Overview
9
- The user's core request and success criteria
10
- Any clarifications or constraints they specified
11
- 2. Current State
12
- What has been completed so far
13
- Files created, modified, or analyzed (with paths if relevant)
14
- Key outputs or artifacts produced
15
- 3. Important Discoveries
16
- Technical constraints or requirements uncovered
17
- Decisions made and their rationale
18
- Errors encountered and how they were resolved
19
- What approaches were tried that didn't work (and why)
20
- 4. Next Steps
21
- Specific actions needed to complete the task
22
- Any blockers or open questions to resolve
23
- Priority order if multiple steps remain
24
- 5. Context to Preserve
25
- User preferences or style requirements
26
- Domain-specific details that aren't obvious
27
- Any promises made to the user
28
- Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
29
- Wrap your summary in <summary></summary> tags.`,a=g(this,V,`f`).params.messages;if(a[a.length-1].role===`assistant`){let e=a[a.length-1];if(Array.isArray(e.content)){let t=e.content.filter(e=>e.type!==`tool_use`);t.length===0?a.pop():e.content=t}}let o=await this.client.beta.messages.create({model:r,messages:[...a,{role:`user`,content:[{type:`text`,text:i}]}],max_tokens:g(this,V,`f`).params.max_tokens},{signal:g(this,H,`f`).signal,headers:k([g(this,H,`f`).headers,{"x-stainless-helper":`compaction`}])});if(o.content[0]?.type!==`text`)throw new _(`Expected text response for compaction`);return g(this,V,`f`).params.messages=[{role:`user`,content:o.content}],!0},Symbol.asyncIterator)](){var e;if(g(this,z,`f`))throw new _(`Cannot iterate over a consumed stream`);h(this,z,!0,`f`),h(this,B,!0,`f`),h(this,W,void 0,`f`);try{for(;;){let t;try{if(g(this,V,`f`).params.max_iterations&&g(this,Cn,`f`)>=g(this,V,`f`).params.max_iterations)break;h(this,B,!1,`f`),h(this,W,void 0,`f`),h(this,Cn,(e=g(this,Cn,`f`),e++,e),`f`),h(this,U,void 0,`f`);let{max_iterations:n,compactionControl:r,...i}=g(this,V,`f`).params;if(i.stream?(t=this.client.beta.messages.stream({...i},g(this,H,`f`)),h(this,U,t.finalMessage(),`f`),g(this,U,`f`).catch(()=>{}),yield t):(h(this,U,this.client.beta.messages.create({...i,stream:!1},g(this,H,`f`)),`f`),yield g(this,U,`f`)),!await g(this,Sn,`m`,wn).call(this)){if(!g(this,B,`f`)){let{role:e,content:t}=await g(this,U,`f`);g(this,V,`f`).params.messages.push({role:e,content:t})}let e=await g(this,Sn,`m`,Tn).call(this,g(this,V,`f`).params.messages.at(-1));if(e)g(this,V,`f`).params.messages.push(e);else if(!g(this,B,`f`))break}}finally{t&&t.abort()}}if(!g(this,U,`f`))throw new _(`ToolRunner concluded without a message from the server`);g(this,G,`f`).resolve(await g(this,U,`f`))}catch(e){throw h(this,z,!1,`f`),g(this,G,`f`).promise.catch(()=>{}),g(this,G,`f`).reject(e),h(this,G,En(),`f`),e}}setMessagesParams(e){typeof e==`function`?g(this,V,`f`).params=e(g(this,V,`f`).params):g(this,V,`f`).params=e,h(this,B,!0,`f`),h(this,W,void 0,`f`)}setRequestOptions(e){typeof e==`function`?h(this,H,e(g(this,H,`f`)),`f`):h(this,H,{...g(this,H,`f`),...e},`f`)}async generateToolResponse(e=g(this,H,`f`).signal){let t=await g(this,U,`f`)??this.params.messages.at(-1);return t?g(this,Sn,`m`,Tn).call(this,t,e):null}done(){return g(this,G,`f`).promise}async runUntilDone(){if(!g(this,z,`f`))for await(let e of this);return this.done()}get params(){return g(this,V,`f`).params}pushMessages(...e){this.setMessagesParams(t=>({...t,messages:[...t.messages,...e]}))}then(e,t){return this.runUntilDone().then(e,t)}};Tn=async function(e,t=g(this,H,`f`).signal){return g(this,W,`f`)===void 0&&h(this,W,On(g(this,V,`f`).params,e,{...g(this,H,`f`),signal:t}),`f`),g(this,W,`f`)};async function On(e,t=e.messages.at(-1),n){if(!t||t.role!==`assistant`||!t.content||typeof t.content==`string`)return null;let r=t.content.filter(e=>e.type===`tool_use`);return r.length===0?null:{role:`user`,content:await Promise.all(r.map(async t=>{let r=e.tools.find(e=>(`name`in e?e.name:e.mcp_server_name)===t.name);if(!r||!(`run`in r))return{type:`tool_result`,tool_use_id:t.id,content:`Error: Tool '${t.name}' not found`,is_error:!0};try{let e=t.input;`parse`in r&&r.parse&&(e=r.parse(e));let i=await r.run(e,{toolUseBlock:t,signal:n?.signal});return{type:`tool_result`,tool_use_id:t.id,content:i}}catch(e){return{type:`tool_result`,tool_use_id:t.id,content:e instanceof xn?e.content:`Error: ${e instanceof Error?e.message:String(e)}`,is_error:!0}}}))}}var kn=class e{constructor(e,t){this.iterator=e,this.controller=t}async*decoder(){let e=new We;for await(let t of this.iterator)for(let n of e.decode(t))yield JSON.parse(n);for(let t of e.flush())yield JSON.parse(t)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(t,n){if(!t.body)throw n.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new _(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new _(`Attempted to iterate over a response with no body`);return new e(Fe(t.body),n)}},An=class extends O{create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/messages/batches?beta=true`,{body:r,...t,headers:k([{"anthropic-beta":[...n??[],`message-batches-2024-09-24`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/messages/batches/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`message-batches-2024-09-24`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/messages/batches?beta=true`,dt,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`message-batches-2024-09-24`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(A`/v1/messages/batches/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`message-batches-2024-09-24`].toString()},n?.headers])})}cancel(e,t={},n){let{betas:r}=t??{};return this._client.post(A`/v1/messages/batches/${e}/cancel?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`message-batches-2024-09-24`].toString()},n?.headers])})}async results(e,t={},n){let r=await this.retrieve(e);if(!r.results_url)throw new _(`No batch \`results_url\`; Has it finished processing? ${r.processing_status} - ${r.id}`);let{betas:i}=t??{};return this._client.get(r.results_url,{...n,headers:k([{"anthropic-beta":[...i??[],`message-batches-2024-09-24`].toString(),Accept:`application/binary`},n?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>kn.fromResponse(t.response,t.controller))}};const jn={"claude-1.3":`November 6th, 2024`,"claude-1.3-100k":`November 6th, 2024`,"claude-instant-1.1":`November 6th, 2024`,"claude-instant-1.1-100k":`November 6th, 2024`,"claude-instant-1.2":`November 6th, 2024`,"claude-3-sonnet-20240229":`July 21st, 2025`,"claude-3-opus-20240229":`January 5th, 2026`,"claude-2.1":`July 21st, 2025`,"claude-2.0":`July 21st, 2025`,"claude-3-7-sonnet-latest":`February 19th, 2026`,"claude-3-7-sonnet-20250219":`February 19th, 2026`},Mn=[`claude-mythos-preview`,`claude-opus-4-6`];var Nn=class extends O{constructor(){super(...arguments),this.batches=new An(this._client)}create(e,t){let n=Pn(e),{betas:r,...i}=n;i.model in jn&&console.warn(`The model '${i.model}' is deprecated and will reach end-of-life on ${jn[i.model]}\nPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`),Mn.includes(i.model)&&i.thinking&&i.thinking.type===`enabled`&&console.warn(`Using Claude with ${i.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);let a=this._client._options.timeout;if(!i.stream&&a==null){let e=Gt[i.model]??void 0;a=this._client.calculateNonstreamingTimeout(i.max_tokens,e)}let o=Ft(i.tools,i.messages);return this._client.post(`/v1/messages?beta=true`,{body:i,timeout:a??6e5,...t,headers:k([{...r?.toString()==null?void 0:{"anthropic-beta":r?.toString()}},o,t?.headers]),stream:n.stream??!1})}parse(e,t){return t={...t,headers:k([{"anthropic-beta":[...e.betas??[],`structured-outputs-2025-12-15`].toString()},t?.headers])},this.create(e,t).then(t=>Jt(t,e,{logger:this._client.logger??console}))}stream(e,t){return bn.createMessage(this,e,t)}countTokens(e,t){let{betas:n,...r}=Pn(e);return this._client.post(`/v1/messages/count_tokens?beta=true`,{body:r,...t,headers:k([{"anthropic-beta":[...n??[],`token-counting-2024-11-01`].toString()},t?.headers])})}toolRunner(e,t){return new Dn(this._client,e,t)}};function Pn(e){if(!e.output_format)return e;if(e.output_config?.format)throw new _(`Both output_format and output_config.format were provided. Please use only output_config.format (output_format is deprecated).`);let{output_format:t,...n}=e;return{...n,output_config:{...e.output_config,format:t}}}Nn.Batches=An,Nn.BetaToolRunner=Dn,Nn.ToolError=xn;var Fn=class extends O{list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(A`/v1/sessions/${e}/events?beta=true`,E,{query:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}send(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/sessions/${e}/events?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}stream(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/sessions/${e}/events/stream?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers]),stream:!0})}},In=class extends O{retrieve(e,t,n){let{session_id:r,betas:i}=t;return this._client.get(A`/v1/sessions/${r}/resources/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{session_id:r,betas:i,...a}=t;return this._client.post(A`/v1/sessions/${r}/resources/${e}?beta=true`,{body:a,...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(A`/v1/sessions/${e}/resources?beta=true`,E,{query:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}delete(e,t,n){let{session_id:r,betas:i}=t;return this._client.delete(A`/v1/sessions/${r}/resources/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}add(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/sessions/${e}/resources?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},Ln=class extends O{constructor(){super(...arguments),this.events=new Fn(this._client),this.resources=new In(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/sessions?beta=true`,{body:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/sessions/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/sessions/${e}?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/sessions?beta=true`,E,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(A`/v1/sessions/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(A`/v1/sessions/${e}/archive?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};Ln.Events=Fn,Ln.Resources=In;var Rn=class extends O{create(e,t={},n){let{betas:r,...i}=t??{};return this._client.post(A`/v1/skills/${e}/versions?beta=true`,ht({body:i,...n,headers:k([{"anthropic-beta":[...r??[],`skills-2025-10-02`].toString()},n?.headers])},this._client))}retrieve(e,t,n){let{skill_id:r,betas:i}=t;return this._client.get(A`/v1/skills/${r}/versions/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...i??[],`skills-2025-10-02`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(A`/v1/skills/${e}/versions?beta=true`,E,{query:i,...n,headers:k([{"anthropic-beta":[...r??[],`skills-2025-10-02`].toString()},n?.headers])})}delete(e,t,n){let{skill_id:r,betas:i}=t;return this._client.delete(A`/v1/skills/${r}/versions/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...i??[],`skills-2025-10-02`].toString()},n?.headers])})}},zn=class extends O{constructor(){super(...arguments),this.versions=new Rn(this._client)}create(e={},t){let{betas:n,...r}=e??{};return this._client.post(`/v1/skills?beta=true`,ht({body:r,...t,headers:k([{"anthropic-beta":[...n??[],`skills-2025-10-02`].toString()},t?.headers])},this._client,!1))}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/skills/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`skills-2025-10-02`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/skills?beta=true`,E,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`skills-2025-10-02`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(A`/v1/skills/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`skills-2025-10-02`].toString()},n?.headers])})}};zn.Versions=Rn;var Bn=class extends O{create(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/vaults/${e}/credentials?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}retrieve(e,t,n){let{vault_id:r,betas:i}=t;return this._client.get(A`/v1/vaults/${r}/credentials/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{vault_id:r,betas:i,...a}=t;return this._client.post(A`/v1/vaults/${r}/credentials/${e}?beta=true`,{body:a,...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e,t={},n){let{betas:r,...i}=t??{};return this._client.getAPIList(A`/v1/vaults/${e}/credentials?beta=true`,E,{query:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}delete(e,t,n){let{vault_id:r,betas:i}=t;return this._client.delete(A`/v1/vaults/${r}/credentials/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t,n){let{vault_id:r,betas:i}=t;return this._client.post(A`/v1/vaults/${r}/credentials/${e}/archive?beta=true`,{...n,headers:k([{"anthropic-beta":[...i??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}},Vn=class extends O{constructor(){super(...arguments),this.credentials=new Bn(this._client)}create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/vaults?beta=true`,{body:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/vaults/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}update(e,t,n){let{betas:r,...i}=t;return this._client.post(A`/v1/vaults/${e}?beta=true`,{body:i,...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/vaults?beta=true`,E,{query:r,...t,headers:k([{"anthropic-beta":[...n??[],`managed-agents-2026-04-01`].toString()},t?.headers])})}delete(e,t={},n){let{betas:r}=t??{};return this._client.delete(A`/v1/vaults/${e}?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}archive(e,t={},n){let{betas:r}=t??{};return this._client.post(A`/v1/vaults/${e}/archive?beta=true`,{...n,headers:k([{"anthropic-beta":[...r??[],`managed-agents-2026-04-01`].toString()},n?.headers])})}};Vn.Credentials=Bn;var K=class extends O{constructor(){super(...arguments),this.models=new Rt(this._client),this.messages=new Nn(this._client),this.agents=new Vt(this._client),this.environments=new jt(this._client),this.sessions=new Ln(this._client),this.vaults=new Vn(this._client),this.memoryStores=new Wt(this._client),this.files=new Lt(this._client),this.skills=new zn(this._client),this.userProfiles=new zt(this._client)}};K.Models=Rt,K.Messages=Nn,K.Agents=Vt,K.Environments=jt,K.Sessions=Ln,K.Vaults=Vn,K.MemoryStores=Wt,K.Files=Lt,K.Skills=zn,K.UserProfiles=zt;var Hn=class extends O{create(e,t){let{betas:n,...r}=e;return this._client.post(`/v1/complete`,{body:r,timeout:this._client._options.timeout??6e5,...t,headers:k([{...n?.toString()==null?void 0:{"anthropic-beta":n?.toString()}},t?.headers]),stream:e.stream??!1})}};function Un(e){return e?.output_config?.format}function Wn(e,t,n){let r=Un(t);return!t||!(`parse`in(r??{}))?{...e,content:e.content.map(e=>e.type===`text`?Object.defineProperty({...e},`parsed_output`,{value:null,enumerable:!1}):e),parsed_output:null}:Gn(e,t,n)}function Gn(e,t,n){let r=null,i=e.content.map(e=>{if(e.type===`text`){let n=Kn(t,e.text);return r===null&&(r=n),Object.defineProperty({...e},`parsed_output`,{value:n,enumerable:!1})}return e});return{...e,content:i,parsed_output:r}}function Kn(e,t){let n=Un(e);if(n?.type!==`json_schema`)return null;try{return`parse`in n?n.parse(t):JSON.parse(t)}catch(e){throw new _(`Failed to parse structured output: ${e}`)}}var q,J,Y,qn,Jn,Yn,Xn,Zn,Qn,X,$n,er,tr,Z,nr,rr,ir,ar,or,sr,cr,lr,ur,dr;const fr=`__json_buf`;function pr(e){return e.type===`tool_use`||e.type===`server_tool_use`}var mr=class e{constructor(e,t){q.add(this),this.messages=[],this.receivedMessages=[],J.set(this,void 0),Y.set(this,null),this.controller=new AbortController,qn.set(this,void 0),Jn.set(this,()=>{}),Yn.set(this,()=>{}),Xn.set(this,void 0),Zn.set(this,()=>{}),Qn.set(this,()=>{}),X.set(this,{}),$n.set(this,!1),er.set(this,!1),tr.set(this,!1),Z.set(this,!1),nr.set(this,void 0),rr.set(this,void 0),ir.set(this,void 0),sr.set(this,e=>{if(h(this,er,!0,`f`),ne(e)&&(e=new y),e instanceof y)return h(this,tr,!0,`f`),this._emit(`abort`,e);if(e instanceof _)return this._emit(`error`,e);if(e instanceof Error){let t=new _(e.message);return t.cause=e,this._emit(`error`,t)}return this._emit(`error`,new _(String(e)))}),h(this,qn,new Promise((e,t)=>{h(this,Jn,e,`f`),h(this,Yn,t,`f`)}),`f`),h(this,Xn,new Promise((e,t)=>{h(this,Zn,e,`f`),h(this,Qn,t,`f`)}),`f`),g(this,qn,`f`).catch(()=>{}),g(this,Xn,`f`).catch(()=>{}),h(this,Y,e,`f`),h(this,ir,t?.logger??console,`f`)}get response(){return g(this,nr,`f`)}get request_id(){return g(this,rr,`f`)}async withResponse(){h(this,Z,!0,`f`);let e=await g(this,qn,`f`);if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get(`request-id`)}}static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static createMessage(t,n,r,{logger:i}={}){let a=new e(n,{logger:i});for(let e of n.messages)a._addMessageParam(e);return h(a,Y,{...n,stream:!0},`f`),a._run(()=>a._createMessage(t,{...n,stream:!0},{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":`stream`}})),a}_run(e){e().then(()=>{this._emitFinal(),this._emit(`end`)},g(this,sr,`f`))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit(`message`,e)}async _createMessage(e,t,n){let r=n?.signal,i;r&&(r.aborted&&this.controller.abort(),i=this.controller.abort.bind(this.controller),r.addEventListener(`abort`,i));try{g(this,q,`m`,cr).call(this);let{response:r,data:i}=await e.create({...t,stream:!0},{...n,signal:this.controller.signal}).withResponse();this._connected(r);for await(let e of i)g(this,q,`m`,lr).call(this,e);if(i.controller.signal?.aborted)throw new y;g(this,q,`m`,ur).call(this)}finally{r&&i&&r.removeEventListener(`abort`,i)}}_connected(e){this.ended||(h(this,nr,e,`f`),h(this,rr,e?.headers.get(`request-id`),`f`),g(this,Jn,`f`).call(this,e),this._emit(`connect`))}get ended(){return g(this,$n,`f`)}get errored(){return g(this,er,`f`)}get aborted(){return g(this,tr,`f`)}abort(){this.controller.abort()}on(e,t){return(g(this,X,`f`)[e]||(g(this,X,`f`)[e]=[])).push({listener:t}),this}off(e,t){let n=g(this,X,`f`)[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(g(this,X,`f`)[e]||(g(this,X,`f`)[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{h(this,Z,!0,`f`),e!==`error`&&this.once(`error`,n),this.once(e,t)})}async done(){h(this,Z,!0,`f`),await g(this,Xn,`f`)}get currentMessage(){return g(this,J,`f`)}async finalMessage(){return await this.done(),g(this,q,`m`,ar).call(this)}async finalText(){return await this.done(),g(this,q,`m`,or).call(this)}_emit(e,...t){if(g(this,$n,`f`))return;e===`end`&&(h(this,$n,!0,`f`),g(this,Zn,`f`).call(this));let n=g(this,X,`f`)[e];if(n&&(g(this,X,`f`)[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),e===`abort`){let e=t[0];!g(this,Z,`f`)&&!n?.length&&Promise.reject(e),g(this,Yn,`f`).call(this,e),g(this,Qn,`f`).call(this,e),this._emit(`end`);return}if(e===`error`){let e=t[0];!g(this,Z,`f`)&&!n?.length&&Promise.reject(e),g(this,Yn,`f`).call(this,e),g(this,Qn,`f`).call(this,e),this._emit(`end`)}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit(`finalMessage`,g(this,q,`m`,ar).call(this))}async _fromReadableStream(e,t){let n=t?.signal,r;n&&(n.aborted&&this.controller.abort(),r=this.controller.abort.bind(this.controller),n.addEventListener(`abort`,r));try{g(this,q,`m`,cr).call(this),this._connected(null);let t=$e.fromReadableStream(e,this.controller);for await(let e of t)g(this,q,`m`,lr).call(this,e);if(t.controller.signal?.aborted)throw new y;g(this,q,`m`,ur).call(this)}finally{n&&r&&n.removeEventListener(`abort`,r)}}[(J=new WeakMap,Y=new WeakMap,qn=new WeakMap,Jn=new WeakMap,Yn=new WeakMap,Xn=new WeakMap,Zn=new WeakMap,Qn=new WeakMap,X=new WeakMap,$n=new WeakMap,er=new WeakMap,tr=new WeakMap,Z=new WeakMap,nr=new WeakMap,rr=new WeakMap,ir=new WeakMap,sr=new WeakMap,q=new WeakSet,ar=function(){if(this.receivedMessages.length===0)throw new _(`stream ended without producing a Message with role=assistant`);return this.receivedMessages.at(-1)},or=function(){if(this.receivedMessages.length===0)throw new _(`stream ended without producing a Message with role=assistant`);let e=this.receivedMessages.at(-1).content.filter(e=>e.type===`text`).map(e=>e.text);if(e.length===0)throw new _(`stream ended without producing a content block with type=text`);return e.join(` `)},cr=function(){this.ended||h(this,J,void 0,`f`)},lr=function(e){if(this.ended)return;let t=g(this,q,`m`,dr).call(this,e);switch(this._emit(`streamEvent`,e,t),e.type){case`content_block_delta`:{let n=t.content.at(-1);switch(e.delta.type){case`text_delta`:n.type===`text`&&this._emit(`text`,e.delta.text,n.text||``);break;case`citations_delta`:n.type===`text`&&this._emit(`citation`,e.delta.citation,n.citations??[]);break;case`input_json_delta`:pr(n)&&n.input&&this._emit(`inputJson`,e.delta.partial_json,n.input);break;case`thinking_delta`:n.type===`thinking`&&this._emit(`thinking`,e.delta.thinking,n.thinking);break;case`signature_delta`:n.type===`thinking`&&this._emit(`signature`,n.signature);break;default:e.delta}break}case`message_stop`:this._addMessageParam(t),this._addMessage(Wn(t,g(this,Y,`f`),{logger:g(this,ir,`f`)}),!0);break;case`content_block_stop`:this._emit(`contentBlock`,t.content.at(-1));break;case`message_start`:h(this,J,t,`f`);break;case`content_block_start`:case`message_delta`:break}},ur=function(){if(this.ended)throw new _(`stream has ended, this shouldn't happen`);let e=g(this,J,`f`);if(!e)throw new _(`request ended without sending any chunks`);return h(this,J,void 0,`f`),Wn(e,g(this,Y,`f`),{logger:g(this,ir,`f`)})},dr=function(e){let t=g(this,J,`f`);if(e.type===`message_start`){if(t)throw new _(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new _(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case`message_stop`:return t;case`message_delta`:return t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,t.usage.output_tokens=e.usage.output_tokens,e.usage.input_tokens!=null&&(t.usage.input_tokens=e.usage.input_tokens),e.usage.cache_creation_input_tokens!=null&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),e.usage.cache_read_input_tokens!=null&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),e.usage.server_tool_use!=null&&(t.usage.server_tool_use=e.usage.server_tool_use),t;case`content_block_start`:return t.content.push({...e.content_block}),t;case`content_block_delta`:{let n=t.content.at(e.index);switch(e.delta.type){case`text_delta`:n?.type===`text`&&(t.content[e.index]={...n,text:(n.text||``)+e.delta.text});break;case`citations_delta`:n?.type===`text`&&(t.content[e.index]={...n,citations:[...n.citations??[],e.delta.citation]});break;case`input_json_delta`:if(n&&pr(n)){let r=n[fr]||``;r+=e.delta.partial_json;let i={...n};Object.defineProperty(i,fr,{value:r,enumerable:!1,writable:!0}),r&&(i.input=en(r)),t.content[e.index]=i}break;case`thinking_delta`:n?.type===`thinking`&&(t.content[e.index]={...n,thinking:n.thinking+e.delta.thinking});break;case`signature_delta`:n?.type===`thinking`&&(t.content[e.index]={...n,signature:e.delta.signature});break;default:e.delta}return t}case`content_block_stop`:return t}},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on(`streamEvent`,n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on(`end`,()=>{n=!0;for(let e of t)e.resolve(void 0);t.length=0}),this.on(`abort`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),this.on(`error`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new $e(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}},hr=class extends O{create(e,t){return this._client.post(`/v1/messages/batches`,{body:e,...t})}retrieve(e,t){return this._client.get(A`/v1/messages/batches/${e}`,t)}list(e={},t){return this._client.getAPIList(`/v1/messages/batches`,dt,{query:e,...t})}delete(e,t){return this._client.delete(A`/v1/messages/batches/${e}`,t)}cancel(e,t){return this._client.post(A`/v1/messages/batches/${e}/cancel`,t)}async results(e,t){let n=await this.retrieve(e);if(!n.results_url)throw new _(`No batch \`results_url\`; Has it finished processing? ${n.processing_status} - ${n.id}`);return this._client.get(n.results_url,{...t,headers:k([{Accept:`application/binary`},t?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>kn.fromResponse(t.response,t.controller))}},gr=class extends O{constructor(){super(...arguments),this.batches=new hr(this._client)}create(e,t){e.model in _r&&console.warn(`The model '${e.model}' is deprecated and will reach end-of-life on ${_r[e.model]}\nPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`),vr.includes(e.model)&&e.thinking&&e.thinking.type===`enabled`&&console.warn(`Using Claude with ${e.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);let n=this._client._options.timeout;if(!e.stream&&n==null){let t=Gt[e.model]??void 0;n=this._client.calculateNonstreamingTimeout(e.max_tokens,t)}let r=Ft(e.tools,e.messages);return this._client.post(`/v1/messages`,{body:e,timeout:n??6e5,...t,headers:k([r,t?.headers]),stream:e.stream??!1})}parse(e,t){return this.create(e,t).then(t=>Gn(t,e,{logger:this._client.logger??console}))}stream(e,t){return mr.createMessage(this,e,t,{logger:this._client.logger??console})}countTokens(e,t){return this._client.post(`/v1/messages/count_tokens`,{body:e,...t})}};const _r={"claude-1.3":`November 6th, 2024`,"claude-1.3-100k":`November 6th, 2024`,"claude-instant-1.1":`November 6th, 2024`,"claude-instant-1.1-100k":`November 6th, 2024`,"claude-instant-1.2":`November 6th, 2024`,"claude-3-sonnet-20240229":`July 21st, 2025`,"claude-3-opus-20240229":`January 5th, 2026`,"claude-2.1":`July 21st, 2025`,"claude-2.0":`July 21st, 2025`,"claude-3-7-sonnet-latest":`February 19th, 2026`,"claude-3-7-sonnet-20250219":`February 19th, 2026`,"claude-3-5-haiku-latest":`February 19th, 2026`,"claude-3-5-haiku-20241022":`February 19th, 2026`,"claude-opus-4-0":`June 15th, 2026`,"claude-opus-4-20250514":`June 15th, 2026`,"claude-sonnet-4-0":`June 15th, 2026`,"claude-sonnet-4-20250514":`June 15th, 2026`},vr=[`claude-mythos-preview`,`claude-opus-4-6`];gr.Batches=hr;var yr=class extends O{retrieve(e,t={},n){let{betas:r}=t??{};return this._client.get(A`/v1/models/${e}`,{...n,headers:k([{...r?.toString()==null?void 0:{"anthropic-beta":r?.toString()}},n?.headers])})}list(e={},t){let{betas:n,...r}=e??{};return this._client.getAPIList(`/v1/models`,dt,{query:r,...t,headers:k([{...n?.toString()==null?void 0:{"anthropic-beta":n?.toString()}},t?.headers])})}};const br=e=>{if(globalThis.process!==void 0)return globalThis.process.env?.[e]?.trim()||void 0;if(globalThis.Deno!==void 0)return globalThis.Deno.env?.get?.(e)?.trim()||void 0};var xr,Sr,Cr,wr,Q=class{constructor({baseURL:e=br(`ANTHROPIC_BASE_URL`),apiKey:t=br(`ANTHROPIC_API_KEY`)??null,authToken:n=br(`ANTHROPIC_AUTH_TOKEN`)??null,...r}={}){xr.add(this),Cr.set(this,void 0);let i={apiKey:t,authToken:n,...r,baseURL:e||`https://api.anthropic.com`};if(!i.dangerouslyAllowBrowser&&we())throw new _(`It looks like you're running in a browser-like environment.
30
-
31
- This is disabled by default, as it risks exposing your secret API credentials to attackers.
32
- If you understand the risks and have appropriate mitigations in place,
33
- you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
34
-
35
- new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
36
- `);this.baseURL=i.baseURL,this.timeout=i.timeout??Sr.DEFAULT_TIMEOUT,this.logger=i.logger??console;let a=`warn`;this.logLevel=a,this.logLevel=Je(i.logLevel,`ClientOptions.logLevel`,this)??Je(br(`ANTHROPIC_LOG`),`process.env['ANTHROPIC_LOG']`,this)??a,this.fetchOptions=i.fetchOptions,this.maxRetries=i.maxRetries??2,this.fetch=i.fetch??Me(),h(this,Cr,Le,`f`),this._options=i,this.apiKey=typeof t==`string`?t:null,this.authToken=n}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){if(!(e.get(`x-api-key`)||e.get(`authorization`))&&!(this.apiKey&&e.get(`x-api-key`))&&!t.has(`x-api-key`)&&!(this.authToken&&e.get(`authorization`))&&!t.has(`authorization`))throw Error(`Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted`)}async authHeaders(e){return k([await this.apiKeyAuth(e),await this.bearerAuth(e)])}async apiKeyAuth(e){if(this.apiKey!=null)return k([{"X-Api-Key":this.apiKey}])}async bearerAuth(e){if(this.authToken!=null)return k([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery(e){return Re(e)}getUserAgent(){return`${this.constructor.name}/JS ${b}`}defaultIdempotencyKey(){return`stainless-node-retry-${te()}`}makeStatusError(e,t,n,r){return v.generate(e,t,n,r)}buildURL(e,t,n){let r=!g(this,xr,`m`,wr).call(this)&&n||this.baseURL,i=he(e)?new URL(e):new URL(r+(r.endsWith(`/`)&&e.startsWith(`/`)?e.slice(1):e)),a=this.defaultQuery(),o=Object.fromEntries(i.searchParams);return(!ye(a)||!ye(o))&&(t={...o,...a,...t}),typeof t==`object`&&t&&!Array.isArray(t)&&(i.search=this.stringifyQuery(t)),i.toString()}_calculateNonstreamingTimeout(e){if(3600*e/128e3>600)throw new _(`Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details`);return 600*1e3}async prepareOptions(e){}async prepareRequest(e,{url:t,options:n}){}get(e,t){return this.methodRequest(`get`,e,t)}post(e,t){return this.methodRequest(`post`,e,t)}patch(e,t){return this.methodRequest(`patch`,e,t)}put(e,t){return this.methodRequest(`put`,e,t)}delete(e,t){return this.methodRequest(`delete`,e,t)}methodRequest(e,t,n){return this.request(Promise.resolve(n).then(n=>({method:e,path:t,...n})))}request(e,t=null){return new st(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,n){let r=await e,i=r.maxRetries??this.maxRetries;t??=i,await this.prepareOptions(r);let{req:a,url:o,timeout:s}=await this.buildRequest(r,{retryCount:i-t});await this.prepareRequest(a,{url:o,options:r});let c=`log_`+(Math.random()*(1<<24)|0).toString(16).padStart(6,`0`),l=n===void 0?``:`, retryOf: ${n}`,u=Date.now();if(w(this).debug(`[${c}] sending request`,T({retryOfRequestLogID:n,method:r.method,url:o,options:r,headers:a.headers})),r.signal?.aborted)throw new y;let d=new AbortController,f=await this.fetchWithTimeout(o,a,s,d).catch(re),p=Date.now();if(f instanceof globalThis.Error){let e=`retrying, ${t} attempts remaining`;if(r.signal?.aborted)throw new y;let i=ne(f)||/timed? ?out/i.test(String(f)+(`cause`in f?String(f.cause):``));if(t)return w(this).info(`[${c}] connection ${i?`timed out`:`failed`} - ${e}`),w(this).debug(`[${c}] connection ${i?`timed out`:`failed`} (${e})`,T({retryOfRequestLogID:n,url:o,durationMs:p-u,message:f.message})),this.retryRequest(r,t,n??c);throw w(this).info(`[${c}] connection ${i?`timed out`:`failed`} - error; no more retries left`),w(this).debug(`[${c}] connection ${i?`timed out`:`failed`} (error; no more retries left)`,T({retryOfRequestLogID:n,url:o,durationMs:p-u,message:f.message})),i?new ae:new ie({cause:f})}let ee=`[${c}${l}${[...f.headers.entries()].filter(([e])=>e===`request-id`).map(([e,t])=>`, `+e+`: `+JSON.stringify(t)).join(``)}] ${a.method} ${o} ${f.ok?`succeeded`:`failed`} with status ${f.status} in ${p-u}ms`;if(!f.ok){let e=await this.shouldRetry(f);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await Ie(f.body),w(this).info(`${ee} - ${e}`),w(this).debug(`[${c}] response error (${e})`,T({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,durationMs:p-u})),this.retryRequest(r,t,n??c,f.headers)}let i=e?`error; no more retries left`:`error; not retryable`;w(this).info(`${ee} - ${i}`);let a=await f.text().catch(e=>re(e).message),o=Se(a),s=o?void 0:a;throw w(this).debug(`[${c}] response error (${i})`,T({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,message:s,durationMs:Date.now()-u})),this.makeStatusError(f.status,o,s,f.headers)}return w(this).info(ee),w(this).debug(`[${c}] response start`,T({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,durationMs:p-u})),{response:f,options:r,controller:d,requestLogID:c,retryOfRequestLogID:n,startTime:u}}getAPIList(e,t,n){return this.requestAPIList(t,n&&`then`in n?n.then(t=>({method:`get`,path:e,...t})):{method:`get`,path:e,...n})}requestAPIList(e,t){let n=this.makeRequest(t,null,void 0);return new ut(this,n,e)}async fetchWithTimeout(e,t,n,r){let{signal:i,method:a,...o}=t||{},s=this._makeAbort(r);i&&i.addEventListener(`abort`,s,{once:!0});let c=setTimeout(s,n),l=globalThis.ReadableStream&&o.body instanceof globalThis.ReadableStream||typeof o.body==`object`&&o.body!==null&&Symbol.asyncIterator in o.body,u={signal:r.signal,...l?{duplex:`half`}:{},method:`GET`,...o};a&&(u.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,u)}finally{clearTimeout(c)}}async shouldRetry(e){let t=e.headers.get(`x-should-retry`);return t===`true`?!0:t===`false`?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,t,n,r){let i,a=r?.get(`retry-after-ms`);if(a){let e=parseFloat(a);Number.isNaN(e)||(i=e)}let o=r?.get(`retry-after`);if(o&&!i){let e=parseFloat(o);i=Number.isNaN(e)?Date.parse(o)-Date.now():e*1e3}if(i===void 0){let n=e.maxRetries??this.maxRetries;i=this.calculateDefaultRetryTimeoutMillis(t,n)}return await Ce(i),this.makeRequest(e,t-1,n)}calculateDefaultRetryTimeoutMillis(e,t){let n=t-e;return Math.min(.5*2**n,8)*(1-Math.random()*.25)*1e3}calculateNonstreamingTimeout(e,t){let n=600*1e3;if(36e5*e/128e3>n||t!=null&&e>t)throw new _(`Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details`);return n}async buildRequest(e,{retryCount:t=0}={}){let n={...e},{method:r,path:i,query:a,defaultBaseURL:o}=n,s=this.buildURL(i,a,o);`timeout`in n&&xe(`timeout`,n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:c,body:l}=this.buildBody({options:n});return{req:{method:r,headers:await this.buildHeaders({options:e,method:r,bodyHeaders:c,retryCount:t}),...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&l instanceof globalThis.ReadableStream&&{duplex:`half`},...l&&{body:l},...this.fetchOptions??{},...n.fetchOptions??{}},url:s,timeout:n.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:n,retryCount:r}){let i={};this.idempotencyHeader&&t!==`get`&&(e.idempotencyKey||=this.defaultIdempotencyKey(),i[this.idempotencyHeader]=e.idempotencyKey);let a=k([i,{Accept:`application/json`,"User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(r),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...je(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":`true`}:void 0,"anthropic-version":`2023-06-01`},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let n=k([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e==`string`&&n.values.has(`content-type`)||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e==`object`&&(Symbol.asyncIterator in e||Symbol.iterator in e&&`next`in e&&typeof e.next==`function`)?{bodyHeaders:void 0,body:Pe(e)}:typeof e==`object`&&n.values.get(`content-type`)===`application/x-www-form-urlencoded`?{bodyHeaders:{"content-type":`application/x-www-form-urlencoded`},body:this.stringifyQuery(e)}:g(this,Cr,`f`).call(this,{body:e,headers:n})}};Sr=Q,Cr=new WeakMap,xr=new WeakSet,wr=function(){return this.baseURL!==`https://api.anthropic.com`},Q.Anthropic=Sr,Q.HUMAN_PROMPT=`\\n\\nHuman:`,Q.AI_PROMPT=`\\n\\nAssistant:`,Q.DEFAULT_TIMEOUT=6e5,Q.AnthropicError=_,Q.APIError=v,Q.APIConnectionError=ie,Q.APIConnectionTimeoutError=ae,Q.APIUserAbortError=y,Q.NotFoundError=le,Q.ConflictError=ue,Q.RateLimitError=fe,Q.BadRequestError=oe,Q.AuthenticationError=se,Q.InternalServerError=pe,Q.PermissionDeniedError=ce,Q.UnprocessableEntityError=de,Q.toFile=wt;var $=class extends Q{constructor(){super(...arguments),this.completions=new Hn(this),this.messages=new gr(this),this.models=new yr(this),this.beta=new K(this)}};$.Completions=Hn,$.Messages=gr,$.Models=yr,$.Beta=K;function Tr(e,t){return e||(i(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function Er(e,t,n){let r=Tr(t,n);if(r===`none`)return{retention:r};let i=r===`long`&&jr(e).supportsLongCacheRetention?`1h`:void 0;return{retention:r,cacheControl:{type:`ephemeral`,...i&&{ttl:i}}}}const Dr=new Map([`Read`,`Write`,`Edit`,`Bash`,`Grep`,`Glob`,`AskUserQuestion`,`EnterPlanMode`,`ExitPlanMode`,`KillShell`,`NotebookEdit`,`Skill`,`Task`,`TaskOutput`,`TodoWrite`,`WebFetch`,`WebSearch`].map(e=>[e.toLowerCase(),e])),Or=e=>Dr.get(e.toLowerCase())??e,kr=(e,t)=>{if(t&&t.length>0){let n=e.toLowerCase(),r=t.find(e=>e.name.toLowerCase()===n);if(r)return r.name}return e};function Ar(e){if(!e.some(e=>e.type===`image`))return c(e.map(e=>e.text).join(`
37
- `));let t=e.map(e=>e.type===`text`?{type:`text`,text:c(e.text)}:{type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}});return t.some(e=>e.type===`text`)||t.unshift({type:`text`,text:`(see attached image)`}),t}function jr(e){return{supportsEagerToolInputStreaming:e.compat?.supportsEagerToolInputStreaming??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0,sendSessionAffinityHeaders:e.compat?.sendSessionAffinityHeaders??!1,supportsCacheControlOnTools:e.compat?.supportsCacheControlOnTools??!0,supportsTemperature:e.compat?.supportsTemperature??!0,allowEmptySignature:e.compat?.allowEmptySignature??!1,supportsStrictTools:e.compat?.supportsStrictTools??!1,supportsToolReferences:e.compat?.supportsToolReferences??Mr(e)}}function Mr(e){if(e.provider!==`anthropic`||e.id.includes(`haiku`))return!1;let t=e.id.match(/^claude-(?:opus|sonnet|fable)-(\d+)(?:-(\d+))?(?:-|$)/);if(!t)return!1;let n=Number(t[1]),r=t[2]&&t[2].length<8?Number(t[2]):0;return n>4||n===4&&r>=5}function Nr(...e){let t={};for(let n of e)n&&Object.assign(t,n);return t}function Pr(e,t){if(!e)return!1;let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n&&r!==null&&r.trim().length>0)return!0;return!1}function Fr(e,t,n){if(!t&&!(Pr(n,`authorization`)||Pr(n,`x-api-key`)||Pr(n,`cf-aig-authorization`)))throw Error(`No API key for provider: ${e}`)}const Ir=new Set([`message_start`,`message_delta`,`message_stop`,`content_block_start`,`content_block_delta`,`content_block_stop`]);function Lr(e){if(!e.event&&e.data.length===0)return null;let t={event:e.event,data:e.data.join(`
38
- `),raw:[...e.raw]};return e.event=null,e.data=[],e.raw=[],t}function Rr(e,t){if(e===``)return Lr(t);if(t.raw.push(e),e.startsWith(`:`))return null;let n=e.indexOf(`:`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n+1);return i.startsWith(` `)&&(i=i.slice(1)),r===`event`?t.event=i:r===`data`&&t.data.push(i),null}function zr(e){let t=e.indexOf(`\r`),n=e.indexOf(`
39
- `);return t===-1?n:n===-1?t:Math.min(t,n)}function Br(e){let t=zr(e);if(t===-1)return null;let n=t+1;return e[t]===`\r`&&e[n]===`
40
- `&&(n+=1),{line:e.slice(0,t),rest:e.slice(n)}}async function*Vr(e,t){let n=e.getReader(),r=new TextDecoder,i={event:null,data:[],raw:[]},a=``;try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{value:e,done:o}=await n.read();if(o)break;a+=r.decode(e,{stream:!0});let s=Br(a);for(;s;){a=s.rest;let e=Rr(s.line,i);e&&(yield e),s=Br(a)}}a+=r.decode();let e=Br(a);for(;e;){a=e.rest;let t=Rr(e.line,i);t&&(yield t),e=Br(a)}if(a.length>0){let e=Rr(a,i);e&&(yield e)}let o=Lr(i);o&&(yield o)}finally{n.releaseLock()}}async function*Hr(e,t){if(!e.body)throw Error(`Attempted to iterate over an Anthropic response with no body`);let n=!1,i=!1;for await(let a of Vr(e.body,t)){if(a.event===`error`)throw Error(a.data);if(Ir.has(a.event??``))try{let e=r(a.data);e.type===`message_start`?n=!0:e.type===`message_stop`&&(i=!0),yield e}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Could not parse Anthropic SSE event ${a.event}: ${t}; data=${a.data}; raw=${a.raw.join(`\\n`)}`)}}if(n&&!i)throw Error(`Anthropic stream ended before message_stop`)}const Ur=(r,i,a)=>{let c=new e;return(async()=>{let e={role:`assistant`,content:[],api:r.api,provider:r.provider,model:r.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let l,u;if(a?.client)l=a.client,u=!1;else{let e=a?.apiKey;Fr(r.provider,e,a?.headers);let t;if(r.provider===`github-copilot`){let e=ee(i.messages);t=m({messages:i.messages,hasImages:e})}let n=Tr(a?.cacheRetention,a?.env)===`none`?void 0:a?.sessionId,o=qr(r,e,a?.interleavedThinking??!0,Qr(r,i),a?.headers,a?.fetch,t,n);l=o.client,u=o.isOAuthToken}let d=Jr(r,i,u,a),f=await a?.onPayload?.(d,r);f!==void 0&&(d=f);let p={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},maxRetries:0},h=await s(()=>l.messages.create({...d,stream:!0},p).asResponse(),{maxRetries:a?.maxRetries,maxRetryDelayMs:a?.maxRetryDelayMs,signal:a?.signal});await a?.onResponse?.({status:h.status,headers:o(h.headers)},r),c.push({type:`start`,partial:e});let g=e.content;for await(let o of Hr(h,a?.signal))if(o.type===`message_start`)e.responseId=o.message.id,e.usage.input=o.message.usage.input_tokens||0,e.usage.output=o.message.usage.output_tokens||0,e.usage.cacheRead=o.message.usage.cache_read_input_tokens||0,e.usage.cacheWrite=o.message.usage.cache_creation_input_tokens||0,e.usage.cacheWrite1h=o.message.usage.cache_creation?.ephemeral_1h_input_tokens||0,e.usage.totalTokens=e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,t(r,e.usage);else if(o.type===`content_block_start`){if(o.content_block.type===`text`){let t={type:`text`,text:``,index:o.index};e.content.push(t),c.push({type:`text_start`,contentIndex:e.content.length-1,partial:e})}else if(o.content_block.type===`thinking`){let t={type:`thinking`,thinking:``,thinkingSignature:``,index:o.index};e.content.push(t),c.push({type:`thinking_start`,contentIndex:e.content.length-1,partial:e})}else if(o.content_block.type===`redacted_thinking`){let t={type:`thinking`,thinking:`[Reasoning redacted]`,thinkingSignature:o.content_block.data,redacted:!0,index:o.index};e.content.push(t),c.push({type:`thinking_start`,contentIndex:e.content.length-1,partial:e})}else if(o.content_block.type===`tool_use`){let t={type:`toolCall`,id:o.content_block.id,name:u?kr(o.content_block.name,i.tools):o.content_block.name,arguments:o.content_block.input??{},partialJson:``,index:o.index};e.content.push(t),c.push({type:`toolcall_start`,contentIndex:e.content.length-1,partial:e})}}else if(o.type===`content_block_delta`){if(o.delta.type===`text_delta`){let t=g.findIndex(e=>e.index===o.index),n=g[t];n&&n.type===`text`&&(n.text+=o.delta.text,c.push({type:`text_delta`,contentIndex:t,delta:o.delta.text,partial:e}))}else if(o.delta.type===`thinking_delta`){let t=g.findIndex(e=>e.index===o.index),n=g[t];n&&n.type===`thinking`&&(n.thinking+=o.delta.thinking,c.push({type:`thinking_delta`,contentIndex:t,delta:o.delta.thinking,partial:e}))}else if(o.delta.type===`input_json_delta`){let t=g.findIndex(e=>e.index===o.index),r=g[t];r&&r.type===`toolCall`&&(r.partialJson+=o.delta.partial_json,r.arguments=n(r.partialJson),c.push({type:`toolcall_delta`,contentIndex:t,delta:o.delta.partial_json,partial:e}))}else if(o.delta.type===`signature_delta`){let e=g[g.findIndex(e=>e.index===o.index)];e&&e.type===`thinking`&&(e.thinkingSignature=e.thinkingSignature||``,e.thinkingSignature+=o.delta.signature)}}else if(o.type===`content_block_stop`){let t=g.findIndex(e=>e.index===o.index),r=g[t];r&&(delete r.index,r.type===`text`?c.push({type:`text_end`,contentIndex:t,content:r.text,partial:e}):r.type===`thinking`?c.push({type:`thinking_end`,contentIndex:t,content:r.thinking,partial:e}):r.type===`toolCall`&&(r.arguments=n(r.partialJson),delete r.partialJson,c.push({type:`toolcall_end`,contentIndex:t,toolCall:r,partial:e})))}else if(o.type===`message_delta`){if(o.delta.stop_reason){e.rawStopReason=o.delta.stop_reason;let t=ei(o.delta.stop_reason,o.delta.stop_details);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage)}if(o.usage){o.usage.input_tokens!=null&&(e.usage.input=o.usage.input_tokens),o.usage.output_tokens!=null&&(e.usage.output=o.usage.output_tokens),o.usage.cache_read_input_tokens!=null&&(e.usage.cacheRead=o.usage.cache_read_input_tokens),o.usage.cache_creation_input_tokens!=null&&(e.usage.cacheWrite=o.usage.cache_creation_input_tokens);let t=o.usage.output_tokens_details?.thinking_tokens;t!=null&&(e.usage.reasoning=t)}e.usage.totalTokens=e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,t(r,e.usage)}if(a?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`Anthropic stream ended without a stop reason`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(e.errorMessage||`An unknown error occurred`);c.push({type:`done`,reason:e.stopReason,message:e}),c.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson;e.stopReason=a?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t),c.push({type:`error`,reason:e.stopReason,error:e}),c.end()}})(),c};function Wr(e,t){let n=t?e.thinkingLevelMap?.[t]:void 0;if(typeof n==`string`)return n;switch(t){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`high`:return`high`;default:return`high`}}const Gr=(e,t,n)=>{Fr(e.provider,n?.apiKey,n?.headers);let r=f(e,t,n,n?.apiKey);if(!n?.reasoning)return Ur(e,t,{...r,thinkingEnabled:!1});if(e.compat?.forceAdaptiveThinking===!0){let i=Wr(e,n.reasoning);return Ur(e,t,{...r,thinkingEnabled:!0,effort:i})}let i=d(r.maxTokens,e.maxTokens,n.reasoning,n.thinkingBudgets),a=l(e,t,i.maxTokens);return Ur(e,t,{...r,maxTokens:a,thinkingEnabled:!0,thinkingBudgetTokens:Math.min(i.thinkingBudget,Math.max(0,a-1024))})};function Kr(e){return e.includes(`sk-ant-oat`)}function qr(e,t,n,r,i,a,o,s){let c=n&&e.compat?.forceAdaptiveThinking!==!0,l=[];if(r&&l.push(`fine-grained-tool-streaming-2025-05-14`),c&&l.push(`interleaved-thinking-2025-05-14`),e.provider===`github-copilot`)return{client:new $({apiKey:null,authToken:t??null,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},e.headers,o,i)}),isOAuthToken:!1};if(t&&Kr(t))return{client:new $({apiKey:null,authToken:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,"anthropic-beta":[`claude-code-20250219`,`oauth-2025-04-20`,...l].join(`,`),"user-agent":`claude-cli/2.1.75`,"x-app":`cli`},e.headers,i)}),isOAuthToken:!0};let u=s&&jr(e).sendSessionAffinityHeaders?{"x-session-affinity":s}:{},d=Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},u,e.headers,i);return{client:new $({apiKey:t??null,authToken:null,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:d}),isOAuthToken:!1}}function Jr(e,t,n,r){let{cacheControl:i}=Er(e,r?.cacheRetention,r?.env),o=jr(e),s=p(t.messages,e,Yr),l=n?Or:e=>e,u=a({...t,messages:s},o.supportsToolReferences,l),d=u.immediate,f=[...u.deferred.values()];d.length===0&&f.length>0&&(d=f,f=[]);let ee=new Set(f.map(e=>l(e.name))),m={model:e.id,messages:Zr(s,n,i,o.allowEmptySignature,ee,l),max_tokens:r?.maxTokens??e.maxTokens,stream:!0};if(n?(m.system=[{type:`text`,text:`You are Claude Code, Anthropic's official CLI for Claude.`,...i?{cache_control:i}:{}}],t.systemPrompt&&m.system.push({type:`text`,text:c(t.systemPrompt),...i?{cache_control:i}:{}})):t.systemPrompt&&(m.system=[{type:`text`,text:c(t.systemPrompt),...i?{cache_control:i}:{}}]),r?.temperature!==void 0&&!r?.thinkingEnabled&&o.supportsTemperature&&(m.temperature=r.temperature),(d.length>0||f.length>0)&&(m.tools=[...$r(d,n,o.supportsEagerToolInputStreaming,o.supportsStrictTools,o.supportsCacheControlOnTools?i:void 0),...$r(f,n,o.supportsEagerToolInputStreaming,o.supportsStrictTools,void 0,!0)]),e.reasoning)if(r?.thinkingEnabled){let t=r.thinkingDisplay??`summarized`;e.compat?.forceAdaptiveThinking===!0?(m.thinking={type:`adaptive`,display:t},r.effort&&(m.output_config=(r.effort,{effort:r.effort}))):m.thinking={type:`enabled`,budget_tokens:r.thinkingBudgetTokens||1024,display:t}}else r?.thinkingEnabled===!1&&e.thinkingLevelMap?.off!==null&&(m.thinking={type:`disabled`});if(r?.metadata){let e=r.metadata.user_id;typeof e==`string`&&(m.metadata={user_id:e})}return r?.toolChoice&&(typeof r.toolChoice==`string`?m.tool_choice={type:r.toolChoice}:m.tool_choice=r.toolChoice),m}function Yr(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function Xr(e,t,n,r,i){let a=[];for(let o of e.addedToolNames??[]){let e=i(o);!n.has(e)||r.has(e)||(r.add(e),a.push({type:`tool_reference`,tool_name:t?Or(o):o}))}let o=Ar(e.content);return{toolResult:{type:`tool_result`,tool_use_id:e.toolCallId,content:a.length>0?a:o,is_error:e.isError},siblingContent:a.length===0?[]:typeof o==`string`?[{type:`text`,text:o}]:o}}function Zr(e,t,n,r=!1,i=new Set,a=e=>e){let o=[],s=new Set;for(let n=0;n<e.length;n++){let l=e[n];if(l.role===`user`)if(typeof l.content==`string`)l.content.trim().length>0&&o.push({role:`user`,content:c(l.content)});else{let e=l.content.map(e=>e.type===`text`?{type:`text`,text:c(e.text)}:{type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}}).filter(e=>e.type===`text`?e.text.trim().length>0:!0);if(e.length===0)continue;o.push({role:`user`,content:e})}else if(l.role===`assistant`){let e=[];for(let n of l.content)if(n.type===`text`){if(n.text.trim().length===0)continue;e.push({type:`text`,text:c(n.text)})}else if(n.type===`thinking`){if(n.redacted){e.push({type:`redacted_thinking`,data:n.thinkingSignature});continue}let t=n.thinkingSignature,i=!!t&&t.trim().length>0;if(n.thinking.trim().length===0&&!i)continue;i?e.push({type:`thinking`,thinking:c(n.thinking),signature:t}):e.push(r?{type:`thinking`,thinking:c(n.thinking),signature:``}:{type:`text`,text:c(n.thinking)})}else n.type===`toolCall`&&e.push({type:`tool_use`,id:n.id,name:t?Or(n.name):n.name,input:n.arguments??{}});if(e.length===0)continue;o.push({role:`assistant`,content:e})}else if(l.role===`toolResult`){let r=[],c=[],l=n;for(;l<e.length&&e[l].role===`toolResult`;){let n=Xr(e[l],t,i,s,a);r.push(n.toolResult),c.push(...n.siblingContent),l++}n=l-1,o.push({role:`user`,content:[...r,...c]})}}if(n&&o.length>0){let e=o[o.length-1];if(e.role===`user`)if(Array.isArray(e.content)){let t=e.content[e.content.length-1];t&&(t.type===`text`||t.type===`image`||t.type===`tool_result`)&&(t.cache_control=n)}else typeof e.content==`string`&&(e.content=[{type:`text`,text:e.content,cache_control:n}])}return o}function Qr(e,t){return!!t.tools?.length&&!jr(e).supportsEagerToolInputStreaming}function $r(e,t,n,r,i,a=!1){return e?e.map((o,s)=>{let c=u(o,r),l=o.parameters,d={type:`object`,properties:l.properties??{},required:l.required??[]},f=c===!0?{...o.parameters,...d}:d;return{name:t?Or(o.name):o.name,description:o.description,...n?{eager_input_streaming:!0}:{},...c===!0?{strict:!0}:{},input_schema:f,...a?{defer_loading:!0}:{},...i&&s===e.length-1?{cache_control:i}:{}}}):[]}function ei(e,t){switch(e){case`end_turn`:return{stopReason:`stop`};case`max_tokens`:return{stopReason:`length`};case`tool_use`:return{stopReason:`toolUse`};case`refusal`:return{stopReason:`error`,errorMessage:t?.explanation||`The model refused to complete the request`};case`pause_turn`:return{stopReason:`stop`};case`stop_sequence`:return{stopReason:`stop`};case`sensitive`:return{stopReason:`error`,errorMessage:`Provider stopped with: sensitive`};default:throw Error(`Unhandled stop reason: ${e}`)}}export{Ur as stream,Gr as streamSimple};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import{a as e}from"./diagnostics-B0j2bfEp.mjs";import{n as t}from"./models-CwK5xZH9.mjs";import"./json-parse-BzRcyI3e.mjs";import{t as n}from"./provider-env-CL5ShLlj.mjs";import{t as r}from"./headers-BvGum5dc.mjs";import{t as i}from"./provider-retry-BM3ArvaW.mjs";import{o as a,r as o}from"./transform-messages-CSBQpmXO.mjs";import{t as s}from"./openai-Brr_V-tF.mjs";import{n as c,t as l}from"./error-body-D2Mrqb4g.mjs";import{t as u}from"./openai-prompt-cache-t4kk9puG.mjs";import{n as d,r as f,t as p}from"./openai-responses-shared-D4d0NbBE.mjs";const m=new Set([`openai`,`openai-codex`,`opencode`,`azure-openai-responses`]);function h(e){let t=new Map;if(!e)return t;for(let n of e.split(`,`)){let e=n.trim();if(!e)continue;let[r,i]=e.split(`=`,2);!r||!i||t.set(r.trim(),i.trim())}return t}function g(e,t){return t?.azureDeploymentName?t.azureDeploymentName:h(n(`AZURE_OPENAI_DEPLOYMENT_NAME_MAP`,t?.env)).get(e.id)||e.id}function _(e){return l(c(e),`Azure OpenAI API error`)}const v=(t,n,o)=>{let s=new e;return(async()=>{let e=g(t,o),c={role:`assistant`,content:[],api:`azure-openai-responses`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let l=o?.apiKey;if(!l)throw Error(`No API key for provider: ${t.provider}`);let u=C(t,l,o),d=a(n.tools,t.compat?.supportsOpenAIGrammarTools??!1),p=w(t,n,o,e,d),m=await o?.onPayload?.(p,t);m!==void 0&&(p=m);let h={...o?.signal?{signal:o.signal}:{},...o?.timeoutMs===void 0?{}:{timeout:o.timeoutMs},maxRetries:0},{data:g,response:_}=await i(()=>u.responses.create(p,h).withResponse(),{maxRetries:o?.maxRetries,maxRetryDelayMs:o?.maxRetryDelayMs,signal:o?.signal});if(await o?.onResponse?.({status:_.status,headers:r(_.headers)},t),s.push({type:`start`,partial:c}),await f(g,c,s,t,{grammarToolInputProperties:d}),o?.signal?.aborted)throw Error(`Request was aborted`);if(c.stopReason===`pending`)throw Error(`Azure OpenAI Responses stream ended without a stop reason`);if(c.stopReason===`aborted`||c.stopReason===`error`)throw Error(`An unknown error occurred`);s.push({type:`done`,reason:c.stopReason,message:c}),s.end()}catch(e){for(let e of c.content)delete e.index,delete e.partialJson,delete e.customInput;c.stopReason=o?.signal?.aborted?`aborted`:`error`,c.errorMessage=_(e),s.push({type:`error`,reason:c.stopReason,error:c}),s.end()}})(),s},y=(e,n,r)=>{let i=r?.apiKey;if(!i)throw Error(`No API key for provider: ${e.provider}`);let a=o(e,n,r,i),s=r?.reasoning?t(e,r.reasoning):void 0,c=s===`off`?void 0:s;return v(e,n,{...a,reasoningEffort:c})};function b(e){let t=e.trim().replace(/\/+$/,``),n;try{n=new URL(t)}catch{throw Error(`Invalid Azure OpenAI base URL: ${e}`)}let r=n.hostname.endsWith(`.openai.azure.com`)||n.hostname.endsWith(`.cognitiveservices.azure.com`)||n.hostname.endsWith(`.ai.azure.com`),i=n.pathname.replace(/\/+$/,``);return r&&(i===``||i===`/`||i===`/openai`||i===`/openai/v1/responses`)&&(n.pathname=`/openai/v1`,n.search=``),n.toString().replace(/\/+$/,``)}function x(e){return`https://${e}.openai.azure.com/openai/v1`}function S(e,t){let r=t?.azureApiVersion||n(`AZURE_OPENAI_API_VERSION`,t?.env)||`v1`,i=t?.azureBaseUrl?.trim()||n(`AZURE_OPENAI_BASE_URL`,t?.env)?.trim()||void 0,a=t?.azureResourceName||n(`AZURE_OPENAI_RESOURCE_NAME`,t?.env),o=i;if(!o&&a&&(o=x(a)),!o&&e.baseUrl&&(o=e.baseUrl),!o)throw Error(`Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.`);return{baseUrl:b(o),apiVersion:r}}function C(e,t,n){let r={...e.headers};n?.headers&&Object.assign(r,n.headers);let{baseUrl:i,apiVersion:a}=S(e,n);return new s({apiKey:t,apiVersion:a,dangerouslyAllowBrowser:!0,fetch:n?.fetch,defaultHeaders:r,baseURL:i})}function w(e,t,n,r,i=a(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let o={model:r,input:p(e,t,m,{grammarToolInputProperties:i}),stream:!0,prompt_cache_key:u(n?.sessionId),store:!1};return n?.maxTokens&&(o.max_output_tokens=Math.max(n.maxTokens,16)),n?.temperature!==void 0&&(o.temperature=n?.temperature),t.tools&&t.tools.length>0&&(o.tools=d(t.tools,{supportsStrictMode:e.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1})),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(o.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},o.include=[`reasoning.encrypted_content`]):e.thinkingLevelMap?.off!==null&&(o.reasoning={effort:e.thinkingLevelMap?.off??`none`})),o}export{v as stream,y as streamSimple};